Skip to content

Commit 0e62abe

Browse files
authored
feat(date-range): align label of the date-range-picker (#16308)
1 parent 4696094 commit 0e62abe

File tree

4 files changed

+38
-3
lines changed

4 files changed

+38
-3
lines changed

projects/igniteui-angular/src/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@
66
/// @param {Map} $theme - The theme used to style the component.
77
@mixin date-range-picker($theme) {
88
@include css-vars($theme);
9+
$variant: map.get($theme, '_meta', 'theme');
910

1011
%igx-date-range-picker {
12+
@include sizable();
13+
--input-group-size: #{map.get($theme, 'size')};
14+
--component-size: var(--ig-size, #{var-get($theme, 'default-size')});
1115
display: flex;
1216

1317
> igx-icon {
@@ -32,6 +36,8 @@
3236
igx-date-range-end,
3337
%igx-date-range-picker__start,
3438
%igx-date-range-picker__end {
39+
--size: var(--input-group-size) !important;
40+
3541
flex: 1 0 0%;
3642
}
3743

@@ -40,6 +46,21 @@
4046
align-items: center;
4147
color: var-get($theme, 'label-color');
4248
margin: 0 rem(8px);
49+
height: var(--input-group-size);
50+
51+
@if $variant != 'material' {
52+
align-self: flex-end;
53+
54+
&.input-has-hint {
55+
align-self: center;
56+
57+
&:not(.input-has-label) {
58+
align-self: flex-start;
59+
}
60+
}
61+
} @else {
62+
align-self: flex-start;
63+
}
4364
}
4465

4566
%igx-date-range-picker-buttons {

projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import { DateTimeUtil } from '../date-common/util/date-time.util';
2424
import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive';
2525
import {
2626
IgxInputDirective, IgxInputGroupComponent, IgxInputGroupType, IgxInputState,
27-
IgxLabelDirective, IGX_INPUT_GROUP_TYPE, IgxSuffixDirective
27+
IgxLabelDirective, IgxHintDirective, IGX_INPUT_GROUP_TYPE, IgxSuffixDirective
2828
} from '../input-group/public_api';
2929
import {
3030
AutoPositionStrategy, IgxOverlayService, OverlayCancelableEventArgs, OverlayEventArgs,
@@ -407,6 +407,9 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
407407
@ContentChild(IgxLabelDirective)
408408
public label: IgxLabelDirective;
409409

410+
@ContentChild(IgxHintDirective)
411+
public hint: IgxHintDirective;
412+
410413
@ContentChild(IgxPickerActionsDirective)
411414
public pickerActions: IgxPickerActionsDirective;
412415

@@ -537,7 +540,10 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
537540

538541
/** @hidden @internal */
539542
public get separatorClass(): string {
540-
return 'igx-date-range-picker__label';
543+
const classes = ['igx-date-range-picker__label'];
544+
if (this.label) classes.push('input-has-label');
545+
if (this.hint) classes.push('input-has-hint');
546+
return classes.join(' ');
541547
}
542548

543549
protected override get toggleContainer(): HTMLElement | undefined {

src/app/date-range/date-range.sample.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ <h6>Angular Date Range Picker, two inputs, template-driven form</h6>
4646
type="text"
4747
[placeholder]="properties.placeholder"
4848
/>
49-
<igx-hint>Helper text</igx-hint>
49+
@if (properties.hint) {
50+
<span igxHint>{{ properties.hint }}</span>
51+
}
5052
</igx-date-range-start>
5153
<igx-date-range-end>
5254
<igx-picker-toggle igxPrefix>

src/app/date-range/date-range.sample.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,12 @@ export class DateRangeSampleComponent {
150150
defaultValue: 'MM/dd/yyyy'
151151
}
152152
},
153+
hint: {
154+
label: 'Hint Text',
155+
control: {
156+
type: 'text'
157+
}
158+
},
153159
displayFormat: {
154160
label: 'Display Format',
155161
control: {

0 commit comments

Comments
 (0)