@spicainternational/ngx-sds-components 8.0.0 → 8.3.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +3 -3
- package/esm2022/src/lib/app-switcher/app-switcher.model.mjs +1 -1
- package/esm2022/src/lib/app-switcher/public-api.mjs +1 -1
- package/esm2022/src/lib/avatar/avatar-group.component.mjs +3 -3
- package/esm2022/src/lib/avatar/avatar-group.model.mjs +1 -1
- package/esm2022/src/lib/avatar/avatar.component.mjs +20 -6
- package/esm2022/src/lib/avatar/public-api.mjs +1 -1
- package/esm2022/src/lib/badge/badge.directive.mjs +1 -1
- package/esm2022/src/lib/badge/badge.types.mjs +1 -1
- package/esm2022/src/lib/badge/components/badge.component.mjs +3 -3
- package/esm2022/src/lib/badge/public-api.mjs +1 -1
- package/esm2022/src/lib/callout/callout.component.mjs +3 -3
- package/esm2022/src/lib/callout/public-api.mjs +1 -1
- package/esm2022/src/lib/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/src/lib/color-picker/public-api.mjs +1 -1
- package/esm2022/src/lib/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/src/lib/date-picker/date-picker.model.mjs +1 -1
- package/esm2022/src/lib/date-picker/public-api.mjs +1 -1
- package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-time-formats.constants.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/public-api.mjs +1 -1
- package/esm2022/src/lib/drawer/drawer.component.mjs +4 -4
- package/esm2022/src/lib/drawer/public-api.mjs +1 -1
- package/esm2022/src/lib/duration-box/duration-box.component.mjs +3 -3
- package/esm2022/src/lib/duration-box/duration.service.mjs +1 -1
- package/esm2022/src/lib/duration-box/public-api.mjs +1 -1
- package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +1 -1
- package/esm2022/src/lib/duration-pipe/public-api.mjs +1 -1
- package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +1 -1
- package/esm2022/src/lib/ellipsis/public-api.mjs +1 -1
- package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +3 -3
- package/esm2022/src/lib/expansion-panel/expansion-panel.types.mjs +1 -1
- package/esm2022/src/lib/expansion-panel/public-api.mjs +1 -1
- package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +1 -1
- package/esm2022/src/lib/highlight-text/directives/index.mjs +1 -1
- package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +1 -1
- package/esm2022/src/lib/highlight-text/pipes/index.mjs +1 -1
- package/esm2022/src/lib/highlight-text/public-api.mjs +1 -1
- package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +1 -1
- package/esm2022/src/lib/highlight-text/utils/index.mjs +1 -1
- package/esm2022/src/lib/intersection/directives/index.mjs +1 -1
- package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +1 -1
- package/esm2022/src/lib/intersection/public-api.mjs +1 -1
- package/esm2022/src/lib/intersection/services/index.mjs +1 -1
- package/esm2022/src/lib/intersection/services/intersection.service.mjs +1 -1
- package/esm2022/src/lib/keyboard-shortcut/directives/index.mjs +1 -1
- package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +19 -29
- package/esm2022/src/lib/keyboard-shortcut/public-api.mjs +1 -1
- package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +3 -3
- package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +3 -3
- package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +3 -3
- package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +3 -3
- package/esm2022/src/lib/layout/public-api.mjs +1 -1
- package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +3 -3
- package/esm2022/src/lib/message/message.component.mjs +3 -3
- package/esm2022/src/lib/message/public-api.mjs +1 -1
- package/esm2022/src/lib/modal/dialog/dialog.component.mjs +5 -5
- package/esm2022/src/lib/modal/modal.component.mjs +5 -5
- package/esm2022/src/lib/modal/modal.model.mjs +1 -1
- package/esm2022/src/lib/modal/public-api.mjs +1 -1
- package/esm2022/src/lib/navigation/models/navigation-models.mjs +1 -1
- package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +5 -8
- package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +123 -14
- package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +61 -23
- package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +1 -1
- package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +3 -3
- package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +5 -5
- package/esm2022/src/lib/navigation/public-api.mjs +1 -1
- package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +1 -1
- package/esm2022/src/lib/number-box/number-box.component.mjs +3 -3
- package/esm2022/src/lib/number-box/public-api.mjs +1 -1
- package/esm2022/src/lib/page-header/page-header.component.mjs +3 -3
- package/esm2022/src/lib/page-header/public-api.mjs +1 -1
- package/esm2022/src/lib/pane/pane.component.mjs +3 -3
- package/esm2022/src/lib/pane/pane.model.mjs +1 -1
- package/esm2022/src/lib/pane/public-api.mjs +1 -1
- package/esm2022/src/lib/quick-info/quick-info.component.mjs +3 -3
- package/esm2022/src/lib/quick-info/quick-info.model.mjs +1 -1
- package/esm2022/src/lib/ripple/public-api.mjs +2 -0
- package/esm2022/src/lib/ripple/ripple.directive.mjs +103 -0
- package/esm2022/src/lib/ripple/spicainternational-ngx-sds-components-src-lib-ripple.mjs +5 -0
- package/esm2022/src/lib/segmented-control/public-api.mjs +1 -1
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +56 -7
- package/esm2022/src/lib/side-bar/side-bar.component.mjs +22 -16
- package/esm2022/src/lib/static-value/public-api.mjs +1 -1
- package/esm2022/src/lib/static-value/static-value.component.mjs +3 -3
- package/esm2022/src/lib/table-actions/public-api.mjs +1 -1
- package/esm2022/src/lib/table-actions/table-actions.component.mjs +3 -3
- package/esm2022/src/lib/timeline/components/timeline.component.mjs +13 -3
- package/esm2022/src/lib/timeline/models/timeline.model.mjs +1 -1
- package/esm2022/src/lib/timeline/public-api.mjs +1 -1
- package/esm2022/src/lib/timeline/services/timeline.service.mjs +1 -1
- package/esm2022/src/lib/timeline/types/timeline.types.mjs +1 -1
- package/esm2022/src/lib/timer/public-api.mjs +1 -1
- package/esm2022/src/lib/timer/services/index.mjs +1 -1
- package/esm2022/src/lib/timer/services/timer.service.mjs +1 -1
- package/esm2022/src/lib/timer/utils/index.mjs +1 -1
- package/esm2022/src/lib/timer/utils/timer.utils.mjs +1 -1
- package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +3 -3
- package/esm2022/src/lib/tooltip/public-api.mjs +1 -1
- package/esm2022/src/lib/tooltip/tooltip.directive.mjs +1 -1
- package/esm2022/src/lib/tooltip/tooltip.types.mjs +1 -1
- package/esm2022/src/lib/tooltip/utils/tooltip.utils.mjs +1 -1
- package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +1 -1
- package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +1 -1
- package/esm2022/src/lib/utils/date-time/public-api.mjs +1 -1
- package/esm2022/src/lib/utils/public-api.mjs +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +21 -7
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs +3 -3
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +18 -28
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +10 -10
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +8 -8
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +217 -75
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs +110 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +55 -6
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +21 -15
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +12 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components.mjs +1 -0
- package/fesm2022/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/package.json +13 -7
- package/public-api.d.ts +1 -0
- package/src/lib/avatar/avatar.component.d.ts +7 -4
- package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +5 -10
- package/src/lib/modal/modal.component.d.ts +1 -1
- package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +1 -2
- package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +23 -3
- package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +22 -9
- package/src/lib/ripple/index.d.ts +5 -0
- package/src/lib/ripple/public-api.d.ts +1 -0
- package/src/lib/ripple/ripple.directive.d.ts +21 -0
- package/src/lib/ripple/sds-ripple.css +20 -0
- package/src/lib/segmented-control/segmented-control.component.d.ts +10 -4
- package/src/lib/side-bar/side-bar.component.d.ts +13 -7
- package/src/lib/timeline/components/timeline.component.d.ts +9 -1
|
@@ -894,7 +894,7 @@ class SdsDatePickerComponent {
|
|
|
894
894
|
}
|
|
895
895
|
}
|
|
896
896
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDatePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SdsDatePickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
897
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsDatePickerComponent, isStandalone: true, selector: "sds-date-picker", inputs: { selectionKind: "selectionKind", dateRangeDefinitions: "dateRangeDefinitions", selectedDate: "selectedDate", selectedDateStart: "selectedDateStart", singleDayFormatFn: "singleDayFormatFn", dateRangeFormatFn: "dateRangeFormatFn", selectedDateEnd: "selectedDateEnd", minDate: "minDate", maxDate: "maxDate", locales: "locales", disabled: "disabled", validationError: "validationError", isValid: "isValid", disabledDates: "disabledDates", applyText: "applyText", cancelText: "cancelText", translations: "translations", firstDayOfWeek: "firstDayOfWeek", dateRangeDefinitionsWidth: "dateRangeDefinitionsWidth", showPreviousAndNextButtons: "showPreviousAndNextButtons", width: "width", dropdownWrapperClass: "dropdownWrapperClass", dropdownWrapperId: "dropdownWrapperId", getPreviousDateCallback: "getPreviousDateCallback", getNextDateCallback: "getNextDateCallback", getPreviousRangeCallback: "getPreviousRangeCallback", getNextRangeCallback: "getNextRangeCallback", useCustomDisplayContent: "useCustomDisplayContent", displayPredefinedDateRangeName: "displayPredefinedDateRangeName", style: "style", compactStyleDisplay: "compactStyleDisplay", dateInputDisplayFormat: "dateInputDisplayFormat", componentAriaLabel: "componentAriaLabel", openDateRangeDefinitionsAriaLabel: "openDateRangeDefinitionsAriaLabel", nextPeriodAriaLabel: "nextPeriodAriaLabel", previousPeriodAriaLabel: "previousPeriodAriaLabel", lockBeforeDate: "lockBeforeDate", lockBeforeDateHint: "lockBeforeDateHint" }, outputs: { selectedDateChange: "selectedDateChange", selectedDateStartChange: "selectedDateStartChange", selectedDateEndChange: "selectedDateEndChange", periodChange: "periodChange" }, queries: [{ propertyName: "displayContent", first: true, predicate: ["display"], descendants: true }], viewQueries: [{ propertyName: "singleDatePickerBox", first: true, predicate: ["singleDatePickerBox"], descendants: true }, { propertyName: "selectedDateStartBox", first: true, predicate: ["selectedDateStartBox"], descendants: true }, { propertyName: "selectedDateEndBox", first: true, predicate: ["selectedDateEndBox"], descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "_selectedDateRangeButton", first: true, predicate: ["selectedDateRangeButton"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<!-- <div id=\"datepickerbuttons\"> -->\r\n <div\r\n class=\"datepicker d-inline-flex bg-white sds-no-print\"\r\n role=\"group\"\r\n [attr.aria-label]=\"componentAriaLabel\"\r\n [style.width]=\"width\"\r\n >\r\n\r\n <ng-container *ngIf=\"style == 'classic'\">\r\n <div\r\n class=\"btn-group\"\r\n role=\"group\"\r\n >\r\n <button\r\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\r\n id=\"pickerPredefinedRangeDropdown{{ randomIdReference }}\"\r\n type=\"button\"\r\n class=\"\r\n btn btn-white\r\n border\r\n rounded-start\r\n border-end\r\n p-0\r\n sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n [style.width]=\"dateRangeDefinitionsWidth\"\r\n (click)=\"toggleDateRangeSelectorVisibility()\"\r\n >\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"ps-2 ms-1 me-1 date-range-text text-truncate\">\r\n {{selectedDateRange.name}}\r\n </div>\r\n <button type=\"button\" class=\"btn btn-light date-range-dropdown-button sds-fw-400\" [attr.aria-label]=\"openDateRangeDefinitionsAriaLabel\"\r\n [attr.aria-controls]=\"elementUUID + '_predefined_periods_dropdown'\">\r\n <span class=\"dropdown-toggle\"></span>\r\n </button>\r\n </div>\r\n\r\n </button>\r\n\r\n <dx-popover\r\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\r\n [id]=\"elementUUID + '_predefined_periods_dropdown'\"\r\n target=\"#pickerPredefinedRangeDropdown{{ randomIdReference }}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showPredefinedOptionsSelector\"\r\n [wrapperAttr]=\"{ class: 'sds-datepicker-ranges-popover sds-dx-popup-no-arrow' }\"\r\n [minWidth]=\"dateRangeDefinitionsWidth\"\r\n\r\n >\r\n <div *dxTemplate=\"let data of 'content'\" cdkTrapFocus>\r\n <div *ngFor=\"let range of dateRanges\">\r\n <div\r\n role=\"button\"\r\n tabindex=\"0\"\r\n class=\"predefined-date-range px-3 py-2 w-100\"\r\n [class.selected]=\"range === selectedDateRange\"\r\n (click)=\"changDateRange(range)\"\r\n (keydown)=\"onRangeKeyReleased($event, range)\"\r\n >\r\n {{range.name}}\r\n </div>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <button\r\n *ngIf=\"showPreviousAndNextButtons\"\r\n class=\"btn btn-white border border-end-0 pe-2 sds-fw-400\"\r\n [class.rounded-start] = \"style == 'compact' || (!dateRangeDefinitions || dateRangeDefinitions.length === 0)\"\r\n [class.border-start-0] = \"style == 'classic' && dateRangeDefinitions.length > 0\"\r\n type=\"button\"\r\n [attr.aria-label]=\"previousPeriodAriaLabel\"\r\n [disabled]=\"isMinimumLimit || disabled\"\r\n (click)=\"goToPreviousDate()\"\r\n >\r\n <fa-icon [icon]=\"previousPeriodIcon\"></fa-icon>\r\n\r\n </button>\r\n\r\n <button\r\n #selectedDateRangeButton\r\n id=\"pickerDropdown{{ randomIdReference }}\"\r\n class=\"btn btn-white border-top border-bottom text-truncate px-0 selected-period sds-fw-400\"\r\n [class.rounded-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\r\n [class.border-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\r\n [class.rounded-end] = \"!showPreviousAndNextButtons\"\r\n [class.border-end] = \"!showPreviousAndNextButtons\"\r\n [disabled]=\"disabled\"\r\n type=\"button\"\r\n (click)=\"showDatepicker = !showDatepicker\"\r\n >\r\n\r\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\r\n <div *ngIf=\"!useCustomDisplayContent\"\r\n class=\"d-flex justify-content-center align-items-center\">\r\n <!-- <div class=\"mx-1\">\r\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\r\n </div> -->\r\n <div class=\"mx-1 text-truncate\">\r\n <span>{{selectedDateRangeName}}</span>\r\n <span>{{selectedDateRangeTextSegment1}}</span>\r\n <fa-icon\r\n *ngIf=\"selectedDateRangeTextSegment2\"\r\n class=\"mx-2\"\r\n [icon]=\"toIcon\"\r\n size=\"sm\"\r\n ></fa-icon>\r\n <span>{{selectedDateRangeTextSegment2}}</span>\r\n </div>\r\n </div>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"showPreviousAndNextButtons\"\r\n class=\"btn btn-white border rounded-end border-start-0 ps-2 sds-fw-400\"\r\n type=\"button\"\r\n [attr.aria-label]=\"nextPeriodAriaLabel\"\r\n [disabled]=\"isMaximumLimit || disabled\"\r\n (click)=\"goToNextDate()\"\r\n >\r\n <fa-icon [icon]=\"nextPeriodIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"sds-print-only h-100\">\r\n\r\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\r\n <div *ngIf=\"!useCustomDisplayContent\"\r\n class=\"d-flex justify-content-center align-items-center\">\r\n <!-- <div class=\"mx-1\">\r\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\r\n </div> -->\r\n <div class=\"mx-1 text-truncate\">\r\n <span>{{selectedDateRangeTextSegment1}}</span>\r\n <fa-icon\r\n *ngIf=\"selectedDateRangeTextSegment2\"\r\n class=\"mx-2\"\r\n [icon]=\"toIcon\"\r\n size=\"sm\"\r\n ></fa-icon>\r\n <span>{{selectedDateRangeTextSegment2}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n<dx-popover\r\n target=\"#pickerDropdown{{ randomIdReference }}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDatepicker\"\r\n (onHiding)=\"onHiddenCalendarPopover()\"\r\n (onShowing)=\"onShowingCalendarPopover()\"\r\n class=\"m-0 p-0\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-datepicker-popover ' + dropdownWrapperClass,\r\n id: dropdownWrapperId\r\n }\"\r\n>\r\n <dxo-animation>\r\n <dxo-show\r\n type=\"pop\"\r\n [from]=\"{ scale: 0.9 }\"\r\n [to]=\"{ scale: 1 }\"\r\n ></dxo-show>\r\n <dxo-hide\r\n type=\"fade\"\r\n [from]=\"1\"\r\n [to]=\"0\"\r\n ></dxo-hide>\r\n </dxo-animation>\r\n <div *dxTemplate=\"let data of 'content'\" (keydown)=\"onKeydown($event)\" tabindex=\"1\">\r\n <dx-scroll-view>\r\n <div class=\"d-flex flex-row\">\r\n\r\n <div\r\n *ngIf=\"style == 'compact' && dateRanges.length > 1\"\r\n class=\"d-flex flex-column p-3 bg-gray-100\"\r\n style=\"border-right: 1px solid var(--bs-gray-200)\"\r\n >\r\n <div\r\n *ngIf=\"translations.presets\" class=\"px-3 py-2\">\r\n <label>{{ translations.presets }}</label>\r\n </div>\r\n <div *ngFor=\"let range of dateRanges\">\r\n <div\r\n class=\"predefined-date-range px-3 py-2 w-100\"\r\n [class.selected]=\"range === selectedDateRange\"\r\n (click)=\"changDateRange(range)\"\r\n >\r\n {{range.name}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div id=\"datepickercomponent\">\r\n <div\r\n *ngIf=\"this.selectionKind == 'period'\"\r\n id=\"date-inputs\"\r\n class=\"d-flex flex-wrap justify-content-center align-items-center px-3 pt-3 pb-2\"\r\n >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <dx-date-box\r\n #selectedDateStartBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\r\n [class.activeInput]=\"selectedDateFocus\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"selectedDateStart\"\r\n (onValueChanged)=\"onStartDateChange($event)\"\r\n (onFocusIn)=\"onStartDateFocus()\"\r\n >\r\n </dx-date-box>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center px-2\">\r\n <fa-icon [icon]=\"toIcon\"></fa-icon>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <dx-date-box\r\n #selectedDateEndBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\r\n [class.activeInput]=\"!selectedDateFocus\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"selectedDateEnd\"\r\n (onValueChanged)=\"onEndDateChange($event)\"\r\n (onFocusIn)=\"onEndDateFocus()\"\r\n >\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-white mx-2 px-2 py-2 date-picker-date-selection\">\r\n <div\r\n *ngIf=\"this.selectionKind == 'single'\"\r\n id=\"date-inputs\"\r\n class=\"d-flex flex-wrap justify-content-center align-items-center p-2\"\r\n >\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <dx-date-box\r\n #singleDatePickerBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input datepicker-input-large\"\r\n [class.activeInput]=\"true\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [(value)]=\"selectedDateInternal\"\r\n >\r\n </dx-date-box>\r\n <!-- (onValueChanged)=\" closeDatepickerPopup()\" -->\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"d-flex justify-content-center align-items-center\"\r\n (click)=\"selectEndDate($event)\">\r\n\r\n <dx-calendar\r\n #calendar\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [disabledDates]=\"isDateDisabled\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"this.selectionKind == 'period' ? selectedDateCalendar : selectedDateInternal\"\r\n (onValueChanged)=\"onDateChange($event)\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n >\r\n <div\r\n *dxTemplate=\"let cellData of 'cell'\"\r\n [class]=\"'h-100 pt-1' + getCellCssClass(cellData.date)\"\r\n [style.line-height.px]=\"23\"\r\n\r\n >\r\n\r\n <div *ngIf=\"lockBeforeDate && (cellData.date | sdsDateCompare: lockBeforeDate : 'lte'); then thenLockBlock else elseDefaultBlock\"></div>\r\n <ng-template #thenLockBlock>\r\n <fa-icon [title]=\"lockBeforeDateHint\" [icon]=\"lockIcon\" class=\"locked-day position-absolute-x\"></fa-icon>\r\n </ng-template>\r\n <ng-template #elseDefaultBlock>\r\n {{ cellData.text }}\r\n </ng-template>\r\n </div>\r\n </dx-calendar>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"this.selectionKind == 'period'\"\r\n class=\"d-flex justify-content-end align-items-center px-3 pt-2 pb-3\"\r\n >\r\n <button\r\n class=\"btn btn-secondary sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n (click)=\"showDatepicker = false\"\r\n type=\"button\"\r\n >\r\n {{ translations.cancel}}\r\n </button>\r\n <!-- (click)=\"closeDatepickerPopup()\" -->\r\n <button\r\n class=\"btn btn-primary ms-1 sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n (click)=\"applyPeriodPicker()\"\r\n type=\"button\"\r\n >\r\n {{ translations.apply}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>\r\n<!-- </div> -->\r\n\r\n", styles: ["#datepickercomponent .datepicker-input{width:125px}#datepickercomponent .datepicker-input-large{width:250px!important}#datepickercomponent .datepicker-input.activeInput{border-color:#2886b1!important;border-width:2px!important}#datepickercomponent ::ng-deep .dx-calendar-cell{padding:inherit!important}#datepickercomponent ::ng-deep .dx-calendar-cell.dx-calendar-other-month{opacity:.5!important}#datepickercomponent .timebox-fixed-width{width:80px}#datepickercomponent ::ng-deep .text-center .dx-texteditor-input{text-align:center!important}#datepickercomponent ::ng-deep .p-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}#datepickercomponent ::ng-deep .px-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}.datepicker{display:inline-flex}.datepicker .border,.datepicker .border-bottom,.datepicker .border-top,.datepicker .border-left,.datepicker .border-right{border-color:var(--bs-gray-400)!important}.datepicker>button{border-radius:0;border-left:none;border-right:none}.datepicker .preselect-options-fixed-width{width:150px}.datepicker .selected-period{flex:1 1 auto}.datepicker .date-range-dropdown-button{box-shadow:none!important;border:1px solid white;flex:0;padding-top:.3rem!important;padding-bottom:.3rem!important}.datepicker .date-range-text{flex:1;min-width:0;text-align:start}.predefined-date-range{cursor:pointer;font-size:1rem;line-height:1.5rem;min-width:10rem;border-radius:2px}.predefined-date-range:hover{background-color:#0000000a}.predefined-date-range:active{color:#fff;background-color:#3b8fc2}.predefined-date-range.selected:not(:active){background-color:#e6e6e6}::ng-deep .sds-datepicker-popover.dx-popover-wrapper .dx-popup-content{padding:0}::ng-deep .sds-datepicker-ranges-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-datepicker-ranges-popover .dropdown-item:focus{outline:none}::ng-deep .sds-datepicker-ranges-popover .dropdown-item .selected{background-color:var(--bs-gray-300)}::ng-deep .sds-datepicker-popover .date-picker-date-selection dx-calendar .dx-calendar-cell.dx-calendar-empty-cell:has(fa-icon.locked-day){background:initial!important}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SdsDateComparePipe, name: "sdsDateCompare" }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i3.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i4.DxoAnimationComponent, selector: "dxo-animation", inputs: ["hide", "show", "duration", "easing", "enabled", "maxPointCountSupported", "complete", "delay", "direction", "from", "staggerDelay", "start", "to", "type"] }, { kind: "component", type: i4.DxoHideComponent, selector: "dxo-hide", inputs: ["complete", "delay", "direction", "duration", "easing", "from", "staggerDelay", "start", "to", "type"] }, { kind: "component", type: i4.DxoShowComponent, selector: "dxo-show", inputs: ["complete", "delay", "direction", "duration", "easing", "from", "staggerDelay", "start", "to", "type"] }, { kind: "directive", type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: DxTemplateModule }, { kind: "ngmodule", type: DxoAnimationModule }, { kind: "ngmodule", type: DxoShowModule }, { kind: "ngmodule", type: DxoHideModule }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i6.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { kind: "ngmodule", type: DxDateBoxModule }, { kind: "component", type: i7.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isDirty", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "todayButtonText", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "todayButtonTextChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "ngmodule", type: DxCalendarModule }, { kind: "component", type: i7.DxCalendarComponent, selector: "dx-calendar", inputs: ["accessKey", "activeStateEnabled", "cellTemplate", "dateSerializationFormat", "disabled", "disabledDates", "elementAttr", "firstDayOfWeek", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "isDirty", "isValid", "max", "maxZoomLevel", "min", "minZoomLevel", "name", "readOnly", "rtlEnabled", "selectionMode", "selectWeekOnClick", "showTodayButton", "showWeekNumbers", "tabIndex", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "weekNumberRule", "width", "zoomLevel"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "cellTemplateChange", "dateSerializationFormatChange", "disabledChange", "disabledDatesChange", "elementAttrChange", "firstDayOfWeekChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "isDirtyChange", "isValidChange", "maxChange", "maxZoomLevelChange", "minChange", "minZoomLevelChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "selectionModeChange", "selectWeekOnClickChange", "showTodayButtonChange", "showWeekNumbersChange", "tabIndexChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "weekNumberRuleChange", "widthChange", "zoomLevelChange", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
897
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsDatePickerComponent, isStandalone: true, selector: "sds-date-picker", inputs: { selectionKind: "selectionKind", dateRangeDefinitions: "dateRangeDefinitions", selectedDate: "selectedDate", selectedDateStart: "selectedDateStart", singleDayFormatFn: "singleDayFormatFn", dateRangeFormatFn: "dateRangeFormatFn", selectedDateEnd: "selectedDateEnd", minDate: "minDate", maxDate: "maxDate", locales: "locales", disabled: "disabled", validationError: "validationError", isValid: "isValid", disabledDates: "disabledDates", applyText: "applyText", cancelText: "cancelText", translations: "translations", firstDayOfWeek: "firstDayOfWeek", dateRangeDefinitionsWidth: "dateRangeDefinitionsWidth", showPreviousAndNextButtons: "showPreviousAndNextButtons", width: "width", dropdownWrapperClass: "dropdownWrapperClass", dropdownWrapperId: "dropdownWrapperId", getPreviousDateCallback: "getPreviousDateCallback", getNextDateCallback: "getNextDateCallback", getPreviousRangeCallback: "getPreviousRangeCallback", getNextRangeCallback: "getNextRangeCallback", useCustomDisplayContent: "useCustomDisplayContent", displayPredefinedDateRangeName: "displayPredefinedDateRangeName", style: "style", compactStyleDisplay: "compactStyleDisplay", dateInputDisplayFormat: "dateInputDisplayFormat", componentAriaLabel: "componentAriaLabel", openDateRangeDefinitionsAriaLabel: "openDateRangeDefinitionsAriaLabel", nextPeriodAriaLabel: "nextPeriodAriaLabel", previousPeriodAriaLabel: "previousPeriodAriaLabel", lockBeforeDate: "lockBeforeDate", lockBeforeDateHint: "lockBeforeDateHint" }, outputs: { selectedDateChange: "selectedDateChange", selectedDateStartChange: "selectedDateStartChange", selectedDateEndChange: "selectedDateEndChange", periodChange: "periodChange" }, queries: [{ propertyName: "displayContent", first: true, predicate: ["display"], descendants: true }], viewQueries: [{ propertyName: "singleDatePickerBox", first: true, predicate: ["singleDatePickerBox"], descendants: true }, { propertyName: "selectedDateStartBox", first: true, predicate: ["selectedDateStartBox"], descendants: true }, { propertyName: "selectedDateEndBox", first: true, predicate: ["selectedDateEndBox"], descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "_selectedDateRangeButton", first: true, predicate: ["selectedDateRangeButton"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<!-- <div id=\"datepickerbuttons\"> -->\n <div\n class=\"datepicker d-inline-flex bg-white sds-no-print\"\n role=\"group\"\n [attr.aria-label]=\"componentAriaLabel\"\n [style.width]=\"width\"\n >\n\n <ng-container *ngIf=\"style == 'classic'\">\n <div\n class=\"btn-group\"\n role=\"group\"\n >\n <button\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\n id=\"pickerPredefinedRangeDropdown{{ randomIdReference }}\"\n type=\"button\"\n class=\"\n btn btn-white\n border\n rounded-start\n border-end\n p-0\n sds-fw-400\"\n [disabled]=\"disabled\"\n [style.width]=\"dateRangeDefinitionsWidth\"\n (click)=\"toggleDateRangeSelectorVisibility()\"\n >\n <div class=\"d-flex align-items-center\">\n <div class=\"ps-2 ms-1 me-1 date-range-text text-truncate\">\n {{selectedDateRange.name}}\n </div>\n <button type=\"button\" class=\"btn btn-light date-range-dropdown-button sds-fw-400\" [attr.aria-label]=\"openDateRangeDefinitionsAriaLabel\"\n [attr.aria-controls]=\"elementUUID + '_predefined_periods_dropdown'\">\n <span class=\"dropdown-toggle\"></span>\n </button>\n </div>\n\n </button>\n\n <dx-popover\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\n [id]=\"elementUUID + '_predefined_periods_dropdown'\"\n target=\"#pickerPredefinedRangeDropdown{{ randomIdReference }}\"\n position=\"bottom\"\n [(visible)]=\"showPredefinedOptionsSelector\"\n [wrapperAttr]=\"{ class: 'sds-datepicker-ranges-popover sds-dx-popup-no-arrow' }\"\n [minWidth]=\"dateRangeDefinitionsWidth\"\n\n >\n <div *dxTemplate=\"let data of 'content'\" cdkTrapFocus>\n <div *ngFor=\"let range of dateRanges\">\n <div\n role=\"button\"\n tabindex=\"0\"\n class=\"predefined-date-range px-3 py-2 w-100\"\n [class.selected]=\"range === selectedDateRange\"\n (click)=\"changDateRange(range)\"\n (keydown)=\"onRangeKeyReleased($event, range)\"\n >\n {{range.name}}\n </div>\n </div>\n </div>\n </dx-popover>\n </div>\n </ng-container>\n\n\n <button\n *ngIf=\"showPreviousAndNextButtons\"\n class=\"btn btn-white border border-end-0 pe-2 sds-fw-400\"\n [class.rounded-start] = \"style == 'compact' || (!dateRangeDefinitions || dateRangeDefinitions.length === 0)\"\n [class.border-start-0] = \"style == 'classic' && dateRangeDefinitions.length > 0\"\n type=\"button\"\n [attr.aria-label]=\"previousPeriodAriaLabel\"\n [disabled]=\"isMinimumLimit || disabled\"\n (click)=\"goToPreviousDate()\"\n >\n <fa-icon [icon]=\"previousPeriodIcon\"></fa-icon>\n\n </button>\n\n <button\n #selectedDateRangeButton\n id=\"pickerDropdown{{ randomIdReference }}\"\n class=\"btn btn-white border-top border-bottom text-truncate px-0 selected-period sds-fw-400\"\n [class.rounded-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\n [class.border-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\n [class.rounded-end] = \"!showPreviousAndNextButtons\"\n [class.border-end] = \"!showPreviousAndNextButtons\"\n [disabled]=\"disabled\"\n type=\"button\"\n (click)=\"showDatepicker = !showDatepicker\"\n >\n\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\n <div *ngIf=\"!useCustomDisplayContent\"\n class=\"d-flex justify-content-center align-items-center\">\n <!-- <div class=\"mx-1\">\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\n </div> -->\n <div class=\"mx-1 text-truncate\">\n <span>{{selectedDateRangeName}}</span>\n <span>{{selectedDateRangeTextSegment1}}</span>\n <fa-icon\n *ngIf=\"selectedDateRangeTextSegment2\"\n class=\"mx-2\"\n [icon]=\"toIcon\"\n size=\"sm\"\n ></fa-icon>\n <span>{{selectedDateRangeTextSegment2}}</span>\n </div>\n </div>\n </button>\n\n <button\n *ngIf=\"showPreviousAndNextButtons\"\n class=\"btn btn-white border rounded-end border-start-0 ps-2 sds-fw-400\"\n type=\"button\"\n [attr.aria-label]=\"nextPeriodAriaLabel\"\n [disabled]=\"isMaximumLimit || disabled\"\n (click)=\"goToNextDate()\"\n >\n <fa-icon [icon]=\"nextPeriodIcon\"></fa-icon>\n </button>\n </div>\n\n <div class=\"sds-print-only h-100\">\n\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\n <div *ngIf=\"!useCustomDisplayContent\"\n class=\"d-flex justify-content-center align-items-center\">\n <!-- <div class=\"mx-1\">\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\n </div> -->\n <div class=\"mx-1 text-truncate\">\n <span>{{selectedDateRangeTextSegment1}}</span>\n <fa-icon\n *ngIf=\"selectedDateRangeTextSegment2\"\n class=\"mx-2\"\n [icon]=\"toIcon\"\n size=\"sm\"\n ></fa-icon>\n <span>{{selectedDateRangeTextSegment2}}</span>\n </div>\n </div>\n </div>\n\n<dx-popover\n target=\"#pickerDropdown{{ randomIdReference }}\"\n position=\"bottom\"\n [(visible)]=\"showDatepicker\"\n (onHiding)=\"onHiddenCalendarPopover()\"\n (onShowing)=\"onShowingCalendarPopover()\"\n class=\"m-0 p-0\"\n [wrapperAttr]=\"{\n class: 'sds-datepicker-popover ' + dropdownWrapperClass,\n id: dropdownWrapperId\n }\"\n>\n <dxo-animation>\n <dxo-show\n type=\"pop\"\n [from]=\"{ scale: 0.9 }\"\n [to]=\"{ scale: 1 }\"\n ></dxo-show>\n <dxo-hide\n type=\"fade\"\n [from]=\"1\"\n [to]=\"0\"\n ></dxo-hide>\n </dxo-animation>\n <div *dxTemplate=\"let data of 'content'\" (keydown)=\"onKeydown($event)\" tabindex=\"1\">\n <dx-scroll-view>\n <div class=\"d-flex flex-row\">\n\n <div\n *ngIf=\"style == 'compact' && dateRanges.length > 1\"\n class=\"d-flex flex-column p-3 bg-gray-100\"\n style=\"border-right: 1px solid var(--bs-gray-200)\"\n >\n <div\n *ngIf=\"translations.presets\" class=\"px-3 py-2\">\n <label>{{ translations.presets }}</label>\n </div>\n <div *ngFor=\"let range of dateRanges\">\n <div\n class=\"predefined-date-range px-3 py-2 w-100\"\n [class.selected]=\"range === selectedDateRange\"\n (click)=\"changDateRange(range)\"\n >\n {{range.name}}\n </div>\n </div>\n </div>\n\n\n <div id=\"datepickercomponent\">\n <div\n *ngIf=\"this.selectionKind == 'period'\"\n id=\"date-inputs\"\n class=\"d-flex flex-wrap justify-content-center align-items-center px-3 pt-3 pb-2\"\n >\n <div class=\"d-flex justify-content-between align-items-center\">\n <dx-date-box\n #selectedDateStartBox\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\n [class.activeInput]=\"selectedDateFocus\"\n [showClearButton]=\"false\"\n [showDropDownButton]=\"false\"\n [useMaskBehavior]=\"true\"\n [displayFormat]=\"dateInputDisplayFormat\"\n type=\"date\"\n [min]=\"minDate || minDateDefault\"\n [max]=\"maxDate || maxDateDefault\"\n [isValid]=\"isValid\"\n [validationError]=\"validationError\"\n [disabled]=\"disabled\"\n [value]=\"selectedDateStart\"\n (onValueChanged)=\"onStartDateChange($event)\"\n (onFocusIn)=\"onStartDateFocus()\"\n >\n </dx-date-box>\n </div>\n\n <div class=\"d-flex justify-content-center align-items-center px-2\">\n <fa-icon [icon]=\"toIcon\"></fa-icon>\n </div>\n\n <div class=\"d-flex justify-content-center align-items-center\">\n <dx-date-box\n #selectedDateEndBox\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\n [class.activeInput]=\"!selectedDateFocus\"\n [showClearButton]=\"false\"\n [showDropDownButton]=\"false\"\n [useMaskBehavior]=\"true\"\n [displayFormat]=\"dateInputDisplayFormat\"\n type=\"date\"\n [min]=\"minDate || minDateDefault\"\n [max]=\"maxDate || maxDateDefault\"\n [isValid]=\"isValid\"\n [validationError]=\"validationError\"\n [disabled]=\"disabled\"\n [value]=\"selectedDateEnd\"\n (onValueChanged)=\"onEndDateChange($event)\"\n (onFocusIn)=\"onEndDateFocus()\"\n >\n </dx-date-box>\n </div>\n </div>\n\n <div class=\"bg-white mx-2 px-2 py-2 date-picker-date-selection\">\n <div\n *ngIf=\"this.selectionKind == 'single'\"\n id=\"date-inputs\"\n class=\"d-flex flex-wrap justify-content-center align-items-center p-2\"\n >\n <div class=\"d-flex justify-content-center align-items-center\">\n <dx-date-box\n #singleDatePickerBox\n class=\"border p-1 m-0 text-center rounded datepicker-input datepicker-input-large\"\n [class.activeInput]=\"true\"\n [showClearButton]=\"false\"\n [showDropDownButton]=\"false\"\n [useMaskBehavior]=\"true\"\n [displayFormat]=\"dateInputDisplayFormat\"\n type=\"date\"\n [min]=\"minDate || minDateDefault\"\n [max]=\"maxDate || maxDateDefault\"\n [isValid]=\"isValid\"\n [validationError]=\"validationError\"\n [disabled]=\"disabled\"\n [(value)]=\"selectedDateInternal\"\n >\n </dx-date-box>\n <!-- (onValueChanged)=\" closeDatepickerPopup()\" -->\n </div>\n </div>\n\n <div\n class=\"d-flex justify-content-center align-items-center\"\n (click)=\"selectEndDate($event)\">\n\n <dx-calendar\n #calendar\n [min]=\"minDate || minDateDefault\"\n [max]=\"maxDate || maxDateDefault\"\n [disabledDates]=\"isDateDisabled\"\n [isValid]=\"isValid\"\n [validationError]=\"validationError\"\n [disabled]=\"disabled\"\n [value]=\"this.selectionKind == 'period' ? selectedDateCalendar : selectedDateInternal\"\n (onValueChanged)=\"onDateChange($event)\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n >\n <div\n *dxTemplate=\"let cellData of 'cell'\"\n [class]=\"'h-100 pt-1' + getCellCssClass(cellData.date)\"\n [style.line-height.px]=\"23\"\n\n >\n\n <div *ngIf=\"lockBeforeDate && (cellData.date | sdsDateCompare: lockBeforeDate : 'lte'); then thenLockBlock else elseDefaultBlock\"></div>\n <ng-template #thenLockBlock>\n <fa-icon [title]=\"lockBeforeDateHint\" [icon]=\"lockIcon\" class=\"locked-day position-absolute-x\"></fa-icon>\n </ng-template>\n <ng-template #elseDefaultBlock>\n {{ cellData.text }}\n </ng-template>\n </div>\n </dx-calendar>\n </div>\n </div>\n\n <div\n *ngIf=\"this.selectionKind == 'period'\"\n class=\"d-flex justify-content-end align-items-center px-3 pt-2 pb-3\"\n >\n <button\n class=\"sds-btn-secondary sds-fw-400\"\n [disabled]=\"disabled\"\n (click)=\"showDatepicker = false\"\n type=\"button\"\n >\n {{ translations.cancel}}\n </button>\n <!-- (click)=\"closeDatepickerPopup()\" -->\n <button\n class=\"sds-btn-primary ms-1 sds-fw-400\"\n [disabled]=\"disabled\"\n (click)=\"applyPeriodPicker()\"\n type=\"button\"\n >\n {{ translations.apply}}\n </button>\n </div>\n </div>\n </div>\n </dx-scroll-view>\n </div>\n</dx-popover>\n<!-- </div> -->\n\n", styles: ["#datepickercomponent .datepicker-input{width:125px}#datepickercomponent .datepicker-input-large{width:250px!important}#datepickercomponent .datepicker-input.activeInput{border-color:#2886b1!important;border-width:2px!important}#datepickercomponent ::ng-deep .dx-calendar-cell{padding:inherit!important}#datepickercomponent ::ng-deep .dx-calendar-cell.dx-calendar-other-month{opacity:.5!important}#datepickercomponent .timebox-fixed-width{width:80px}#datepickercomponent ::ng-deep .text-center .dx-texteditor-input{text-align:center!important}#datepickercomponent ::ng-deep .p-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}#datepickercomponent ::ng-deep .px-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}.datepicker{display:inline-flex}.datepicker .border,.datepicker .border-bottom,.datepicker .border-top,.datepicker .border-left,.datepicker .border-right{border-color:var(--bs-gray-400)!important}.datepicker>button{border-radius:0;border-left:none;border-right:none}.datepicker .preselect-options-fixed-width{width:150px}.datepicker .selected-period{flex:1 1 auto}.datepicker .date-range-dropdown-button{box-shadow:none!important;border:1px solid white;flex:0;padding-top:.3rem!important;padding-bottom:.3rem!important}.datepicker .date-range-text{flex:1;min-width:0;text-align:start}.predefined-date-range{cursor:pointer;font-size:1rem;line-height:1.5rem;min-width:10rem;border-radius:2px}.predefined-date-range:hover{background-color:#0000000a}.predefined-date-range:active{color:#fff;background-color:#3b8fc2}.predefined-date-range.selected:not(:active){background-color:#e6e6e6}::ng-deep .sds-datepicker-popover.dx-popover-wrapper .dx-popup-content{padding:0}::ng-deep .sds-datepicker-ranges-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-datepicker-ranges-popover .dropdown-item:focus{outline:none}::ng-deep .sds-datepicker-ranges-popover .dropdown-item .selected{background-color:var(--bs-gray-300)}::ng-deep .sds-datepicker-popover .date-picker-date-selection dx-calendar .dx-calendar-cell.dx-calendar-empty-cell:has(fa-icon.locked-day){background:initial!important}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SdsDateComparePipe, name: "sdsDateCompare" }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i3.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i4.DxoAnimationComponent, selector: "dxo-animation", inputs: ["hide", "show", "duration", "easing", "enabled", "maxPointCountSupported", "complete", "delay", "direction", "from", "staggerDelay", "start", "to", "type"] }, { kind: "component", type: i4.DxoHideComponent, selector: "dxo-hide", inputs: ["complete", "delay", "direction", "duration", "easing", "from", "staggerDelay", "start", "to", "type"] }, { kind: "component", type: i4.DxoShowComponent, selector: "dxo-show", inputs: ["complete", "delay", "direction", "duration", "easing", "from", "staggerDelay", "start", "to", "type"] }, { kind: "directive", type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: DxTemplateModule }, { kind: "ngmodule", type: DxoAnimationModule }, { kind: "ngmodule", type: DxoShowModule }, { kind: "ngmodule", type: DxoHideModule }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i6.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { kind: "ngmodule", type: DxDateBoxModule }, { kind: "component", type: i7.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isDirty", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "todayButtonText", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "todayButtonTextChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "ngmodule", type: DxCalendarModule }, { kind: "component", type: i7.DxCalendarComponent, selector: "dx-calendar", inputs: ["accessKey", "activeStateEnabled", "cellTemplate", "dateSerializationFormat", "disabled", "disabledDates", "elementAttr", "firstDayOfWeek", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "isDirty", "isValid", "max", "maxZoomLevel", "min", "minZoomLevel", "name", "readOnly", "rtlEnabled", "selectionMode", "selectWeekOnClick", "showTodayButton", "showWeekNumbers", "tabIndex", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "weekNumberRule", "width", "zoomLevel"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "cellTemplateChange", "dateSerializationFormatChange", "disabledChange", "disabledDatesChange", "elementAttrChange", "firstDayOfWeekChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "isDirtyChange", "isValidChange", "maxChange", "maxZoomLevelChange", "minChange", "minZoomLevelChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "selectionModeChange", "selectWeekOnClickChange", "showTodayButtonChange", "showWeekNumbersChange", "tabIndexChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "weekNumberRuleChange", "widthChange", "zoomLevelChange", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
898
898
|
}
|
|
899
899
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDatePickerComponent, decorators: [{
|
|
900
900
|
type: Component,
|
|
@@ -912,7 +912,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
912
912
|
DxScrollViewModule,
|
|
913
913
|
DxDateBoxModule,
|
|
914
914
|
DxCalendarModule,
|
|
915
|
-
], template: "<!-- <div id=\"datepickerbuttons\"> -->\r\n <div\r\n class=\"datepicker d-inline-flex bg-white sds-no-print\"\r\n role=\"group\"\r\n [attr.aria-label]=\"componentAriaLabel\"\r\n [style.width]=\"width\"\r\n >\r\n\r\n <ng-container *ngIf=\"style == 'classic'\">\r\n <div\r\n class=\"btn-group\"\r\n role=\"group\"\r\n >\r\n <button\r\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\r\n id=\"pickerPredefinedRangeDropdown{{ randomIdReference }}\"\r\n type=\"button\"\r\n class=\"\r\n btn btn-white\r\n border\r\n rounded-start\r\n border-end\r\n p-0\r\n sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n [style.width]=\"dateRangeDefinitionsWidth\"\r\n (click)=\"toggleDateRangeSelectorVisibility()\"\r\n >\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"ps-2 ms-1 me-1 date-range-text text-truncate\">\r\n {{selectedDateRange.name}}\r\n </div>\r\n <button type=\"button\" class=\"btn btn-light date-range-dropdown-button sds-fw-400\" [attr.aria-label]=\"openDateRangeDefinitionsAriaLabel\"\r\n [attr.aria-controls]=\"elementUUID + '_predefined_periods_dropdown'\">\r\n <span class=\"dropdown-toggle\"></span>\r\n </button>\r\n </div>\r\n\r\n </button>\r\n\r\n <dx-popover\r\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\r\n [id]=\"elementUUID + '_predefined_periods_dropdown'\"\r\n target=\"#pickerPredefinedRangeDropdown{{ randomIdReference }}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showPredefinedOptionsSelector\"\r\n [wrapperAttr]=\"{ class: 'sds-datepicker-ranges-popover sds-dx-popup-no-arrow' }\"\r\n [minWidth]=\"dateRangeDefinitionsWidth\"\r\n\r\n >\r\n <div *dxTemplate=\"let data of 'content'\" cdkTrapFocus>\r\n <div *ngFor=\"let range of dateRanges\">\r\n <div\r\n role=\"button\"\r\n tabindex=\"0\"\r\n class=\"predefined-date-range px-3 py-2 w-100\"\r\n [class.selected]=\"range === selectedDateRange\"\r\n (click)=\"changDateRange(range)\"\r\n (keydown)=\"onRangeKeyReleased($event, range)\"\r\n >\r\n {{range.name}}\r\n </div>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <button\r\n *ngIf=\"showPreviousAndNextButtons\"\r\n class=\"btn btn-white border border-end-0 pe-2 sds-fw-400\"\r\n [class.rounded-start] = \"style == 'compact' || (!dateRangeDefinitions || dateRangeDefinitions.length === 0)\"\r\n [class.border-start-0] = \"style == 'classic' && dateRangeDefinitions.length > 0\"\r\n type=\"button\"\r\n [attr.aria-label]=\"previousPeriodAriaLabel\"\r\n [disabled]=\"isMinimumLimit || disabled\"\r\n (click)=\"goToPreviousDate()\"\r\n >\r\n <fa-icon [icon]=\"previousPeriodIcon\"></fa-icon>\r\n\r\n </button>\r\n\r\n <button\r\n #selectedDateRangeButton\r\n id=\"pickerDropdown{{ randomIdReference }}\"\r\n class=\"btn btn-white border-top border-bottom text-truncate px-0 selected-period sds-fw-400\"\r\n [class.rounded-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\r\n [class.border-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\r\n [class.rounded-end] = \"!showPreviousAndNextButtons\"\r\n [class.border-end] = \"!showPreviousAndNextButtons\"\r\n [disabled]=\"disabled\"\r\n type=\"button\"\r\n (click)=\"showDatepicker = !showDatepicker\"\r\n >\r\n\r\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\r\n <div *ngIf=\"!useCustomDisplayContent\"\r\n class=\"d-flex justify-content-center align-items-center\">\r\n <!-- <div class=\"mx-1\">\r\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\r\n </div> -->\r\n <div class=\"mx-1 text-truncate\">\r\n <span>{{selectedDateRangeName}}</span>\r\n <span>{{selectedDateRangeTextSegment1}}</span>\r\n <fa-icon\r\n *ngIf=\"selectedDateRangeTextSegment2\"\r\n class=\"mx-2\"\r\n [icon]=\"toIcon\"\r\n size=\"sm\"\r\n ></fa-icon>\r\n <span>{{selectedDateRangeTextSegment2}}</span>\r\n </div>\r\n </div>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"showPreviousAndNextButtons\"\r\n class=\"btn btn-white border rounded-end border-start-0 ps-2 sds-fw-400\"\r\n type=\"button\"\r\n [attr.aria-label]=\"nextPeriodAriaLabel\"\r\n [disabled]=\"isMaximumLimit || disabled\"\r\n (click)=\"goToNextDate()\"\r\n >\r\n <fa-icon [icon]=\"nextPeriodIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"sds-print-only h-100\">\r\n\r\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\r\n <div *ngIf=\"!useCustomDisplayContent\"\r\n class=\"d-flex justify-content-center align-items-center\">\r\n <!-- <div class=\"mx-1\">\r\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\r\n </div> -->\r\n <div class=\"mx-1 text-truncate\">\r\n <span>{{selectedDateRangeTextSegment1}}</span>\r\n <fa-icon\r\n *ngIf=\"selectedDateRangeTextSegment2\"\r\n class=\"mx-2\"\r\n [icon]=\"toIcon\"\r\n size=\"sm\"\r\n ></fa-icon>\r\n <span>{{selectedDateRangeTextSegment2}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n<dx-popover\r\n target=\"#pickerDropdown{{ randomIdReference }}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDatepicker\"\r\n (onHiding)=\"onHiddenCalendarPopover()\"\r\n (onShowing)=\"onShowingCalendarPopover()\"\r\n class=\"m-0 p-0\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-datepicker-popover ' + dropdownWrapperClass,\r\n id: dropdownWrapperId\r\n }\"\r\n>\r\n <dxo-animation>\r\n <dxo-show\r\n type=\"pop\"\r\n [from]=\"{ scale: 0.9 }\"\r\n [to]=\"{ scale: 1 }\"\r\n ></dxo-show>\r\n <dxo-hide\r\n type=\"fade\"\r\n [from]=\"1\"\r\n [to]=\"0\"\r\n ></dxo-hide>\r\n </dxo-animation>\r\n <div *dxTemplate=\"let data of 'content'\" (keydown)=\"onKeydown($event)\" tabindex=\"1\">\r\n <dx-scroll-view>\r\n <div class=\"d-flex flex-row\">\r\n\r\n <div\r\n *ngIf=\"style == 'compact' && dateRanges.length > 1\"\r\n class=\"d-flex flex-column p-3 bg-gray-100\"\r\n style=\"border-right: 1px solid var(--bs-gray-200)\"\r\n >\r\n <div\r\n *ngIf=\"translations.presets\" class=\"px-3 py-2\">\r\n <label>{{ translations.presets }}</label>\r\n </div>\r\n <div *ngFor=\"let range of dateRanges\">\r\n <div\r\n class=\"predefined-date-range px-3 py-2 w-100\"\r\n [class.selected]=\"range === selectedDateRange\"\r\n (click)=\"changDateRange(range)\"\r\n >\r\n {{range.name}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div id=\"datepickercomponent\">\r\n <div\r\n *ngIf=\"this.selectionKind == 'period'\"\r\n id=\"date-inputs\"\r\n class=\"d-flex flex-wrap justify-content-center align-items-center px-3 pt-3 pb-2\"\r\n >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <dx-date-box\r\n #selectedDateStartBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\r\n [class.activeInput]=\"selectedDateFocus\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"selectedDateStart\"\r\n (onValueChanged)=\"onStartDateChange($event)\"\r\n (onFocusIn)=\"onStartDateFocus()\"\r\n >\r\n </dx-date-box>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center px-2\">\r\n <fa-icon [icon]=\"toIcon\"></fa-icon>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <dx-date-box\r\n #selectedDateEndBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\r\n [class.activeInput]=\"!selectedDateFocus\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"selectedDateEnd\"\r\n (onValueChanged)=\"onEndDateChange($event)\"\r\n (onFocusIn)=\"onEndDateFocus()\"\r\n >\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-white mx-2 px-2 py-2 date-picker-date-selection\">\r\n <div\r\n *ngIf=\"this.selectionKind == 'single'\"\r\n id=\"date-inputs\"\r\n class=\"d-flex flex-wrap justify-content-center align-items-center p-2\"\r\n >\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <dx-date-box\r\n #singleDatePickerBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input datepicker-input-large\"\r\n [class.activeInput]=\"true\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [(value)]=\"selectedDateInternal\"\r\n >\r\n </dx-date-box>\r\n <!-- (onValueChanged)=\" closeDatepickerPopup()\" -->\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"d-flex justify-content-center align-items-center\"\r\n (click)=\"selectEndDate($event)\">\r\n\r\n <dx-calendar\r\n #calendar\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [disabledDates]=\"isDateDisabled\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"this.selectionKind == 'period' ? selectedDateCalendar : selectedDateInternal\"\r\n (onValueChanged)=\"onDateChange($event)\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n >\r\n <div\r\n *dxTemplate=\"let cellData of 'cell'\"\r\n [class]=\"'h-100 pt-1' + getCellCssClass(cellData.date)\"\r\n [style.line-height.px]=\"23\"\r\n\r\n >\r\n\r\n <div *ngIf=\"lockBeforeDate && (cellData.date | sdsDateCompare: lockBeforeDate : 'lte'); then thenLockBlock else elseDefaultBlock\"></div>\r\n <ng-template #thenLockBlock>\r\n <fa-icon [title]=\"lockBeforeDateHint\" [icon]=\"lockIcon\" class=\"locked-day position-absolute-x\"></fa-icon>\r\n </ng-template>\r\n <ng-template #elseDefaultBlock>\r\n {{ cellData.text }}\r\n </ng-template>\r\n </div>\r\n </dx-calendar>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"this.selectionKind == 'period'\"\r\n class=\"d-flex justify-content-end align-items-center px-3 pt-2 pb-3\"\r\n >\r\n <button\r\n class=\"btn btn-secondary sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n (click)=\"showDatepicker = false\"\r\n type=\"button\"\r\n >\r\n {{ translations.cancel}}\r\n </button>\r\n <!-- (click)=\"closeDatepickerPopup()\" -->\r\n <button\r\n class=\"btn btn-primary ms-1 sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n (click)=\"applyPeriodPicker()\"\r\n type=\"button\"\r\n >\r\n {{ translations.apply}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>\r\n<!-- </div> -->\r\n\r\n", styles: ["#datepickercomponent .datepicker-input{width:125px}#datepickercomponent .datepicker-input-large{width:250px!important}#datepickercomponent .datepicker-input.activeInput{border-color:#2886b1!important;border-width:2px!important}#datepickercomponent ::ng-deep .dx-calendar-cell{padding:inherit!important}#datepickercomponent ::ng-deep .dx-calendar-cell.dx-calendar-other-month{opacity:.5!important}#datepickercomponent .timebox-fixed-width{width:80px}#datepickercomponent ::ng-deep .text-center .dx-texteditor-input{text-align:center!important}#datepickercomponent ::ng-deep .p-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}#datepickercomponent ::ng-deep .px-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}.datepicker{display:inline-flex}.datepicker .border,.datepicker .border-bottom,.datepicker .border-top,.datepicker .border-left,.datepicker .border-right{border-color:var(--bs-gray-400)!important}.datepicker>button{border-radius:0;border-left:none;border-right:none}.datepicker .preselect-options-fixed-width{width:150px}.datepicker .selected-period{flex:1 1 auto}.datepicker .date-range-dropdown-button{box-shadow:none!important;border:1px solid white;flex:0;padding-top:.3rem!important;padding-bottom:.3rem!important}.datepicker .date-range-text{flex:1;min-width:0;text-align:start}.predefined-date-range{cursor:pointer;font-size:1rem;line-height:1.5rem;min-width:10rem;border-radius:2px}.predefined-date-range:hover{background-color:#0000000a}.predefined-date-range:active{color:#fff;background-color:#3b8fc2}.predefined-date-range.selected:not(:active){background-color:#e6e6e6}::ng-deep .sds-datepicker-popover.dx-popover-wrapper .dx-popup-content{padding:0}::ng-deep .sds-datepicker-ranges-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-datepicker-ranges-popover .dropdown-item:focus{outline:none}::ng-deep .sds-datepicker-ranges-popover .dropdown-item .selected{background-color:var(--bs-gray-300)}::ng-deep .sds-datepicker-popover .date-picker-date-selection dx-calendar .dx-calendar-cell.dx-calendar-empty-cell:has(fa-icon.locked-day){background:initial!important}\n"] }]
|
|
915
|
+
], template: "<!-- <div id=\"datepickerbuttons\"> -->\n <div\n class=\"datepicker d-inline-flex bg-white sds-no-print\"\n role=\"group\"\n [attr.aria-label]=\"componentAriaLabel\"\n [style.width]=\"width\"\n >\n\n <ng-container *ngIf=\"style == 'classic'\">\n <div\n class=\"btn-group\"\n role=\"group\"\n >\n <button\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\n id=\"pickerPredefinedRangeDropdown{{ randomIdReference }}\"\n type=\"button\"\n class=\"\n btn btn-white\n border\n rounded-start\n border-end\n p-0\n sds-fw-400\"\n [disabled]=\"disabled\"\n [style.width]=\"dateRangeDefinitionsWidth\"\n (click)=\"toggleDateRangeSelectorVisibility()\"\n >\n <div class=\"d-flex align-items-center\">\n <div class=\"ps-2 ms-1 me-1 date-range-text text-truncate\">\n {{selectedDateRange.name}}\n </div>\n <button type=\"button\" class=\"btn btn-light date-range-dropdown-button sds-fw-400\" [attr.aria-label]=\"openDateRangeDefinitionsAriaLabel\"\n [attr.aria-controls]=\"elementUUID + '_predefined_periods_dropdown'\">\n <span class=\"dropdown-toggle\"></span>\n </button>\n </div>\n\n </button>\n\n <dx-popover\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\n [id]=\"elementUUID + '_predefined_periods_dropdown'\"\n target=\"#pickerPredefinedRangeDropdown{{ randomIdReference }}\"\n position=\"bottom\"\n [(visible)]=\"showPredefinedOptionsSelector\"\n [wrapperAttr]=\"{ class: 'sds-datepicker-ranges-popover sds-dx-popup-no-arrow' }\"\n [minWidth]=\"dateRangeDefinitionsWidth\"\n\n >\n <div *dxTemplate=\"let data of 'content'\" cdkTrapFocus>\n <div *ngFor=\"let range of dateRanges\">\n <div\n role=\"button\"\n tabindex=\"0\"\n class=\"predefined-date-range px-3 py-2 w-100\"\n [class.selected]=\"range === selectedDateRange\"\n (click)=\"changDateRange(range)\"\n (keydown)=\"onRangeKeyReleased($event, range)\"\n >\n {{range.name}}\n </div>\n </div>\n </div>\n </dx-popover>\n </div>\n </ng-container>\n\n\n <button\n *ngIf=\"showPreviousAndNextButtons\"\n class=\"btn btn-white border border-end-0 pe-2 sds-fw-400\"\n [class.rounded-start] = \"style == 'compact' || (!dateRangeDefinitions || dateRangeDefinitions.length === 0)\"\n [class.border-start-0] = \"style == 'classic' && dateRangeDefinitions.length > 0\"\n type=\"button\"\n [attr.aria-label]=\"previousPeriodAriaLabel\"\n [disabled]=\"isMinimumLimit || disabled\"\n (click)=\"goToPreviousDate()\"\n >\n <fa-icon [icon]=\"previousPeriodIcon\"></fa-icon>\n\n </button>\n\n <button\n #selectedDateRangeButton\n id=\"pickerDropdown{{ randomIdReference }}\"\n class=\"btn btn-white border-top border-bottom text-truncate px-0 selected-period sds-fw-400\"\n [class.rounded-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\n [class.border-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\n [class.rounded-end] = \"!showPreviousAndNextButtons\"\n [class.border-end] = \"!showPreviousAndNextButtons\"\n [disabled]=\"disabled\"\n type=\"button\"\n (click)=\"showDatepicker = !showDatepicker\"\n >\n\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\n <div *ngIf=\"!useCustomDisplayContent\"\n class=\"d-flex justify-content-center align-items-center\">\n <!-- <div class=\"mx-1\">\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\n </div> -->\n <div class=\"mx-1 text-truncate\">\n <span>{{selectedDateRangeName}}</span>\n <span>{{selectedDateRangeTextSegment1}}</span>\n <fa-icon\n *ngIf=\"selectedDateRangeTextSegment2\"\n class=\"mx-2\"\n [icon]=\"toIcon\"\n size=\"sm\"\n ></fa-icon>\n <span>{{selectedDateRangeTextSegment2}}</span>\n </div>\n </div>\n </button>\n\n <button\n *ngIf=\"showPreviousAndNextButtons\"\n class=\"btn btn-white border rounded-end border-start-0 ps-2 sds-fw-400\"\n type=\"button\"\n [attr.aria-label]=\"nextPeriodAriaLabel\"\n [disabled]=\"isMaximumLimit || disabled\"\n (click)=\"goToNextDate()\"\n >\n <fa-icon [icon]=\"nextPeriodIcon\"></fa-icon>\n </button>\n </div>\n\n <div class=\"sds-print-only h-100\">\n\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\n <div *ngIf=\"!useCustomDisplayContent\"\n class=\"d-flex justify-content-center align-items-center\">\n <!-- <div class=\"mx-1\">\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\n </div> -->\n <div class=\"mx-1 text-truncate\">\n <span>{{selectedDateRangeTextSegment1}}</span>\n <fa-icon\n *ngIf=\"selectedDateRangeTextSegment2\"\n class=\"mx-2\"\n [icon]=\"toIcon\"\n size=\"sm\"\n ></fa-icon>\n <span>{{selectedDateRangeTextSegment2}}</span>\n </div>\n </div>\n </div>\n\n<dx-popover\n target=\"#pickerDropdown{{ randomIdReference }}\"\n position=\"bottom\"\n [(visible)]=\"showDatepicker\"\n (onHiding)=\"onHiddenCalendarPopover()\"\n (onShowing)=\"onShowingCalendarPopover()\"\n class=\"m-0 p-0\"\n [wrapperAttr]=\"{\n class: 'sds-datepicker-popover ' + dropdownWrapperClass,\n id: dropdownWrapperId\n }\"\n>\n <dxo-animation>\n <dxo-show\n type=\"pop\"\n [from]=\"{ scale: 0.9 }\"\n [to]=\"{ scale: 1 }\"\n ></dxo-show>\n <dxo-hide\n type=\"fade\"\n [from]=\"1\"\n [to]=\"0\"\n ></dxo-hide>\n </dxo-animation>\n <div *dxTemplate=\"let data of 'content'\" (keydown)=\"onKeydown($event)\" tabindex=\"1\">\n <dx-scroll-view>\n <div class=\"d-flex flex-row\">\n\n <div\n *ngIf=\"style == 'compact' && dateRanges.length > 1\"\n class=\"d-flex flex-column p-3 bg-gray-100\"\n style=\"border-right: 1px solid var(--bs-gray-200)\"\n >\n <div\n *ngIf=\"translations.presets\" class=\"px-3 py-2\">\n <label>{{ translations.presets }}</label>\n </div>\n <div *ngFor=\"let range of dateRanges\">\n <div\n class=\"predefined-date-range px-3 py-2 w-100\"\n [class.selected]=\"range === selectedDateRange\"\n (click)=\"changDateRange(range)\"\n >\n {{range.name}}\n </div>\n </div>\n </div>\n\n\n <div id=\"datepickercomponent\">\n <div\n *ngIf=\"this.selectionKind == 'period'\"\n id=\"date-inputs\"\n class=\"d-flex flex-wrap justify-content-center align-items-center px-3 pt-3 pb-2\"\n >\n <div class=\"d-flex justify-content-between align-items-center\">\n <dx-date-box\n #selectedDateStartBox\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\n [class.activeInput]=\"selectedDateFocus\"\n [showClearButton]=\"false\"\n [showDropDownButton]=\"false\"\n [useMaskBehavior]=\"true\"\n [displayFormat]=\"dateInputDisplayFormat\"\n type=\"date\"\n [min]=\"minDate || minDateDefault\"\n [max]=\"maxDate || maxDateDefault\"\n [isValid]=\"isValid\"\n [validationError]=\"validationError\"\n [disabled]=\"disabled\"\n [value]=\"selectedDateStart\"\n (onValueChanged)=\"onStartDateChange($event)\"\n (onFocusIn)=\"onStartDateFocus()\"\n >\n </dx-date-box>\n </div>\n\n <div class=\"d-flex justify-content-center align-items-center px-2\">\n <fa-icon [icon]=\"toIcon\"></fa-icon>\n </div>\n\n <div class=\"d-flex justify-content-center align-items-center\">\n <dx-date-box\n #selectedDateEndBox\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\n [class.activeInput]=\"!selectedDateFocus\"\n [showClearButton]=\"false\"\n [showDropDownButton]=\"false\"\n [useMaskBehavior]=\"true\"\n [displayFormat]=\"dateInputDisplayFormat\"\n type=\"date\"\n [min]=\"minDate || minDateDefault\"\n [max]=\"maxDate || maxDateDefault\"\n [isValid]=\"isValid\"\n [validationError]=\"validationError\"\n [disabled]=\"disabled\"\n [value]=\"selectedDateEnd\"\n (onValueChanged)=\"onEndDateChange($event)\"\n (onFocusIn)=\"onEndDateFocus()\"\n >\n </dx-date-box>\n </div>\n </div>\n\n <div class=\"bg-white mx-2 px-2 py-2 date-picker-date-selection\">\n <div\n *ngIf=\"this.selectionKind == 'single'\"\n id=\"date-inputs\"\n class=\"d-flex flex-wrap justify-content-center align-items-center p-2\"\n >\n <div class=\"d-flex justify-content-center align-items-center\">\n <dx-date-box\n #singleDatePickerBox\n class=\"border p-1 m-0 text-center rounded datepicker-input datepicker-input-large\"\n [class.activeInput]=\"true\"\n [showClearButton]=\"false\"\n [showDropDownButton]=\"false\"\n [useMaskBehavior]=\"true\"\n [displayFormat]=\"dateInputDisplayFormat\"\n type=\"date\"\n [min]=\"minDate || minDateDefault\"\n [max]=\"maxDate || maxDateDefault\"\n [isValid]=\"isValid\"\n [validationError]=\"validationError\"\n [disabled]=\"disabled\"\n [(value)]=\"selectedDateInternal\"\n >\n </dx-date-box>\n <!-- (onValueChanged)=\" closeDatepickerPopup()\" -->\n </div>\n </div>\n\n <div\n class=\"d-flex justify-content-center align-items-center\"\n (click)=\"selectEndDate($event)\">\n\n <dx-calendar\n #calendar\n [min]=\"minDate || minDateDefault\"\n [max]=\"maxDate || maxDateDefault\"\n [disabledDates]=\"isDateDisabled\"\n [isValid]=\"isValid\"\n [validationError]=\"validationError\"\n [disabled]=\"disabled\"\n [value]=\"this.selectionKind == 'period' ? selectedDateCalendar : selectedDateInternal\"\n (onValueChanged)=\"onDateChange($event)\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n >\n <div\n *dxTemplate=\"let cellData of 'cell'\"\n [class]=\"'h-100 pt-1' + getCellCssClass(cellData.date)\"\n [style.line-height.px]=\"23\"\n\n >\n\n <div *ngIf=\"lockBeforeDate && (cellData.date | sdsDateCompare: lockBeforeDate : 'lte'); then thenLockBlock else elseDefaultBlock\"></div>\n <ng-template #thenLockBlock>\n <fa-icon [title]=\"lockBeforeDateHint\" [icon]=\"lockIcon\" class=\"locked-day position-absolute-x\"></fa-icon>\n </ng-template>\n <ng-template #elseDefaultBlock>\n {{ cellData.text }}\n </ng-template>\n </div>\n </dx-calendar>\n </div>\n </div>\n\n <div\n *ngIf=\"this.selectionKind == 'period'\"\n class=\"d-flex justify-content-end align-items-center px-3 pt-2 pb-3\"\n >\n <button\n class=\"sds-btn-secondary sds-fw-400\"\n [disabled]=\"disabled\"\n (click)=\"showDatepicker = false\"\n type=\"button\"\n >\n {{ translations.cancel}}\n </button>\n <!-- (click)=\"closeDatepickerPopup()\" -->\n <button\n class=\"sds-btn-primary ms-1 sds-fw-400\"\n [disabled]=\"disabled\"\n (click)=\"applyPeriodPicker()\"\n type=\"button\"\n >\n {{ translations.apply}}\n </button>\n </div>\n </div>\n </div>\n </dx-scroll-view>\n </div>\n</dx-popover>\n<!-- </div> -->\n\n", styles: ["#datepickercomponent .datepicker-input{width:125px}#datepickercomponent .datepicker-input-large{width:250px!important}#datepickercomponent .datepicker-input.activeInput{border-color:#2886b1!important;border-width:2px!important}#datepickercomponent ::ng-deep .dx-calendar-cell{padding:inherit!important}#datepickercomponent ::ng-deep .dx-calendar-cell.dx-calendar-other-month{opacity:.5!important}#datepickercomponent .timebox-fixed-width{width:80px}#datepickercomponent ::ng-deep .text-center .dx-texteditor-input{text-align:center!important}#datepickercomponent ::ng-deep .p-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}#datepickercomponent ::ng-deep .px-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}.datepicker{display:inline-flex}.datepicker .border,.datepicker .border-bottom,.datepicker .border-top,.datepicker .border-left,.datepicker .border-right{border-color:var(--bs-gray-400)!important}.datepicker>button{border-radius:0;border-left:none;border-right:none}.datepicker .preselect-options-fixed-width{width:150px}.datepicker .selected-period{flex:1 1 auto}.datepicker .date-range-dropdown-button{box-shadow:none!important;border:1px solid white;flex:0;padding-top:.3rem!important;padding-bottom:.3rem!important}.datepicker .date-range-text{flex:1;min-width:0;text-align:start}.predefined-date-range{cursor:pointer;font-size:1rem;line-height:1.5rem;min-width:10rem;border-radius:2px}.predefined-date-range:hover{background-color:#0000000a}.predefined-date-range:active{color:#fff;background-color:#3b8fc2}.predefined-date-range.selected:not(:active){background-color:#e6e6e6}::ng-deep .sds-datepicker-popover.dx-popover-wrapper .dx-popup-content{padding:0}::ng-deep .sds-datepicker-ranges-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-datepicker-ranges-popover .dropdown-item:focus{outline:none}::ng-deep .sds-datepicker-ranges-popover .dropdown-item .selected{background-color:var(--bs-gray-300)}::ng-deep .sds-datepicker-popover .date-picker-date-selection dx-calendar .dx-calendar-cell.dx-calendar-empty-cell:has(fa-icon.locked-day){background:initial!important}\n"] }]
|
|
916
916
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: SdsDatePickerService }], propDecorators: { displayContent: [{
|
|
917
917
|
type: ContentChild,
|
|
918
918
|
args: ['display']
|