diff --git a/projects/igniteui-angular/src/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss index fd2220f6547..8ca25e08c0e 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss @@ -6,8 +6,12 @@ /// @param {Map} $theme - The theme used to style the component. @mixin date-range-picker($theme) { @include css-vars($theme); + $variant: map.get($theme, '_meta', 'theme'); %igx-date-range-picker { + @include sizable(); + --input-group-size: #{map.get($theme, 'size')}; + --component-size: var(--ig-size, #{var-get($theme, 'default-size')}); display: flex; > igx-icon { @@ -32,6 +36,8 @@ igx-date-range-end, %igx-date-range-picker__start, %igx-date-range-picker__end { + --size: var(--input-group-size) !important; + flex: 1 0 0%; } @@ -40,6 +46,21 @@ align-items: center; color: var-get($theme, 'label-color'); margin: 0 rem(8px); + height: var(--input-group-size); + + @if $variant != 'material' { + align-self: flex-end; + + &.input-has-hint { + align-self: center; + + &:not(.input-has-label) { + align-self: flex-start; + } + } + } @else { + align-self: flex-start; + } } %igx-date-range-picker-buttons { diff --git a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts index 46347ae67c4..781315ce2ec 100644 --- a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts +++ b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts @@ -24,7 +24,7 @@ import { DateTimeUtil } from '../date-common/util/date-time.util'; import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive'; import { IgxInputDirective, IgxInputGroupComponent, IgxInputGroupType, IgxInputState, - IgxLabelDirective, IGX_INPUT_GROUP_TYPE, IgxSuffixDirective + IgxLabelDirective, IgxHintDirective, IGX_INPUT_GROUP_TYPE, IgxSuffixDirective } from '../input-group/public_api'; import { AutoPositionStrategy, IgxOverlayService, OverlayCancelableEventArgs, OverlayEventArgs, @@ -407,6 +407,9 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective @ContentChild(IgxLabelDirective) public label: IgxLabelDirective; + @ContentChild(IgxHintDirective) + public hint: IgxHintDirective; + @ContentChild(IgxPickerActionsDirective) public pickerActions: IgxPickerActionsDirective; @@ -537,7 +540,10 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective /** @hidden @internal */ public get separatorClass(): string { - return 'igx-date-range-picker__label'; + const classes = ['igx-date-range-picker__label']; + if (this.label) classes.push('input-has-label'); + if (this.hint) classes.push('input-has-hint'); + return classes.join(' '); } protected override get toggleContainer(): HTMLElement | undefined { diff --git a/src/app/date-range/date-range.sample.html b/src/app/date-range/date-range.sample.html index 5fc2e1103e2..123c51f4357 100644 --- a/src/app/date-range/date-range.sample.html +++ b/src/app/date-range/date-range.sample.html @@ -46,7 +46,9 @@
Angular Date Range Picker, two inputs, template-driven form
type="text" [placeholder]="properties.placeholder" /> - Helper text + @if (properties.hint) { + {{ properties.hint }} + } diff --git a/src/app/date-range/date-range.sample.ts b/src/app/date-range/date-range.sample.ts index 17a6c357b24..d9dc33bd735 100644 --- a/src/app/date-range/date-range.sample.ts +++ b/src/app/date-range/date-range.sample.ts @@ -150,6 +150,12 @@ export class DateRangeSampleComponent { defaultValue: 'MM/dd/yyyy' } }, + hint: { + label: 'Hint Text', + control: { + type: 'text' + } + }, displayFormat: { label: 'Display Format', control: {