@fundamental-ngx/platform 0.58.0-rc.8 → 0.58.0-rc.80
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/approval-flow/index.d.ts +2 -0
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +14 -11
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +65 -17
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +125 -12
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +1 -3
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +1 -2
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +3 -4
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +2 -3
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +3 -4
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +1 -3
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +1 -2
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +3 -4
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/form/index.d.ts +40 -5
- package/icon-tab-bar/index.d.ts +61 -10
- package/list/index.d.ts +1 -1
- package/menu/index.d.ts +3 -3
- package/message-popover/index.d.ts +3 -3
- package/package.json +6 -6
- package/settings-generator/index.d.ts +3 -3
- package/table/index.d.ts +1 -1
- package/variant-management/index.d.ts +1 -1
- package/schematics/collection.json +0 -10
- package/schematics/ng-add/index.d.ts +0 -13
- package/schematics/ng-add/index.js +0 -55
- package/schematics/ng-add/index.js.map +0 -1
- package/schematics/ng-add/schema.d.ts +0 -3
- package/schematics/ng-add/schema.js +0 -3
- package/schematics/ng-add/schema.js.map +0 -1
- package/schematics/ng-add/schema.json +0 -15
- package/schematics/utils/package-utils.d.ts +0 -19
- package/schematics/utils/package-utils.js +0 -119
- package/schematics/utils/package-utils.js.map +0 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, ContentChild, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, Directive, Inject, Injectable, forwardRef, EventEmitter, inject, DestroyRef, TemplateRef, ElementRef, booleanAttribute, ViewChildren, ContentChildren, ViewChild, Output, Optional, Self, SkipSelf, Attribute, NgModule, HostListener, NgZone, Injector, Pipe, ChangeDetectorRef, signal, isDevMode, computed, Renderer2, LOCALE_ID } from '@angular/core';
|
|
2
|
+
import { InjectionToken, ContentChild, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, Directive, Inject, Injectable, forwardRef, EventEmitter, inject, DestroyRef, TemplateRef, ElementRef, booleanAttribute, ViewChildren, ContentChildren, ViewChild, Output, Optional, Self, SkipSelf, Attribute, NgModule, input, HostListener, NgZone, Injector, Pipe, ChangeDetectorRef, signal, isDevMode, computed, Renderer2, LOCALE_ID } from '@angular/core';
|
|
3
3
|
import * as i1$4 from '@fundamental-ngx/cdk/forms';
|
|
4
4
|
import { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL, CvaControl, CvaDirective } from '@fundamental-ngx/cdk/forms';
|
|
5
5
|
import * as i1 from '@fundamental-ngx/platform/shared';
|
|
6
6
|
import { ColumnLayoutGridClass, ResponsiveBreakPointConfig, RESPONSIVE_BREAKPOINTS_CONFIG, BaseInput, InLineLayoutCollectionBaseInput, coerceArraySafe, MatchingStrategy, CollectionBaseInput, isOptionItem, isJsObject, isFunction, isDataSource, ArrayMultiInputDataSource, ObservableMultiInputDataSource, isString, MultiInputDataSource, DATA_PROVIDERS, FormFieldGroup, FormGroupContainer, ArrayComboBoxDataSource, ObservableComboBoxDataSource, ComboBoxDataSource, FDP_DO_CHECK, FDP_FORM_SUBMIT, ArrayMultiComboBoxDataSource, ObservableMultiComboBoxDataSource, isSelectableOptionItem, MultiComboBoxDataSource } from '@fundamental-ngx/platform/shared';
|
|
7
7
|
import * as i1$1 from '@angular/forms';
|
|
8
8
|
import { Validators, FormControl, FormGroup, FormsModule, ReactiveFormsModule, ControlContainer, NgForm, NgControl, FormGroupDirective } from '@angular/forms';
|
|
9
|
-
import
|
|
9
|
+
import * as i2 from '@fundamental-ngx/cdk/utils';
|
|
10
|
+
import { uniqBy, RangeSelector, KeyUtil, TemplateDirective, InitialFocusDirective, DisplayFnPipe, warnOnce, DynamicComponentService, merge as merge$1, cloneDeep, isFunction as isFunction$1, selectStrategy, resizeObservable, SearchHighlightPipe, destroyObservable, RtlService, OnlyDigitsDirective } from '@fundamental-ngx/cdk/utils';
|
|
10
11
|
import * as i2$2 from 'rxjs';
|
|
11
12
|
import { Subject, BehaviorSubject, combineLatest, filter, tap, Subscription, isObservable, fromEvent, merge, of, timer, interval } from 'rxjs';
|
|
12
13
|
import { distinctUntilChanged, map, switchMap, startWith, debounceTime, tap as tap$1, filter as filter$1, take, takeUntil, skip } from 'rxjs/operators';
|
|
@@ -21,8 +22,6 @@ import { PopoverComponent, PopoverControlComponent, PopoverBodyComponent } from
|
|
|
21
22
|
import { GRID_COLUMNS_NUMBER } from '@fundamental-ngx/core/layout-grid';
|
|
22
23
|
import * as i2$1 from '@fundamental-ngx/core/content-density';
|
|
23
24
|
import { ContentDensityModule, contentDensityObserverProviders, CONTENT_DENSITY_DIRECTIVE, ContentDensityGlobalKeyword, ContentDensityObserver } from '@fundamental-ngx/core/content-density';
|
|
24
|
-
import * as i2 from '@fundamental-ngx/cdk/utils';
|
|
25
|
-
import { RangeSelector, KeyUtil, TemplateDirective, InitialFocusDirective, DisplayFnPipe, warnOnce, DynamicComponentService, isFunction as isFunction$1, selectStrategy, resizeObservable, SearchHighlightPipe, destroyObservable, RtlService, OnlyDigitsDirective } from '@fundamental-ngx/cdk/utils';
|
|
26
25
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
27
26
|
import { CheckboxComponent as CheckboxComponent$1 } from '@fundamental-ngx/core/checkbox';
|
|
28
27
|
import { FdCalendarViewEnum } from '@fundamental-ngx/core/calendar';
|
|
@@ -1542,6 +1541,19 @@ class PlatformDatePickerComponent extends BaseInput {
|
|
|
1542
1541
|
this.selectedMultipleDateRangesChange = new EventEmitter();
|
|
1543
1542
|
/** Event thrown every time calendar active view is changed */
|
|
1544
1543
|
this.activeViewChange = new EventEmitter();
|
|
1544
|
+
/**
|
|
1545
|
+
* Whether to show the calendar legend for special days.
|
|
1546
|
+
* When enabled, displays a legend below the calendar showing the special day markers and their descriptions.
|
|
1547
|
+
* @default false
|
|
1548
|
+
*/
|
|
1549
|
+
this.showCalendarLegend = input(false, ...(ngDevMode ? [{ debugName: "showCalendarLegend", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
1550
|
+
/**
|
|
1551
|
+
* Whether to display the calendar legend in column layout.
|
|
1552
|
+
* When true, legend items are displayed vertically in a single column.
|
|
1553
|
+
* When false, legend items are displayed horizontally in rows.
|
|
1554
|
+
* @default false
|
|
1555
|
+
*/
|
|
1556
|
+
this.legendCol = input(false, ...(ngDevMode ? [{ debugName: "legendCol", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
1545
1557
|
/** @hidden */
|
|
1546
1558
|
this._datePickerValid = true;
|
|
1547
1559
|
/** @hidden */
|
|
@@ -1649,13 +1661,13 @@ class PlatformDatePickerComponent extends BaseInput {
|
|
|
1649
1661
|
this.markForCheck();
|
|
1650
1662
|
}
|
|
1651
1663
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PlatformDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1652
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: PlatformDatePickerComponent, isStandalone: true, selector: "fdp-date-picker", inputs: { value: "value", type: "type", selectedDate: "selectedDate", selectedMultipleDates: "selectedMultipleDates", selectedRangeDate: "selectedRangeDate", selectedMultipleDateRanges: "selectedMultipleDateRanges", startingDayOfWeek: "startingDayOfWeek", rangeHoverEffect: "rangeHoverEffect", useValidation: "useValidation", showTodayButton: "showTodayButton", todayButtonLabel: "todayButtonLabel", allowNull: "allowNull", activeView: "activeView", placement: "placement", appendTo: "appendTo", closeOnDateChoose: "closeOnDateChoose", state: "state", buttonFocusable: "buttonFocusable", specialDaysRules: "specialDaysRules", yearGrid: "yearGrid", aggregatedYearGrid: "aggregatedYearGrid", markWeekends: "markWeekends", showWeekNumbers: "showWeekNumbers", allowMultipleSelection: "allowMultipleSelection", isOpen: "isOpen", inline: "inline", processInputOnBlur: "processInputOnBlur", preventScrollOnFocus: "preventScrollOnFocus", mobile: "mobile", mobileConfig: "mobileConfig", mobileLandscape: "mobileLandscape", mobilePortrait: "mobilePortrait", disableFunction: "disableFunction", disableRangeStartFunction: "disableRangeStartFunction", disableRangeEndFunction: "disableRangeEndFunction" }, outputs: { isOpenChange: "isOpenChange", selectedDateChange: "selectedDateChange", selectedMultipleDatesChange: "selectedMultipleDatesChange", selectedRangeDateChange: "selectedRangeDateChange", selectedMultipleDateRangesChange: "selectedMultipleDateRangesChange", activeViewChange: "activeViewChange" }, host: { listeners: { "blur": "onTouched()" } }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformDatePickerComponent, multi: true }], viewQueries: [{ propertyName: "fdDatePickerComponent", first: true, predicate: DatePickerComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-date-picker\n [inputId]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [type]=\"type\"\n [state]=\"state\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [selectedDate]=\"selectedDate\"\n [selectedMultipleDates]=\"selectedMultipleDates\"\n [selectedRangeDate]=\"selectedRangeDate\"\n [selectedMultipleDateRanges]=\"selectedMultipleDateRanges\"\n [showTodayButton]=\"showTodayButton\"\n [todayButtonLabel]=\"todayButtonLabel\"\n [startingDayOfWeek]=\"startingDayOfWeek\"\n [rangeHoverEffect]=\"rangeHoverEffect\"\n [useValidation]=\"useValidation\"\n [allowNull]=\"allowNull\"\n [activeView]=\"activeView\"\n [placement]=\"placement\"\n [appendTo]=\"appendTo\"\n [disabled]=\"disabled\"\n [closeOnDateChoose]=\"closeOnDateChoose\"\n [buttonFocusable]=\"buttonFocusable\"\n [specialDaysRules]=\"specialDaysRules\"\n [yearGrid]=\"yearGrid\"\n [aggregatedYearGrid]=\"aggregatedYearGrid\"\n [markWeekends]=\"markWeekends\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [allowMultipleSelection]=\"allowMultipleSelection\"\n [isOpen]=\"isOpen\"\n [disableFunction]=\"disableFunction\"\n [disableRangeStartFunction]=\"disableRangeStartFunction\"\n [disableRangeEndFunction]=\"disableRangeEndFunction\"\n [inline]=\"inline\"\n [processInputOnBlur]=\"processInputOnBlur\"\n [preventScrollOnFocus]=\"preventScrollOnFocus\"\n [mobile]=\"mobile\"\n [mobileConfig]=\"mobileConfig\"\n [mobileLandscape]=\"mobileLandscape\"\n [mobilePortrait]=\"mobilePortrait\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"handleDateChange($event)\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (selectedDateChange)=\"handleSelectedDateChange($event)\"\n (selectedMultipleDatesChange)=\"handleSelectedMultipleDatesChange($event)\"\n (selectedRangeDateChange)=\"handleSelectedRangeDateChange($event)\"\n (selectedMultipleDateRangesChange)=\"handleSelectedMultipleDateRangesChange($event)\"\n>\n <ng-content></ng-content>\n</fd-date-picker>\n", dependencies: [{ kind: "component", type: DatePickerComponent, selector: "fd-date-picker", inputs: ["type", "placeholder", "inputId", "required", "customDateTimeFormat", "message", "messageTriggers", "selectedDate", "selectedMultipleDates", "selectedRangeDate", "selectedMultipleDateRanges", "startingDayOfWeek", "rangeHoverEffect", "useValidation", "allowNull", "activeView", "placement", "appendTo", "disabled", "closeOnDateChoose", "showTodayButton", "todayButtonLabel", "previousButtonDisableFunction", "nextButtonDisableFunction", "state", "buttonFocusable", "specialDaysRules", "yearGrid", "aggregatedYearGrid", "markWeekends", "showWeekNumbers", "allowMultipleSelection", "isOpen", "inline", "ariaLabelledBy", "processInputOnBlur", "preventScrollOnFocus", "mobile", "mobileConfig", "mobileLandscape", "mobilePortrait", "dateRangeFormat", "disableFunction", "disableRangeStartFunction", "disableRangeEndFunction"], outputs: ["isOpenChange", "selectedDateChange", "selectedMultipleDatesChange", "selectedRangeDateChange", "selectedMultipleDateRangesChange", "activeViewChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1664
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: PlatformDatePickerComponent, isStandalone: true, selector: "fdp-date-picker", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, selectedDate: { classPropertyName: "selectedDate", publicName: "selectedDate", isSignal: false, isRequired: false, transformFunction: null }, selectedMultipleDates: { classPropertyName: "selectedMultipleDates", publicName: "selectedMultipleDates", isSignal: false, isRequired: false, transformFunction: null }, selectedRangeDate: { classPropertyName: "selectedRangeDate", publicName: "selectedRangeDate", isSignal: false, isRequired: false, transformFunction: null }, selectedMultipleDateRanges: { classPropertyName: "selectedMultipleDateRanges", publicName: "selectedMultipleDateRanges", isSignal: false, isRequired: false, transformFunction: null }, startingDayOfWeek: { classPropertyName: "startingDayOfWeek", publicName: "startingDayOfWeek", isSignal: false, isRequired: false, transformFunction: null }, rangeHoverEffect: { classPropertyName: "rangeHoverEffect", publicName: "rangeHoverEffect", isSignal: false, isRequired: false, transformFunction: null }, useValidation: { classPropertyName: "useValidation", publicName: "useValidation", isSignal: false, isRequired: false, transformFunction: null }, showTodayButton: { classPropertyName: "showTodayButton", publicName: "showTodayButton", isSignal: false, isRequired: false, transformFunction: null }, todayButtonLabel: { classPropertyName: "todayButtonLabel", publicName: "todayButtonLabel", isSignal: false, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: "activeView", publicName: "activeView", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: false, isRequired: false, transformFunction: null }, closeOnDateChoose: { classPropertyName: "closeOnDateChoose", publicName: "closeOnDateChoose", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, buttonFocusable: { classPropertyName: "buttonFocusable", publicName: "buttonFocusable", isSignal: false, isRequired: false, transformFunction: null }, specialDaysRules: { classPropertyName: "specialDaysRules", publicName: "specialDaysRules", isSignal: false, isRequired: false, transformFunction: null }, yearGrid: { classPropertyName: "yearGrid", publicName: "yearGrid", isSignal: false, isRequired: false, transformFunction: null }, aggregatedYearGrid: { classPropertyName: "aggregatedYearGrid", publicName: "aggregatedYearGrid", isSignal: false, isRequired: false, transformFunction: null }, markWeekends: { classPropertyName: "markWeekends", publicName: "markWeekends", isSignal: false, isRequired: false, transformFunction: null }, showWeekNumbers: { classPropertyName: "showWeekNumbers", publicName: "showWeekNumbers", isSignal: false, isRequired: false, transformFunction: null }, allowMultipleSelection: { classPropertyName: "allowMultipleSelection", publicName: "allowMultipleSelection", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: false, isRequired: false, transformFunction: null }, processInputOnBlur: { classPropertyName: "processInputOnBlur", publicName: "processInputOnBlur", isSignal: false, isRequired: false, transformFunction: null }, preventScrollOnFocus: { classPropertyName: "preventScrollOnFocus", publicName: "preventScrollOnFocus", isSignal: false, isRequired: false, transformFunction: null }, mobile: { classPropertyName: "mobile", publicName: "mobile", isSignal: false, isRequired: false, transformFunction: null }, mobileConfig: { classPropertyName: "mobileConfig", publicName: "mobileConfig", isSignal: false, isRequired: false, transformFunction: null }, mobileLandscape: { classPropertyName: "mobileLandscape", publicName: "mobileLandscape", isSignal: false, isRequired: false, transformFunction: null }, mobilePortrait: { classPropertyName: "mobilePortrait", publicName: "mobilePortrait", isSignal: false, isRequired: false, transformFunction: null }, showCalendarLegend: { classPropertyName: "showCalendarLegend", publicName: "showCalendarLegend", isSignal: true, isRequired: false, transformFunction: null }, legendCol: { classPropertyName: "legendCol", publicName: "legendCol", isSignal: true, isRequired: false, transformFunction: null }, disableFunction: { classPropertyName: "disableFunction", publicName: "disableFunction", isSignal: false, isRequired: false, transformFunction: null }, disableRangeStartFunction: { classPropertyName: "disableRangeStartFunction", publicName: "disableRangeStartFunction", isSignal: false, isRequired: false, transformFunction: null }, disableRangeEndFunction: { classPropertyName: "disableRangeEndFunction", publicName: "disableRangeEndFunction", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedDateChange: "selectedDateChange", selectedMultipleDatesChange: "selectedMultipleDatesChange", selectedRangeDateChange: "selectedRangeDateChange", selectedMultipleDateRangesChange: "selectedMultipleDateRangesChange", activeViewChange: "activeViewChange" }, host: { listeners: { "blur": "onTouched()" } }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformDatePickerComponent, multi: true }], viewQueries: [{ propertyName: "fdDatePickerComponent", first: true, predicate: DatePickerComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-date-picker\n [inputId]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [type]=\"type\"\n [state]=\"state\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [selectedDate]=\"selectedDate\"\n [selectedMultipleDates]=\"selectedMultipleDates\"\n [selectedRangeDate]=\"selectedRangeDate\"\n [selectedMultipleDateRanges]=\"selectedMultipleDateRanges\"\n [showTodayButton]=\"showTodayButton\"\n [todayButtonLabel]=\"todayButtonLabel\"\n [startingDayOfWeek]=\"startingDayOfWeek\"\n [rangeHoverEffect]=\"rangeHoverEffect\"\n [useValidation]=\"useValidation\"\n [allowNull]=\"allowNull\"\n [activeView]=\"activeView\"\n [placement]=\"placement\"\n [appendTo]=\"appendTo\"\n [disabled]=\"disabled\"\n [closeOnDateChoose]=\"closeOnDateChoose\"\n [buttonFocusable]=\"buttonFocusable\"\n [specialDaysRules]=\"specialDaysRules\"\n [showCalendarLegend]=\"showCalendarLegend()\"\n [legendCol]=\"legendCol()\"\n [yearGrid]=\"yearGrid\"\n [aggregatedYearGrid]=\"aggregatedYearGrid\"\n [markWeekends]=\"markWeekends\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [allowMultipleSelection]=\"allowMultipleSelection\"\n [isOpen]=\"isOpen\"\n [disableFunction]=\"disableFunction\"\n [disableRangeStartFunction]=\"disableRangeStartFunction\"\n [disableRangeEndFunction]=\"disableRangeEndFunction\"\n [inline]=\"inline\"\n [processInputOnBlur]=\"processInputOnBlur\"\n [preventScrollOnFocus]=\"preventScrollOnFocus\"\n [mobile]=\"mobile\"\n [mobileConfig]=\"mobileConfig\"\n [mobileLandscape]=\"mobileLandscape\"\n [mobilePortrait]=\"mobilePortrait\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"handleDateChange($event)\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (selectedDateChange)=\"handleSelectedDateChange($event)\"\n (selectedMultipleDatesChange)=\"handleSelectedMultipleDatesChange($event)\"\n (selectedRangeDateChange)=\"handleSelectedRangeDateChange($event)\"\n (selectedMultipleDateRangesChange)=\"handleSelectedMultipleDateRangesChange($event)\"\n>\n <ng-content></ng-content>\n</fd-date-picker>\n", dependencies: [{ kind: "component", type: DatePickerComponent, selector: "fd-date-picker", inputs: ["type", "placeholder", "inputId", "required", "customDateTimeFormat", "message", "messageTriggers", "selectedDate", "selectedMultipleDates", "selectedRangeDate", "selectedMultipleDateRanges", "startingDayOfWeek", "rangeHoverEffect", "useValidation", "allowNull", "activeView", "placement", "appendTo", "disabled", "closeOnDateChoose", "showTodayButton", "todayButtonLabel", "previousButtonDisableFunction", "nextButtonDisableFunction", "buttonFocusable", "specialDaysRules", "yearGrid", "aggregatedYearGrid", "markWeekends", "showWeekNumbers", "allowMultipleSelection", "inline", "ariaLabelledBy", "processInputOnBlur", "preventScrollOnFocus", "mobile", "mobileConfig", "mobileLandscape", "mobilePortrait", "dateRangeFormat", "showCalendarLegend", "legendCol", "state", "isOpen", "disableFunction", "disableRangeStartFunction", "disableRangeEndFunction"], outputs: ["isOpenChange", "selectedDateChange", "selectedMultipleDatesChange", "selectedRangeDateChange", "selectedMultipleDateRangesChange", "activeViewChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1653
1665
|
}
|
|
1654
1666
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PlatformDatePickerComponent, decorators: [{
|
|
1655
1667
|
type: Component,
|
|
1656
1668
|
args: [{ selector: 'fdp-date-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformDatePickerComponent, multi: true }], host: {
|
|
1657
1669
|
'(blur)': 'onTouched()'
|
|
1658
|
-
}, imports: [DatePickerComponent, FormsModule], template: "<fd-date-picker\n [inputId]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [type]=\"type\"\n [state]=\"state\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [selectedDate]=\"selectedDate\"\n [selectedMultipleDates]=\"selectedMultipleDates\"\n [selectedRangeDate]=\"selectedRangeDate\"\n [selectedMultipleDateRanges]=\"selectedMultipleDateRanges\"\n [showTodayButton]=\"showTodayButton\"\n [todayButtonLabel]=\"todayButtonLabel\"\n [startingDayOfWeek]=\"startingDayOfWeek\"\n [rangeHoverEffect]=\"rangeHoverEffect\"\n [useValidation]=\"useValidation\"\n [allowNull]=\"allowNull\"\n [activeView]=\"activeView\"\n [placement]=\"placement\"\n [appendTo]=\"appendTo\"\n [disabled]=\"disabled\"\n [closeOnDateChoose]=\"closeOnDateChoose\"\n [buttonFocusable]=\"buttonFocusable\"\n [specialDaysRules]=\"specialDaysRules\"\n [yearGrid]=\"yearGrid\"\n [aggregatedYearGrid]=\"aggregatedYearGrid\"\n [markWeekends]=\"markWeekends\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [allowMultipleSelection]=\"allowMultipleSelection\"\n [isOpen]=\"isOpen\"\n [disableFunction]=\"disableFunction\"\n [disableRangeStartFunction]=\"disableRangeStartFunction\"\n [disableRangeEndFunction]=\"disableRangeEndFunction\"\n [inline]=\"inline\"\n [processInputOnBlur]=\"processInputOnBlur\"\n [preventScrollOnFocus]=\"preventScrollOnFocus\"\n [mobile]=\"mobile\"\n [mobileConfig]=\"mobileConfig\"\n [mobileLandscape]=\"mobileLandscape\"\n [mobilePortrait]=\"mobilePortrait\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"handleDateChange($event)\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (selectedDateChange)=\"handleSelectedDateChange($event)\"\n (selectedMultipleDatesChange)=\"handleSelectedMultipleDatesChange($event)\"\n (selectedRangeDateChange)=\"handleSelectedRangeDateChange($event)\"\n (selectedMultipleDateRangesChange)=\"handleSelectedMultipleDateRangesChange($event)\"\n>\n <ng-content></ng-content>\n</fd-date-picker>\n" }]
|
|
1670
|
+
}, imports: [DatePickerComponent, FormsModule], template: "<fd-date-picker\n [inputId]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [type]=\"type\"\n [state]=\"state\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [selectedDate]=\"selectedDate\"\n [selectedMultipleDates]=\"selectedMultipleDates\"\n [selectedRangeDate]=\"selectedRangeDate\"\n [selectedMultipleDateRanges]=\"selectedMultipleDateRanges\"\n [showTodayButton]=\"showTodayButton\"\n [todayButtonLabel]=\"todayButtonLabel\"\n [startingDayOfWeek]=\"startingDayOfWeek\"\n [rangeHoverEffect]=\"rangeHoverEffect\"\n [useValidation]=\"useValidation\"\n [allowNull]=\"allowNull\"\n [activeView]=\"activeView\"\n [placement]=\"placement\"\n [appendTo]=\"appendTo\"\n [disabled]=\"disabled\"\n [closeOnDateChoose]=\"closeOnDateChoose\"\n [buttonFocusable]=\"buttonFocusable\"\n [specialDaysRules]=\"specialDaysRules\"\n [showCalendarLegend]=\"showCalendarLegend()\"\n [legendCol]=\"legendCol()\"\n [yearGrid]=\"yearGrid\"\n [aggregatedYearGrid]=\"aggregatedYearGrid\"\n [markWeekends]=\"markWeekends\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [allowMultipleSelection]=\"allowMultipleSelection\"\n [isOpen]=\"isOpen\"\n [disableFunction]=\"disableFunction\"\n [disableRangeStartFunction]=\"disableRangeStartFunction\"\n [disableRangeEndFunction]=\"disableRangeEndFunction\"\n [inline]=\"inline\"\n [processInputOnBlur]=\"processInputOnBlur\"\n [preventScrollOnFocus]=\"preventScrollOnFocus\"\n [mobile]=\"mobile\"\n [mobileConfig]=\"mobileConfig\"\n [mobileLandscape]=\"mobileLandscape\"\n [mobilePortrait]=\"mobilePortrait\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"handleDateChange($event)\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (selectedDateChange)=\"handleSelectedDateChange($event)\"\n (selectedMultipleDatesChange)=\"handleSelectedMultipleDatesChange($event)\"\n (selectedRangeDateChange)=\"handleSelectedRangeDateChange($event)\"\n (selectedMultipleDateRangesChange)=\"handleSelectedMultipleDateRangesChange($event)\"\n>\n <ng-content></ng-content>\n</fd-date-picker>\n" }]
|
|
1659
1671
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
1660
1672
|
type: Input
|
|
1661
1673
|
}], type: [{
|
|
@@ -1751,7 +1763,7 @@ function createMissingDateImplementationError$1(provider) {
|
|
|
1751
1763
|
|
|
1752
1764
|
class DynamicFormGeneratorDatepickerComponent extends BaseDynamicFormGeneratorControl {
|
|
1753
1765
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: DynamicFormGeneratorDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1754
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: DynamicFormGeneratorDatepickerComponent, isStandalone: true, selector: "fdp-dynamic-form-generator-datepicker", usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-container [formGroupName]=\"formGroupName\">\n <fdp-date-picker\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [name]=\"name\"\n [formControlName]=\"name\"\n [inline]=\"formItem.guiOptions?.inline !== false\"\n [allowNull]=\"false\"\n ></fdp-date-picker>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: PlatformDatePickerComponent, selector: "fdp-date-picker", inputs: ["value", "type", "selectedDate", "selectedMultipleDates", "selectedRangeDate", "selectedMultipleDateRanges", "startingDayOfWeek", "rangeHoverEffect", "useValidation", "showTodayButton", "todayButtonLabel", "allowNull", "activeView", "placement", "appendTo", "closeOnDateChoose", "state", "buttonFocusable", "specialDaysRules", "yearGrid", "aggregatedYearGrid", "markWeekends", "showWeekNumbers", "allowMultipleSelection", "isOpen", "inline", "processInputOnBlur", "preventScrollOnFocus", "mobile", "mobileConfig", "mobileLandscape", "mobilePortrait", "disableFunction", "disableRangeStartFunction", "disableRangeEndFunction"], outputs: ["isOpenChange", "selectedDateChange", "selectedMultipleDatesChange", "selectedRangeDateChange", "selectedMultipleDateRangesChange", "activeViewChange"] }], viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1766
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: DynamicFormGeneratorDatepickerComponent, isStandalone: true, selector: "fdp-dynamic-form-generator-datepicker", usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-container [formGroupName]=\"formGroupName\">\n <fdp-date-picker\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [name]=\"name\"\n [formControlName]=\"name\"\n [inline]=\"formItem.guiOptions?.inline !== false\"\n [allowNull]=\"false\"\n ></fdp-date-picker>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: PlatformDatePickerComponent, selector: "fdp-date-picker", inputs: ["value", "type", "selectedDate", "selectedMultipleDates", "selectedRangeDate", "selectedMultipleDateRanges", "startingDayOfWeek", "rangeHoverEffect", "useValidation", "showTodayButton", "todayButtonLabel", "allowNull", "activeView", "placement", "appendTo", "closeOnDateChoose", "state", "buttonFocusable", "specialDaysRules", "yearGrid", "aggregatedYearGrid", "markWeekends", "showWeekNumbers", "allowMultipleSelection", "isOpen", "inline", "processInputOnBlur", "preventScrollOnFocus", "mobile", "mobileConfig", "mobileLandscape", "mobilePortrait", "showCalendarLegend", "legendCol", "disableFunction", "disableRangeStartFunction", "disableRangeEndFunction"], outputs: ["isOpenChange", "selectedDateChange", "selectedMultipleDatesChange", "selectedRangeDateChange", "selectedMultipleDateRangesChange", "activeViewChange"] }], viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1755
1767
|
}
|
|
1756
1768
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: DynamicFormGeneratorDatepickerComponent, decorators: [{
|
|
1757
1769
|
type: Component,
|
|
@@ -2880,6 +2892,13 @@ class AutoCompleteDirective {
|
|
|
2880
2892
|
if (!this._triggerTypeAhead()) {
|
|
2881
2893
|
return;
|
|
2882
2894
|
}
|
|
2895
|
+
// Check if this is a new typing session after programmatic input modification
|
|
2896
|
+
const currentNativeValue = this._element.value;
|
|
2897
|
+
if (this.inputText.length > currentNativeValue.length + 1) {
|
|
2898
|
+
// Reset inputText to current value and don't do typeahead
|
|
2899
|
+
this.inputText = currentNativeValue;
|
|
2900
|
+
return;
|
|
2901
|
+
}
|
|
2883
2902
|
this._oldValue = this.inputText;
|
|
2884
2903
|
const item = this._searchByStrategy();
|
|
2885
2904
|
if (item) {
|
|
@@ -4582,7 +4601,7 @@ class FormGeneratorService {
|
|
|
4582
4601
|
*/
|
|
4583
4602
|
async getFormValue(form, renderValue = false) {
|
|
4584
4603
|
await this._triggerFieldsOnchange(form);
|
|
4585
|
-
const formValue =
|
|
4604
|
+
const formValue = structuredClone(form.value);
|
|
4586
4605
|
for (const [i, control] of Object.entries(form.controls)) {
|
|
4587
4606
|
const formItem = control.formItem;
|
|
4588
4607
|
if (!isFormFieldItem(formItem)) {
|
|
@@ -4645,7 +4664,7 @@ class FormGeneratorService {
|
|
|
4645
4664
|
* @returns `Set` where key is item name, and boolean value if field needs to be shown.
|
|
4646
4665
|
*/
|
|
4647
4666
|
async checkVisibleFormItems(form) {
|
|
4648
|
-
const formValue = this._getFormValueWithoutUngrouped(
|
|
4667
|
+
const formValue = this._getFormValueWithoutUngrouped(structuredClone(form.value));
|
|
4649
4668
|
return await this._checkFormControlsVisibility(form, formValue);
|
|
4650
4669
|
}
|
|
4651
4670
|
/**
|
|
@@ -6787,6 +6806,8 @@ class ComboboxComponent extends BaseCombobox {
|
|
|
6787
6806
|
this.providers = providers;
|
|
6788
6807
|
/** Event emitted when item is selected. */
|
|
6789
6808
|
this.selectionChange = new EventEmitter();
|
|
6809
|
+
/** @hidden */
|
|
6810
|
+
this._itemMousedown = false;
|
|
6790
6811
|
}
|
|
6791
6812
|
/** @hidden */
|
|
6792
6813
|
ngOnInit() {
|
|
@@ -6829,7 +6850,7 @@ class ComboboxComponent extends BaseCombobox {
|
|
|
6829
6850
|
this.selectionChange.emit(event);
|
|
6830
6851
|
}
|
|
6831
6852
|
/** @hidden Method to set selected item */
|
|
6832
|
-
selectOptionItem(item) {
|
|
6853
|
+
selectOptionItem(item, shouldClosePopover = true) {
|
|
6833
6854
|
if (this.mobile) {
|
|
6834
6855
|
this._selectedElement = item;
|
|
6835
6856
|
this.inputText = item.label;
|
|
@@ -6838,7 +6859,9 @@ class ComboboxComponent extends BaseCombobox {
|
|
|
6838
6859
|
}
|
|
6839
6860
|
this.inputText = item.label;
|
|
6840
6861
|
this._checkAndUpdate(item);
|
|
6841
|
-
|
|
6862
|
+
if (shouldClosePopover) {
|
|
6863
|
+
this.isOpenChangeHandle(false);
|
|
6864
|
+
}
|
|
6842
6865
|
}
|
|
6843
6866
|
/** @hidden Method to set as selected */
|
|
6844
6867
|
setAsSelected(item) {
|
|
@@ -6887,6 +6910,13 @@ class ComboboxComponent extends BaseCombobox {
|
|
|
6887
6910
|
this.isOpenChangeHandle(false);
|
|
6888
6911
|
}
|
|
6889
6912
|
/** @hidden */
|
|
6913
|
+
onItemFocused(value) {
|
|
6914
|
+
if (!this._itemMousedown && !this.mobile) {
|
|
6915
|
+
this.selectOptionItem(value, false);
|
|
6916
|
+
}
|
|
6917
|
+
this._itemMousedown = false;
|
|
6918
|
+
}
|
|
6919
|
+
/** @hidden */
|
|
6890
6920
|
_getLabelledBy() {
|
|
6891
6921
|
let retVal = this.ariaLabelledBy;
|
|
6892
6922
|
if (this.stateMessage) {
|
|
@@ -6936,7 +6966,7 @@ class ComboboxComponent extends BaseCombobox {
|
|
|
6936
6966
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: ComboboxComponent, isStandalone: true, selector: "fdp-combobox", outputs: { selectionChange: "selectionChange" }, providers: [
|
|
6937
6967
|
{ provide: FD_FORM_FIELD_CONTROL, useExisting: ComboboxComponent, multi: true },
|
|
6938
6968
|
contentDensityObserverProviders()
|
|
6939
|
-
], viewQueries: [{ propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["controlTemplate"], descendants: true }, { propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"mobile ? controlTemplate : desktopTemplate\"></ng-template>\n<ng-template #desktopTemplate>\n <fd-popover\n [isOpen]=\"isOpen && _suggestions.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readonly\"\n [maxWidth]=\"autoResize ? null : minWidth\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n additionalBodyClass=\"fdp-combobox__popover\"\n >\n <fd-popover-control>\n <ng-template [ngTemplateOutlet]=\"controlTemplate\"></ng-template>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"_suggestions.length === 0\">\n <ng-template [ngTemplateOutlet]=\"listTemplate\"></ng-template>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n<ng-template #controlTemplate>\n <fd-form-input-message-group>\n <fd-input-group\n [id]=\"id + '-input-group-container'\"\n [button]=\"!readonly\"\n [glyph]=\"!readonly ? 'navigation-down-arrow' : ' '\"\n [state]=\"mobile && isOpen ? null : state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [isControl]=\"true\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n [isExpanded]=\"!mobile && isOpen && _suggestions.length > 0\"\n [attr.aria-disabled]=\"disabled\"\n [glyphAriaLabel]=\"ariaLabel\"\n (click)=\"openInMobileMode()\"\n >\n <input\n #searchInputElement\n fdp-auto-complete\n [options]=\"_suggestions\"\n [inputText]=\"inputText\"\n [mobile]=\"mobile\"\n (onComplete)=\"_onCompleteTerm($event)\"\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getLabelledBy()\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-owns]=\"autoComplete && !mobile ? id + '-result' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-required]=\"required\"\n fd-input-group-input\n tabindex=\"0\"\n [id]=\"id\"\n [name]=\"name\"\n (keydown)=\"onInputKeydownHandler($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"inputText\"\n (ngModelChange)=\"searchTermChanged($event)\"\n [placeholder]=\"placeholder\"\n (focus)=\"onTouched()\"\n (blur)=\"_onBlur($event)\"\n [attr.aria-expanded]=\"isOpen && _suggestions.length > 0\"\n [readonly]=\"readonly\"\n [attr.aria-readonly]=\"readonly\"\n />\n </fd-input-group>\n @if (isOpen) {\n <div class=\"fdp-combobox__count-list-results\" role=\"status\">\n @if (_flatSuggestions.length || '0'; as count) {\n {{\n (count === 1\n ? 'platformCombobox.countListResultsSingular'\n : 'platformCombobox.countListResultsPlural'\n ) | fdTranslate: { count: count }\n }}\n }\n </div>\n }\n @if (mobile || isOpen ? null : !!stateMessage) {\n <fd-form-message [type]=\"state\" [innerHtml]=\"stateMessage\"></fd-form-message>\n }\n </fd-form-input-message-group>\n</ng-template>\n<ng-template #listTemplate>\n <ul\n fd-list\n [hasMessage]=\"!!stateMessage\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n [dropdownMode]=\"true\"\n class=\"fdp-combobox__list\"\n [hasMessage]=\"!!stateMessage || (!!advancedStateMessage?.hasErrors && !!advancedStateMessage?.template)\"\n [id]=\"id + '-result'\"\n role=\"listbox\"\n [byline]=\"byline\"\n [attr.aria-labelledby]=\"id + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [style.maxWidth]=\"autoResize && maxWidth + 'px'\"\n (keydown.tab)=\"_close()\"\n (keydown.shift.tab)=\"_close()\"\n >\n @if (stateMessage) {\n <li\n [attr.aria-label]=\"stateMessage\"\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [innerHtml]=\"stateMessage\"\n [attr.id]=\"'fdp-list-message-combobox-state-message-' + id\"\n ></li>\n }\n @if (advancedStateMessage?.hasErrors && advancedStateMessage?.template) {\n <li\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [attr.id]=\"'fdp-list-message-combobox-error-message-' + id\"\n >\n <ng-template [ngTemplateOutlet]=\"advancedStateMessage!.template!\"></ng-template>\n </li>\n }\n <ng-content></ng-content>\n @if (isGroup) {\n @for (group of _suggestions; track group) {\n @if (!groupItemTemplate) {\n <li fd-list-group-header role=\"option\">\n <span fd-list-title [attr.title]=\"group.label\">{{ group.label }}</span>\n </li>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"groupItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: group.label } }\"\n ></ng-template>\n }\n @for (optionItem of group.children; track optionItem; let i = $index) {\n <li\n (click)=\"handleOptionItem(optionItem)\"\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n [value]=\"optionItem\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-template>\n </li>\n }\n }\n } @else {\n @for (optionItem of _suggestions; track optionItem; let i = $index) {\n <li\n (click)=\"handleOptionItem(optionItem)\"\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n [value]=\"optionItem\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-template>\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #listItem>\n @if (isSelectedOptionItem(optionItem) && !!selectedItemTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"selectedItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-template>\n }\n @if (!(isSelectedOptionItem(optionItem) && selectedItemTemplate)) {\n <ng-template\n [ngTemplateOutlet]=\"optionItemSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: index }\"\n ></ng-template>\n <ng-template\n [ngTemplateOutlet]=\"secondaryTextSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem }\"\n ></ng-template>\n }\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #optionItemSource>\n @if (!optionItemTemplate) {\n <span [attr.title]=\"optionItem.label\" [innerHTML]=\"optionItem.label | highlight: inputText\"></span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"optionItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-template>\n }\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" #secondaryTextSource>\n @if (showSecondaryText) {\n @if (!secondaryItemTemplate) {\n <span\n [style.text-align]=\"secondaryTextAlignment\"\n fd-list-secondary\n [attr.title]=\"optionItem.secondaryText\"\n [innerHTML]=\"optionItem.secondaryText | highlight: inputText\"\n ></span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"secondaryItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value }\"\n ></ng-template>\n }\n }\n</ng-template>\n", styles: [".fdp-combobox__count-list-results{position:absolute;opacity:0;z-index:-1}.fdp-combobox__list .fd-list__item{justify-content:space-between}.fdp-combobox__list .fd-list__item span{overflow:hidden;text-overflow:ellipsis;width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen", "preventSpaceKeyScroll"], outputs: ["isOpenChange"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i3$2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i3$2.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AutoCompleteDirective, selector: "[fdp-auto-complete]", inputs: ["options", "inputText", "mobile"], outputs: ["onComplete"] }, { kind: "component", type: FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"], exportAs: ["fdListItem"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "directive", type: i6.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i6.ListMessageDirective, selector: "[fd-list-message], [fdListMessage]", inputs: ["type", "class"] }, { kind: "ngmodule", type: ContentDensityModule }, { kind: "pipe", type: SearchHighlightPipe, name: "highlight" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6969
|
+
], viewQueries: [{ propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["controlTemplate"], descendants: true }, { propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"mobile ? controlTemplate : desktopTemplate\"></ng-template>\n<ng-template #desktopTemplate>\n <fd-popover\n [isOpen]=\"isOpen && _suggestions.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readonly\"\n [maxWidth]=\"autoResize ? null : minWidth\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n additionalBodyClass=\"fdp-combobox__popover\"\n >\n <fd-popover-control>\n <ng-template [ngTemplateOutlet]=\"controlTemplate\"></ng-template>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"_suggestions.length === 0\">\n <ng-template [ngTemplateOutlet]=\"listTemplate\"></ng-template>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n<ng-template #controlTemplate>\n <fd-form-input-message-group>\n <fd-input-group\n [id]=\"id + '-input-group-container'\"\n [button]=\"!readonly\"\n [glyph]=\"!readonly ? 'navigation-down-arrow' : ' '\"\n [state]=\"mobile && isOpen ? null : state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [isControl]=\"true\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n [isExpanded]=\"!mobile && isOpen && _suggestions.length > 0\"\n [attr.aria-disabled]=\"disabled\"\n [glyphAriaLabel]=\"ariaLabel\"\n (click)=\"openInMobileMode()\"\n >\n <input\n #searchInputElement\n fdp-auto-complete\n [options]=\"_suggestions\"\n [inputText]=\"inputText\"\n [mobile]=\"mobile\"\n (onComplete)=\"_onCompleteTerm($event)\"\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getLabelledBy()\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-required]=\"required\"\n fd-input-group-input\n tabindex=\"0\"\n [id]=\"id\"\n [name]=\"name\"\n (keydown)=\"onInputKeydownHandler($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"inputText\"\n (ngModelChange)=\"searchTermChanged($event)\"\n [placeholder]=\"placeholder\"\n (focus)=\"onTouched()\"\n (blur)=\"_onBlur($event)\"\n [attr.aria-expanded]=\"isOpen && _suggestions.length > 0\"\n [readonly]=\"readonly\"\n [attr.aria-readonly]=\"readonly\"\n />\n </fd-input-group>\n @if (isOpen) {\n <div class=\"fdp-combobox__count-list-results\" role=\"status\">\n @if (_flatSuggestions.length || '0'; as count) {\n {{\n (count === 1\n ? 'platformCombobox.countListResultsSingular'\n : 'platformCombobox.countListResultsPlural'\n ) | fdTranslate: { count: count }\n }}\n }\n </div>\n }\n @if (mobile || isOpen ? null : !!stateMessage) {\n <fd-form-message [type]=\"state\" [innerHtml]=\"stateMessage\"></fd-form-message>\n }\n </fd-form-input-message-group>\n</ng-template>\n<ng-template #listTemplate>\n <ul\n fd-list\n [hasMessage]=\"!!stateMessage\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n [dropdownMode]=\"true\"\n class=\"fdp-combobox__list\"\n [hasMessage]=\"!!stateMessage || (!!advancedStateMessage?.hasErrors && !!advancedStateMessage?.template)\"\n [id]=\"id + '-result'\"\n role=\"listbox\"\n [byline]=\"byline\"\n [attr.aria-labelledby]=\"id + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [style.maxWidth]=\"autoResize && maxWidth + 'px'\"\n (keydown.tab)=\"_close()\"\n (keydown.shift.tab)=\"_close()\"\n >\n @if (stateMessage) {\n <li\n [attr.aria-label]=\"stateMessage\"\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [innerHtml]=\"stateMessage\"\n [attr.id]=\"'fdp-list-message-combobox-state-message-' + id\"\n ></li>\n }\n @if (advancedStateMessage?.hasErrors && advancedStateMessage?.template) {\n <li\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [attr.id]=\"'fdp-list-message-combobox-error-message-' + id\"\n >\n <ng-template [ngTemplateOutlet]=\"advancedStateMessage!.template!\"></ng-template>\n </li>\n }\n <ng-content></ng-content>\n @if (isGroup) {\n @for (group of _suggestions; track group) {\n @if (!groupItemTemplate) {\n <li fd-list-group-header role=\"option\">\n <span fd-list-title [attr.title]=\"group.label\">{{ group.label }}</span>\n </li>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"groupItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: group.label } }\"\n ></ng-template>\n }\n @for (optionItem of group.children; track optionItem; let i = $index) {\n <li\n (click)=\"handleOptionItem(optionItem)\"\n (mousedown)=\"_itemMousedown = true\"\n (focus)=\"onItemFocused(optionItem)\"\n fd-list-item\n ariaRole=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n [value]=\"optionItem\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-template>\n </li>\n }\n }\n } @else {\n @for (optionItem of _suggestions; track optionItem; let i = $index) {\n <li\n (click)=\"handleOptionItem(optionItem)\"\n (mousedown)=\"_itemMousedown = true\"\n (focus)=\"onItemFocused(optionItem)\"\n fd-list-item\n ariaRole=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n [value]=\"optionItem\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-template>\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #listItem>\n @if (isSelectedOptionItem(optionItem) && !!selectedItemTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"selectedItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-template>\n }\n @if (!(isSelectedOptionItem(optionItem) && selectedItemTemplate)) {\n <ng-template\n [ngTemplateOutlet]=\"optionItemSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: index }\"\n ></ng-template>\n <ng-template\n [ngTemplateOutlet]=\"secondaryTextSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem }\"\n ></ng-template>\n }\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #optionItemSource>\n @if (!optionItemTemplate) {\n <span [attr.title]=\"optionItem.label\" [innerHTML]=\"optionItem.label | highlight: inputText\"></span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"optionItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-template>\n }\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" #secondaryTextSource>\n @if (showSecondaryText) {\n @if (!secondaryItemTemplate) {\n <span\n [style.text-align]=\"secondaryTextAlignment\"\n fd-list-secondary\n [attr.title]=\"optionItem.secondaryText\"\n [innerHTML]=\"optionItem.secondaryText | highlight: inputText\"\n ></span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"secondaryItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value }\"\n ></ng-template>\n }\n }\n</ng-template>\n", styles: [".fdp-combobox__count-list-results{position:absolute;opacity:0;z-index:-1}.fdp-combobox__list .fd-list__item{justify-content:space-between}.fdp-combobox__list .fd-list__item span{overflow:hidden;text-overflow:ellipsis;width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen", "preventSpaceKeyScroll"], outputs: ["isOpenChange"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i3$2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i3$2.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AutoCompleteDirective, selector: "[fdp-auto-complete]", inputs: ["options", "inputText", "mobile"], outputs: ["onComplete"] }, { kind: "component", type: FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"], exportAs: ["fdListItem"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "directive", type: i6.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i6.ListMessageDirective, selector: "[fd-list-message], [fdListMessage]", inputs: ["type", "class"] }, { kind: "ngmodule", type: ContentDensityModule }, { kind: "pipe", type: SearchHighlightPipe, name: "highlight" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6940
6970
|
}
|
|
6941
6971
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ComboboxComponent, decorators: [{
|
|
6942
6972
|
type: Component,
|
|
@@ -6959,7 +6989,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
6959
6989
|
SearchHighlightPipe,
|
|
6960
6990
|
FdTranslatePipe,
|
|
6961
6991
|
ContentDensityModule
|
|
6962
|
-
], template: "<ng-template [ngTemplateOutlet]=\"mobile ? controlTemplate : desktopTemplate\"></ng-template>\n<ng-template #desktopTemplate>\n <fd-popover\n [isOpen]=\"isOpen && _suggestions.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readonly\"\n [maxWidth]=\"autoResize ? null : minWidth\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n additionalBodyClass=\"fdp-combobox__popover\"\n >\n <fd-popover-control>\n <ng-template [ngTemplateOutlet]=\"controlTemplate\"></ng-template>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"_suggestions.length === 0\">\n <ng-template [ngTemplateOutlet]=\"listTemplate\"></ng-template>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n<ng-template #controlTemplate>\n <fd-form-input-message-group>\n <fd-input-group\n [id]=\"id + '-input-group-container'\"\n [button]=\"!readonly\"\n [glyph]=\"!readonly ? 'navigation-down-arrow' : ' '\"\n [state]=\"mobile && isOpen ? null : state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [isControl]=\"true\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n [isExpanded]=\"!mobile && isOpen && _suggestions.length > 0\"\n [attr.aria-disabled]=\"disabled\"\n [glyphAriaLabel]=\"ariaLabel\"\n (click)=\"openInMobileMode()\"\n >\n <input\n #searchInputElement\n fdp-auto-complete\n [options]=\"_suggestions\"\n [inputText]=\"inputText\"\n [mobile]=\"mobile\"\n (onComplete)=\"_onCompleteTerm($event)\"\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getLabelledBy()\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-owns]=\"autoComplete && !mobile ? id + '-result' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-required]=\"required\"\n fd-input-group-input\n tabindex=\"0\"\n [id]=\"id\"\n [name]=\"name\"\n (keydown)=\"onInputKeydownHandler($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"inputText\"\n (ngModelChange)=\"searchTermChanged($event)\"\n [placeholder]=\"placeholder\"\n (focus)=\"onTouched()\"\n (blur)=\"_onBlur($event)\"\n [attr.aria-expanded]=\"isOpen && _suggestions.length > 0\"\n [readonly]=\"readonly\"\n [attr.aria-readonly]=\"readonly\"\n />\n </fd-input-group>\n @if (isOpen) {\n <div class=\"fdp-combobox__count-list-results\" role=\"status\">\n @if (_flatSuggestions.length || '0'; as count) {\n {{\n (count === 1\n ? 'platformCombobox.countListResultsSingular'\n : 'platformCombobox.countListResultsPlural'\n ) | fdTranslate: { count: count }\n }}\n }\n </div>\n }\n @if (mobile || isOpen ? null : !!stateMessage) {\n <fd-form-message [type]=\"state\" [innerHtml]=\"stateMessage\"></fd-form-message>\n }\n </fd-form-input-message-group>\n</ng-template>\n<ng-template #listTemplate>\n <ul\n fd-list\n [hasMessage]=\"!!stateMessage\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n [dropdownMode]=\"true\"\n class=\"fdp-combobox__list\"\n [hasMessage]=\"!!stateMessage || (!!advancedStateMessage?.hasErrors && !!advancedStateMessage?.template)\"\n [id]=\"id + '-result'\"\n role=\"listbox\"\n [byline]=\"byline\"\n [attr.aria-labelledby]=\"id + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [style.maxWidth]=\"autoResize && maxWidth + 'px'\"\n (keydown.tab)=\"_close()\"\n (keydown.shift.tab)=\"_close()\"\n >\n @if (stateMessage) {\n <li\n [attr.aria-label]=\"stateMessage\"\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [innerHtml]=\"stateMessage\"\n [attr.id]=\"'fdp-list-message-combobox-state-message-' + id\"\n ></li>\n }\n @if (advancedStateMessage?.hasErrors && advancedStateMessage?.template) {\n <li\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [attr.id]=\"'fdp-list-message-combobox-error-message-' + id\"\n >\n <ng-template [ngTemplateOutlet]=\"advancedStateMessage!.template!\"></ng-template>\n </li>\n }\n <ng-content></ng-content>\n @if (isGroup) {\n @for (group of _suggestions; track group) {\n @if (!groupItemTemplate) {\n <li fd-list-group-header role=\"option\">\n <span fd-list-title [attr.title]=\"group.label\">{{ group.label }}</span>\n </li>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"groupItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: group.label } }\"\n ></ng-template>\n }\n @for (optionItem of group.children; track optionItem; let i = $index) {\n <li\n (click)=\"handleOptionItem(optionItem)\"\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n [value]=\"optionItem\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-template>\n </li>\n }\n }\n } @else {\n @for (optionItem of _suggestions; track optionItem; let i = $index) {\n <li\n (click)=\"handleOptionItem(optionItem)\"\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n [value]=\"optionItem\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-template>\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #listItem>\n @if (isSelectedOptionItem(optionItem) && !!selectedItemTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"selectedItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-template>\n }\n @if (!(isSelectedOptionItem(optionItem) && selectedItemTemplate)) {\n <ng-template\n [ngTemplateOutlet]=\"optionItemSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: index }\"\n ></ng-template>\n <ng-template\n [ngTemplateOutlet]=\"secondaryTextSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem }\"\n ></ng-template>\n }\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #optionItemSource>\n @if (!optionItemTemplate) {\n <span [attr.title]=\"optionItem.label\" [innerHTML]=\"optionItem.label | highlight: inputText\"></span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"optionItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-template>\n }\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" #secondaryTextSource>\n @if (showSecondaryText) {\n @if (!secondaryItemTemplate) {\n <span\n [style.text-align]=\"secondaryTextAlignment\"\n fd-list-secondary\n [attr.title]=\"optionItem.secondaryText\"\n [innerHTML]=\"optionItem.secondaryText | highlight: inputText\"\n ></span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"secondaryItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value }\"\n ></ng-template>\n }\n }\n</ng-template>\n", styles: [".fdp-combobox__count-list-results{position:absolute;opacity:0;z-index:-1}.fdp-combobox__list .fd-list__item{justify-content:space-between}.fdp-combobox__list .fd-list__item span{overflow:hidden;text-overflow:ellipsis;width:100%}\n"] }]
|
|
6992
|
+
], template: "<ng-template [ngTemplateOutlet]=\"mobile ? controlTemplate : desktopTemplate\"></ng-template>\n<ng-template #desktopTemplate>\n <fd-popover\n [isOpen]=\"isOpen && _suggestions.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readonly\"\n [maxWidth]=\"autoResize ? null : minWidth\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n additionalBodyClass=\"fdp-combobox__popover\"\n >\n <fd-popover-control>\n <ng-template [ngTemplateOutlet]=\"controlTemplate\"></ng-template>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"_suggestions.length === 0\">\n <ng-template [ngTemplateOutlet]=\"listTemplate\"></ng-template>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n<ng-template #controlTemplate>\n <fd-form-input-message-group>\n <fd-input-group\n [id]=\"id + '-input-group-container'\"\n [button]=\"!readonly\"\n [glyph]=\"!readonly ? 'navigation-down-arrow' : ' '\"\n [state]=\"mobile && isOpen ? null : state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [isControl]=\"true\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n [isExpanded]=\"!mobile && isOpen && _suggestions.length > 0\"\n [attr.aria-disabled]=\"disabled\"\n [glyphAriaLabel]=\"ariaLabel\"\n (click)=\"openInMobileMode()\"\n >\n <input\n #searchInputElement\n fdp-auto-complete\n [options]=\"_suggestions\"\n [inputText]=\"inputText\"\n [mobile]=\"mobile\"\n (onComplete)=\"_onCompleteTerm($event)\"\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getLabelledBy()\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-required]=\"required\"\n fd-input-group-input\n tabindex=\"0\"\n [id]=\"id\"\n [name]=\"name\"\n (keydown)=\"onInputKeydownHandler($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"inputText\"\n (ngModelChange)=\"searchTermChanged($event)\"\n [placeholder]=\"placeholder\"\n (focus)=\"onTouched()\"\n (blur)=\"_onBlur($event)\"\n [attr.aria-expanded]=\"isOpen && _suggestions.length > 0\"\n [readonly]=\"readonly\"\n [attr.aria-readonly]=\"readonly\"\n />\n </fd-input-group>\n @if (isOpen) {\n <div class=\"fdp-combobox__count-list-results\" role=\"status\">\n @if (_flatSuggestions.length || '0'; as count) {\n {{\n (count === 1\n ? 'platformCombobox.countListResultsSingular'\n : 'platformCombobox.countListResultsPlural'\n ) | fdTranslate: { count: count }\n }}\n }\n </div>\n }\n @if (mobile || isOpen ? null : !!stateMessage) {\n <fd-form-message [type]=\"state\" [innerHtml]=\"stateMessage\"></fd-form-message>\n }\n </fd-form-input-message-group>\n</ng-template>\n<ng-template #listTemplate>\n <ul\n fd-list\n [hasMessage]=\"!!stateMessage\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n [dropdownMode]=\"true\"\n class=\"fdp-combobox__list\"\n [hasMessage]=\"!!stateMessage || (!!advancedStateMessage?.hasErrors && !!advancedStateMessage?.template)\"\n [id]=\"id + '-result'\"\n role=\"listbox\"\n [byline]=\"byline\"\n [attr.aria-labelledby]=\"id + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [style.maxWidth]=\"autoResize && maxWidth + 'px'\"\n (keydown.tab)=\"_close()\"\n (keydown.shift.tab)=\"_close()\"\n >\n @if (stateMessage) {\n <li\n [attr.aria-label]=\"stateMessage\"\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [innerHtml]=\"stateMessage\"\n [attr.id]=\"'fdp-list-message-combobox-state-message-' + id\"\n ></li>\n }\n @if (advancedStateMessage?.hasErrors && advancedStateMessage?.template) {\n <li\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [attr.id]=\"'fdp-list-message-combobox-error-message-' + id\"\n >\n <ng-template [ngTemplateOutlet]=\"advancedStateMessage!.template!\"></ng-template>\n </li>\n }\n <ng-content></ng-content>\n @if (isGroup) {\n @for (group of _suggestions; track group) {\n @if (!groupItemTemplate) {\n <li fd-list-group-header role=\"option\">\n <span fd-list-title [attr.title]=\"group.label\">{{ group.label }}</span>\n </li>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"groupItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: group.label } }\"\n ></ng-template>\n }\n @for (optionItem of group.children; track optionItem; let i = $index) {\n <li\n (click)=\"handleOptionItem(optionItem)\"\n (mousedown)=\"_itemMousedown = true\"\n (focus)=\"onItemFocused(optionItem)\"\n fd-list-item\n ariaRole=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n [value]=\"optionItem\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-template>\n </li>\n }\n }\n } @else {\n @for (optionItem of _suggestions; track optionItem; let i = $index) {\n <li\n (click)=\"handleOptionItem(optionItem)\"\n (mousedown)=\"_itemMousedown = true\"\n (focus)=\"onItemFocused(optionItem)\"\n fd-list-item\n ariaRole=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n [value]=\"optionItem\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-template>\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #listItem>\n @if (isSelectedOptionItem(optionItem) && !!selectedItemTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"selectedItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-template>\n }\n @if (!(isSelectedOptionItem(optionItem) && selectedItemTemplate)) {\n <ng-template\n [ngTemplateOutlet]=\"optionItemSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: index }\"\n ></ng-template>\n <ng-template\n [ngTemplateOutlet]=\"secondaryTextSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem }\"\n ></ng-template>\n }\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #optionItemSource>\n @if (!optionItemTemplate) {\n <span [attr.title]=\"optionItem.label\" [innerHTML]=\"optionItem.label | highlight: inputText\"></span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"optionItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-template>\n }\n</ng-template>\n<ng-template let-optionItem=\"optionItem\" #secondaryTextSource>\n @if (showSecondaryText) {\n @if (!secondaryItemTemplate) {\n <span\n [style.text-align]=\"secondaryTextAlignment\"\n fd-list-secondary\n [attr.title]=\"optionItem.secondaryText\"\n [innerHTML]=\"optionItem.secondaryText | highlight: inputText\"\n ></span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"secondaryItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value }\"\n ></ng-template>\n }\n }\n</ng-template>\n", styles: [".fdp-combobox__count-list-results{position:absolute;opacity:0;z-index:-1}.fdp-combobox__list .fd-list__item{justify-content:space-between}.fdp-combobox__list .fd-list__item span{overflow:hidden;text-overflow:ellipsis;width:100%}\n"] }]
|
|
6963
6993
|
}], ctorParameters: () => [{ type: i1$2.DialogConfig, decorators: [{
|
|
6964
6994
|
type: Optional
|
|
6965
6995
|
}] }, { type: i2.DynamicComponentService }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: Map, decorators: [{
|
|
@@ -7144,6 +7174,19 @@ class PlatformDatetimePickerComponent extends BaseInput {
|
|
|
7144
7174
|
this.datetimeChange = new EventEmitter();
|
|
7145
7175
|
/** Event emitted when popover closes. */
|
|
7146
7176
|
this.onClose = new EventEmitter();
|
|
7177
|
+
/**
|
|
7178
|
+
* Whether to show the calendar legend for special days.
|
|
7179
|
+
* When enabled, displays a legend below the calendar showing the special day markers and their descriptions.
|
|
7180
|
+
* @default false
|
|
7181
|
+
*/
|
|
7182
|
+
this.showCalendarLegend = input(false, ...(ngDevMode ? [{ debugName: "showCalendarLegend", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
7183
|
+
/**
|
|
7184
|
+
* Whether to display the calendar legend in column layout.
|
|
7185
|
+
* When true, legend items are displayed vertically in a single column.
|
|
7186
|
+
* When false, legend items are displayed horizontally in rows.
|
|
7187
|
+
* @default false
|
|
7188
|
+
*/
|
|
7189
|
+
this.legendCol = input(false, ...(ngDevMode ? [{ debugName: "legendCol", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
7147
7190
|
/** @hidden */
|
|
7148
7191
|
this._dateTimeAdapter = inject(DatetimeAdapter, {
|
|
7149
7192
|
optional: true
|
|
@@ -7242,11 +7285,11 @@ class PlatformDatetimePickerComponent extends BaseInput {
|
|
|
7242
7285
|
customPopoverEl.style.display = 'inline';
|
|
7243
7286
|
}
|
|
7244
7287
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PlatformDatetimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7245
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
7288
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: PlatformDatetimePickerComponent, isStandalone: true, selector: "fdp-datetime-picker", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: false, isRequired: false, transformFunction: null }, meridian: { classPropertyName: "meridian", publicName: "meridian", isSignal: false, isRequired: false, transformFunction: null }, displaySeconds: { classPropertyName: "displaySeconds", publicName: "displaySeconds", isSignal: false, isRequired: false, transformFunction: null }, displayMinutes: { classPropertyName: "displayMinutes", publicName: "displayMinutes", isSignal: false, isRequired: false, transformFunction: null }, displayHours: { classPropertyName: "displayHours", publicName: "displayHours", isSignal: false, isRequired: false, transformFunction: null }, useValidation: { classPropertyName: "useValidation", publicName: "useValidation", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, startingDayOfWeek: { classPropertyName: "startingDayOfWeek", publicName: "startingDayOfWeek", isSignal: false, isRequired: false, transformFunction: null }, activeView: { classPropertyName: "activeView", publicName: "activeView", isSignal: false, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: false, isRequired: false, transformFunction: null }, keepTwoDigitsTime: { classPropertyName: "keepTwoDigitsTime", publicName: "keepTwoDigitsTime", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, buttonFocusable: { classPropertyName: "buttonFocusable", publicName: "buttonFocusable", isSignal: false, isRequired: false, transformFunction: null }, specialDaysRules: { classPropertyName: "specialDaysRules", publicName: "specialDaysRules", isSignal: false, isRequired: false, transformFunction: null }, yearGrid: { classPropertyName: "yearGrid", publicName: "yearGrid", isSignal: false, isRequired: false, transformFunction: null }, aggregatedYearGrid: { classPropertyName: "aggregatedYearGrid", publicName: "aggregatedYearGrid", isSignal: false, isRequired: false, transformFunction: null }, markWeekends: { classPropertyName: "markWeekends", publicName: "markWeekends", isSignal: false, isRequired: false, transformFunction: null }, spinnerButtons: { classPropertyName: "spinnerButtons", publicName: "spinnerButtons", isSignal: false, isRequired: false, transformFunction: null }, showWeekNumbers: { classPropertyName: "showWeekNumbers", publicName: "showWeekNumbers", isSignal: false, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: false, isRequired: false, transformFunction: null }, processInputOnBlur: { classPropertyName: "processInputOnBlur", publicName: "processInputOnBlur", isSignal: false, isRequired: false, transformFunction: null }, preventScrollOnFocus: { classPropertyName: "preventScrollOnFocus", publicName: "preventScrollOnFocus", isSignal: false, isRequired: false, transformFunction: null }, mobile: { classPropertyName: "mobile", publicName: "mobile", isSignal: false, isRequired: false, transformFunction: null }, mobileConfig: { classPropertyName: "mobileConfig", publicName: "mobileConfig", isSignal: false, isRequired: false, transformFunction: null }, mobileLandscape: { classPropertyName: "mobileLandscape", publicName: "mobileLandscape", isSignal: false, isRequired: false, transformFunction: null }, mobilePortrait: { classPropertyName: "mobilePortrait", publicName: "mobilePortrait", isSignal: false, isRequired: false, transformFunction: null }, showCalendarLegend: { classPropertyName: "showCalendarLegend", publicName: "showCalendarLegend", isSignal: true, isRequired: false, transformFunction: null }, legendCol: { classPropertyName: "legendCol", publicName: "legendCol", isSignal: true, isRequired: false, transformFunction: null }, disableFunction: { classPropertyName: "disableFunction", publicName: "disableFunction", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", activeViewChange: "activeViewChange", datetimeChange: "datetimeChange", onClose: "onClose" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformDatetimePickerComponent, multi: true }], viewQueries: [{ propertyName: "dateTimePickerComponent", first: true, predicate: DatetimePickerComponent, descendants: true }, { propertyName: "_elRef", first: true, predicate: DatetimePickerComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "_control", first: true, predicate: DatetimePickerComponent, descendants: true, read: NgControl, static: true }], usesInheritance: true, ngImport: i0, template: "<fd-datetime-picker\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"_isRequired\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [inputId]=\"id\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [placement]=\"placement\"\n [appendTo]=\"appendTo\"\n [meridian]=\"meridian\"\n [disabled]=\"disabled\"\n [displaySeconds]=\"displaySeconds\"\n [displayMinutes]=\"displayMinutes\"\n [displayHours]=\"displayHours\"\n [useValidation]=\"useValidation\"\n [isOpen]=\"isOpen\"\n [startingDayOfWeek]=\"startingDayOfWeek\"\n [activeView]=\"activeView\"\n [allowNull]=\"allowNull && !_isRequired\"\n [keepTwoDigitsTime]=\"keepTwoDigitsTime\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [specialDaysRules]=\"specialDaysRules\"\n [showCalendarLegend]=\"showCalendarLegend()\"\n [legendCol]=\"legendCol()\"\n [yearGrid]=\"yearGrid\"\n [aggregatedYearGrid]=\"aggregatedYearGrid\"\n [markWeekends]=\"markWeekends\"\n [spinnerButtons]=\"spinnerButtons\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [showFooter]=\"showFooter\"\n [disableFunction]=\"disableFunction\"\n [processInputOnBlur]=\"processInputOnBlur\"\n [preventScrollOnFocus]=\"preventScrollOnFocus\"\n [mobile]=\"mobile\"\n [mobileConfig]=\"mobileConfig\"\n [mobileLandscape]=\"mobileLandscape\"\n [mobilePortrait]=\"mobilePortrait\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"handleDatetimeInputChange($event)\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (touched)=\"onTouched()\"\n>\n <ng-content></ng-content>\n</fd-datetime-picker>\n", dependencies: [{ kind: "component", type: DatetimePickerComponent, selector: "fd-datetime-picker", inputs: ["placeholder", "placement", "appendTo", "disabled", "inputId", "required", "customDateTimeFormat", "meridian", "displaySeconds", "ariaLabelledBy", "message", "messageTriggers", "displayMinutes", "displayHours", "useValidation", "date", "isOpen", "startingDayOfWeek", "activeView", "allowNull", "keepTwoDigitsTime", "state", "buttonFocusable", "yearGrid", "aggregatedYearGrid", "markWeekends", "spinnerButtons", "showWeekNumbers", "showFooter", "processInputOnBlur", "preventScrollOnFocus", "mobile", "mobileConfig", "mobileLandscape", "mobilePortrait", "isFullWidth", "specialDaysRules", "showCalendarLegend", "legendCol", "disableFunction"], outputs: ["isOpenChange", "activeViewChange", "dateChange", "calendarChange", "timeChange", "onClose", "touched"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7246
7289
|
}
|
|
7247
7290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PlatformDatetimePickerComponent, decorators: [{
|
|
7248
7291
|
type: Component,
|
|
7249
|
-
args: [{ selector: 'fdp-datetime-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformDatetimePickerComponent, multi: true }], imports: [DatetimePickerComponent, FormsModule], template: "<fd-datetime-picker\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"_isRequired\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [inputId]=\"id\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [placement]=\"placement\"\n [appendTo]=\"appendTo\"\n [meridian]=\"meridian\"\n [disabled]=\"disabled\"\n [displaySeconds]=\"displaySeconds\"\n [displayMinutes]=\"displayMinutes\"\n [displayHours]=\"displayHours\"\n [useValidation]=\"useValidation\"\n [isOpen]=\"isOpen\"\n [startingDayOfWeek]=\"startingDayOfWeek\"\n [activeView]=\"activeView\"\n [allowNull]=\"allowNull && !_isRequired\"\n [keepTwoDigitsTime]=\"keepTwoDigitsTime\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [specialDaysRules]=\"specialDaysRules\"\n [yearGrid]=\"yearGrid\"\n [aggregatedYearGrid]=\"aggregatedYearGrid\"\n [markWeekends]=\"markWeekends\"\n [spinnerButtons]=\"spinnerButtons\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [showFooter]=\"showFooter\"\n [disableFunction]=\"disableFunction\"\n [processInputOnBlur]=\"processInputOnBlur\"\n [preventScrollOnFocus]=\"preventScrollOnFocus\"\n [mobile]=\"mobile\"\n [mobileConfig]=\"mobileConfig\"\n [mobileLandscape]=\"mobileLandscape\"\n [mobilePortrait]=\"mobilePortrait\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"handleDatetimeInputChange($event)\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (touched)=\"onTouched()\"\n>\n <ng-content></ng-content>\n</fd-datetime-picker>\n" }]
|
|
7292
|
+
args: [{ selector: 'fdp-datetime-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformDatetimePickerComponent, multi: true }], imports: [DatetimePickerComponent, FormsModule], template: "<fd-datetime-picker\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"_isRequired\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [inputId]=\"id\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [placement]=\"placement\"\n [appendTo]=\"appendTo\"\n [meridian]=\"meridian\"\n [disabled]=\"disabled\"\n [displaySeconds]=\"displaySeconds\"\n [displayMinutes]=\"displayMinutes\"\n [displayHours]=\"displayHours\"\n [useValidation]=\"useValidation\"\n [isOpen]=\"isOpen\"\n [startingDayOfWeek]=\"startingDayOfWeek\"\n [activeView]=\"activeView\"\n [allowNull]=\"allowNull && !_isRequired\"\n [keepTwoDigitsTime]=\"keepTwoDigitsTime\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [specialDaysRules]=\"specialDaysRules\"\n [showCalendarLegend]=\"showCalendarLegend()\"\n [legendCol]=\"legendCol()\"\n [yearGrid]=\"yearGrid\"\n [aggregatedYearGrid]=\"aggregatedYearGrid\"\n [markWeekends]=\"markWeekends\"\n [spinnerButtons]=\"spinnerButtons\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [showFooter]=\"showFooter\"\n [disableFunction]=\"disableFunction\"\n [processInputOnBlur]=\"processInputOnBlur\"\n [preventScrollOnFocus]=\"preventScrollOnFocus\"\n [mobile]=\"mobile\"\n [mobileConfig]=\"mobileConfig\"\n [mobileLandscape]=\"mobileLandscape\"\n [mobilePortrait]=\"mobilePortrait\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"handleDatetimeInputChange($event)\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (touched)=\"onTouched()\"\n>\n <ng-content></ng-content>\n</fd-datetime-picker>\n" }]
|
|
7250
7293
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
7251
7294
|
type: Input
|
|
7252
7295
|
}], placement: [{
|
|
@@ -10489,6 +10532,11 @@ class PlatformTimePickerComponent extends BaseInput {
|
|
|
10489
10532
|
this.keepTwoDigitsTime = false;
|
|
10490
10533
|
/** Event emitted when the state of the isOpen property changes. */
|
|
10491
10534
|
this.isOpenChange = new EventEmitter();
|
|
10535
|
+
/**
|
|
10536
|
+
* The interval between selectable minutes (e.g., 1 for every minute, 5 for 5-minute intervals, 15 for 15-minute intervals).
|
|
10537
|
+
* Defaults to 1 (every minute).
|
|
10538
|
+
*/
|
|
10539
|
+
this.minuteStep = input(1, ...(ngDevMode ? [{ debugName: "minuteStep" }] : []));
|
|
10492
10540
|
if (this.ngControl) {
|
|
10493
10541
|
this.ngControl.valueAccessor = this;
|
|
10494
10542
|
}
|
|
@@ -10517,11 +10565,11 @@ class PlatformTimePickerComponent extends BaseInput {
|
|
|
10517
10565
|
this.onTouched();
|
|
10518
10566
|
}
|
|
10519
10567
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PlatformTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10520
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10568
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: PlatformTimePickerComponent, isStandalone: true, selector: "fdp-time-picker", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, time: { classPropertyName: "time", publicName: "time", isSignal: false, isRequired: false, transformFunction: null }, spinnerButtons: { classPropertyName: "spinnerButtons", publicName: "spinnerButtons", isSignal: false, isRequired: false, transformFunction: null }, meridian: { classPropertyName: "meridian", publicName: "meridian", isSignal: false, isRequired: false, transformFunction: null }, displaySeconds: { classPropertyName: "displaySeconds", publicName: "displaySeconds", isSignal: false, isRequired: false, transformFunction: null }, displayMinutes: { classPropertyName: "displayMinutes", publicName: "displayMinutes", isSignal: false, isRequired: false, transformFunction: null }, displayHours: { classPropertyName: "displayHours", publicName: "displayHours", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, timePickerInputLabel: { classPropertyName: "timePickerInputLabel", publicName: "timePickerInputLabel", isSignal: false, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: false, isRequired: false, transformFunction: null }, tablet: { classPropertyName: "tablet", publicName: "tablet", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, buttonFocusable: { classPropertyName: "buttonFocusable", publicName: "buttonFocusable", isSignal: false, isRequired: false, transformFunction: null }, useValidation: { classPropertyName: "useValidation", publicName: "useValidation", isSignal: false, isRequired: false, transformFunction: null }, keepTwoDigitsTime: { classPropertyName: "keepTwoDigitsTime", publicName: "keepTwoDigitsTime", isSignal: false, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: false, isRequired: false, transformFunction: null }, parseFormat: { classPropertyName: "parseFormat", publicName: "parseFormat", isSignal: false, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformTimePickerComponent, multi: true }], viewQueries: [{ propertyName: "timePickerComponent", first: true, predicate: TimePickerComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-time-picker\n [attr.aria-label]=\"ariaLabel\"\n [attr.ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [inputId]=\"id\"\n [required]=\"required\"\n [time]=\"time\"\n [meridian]=\"meridian\"\n [disabled]=\"disabled\"\n [displayFormat]=\"displayFormat\"\n [spinnerButtons]=\"spinnerButtons\"\n [displaySeconds]=\"displaySeconds\"\n [displayMinutes]=\"displayMinutes\"\n [displayHours]=\"displayHours\"\n [minuteStep]=\"minuteStep()\"\n [placeholder]=\"placeholder\"\n [timePickerInputLabel]=\"timePickerInputLabel\"\n [allowNull]=\"allowNull\"\n [tablet]=\"tablet\"\n [placement]=\"placement\"\n [parseFormat]=\"parseFormat\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [useValidation]=\"useValidation\"\n [keepTwoDigitsTime]=\"keepTwoDigitsTime\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (ngModelChange)=\"handleTimeChange($event)\"\n [(ngModel)]=\"value\"\n>\n <ng-content></ng-content>\n</fd-time-picker>\n", dependencies: [{ kind: "component", type: TimePickerComponent, selector: "fd-time-picker", inputs: ["time", "inputId", "disabled", "required", "spinnerButtons", "meridian", "displaySeconds", "displayMinutes", "displayHours", "placeholder", "timePickerInputLabel", "timePickerButtonLabel", "ariaLabelledBy", "allowNull", "tablet", "message", "messageType", "messageTriggers", "placement", "useValidation", "state", "buttonFocusable", "keepTwoDigitsTime", "displayFormat", "parseFormat", "valueStateSuccessMessage", "valueStateInformationMessage", "valueStateWarningMessage", "valueStateErrorMessage", "minuteStep"], outputs: ["isOpenChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10521
10569
|
}
|
|
10522
10570
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PlatformTimePickerComponent, decorators: [{
|
|
10523
10571
|
type: Component,
|
|
10524
|
-
args: [{ selector: 'fdp-time-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformTimePickerComponent, multi: true }], imports: [TimePickerComponent, FormsModule], template: "<fd-time-picker\n [attr.aria-label]=\"ariaLabel\"\n [attr.ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [inputId]=\"id\"\n [required]=\"required\"\n [time]=\"time\"\n [meridian]=\"meridian\"\n [disabled]=\"disabled\"\n [displayFormat]=\"displayFormat\"\n [spinnerButtons]=\"spinnerButtons\"\n [displaySeconds]=\"displaySeconds\"\n [displayMinutes]=\"displayMinutes\"\n [displayHours]=\"displayHours\"\n [placeholder]=\"placeholder\"\n [timePickerInputLabel]=\"timePickerInputLabel\"\n [allowNull]=\"allowNull\"\n [tablet]=\"tablet\"\n [placement]=\"placement\"\n [parseFormat]=\"parseFormat\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [useValidation]=\"useValidation\"\n [keepTwoDigitsTime]=\"keepTwoDigitsTime\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (ngModelChange)=\"handleTimeChange($event)\"\n [(ngModel)]=\"value\"\n>\n <ng-content></ng-content>\n</fd-time-picker>\n" }]
|
|
10572
|
+
args: [{ selector: 'fdp-time-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: PlatformTimePickerComponent, multi: true }], imports: [TimePickerComponent, FormsModule], template: "<fd-time-picker\n [attr.aria-label]=\"ariaLabel\"\n [attr.ariaLabelledBy]=\"ariaLabelledBy\"\n [attr.ariaDescribedBy]=\"ariaDescribedBy\"\n [inputId]=\"id\"\n [required]=\"required\"\n [time]=\"time\"\n [meridian]=\"meridian\"\n [disabled]=\"disabled\"\n [displayFormat]=\"displayFormat\"\n [spinnerButtons]=\"spinnerButtons\"\n [displaySeconds]=\"displaySeconds\"\n [displayMinutes]=\"displayMinutes\"\n [displayHours]=\"displayHours\"\n [minuteStep]=\"minuteStep()\"\n [placeholder]=\"placeholder\"\n [timePickerInputLabel]=\"timePickerInputLabel\"\n [allowNull]=\"allowNull\"\n [tablet]=\"tablet\"\n [placement]=\"placement\"\n [parseFormat]=\"parseFormat\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [useValidation]=\"useValidation\"\n [keepTwoDigitsTime]=\"keepTwoDigitsTime\"\n (isOpenChange)=\"handleOpenChange($event)\"\n (ngModelChange)=\"handleTimeChange($event)\"\n [(ngModel)]=\"value\"\n>\n <ng-content></ng-content>\n</fd-time-picker>\n" }]
|
|
10525
10573
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
10526
10574
|
type: Input
|
|
10527
10575
|
}], time: [{
|