@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,228 @@
1
+ import { AfterViewInit, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
3
+ import { Cell } from './components/si-calendar-body.component';
4
+ import { DatepickerConfig, DateRange, WeekStart } from './si-datepicker.model';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Choose which view shall be shown.
8
+ * @internal
9
+ */
10
+ type ViewType = 'week' | 'month' | 'year' | undefined;
11
+ export type RangeType = 'START' | 'END' | undefined;
12
+ export declare class SiDatepickerComponent implements OnInit, OnChanges, AfterViewInit {
13
+ private readonly locale;
14
+ /**
15
+ * The date which is currently focused
16
+ * Compare to the selected date or range the calendar requires to have one element to focus.
17
+ */
18
+ readonly focusedDate: import("@angular/core").ModelSignal<Date | undefined>;
19
+ /**
20
+ * The selected date of the datepicker. Use for
21
+ * initialization and for bidirectional binding.
22
+ */
23
+ readonly date: import("@angular/core").ModelSignal<Date | undefined>;
24
+ /**
25
+ * The selected date range of the datepicker. Use for
26
+ * initialization and for bidirectional binding.
27
+ */
28
+ readonly dateRange: import("@angular/core").ModelSignal<DateRange | undefined>;
29
+ /** @internal */
30
+ readonly dateRangeRole: import("@angular/core").InputSignal<RangeType>;
31
+ /**
32
+ * Set initial focus to calendar body.
33
+ *
34
+ * @defaultValue false
35
+ */
36
+ readonly initialFocus: import("@angular/core").InputSignal<boolean>;
37
+ /**
38
+ * Disabled the optional visible time picker.
39
+ *
40
+ * @defaultValue false
41
+ */
42
+ readonly disabledTime: import("@angular/core").ModelSignal<boolean>;
43
+ /**
44
+ * Object to configure the datepicker.
45
+ *
46
+ * @defaultValue
47
+ * ```
48
+ * {}
49
+ * ```
50
+ */
51
+ readonly config: import("@angular/core").ModelSignal<DatepickerConfig>;
52
+ /**
53
+ * Aria label for the previous button. Needed for a11y.
54
+ *
55
+ * @defaultValue
56
+ * ```
57
+ * $localize`:@@SI_DATEPICKER.PREVIOUS:Previous`
58
+ * ```
59
+ */
60
+ readonly previousLabel: import("@angular/core").InputSignal<TranslatableString>;
61
+ /**
62
+ * Aria label for the next button. Needed for a11y.
63
+ *
64
+ * @defaultValue
65
+ * ```
66
+ * $localize`:@@SI_DATEPICKER.NEXT:Next`
67
+ * ```
68
+ */
69
+ readonly nextLabel: import("@angular/core").InputSignal<TranslatableString>;
70
+ /**
71
+ * Aria label for week number column
72
+ *
73
+ * @defaultValue
74
+ * ```
75
+ * $localize`:@@SI_DATEPICKER.CALENDAR_WEEK_LABEL:Calendar week`
76
+ * ```
77
+ */
78
+ readonly calenderWeekLabel: import("@angular/core").InputSignal<TranslatableString>;
79
+ /**
80
+ * Enable/disable 12H mode in timepicker. Defaults to locale
81
+ *
82
+ * @defaultValue undefined
83
+ */
84
+ readonly time12h: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
85
+ /**
86
+ * Use this to force date range operation to select either start date or end date.
87
+ *
88
+ * @defaultValue 'START'
89
+ */
90
+ readonly rangeType: import("@angular/core").ModelSignal<RangeType>;
91
+ /**
92
+ * Optional input to control the minimum month the datepicker can show and the user can navigate.
93
+ * The `minMonth` can be larger than the `minDate` This option enables the usage of multiple
94
+ * datepickers next to each other while the more left calendar always
95
+ * shows a earlier month the the more right one.
96
+ * @internal
97
+ */
98
+ readonly minMonth: import("@angular/core").InputSignal<Date | undefined>;
99
+ /**
100
+ * Optional input to control the maximum month the datepicker can show and the user can navigate.
101
+ * The `maxMonth` can be smaller than the `maxDate` This option enables the usage of multiple
102
+ * datepickers next to each other while the more left calendar always
103
+ * shows a earlier month the the more right one.
104
+ * @internal
105
+ */
106
+ readonly maxMonth: import("@angular/core").InputSignal<Date | undefined>;
107
+ /**
108
+ * Option to hide the time switch.
109
+ *
110
+ * @defaultValue false
111
+ */
112
+ readonly hideTimeToggle: import("@angular/core").InputSignal<boolean>;
113
+ /** @internal */
114
+ readonly hideCalendar: import("@angular/core").InputSignal<boolean>;
115
+ /**
116
+ * Optional timepicker label.
117
+ */
118
+ readonly timepickerLabel: import("@angular/core").InputSignal<string | undefined>;
119
+ protected get startDate(): Date | undefined;
120
+ protected get endDate(): Date | undefined;
121
+ /**
122
+ * Returns the date object if not range selection is enabled. Otherwise, if
123
+ * the date range role is 'END', the date range end date is returned. If
124
+ * date range role is not 'END', the date range start date is returned.
125
+ */
126
+ private getRelevantDate;
127
+ private readonly defaultDisabledTimeText;
128
+ private readonly defaultEnableTimeText;
129
+ protected readonly includeTimeLabel: import("@angular/core").Signal<TranslatableString>;
130
+ protected get weekStartDay(): WeekStart;
131
+ protected get hideWeekNumbers(): boolean;
132
+ /**
133
+ * The active view
134
+ */
135
+ protected readonly view: import("@angular/core").WritableSignal<ViewType>;
136
+ /**
137
+ * Get the current shown view.
138
+ */
139
+ private readonly activeView;
140
+ protected readonly actualFocusedDate: import("@angular/core").Signal<Date>;
141
+ protected readonly requireFocus: import("@angular/core").WritableSignal<boolean>;
142
+ /** When the user switch from the year or month view via keyboard selection we force the focus. */
143
+ protected readonly forceFocus: import("@angular/core").Signal<boolean>;
144
+ protected months: string[];
145
+ protected switchId: string;
146
+ protected timepickerId: string;
147
+ /**
148
+ * Configuration which view shall be shown after year selection,
149
+ * when onlyMonthSelection is enabled the month view is shown otherwise the week view.
150
+ */
151
+ protected yearViewSwitchTo: 'month' | 'week';
152
+ protected monthViewSwitchTo: 'month' | 'week';
153
+ private readonly cdRef;
154
+ private readonly localeWeekStart;
155
+ /**
156
+ * Date object to track and change the time. Keeping time and date
157
+ * in separate objects to not change the date when flipping time.
158
+ * After change, a new date object is created with an adapted time.
159
+ */
160
+ protected time?: Date;
161
+ /**
162
+ * Used to hold the last time when setting the time to disabled.
163
+ * Value will be reset on enabling the time again.
164
+ */
165
+ private previousTime?;
166
+ private readonly timePicker;
167
+ /** Reference to the current day selection component. Shown when view === 'week' */
168
+ private readonly daySelection;
169
+ /** Reference to the current month selection component. Shown when view === 'month' */
170
+ private readonly monthSelection;
171
+ /** Reference to the current year selection component. Shown when view === 'year' */
172
+ private readonly yearSelection;
173
+ /**
174
+ * The cell which which has the mouse hover.
175
+ * @internal
176
+ */
177
+ readonly activeHover: import("@angular/core").ModelSignal<Cell | undefined>;
178
+ constructor();
179
+ ngOnChanges(changes: SimpleChanges): void;
180
+ ngOnInit(): void;
181
+ ngAfterViewInit(): void;
182
+ /** Initialize day and month labels */
183
+ private initCalendarLabels;
184
+ /**
185
+ * Validates and sets a new date to the this.date model object of this component
186
+ * and fires the related events. The model object shall not be updated elsewhere
187
+ * with a new date object. Shall only be called on simple date selection and not
188
+ * on date range selection.
189
+ *
190
+ * @param newDate - The new date to be set.
191
+ */
192
+ private setDate;
193
+ /**
194
+ * Validates and sets the new date range to the dateRange model
195
+ * object.
196
+ * @param newDateRange - The new range to be set.
197
+ * @returns True if the new range is valid and set. Otherwise false.
198
+ */
199
+ private setDateRange;
200
+ protected timeSelected(newTime: Date): void;
201
+ protected toggleDisabledTime(): void;
202
+ private onDisabledTimeChanged;
203
+ private validateTime;
204
+ /**
205
+ * Handle selection in the day view.
206
+ * @param selection - selected date.
207
+ */
208
+ protected selectionChange(selection: Date): void;
209
+ /**
210
+ * Handle month/year changes
211
+ * @param selection - the selected month or null of cancelled.
212
+ */
213
+ protected activeMonthChange(selection: Date | null): void;
214
+ /**
215
+ * Handle year changes
216
+ * @param selection - the selected year or null of cancelled.
217
+ */
218
+ protected activeYearChange(selection: Date | null): void;
219
+ /**
220
+ * Focus the active cell in view.
221
+ * The function is required to transfer the focus from input to the active date cell.
222
+ */
223
+ focusActiveCell(): void;
224
+ protected onActiveHoverChange(event?: Cell): void;
225
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiDatepickerComponent, never>;
226
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiDatepickerComponent, "si-datepicker", never, { "focusedDate": { "alias": "focusedDate"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "dateRange": { "alias": "dateRange"; "required": false; "isSignal": true; }; "dateRangeRole": { "alias": "dateRangeRole"; "required": false; "isSignal": true; }; "initialFocus": { "alias": "initialFocus"; "required": false; "isSignal": true; }; "disabledTime": { "alias": "disabledTime"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "previousLabel": { "alias": "previousLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "calenderWeekLabel": { "alias": "calenderWeekLabel"; "required": false; "isSignal": true; }; "time12h": { "alias": "time12h"; "required": false; "isSignal": true; }; "rangeType": { "alias": "rangeType"; "required": false; "isSignal": true; }; "minMonth": { "alias": "minMonth"; "required": false; "isSignal": true; }; "maxMonth": { "alias": "maxMonth"; "required": false; "isSignal": true; }; "hideTimeToggle": { "alias": "hideTimeToggle"; "required": false; "isSignal": true; }; "hideCalendar": { "alias": "hideCalendar"; "required": false; "isSignal": true; }; "timepickerLabel": { "alias": "timepickerLabel"; "required": false; "isSignal": true; }; "activeHover": { "alias": "activeHover"; "required": false; "isSignal": true; }; }, { "focusedDate": "focusedDateChange"; "date": "dateChange"; "dateRange": "dateRangeChange"; "disabledTime": "disabledTimeChange"; "config": "configChange"; "rangeType": "rangeTypeChange"; "activeHover": "activeHoverChange"; }, never, never, true, never>;
227
+ }
228
+ export {};
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { AfterViewInit, ElementRef } from '@angular/core';
6
+ import { SiDateInputDirective } from './si-date-input.directive';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./si-datepicker-overlay.directive";
9
+ export declare class SiDatepickerDirective extends SiDateInputDirective implements AfterViewInit {
10
+ /**
11
+ * Automatically close overlay on date selection.
12
+ * Do not use this behavior with config showTime = true, because it
13
+ * will close the overlay when the user change one of the time units.
14
+ *
15
+ * @defaultValue false
16
+ */
17
+ readonly autoClose: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
+ /**
19
+ * @deprecated Property has no effect and will be removed without replacement.
20
+ *
21
+ * @defaultValue inject(ElementRef)
22
+ */
23
+ readonly triggeringInput: import("@angular/core").InputSignal<ElementRef<any>>;
24
+ /**
25
+ * During focus on close the datepicker will not show since we recover the focus on element.
26
+ * The focus on close is only relevant when the directive is configured without a calendar button.
27
+ */
28
+ private overlaySubscriptions?;
29
+ private externalTrigger?;
30
+ private readonly overlayToggle;
31
+ ngAfterViewInit(): void;
32
+ /** @internal */
33
+ touch(): void;
34
+ /**
35
+ * On click shall show datepicker.
36
+ */
37
+ protected onClick(): void;
38
+ /**
39
+ * Focus out shall close the datepicker except we are moving the focus to the datepicker.
40
+ * @param event - focus out event with the related target
41
+ */
42
+ protected onBlur(event: FocusEvent): void;
43
+ protected onTab(): void;
44
+ /**
45
+ * @internal
46
+ */
47
+ show(initialFocus?: boolean): void;
48
+ /**
49
+ * @internal
50
+ */
51
+ useExternalTrigger(element: ElementRef<HTMLElement>): void;
52
+ protected focusChange(): void;
53
+ private getTime12h;
54
+ private subscribeDateChanges;
55
+ /**
56
+ * Callback when the datepicker changes his value.
57
+ * @param date - updated date
58
+ */
59
+ protected onDateChanged(date?: Date): void;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiDatepickerDirective, never>;
61
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SiDatepickerDirective, "[siDatepicker]", ["siDatepicker"], { "autoClose": { "alias": "autoClose"; "required": false; "isSignal": true; }; "triggeringInput": { "alias": "triggeringInput"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.SiDatepickerOverlayDirective; inputs: {}; outputs: { "siDatepickerClose": "siDatepickerClose"; }; }]>;
62
+ }
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
6
+ export type WeekStart = 'monday' | 'saturday' | 'sunday' | undefined;
7
+ export interface DatepickerConfig {
8
+ /**
9
+ * Text or translation key for today button title. Default is `Today`.
10
+ */
11
+ todayText?: TranslatableString;
12
+ /**
13
+ * Defines the starting day of the week. Default is `monday`.
14
+ */
15
+ weekStartDay?: WeekStart;
16
+ /**
17
+ * Configuration for hiding week numbers. Default is `false`.
18
+ */
19
+ hideWeekNumbers?: boolean;
20
+ /**
21
+ * Defines the timepicker visibility. Default is `false`.
22
+ */
23
+ showTime?: boolean;
24
+ /**
25
+ * Defines the timepicker minutes visibility. Default is `true`.
26
+ */
27
+ showMinutes?: boolean;
28
+ /**
29
+ * Defines the timepicker seconds visibility . Default is `false`.
30
+ */
31
+ showSeconds?: boolean;
32
+ /**
33
+ * Defines the timepicker milliseconds visibility . Default is `false`.
34
+ */
35
+ showMilliseconds?: boolean;
36
+ /**
37
+ * Hides disable time switch in the timepicker part and includes mandatory the
38
+ * time in the picker.
39
+ */
40
+ mandatoryTime?: boolean;
41
+ /**
42
+ * Defines the time is disabled when visible. Will also be updated on user change. Default is `false`.
43
+ */
44
+ disabledTime?: boolean;
45
+ /**
46
+ * Text or translation key for the `enabled` disable time. Default is `Consider time`.
47
+ */
48
+ enabledTimeText?: TranslatableString;
49
+ /**
50
+ * Text or translation key for the `disabled` disable time. Default is `Ignore time`.
51
+ */
52
+ disabledTimeText?: TranslatableString;
53
+ /**
54
+ * Minimal (earliest) selectable date.
55
+ */
56
+ minDate?: Date;
57
+ /**
58
+ * Maximal (latest) selectable date.
59
+ */
60
+ maxDate?: Date;
61
+ /**
62
+ * Options to turn on date range selection.
63
+ */
64
+ enableDateRange?: boolean;
65
+ /**
66
+ * Option to use two months view for date range picking.
67
+ */
68
+ enableTwoMonthDateRange?: boolean;
69
+ /**
70
+ * Consider time with minDate and maxDate
71
+ */
72
+ enableTimeValidation?: boolean;
73
+ /**
74
+ * Only month and year are selectable.
75
+ */
76
+ onlyMonthSelection?: boolean;
77
+ hoursLabel?: string;
78
+ minutesLabel?: string;
79
+ secondsLabel?: string;
80
+ millisecondsLabel?: string;
81
+ hideLabels?: boolean;
82
+ hoursAriaLabel?: string;
83
+ minutesAriaLabel?: string;
84
+ secondsAriaLabel?: string;
85
+ millisecondsAriaLabel?: string;
86
+ hoursPlaceholder?: string;
87
+ minutesPlaceholder?: string;
88
+ secondsPlaceholder?: string;
89
+ millisecondsPlaceholder?: string;
90
+ meridians?: string[];
91
+ meridiansLabel?: string;
92
+ meridiansAriaLabel?: string;
93
+ startTimeLabel?: string;
94
+ endTimeLabel?: string;
95
+ }
96
+ export interface DatepickerInputConfig extends DatepickerConfig {
97
+ /**
98
+ * A custom date/time format according the Angular date pipe (see {@link https://angular.dev/api/common/DatePipe}).
99
+ * Only numeric date formats are supported.
100
+ * The format is used to render the time of a date-time criterion. If not specified, `mediumTime` is
101
+ * used if the `showSeconds` flag is true, otherwise `shortTime` as default. For the date-only
102
+ * case, 'shortDate' is used.
103
+ */
104
+ dateTimeFormat?: string;
105
+ /**
106
+ * Similar to `dateTimeFormat`, but used when only a date is displayed
107
+ * (e.g. when `showTime === false` or `disabledTime === true`).
108
+ * Only numeric date formats are supported.
109
+ */
110
+ dateFormat?: string;
111
+ }
112
+ /**
113
+ * Returns date / datetime format to be used for rendering a date object as text
114
+ * to an Html input element, which has the `SiDatepickerDirective`.
115
+ *
116
+ * @see https://angular.dev/api/common/DatePipe?tab=usage-notes
117
+ * @param locale - The locale for which the format is returned.
118
+ * @param config - The config object of the datepicker.
119
+ * @param timeWhenDisabled - If `true`, a format with time (medium or short) is returned, even if the `disabledTime` config is `true`.
120
+ * @returns Either
121
+ * - a custom format provided by the config,
122
+ * - the localized `medium` format when time and seconds included
123
+ * - the localized `short` format when time and no seconds included
124
+ */
125
+ export declare const getDatepickerFormat: (locale: string, config?: DatepickerInputConfig, timeWhenDisabled?: boolean) => string;
126
+ export type DateRange = {
127
+ start: Date | undefined;
128
+ end: Date | undefined;
129
+ };
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./si-calendar-button.component";
3
+ import * as i2 from "./si-date-input.directive";
4
+ import * as i3 from "./si-datepicker.component";
5
+ import * as i4 from "./si-datepicker.directive";
6
+ import * as i5 from "./si-date-range.component";
7
+ import * as i6 from "./si-timepicker.component";
8
+ export declare class SiDatepickerModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiDatepickerModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SiDatepickerModule, never, [typeof i1.SiCalendarButtonComponent, typeof i2.SiDateInputDirective, typeof i3.SiDatepickerComponent, typeof i4.SiDatepickerDirective, typeof i5.SiDateRangeComponent, typeof i6.SiTimepickerComponent], [typeof i1.SiCalendarButtonComponent, typeof i2.SiDateInputDirective, typeof i3.SiDatepickerComponent, typeof i4.SiDatepickerDirective, typeof i5.SiDateRangeComponent, typeof i6.SiTimepickerComponent]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<SiDatepickerModule>;
12
+ }
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { FocusOrigin } from '@angular/cdk/a11y';
6
+ import { ControlValueAccessor } from '@angular/forms';
7
+ import { SiFormItemControl } from '@siemens/element-ng/form';
8
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
9
+ import * as i0 from "@angular/core";
10
+ export declare class SiTimepickerComponent implements ControlValueAccessor, SiFormItemControl {
11
+ private static idCounter;
12
+ /** @internal */
13
+ invalidHours: boolean;
14
+ /** @internal */
15
+ invalidMinutes: boolean;
16
+ /** @internal */
17
+ invalidSeconds: boolean;
18
+ /** @internal */
19
+ invalidMilliseconds: boolean;
20
+ /**
21
+ * @defaultValue
22
+ * ```
23
+ * `__si-timepicker-${SiTimepickerComponent.idCounter++}`
24
+ * ```
25
+ */
26
+ readonly id: import("@angular/core").InputSignal<string>;
27
+ readonly labelledby: string;
28
+ /**
29
+ * All input fields will be disabled if set to true.
30
+ *
31
+ * @defaultValue false
32
+ */
33
+ readonly disabledInput: import("@angular/core").InputSignal<boolean>;
34
+ /**
35
+ * @defaultValue 'hh'
36
+ */
37
+ readonly hoursLabel: import("@angular/core").InputSignal<TranslatableString>;
38
+ /**
39
+ * @defaultValue 'mm'
40
+ */
41
+ readonly minutesLabel: import("@angular/core").InputSignal<TranslatableString>;
42
+ /**
43
+ * @defaultValue 'ss'
44
+ */
45
+ readonly secondsLabel: import("@angular/core").InputSignal<TranslatableString>;
46
+ /**
47
+ * @defaultValue 'ms'
48
+ */
49
+ readonly millisecondsLabel: import("@angular/core").InputSignal<TranslatableString>;
50
+ /**
51
+ * Hide the labels of the input fields.
52
+ * @defaultValue false
53
+ */
54
+ readonly hideLabels: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
55
+ /**
56
+ * @defaultValue
57
+ * ```
58
+ * $localize`:@@SI_DATEPICKER.HOURS:Hours`
59
+ * ```
60
+ */
61
+ readonly hoursAriaLabel: import("@angular/core").InputSignal<TranslatableString>;
62
+ /**
63
+ * @defaultValue
64
+ * ```
65
+ * $localize`:@@SI_DATEPICKER.MINUTES:Minutes`
66
+ * ```
67
+ */
68
+ readonly minutesAriaLabel: import("@angular/core").InputSignal<TranslatableString>;
69
+ /**
70
+ * @defaultValue
71
+ * ```
72
+ * $localize`:@@SI_DATEPICKER.SECONDS:Seconds`
73
+ * ```
74
+ */
75
+ readonly secondsAriaLabel: import("@angular/core").InputSignal<TranslatableString>;
76
+ /**
77
+ * @defaultValue
78
+ * ```
79
+ * $localize`:@@SI_DATEPICKER.MILLISECONDS:Milliseconds`
80
+ * ```
81
+ */
82
+ readonly millisecondsAriaLabel: import("@angular/core").InputSignal<TranslatableString>;
83
+ /**
84
+ * @defaultValue 'hh'
85
+ */
86
+ readonly hoursPlaceholder: import("@angular/core").InputSignal<string>;
87
+ /**
88
+ * @defaultValue 'mm'
89
+ */
90
+ readonly minutesPlaceholder: import("@angular/core").InputSignal<string>;
91
+ /**
92
+ * @defaultValue 'ss'
93
+ */
94
+ readonly secondsPlaceholder: import("@angular/core").InputSignal<string>;
95
+ /**
96
+ * @defaultValue 'ms'
97
+ */
98
+ readonly millisecondsPlaceholder: import("@angular/core").InputSignal<string>;
99
+ readonly meridians: import("@angular/core").InputSignal<string[] | undefined>;
100
+ /**
101
+ * @defaultValue 'am/pm'
102
+ */
103
+ readonly meridiansLabel: import("@angular/core").InputSignal<TranslatableString>;
104
+ /**
105
+ * @defaultValue
106
+ * ```
107
+ * $localize`:@@SI_DATEPICKER.PERIOD:Period`
108
+ * ```
109
+ */
110
+ readonly meridiansAriaLabel: import("@angular/core").InputSignal<TranslatableString>;
111
+ /** @defaultValue true */
112
+ readonly showMinutes: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
113
+ /** @defaultValue false */
114
+ readonly showSeconds: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
115
+ /** @defaultValue false */
116
+ readonly showMilliseconds: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
117
+ /**
118
+ * Show time in 12-hour period including the select to toggle between AM/PM.
119
+ */
120
+ readonly showMeridian: import("@angular/core").InputSignal<boolean | undefined>;
121
+ /**
122
+ * A minimum time limit. The date part of the date object will be ignored.
123
+ */
124
+ readonly min: import("@angular/core").InputSignal<Date | undefined>;
125
+ /**
126
+ * A maximum time limit. The date part of the date object will be ignored.
127
+ */
128
+ readonly max: import("@angular/core").InputSignal<Date | undefined>;
129
+ /** @defaultValue false */
130
+ readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
131
+ readonly isValid: import("@angular/core").OutputEmitterRef<boolean>;
132
+ readonly meridianChange: import("@angular/core").OutputEmitterRef<string>;
133
+ readonly inputCompleted: import("@angular/core").OutputEmitterRef<void>;
134
+ private readonly inputParts;
135
+ /** @internal */
136
+ readonly errormessageId: string;
137
+ private onChange;
138
+ private onTouched;
139
+ protected hours: string;
140
+ protected minutes: string;
141
+ protected seconds: string;
142
+ protected milliseconds: string;
143
+ protected readonly periods: import("@angular/core").Signal<string[]>;
144
+ protected readonly use12HourClock: import("@angular/core").Signal<boolean>;
145
+ protected readonly disabled: import("@angular/core").Signal<boolean>;
146
+ protected readonly meridian: import("@angular/core").WritableSignal<"" | "am" | "pm">;
147
+ private readonly disabledNgControl;
148
+ private readonly locale;
149
+ private readonly cdRef;
150
+ /**
151
+ * Holds the time as date object that is presented by this control.
152
+ */
153
+ private time?;
154
+ private periodDefaults;
155
+ constructor();
156
+ writeValue(obj?: Date | string): void;
157
+ /** @internal */
158
+ isPM(): boolean;
159
+ registerOnChange(fn: any): void;
160
+ registerOnTouched(fn: () => void): void;
161
+ setDisabledState(isDisabled: boolean): void;
162
+ /**
163
+ * Handle Enter, Arrow up/down and Space key press events.
164
+ */
165
+ protected handleKeyPressEvent(event: KeyboardEvent): void;
166
+ protected toHtmlInputElement: (target?: EventTarget | null) => HTMLInputElement;
167
+ protected updateHours(value: number | string): void;
168
+ protected updateMinutes(value: number | string): void;
169
+ protected updateSeconds(value: number | string): void;
170
+ protected updateMilliseconds(value: number | string): void;
171
+ protected toggleMeridian(): void;
172
+ /**
173
+ * Takes the current UI values and updates the time object value
174
+ * accordingly, if they UI input values are valid.
175
+ */
176
+ private updateTime;
177
+ /**
178
+ * Sets a new time object as model value, updates the user interface
179
+ * and invokes onChange to let timepicker clients know about the update.
180
+ * @param time - The new time to be set.
181
+ */
182
+ private setTime;
183
+ /**
184
+ * Updates the user interface by filling the time components
185
+ * into the time input fields. Sets empty values if the date
186
+ * is undefined or invalid.
187
+ *
188
+ * @param value - The date object or string from with the time components are taken.
189
+ */
190
+ private updateUI;
191
+ private isValidDate;
192
+ private parseTime;
193
+ private parseHours;
194
+ private parseMinutes;
195
+ private parseSeconds;
196
+ private parseMilliseconds;
197
+ private createDateUpdate;
198
+ private toNumber;
199
+ private isInputValid;
200
+ private isHourInputValid;
201
+ private isMinuteInputValid;
202
+ private isSecondInputValid;
203
+ private isMillisecondInputValid;
204
+ private isValidLimit;
205
+ private changeTimeComponent;
206
+ private changeTime;
207
+ /**
208
+ * Focuses the next available input/select field or emit inputCompleted event.
209
+ */
210
+ protected focusNext(event: Event): void;
211
+ protected focusChange(event: FocusOrigin): void;
212
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiTimepickerComponent, never>;
213
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiTimepickerComponent, "si-timepicker", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "hoursLabel": { "alias": "hoursLabel"; "required": false; "isSignal": true; }; "minutesLabel": { "alias": "minutesLabel"; "required": false; "isSignal": true; }; "secondsLabel": { "alias": "secondsLabel"; "required": false; "isSignal": true; }; "millisecondsLabel": { "alias": "millisecondsLabel"; "required": false; "isSignal": true; }; "hideLabels": { "alias": "hideLabels"; "required": false; "isSignal": true; }; "hoursAriaLabel": { "alias": "hoursAriaLabel"; "required": false; "isSignal": true; }; "minutesAriaLabel": { "alias": "minutesAriaLabel"; "required": false; "isSignal": true; }; "secondsAriaLabel": { "alias": "secondsAriaLabel"; "required": false; "isSignal": true; }; "millisecondsAriaLabel": { "alias": "millisecondsAriaLabel"; "required": false; "isSignal": true; }; "hoursPlaceholder": { "alias": "hoursPlaceholder"; "required": false; "isSignal": true; }; "minutesPlaceholder": { "alias": "minutesPlaceholder"; "required": false; "isSignal": true; }; "secondsPlaceholder": { "alias": "secondsPlaceholder"; "required": false; "isSignal": true; }; "millisecondsPlaceholder": { "alias": "millisecondsPlaceholder"; "required": false; "isSignal": true; }; "meridians": { "alias": "meridians"; "required": false; "isSignal": true; }; "meridiansLabel": { "alias": "meridiansLabel"; "required": false; "isSignal": true; }; "meridiansAriaLabel": { "alias": "meridiansAriaLabel"; "required": false; "isSignal": true; }; "showMinutes": { "alias": "showMinutes"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "showMilliseconds": { "alias": "showMilliseconds"; "required": false; "isSignal": true; }; "showMeridian": { "alias": "showMeridian"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "isValid": "isValid"; "meridianChange": "meridianChange"; "inputCompleted": "inputCompleted"; }, never, never, true, never>;
214
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export declare const runsInElectron: () => boolean;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export * from './si-electron-titlebar.module';
6
+ export * from './si-electron-titlebar.component';
7
+ export * from './electron.helpers';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/siemens-element-ng-electron-titlebar.mjs"
3
+ }