@siemens/element-ng 47.3.0 → 47.4.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.
Files changed (177) hide show
  1. package/badge/si-badge.component.d.ts +1 -1
  2. package/breadcrumb/breadcrumb-item.model.d.ts +36 -0
  3. package/breadcrumb/index.d.ts +7 -0
  4. package/breadcrumb/package.json +3 -0
  5. package/breadcrumb/si-breadcrumb-item-template.directive.d.ts +10 -0
  6. package/breadcrumb/si-breadcrumb.component.d.ts +46 -0
  7. package/breadcrumb/si-breadcrumb.module.d.ts +7 -0
  8. package/card/index.d.ts +6 -0
  9. package/card/package.json +3 -0
  10. package/card/si-card.component.d.ts +79 -0
  11. package/card/si-card.module.d.ts +7 -0
  12. package/circle-status/index.d.ts +6 -0
  13. package/circle-status/package.json +3 -0
  14. package/circle-status/si-circle-status.component.d.ts +66 -0
  15. package/circle-status/si-circle-status.module.d.ts +7 -0
  16. package/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.d.ts +23 -0
  17. package/column-selection-dialog/index.d.ts +6 -0
  18. package/column-selection-dialog/package.json +3 -0
  19. package/column-selection-dialog/si-column-selection-dialog.component.d.ts +114 -0
  20. package/column-selection-dialog/si-column-selection-dialog.service.d.ts +20 -0
  21. package/column-selection-dialog/si-column-selection-dialog.types.d.ts +68 -0
  22. package/common/models/status-type.model.d.ts +2 -2
  23. package/date-range-filter/index.d.ts +8 -0
  24. package/date-range-filter/package.json +3 -0
  25. package/date-range-filter/si-date-range-calculation.service.d.ts +33 -0
  26. package/date-range-filter/si-date-range-filter.component.d.ts +248 -0
  27. package/date-range-filter/si-date-range-filter.module.d.ts +7 -0
  28. package/date-range-filter/si-date-range-filter.types.d.ts +40 -0
  29. package/date-range-filter/si-relative-date.component.d.ts +31 -0
  30. package/datepicker/components/si-calendar-body.component.d.ts +137 -0
  31. package/datepicker/components/si-calendar-date-cell.directive.d.ts +16 -0
  32. package/datepicker/components/si-calendar-direction-button.component.d.ts +18 -0
  33. package/datepicker/components/si-compare-adapter.d.ts +37 -0
  34. package/datepicker/components/si-day-selection.component.d.ts +76 -0
  35. package/datepicker/components/si-initial-focus.component.d.ts +74 -0
  36. package/datepicker/components/si-month-selection.component.d.ts +62 -0
  37. package/datepicker/components/si-year-selection.component.d.ts +65 -0
  38. package/datepicker/date-time-helper.d.ts +302 -0
  39. package/datepicker/index.d.ts +15 -0
  40. package/datepicker/package.json +3 -0
  41. package/datepicker/si-calendar-button.component.d.ts +49 -0
  42. package/datepicker/si-date-input.directive.d.ts +114 -0
  43. package/datepicker/si-date-range.component.d.ts +150 -0
  44. package/datepicker/si-datepicker-overlay.component.d.ts +82 -0
  45. package/datepicker/si-datepicker-overlay.directive.d.ts +104 -0
  46. package/datepicker/si-datepicker.component.d.ts +228 -0
  47. package/datepicker/si-datepicker.directive.d.ts +62 -0
  48. package/datepicker/si-datepicker.model.d.ts +129 -0
  49. package/datepicker/si-datepicker.module.d.ts +12 -0
  50. package/datepicker/si-timepicker.component.d.ts +214 -0
  51. package/electron-titlebar/electron.helpers.d.ts +5 -0
  52. package/electron-titlebar/index.d.ts +7 -0
  53. package/electron-titlebar/package.json +3 -0
  54. package/electron-titlebar/si-electron-titlebar.component.d.ts +72 -0
  55. package/electron-titlebar/si-electron-titlebar.module.d.ts +7 -0
  56. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-breadcrumb.mjs +302 -0
  58. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -0
  59. package/fesm2022/siemens-element-ng-card.mjs +122 -0
  60. package/fesm2022/siemens-element-ng-card.mjs.map +1 -0
  61. package/fesm2022/siemens-element-ng-circle-status.mjs +146 -0
  62. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -0
  63. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +369 -0
  64. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -0
  65. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  66. package/fesm2022/siemens-element-ng-date-range-filter.mjs +649 -0
  67. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -0
  68. package/fesm2022/siemens-element-ng-datepicker.mjs +4231 -0
  69. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -0
  70. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +142 -0
  71. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -0
  72. package/fesm2022/siemens-element-ng-file-uploader.mjs +751 -0
  73. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -0
  74. package/fesm2022/siemens-element-ng-filter-bar.mjs +153 -0
  75. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -0
  76. package/fesm2022/siemens-element-ng-icon.mjs +11 -1
  77. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  78. package/fesm2022/siemens-element-ng-info-page.mjs +63 -0
  79. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -0
  80. package/fesm2022/siemens-element-ng-inline-notification.mjs +4 -6
  81. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  82. package/fesm2022/siemens-element-ng-ip-input.mjs +451 -0
  83. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -0
  84. package/fesm2022/siemens-element-ng-localization.mjs +306 -0
  85. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -0
  86. package/fesm2022/siemens-element-ng-photo-upload.mjs +480 -0
  87. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -0
  88. package/fesm2022/siemens-element-ng-search-bar.mjs +193 -0
  89. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -0
  90. package/fesm2022/siemens-element-ng-slider.mjs +313 -0
  91. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -0
  92. package/fesm2022/siemens-element-ng-sort-bar.mjs +89 -0
  93. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -0
  94. package/fesm2022/siemens-element-ng-split.mjs +575 -0
  95. package/fesm2022/siemens-element-ng-split.mjs.map +1 -0
  96. package/fesm2022/siemens-element-ng-status-toggle.mjs +196 -0
  97. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -0
  98. package/fesm2022/siemens-element-ng-system-banner.mjs +47 -0
  99. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -0
  100. package/fesm2022/siemens-element-ng-tabs.mjs +395 -0
  101. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -0
  102. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-unauthorized-page.mjs +76 -0
  104. package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -0
  105. package/file-uploader/index.d.ts +8 -0
  106. package/file-uploader/package.json +3 -0
  107. package/file-uploader/si-file-dropzone.component.d.ts +106 -0
  108. package/file-uploader/si-file-uploader.component.d.ts +296 -0
  109. package/file-uploader/si-file-uploader.model.d.ts +12 -0
  110. package/file-uploader/si-file-uploader.module.d.ts +8 -0
  111. package/filter-bar/filter.d.ts +26 -0
  112. package/filter-bar/index.d.ts +8 -0
  113. package/filter-bar/package.json +3 -0
  114. package/filter-bar/si-filter-bar.component.d.ts +65 -0
  115. package/filter-bar/si-filter-bar.module.d.ts +7 -0
  116. package/filter-bar/si-filter-pill.component.d.ts +20 -0
  117. package/icon/element-icons.d.ts +10 -0
  118. package/info-page/index.d.ts +5 -0
  119. package/info-page/package.json +3 -0
  120. package/info-page/si-info-page.component.d.ts +38 -0
  121. package/inline-notification/si-inline-notification.component.d.ts +0 -2
  122. package/ip-input/address-utils.d.ts +28 -0
  123. package/ip-input/address-validators.d.ts +21 -0
  124. package/ip-input/index.d.ts +7 -0
  125. package/ip-input/package.json +3 -0
  126. package/ip-input/si-ip-input.directive.d.ts +53 -0
  127. package/ip-input/si-ip4-input.directive.d.ts +9 -0
  128. package/ip-input/si-ip6-input.directive.d.ts +10 -0
  129. package/localization/index.d.ts +8 -0
  130. package/localization/package.json +3 -0
  131. package/localization/si-directionality.d.ts +41 -0
  132. package/localization/si-locale-id.d.ts +22 -0
  133. package/localization/si-locale-store.d.ts +16 -0
  134. package/localization/si-locale.service.d.ts +73 -0
  135. package/package.json +91 -3
  136. package/photo-upload/index.d.ts +6 -0
  137. package/photo-upload/package.json +3 -0
  138. package/photo-upload/si-image-cropper-style.component.d.ts +5 -0
  139. package/photo-upload/si-photo-upload.component.d.ts +298 -0
  140. package/search-bar/index.d.ts +6 -0
  141. package/search-bar/package.json +3 -0
  142. package/search-bar/si-search-bar.component.d.ts +87 -0
  143. package/search-bar/si-search-bar.module.d.ts +7 -0
  144. package/slider/index.d.ts +6 -0
  145. package/slider/package.json +3 -0
  146. package/slider/si-slider.component.d.ts +129 -0
  147. package/slider/si-slider.module.d.ts +7 -0
  148. package/sort-bar/index.d.ts +6 -0
  149. package/sort-bar/package.json +3 -0
  150. package/sort-bar/si-sort-bar.component.d.ts +42 -0
  151. package/sort-bar/si-sort-bar.module.d.ts +7 -0
  152. package/split/index.d.ts +8 -0
  153. package/split/package.json +3 -0
  154. package/split/si-split-part.component.d.ts +154 -0
  155. package/split/si-split.component.d.ts +48 -0
  156. package/split/si-split.interfaces.d.ts +17 -0
  157. package/split/si-split.module.d.ts +8 -0
  158. package/status-toggle/index.d.ts +6 -0
  159. package/status-toggle/package.json +3 -0
  160. package/status-toggle/si-status-toggle.component.d.ts +54 -0
  161. package/status-toggle/status-toggle.model.d.ts +26 -0
  162. package/system-banner/index.d.ts +5 -0
  163. package/system-banner/package.json +3 -0
  164. package/system-banner/system-banner.component.d.ts +23 -0
  165. package/tabs/index.d.ts +7 -0
  166. package/tabs/package.json +3 -0
  167. package/tabs/si-tab/index.d.ts +5 -0
  168. package/tabs/si-tab/si-tab.component.d.ts +58 -0
  169. package/tabs/si-tabs.module.d.ts +8 -0
  170. package/tabs/si-tabset/index.d.ts +5 -0
  171. package/tabs/si-tabset/si-tabset.component.d.ts +100 -0
  172. package/template-i18n.json +82 -0
  173. package/translate/si-translatable-keys.interface.d.ts +82 -0
  174. package/unauthorized-page/index.d.ts +6 -0
  175. package/unauthorized-page/package.json +3 -0
  176. package/unauthorized-page/si-unauthorized-page.component.d.ts +35 -0
  177. package/unauthorized-page/si-unauthorized-page.module.d.ts +7 -0
