@siemens/element-ng 49.13.0 → 51.0.0-rc.3
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 +1 -1
- package/fesm2022/siemens-element-ng-about.mjs +41 -25
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +56 -39
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +81 -51
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +15 -12
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +142 -137
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +31 -21
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +9 -8
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +18 -15
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +71 -46
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-carousel.mjs +55 -32
- package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +175 -111
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +37 -24
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +24 -16
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +52 -33
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +12 -12
- package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +35 -26
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +327 -213
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +8 -8
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +119 -72
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +358 -234
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +21 -16
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +93 -81
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +29 -22
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +243 -147
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +12 -10
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +267 -84
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
- package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-formly.mjs +220 -315
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +38 -29
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +5 -5
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +46 -47
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +118 -72
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +31 -21
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +73 -54
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +42 -33
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +14 -12
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +46 -29
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs +6 -5
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +56 -48
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +12 -10
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +133 -94
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +117 -81
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +67 -41
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +38 -27
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +31 -22
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +18 -13
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +121 -138
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +76 -45
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +63 -58
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +33 -26
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +32 -24
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +212 -154
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
- package/fesm2022/siemens-element-ng-side-panel.mjs +119 -75
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +14 -13
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +42 -28
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +268 -254
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +57 -47
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
- package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +22 -14
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +11 -8
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +16 -15
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +59 -45
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +5 -4
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +59 -40
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +45 -40
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +52 -54
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +28 -19
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs +0 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +92 -73
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +75 -67
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +72 -48
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/formly-legacy/package.json +4 -0
- package/package.json +20 -22
- package/schematics/migration.json +4 -4
- package/schematics/migrations/data/class-member-replacement.js +1 -19
- package/schematics/migrations/data/component-property-names.js +1 -25
- package/schematics/migrations/data/element-class-changes.js +1 -28
- package/schematics/migrations/data/element-migration-data.js +2 -0
- package/schematics/migrations/data/element-selectors.js +1 -11
- package/schematics/migrations/data/index.js +0 -4
- package/schematics/migrations/data/migration-test-data.js +9 -6
- package/schematics/migrations/data/provider-function-removals.js +7 -0
- package/schematics/migrations/data/symbol-removals.js +7 -7
- package/schematics/migrations/data/symbol-renaming.js +1 -48
- package/schematics/migrations/element-migration/element-migration.js +3 -6
- package/schematics/migrations/utilities/import-removal.js +39 -0
- package/schematics/migrations/utilities/index.js +2 -0
- package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
- package/schematics/ng-update/index.js +1 -1
- package/schematics/ng-update/{migrate-to-v49.js → migrate-to-v51.js} +2 -2
- package/template-i18n.json +3 -6
- package/types/siemens-element-ng-application-header.d.ts +1 -21
- package/types/siemens-element-ng-chat-messages.d.ts +6 -4
- package/types/siemens-element-ng-circle-status.d.ts +1 -1
- package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
- package/types/siemens-element-ng-datepicker.d.ts +1 -12
- package/types/siemens-element-ng-file-uploader.d.ts +5 -23
- package/types/siemens-element-ng-filtered-search.d.ts +1 -1
- package/types/siemens-element-ng-form.d.ts +134 -37
- package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
- package/types/siemens-element-ng-formly.d.ts +34 -167
- package/types/siemens-element-ng-icon.d.ts +2 -19
- package/types/siemens-element-ng-navbar-vertical-next.d.ts +6 -1
- package/types/siemens-element-ng-notification-item.d.ts +12 -0
- package/types/siemens-element-ng-phone-number.d.ts +5 -8
- package/types/siemens-element-ng-resize-observer.d.ts +0 -17
- package/types/siemens-element-ng-split.d.ts +95 -63
- package/types/siemens-element-ng-status-bar.d.ts +5 -13
- package/types/siemens-element-ng-status-counter.d.ts +1 -1
- package/types/siemens-element-ng-toast-notification.d.ts +0 -1
- package/types/siemens-element-ng-translate.d.ts +1 -5
- package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
- package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
- package/icon-status/package.json +0 -4
- package/schematics/vitest-setup.js +0 -5
- package/sort-bar/package.json +0 -4
- package/types/siemens-element-ng-icon-status.d.ts +0 -25
- package/types/siemens-element-ng-sort-bar.d.ts +0 -59
- /package/{LICENSE.md → LICENSE} +0 -0
|
@@ -5,7 +5,7 @@ import * as i2 from '@angular/cdk/overlay';
|
|
|
5
5
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
6
6
|
import { NgTemplateOutlet, DatePipe } from '@angular/common';
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
|
-
import { Injectable, model, input, booleanAttribute, signal, computed,
|
|
8
|
+
import { Injectable, model, input, booleanAttribute, signal, computed, Component, Pipe, inject, output, NgModule } from '@angular/core';
|
|
9
9
|
import * as i1 from '@angular/forms';
|
|
10
10
|
import { FormsModule } from '@angular/forms';
|
|
11
11
|
import { elementDown2 } from '@siemens/element-icons';
|
|
@@ -73,10 +73,10 @@ class SiDateRangeCalculationService {
|
|
|
73
73
|
date.setMilliseconds(0);
|
|
74
74
|
return date;
|
|
75
75
|
}
|
|
76
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
77
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeCalculationService, providedIn: 'root' });
|
|
78
78
|
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeCalculationService, decorators: [{
|
|
80
80
|
type: Injectable,
|
|
81
81
|
args: [{ providedIn: 'root' }]
|
|
82
82
|
}] });
|
|
@@ -90,13 +90,18 @@ const ONE_DAY = ONE_MINUTE * 60 * 24;
|
|
|
90
90
|
*/
|
|
91
91
|
class SiRelativeDateComponent {
|
|
92
92
|
/** @defaultValue 0 */
|
|
93
|
-
value = model(0,
|
|
93
|
+
value = model(0, /* @ts-ignore */
|
|
94
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
94
95
|
/** @defaultValue false */
|
|
95
|
-
enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : {}), transform: booleanAttribute });
|
|
96
|
-
valueLabel = input.required(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
97
|
+
valueLabel = input.required(/* @ts-ignore */
|
|
98
|
+
...(ngDevMode ? [{ debugName: "valueLabel" }] : /* istanbul ignore next */ []));
|
|
99
|
+
unitLabel = input.required(/* @ts-ignore */
|
|
100
|
+
...(ngDevMode ? [{ debugName: "unitLabel" }] : /* istanbul ignore next */ []));
|
|
101
|
+
offset = signal(0, /* @ts-ignore */
|
|
102
|
+
...(ngDevMode ? [{ debugName: "offset" }] : /* istanbul ignore next */ []));
|
|
103
|
+
unit = signal('days', /* @ts-ignore */
|
|
104
|
+
...(ngDevMode ? [{ debugName: "unit" }] : /* istanbul ignore next */ []));
|
|
100
105
|
fullOffsetList = [
|
|
101
106
|
{
|
|
102
107
|
type: 'option',
|
|
@@ -137,7 +142,8 @@ class SiRelativeDateComponent {
|
|
|
137
142
|
];
|
|
138
143
|
offsetList = computed(() => this.enableTimeSelection()
|
|
139
144
|
? this.fullOffsetList
|
|
140
|
-
: this.fullOffsetList.filter(item => item.offset >= ONE_DAY),
|
|
145
|
+
: this.fullOffsetList.filter(item => item.offset >= ONE_DAY), /* @ts-ignore */
|
|
146
|
+
...(ngDevMode ? [{ debugName: "offsetList" }] : /* istanbul ignore next */ []));
|
|
141
147
|
ngOnChanges(changes) {
|
|
142
148
|
if (changes.value) {
|
|
143
149
|
this.calculateOffset();
|
|
@@ -175,17 +181,17 @@ class SiRelativeDateComponent {
|
|
|
175
181
|
this.offset.set(roundedOffset);
|
|
176
182
|
this.value.set(roundedOffset * item.offset);
|
|
177
183
|
}
|
|
178
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
179
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiRelativeDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
185
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: SiRelativeDateComponent, isStandalone: true, selector: "si-relative-date", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: true, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { value: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<si-number-input\n class=\"form-control mb-4\"\n [aria-label]=\"valueLabel()\"\n [value]=\"offset()\"\n (valueChange)=\"updateValue($event ?? 0)\"\n/>\n<si-select\n class=\"form-control\"\n min=\"0\"\n [ariaLabel]=\"unitLabel()\"\n [options]=\"offsetList()\"\n [value]=\"unit()\"\n (valueChange)=\"changeUnit($event)\"\n/>\n", styles: [".form-control{min-inline-size:0}\n"], dependencies: [{ kind: "component", type: SiNumberInputComponent, selector: "si-number-input", inputs: ["min", "max", "step", "value", "unit", "showButtons", "aria-label", "inputId", "disabled", "readonly", "placeholder", "errormessageId"], outputs: ["valueChange"] }, { kind: "component", type: SiSelectComponent, selector: "si-select", inputs: ["id", "ariaLabel", "labelledby", "filterPlaceholder", "noResultsFoundLabel", "placeholder", "readonly", "errormessageId", "hasFilter"], outputs: ["openChange"] }, { kind: "directive", type: SiSelectSingleValueDirective, selector: "si-select:not([multi])" }, { kind: "directive", type: SiSelectSimpleOptionsDirective, selector: "si-select[options]", inputs: ["options", "optionEqualCheckFn"] }] });
|
|
180
186
|
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiRelativeDateComponent, decorators: [{
|
|
182
188
|
type: Component,
|
|
183
189
|
args: [{ selector: 'si-relative-date', imports: [
|
|
184
190
|
SiNumberInputComponent,
|
|
185
191
|
SiSelectComponent,
|
|
186
192
|
SiSelectSingleValueDirective,
|
|
187
193
|
SiSelectSimpleOptionsDirective
|
|
188
|
-
],
|
|
194
|
+
], template: "<si-number-input\n class=\"form-control mb-4\"\n [aria-label]=\"valueLabel()\"\n [value]=\"offset()\"\n (valueChange)=\"updateValue($event ?? 0)\"\n/>\n<si-select\n class=\"form-control\"\n min=\"0\"\n [ariaLabel]=\"unitLabel()\"\n [options]=\"offsetList()\"\n [value]=\"unit()\"\n (valueChange)=\"changeUnit($event)\"\n/>\n", styles: [".form-control{min-inline-size:0}\n"] }]
|
|
189
195
|
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], enableTimeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableTimeSelection", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueLabel", required: true }] }], unitLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitLabel", required: true }] }] } });
|
|
190
196
|
|
|
191
197
|
/**
|
|
@@ -196,10 +202,10 @@ class PresetMatchFilterPipe {
|
|
|
196
202
|
transform(value, term) {
|
|
197
203
|
return !term ? true : value.toLowerCase().includes(term.toLowerCase());
|
|
198
204
|
}
|
|
199
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
200
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PresetMatchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
206
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: PresetMatchFilterPipe, isStandalone: true, name: "presetMatchFilter" });
|
|
201
207
|
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PresetMatchFilterPipe, decorators: [{
|
|
203
209
|
type: Pipe,
|
|
204
210
|
args: [{ name: 'presetMatchFilter', pure: true }]
|
|
205
211
|
}] });
|
|
@@ -208,46 +214,49 @@ class SiDateRangeFilterComponent {
|
|
|
208
214
|
mediaMatcher = inject(MediaMatcher);
|
|
209
215
|
smallScreen = this.mediaMatcher.matchMedia(`(max-width: ${BOOTSTRAP_BREAKPOINTS.mdMinimum}px)`).matches;
|
|
210
216
|
/** The filter range object */
|
|
211
|
-
range = model.required(
|
|
217
|
+
range = model.required(/* @ts-ignore */
|
|
218
|
+
...(ngDevMode ? [{ debugName: "range" }] : /* istanbul ignore next */ []));
|
|
212
219
|
/** List of preset time ranges. When not present or empty, the preset section won't show */
|
|
213
|
-
presetList = input(
|
|
220
|
+
presetList = input(/* @ts-ignore */
|
|
221
|
+
...(ngDevMode ? [undefined, { debugName: "presetList" }] : /* istanbul ignore next */ []));
|
|
214
222
|
/**
|
|
215
223
|
* Determines if there's a search field for the preset list
|
|
216
224
|
*
|
|
217
225
|
* @defaultValue true
|
|
218
226
|
*/
|
|
219
|
-
presetSearch = input(true, { ...(ngDevMode ? { debugName: "presetSearch" } : {}), transform: booleanAttribute });
|
|
227
|
+
presetSearch = input(true, { ...(ngDevMode ? { debugName: "presetSearch" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
220
228
|
/**
|
|
221
229
|
* Determines if time is selectable or only dates
|
|
222
230
|
*
|
|
223
231
|
* @defaultValue false
|
|
224
232
|
*/
|
|
225
|
-
enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : {}), transform: booleanAttribute });
|
|
233
|
+
enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
226
234
|
/**
|
|
227
235
|
* Determines whether to show input fields or a date-range calendar in basic mode.
|
|
228
236
|
* When time selection is enabled, this has no effect and input fields are always shown.
|
|
229
237
|
*
|
|
230
238
|
* @defaultValue 'calendar'
|
|
231
239
|
*/
|
|
232
|
-
basicMode = input('calendar',
|
|
240
|
+
basicMode = input('calendar', /* @ts-ignore */
|
|
241
|
+
...(ngDevMode ? [{ debugName: "basicMode" }] : /* istanbul ignore next */ []));
|
|
233
242
|
/**
|
|
234
243
|
* Reverses the order of the from/to fields
|
|
235
244
|
*
|
|
236
245
|
* @defaultValue false
|
|
237
246
|
*/
|
|
238
|
-
reverseInputFields = input(false, { ...(ngDevMode ? { debugName: "reverseInputFields" } : {}), transform: booleanAttribute });
|
|
247
|
+
reverseInputFields = input(false, { ...(ngDevMode ? { debugName: "reverseInputFields" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
239
248
|
/**
|
|
240
249
|
* Determines whether to show the 'Apply' button
|
|
241
250
|
*
|
|
242
251
|
* @defaultValue false
|
|
243
252
|
*/
|
|
244
|
-
showApplyButton = input(false, { ...(ngDevMode ? { debugName: "showApplyButton" } : {}), transform: booleanAttribute });
|
|
253
|
+
showApplyButton = input(false, { ...(ngDevMode ? { debugName: "showApplyButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
245
254
|
/**
|
|
246
255
|
* Hides the advanced mode if input allows
|
|
247
256
|
*
|
|
248
257
|
* @defaultValue false
|
|
249
258
|
*/
|
|
250
|
-
hideAdvancedMode = input(false, { ...(ngDevMode ? { debugName: "hideAdvancedMode" } : {}), transform: booleanAttribute });
|
|
259
|
+
hideAdvancedMode = input(false, { ...(ngDevMode ? { debugName: "hideAdvancedMode" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
251
260
|
/**
|
|
252
261
|
* label for the "Reference point" title
|
|
253
262
|
*
|
|
@@ -256,7 +265,8 @@ class SiDateRangeFilterComponent {
|
|
|
256
265
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`)
|
|
257
266
|
* ```
|
|
258
267
|
*/
|
|
259
|
-
refLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`),
|
|
268
|
+
refLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`), /* @ts-ignore */
|
|
269
|
+
...(ngDevMode ? [{ debugName: "refLabel" }] : /* istanbul ignore next */ []));
|
|
260
270
|
/**
|
|
261
271
|
* label for the "Reference point" title
|
|
262
272
|
*
|
|
@@ -265,7 +275,8 @@ class SiDateRangeFilterComponent {
|
|
|
265
275
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.FROM:From`)
|
|
266
276
|
* ```
|
|
267
277
|
*/
|
|
268
|
-
fromLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.FROM:From`),
|
|
278
|
+
fromLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.FROM:From`), /* @ts-ignore */
|
|
279
|
+
...(ngDevMode ? [{ debugName: "fromLabel" }] : /* istanbul ignore next */ []));
|
|
269
280
|
/**
|
|
270
281
|
* label for the "Reference point" title
|
|
271
282
|
*
|
|
@@ -274,7 +285,8 @@ class SiDateRangeFilterComponent {
|
|
|
274
285
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.TO:To`)
|
|
275
286
|
* ```
|
|
276
287
|
*/
|
|
277
|
-
toLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TO:To`),
|
|
288
|
+
toLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TO:To`), /* @ts-ignore */
|
|
289
|
+
...(ngDevMode ? [{ debugName: "toLabel" }] : /* istanbul ignore next */ []));
|
|
278
290
|
/**
|
|
279
291
|
* label for the "Range" title
|
|
280
292
|
*
|
|
@@ -283,7 +295,8 @@ class SiDateRangeFilterComponent {
|
|
|
283
295
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.RANGE:Range`)
|
|
284
296
|
* ```
|
|
285
297
|
*/
|
|
286
|
-
rangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.RANGE:Range`),
|
|
298
|
+
rangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.RANGE:Range`), /* @ts-ignore */
|
|
299
|
+
...(ngDevMode ? [{ debugName: "rangeLabel" }] : /* istanbul ignore next */ []));
|
|
287
300
|
/**
|
|
288
301
|
* label for the "Today" checkbox
|
|
289
302
|
*
|
|
@@ -292,7 +305,8 @@ class SiDateRangeFilterComponent {
|
|
|
292
305
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.TODAY:Today`)
|
|
293
306
|
* ```
|
|
294
307
|
*/
|
|
295
|
-
todayLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TODAY:Today`),
|
|
308
|
+
todayLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TODAY:Today`), /* @ts-ignore */
|
|
309
|
+
...(ngDevMode ? [{ debugName: "todayLabel" }] : /* istanbul ignore next */ []));
|
|
296
310
|
/**
|
|
297
311
|
* label for the "Now" checkbox
|
|
298
312
|
*
|
|
@@ -301,7 +315,8 @@ class SiDateRangeFilterComponent {
|
|
|
301
315
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.NOW:Now`)
|
|
302
316
|
* ```
|
|
303
317
|
*/
|
|
304
|
-
nowLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.NOW:Now`),
|
|
318
|
+
nowLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.NOW:Now`), /* @ts-ignore */
|
|
319
|
+
...(ngDevMode ? [{ debugName: "nowLabel" }] : /* istanbul ignore next */ []));
|
|
305
320
|
/**
|
|
306
321
|
* label for "Date" field / radio button
|
|
307
322
|
*
|
|
@@ -310,7 +325,8 @@ class SiDateRangeFilterComponent {
|
|
|
310
325
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.DATE:Date`)
|
|
311
326
|
* ```
|
|
312
327
|
*/
|
|
313
|
-
dateLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE:Date`),
|
|
328
|
+
dateLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE:Date`), /* @ts-ignore */
|
|
329
|
+
...(ngDevMode ? [{ debugName: "dateLabel" }] : /* istanbul ignore next */ []));
|
|
314
330
|
/**
|
|
315
331
|
* label for the "Preview" title
|
|
316
332
|
*
|
|
@@ -319,7 +335,8 @@ class SiDateRangeFilterComponent {
|
|
|
319
335
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`)
|
|
320
336
|
* ```
|
|
321
337
|
*/
|
|
322
|
-
previewLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`),
|
|
338
|
+
previewLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`), /* @ts-ignore */
|
|
339
|
+
...(ngDevMode ? [{ debugName: "previewLabel" }] : /* istanbul ignore next */ []));
|
|
323
340
|
/**
|
|
324
341
|
* Placeholder for date fields
|
|
325
342
|
*
|
|
@@ -328,7 +345,8 @@ class SiDateRangeFilterComponent {
|
|
|
328
345
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`)
|
|
329
346
|
* ```
|
|
330
347
|
*/
|
|
331
|
-
datePlaceholder = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`),
|
|
348
|
+
datePlaceholder = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`), /* @ts-ignore */
|
|
349
|
+
...(ngDevMode ? [{ debugName: "datePlaceholder" }] : /* istanbul ignore next */ []));
|
|
332
350
|
/**
|
|
333
351
|
* label for the "Before" toggle
|
|
334
352
|
*
|
|
@@ -337,7 +355,8 @@ class SiDateRangeFilterComponent {
|
|
|
337
355
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.BEFORE:Before`)
|
|
338
356
|
* ```
|
|
339
357
|
*/
|
|
340
|
-
beforeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.BEFORE:Before`),
|
|
358
|
+
beforeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.BEFORE:Before`), /* @ts-ignore */
|
|
359
|
+
...(ngDevMode ? [{ debugName: "beforeLabel" }] : /* istanbul ignore next */ []));
|
|
341
360
|
/**
|
|
342
361
|
* label for the "After" toggle
|
|
343
362
|
*
|
|
@@ -346,7 +365,8 @@ class SiDateRangeFilterComponent {
|
|
|
346
365
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.AFTER:After`)
|
|
347
366
|
* ```
|
|
348
367
|
*/
|
|
349
|
-
afterLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.AFTER:After`),
|
|
368
|
+
afterLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.AFTER:After`), /* @ts-ignore */
|
|
369
|
+
...(ngDevMode ? [{ debugName: "afterLabel" }] : /* istanbul ignore next */ []));
|
|
350
370
|
/**
|
|
351
371
|
* label for the "Within" toggle
|
|
352
372
|
*
|
|
@@ -355,7 +375,8 @@ class SiDateRangeFilterComponent {
|
|
|
355
375
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.WITHIN:Within`)
|
|
356
376
|
* ```
|
|
357
377
|
*/
|
|
358
|
-
withinLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.WITHIN:Within`),
|
|
378
|
+
withinLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.WITHIN:Within`), /* @ts-ignore */
|
|
379
|
+
...(ngDevMode ? [{ debugName: "withinLabel" }] : /* istanbul ignore next */ []));
|
|
359
380
|
/**
|
|
360
381
|
* label for the "value" number input
|
|
361
382
|
*
|
|
@@ -364,7 +385,8 @@ class SiDateRangeFilterComponent {
|
|
|
364
385
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.VALUE:Value`)
|
|
365
386
|
* ```
|
|
366
387
|
*/
|
|
367
|
-
valueLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.VALUE:Value`),
|
|
388
|
+
valueLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.VALUE:Value`), /* @ts-ignore */
|
|
389
|
+
...(ngDevMode ? [{ debugName: "valueLabel" }] : /* istanbul ignore next */ []));
|
|
368
390
|
/**
|
|
369
391
|
* label for the "Unit" select
|
|
370
392
|
*
|
|
@@ -373,7 +395,8 @@ class SiDateRangeFilterComponent {
|
|
|
373
395
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.UNIT:Unit`)
|
|
374
396
|
* ```
|
|
375
397
|
*/
|
|
376
|
-
unitLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.UNIT:Unit`),
|
|
398
|
+
unitLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.UNIT:Unit`), /* @ts-ignore */
|
|
399
|
+
...(ngDevMode ? [{ debugName: "unitLabel" }] : /* istanbul ignore next */ []));
|
|
377
400
|
/**
|
|
378
401
|
* label for the "search" input
|
|
379
402
|
*
|
|
@@ -382,7 +405,8 @@ class SiDateRangeFilterComponent {
|
|
|
382
405
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.SEARCH:Search`)
|
|
383
406
|
* ```
|
|
384
407
|
*/
|
|
385
|
-
searchLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SEARCH:Search`),
|
|
408
|
+
searchLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SEARCH:Search`), /* @ts-ignore */
|
|
409
|
+
...(ngDevMode ? [{ debugName: "searchLabel" }] : /* istanbul ignore next */ []));
|
|
386
410
|
/**
|
|
387
411
|
* label for the "search" input
|
|
388
412
|
*
|
|
@@ -391,7 +415,8 @@ class SiDateRangeFilterComponent {
|
|
|
391
415
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`)
|
|
392
416
|
* ```
|
|
393
417
|
*/
|
|
394
|
-
presetLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`),
|
|
418
|
+
presetLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`), /* @ts-ignore */
|
|
419
|
+
...(ngDevMode ? [{ debugName: "presetLabel" }] : /* istanbul ignore next */ []));
|
|
395
420
|
/**
|
|
396
421
|
* label for the "advanced" switch
|
|
397
422
|
*
|
|
@@ -400,7 +425,8 @@ class SiDateRangeFilterComponent {
|
|
|
400
425
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`)
|
|
401
426
|
* ```
|
|
402
427
|
*/
|
|
403
|
-
advancedLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`),
|
|
428
|
+
advancedLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`), /* @ts-ignore */
|
|
429
|
+
...(ngDevMode ? [{ debugName: "advancedLabel" }] : /* istanbul ignore next */ []));
|
|
404
430
|
/**
|
|
405
431
|
* label for the "apply" switch
|
|
406
432
|
*
|
|
@@ -409,7 +435,8 @@ class SiDateRangeFilterComponent {
|
|
|
409
435
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.APPLY:Apply`)
|
|
410
436
|
* ```
|
|
411
437
|
*/
|
|
412
|
-
applyLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.APPLY:Apply`),
|
|
438
|
+
applyLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.APPLY:Apply`), /* @ts-ignore */
|
|
439
|
+
...(ngDevMode ? [{ debugName: "applyLabel" }] : /* istanbul ignore next */ []));
|
|
413
440
|
/**
|
|
414
441
|
* label for the "select end date" in preview
|
|
415
442
|
*
|
|
@@ -418,7 +445,8 @@ class SiDateRangeFilterComponent {
|
|
|
418
445
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_END:Select end date`)
|
|
419
446
|
* ```
|
|
420
447
|
*/
|
|
421
|
-
rangeEndDateMissingLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_END:Select end date`),
|
|
448
|
+
rangeEndDateMissingLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_END:Select end date`), /* @ts-ignore */
|
|
449
|
+
...(ngDevMode ? [{ debugName: "rangeEndDateMissingLabel" }] : /* istanbul ignore next */ []));
|
|
422
450
|
/**
|
|
423
451
|
* label when range is not defined in the preview
|
|
424
452
|
*
|
|
@@ -427,49 +455,68 @@ class SiDateRangeFilterComponent {
|
|
|
427
455
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_LABEL:Select date range`)
|
|
428
456
|
* ```
|
|
429
457
|
*/
|
|
430
|
-
selectRangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_LABEL:Select date range`),
|
|
458
|
+
selectRangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_LABEL:Select date range`), /* @ts-ignore */
|
|
459
|
+
...(ngDevMode ? [{ debugName: "selectRangeLabel" }] : /* istanbul ignore next */ []));
|
|
431
460
|
/** Event fired when the apply button has been clicked */
|
|
432
461
|
applyClicked = output();
|
|
433
462
|
/** Base configuration on how the dates should be displayed, parts of it may be overwritten internally. */
|
|
434
|
-
datepickerConfig = input(
|
|
463
|
+
datepickerConfig = input(/* @ts-ignore */
|
|
464
|
+
...(ngDevMode ? [undefined, { debugName: "datepickerConfig" }] : /* istanbul ignore next */ []));
|
|
435
465
|
icons = addIcons({ elementDown2 });
|
|
436
|
-
advancedMode = signal(false,
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
466
|
+
advancedMode = signal(false, /* @ts-ignore */
|
|
467
|
+
...(ngDevMode ? [{ debugName: "advancedMode" }] : /* istanbul ignore next */ []));
|
|
468
|
+
dateRange = signal({ start: undefined, end: undefined }, /* @ts-ignore */
|
|
469
|
+
...(ngDevMode ? [{ debugName: "dateRange" }] : /* istanbul ignore next */ []));
|
|
470
|
+
point1Now = signal(true, /* @ts-ignore */
|
|
471
|
+
...(ngDevMode ? [{ debugName: "point1Now" }] : /* istanbul ignore next */ []));
|
|
472
|
+
point2Mode = signal('duration', /* @ts-ignore */
|
|
473
|
+
...(ngDevMode ? [{ debugName: "point2Mode" }] : /* istanbul ignore next */ []));
|
|
474
|
+
point1date = signal(this.getDateNow(), /* @ts-ignore */
|
|
475
|
+
...(ngDevMode ? [{ debugName: "point1date" }] : /* istanbul ignore next */ []));
|
|
476
|
+
point2date = signal(this.getDateNow(), /* @ts-ignore */
|
|
477
|
+
...(ngDevMode ? [{ debugName: "point2date" }] : /* istanbul ignore next */ []));
|
|
478
|
+
point2offset = signal(0, /* @ts-ignore */
|
|
479
|
+
...(ngDevMode ? [{ debugName: "point2offset" }] : /* istanbul ignore next */ []));
|
|
480
|
+
point2range = signal('before', /* @ts-ignore */
|
|
481
|
+
...(ngDevMode ? [{ debugName: "point2range" }] : /* istanbul ignore next */ []));
|
|
482
|
+
calculatedRange = computed(() => this.resolve(this.range()), /* @ts-ignore */
|
|
483
|
+
...(ngDevMode ? [{ debugName: "calculatedRange" }] : /* istanbul ignore next */ []));
|
|
445
484
|
pipeFormat = computed(() => this.enableTimeSelection()
|
|
446
485
|
? (this.datepickerConfig()?.dateTimeFormat ?? 'short')
|
|
447
|
-
: (this.datepickerConfig()?.dateFormat ?? 'shortDate'),
|
|
486
|
+
: (this.datepickerConfig()?.dateFormat ?? 'shortDate'), /* @ts-ignore */
|
|
487
|
+
...(ngDevMode ? [{ debugName: "pipeFormat" }] : /* istanbul ignore next */ []));
|
|
448
488
|
datepickerConfigInternal = computed(() => ({
|
|
449
489
|
...(this.datepickerConfig() ?? {}),
|
|
450
490
|
enableDateRange: false,
|
|
451
491
|
showTime: this.enableTimeSelection(),
|
|
452
492
|
mandatoryTime: this.enableTimeSelection()
|
|
453
|
-
}),
|
|
493
|
+
}), /* @ts-ignore */
|
|
494
|
+
...(ngDevMode ? [{ debugName: "datepickerConfigInternal" }] : /* istanbul ignore next */ []));
|
|
454
495
|
dateRangeConfig = computed(() => ({
|
|
455
496
|
...(this.datepickerConfig() ?? {}),
|
|
456
497
|
enableDateRange: true
|
|
457
|
-
}),
|
|
498
|
+
}), /* @ts-ignore */
|
|
499
|
+
...(ngDevMode ? [{ debugName: "dateRangeConfig" }] : /* istanbul ignore next */ []));
|
|
458
500
|
filteredPresetList = computed(() => {
|
|
459
501
|
const timeFilter = (item) => {
|
|
460
502
|
const timeOnly = item.type === 'custom' ? item.timeOnly : item.offset < ONE_DAY;
|
|
461
503
|
return this.enableTimeSelection() || !timeOnly;
|
|
462
504
|
};
|
|
463
505
|
return (this.presetList() ?? []).filter(timeFilter);
|
|
464
|
-
},
|
|
506
|
+
}, /* @ts-ignore */
|
|
507
|
+
...(ngDevMode ? [{ debugName: "filteredPresetList" }] : /* istanbul ignore next */ []));
|
|
465
508
|
focusedDate = computed(() => {
|
|
466
509
|
const range = this.dateRange();
|
|
467
510
|
const date = range.end ?? range.start;
|
|
468
511
|
return isValid(date) ? date : undefined;
|
|
469
|
-
},
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
512
|
+
}, /* @ts-ignore */
|
|
513
|
+
...(ngDevMode ? [{ debugName: "focusedDate" }] : /* istanbul ignore next */ []));
|
|
514
|
+
presetFilter = signal('', /* @ts-ignore */
|
|
515
|
+
...(ngDevMode ? [{ debugName: "presetFilter" }] : /* istanbul ignore next */ []));
|
|
516
|
+
presetOpen = signal(false, /* @ts-ignore */
|
|
517
|
+
...(ngDevMode ? [{ debugName: "presetOpen" }] : /* istanbul ignore next */ []));
|
|
518
|
+
inputMode = computed(() => this.basicMode() === 'input' || this.enableTimeSelection(), /* @ts-ignore */
|
|
519
|
+
...(ngDevMode ? [{ debugName: "inputMode" }] : /* istanbul ignore next */ []));
|
|
473
520
|
ngOnChanges(changes) {
|
|
474
521
|
if (changes.enableTimeSelection ||
|
|
475
522
|
changes.datepickerConfig ||
|
|
@@ -627,10 +674,10 @@ class SiDateRangeFilterComponent {
|
|
|
627
674
|
this.presetOpen.set(false);
|
|
628
675
|
}
|
|
629
676
|
}
|
|
630
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
631
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiDateRangeFilterComponent, isStandalone: true, selector: "si-date-range-filter", inputs: { range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: true, transformFunction: null }, presetList: { classPropertyName: "presetList", publicName: "presetList", isSignal: true, isRequired: false, transformFunction: null }, presetSearch: { classPropertyName: "presetSearch", publicName: "presetSearch", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, basicMode: { classPropertyName: "basicMode", publicName: "basicMode", isSignal: true, isRequired: false, transformFunction: null }, reverseInputFields: { classPropertyName: "reverseInputFields", publicName: "reverseInputFields", isSignal: true, isRequired: false, transformFunction: null }, showApplyButton: { classPropertyName: "showApplyButton", publicName: "showApplyButton", isSignal: true, isRequired: false, transformFunction: null }, hideAdvancedMode: { classPropertyName: "hideAdvancedMode", publicName: "hideAdvancedMode", isSignal: true, isRequired: false, transformFunction: null }, refLabel: { classPropertyName: "refLabel", publicName: "refLabel", isSignal: true, isRequired: false, transformFunction: null }, fromLabel: { classPropertyName: "fromLabel", publicName: "fromLabel", isSignal: true, isRequired: false, transformFunction: null }, toLabel: { classPropertyName: "toLabel", publicName: "toLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeLabel: { classPropertyName: "rangeLabel", publicName: "rangeLabel", isSignal: true, isRequired: false, transformFunction: null }, todayLabel: { classPropertyName: "todayLabel", publicName: "todayLabel", isSignal: true, isRequired: false, transformFunction: null }, nowLabel: { classPropertyName: "nowLabel", publicName: "nowLabel", isSignal: true, isRequired: false, transformFunction: null }, dateLabel: { classPropertyName: "dateLabel", publicName: "dateLabel", isSignal: true, isRequired: false, transformFunction: null }, previewLabel: { classPropertyName: "previewLabel", publicName: "previewLabel", isSignal: true, isRequired: false, transformFunction: null }, datePlaceholder: { classPropertyName: "datePlaceholder", publicName: "datePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, beforeLabel: { classPropertyName: "beforeLabel", publicName: "beforeLabel", isSignal: true, isRequired: false, transformFunction: null }, afterLabel: { classPropertyName: "afterLabel", publicName: "afterLabel", isSignal: true, isRequired: false, transformFunction: null }, withinLabel: { classPropertyName: "withinLabel", publicName: "withinLabel", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: false, transformFunction: null }, searchLabel: { classPropertyName: "searchLabel", publicName: "searchLabel", isSignal: true, isRequired: false, transformFunction: null }, presetLabel: { classPropertyName: "presetLabel", publicName: "presetLabel", isSignal: true, isRequired: false, transformFunction: null }, advancedLabel: { classPropertyName: "advancedLabel", publicName: "advancedLabel", isSignal: true, isRequired: false, transformFunction: null }, applyLabel: { classPropertyName: "applyLabel", publicName: "applyLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeEndDateMissingLabel: { classPropertyName: "rangeEndDateMissingLabel", publicName: "rangeEndDateMissingLabel", isSignal: true, isRequired: false, transformFunction: null }, selectRangeLabel: { classPropertyName: "selectRangeLabel", publicName: "selectRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, datepickerConfig: { classPropertyName: "datepickerConfig", publicName: "datepickerConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { range: "rangeChange", applyClicked: "applyClicked" }, host: { properties: { "class.mobile": "smallScreen" } }, usesOnChanges: true, ngImport: i0, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (advancedMode()) {\n @let calculated = calculatedRange();\n @if (calculated.valid) {\n {{ calculated.start | date: pipeFormat() }} -\n {{ calculated.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ selectRangeLabel() | translate }}\n </span>\n }\n } @else {\n @let range = dateRange();\n {{ range.start | date: pipeFormat() }} -\n @if (range.end) {\n {{ range.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ rangeEndDateMissingLabel() | translate }}\n </span>\n }\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul\n class=\"overflow-auto\"\n cdkListbox\n [cdkListboxValue]=\"[]\"\n [attr.aria-label]=\"presetLabel() | translate\"\n (cdkListboxValueChange)=\"selectPresetItem($event.value[0])\"\n >\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li class=\"preset-item focus-inside px-8 py-5\" [cdkOption]=\"item.label\">\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-8\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-4 text-nowrap form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [attr.aria-label]=\"dateLabel() | translate\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--element-base-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--element-ui-4)}.main-form{inline-size:calc(16rem + 64px);grid-area:main}.advanced-form{block-size:calc(16rem + 133px)}.preset-select{display:flex;inline-size:calc(9.5rem + 48px);flex-direction:column;grid-area:preset;background:var(--element-base-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:1.1428571429}.preset-item:hover{background:var(--element-base-1-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"], dependencies: [{ kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiCalendarButtonComponent, selector: "si-calendar-button", inputs: ["ariaLabel"] }, { kind: "component", type: SiDatepickerComponent, selector: "si-datepicker", inputs: ["focusedDate", "date", "dateRange", "dateRangeRole", "initialFocus", "disabledTime", "config", "previousLabel", "nextLabel", "calenderWeekLabel", "calendarWeekLabel", "time12h", "rangeType", "minMonth", "maxMonth", "hideTimeToggle", "hideCalendar", "timepickerLabel", "activeHover"], outputs: ["focusedDateChange", "dateChange", "dateRangeChange", "disabledTimeChange", "configChange", "rangeTypeChange", "activeHoverChange"] }, { kind: "directive", type: SiDatepickerDirective, selector: "[siDatepicker]", inputs: ["autoClose"], exportAs: ["siDatepicker"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiRelativeDateComponent, selector: "si-relative-date", inputs: ["value", "enableTimeSelection", "valueLabel", "unitLabel"], outputs: ["valueChange"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PresetMatchFilterPipe, name: "presetMatchFilter" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
677
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
678
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiDateRangeFilterComponent, isStandalone: true, selector: "si-date-range-filter", inputs: { range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: true, transformFunction: null }, presetList: { classPropertyName: "presetList", publicName: "presetList", isSignal: true, isRequired: false, transformFunction: null }, presetSearch: { classPropertyName: "presetSearch", publicName: "presetSearch", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, basicMode: { classPropertyName: "basicMode", publicName: "basicMode", isSignal: true, isRequired: false, transformFunction: null }, reverseInputFields: { classPropertyName: "reverseInputFields", publicName: "reverseInputFields", isSignal: true, isRequired: false, transformFunction: null }, showApplyButton: { classPropertyName: "showApplyButton", publicName: "showApplyButton", isSignal: true, isRequired: false, transformFunction: null }, hideAdvancedMode: { classPropertyName: "hideAdvancedMode", publicName: "hideAdvancedMode", isSignal: true, isRequired: false, transformFunction: null }, refLabel: { classPropertyName: "refLabel", publicName: "refLabel", isSignal: true, isRequired: false, transformFunction: null }, fromLabel: { classPropertyName: "fromLabel", publicName: "fromLabel", isSignal: true, isRequired: false, transformFunction: null }, toLabel: { classPropertyName: "toLabel", publicName: "toLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeLabel: { classPropertyName: "rangeLabel", publicName: "rangeLabel", isSignal: true, isRequired: false, transformFunction: null }, todayLabel: { classPropertyName: "todayLabel", publicName: "todayLabel", isSignal: true, isRequired: false, transformFunction: null }, nowLabel: { classPropertyName: "nowLabel", publicName: "nowLabel", isSignal: true, isRequired: false, transformFunction: null }, dateLabel: { classPropertyName: "dateLabel", publicName: "dateLabel", isSignal: true, isRequired: false, transformFunction: null }, previewLabel: { classPropertyName: "previewLabel", publicName: "previewLabel", isSignal: true, isRequired: false, transformFunction: null }, datePlaceholder: { classPropertyName: "datePlaceholder", publicName: "datePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, beforeLabel: { classPropertyName: "beforeLabel", publicName: "beforeLabel", isSignal: true, isRequired: false, transformFunction: null }, afterLabel: { classPropertyName: "afterLabel", publicName: "afterLabel", isSignal: true, isRequired: false, transformFunction: null }, withinLabel: { classPropertyName: "withinLabel", publicName: "withinLabel", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: false, transformFunction: null }, searchLabel: { classPropertyName: "searchLabel", publicName: "searchLabel", isSignal: true, isRequired: false, transformFunction: null }, presetLabel: { classPropertyName: "presetLabel", publicName: "presetLabel", isSignal: true, isRequired: false, transformFunction: null }, advancedLabel: { classPropertyName: "advancedLabel", publicName: "advancedLabel", isSignal: true, isRequired: false, transformFunction: null }, applyLabel: { classPropertyName: "applyLabel", publicName: "applyLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeEndDateMissingLabel: { classPropertyName: "rangeEndDateMissingLabel", publicName: "rangeEndDateMissingLabel", isSignal: true, isRequired: false, transformFunction: null }, selectRangeLabel: { classPropertyName: "selectRangeLabel", publicName: "selectRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, datepickerConfig: { classPropertyName: "datepickerConfig", publicName: "datepickerConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { range: "rangeChange", applyClicked: "applyClicked" }, host: { properties: { "class.mobile": "smallScreen" } }, usesOnChanges: true, ngImport: i0, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (advancedMode()) {\n @let calculated = calculatedRange();\n @if (calculated.valid) {\n {{ calculated.start | date: pipeFormat() }} -\n {{ calculated.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ selectRangeLabel() | translate }}\n </span>\n }\n } @else {\n @let range = dateRange();\n {{ range.start | date: pipeFormat() }} -\n @if (range.end) {\n {{ range.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ rangeEndDateMissingLabel() | translate }}\n </span>\n }\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul\n class=\"overflow-auto\"\n cdkListbox\n [cdkListboxValue]=\"[]\"\n [attr.aria-label]=\"presetLabel() | translate\"\n (cdkListboxValueChange)=\"selectPresetItem($event.value[0])\"\n >\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li class=\"preset-item focus-inside px-8 py-5\" [cdkOption]=\"item.label\">\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-8\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-4 text-nowrap form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [attr.aria-label]=\"dateLabel() | translate\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--element-base-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--element-ui-4)}.main-form{inline-size:calc(16rem + 64px);grid-area:main}.advanced-form{block-size:calc(16rem + 133px)}.preset-select{display:flex;inline-size:calc(9.5rem + 48px);flex-direction:column;grid-area:preset;background:var(--element-base-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:1.1428571429}.preset-item:hover{background:var(--element-base-1-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"], dependencies: [{ kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio]:not([ngNoCva])[formControlName],input[type=radio]:not([ngNoCva])[formControl],input[type=radio]:not([ngNoCva])[ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiCalendarButtonComponent, selector: "si-calendar-button", inputs: ["ariaLabel"] }, { kind: "component", type: SiDatepickerComponent, selector: "si-datepicker", inputs: ["focusedDate", "date", "dateRange", "dateRangeRole", "initialFocus", "disabledTime", "config", "previousLabel", "nextLabel", "calendarWeekLabel", "time12h", "rangeType", "minMonth", "maxMonth", "hideTimeToggle", "hideCalendar", "timepickerLabel", "activeHover"], outputs: ["focusedDateChange", "dateChange", "dateRangeChange", "disabledTimeChange", "configChange", "rangeTypeChange", "activeHoverChange"] }, { kind: "directive", type: SiDatepickerDirective, selector: "[siDatepicker]", inputs: ["autoClose"], exportAs: ["siDatepicker"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiRelativeDateComponent, selector: "si-relative-date", inputs: ["value", "enableTimeSelection", "valueLabel", "unitLabel"], outputs: ["valueChange"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PresetMatchFilterPipe, name: "presetMatchFilter" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
632
679
|
}
|
|
633
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
680
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeFilterComponent, decorators: [{
|
|
634
681
|
type: Component,
|
|
635
682
|
args: [{ selector: 'si-date-range-filter', imports: [
|
|
636
683
|
CdkOption,
|
|
@@ -648,7 +695,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
648
695
|
SiRelativeDateComponent,
|
|
649
696
|
SiSearchBarComponent,
|
|
650
697
|
SiTranslatePipe
|
|
651
|
-
],
|
|
698
|
+
], host: {
|
|
652
699
|
'[class.mobile]': 'smallScreen'
|
|
653
700
|
}, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (advancedMode()) {\n @let calculated = calculatedRange();\n @if (calculated.valid) {\n {{ calculated.start | date: pipeFormat() }} -\n {{ calculated.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ selectRangeLabel() | translate }}\n </span>\n }\n } @else {\n @let range = dateRange();\n {{ range.start | date: pipeFormat() }} -\n @if (range.end) {\n {{ range.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ rangeEndDateMissingLabel() | translate }}\n </span>\n }\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul\n class=\"overflow-auto\"\n cdkListbox\n [cdkListboxValue]=\"[]\"\n [attr.aria-label]=\"presetLabel() | translate\"\n (cdkListboxValueChange)=\"selectPresetItem($event.value[0])\"\n >\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li class=\"preset-item focus-inside px-8 py-5\" [cdkOption]=\"item.label\">\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-8\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-4 text-nowrap form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [attr.aria-label]=\"dateLabel() | translate\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--element-base-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--element-ui-4)}.main-form{inline-size:calc(16rem + 64px);grid-area:main}.advanced-form{block-size:calc(16rem + 133px)}.preset-select{display:flex;inline-size:calc(9.5rem + 48px);flex-direction:column;grid-area:preset;background:var(--element-base-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:1.1428571429}.preset-item:hover{background:var(--element-base-1-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"] }]
|
|
654
701
|
}], propDecorators: { range: [{ type: i0.Input, args: [{ isSignal: true, alias: "range", required: true }] }, { type: i0.Output, args: ["rangeChange"] }], presetList: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetList", required: false }] }], presetSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetSearch", required: false }] }], enableTimeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableTimeSelection", required: false }] }], basicMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "basicMode", required: false }] }], reverseInputFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseInputFields", required: false }] }], showApplyButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showApplyButton", required: false }] }], hideAdvancedMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideAdvancedMode", required: false }] }], refLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "refLabel", required: false }] }], fromLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "fromLabel", required: false }] }], toLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toLabel", required: false }] }], rangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeLabel", required: false }] }], todayLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "todayLabel", required: false }] }], nowLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nowLabel", required: false }] }], dateLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateLabel", required: false }] }], previewLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewLabel", required: false }] }], datePlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "datePlaceholder", required: false }] }], beforeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "beforeLabel", required: false }] }], afterLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "afterLabel", required: false }] }], withinLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "withinLabel", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueLabel", required: false }] }], unitLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitLabel", required: false }] }], searchLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchLabel", required: false }] }], presetLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetLabel", required: false }] }], advancedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "advancedLabel", required: false }] }], applyLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "applyLabel", required: false }] }], rangeEndDateMissingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeEndDateMissingLabel", required: false }] }], selectRangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectRangeLabel", required: false }] }], applyClicked: [{ type: i0.Output, args: ["applyClicked"] }], datepickerConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "datepickerConfig", required: false }] }] } });
|
|
@@ -658,11 +705,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
658
705
|
* SPDX-License-Identifier: MIT
|
|
659
706
|
*/
|
|
660
707
|
class SiDateRangeFilterModule {
|
|
661
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
662
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
663
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
708
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
709
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeFilterModule, imports: [SiDateRangeFilterComponent], exports: [SiDateRangeFilterComponent] });
|
|
710
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeFilterModule, imports: [SiDateRangeFilterComponent] });
|
|
664
711
|
}
|
|
665
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
712
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDateRangeFilterModule, decorators: [{
|
|
666
713
|
type: NgModule,
|
|
667
714
|
args: [{
|
|
668
715
|
imports: [SiDateRangeFilterComponent],
|