igniteui-angular 22.1.4 → 22.2.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/combo/README.md +19 -0
- package/drop-down/README.md +40 -4
- package/fesm2022/igniteui-angular-accordion.mjs +7 -7
- package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
- package/fesm2022/igniteui-angular-avatar.mjs +7 -7
- package/fesm2022/igniteui-angular-badge.mjs +7 -7
- package/fesm2022/igniteui-angular-banner.mjs +10 -10
- package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
- package/fesm2022/igniteui-angular-button-group.mjs +12 -13
- package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +61 -61
- package/fesm2022/igniteui-angular-card.mjs +31 -31
- package/fesm2022/igniteui-angular-carousel.mjs +22 -22
- package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
- package/fesm2022/igniteui-angular-chat.mjs +12 -12
- package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
- package/fesm2022/igniteui-angular-chips.mjs +10 -10
- package/fesm2022/igniteui-angular-combo.mjs +268 -124
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +207 -59
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +80 -106
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs +13 -13
- package/fesm2022/igniteui-angular-directives.mjs +321 -457
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +331 -104
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
- package/fesm2022/igniteui-angular-grids-core.mjs +552 -516
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +79 -80
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +59 -46
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +113 -86
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs +10 -10
- package/fesm2022/igniteui-angular-input-group.mjs +73 -83
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +40 -40
- package/fesm2022/igniteui-angular-navbar.mjs +13 -13
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
- package/fesm2022/igniteui-angular-paginator.mjs +19 -19
- package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
- package/fesm2022/igniteui-angular-query-builder.mjs +23 -23
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +59 -35
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs +36 -48
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-simple-combo.mjs +44 -33
- package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +28 -28
- package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
- package/fesm2022/igniteui-angular-splitter.mjs +13 -13
- package/fesm2022/igniteui-angular-stepper.mjs +34 -34
- package/fesm2022/igniteui-angular-switch.mjs +7 -7
- package/fesm2022/igniteui-angular-tabs.mjs +34 -34
- package/fesm2022/igniteui-angular-time-picker.mjs +32 -51
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-toast.mjs +7 -7
- package/fesm2022/igniteui-angular-tree.mjs +28 -28
- package/fesm2022/igniteui-angular-virtual-scroll.mjs +1257 -0
- package/fesm2022/igniteui-angular-virtual-scroll.mjs.map +1 -0
- package/fesm2022/igniteui-angular.mjs +1 -0
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/input-group/README.md +2 -0
- package/lib/core/styles/components/scrollbar/scrollbar-component.scss +0 -2
- package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +23 -51
- package/lib/grids/core/src/column-actions/themes/_derived.scss +3 -3
- package/lib/grids/core/src/filtering/excel-style/themes/_derived.scss +3 -3
- package/lib/grids/themes/_derived.scss +3 -3
- package/lib/query-builder/src/query-builder/themes/_derived.scss +3 -3
- package/migrations/common/UpdateChanges.d.ts +36 -0
- package/migrations/common/UpdateChanges.js +175 -31
- package/migrations/common/UpdateChanges.spec.js +66 -0
- package/migrations/migration-collection.json +10 -0
- package/migrations/update-22_2_0/changes/theme-changes.json +77 -0
- package/migrations/update-22_2_0/index.d.ts +3 -0
- package/migrations/update-22_2_0/index.js +18 -0
- package/migrations/update-22_2_0/index.spec.d.ts +1 -0
- package/migrations/update-22_2_0/index.spec.js +161 -0
- package/migrations/update-22_2_0_grid-summary-borders/changes/theme-changes.json +17 -0
- package/migrations/update-22_2_0_grid-summary-borders/index.d.ts +3 -0
- package/migrations/update-22_2_0_grid-summary-borders/index.js +64 -0
- package/migrations/update-22_2_0_grid-summary-borders/index.spec.d.ts +1 -0
- package/migrations/update-22_2_0_grid-summary-borders/index.spec.js +100 -0
- package/package.json +6 -2
- package/schematics/tsconfig.tsbuildinfo +1 -1
- package/simple-combo/README.md +3 -0
- package/skills/igniteui-angular-components/references/form-controls.md +58 -0
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-calendar.d.ts +1 -1
- package/types/igniteui-angular-combo.d.ts +55 -12
- package/types/igniteui-angular-core.d.ts +73 -11
- package/types/igniteui-angular-date-picker.d.ts +3 -4
- package/types/igniteui-angular-directives.d.ts +50 -164
- package/types/igniteui-angular-drop-down.d.ts +76 -4
- package/types/igniteui-angular-grids-core.d.ts +63 -28
- package/types/igniteui-angular-grids-grid.d.ts +2 -7
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +5 -4
- package/types/igniteui-angular-grids-pivot-grid.d.ts +11 -5
- package/types/igniteui-angular-grids-tree-grid.d.ts +1 -1
- package/types/igniteui-angular-icon.d.ts +1 -1
- package/types/igniteui-angular-input-group.d.ts +18 -5
- package/types/igniteui-angular-query-builder.d.ts +1 -1
- package/types/igniteui-angular-radio.d.ts +16 -1
- package/types/igniteui-angular-select.d.ts +1 -2
- package/types/igniteui-angular-simple-combo.d.ts +7 -0
- package/types/igniteui-angular-stepper.d.ts +1 -1
- package/types/igniteui-angular-time-picker.d.ts +1 -3
- package/types/igniteui-angular-tree.d.ts +3 -3
- package/types/igniteui-angular-virtual-scroll.d.ts +408 -0
- package/types/igniteui-angular.d.ts +1 -0
- package/virtual-scroll/README.md +332 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i2 from 'igniteui-angular/core';
|
|
2
|
-
import { PickerInteractionMode, I18N_FORMATTER, PickerHeaderOrientation, DEFAULT_LOCALE, onResourceChangeHandle, IgxPickerToggleComponent, IgxPickerClearComponent, DateRangePickerResourceStringsEN, CalendarDay, DateTimeUtil, IgxOverlayService, PlatformUtil, PickerCalendarOrientation, getCurrentResourceStrings, DatePickerResourceStringsEN, AutoPositionStrategy, AbsoluteScrollStrategy, isDate, isDateInRanges, DateRangeType, IgxPickerActionsDirective, clamp, THEME_TOKEN, parseDate, calendarRange } from 'igniteui-angular/core';
|
|
2
|
+
import { PickerInteractionMode, I18N_FORMATTER, PickerHeaderOrientation, DEFAULT_LOCALE, onResourceChangeHandle, IgxPickerToggleComponent, IgxPickerClearComponent, DateRangePickerResourceStringsEN, CalendarDay, DateTimeUtil, IgxOverlayService, PlatformUtil, PickerCalendarOrientation, getCurrentResourceStrings, DatePickerResourceStringsEN, AutoPositionStrategy, AbsoluteScrollStrategy, isDate, isDateInRanges, NgControlAdapter, DateRangeType, IgxPickerActionsDirective, clamp, THEME_TOKEN, parseDate, calendarRange } from 'igniteui-angular/core';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { inject, ElementRef, LOCALE_ID, EventEmitter, booleanAttribute, ViewChild, ContentChildren, Output, Input, Directive, ChangeDetectionStrategy, Component, HostListener, HostBinding, Injector, Renderer2, ChangeDetectorRef, ViewContainerRef, ContentChild, ViewEncapsulation, Pipe, TemplateRef, NgModule } from '@angular/core';
|
|
5
5
|
import { NgControl, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
6
6
|
import * as i4 from 'igniteui-angular/calendar';
|
|
7
7
|
import { IgxCalendarComponent, IgxCalendarHeaderTitleTemplateDirective, IgxCalendarHeaderTemplateDirective, IgxCalendarSubheaderTemplateDirective, CalendarSelection } from 'igniteui-angular/calendar';
|
|
8
8
|
import * as i3 from 'igniteui-angular/input-group';
|
|
9
|
-
import { IGX_INPUT_GROUP_TYPE, IgxInputGroupComponent, IgxPrefixDirective, IgxSuffixDirective, IgxHintDirective, IgxInputState, IgxInputDirective, IgxReadOnlyInputDirective, IgxLabelDirective, IgxInputGroupBase } from 'igniteui-angular/input-group';
|
|
9
|
+
import { IGX_INPUT_GROUP_TYPE, IgxInputGroupComponent, IgxPrefixDirective, IgxSuffixDirective, IgxHintDirective, toInputState, IgxInputState, IgxInputDirective, IgxReadOnlyInputDirective, IgxLabelDirective, IgxInputGroupBase } from 'igniteui-angular/input-group';
|
|
10
10
|
import { Subject, merge, noop, fromEvent } from 'rxjs';
|
|
11
11
|
import { takeUntil, filter } from 'rxjs/operators';
|
|
12
12
|
import { IgxButtonDirective, IgxRippleDirective, IgxDividerComponent, IgxDateTimeEditorDirective, IgxTextSelectionDirective } from 'igniteui-angular/directives';
|
|
@@ -272,10 +272,10 @@ class PickerBaseDirective {
|
|
|
272
272
|
this.updateResources();
|
|
273
273
|
}
|
|
274
274
|
updateResources() { }
|
|
275
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
276
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.
|
|
275
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: PickerBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
276
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.7", type: PickerBaseDirective, isStandalone: true, inputs: { inputFormat: "inputFormat", displayFormat: "displayFormat", placeholder: "placeholder", mode: "mode", headerOrientation: "headerOrientation", hideHeader: ["hideHeader", "hideHeader", booleanAttribute], overlaySettings: "overlaySettings", disabled: ["disabled", "disabled", booleanAttribute], locale: "locale", weekStart: "weekStart", outlet: "outlet", type: "type", tabIndex: "tabIndex" }, outputs: { opening: "opening", opened: "opened", closing: "closing", closed: "closed" }, queries: [{ propertyName: "toggleComponents", predicate: IgxPickerToggleComponent, descendants: true }, { propertyName: "clearComponents", predicate: IgxPickerClearComponent, descendants: true }, { propertyName: "prefixes", predicate: IgxPrefixDirective, descendants: true }, { propertyName: "suffixes", predicate: IgxSuffixDirective, descendants: true }, { propertyName: "contentHints", predicate: IgxHintDirective, descendants: true }], viewQueries: [{ propertyName: "inputGroup", first: true, predicate: IgxInputGroupComponent, descendants: true }], ngImport: i0 }); }
|
|
277
277
|
}
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: PickerBaseDirective, decorators: [{
|
|
279
279
|
type: Directive
|
|
280
280
|
}], ctorParameters: () => [], propDecorators: { inputFormat: [{
|
|
281
281
|
type: Input
|
|
@@ -374,10 +374,10 @@ class IgxPredefinedRangesAreaComponent {
|
|
|
374
374
|
dateRange: range.get()
|
|
375
375
|
}));
|
|
376
376
|
}
|
|
377
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
378
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
377
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxPredefinedRangesAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
378
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxPredefinedRangesAreaComponent, isStandalone: true, selector: "igx-predefined-ranges-area", inputs: { usePredefinedRanges: "usePredefinedRanges", customRanges: "customRanges", resourceStrings: "resourceStrings" }, outputs: { rangeSelect: "rangeSelect" }, ngImport: i0, template: "<div class=\"igx-predefined-ranges\" role=\"group\" aria-label=\"Predefined ranges\">\n @for (r of ranges; track r.label) {\n <igx-chip (click)=\"onSelect(r.dateRange)\">\n {{ r.label }}\n </igx-chip>\n }\n</div>\n", styles: [":host{display:block}.igx-predefined-ranges{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem}\n"], dependencies: [{ kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "outlined", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
379
379
|
}
|
|
380
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxPredefinedRangesAreaComponent, decorators: [{
|
|
381
381
|
type: Component,
|
|
382
382
|
args: [{ selector: 'igx-predefined-ranges-area', standalone: true, imports: [IgxChipComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igx-predefined-ranges\" role=\"group\" aria-label=\"Predefined ranges\">\n @for (r of ranges; track r.label) {\n <igx-chip (click)=\"onSelect(r.dateRange)\">\n {{ r.label }}\n </igx-chip>\n }\n</div>\n", styles: [":host{display:block}.igx-predefined-ranges{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem}\n"] }]
|
|
383
383
|
}], propDecorators: { usePredefinedRanges: [{
|
|
@@ -421,10 +421,10 @@ class IgxCalendarContainerComponent {
|
|
|
421
421
|
get isReadonly() {
|
|
422
422
|
return this.mode === PickerInteractionMode.Dialog;
|
|
423
423
|
}
|
|
424
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
425
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
424
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxCalendarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
425
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxCalendarContainerComponent, isStandalone: true, selector: "igx-calendar-container", outputs: { calendarClose: "calendarClose", calendarCancel: "calendarCancel", todaySelection: "todaySelection", rangeSelected: "rangeSelected" }, host: { listeners: { "keydown.alt.arrowup": "onEscape($event)" }, properties: { "class.igx-date-picker": "this.styleClass", "class.igx-date-picker--dropdown": "this.dropdownCSS", "class.igx-date-picker--dialog": "this.dialogCSS" } }, viewQueries: [{ propertyName: "calendar", first: true, predicate: IgxCalendarComponent, descendants: true, static: true }], ngImport: i0, template: "<ng-template #defaultPickerActions>\n @if (closeButtonLabel || cancelButtonLabel || todayButtonLabel) {\n <div class=\"igx-date-picker__buttons\">\n @if (cancelButtonLabel) {\n <button\n #cancelButton type=\"button\"\n [igxButton]=\"cancelButtonType\" igxRipple\n (click)=\"calendarCancel.emit({ owner: this})\"\n >\n {{ cancelButtonLabel }}\n </button>\n }\n @if (closeButtonLabel) {\n <button\n #closeButton\n type=\"button\"\n [igxButton]=\"closeButtonType\"\n igxRipple\n (click)=\"calendarClose.emit({ owner: this})\"\n >\n {{ closeButtonLabel }}\n </button>\n }\n @if (todayButtonLabel) {\n <button\n #todayButton\n type=\"button\"\n igxButton=\"flat\"\n igxRipple\n (click)=\"todaySelection.emit({ owner: this })\"\n >\n {{ todayButtonLabel }}\n </button>\n }\n </div>\n }\n</ng-template>\n\n<igx-calendar></igx-calendar>\n @if( usePredefinedRanges || (customRanges?.length || 0) > 0 ){\n <igx-predefined-ranges-area\n [usePredefinedRanges]=\"usePredefinedRanges\"\n [customRanges]=\"customRanges\"\n [resourceStrings]=\"resourceStrings\"\n (rangeSelect)=\"rangeSelected.emit($event)\">\n </igx-predefined-ranges-area>\n }\n@if (pickerActions?.template || (closeButtonLabel || todayButtonLabel)) {\n <igx-divider></igx-divider>\n}\n@if (pickerActions?.template || (closeButtonLabel || cancelButtonLabel || todayButtonLabel)) {\n <div class=\"igx-date-picker__actions\">\n <ng-container\n *ngTemplateOutlet=\"\n pickerActions?.template || defaultPickerActions;\n context: { $implicit: calendar }\n \"\n >\n </ng-container>\n </div>\n}\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxCalendarComponent, selector: "igx-calendar", inputs: ["id", "hasHeader", "vertical", "orientation", "headerOrientation", "monthsViewNumber", "showWeekNumbers"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxDividerComponent, selector: "igx-divider", inputs: ["id", "role", "type", "middle", "vertical", "inset"] }, { kind: "component", type: IgxPredefinedRangesAreaComponent, selector: "igx-predefined-ranges-area", inputs: ["usePredefinedRanges", "customRanges", "resourceStrings"], outputs: ["rangeSelect"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
426
426
|
}
|
|
427
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
427
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxCalendarContainerComponent, decorators: [{
|
|
428
428
|
type: Component,
|
|
429
429
|
args: [{ selector: 'igx-calendar-container', changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
430
430
|
IgxButtonDirective,
|
|
@@ -659,6 +659,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
|
|
|
659
659
|
this._resourceStrings = getCurrentResourceStrings(DatePickerResourceStringsEN);
|
|
660
660
|
this._overlayId = '';
|
|
661
661
|
this._ngControl = null;
|
|
662
|
+
this._control = null;
|
|
662
663
|
this._specialDates = null;
|
|
663
664
|
this._disabledDates = null;
|
|
664
665
|
this._activeDate = null;
|
|
@@ -705,12 +706,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
|
|
|
705
706
|
}
|
|
706
707
|
/** @hidden @internal */
|
|
707
708
|
get required() {
|
|
708
|
-
|
|
709
|
-
// Run the validation with empty object to check if required is enabled.
|
|
710
|
-
const error = this._ngControl.control.validator({});
|
|
711
|
-
return error && error.required;
|
|
712
|
-
}
|
|
713
|
-
return false;
|
|
709
|
+
return this._control?.required ?? false;
|
|
714
710
|
}
|
|
715
711
|
/** @hidden @internal */
|
|
716
712
|
get pickerResourceStrings() {
|
|
@@ -919,6 +915,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
|
|
|
919
915
|
/** @hidden @internal */
|
|
920
916
|
ngOnInit() {
|
|
921
917
|
this._ngControl = this._injector.get(NgControl, null);
|
|
918
|
+
this._control = NgControlAdapter.from(this._ngControl, this._injector);
|
|
922
919
|
}
|
|
923
920
|
/** @hidden @internal */
|
|
924
921
|
ngAfterViewInit() {
|
|
@@ -935,10 +932,9 @@ class IgxDatePickerComponent extends PickerBaseDirective {
|
|
|
935
932
|
this.updateValidity();
|
|
936
933
|
}
|
|
937
934
|
});
|
|
938
|
-
if (this.
|
|
939
|
-
this._statusChanges$ =
|
|
940
|
-
|
|
941
|
-
if (this._ngControl.control.validator) {
|
|
935
|
+
if (this._control) {
|
|
936
|
+
this._statusChanges$ = this._control.statusChanges.subscribe(this.onStatusChanged.bind(this));
|
|
937
|
+
if (this._control.hasValidators) {
|
|
942
938
|
this.inputGroup.isRequired = this.required;
|
|
943
939
|
this.cdr.detectChanges();
|
|
944
940
|
}
|
|
@@ -989,24 +985,14 @@ class IgxDatePickerComponent extends PickerBaseDirective {
|
|
|
989
985
|
}
|
|
990
986
|
updateValidity() {
|
|
991
987
|
// B.P. 18 May 2021: IgxDatePicker does not reset its state upon resetForm #9526
|
|
992
|
-
if (this.
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
}
|
|
996
|
-
else {
|
|
997
|
-
this.inputDirective.valid = this._ngControl.valid ? IgxInputState.INITIAL : IgxInputState.INVALID;
|
|
998
|
-
}
|
|
988
|
+
if (this._control && !this.disabled && this._control.touchedOrDirty) {
|
|
989
|
+
const showSuccess = this._control.hasValidators && this.inputGroup.isFocused;
|
|
990
|
+
this.inputDirective.valid = toInputState(this._control.status, showSuccess ? 'allowed' : 'suppressed');
|
|
999
991
|
}
|
|
1000
992
|
else {
|
|
1001
993
|
this.inputDirective.valid = IgxInputState.INITIAL;
|
|
1002
994
|
}
|
|
1003
995
|
}
|
|
1004
|
-
get isTouchedOrDirty() {
|
|
1005
|
-
return (this._ngControl.control.touched || this._ngControl.control.dirty);
|
|
1006
|
-
}
|
|
1007
|
-
get hasValidators() {
|
|
1008
|
-
return (!!this._ngControl.control.validator || !!this._ngControl.control.asyncValidator);
|
|
1009
|
-
}
|
|
1010
996
|
handleSelection(date) {
|
|
1011
997
|
if (this.dateValue && DateTimeUtil.isValidDate(this.dateValue)) {
|
|
1012
998
|
date.setHours(this.dateValue.getHours());
|
|
@@ -1127,13 +1113,13 @@ class IgxDatePickerComponent extends PickerBaseDirective {
|
|
|
1127
1113
|
updateResources() {
|
|
1128
1114
|
this._resourceStrings = getCurrentResourceStrings(DatePickerResourceStringsEN, false, this._locale);
|
|
1129
1115
|
}
|
|
1130
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
1131
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
1116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1117
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxDatePickerComponent, isStandalone: true, selector: "igx-date-picker", inputs: { hideOutsideDays: ["hideOutsideDays", "hideOutsideDays", booleanAttribute], displayMonthsCount: "displayMonthsCount", orientation: "orientation", showWeekNumbers: ["showWeekNumbers", "showWeekNumbers", booleanAttribute], activeDate: "activeDate", formatter: "formatter", todayButtonLabel: "todayButtonLabel", cancelButtonLabel: "cancelButtonLabel", spinLoop: ["spinLoop", "spinLoop", booleanAttribute], spinDelta: "spinDelta", id: "id", formatViews: "formatViews", disabledDates: "disabledDates", specialDates: "specialDates", calendarFormat: "calendarFormat", value: "value", minValue: "minValue", maxValue: "maxValue", resourceStrings: "resourceStrings", readOnly: ["readOnly", "readOnly", booleanAttribute] }, outputs: { valueChange: "valueChange", validationFailed: "validationFailed" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.id": "this.id" }, classAttribute: "igx-date-picker" }, providers: [
|
|
1132
1118
|
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxDatePickerComponent, multi: true },
|
|
1133
1119
|
{ provide: NG_VALIDATORS, useExisting: IgxDatePickerComponent, multi: true }
|
|
1134
1120
|
], queries: [{ propertyName: "label", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "headerTitleTemplate", first: true, predicate: IgxCalendarHeaderTitleTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: IgxCalendarHeaderTemplateDirective, descendants: true }, { propertyName: "subheaderTemplate", first: true, predicate: IgxCalendarSubheaderTemplateDirective, descendants: true }, { propertyName: "pickerActions", first: true, predicate: IgxPickerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "dateTimeEditor", first: true, predicate: IgxDateTimeEditorDirective, descendants: true, static: true }, { propertyName: "viewContainerRef", first: true, predicate: IgxInputGroupComponent, descendants: true, read: ViewContainerRef }, { propertyName: "labelDirective", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "inputDirective", first: true, predicate: IgxInputDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<igx-input-group [type]=\"type\">\n @if (!toggleComponents.length) {\n <igx-prefix (click)=\"toggle()\">\n <igx-icon\n [title]=\"\n value\n ? pickerResourceStrings.igx_date_picker_change_date\n : pickerResourceStrings.igx_date_picker_choose_date\n \"\n family=\"default\"\n name=\"today\"\n >\n </igx-icon>\n </igx-prefix>\n }\n\n <input class=\"igx-date-picker__input-date\"\n [igxReadOnlyInput]=\"readOnly\"\n [displayValuePipe]=\"$any($any(formatter) ? displayValue : null)\" igxInput\n [igxDateTimeEditor]=\"inputFormat\" [displayFormat]=\"displayFormat\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [spinDelta]=\"spinDelta\" [spinLoop]=\"spinLoop\"\n [disabled]=\"disabled\" [placeholder]=\"placeholder\" [readonly]=\"!isDropdown || readOnly\"\n [igxTextSelection]=\"isDropdown && !readOnly\" [locale]=\"locale\" [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-labelledby]=\"label?.id\" aria-haspopup=\"dialog\" aria-autocomplete=\"none\" role=\"combobox\">\n\n @if (!clearComponents.length && value) {\n <igx-suffix (click)=\"clear()\">\n <igx-icon family=\"default\" name=\"input_clear\"></igx-icon>\n </igx-suffix>\n }\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n</igx-input-group>\n", styles: ["@layer ig.base{.igx-date-picker{display:block}.igx-date-picker igx-calendar,.igx-date-picker igx-days-view,.igx-date-picker igx-months-view,.igx-date-picker igx-years-view{box-shadow:none;border-radius:0}.igx-date-picker igx-divider{--ig-divider-color: var(--actions-divider-color)}.igx-date-picker__actions{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--default-size));display:flex;justify-content:flex-end;gap:.5rem}.igx-date-picker__actions [igxButton]{--component-size: var(--ig-size, var(--default-size)) !important}.igx-date-picker__buttons{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.igx-date-picker--dropdown{display:flex;flex:1 0 0;flex-direction:column;box-shadow:0 0 0 .0625rem var(--border-color),var(--ig-elevation-3);background:var(--content-background);border-radius:var(--border-radius);overflow:hidden}.igx-date-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--ig-elevation-24);background:var(--content-background);border-radius:var(--border-radius);overflow:hidden}}@layer ig.material{@container style(--ig-theme: material){.igx-date-picker__actions{min-height:max(var(--is-large, 1)*max(3.25rem,-1 * 3.25rem),var(--is-medium, 1)*max(2.875rem,-1 * 2.875rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));padding:.5rem}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-date-picker__actions{min-height:max(var(--is-large, 1)*max(4rem,-1 * 4rem),var(--is-medium, 1)*max(3.375rem,-1 * 3.375rem),var(--is-small, 1)*max(2.9375rem,-1 * 2.9375rem));padding:.5rem}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-date-picker__actions{min-height:max(var(--is-large, 1)*max(3.375rem,-1 * 3.375rem),var(--is-medium, 1)*max(3rem,-1 * 3rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));padding:.5rem}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-date-picker__actions{min-height:max(var(--is-large, 1)*max(3rem,-1 * 3rem),var(--is-medium, 1)*max(2.75rem,-1 * 2.75rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));padding:.5rem 1rem}.igx-date-picker--dropdown{box-shadow:0 0 0 .0625rem var(--border-color),var(--ig-elevation-3)}.igx-date-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--ig-elevation-5)}}}\n"], dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxReadOnlyInputDirective, selector: "[igxReadOnlyInput]", inputs: ["igxReadOnlyInput"], exportAs: ["igxReadOnlyInput"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1135
1121
|
}
|
|
1136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
1122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDatePickerComponent, decorators: [{
|
|
1137
1123
|
type: Component,
|
|
1138
1124
|
args: [{ providers: [
|
|
1139
1125
|
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxDatePickerComponent, multi: true },
|
|
@@ -1276,10 +1262,10 @@ class DateRangePickerFormatPipe {
|
|
|
1276
1262
|
}
|
|
1277
1263
|
return formatted ? formatted : '';
|
|
1278
1264
|
}
|
|
1279
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
1280
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.
|
|
1265
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: DateRangePickerFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1266
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: DateRangePickerFormatPipe, isStandalone: true, name: "dateRange" }); }
|
|
1281
1267
|
}
|
|
1282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
1268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: DateRangePickerFormatPipe, decorators: [{
|
|
1283
1269
|
type: Pipe,
|
|
1284
1270
|
args: [{
|
|
1285
1271
|
name: 'dateRange',
|
|
@@ -1288,6 +1274,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
1288
1274
|
}] });
|
|
1289
1275
|
/** @hidden @internal */
|
|
1290
1276
|
class IgxDateRangeInputsBaseComponent extends IgxInputGroupComponent {
|
|
1277
|
+
constructor() {
|
|
1278
|
+
super(...arguments);
|
|
1279
|
+
this.injector = inject(Injector);
|
|
1280
|
+
}
|
|
1291
1281
|
/** @hidden @internal */
|
|
1292
1282
|
get nativeElement() {
|
|
1293
1283
|
return this.element.nativeElement;
|
|
@@ -1298,10 +1288,9 @@ class IgxDateRangeInputsBaseComponent extends IgxInputGroupComponent {
|
|
|
1298
1288
|
}
|
|
1299
1289
|
/** @hidden @internal */
|
|
1300
1290
|
updateInputValue(value) {
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
else {
|
|
1291
|
+
// A control that ignores the write reads the value from the editor instead.
|
|
1292
|
+
const write = NgControlAdapter.from(this.ngControl, this.injector)?.setValue(value);
|
|
1293
|
+
if (write !== 'accepted') {
|
|
1305
1294
|
this.dateTimeEditor.value = value;
|
|
1306
1295
|
}
|
|
1307
1296
|
}
|
|
@@ -1309,10 +1298,10 @@ class IgxDateRangeInputsBaseComponent extends IgxInputGroupComponent {
|
|
|
1309
1298
|
updateInputValidity(state) {
|
|
1310
1299
|
this.inputDirective.valid = state;
|
|
1311
1300
|
}
|
|
1312
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
1313
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.
|
|
1301
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangeInputsBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1302
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: IgxDateRangeInputsBaseComponent, isStandalone: true, selector: "igx-date-range-base", providers: [{ provide: IgxInputGroupBase, useExisting: IgxDateRangeInputsBaseComponent }], queries: [{ propertyName: "dateTimeEditor", first: true, predicate: IgxDateTimeEditorDirective, descendants: true }, { propertyName: "inputDirective", first: true, predicate: IgxInputDirective, descendants: true }, { propertyName: "ngControl", first: true, predicate: NgControl, descendants: true }], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
1314
1303
|
}
|
|
1315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
1304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangeInputsBaseComponent, decorators: [{
|
|
1316
1305
|
type: Component,
|
|
1317
1306
|
args: [{
|
|
1318
1307
|
template: ``,
|
|
@@ -1356,13 +1345,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
1356
1345
|
* ```
|
|
1357
1346
|
*/
|
|
1358
1347
|
class IgxDateRangeStartComponent extends IgxDateRangeInputsBaseComponent {
|
|
1359
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
1360
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
1348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangeStartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1349
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxDateRangeStartComponent, isStandalone: true, selector: "igx-date-range-start", providers: [
|
|
1361
1350
|
{ provide: IgxInputGroupBase, useExisting: IgxDateRangeStartComponent },
|
|
1362
1351
|
{ provide: IgxDateRangeInputsBaseComponent, useExisting: IgxDateRangeStartComponent }
|
|
1363
1352
|
], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"bundle\"></ng-container>\n\n<ng-template #label>\n <ng-content select=\"[igxLabel]\"></ng-content>\n</ng-template>\n\n<ng-template #uploadButton>\n @if (isFileType) {\n <div class=\"igx-input-group__upload\">\n <button\n igxButton\n type=\"button\"\n class=\"igx-input-group__upload-button\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n >\n {{ resourceStrings.igx_input_upload_button }}\n </button>\n </div>\n }\n</ng-template>\n\n<ng-template #files>\n @if (isFileType) {\n <div\n class=\"igx-input-group__file-input\"\n [title]=\"fileNames\"\n >\n <span>{{ fileNames }}</span>\n </div>\n }\n</ng-template>\n\n<ng-template #clear>\n @if (isFileType && isFilled) {\n <igx-suffix\n class=\"igx-input-group__clear-icon\"\n (click)=\"clearValueHandler()\"\n (keydown.Enter)=\"clearValueHandler()\"\n title=\"clear files\"\n tabindex=\"0\"\n >\n <igx-icon family=\"default\" name=\"input_clear\"></igx-icon>\n </igx-suffix>\n }\n</ng-template>\n\n<ng-template #bundle>\n @if (!isTypeBorder) {\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n }\n\n <div class=\"igx-input-group__bundle\">\n <div class=\"igx-input-group__bundle-start\">\n <ng-content select=\"igx-prefix, [igxPrefix]\"></ng-content>\n </div>\n\n @if (isFileType) {\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n }\n\n @if (isTypeBorder) {\n <div class=\"igx-input-group__notch\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </div>\n }\n\n <div class=\"igx-input-group__bundle-main\">\n <ng-content select=\"[igxInput]\"></ng-content>\n\n @if (isFileType) {\n <ng-container *ngTemplateOutlet=\"files\"></ng-container>\n }\n </div>\n\n @if (isTypeBorder) {\n <div class=\"igx-input-group__filler\"></div>\n }\n\n <div class=\"igx-input-group__bundle-end\">\n @if (isFileType && isFilled) {\n <ng-container *ngTemplateOutlet=\"clear\"></ng-container>\n\n }\n <ng-content select=\"igx-suffix, [igxSuffix]\"></ng-content>\n </div>\n </div>\n\n\n @if (hasHints) {\n <div class=\"igx-input-group__hint\" (click)=\"hintClickHandler($event)\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </div>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
1364
1353
|
}
|
|
1365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
1354
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangeStartComponent, decorators: [{
|
|
1366
1355
|
type: Component,
|
|
1367
1356
|
args: [{ selector: 'igx-date-range-start', providers: [
|
|
1368
1357
|
{ provide: IgxInputGroupBase, useExisting: IgxDateRangeStartComponent },
|
|
@@ -1394,13 +1383,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
1394
1383
|
* ```
|
|
1395
1384
|
*/
|
|
1396
1385
|
class IgxDateRangeEndComponent extends IgxDateRangeInputsBaseComponent {
|
|
1397
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
1398
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
1386
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangeEndComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1387
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxDateRangeEndComponent, isStandalone: true, selector: "igx-date-range-end", providers: [
|
|
1399
1388
|
{ provide: IgxInputGroupBase, useExisting: IgxDateRangeEndComponent },
|
|
1400
1389
|
{ provide: IgxDateRangeInputsBaseComponent, useExisting: IgxDateRangeEndComponent }
|
|
1401
1390
|
], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"bundle\"></ng-container>\n\n<ng-template #label>\n <ng-content select=\"[igxLabel]\"></ng-content>\n</ng-template>\n\n<ng-template #uploadButton>\n @if (isFileType) {\n <div class=\"igx-input-group__upload\">\n <button\n igxButton\n type=\"button\"\n class=\"igx-input-group__upload-button\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n >\n {{ resourceStrings.igx_input_upload_button }}\n </button>\n </div>\n }\n</ng-template>\n\n<ng-template #files>\n @if (isFileType) {\n <div\n class=\"igx-input-group__file-input\"\n [title]=\"fileNames\"\n >\n <span>{{ fileNames }}</span>\n </div>\n }\n</ng-template>\n\n<ng-template #clear>\n @if (isFileType && isFilled) {\n <igx-suffix\n class=\"igx-input-group__clear-icon\"\n (click)=\"clearValueHandler()\"\n (keydown.Enter)=\"clearValueHandler()\"\n title=\"clear files\"\n tabindex=\"0\"\n >\n <igx-icon family=\"default\" name=\"input_clear\"></igx-icon>\n </igx-suffix>\n }\n</ng-template>\n\n<ng-template #bundle>\n @if (!isTypeBorder) {\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n }\n\n <div class=\"igx-input-group__bundle\">\n <div class=\"igx-input-group__bundle-start\">\n <ng-content select=\"igx-prefix, [igxPrefix]\"></ng-content>\n </div>\n\n @if (isFileType) {\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n }\n\n @if (isTypeBorder) {\n <div class=\"igx-input-group__notch\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </div>\n }\n\n <div class=\"igx-input-group__bundle-main\">\n <ng-content select=\"[igxInput]\"></ng-content>\n\n @if (isFileType) {\n <ng-container *ngTemplateOutlet=\"files\"></ng-container>\n }\n </div>\n\n @if (isTypeBorder) {\n <div class=\"igx-input-group__filler\"></div>\n }\n\n <div class=\"igx-input-group__bundle-end\">\n @if (isFileType && isFilled) {\n <ng-container *ngTemplateOutlet=\"clear\"></ng-container>\n\n }\n <ng-content select=\"igx-suffix, [igxSuffix]\"></ng-content>\n </div>\n </div>\n\n\n @if (hasHints) {\n <div class=\"igx-input-group__hint\" (click)=\"hintClickHandler($event)\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </div>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
1402
1391
|
}
|
|
1403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
1392
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangeEndComponent, decorators: [{
|
|
1404
1393
|
type: Component,
|
|
1405
1394
|
args: [{ selector: 'igx-date-range-end', providers: [
|
|
1406
1395
|
{ provide: IgxInputGroupBase, useExisting: IgxDateRangeEndComponent },
|
|
@@ -1435,10 +1424,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
1435
1424
|
* ```
|
|
1436
1425
|
*/
|
|
1437
1426
|
class IgxDateRangeSeparatorDirective {
|
|
1438
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
1439
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
1427
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangeSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1428
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxDateRangeSeparatorDirective, isStandalone: true, selector: "[igxDateRangeSeparator]", ngImport: i0 }); }
|
|
1440
1429
|
}
|
|
1441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
1430
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangeSeparatorDirective, decorators: [{
|
|
1442
1431
|
type: Directive,
|
|
1443
1432
|
args: [{
|
|
1444
1433
|
selector: '[igxDateRangeSeparator]',
|
|
@@ -1739,11 +1728,7 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
1739
1728
|
return this._calendarContainer;
|
|
1740
1729
|
}
|
|
1741
1730
|
get required() {
|
|
1742
|
-
|
|
1743
|
-
const error = this._ngControl.control.validator({});
|
|
1744
|
-
return (error && error.required) ? true : false;
|
|
1745
|
-
}
|
|
1746
|
-
return false;
|
|
1731
|
+
return this._control?.required ?? false;
|
|
1747
1732
|
}
|
|
1748
1733
|
get calendar() {
|
|
1749
1734
|
return this._calendar;
|
|
@@ -1834,6 +1819,7 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
1834
1819
|
this._cancelButtonText = null;
|
|
1835
1820
|
this._dateSeparator = null;
|
|
1836
1821
|
this._overlayId = '';
|
|
1822
|
+
this._control = null;
|
|
1837
1823
|
this._displayMonthsCount = 2;
|
|
1838
1824
|
this._specialDates = null;
|
|
1839
1825
|
this._disabledDates = null;
|
|
@@ -2037,6 +2023,7 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
2037
2023
|
/** @hidden */
|
|
2038
2024
|
ngOnInit() {
|
|
2039
2025
|
this._ngControl = this._injector.get(NgControl, null);
|
|
2026
|
+
this._control = NgControlAdapter.from(this._ngControl, this._injector);
|
|
2040
2027
|
}
|
|
2041
2028
|
/** @hidden */
|
|
2042
2029
|
ngAfterViewInit() {
|
|
@@ -2048,8 +2035,8 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
2048
2035
|
this.cacheFocusedInput();
|
|
2049
2036
|
this.attachOnTouched();
|
|
2050
2037
|
this.setRequiredToInputs();
|
|
2051
|
-
if (this.
|
|
2052
|
-
this._statusChanges$ = this.
|
|
2038
|
+
if (this._control) {
|
|
2039
|
+
this._statusChanges$ = this._control.statusChanges.subscribe(this.onStatusChanged.bind(this));
|
|
2053
2040
|
}
|
|
2054
2041
|
// delay invocations until the current change detection cycle has completed
|
|
2055
2042
|
Promise.resolve().then(() => {
|
|
@@ -2095,24 +2082,14 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
2095
2082
|
return this.inputDirective.nativeElement;
|
|
2096
2083
|
}
|
|
2097
2084
|
setValidityState(inputDirective, isFocused) {
|
|
2098
|
-
if (this.
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
}
|
|
2102
|
-
else {
|
|
2103
|
-
inputDirective.valid = this._ngControl.valid ? IgxInputState.INITIAL : IgxInputState.INVALID;
|
|
2104
|
-
}
|
|
2085
|
+
if (this._control && !this._control.disabled && this._control.touchedOrDirty) {
|
|
2086
|
+
const showSuccess = this._control.hasValidators && isFocused;
|
|
2087
|
+
inputDirective.valid = toInputState(this._control.status, showSuccess ? 'allowed' : 'suppressed');
|
|
2105
2088
|
}
|
|
2106
2089
|
else {
|
|
2107
2090
|
inputDirective.valid = IgxInputState.INITIAL;
|
|
2108
2091
|
}
|
|
2109
2092
|
}
|
|
2110
|
-
get isTouchedOrDirty() {
|
|
2111
|
-
return (this._ngControl.control.touched || this._ngControl.control.dirty);
|
|
2112
|
-
}
|
|
2113
|
-
get hasValidators() {
|
|
2114
|
-
return (!!this._ngControl.control.validator || !!this._ngControl.control.asyncValidator);
|
|
2115
|
-
}
|
|
2116
2093
|
handleSelection(selectionData) {
|
|
2117
2094
|
let newValue = this.extractRange(selectionData);
|
|
2118
2095
|
if (!newValue.start && !newValue.end) {
|
|
@@ -2196,25 +2173,16 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
2196
2173
|
updateValidityOnBlur() {
|
|
2197
2174
|
this._focusedInput = null;
|
|
2198
2175
|
this.onTouchCallback();
|
|
2199
|
-
if (this.
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
}
|
|
2210
|
-
if (this.inputDirective) {
|
|
2211
|
-
if (!this._ngControl.valid) {
|
|
2212
|
-
this.inputDirective.valid = IgxInputState.INVALID;
|
|
2213
|
-
}
|
|
2214
|
-
else {
|
|
2215
|
-
this.inputDirective.valid = IgxInputState.INITIAL;
|
|
2216
|
-
}
|
|
2217
|
-
}
|
|
2176
|
+
if (!this._control) {
|
|
2177
|
+
return;
|
|
2178
|
+
}
|
|
2179
|
+
// Blur never shows success, only the error.
|
|
2180
|
+
const state = toInputState(this._control.status, 'suppressed');
|
|
2181
|
+
if (this.hasProjectedInputs) {
|
|
2182
|
+
this.projectedInputs.forEach(i => i.updateInputValidity(state));
|
|
2183
|
+
}
|
|
2184
|
+
if (this.inputDirective) {
|
|
2185
|
+
this.inputDirective.valid = state;
|
|
2218
2186
|
}
|
|
2219
2187
|
}
|
|
2220
2188
|
updateDisabledState() {
|
|
@@ -2236,6 +2204,8 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
2236
2204
|
else if (this.hasProjectedInputs && this._ngControl) {
|
|
2237
2205
|
this.projectedInputs.forEach(i => i.isRequired = isRequired);
|
|
2238
2206
|
}
|
|
2207
|
+
// Written outside change detection; a required-only change has nothing else to repaint it.
|
|
2208
|
+
this._cdr.markForCheck();
|
|
2239
2209
|
});
|
|
2240
2210
|
}
|
|
2241
2211
|
parseMinValue(value) {
|
|
@@ -2433,6 +2403,10 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
2433
2403
|
const _value = this.value ? this.toRangeOfDates(this.value) : null;
|
|
2434
2404
|
start.updateInputValue(_value?.start || null);
|
|
2435
2405
|
end.updateInputValue(_value?.end || null);
|
|
2406
|
+
// `validate()` reads the editors, which Signal Forms validate before writing to; re-run it.
|
|
2407
|
+
if (this._control?.backend === 'signal') {
|
|
2408
|
+
this.onValidatorChange();
|
|
2409
|
+
}
|
|
2436
2410
|
}
|
|
2437
2411
|
}
|
|
2438
2412
|
updateDisplayFormat() {
|
|
@@ -2547,13 +2521,13 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
2547
2521
|
this._calendar.viewDate = value ?? this.activeDate;
|
|
2548
2522
|
}
|
|
2549
2523
|
}
|
|
2550
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
2551
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
2524
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2525
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxDateRangePickerComponent, isStandalone: true, selector: "igx-date-range-picker", inputs: { displayMonthsCount: "displayMonthsCount", orientation: "orientation", hideOutsideDays: ["hideOutsideDays", "hideOutsideDays", booleanAttribute], formatter: "formatter", doneButtonText: "doneButtonText", cancelButtonText: "cancelButtonText", overlaySettings: "overlaySettings", displayFormat: "displayFormat", inputFormat: "inputFormat", minValue: "minValue", maxValue: "maxValue", disabledDates: "disabledDates", specialDates: "specialDates", resourceStrings: "resourceStrings", placeholder: "placeholder", showWeekNumbers: ["showWeekNumbers", "showWeekNumbers", booleanAttribute], readOnly: ["readOnly", "readOnly", booleanAttribute], usePredefinedRanges: "usePredefinedRanges", customRanges: "customRanges", activeDate: "activeDate", locale: "locale", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.igx-date-range-picker": "this.cssClass" } }, providers: [
|
|
2552
2526
|
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxDateRangePickerComponent, multi: true },
|
|
2553
2527
|
{ provide: NG_VALIDATORS, useExisting: IgxDateRangePickerComponent, multi: true }
|
|
2554
2528
|
], queries: [{ propertyName: "label", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "hint", first: true, predicate: IgxHintDirective, descendants: true }, { propertyName: "pickerActions", first: true, predicate: IgxPickerActionsDirective, descendants: true }, { propertyName: "dateSeparatorTemplate", first: true, predicate: IgxDateRangeSeparatorDirective, descendants: true, read: TemplateRef }, { propertyName: "headerTitleTemplate", first: true, predicate: IgxCalendarHeaderTitleTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: IgxCalendarHeaderTemplateDirective, descendants: true }, { propertyName: "subheaderTemplate", first: true, predicate: IgxCalendarSubheaderTemplateDirective, descendants: true }, { propertyName: "projectedInputs", predicate: IgxDateRangeInputsBaseComponent }], viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }, { propertyName: "inputDirective", first: true, predicate: IgxInputDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"hasProjectedInputs ? startEndTemplate : defTemplate\"></ng-container>\n\n<ng-template #singleTemplate>\n <div (click)=\"open()\" class=\"content-wrap\">\n <ng-content select=\"igx-date-single\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #startEndTemplate>\n <ng-content select=\"igx-date-range-start\"></ng-content>\n <div [className]=\"separatorClass\">\n <ng-container *ngTemplateOutlet=\"dateSeparatorTemplate || defDateSeparatorTemplate;\">\n </ng-container>\n </div>\n <ng-content select=\"igx-date-range-end\"></ng-content>\n</ng-template>\n\n<ng-template #defIcon>\n <igx-icon family=\"default\" name=\"date_range\"></igx-icon>\n</ng-template>\n\n<ng-template #clearIcon>\n <igx-icon family=\"default\" name=\"input_clear\" [attr.aria-hidden]=\"true\"></igx-icon>\n</ng-template>\n\n<ng-template #defDateSeparatorTemplate>{{ dateSeparator }}</ng-template>\n\n<ng-template #defTemplate>\n <igx-input-group [type]=\"type\">\n <!-- only set mask placeholder when empty, otherwise input group might use it as label if none is set -->\n <input #singleInput igxInput type=\"text\" [igxReadOnlyInput]=\"readOnly\" readonly [disabled]=\"disabled\" [placeholder]=\"value ? '' : singleInputFormat\"\n role=\"combobox\" aria-haspopup=\"grid\" [attr.aria-expanded]=\"!collapsed\" [attr.aria-labelledby]=\"label?.id\"\n [value]=\"value! | dateRange: appliedFormat : locale : formatter\" />\n\n @if (!toggleComponents.length) {\n <igx-prefix (click)=\"toggle()\">\n <ng-container *ngTemplateOutlet=\"defIcon\"></ng-container>\n </igx-prefix>\n }\n\n @if (!clearComponents.length && value) {\n <igx-suffix (click)=\"clear()\">\n <ng-container *ngTemplateOutlet=\"clearIcon\"></ng-container>\n </igx-suffix>\n }\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n </igx-input-group>\n</ng-template>\n\n<ng-container #container></ng-container>\n", styles: ["@layer ig.base{.igx-date-picker{display:block}.igx-date-picker igx-calendar,.igx-date-picker igx-days-view,.igx-date-picker igx-months-view,.igx-date-picker igx-years-view{box-shadow:none;border-radius:0}.igx-date-picker igx-divider{--ig-divider-color: var(--actions-divider-color)}.igx-date-picker__actions{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--default-size));display:flex;justify-content:flex-end;gap:.5rem}.igx-date-picker__actions [igxButton]{--component-size: var(--ig-size, var(--default-size)) !important}.igx-date-picker__buttons{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.igx-date-picker--dropdown{display:flex;flex:1 0 0;flex-direction:column;box-shadow:0 0 0 .0625rem var(--border-color),var(--ig-elevation-3);background:var(--content-background);border-radius:var(--border-radius);overflow:hidden}.igx-date-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--ig-elevation-24);background:var(--content-background);border-radius:var(--border-radius);overflow:hidden}}@layer ig.material{@container style(--ig-theme: material){.igx-date-picker__actions{min-height:max(var(--is-large, 1)*max(3.25rem,-1 * 3.25rem),var(--is-medium, 1)*max(2.875rem,-1 * 2.875rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));padding:.5rem}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-date-picker__actions{min-height:max(var(--is-large, 1)*max(4rem,-1 * 4rem),var(--is-medium, 1)*max(3.375rem,-1 * 3.375rem),var(--is-small, 1)*max(2.9375rem,-1 * 2.9375rem));padding:.5rem}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-date-picker__actions{min-height:max(var(--is-large, 1)*max(3.375rem,-1 * 3.375rem),var(--is-medium, 1)*max(3rem,-1 * 3rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));padding:.5rem}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-date-picker__actions{min-height:max(var(--is-large, 1)*max(3rem,-1 * 3rem),var(--is-medium, 1)*max(2.75rem,-1 * 2.75rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));padding:.5rem 1rem}.igx-date-picker--dropdown{box-shadow:0 0 0 .0625rem var(--border-color),var(--ig-elevation-3)}.igx-date-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--ig-elevation-5)}}}\n", "@layer ig.base{.igx-date-range-picker{--_range-column-gap: .25rem;--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);display:grid;position:relative;align-items:start;row-gap:.25rem;-moz-column-gap:var(--_range-column-gap);column-gap:var(--_range-column-gap)}.igx-date-range-picker>igx-icon{cursor:pointer}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):not(:has(.igx-date-range-picker__label)){grid-template-columns:auto 1fr auto auto 1fr auto}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):not(:has(.igx-date-range-picker__label)) igx-date-range-start .igx-input-group__bundle{grid-column:1/span 3!important}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):not(:has(.igx-date-range-picker__label)) igx-date-range-end .igx-input-group__bundle{grid-column:4/-1!important}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):has(.igx-date-range-picker__label){grid-template-columns:auto 1fr auto 2ch auto 1fr auto}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):has(.igx-date-range-picker__label) igx-date-range-start .igx-input-group__bundle{grid-column:1/span 3!important}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):has(.igx-date-range-picker__label) igx-date-range-start .igx-input-group__label{grid-column:2/span 2!important}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):has(.igx-date-range-picker__label) igx-date-range-start .igx-input-group__hint{grid-column:1/span 2!important}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):has(.igx-date-range-picker__label) igx-date-range-end .igx-input-group__bundle{grid-column:5/-1!important}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):has(.igx-date-range-picker__label) igx-date-range-end .igx-input-group__label,.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):has(.igx-date-range-picker__label) igx-date-range-end .igx-input-group__hint{grid-column:6/7!important}.igx-date-range-picker:has(igx-date-range-start,igx-date-range-end):has(.igx-date-range-picker__label) igx-date-range-end .igx-input-group__hint{grid-column:5/span 2!important}.igx-date-range-picker:has(.igx-input-group__label) .igx-date-range-picker__label{grid-row:2}.igx-date-range-picker .igx-input-group__label:only-child,.igx-date-range-picker .igx-input-group__hint:only-child{grid-column:1/-1}.igx-date-range-picker igx-date-range-start,.igx-date-range-picker igx-date-range-end{display:contents}.igx-date-range-picker__label{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);display:flex;align-items:center;justify-content:center;height:100%;color:var(--label-color);pointer-events:none;grid-column:4/5;grid-row:1}.igx-date-range-picker-buttons{display:flex;justify-content:flex-end;padding:0 1rem 1rem}.igx-date-range-picker-buttons>*{margin-inline-end:.5rem}.igx-date-range-picker-buttons>*:last-of-type{margin-inline-end:0}.igx-date-range-picker-buttons:empty{display:none}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-date-range-picker__label{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom)}.igx-date-range-picker .igx-input-group:not(:has(.igx-input-group__label)){--_bundle-row: 2;--_hint-row: 3}.igx-date-range-picker:not(:has(.igx-input-group__label)) .igx-date-range-picker__label{grid-row:2}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-date-range-picker .igx-input-group:not(:has(.igx-input-group__label)){--_bundle-row: 2;--_hint-row: 3}.igx-date-range-picker:not(:has(.igx-input-group__label)) .igx-date-range-picker__label{grid-row:2}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-date-range-picker .igx-input-group:not(:has(.igx-input-group__label)){--_bundle-row: 2;--_hint-row: 3}.igx-date-range-picker:not(:has(.igx-input-group__label)) .igx-date-range-picker__label{grid-row:2}}}@layer ig.material{@container style(--ig-theme: material){.igx-date-range-picker:has(.igx-input-group__label) .igx-date-range-picker__label{grid-row:1}.igx-date-range-picker .igx-input-group:not(:has(.igx-input-group__label)){--_bundle-row: 1;--_hint-row: 2}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "directive", type: IgxReadOnlyInputDirective, selector: "[igxReadOnlyInput]", inputs: ["igxReadOnlyInput"], exportAs: ["igxReadOnlyInput"] }, { kind: "pipe", type: DateRangePickerFormatPipe, name: "dateRange" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2555
2529
|
}
|
|
2556
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
2530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangePickerComponent, decorators: [{
|
|
2557
2531
|
type: Component,
|
|
2558
2532
|
args: [{ selector: 'igx-date-range-picker', encapsulation: ViewEncapsulation.None, providers: [
|
|
2559
2533
|
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxDateRangePickerComponent, multi: true },
|
|
@@ -2678,11 +2652,11 @@ const IGX_DATE_RANGE_PICKER_DIRECTIVES = [
|
|
|
2678
2652
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
2679
2653
|
*/
|
|
2680
2654
|
class IgxDatePickerModule {
|
|
2681
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
2682
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.
|
|
2683
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.
|
|
2655
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2656
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: IgxDatePickerModule, imports: [IgxDatePickerComponent, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, i2.IgxPickerActionsDirective, i3.IgxLabelDirective, i3.IgxPrefixDirective, i3.IgxSuffixDirective, i3.IgxHintDirective, i4.IgxCalendarHeaderTemplateDirective, i4.IgxCalendarSubheaderTemplateDirective, i4.IgxCalendarHeaderTitleTemplateDirective], exports: [IgxDatePickerComponent, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, i2.IgxPickerActionsDirective, i3.IgxLabelDirective, i3.IgxPrefixDirective, i3.IgxSuffixDirective, i3.IgxHintDirective, i4.IgxCalendarHeaderTemplateDirective, i4.IgxCalendarSubheaderTemplateDirective, i4.IgxCalendarHeaderTitleTemplateDirective] }); }
|
|
2657
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDatePickerModule, imports: [IgxDatePickerComponent, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent] }); }
|
|
2684
2658
|
}
|
|
2685
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
2659
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDatePickerModule, decorators: [{
|
|
2686
2660
|
type: NgModule,
|
|
2687
2661
|
args: [{
|
|
2688
2662
|
imports: [
|
|
@@ -2700,11 +2674,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
2700
2674
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
2701
2675
|
*/
|
|
2702
2676
|
class IgxDateRangePickerModule {
|
|
2703
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
2704
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.
|
|
2705
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.
|
|
2677
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2678
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangePickerModule, imports: [IgxDateRangePickerComponent, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, IgxDateRangeStartComponent, IgxDateRangeEndComponent, IgxDateRangeSeparatorDirective, i3.IgxLabelDirective, i3.IgxPrefixDirective, i3.IgxSuffixDirective, i3.IgxHintDirective, i4.IgxCalendarHeaderTemplateDirective, i4.IgxCalendarSubheaderTemplateDirective, i4.IgxCalendarHeaderTitleTemplateDirective], exports: [IgxDateRangePickerComponent, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, IgxDateRangeStartComponent, IgxDateRangeEndComponent, IgxDateRangeSeparatorDirective, i3.IgxLabelDirective, i3.IgxPrefixDirective, i3.IgxSuffixDirective, i3.IgxHintDirective, i4.IgxCalendarHeaderTemplateDirective, i4.IgxCalendarSubheaderTemplateDirective, i4.IgxCalendarHeaderTitleTemplateDirective] }); }
|
|
2679
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangePickerModule, imports: [IgxDateRangePickerComponent, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, IgxDateRangeStartComponent, IgxDateRangeEndComponent] }); }
|
|
2706
2680
|
}
|
|
2707
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
2681
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxDateRangePickerModule, decorators: [{
|
|
2708
2682
|
type: NgModule,
|
|
2709
2683
|
args: [{
|
|
2710
2684
|
imports: [
|