@@ -0,0 +1,248 @@
1
+ import { OnChanges, PipeTransform, SimpleChanges } from '@angular/core';
2
+ import { DatepickerConfig, DatepickerInputConfig, DateRange } from '@siemens/element-ng/datepicker';
3
+ import { DateRangeFilter, DateRangePreset, ResolvedDateRange } from './si-date-range-filter.types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class PresetMatchFilterPipe implements PipeTransform {
6
+ transform(value: string, term: string): boolean;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<PresetMatchFilterPipe, never>;
8
+ static ɵpipe: i0.ɵɵPipeDeclaration<PresetMatchFilterPipe, "presetMatchFilter", true>;
9
+ }
10
+ export declare class SiDateRangeFilterComponent implements OnChanges {
11
+ private readonly service;
12
+ /** The filter range object */
13
+ readonly range: import("@angular/core").ModelSignal<DateRangeFilter>;
14
+ /** List of preset time ranges. When not present or empty, the preset section won't show */
15
+ readonly presetList: import("@angular/core").InputSignal<DateRangePreset[] | undefined>;
16
+ /**
17
+ * Determines if there's a search field for the preset list
18
+ *
19
+ * @defaultValue true
20
+ */
21
+ readonly presetSearch: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
22
+ /**
23
+ * Determines if time is selectable or only dates
24
+ *
25
+ * @defaultValue false
26
+ */
27
+ readonly enableTimeSelection: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
28
+ /**
29
+ * Determines whether to show input fields or a date-range calendar in basic mode.
30
+ * When time selection is enabled, this has no effect and input fields are always shown.
31
+ *
32
+ * @defaultValue 'calendar'
33
+ */
34
+ readonly basicMode: import("@angular/core").InputSignal<"input" | "calendar">;
35
+ /**
36
+ * Reverses the order of the from/to fields
37
+ *
38
+ * @defaultValue false
39
+ */
40
+ readonly reverseInputFields: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
41
+ /**
42
+ * Determines whether to show the 'Apply' button
43
+ *
44
+ * @defaultValue false
45
+ */
46
+ readonly showApplyButton: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
47
+ /**
48
+ * Hides the advanced mode if input allows
49
+ *
50
+ * @defaultValue false
51
+ */
52
+ readonly hideAdvancedMode: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
53
+ /**
54
+ * label for the "Reference point" title
55
+ *
56
+ * @defaultValue
57
+ * ```
58
+ * $localize`:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`
59
+ * ```
60
+ */
61
+ readonly refLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
62
+ /**
63
+ * label for the "Reference point" title
64
+ *
65
+ * @defaultValue
66
+ * ```
67
+ * $localize`:@@SI_DATE_RANGE_FILTER.FROM:From`
68
+ * ```
69
+ */
70
+ readonly fromLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
71
+ /**
72
+ * label for the "Reference point" title
73
+ *
74
+ * @defaultValue
75
+ * ```
76
+ * $localize`:@@SI_DATE_RANGE_FILTER.TO:To`
77
+ * ```
78
+ */
79
+ readonly toLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
80
+ /**
81
+ * label for the "Range" title
82
+ *
83
+ * @defaultValue
84
+ * ```
85
+ * $localize`:@@SI_DATE_RANGE_FILTER.RANGE:Range`
86
+ * ```
87
+ */
88
+ readonly rangeLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
89
+ /**
90
+ * label for the "Today" checkbox
91
+ *
92
+ * @defaultValue
93
+ * ```
94
+ * $localize`:@@SI_DATE_RANGE_FILTER.TODAY:Today`
95
+ * ```
96
+ */
97
+ readonly todayLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
98
+ /**
99
+ * label for the "Now" checkbox
100
+ *
101
+ * @defaultValue
102
+ * ```
103
+ * $localize`:@@SI_DATE_RANGE_FILTER.NOW:Now`
104
+ * ```
105
+ */
106
+ readonly nowLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
107
+ /**
108
+ * label for "Date" field / radio button
109
+ *
110
+ * @defaultValue
111
+ * ```
112
+ * $localize`:@@SI_DATE_RANGE_FILTER.DATE:Date`
113
+ * ```
114
+ */
115
+ readonly dateLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
116
+ /**
117
+ * label for the "Preview" title
118
+ *
119
+ * @defaultValue
120
+ * ```
121
+ * $localize`:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`
122
+ * ```
123
+ */
124
+ readonly previewLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
125
+ /**
126
+ * Placeholder for date fields
127
+ *
128
+ * @defaultValue
129
+ * ```
130
+ * $localize`:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`
131
+ * ```
132
+ */
133
+ readonly datePlaceholder: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
134
+ /**
135
+ * label for the "Before" toggle
136
+ *
137
+ * @defaultValue
138
+ * ```
139
+ * $localize`:@@SI_DATE_RANGE_FILTER.BEFORE:Before`
140
+ * ```
141
+ */
142
+ readonly beforeLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
143
+ /**
144
+ * label for the "After" toggle
145
+ *
146
+ * @defaultValue
147
+ * ```
148
+ * $localize`:@@SI_DATE_RANGE_FILTER.AFTER:After`
149
+ * ```
150
+ */
151
+ readonly afterLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
152
+ /**
153
+ * label for the "Within" toggle
154
+ *
155
+ * @defaultValue
156
+ * ```
157
+ * $localize`:@@SI_DATE_RANGE_FILTER.WITHIN:Within`
158
+ * ```
159
+ */
160
+ readonly withinLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
161
+ /**
162
+ * label for the "value" number input
163
+ *
164
+ * @defaultValue
165
+ * ```
166
+ * $localize`:@@SI_DATE_RANGE_FILTER.VALUE:Value`
167
+ * ```
168
+ */
169
+ readonly valueLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
170
+ /**
171
+ * label for the "Unit" select
172
+ *
173
+ * @defaultValue
174
+ * ```
175
+ * $localize`:@@SI_DATE_RANGE_FILTER.UNIT:Unit`
176
+ * ```
177
+ */
178
+ readonly unitLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
179
+ /**
180
+ * label for the "search" input
181
+ *
182
+ * @defaultValue
183
+ * ```
184
+ * $localize`:@@SI_DATE_RANGE_FILTER.SEARCH:Search`
185
+ * ```
186
+ */
187
+ readonly searchLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
188
+ /**
189
+ * label for the "search" input
190
+ *
191
+ * @defaultValue
192
+ * ```
193
+ * $localize`:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`
194
+ * ```
195
+ */
196
+ readonly presetLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
197
+ /**
198
+ * label for the "advanced" switch
199
+ *
200
+ * @defaultValue
201
+ * ```
202
+ * $localize`:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`
203
+ * ```
204
+ */
205
+ readonly advancedLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
206
+ /**
207
+ * label for the "apply" switch
208
+ *
209
+ * @defaultValue
210
+ * ```
211
+ * $localize`:@@SI_DATE_RANGE_FILTER.APPLY:Apply`
212
+ * ```
213
+ */
214
+ readonly applyLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
215
+ /** Event fired when the apply button has been clicked */
216
+ readonly applyClicked: import("@angular/core").OutputEmitterRef<void>;
217
+ /** Base configuration on how the dates should be displayed, parts of it may be overwritten internally. */
218
+ readonly datepickerConfig: import("@angular/core").InputSignal<DatepickerInputConfig | undefined>;
219
+ protected advancedMode: boolean;
220
+ protected dateRange: DateRange;
221
+ protected point1Now: boolean;
222
+ protected point2Mode: 'duration' | 'date';
223
+ protected point1date: Date;
224
+ protected point2date: Date;
225
+ protected point2offset: number;
226
+ protected point2range: 'before' | 'after' | 'within';
227
+ protected readonly calculatedRange: import("@angular/core").Signal<ResolvedDateRange>;
228
+ protected readonly pipeFormat: import("@angular/core").Signal<string>;
229
+ protected readonly datepickerConfigInternal: import("@angular/core").Signal<DatepickerConfig>;
230
+ protected readonly dateRangeConfig: import("@angular/core").Signal<DatepickerConfig>;
231
+ protected readonly filteredPresetList: import("@angular/core").Signal<DateRangePreset[]>;
232
+ protected readonly presetFilter: import("@angular/core").WritableSignal<string>;
233
+ protected readonly inputMode: import("@angular/core").Signal<boolean>;
234
+ ngOnChanges(changes: SimpleChanges): void;
235
+ private getDateNow;
236
+ private rangeChanged;
237
+ private updateFromRange;
238
+ private resolve;
239
+ protected updateDateRange(range?: DateRangeFilter): void;
240
+ protected updateOnModeChange(): void;
241
+ private updateSimpleMode;
242
+ protected updateFromDateRange(): void;
243
+ protected point1Changed(): void;
244
+ protected point2Changed(): void;
245
+ protected selectPresetItem(item: DateRangePreset): void;
246
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiDateRangeFilterComponent, never>;
247
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiDateRangeFilterComponent, "si-date-range-filter", never, { "range": { "alias": "range"; "required": true; "isSignal": true; }; "presetList": { "alias": "presetList"; "required": false; "isSignal": true; }; "presetSearch": { "alias": "presetSearch"; "required": false; "isSignal": true; }; "enableTimeSelection": { "alias": "enableTimeSelection"; "required": false; "isSignal": true; }; "basicMode": { "alias": "basicMode"; "required": false; "isSignal": true; }; "reverseInputFields": { "alias": "reverseInputFields"; "required": false; "isSignal": true; }; "showApplyButton": { "alias": "showApplyButton"; "required": false; "isSignal": true; }; "hideAdvancedMode": { "alias": "hideAdvancedMode"; "required": false; "isSignal": true; }; "refLabel": { "alias": "refLabel"; "required": false; "isSignal": true; }; "fromLabel": { "alias": "fromLabel"; "required": false; "isSignal": true; }; "toLabel": { "alias": "toLabel"; "required": false; "isSignal": true; }; "rangeLabel": { "alias": "rangeLabel"; "required": false; "isSignal": true; }; "todayLabel": { "alias": "todayLabel"; "required": false; "isSignal": true; }; "nowLabel": { "alias": "nowLabel"; "required": false; "isSignal": true; }; "dateLabel": { "alias": "dateLabel"; "required": false; "isSignal": true; }; "previewLabel": { "alias": "previewLabel"; "required": false; "isSignal": true; }; "datePlaceholder": { "alias": "datePlaceholder"; "required": false; "isSignal": true; }; "beforeLabel": { "alias": "beforeLabel"; "required": false; "isSignal": true; }; "afterLabel": { "alias": "afterLabel"; "required": false; "isSignal": true; }; "withinLabel": { "alias": "withinLabel"; "required": false; "isSignal": true; }; "valueLabel": { "alias": "valueLabel"; "required": false; "isSignal": true; }; "unitLabel": { "alias": "unitLabel"; "required": false; "isSignal": true; }; "searchLabel": { "alias": "searchLabel"; "required": false; "isSignal": true; }; "presetLabel": { "alias": "presetLabel"; "required": false; "isSignal": true; }; "advancedLabel": { "alias": "advancedLabel"; "required": false; "isSignal": true; }; "applyLabel": { "alias": "applyLabel"; "required": false; "isSignal": true; }; "datepickerConfig": { "alias": "datepickerConfig"; "required": false; "isSignal": true; }; }, { "range": "rangeChange"; "applyClicked": "applyClicked"; }, never, never, true, never>;
248
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./si-date-range-filter.component";
3
+ export declare class SiDateRangeFilterModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiDateRangeFilterModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SiDateRangeFilterModule, never, [typeof i1.SiDateRangeFilterComponent], [typeof i1.SiDateRangeFilterComponent]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<SiDateRangeFilterModule>;
7
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
6
+ /**
7
+ * Simple DateRangeFilter preset based on offset from now
8
+ */
9
+ export interface DateRangePresetOffset {
10
+ type?: 'offset';
11
+ /** translation key for label */
12
+ label: TranslatableString;
13
+ /** offset from current in milliseconds */
14
+ offset: number;
15
+ }
16
+ /**
17
+ * Advanced DateRageFilter preset with custom calculation
18
+ */
19
+ export interface DateRangePresetCustom {
20
+ type: 'custom';
21
+ /** translation key for label */
22
+ label: TranslatableString;
23
+ /** calculation custom calculation function */
24
+ calculate: (self: DateRangePresetCustom, currentRange: DateRangeFilter) => DateRangeFilter;
25
+ /** Whether this should show only when time support is enabled */
26
+ timeOnly?: boolean;
27
+ }
28
+ export type DateRangePreset = DateRangePresetOffset | DateRangePresetCustom;
29
+ export interface DateRangeFilter {
30
+ point1: Date | 'now';
31
+ point2: number | Date;
32
+ range?: 'before' | 'after' | 'within';
33
+ }
34
+ export interface ResolvedDateRange {
35
+ start: Date;
36
+ end: Date;
37
+ valid: boolean;
38
+ }
39
+ export declare const ONE_MINUTE: number;
40
+ export declare const ONE_DAY: number;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { OnChanges, SimpleChanges } from '@angular/core';
6
+ import { SelectOption } from '@siemens/element-ng/select';
7
+ import * as i0 from "@angular/core";
8
+ interface OffsetOption extends SelectOption<string> {
9
+ offset: number;
10
+ }
11
+ export declare class SiRelativeDateComponent implements OnChanges {
12
+ /** @defaultValue 0 */
13
+ readonly value: import("@angular/core").InputSignal<number>;
14
+ /** @defaultValue false */
15
+ readonly enableTimeSelection: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16
+ readonly valueLabel: import("@angular/core").InputSignal<string>;
17
+ readonly unitLabel: import("@angular/core").InputSignal<string>;
18
+ readonly valueChange: import("@angular/core").OutputEmitterRef<number>;
19
+ protected readonly internalValue: import("@angular/core").WritableSignal<number>;
20
+ protected readonly offset: import("@angular/core").WritableSignal<number>;
21
+ protected readonly unit: import("@angular/core").WritableSignal<string>;
22
+ private readonly fullOffsetList;
23
+ protected readonly offsetList: import("@angular/core").Signal<OffsetOption[]>;
24
+ ngOnChanges(changes: SimpleChanges): void;
25
+ private calculateOffset;
26
+ protected updateValue(offset: number): void;
27
+ protected changeUnit(newUnit: string): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiRelativeDateComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiRelativeDateComponent, "si-relative-date", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "enableTimeSelection": { "alias": "enableTimeSelection"; "required": false; "isSignal": true; }; "valueLabel": { "alias": "valueLabel"; "required": true; "isSignal": true; }; "unitLabel": { "alias": "unitLabel"; "required": true; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
30
+ }
31
+ export {};
@@ -0,0 +1,137 @@
1
+ import { CompareAdapter } from './si-compare-adapter';
2
+ import * as i0 from "@angular/core";
3
+ /** CSS classes that can be associated with a calendar cell. */
4
+ export type CellCssClasses = string | string[] | Set<string> | {
5
+ [key: string]: any;
6
+ };
7
+ export interface Cell {
8
+ value: number;
9
+ /** Indicate that the cell is disabled */
10
+ disabled: boolean;
11
+ /** Cell specific aria label */
12
+ ariaLabel: string;
13
+ /** Display value */
14
+ displayValue: string;
15
+ /**
16
+ * Indicate that the cell is a preview, this is dedicated to the calendar month
17
+ * view to where a day could be part of the previous or next month
18
+ */
19
+ isPreview: boolean;
20
+ /**
21
+ * The cell corresponds to today.
22
+ */
23
+ isToday: boolean;
24
+ /** Raw value */
25
+ valueRaw: Date;
26
+ /** Additional CSS classes for the cell */
27
+ cssClasses: CellCssClasses;
28
+ }
29
+ /**
30
+ * Base interface for selections.
31
+ */
32
+ declare abstract class SelectionStrategy {
33
+ protected compare: CompareAdapter;
34
+ constructor(compare: CompareAdapter);
35
+ /**
36
+ * Indicate whether the cell is selected
37
+ */
38
+ abstract isSelected(cell: Cell, start?: Date, end?: Date): boolean;
39
+ /**
40
+ * Cell is between start and end value.
41
+ * start \< Cell value \< end
42
+ */
43
+ abstract inRange(c: Cell, start?: Date, end?: Date): boolean;
44
+ /**
45
+ * Cell is either startValue or endValue
46
+ */
47
+ abstract isRangeSelected(cell: Cell, date?: Date): boolean;
48
+ /**
49
+ * Preview selection range on mouse hover.
50
+ */
51
+ abstract previewRangeHover(cell: Cell, hoverCell?: Cell, start?: Date): boolean;
52
+ /**
53
+ * Preview selection range on mouse hover end of range.
54
+ */
55
+ abstract previewRangeHoverEnd(cell: Cell, hoverCell?: Cell, start?: Date): boolean;
56
+ }
57
+ /**
58
+ * Strategy the handle single selection within the {@link SiCalendarBodyComponent}.
59
+ */
60
+ declare class SingleSelectionStrategy extends SelectionStrategy {
61
+ isSelected(cell: Cell, start?: Date, end?: Date): boolean;
62
+ inRange(cell: Cell, start?: Date, end?: Date): boolean;
63
+ isRangeSelected(cell: Cell, date?: Date): boolean;
64
+ previewRangeHover(cell: Cell, hoverCell?: Cell, start?: Date): boolean;
65
+ previewRangeHoverEnd(cell: Cell, hoverCell?: Cell, start?: Date): boolean;
66
+ }
67
+ /**
68
+ * Strategy the handle range selection within the {@link SiCalendarBodyComponent}.
69
+ */
70
+ declare class RangeSelectionStrategy extends SelectionStrategy {
71
+ isSelected(cell: Cell, start?: Date, end?: Date): boolean;
72
+ inRange(c: Cell, start?: Date, end?: Date): boolean;
73
+ isRangeSelected(cell: Cell, date?: Date): boolean;
74
+ previewRangeHover(cell: Cell, hoverCell?: Cell, start?: Date): boolean;
75
+ previewRangeHoverEnd(cell: Cell, hoverCell?: Cell, start?: Date): boolean;
76
+ }
77
+ export declare class SiCalendarBodyComponent {
78
+ /** The active date, the cell which will receive the focus. */
79
+ readonly focusedDate: import("@angular/core").ModelSignal<Date>;
80
+ /** The date which shall be indicated as currently selected. */
81
+ readonly startDate: import("@angular/core").InputSignal<Date | undefined>;
82
+ /** Selected end value which is only considered with enableRangeSelection. */
83
+ readonly endDate: import("@angular/core").InputSignal<Date | undefined>;
84
+ /**
85
+ * The cells to display in the table.
86
+ *
87
+ * @defaultValue []
88
+ */
89
+ readonly rows: import("@angular/core").InputSignal<Cell[][]>;
90
+ /**
91
+ * Labels for each row, which can be used to display the week number.
92
+ * @defaultValue undefined
93
+ */
94
+ readonly rowLabels: import("@angular/core").InputSignal<string[] | undefined>;
95
+ /**
96
+ * Additional row label CSS class(es).
97
+ *
98
+ * @defaultValue []
99
+ */
100
+ readonly rowLabelCssClasses: import("@angular/core").InputSignal<CellCssClasses>;
101
+ /**
102
+ * Choose the selection strategy between single or range selection.
103
+ * @defaultValue false
104
+ */
105
+ readonly enableRangeSelection: import("@angular/core").InputSignal<boolean>;
106
+ /**
107
+ * Indicate whether a range preview shall be displayed.
108
+ * It's necessary since to display a preview also datepicker has a valid endDate.
109
+ *
110
+ * @defaultValue true
111
+ */
112
+ readonly previewRange: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
113
+ /** The cell which which has the mouse hover. */
114
+ readonly activeHover: import("@angular/core").ModelSignal<Cell | undefined>;
115
+ /**
116
+ * Compare date functions which are necessary to compare a the dates according the current view.
117
+ *
118
+ * @defaultValue new DayCompareAdapter()
119
+ */
120
+ readonly compareAdapter: import("@angular/core").InputSignal<CompareAdapter>;
121
+ /** Emits when a user select a cell via click, space or enter. */
122
+ readonly selectedValueChange: import("@angular/core").OutputEmitterRef<Date>;
123
+ private readonly calendarDateCells;
124
+ protected readonly selection: import("@angular/core").Signal<SingleSelectionStrategy | RangeSelectionStrategy>;
125
+ /**
126
+ * Focus calendar cell which is marked as active cell.
127
+ */
128
+ focusActiveCell(): void;
129
+ protected isActive(cell: Cell): boolean;
130
+ protected cellCss(cell: Cell): CellCssClasses;
131
+ protected emitActiveHover(cell: Cell): void;
132
+ protected emitSelectCell(selection: Cell): void;
133
+ protected emitActiveDateChange(cell: Cell): void;
134
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiCalendarBodyComponent, never>;
135
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiCalendarBodyComponent, "[si-calendar-body]", ["siCalendarBody"], { "focusedDate": { "alias": "focusedDate"; "required": true; "isSignal": true; }; "startDate": { "alias": "startDate"; "required": false; "isSignal": true; }; "endDate": { "alias": "endDate"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "rowLabels": { "alias": "rowLabels"; "required": false; "isSignal": true; }; "rowLabelCssClasses": { "alias": "rowLabelCssClasses"; "required": false; "isSignal": true; }; "enableRangeSelection": { "alias": "enableRangeSelection"; "required": false; "isSignal": true; }; "previewRange": { "alias": "previewRange"; "required": false; "isSignal": true; }; "activeHover": { "alias": "activeHover"; "required": false; "isSignal": true; }; "compareAdapter": { "alias": "compareAdapter"; "required": false; "isSignal": true; }; }, { "focusedDate": "focusedDateChange"; "activeHover": "activeHoverChange"; "selectedValueChange": "selectedValueChange"; }, never, never, true, never>;
136
+ }
137
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { ElementRef } from '@angular/core';
6
+ import { Cell } from './si-calendar-body.component';
7
+ import { CompareAdapter } from './si-compare-adapter';
8
+ import * as i0 from "@angular/core";
9
+ export declare class SiCalendarDateCellDirective {
10
+ readonly cell: import("@angular/core").InputSignal<Cell>;
11
+ readonly compareAdapter: import("@angular/core").InputSignal<CompareAdapter>;
12
+ /** @defaultValue inject(ElementRef) */
13
+ readonly ref: ElementRef<any>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiCalendarDateCellDirective, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SiCalendarDateCellDirective, "[siCalendarDateCell]", never, { "cell": { "alias": "cell"; "required": true; "isSignal": true; }; "compareAdapter": { "alias": "compareAdapter"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1,18 @@
1
+ import * as i0 from "@angular/core";
2
+ export type Direction = 'left' | 'right';
3
+ export declare class SiCalendarDirectionButtonComponent {
4
+ readonly ariaLabel: import("@angular/core").InputSignal<string>;
5
+ /** @defaultValue false */
6
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
7
+ readonly direction: import("@angular/core").InputSignal<Direction | undefined>;
8
+ /**
9
+ * Emit on button click.
10
+ */
11
+ readonly clicked: import("@angular/core").OutputEmitterRef<void>;
12
+ protected readonly icon: import("@angular/core").Signal<string>;
13
+ protected readonly buttonClass: import("@angular/core").Signal<"previous-button" | "next-button">;
14
+ protected readonly icons: Record<"elementLeft2" | "elementRight2", string>;
15
+ protected onClick(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiCalendarDirectionButtonComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiCalendarDirectionButtonComponent, "si-calendar-direction-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
18
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Compare the dates based on the active view.
3
+ */
4
+ export interface CompareAdapter {
5
+ isAfter(current: Date, start: Date): boolean;
6
+ isBetween(current: Date, from?: Date, to?: Date): boolean;
7
+ isEqual(current: Date, other?: Date): boolean;
8
+ isEqualOrBefore(current: Date, other: Date): boolean;
9
+ isEqualOrBetween(current: Date, from?: Date, to?: Date): boolean;
10
+ }
11
+ /**
12
+ * Compare dates in the month view.
13
+ */
14
+ export declare class DayCompareAdapter implements CompareAdapter {
15
+ isAfter(current: Date, start: Date): boolean;
16
+ isBetween(current: Date, from?: Date | undefined, to?: Date | undefined): boolean;
17
+ isEqual(current: Date, other: Date): boolean;
18
+ isEqualOrBefore(current: Date, other: Date): boolean;
19
+ isEqualOrBetween(current: Date, from?: Date, to?: Date): boolean;
20
+ }
21
+ /**
22
+ * Compare dates in the year view.
23
+ */
24
+ export declare class MonthCompareAdapter implements CompareAdapter {
25
+ isAfter(current: Date, start: Date): boolean;
26
+ isBetween(current: Date, from?: Date | undefined, to?: Date | undefined): boolean;
27
+ isEqual(current: Date, other: Date): boolean;
28
+ isEqualOrBefore(current: Date, other: Date): boolean;
29
+ isEqualOrBetween(current: Date, from?: Date, to?: Date): boolean;
30
+ }
31
+ export declare class YearCompareAdapter implements CompareAdapter {
32
+ isAfter(current: Date, other: Date): boolean;
33
+ isBetween(current: Date, from?: Date | undefined, to?: Date | undefined): boolean;
34
+ isEqual(current: Date, other: Date): boolean;
35
+ isEqualOrBefore(current: Date, other?: Date): boolean;
36
+ isEqualOrBetween(current: Date, from?: Date, to?: Date): boolean;
37
+ }
@@ -0,0 +1,76 @@
1
+ import { WeekStart } from '../si-datepicker.model';
2
+ import { Cell } from './si-calendar-body.component';
3
+ import { DayCompareAdapter } from './si-compare-adapter';
4
+ import { SiInitialFocusComponent } from './si-initial-focus.component';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Show dates of a single month as table and handles the keyboard interactions.
8
+ * The focusedDate is handled according the keyboard interactions.
9
+ */
10
+ export declare class SiDaySelectionComponent extends SiInitialFocusComponent {
11
+ /**
12
+ * Indicate whether the week numbers shall be hidden.
13
+ *
14
+ * @defaultValue false
15
+ */
16
+ readonly hideWeekNumbers: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
17
+ /**
18
+ * Defines the starting day of the week. Default is `monday`.
19
+ *
20
+ * @defaultValue 'monday'
21
+ */
22
+ readonly weekStartDay: import("@angular/core").InputSignal<WeekStart>;
23
+ /**
24
+ * The active date, the cell which will receive the focus.
25
+ * @defaultValue calendarUtils.today()
26
+ */
27
+ readonly focusedDate: import("@angular/core").ModelSignal<Date>;
28
+ /** Today button text */
29
+ readonly todayLabel: import("@angular/core").InputSignal<string | undefined>;
30
+ /** Aria label for calendar week column */
31
+ readonly calenderWeekLabel: import("@angular/core").InputSignal<string | undefined>;
32
+ /** Emits when the active focused date changed to another month / year, typically during keyboard navigation */
33
+ readonly activeMonthChange: import("@angular/core").OutputEmitterRef<Date>;
34
+ /** Emits when the user requests a different to show a different view */
35
+ readonly viewChange: import("@angular/core").OutputEmitterRef<"month" | "year">;
36
+ /** The translated list of week days. */
37
+ protected readonly days: import("@angular/core").Signal<string[]>;
38
+ /** The week numbers which are shown as row label */
39
+ protected readonly weekNumbers: import("@angular/core").Signal<string[]>;
40
+ /**
41
+ * The current visible list of calendar days.
42
+ * Every time the focusedDate changes to either another month or year the list will be rebuild.
43
+ */
44
+ protected readonly weeks: import("@angular/core").Signal<Cell[][]>;
45
+ /** Compare date based on the current view */
46
+ protected compareAdapter: DayCompareAdapter;
47
+ /** Disable today button if it is the same month */
48
+ protected readonly isTodayButtonDisabled: import("@angular/core").Signal<boolean>;
49
+ /**
50
+ * Indicate the previous button shall be disabled.
51
+ * This happens when the focusedDate is equal or before the minDate.
52
+ */
53
+ protected readonly isPreviousButtonDisabled: import("@angular/core").Signal<boolean | undefined>;
54
+ /**
55
+ * Indicate the next button shall be disabled.
56
+ * This happens when the focusedDate is equal or after the maxDate.
57
+ */
58
+ protected readonly isNextButtonDisabled: import("@angular/core").Signal<boolean | undefined>;
59
+ private readonly locale;
60
+ protected calendarBodyKeyDown(event: KeyboardEvent): void;
61
+ protected updateFocusedDateByDay(offset: number): void;
62
+ protected updateFocusedDateByMonth(offset: number): void;
63
+ protected updateFocusedDate(newDate: Date): void;
64
+ /**
65
+ * Update month of focusedDate.
66
+ * @param offset -1 or -1.
67
+ */
68
+ protected setMonthOffset(offset: number): void;
69
+ /** Change the focusedDate to today */
70
+ protected goToToday(): void;
71
+ protected emitSelectedValue(selected: Date): void;
72
+ protected emitActiveDate(active: Date): void;
73
+ protected emitViewChange(view: 'year' | 'month'): void;
74
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiDaySelectionComponent, never>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiDaySelectionComponent, "si-day-selection", never, { "hideWeekNumbers": { "alias": "hideWeekNumbers"; "required": false; "isSignal": true; }; "weekStartDay": { "alias": "weekStartDay"; "required": false; "isSignal": true; }; "focusedDate": { "alias": "focusedDate"; "required": true; "isSignal": true; }; "todayLabel": { "alias": "todayLabel"; "required": false; "isSignal": true; }; "calenderWeekLabel": { "alias": "calenderWeekLabel"; "required": false; "isSignal": true; }; }, { "focusedDate": "focusedDateChange"; "activeMonthChange": "activeMonthChange"; "viewChange": "viewChange"; }, never, never, true, never>;
76
+ }