@siemens/element-ng 48.1.0 → 48.2.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 (104) hide show
  1. package/README.md +5 -0
  2. package/card/index.d.ts +68 -29
  3. package/common/index.d.ts +11 -0
  4. package/dashboard/index.d.ts +1 -0
  5. package/datepicker/index.d.ts +30 -34
  6. package/fesm2022/siemens-element-ng-breadcrumb.mjs +2 -2
  7. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-card.mjs +103 -37
  9. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-common.mjs +6 -0
  11. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-connection-strength.mjs +2 -2
  13. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-content-action-bar.mjs +2 -2
  15. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-dashboard.mjs +10 -8
  17. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  18. package/fesm2022/siemens-element-ng-datatable.mjs +5 -0
  19. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-date-range-filter.mjs +1 -1
  21. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  22. package/fesm2022/siemens-element-ng-datepicker.mjs +173 -151
  23. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-file-uploader.mjs +2 -2
  25. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-filter-bar.mjs +5 -5
  27. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-filtered-search.mjs +15 -3
  29. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-form.mjs +7 -1
  31. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-formly.mjs +2 -2
  33. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-header-dropdown.mjs +13 -1
  35. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-ip-input.mjs +62 -28
  37. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  38. package/fesm2022/siemens-element-ng-language-switcher.mjs +1 -1
  39. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  40. package/fesm2022/siemens-element-ng-list-details.mjs +2 -2
  41. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  42. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +1 -1
  43. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  44. package/fesm2022/siemens-element-ng-pagination.mjs +2 -2
  45. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  46. package/fesm2022/siemens-element-ng-photo-upload.mjs +1 -1
  47. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  48. package/fesm2022/siemens-element-ng-search-bar.mjs +14 -4
  49. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  50. package/fesm2022/siemens-element-ng-side-panel.mjs +2 -2
  51. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  52. package/fesm2022/siemens-element-ng-status-bar.mjs +2 -2
  53. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  54. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +2 -2
  55. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  56. package/fesm2022/siemens-element-ng-tabs.mjs +5 -5
  57. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  58. package/fesm2022/siemens-element-ng-tooltip.mjs +5 -6
  59. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  60. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-tree-view.mjs +4 -4
  62. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-typeahead.mjs +329 -257
  64. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  65. package/filter-bar/index.d.ts +9 -3
  66. package/header-dropdown/index.d.ts +7 -0
  67. package/ip-input/index.d.ts +42 -5
  68. package/package.json +23 -19
  69. package/schematics/collection.json +34 -0
  70. package/schematics/migrations/action-modal-migration/action-modal-migration.js +121 -0
  71. package/schematics/migrations/action-modal-migration/action-modal.mappings.js +98 -0
  72. package/schematics/migrations/action-modal-migration/index.js +5 -0
  73. package/schematics/migrations/index.js +13 -0
  74. package/schematics/migrations/schema.json +16 -0
  75. package/schematics/migrations/to-legacy-migration/to-legacy-migration.js +55 -0
  76. package/schematics/migrations/to-legacy-migration/to-legacy-replacement.js +35 -0
  77. package/schematics/ng-add/index.js +16 -0
  78. package/schematics/ng-add/schema.json +16 -0
  79. package/schematics/scss-import-to-siemens-migration/index.js +101 -0
  80. package/schematics/scss-import-to-siemens-migration/schema.json +16 -0
  81. package/schematics/scss-import-to-siemens-migration/style-mappings.js +46 -0
  82. package/schematics/simpl-siemens-migration/index.js +18 -0
  83. package/schematics/simpl-siemens-migration/schema.json +16 -0
  84. package/schematics/ts-import-to-siemens-migration/index.js +118 -0
  85. package/schematics/ts-import-to-siemens-migration/mappings/charts-ng-mappings.js +70 -0
  86. package/schematics/ts-import-to-siemens-migration/mappings/dashboards-ng-mappings.js +52 -0
  87. package/schematics/ts-import-to-siemens-migration/mappings/element-ng-mappings.js +651 -0
  88. package/schematics/ts-import-to-siemens-migration/mappings/element-translate-ng-mappings.js +21 -0
  89. package/schematics/ts-import-to-siemens-migration/mappings/index.js +9 -0
  90. package/schematics/ts-import-to-siemens-migration/mappings/maps-ng-mappings.js +46 -0
  91. package/schematics/ts-import-to-siemens-migration/model.js +4 -0
  92. package/schematics/ts-import-to-siemens-migration/schema.json +16 -0
  93. package/schematics/utils/html-utils.js +72 -0
  94. package/schematics/utils/index.js +10 -0
  95. package/schematics/utils/project-utils.js +75 -0
  96. package/schematics/utils/schematics-file-system.js +22 -0
  97. package/schematics/utils/template-utils.js +114 -0
  98. package/schematics/utils/testing.js +41 -0
  99. package/schematics/utils/ts-utils.js +195 -0
  100. package/search-bar/index.d.ts +11 -1
  101. package/template-i18n.json +7 -0
  102. package/tooltip/index.d.ts +1 -1
  103. package/translate/index.d.ts +7 -0
  104. package/typeahead/index.d.ts +85 -4
@@ -102,18 +102,24 @@
102
102
  "SI_FILTER_BAR.RESET_FILTERS": "Reset filters",
103
103
  "SI_FORM_CONTAINER.ERROR.DATE_FORMAT": "Invalid date format.",
104
104
  "SI_FORM_CONTAINER.ERROR.EMAIL": "The email is not valid.",
105
+ "SI_FORM_CONTAINER.ERROR.HOURS": "The hours are not valid.",
105
106
  "SI_FORM_CONTAINER.ERROR.IPV4": "Invalid IPv4 address.",
106
107
  "SI_FORM_CONTAINER.ERROR.IPV6": "Invalid IPv6 address.",
107
108
  "SI_FORM_CONTAINER.ERROR.MAX": "The value is too large.",
108
109
  "SI_FORM_CONTAINER.ERROR.MAX_DATE": "The date is too far in the future.",
109
110
  "SI_FORM_CONTAINER.ERROR.MAX_LENGTH": "A maximum number of characters is exceeded.",
111
+ "SI_FORM_CONTAINER.ERROR.MAX_TIME": "The time is too far in the future.",
112
+ "SI_FORM_CONTAINER.ERROR.MILLISECONDS": "The milliseconds are not valid.",
110
113
  "SI_FORM_CONTAINER.ERROR.MIN": "The value is too small",
114
+ "SI_FORM_CONTAINER.ERROR.MINUTES": "The minutes are not valid.",
111
115
  "SI_FORM_CONTAINER.ERROR.MIN_DATE": "The date is too far in the past.",
112
116
  "SI_FORM_CONTAINER.ERROR.MIN_LENGTH": "The minimum number of characters is not met.",
117
+ "SI_FORM_CONTAINER.ERROR.MIN_TIME": "The time is too far in the past.",
113
118
  "SI_FORM_CONTAINER.ERROR.NUMBER_FORMAT": "The value is not a valid number.",
114
119
  "SI_FORM_CONTAINER.ERROR.PATTERN": "The value does not match the predefined pattern.",
115
120
  "SI_FORM_CONTAINER.ERROR.REQUIRED": "A value is required.",
116
121
  "SI_FORM_CONTAINER.ERROR.REQUIRED_TRUE": "The value should be true.",
122
+ "SI_FORM_CONTAINER.ERROR.SECONDS": "The seconds are not valid.",
117
123
  "SI_ICON_STATUS.CAUTION": "Caution",
118
124
  "SI_ICON_STATUS.CRITICAL": "Critical",
119
125
  "SI_ICON_STATUS.DANGER": "Danger",
@@ -172,6 +178,7 @@
172
178
  "SI_PHOTO_UPLOAD.UPLOAD_PHOTO": "Upload photo",
173
179
  "SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL": "Create item",
174
180
  "SI_PROGRESSBAR.LABEL": "Progress",
181
+ "SI_SEARCH_BAR.CLEAR_BUTTON": "clear",
175
182
  "SI_SELECT.NO-RESULTS-FOUND": "No results found",
176
183
  "SI_SELECT.SEARCH-PLACEHOLDER": "Search...",
177
184
  "SI_SIDE_PANEL.CLOSE": "Close",
@@ -36,7 +36,6 @@ declare class SiTooltipDirective implements OnDestroy {
36
36
  private tooltipRef?;
37
37
  private tooltipService;
38
38
  private elementRef;
39
- private destroyer;
40
39
  ngOnDestroy(): void;
41
40
  private showTooltip;
42
41
  protected focusIn(): void;
@@ -70,6 +69,7 @@ declare class TooltipRef {
70
69
  private describedBy;
71
70
  private injector?;
72
71
  constructor(overlayRef: OverlayRef, element: ElementRef, describedBy: string, injector?: Injector | undefined);
72
+ private subscription?;
73
73
  show(content: TranslatableString | TemplateRef<any> | Type<any>, tooltipContext?: unknown): void;
74
74
  hide(): void;
75
75
  destroy(): void;
@@ -105,18 +105,24 @@ interface SiTranslatableKeys {
105
105
  'SI_FILTER_BAR.RESET_FILTERS'?: string;
106
106
  'SI_FORM_CONTAINER.ERROR.DATE_FORMAT'?: string;
107
107
  'SI_FORM_CONTAINER.ERROR.EMAIL'?: string;
108
+ 'SI_FORM_CONTAINER.ERROR.HOURS'?: string;
108
109
  'SI_FORM_CONTAINER.ERROR.IPV4'?: string;
109
110
  'SI_FORM_CONTAINER.ERROR.IPV6'?: string;
110
111
  'SI_FORM_CONTAINER.ERROR.MAX'?: string;
111
112
  'SI_FORM_CONTAINER.ERROR.MAX_DATE'?: string;
112
113
  'SI_FORM_CONTAINER.ERROR.MAX_LENGTH'?: string;
114
+ 'SI_FORM_CONTAINER.ERROR.MAX_TIME'?: string;
115
+ 'SI_FORM_CONTAINER.ERROR.MILLISECONDS'?: string;
113
116
  'SI_FORM_CONTAINER.ERROR.MIN'?: string;
117
+ 'SI_FORM_CONTAINER.ERROR.MINUTES'?: string;
114
118
  'SI_FORM_CONTAINER.ERROR.MIN_DATE'?: string;
115
119
  'SI_FORM_CONTAINER.ERROR.MIN_LENGTH'?: string;
120
+ 'SI_FORM_CONTAINER.ERROR.MIN_TIME'?: string;
116
121
  'SI_FORM_CONTAINER.ERROR.NUMBER_FORMAT'?: string;
117
122
  'SI_FORM_CONTAINER.ERROR.PATTERN'?: string;
118
123
  'SI_FORM_CONTAINER.ERROR.REQUIRED'?: string;
119
124
  'SI_FORM_CONTAINER.ERROR.REQUIRED_TRUE'?: string;
125
+ 'SI_FORM_CONTAINER.ERROR.SECONDS'?: string;
120
126
  'SI_ICON_STATUS.CAUTION'?: string;
121
127
  'SI_ICON_STATUS.CRITICAL'?: string;
122
128
  'SI_ICON_STATUS.DANGER'?: string;
@@ -175,6 +181,7 @@ interface SiTranslatableKeys {
175
181
  'SI_PHOTO_UPLOAD.UPLOAD_PHOTO'?: string;
176
182
  'SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL'?: string;
177
183
  'SI_PROGRESSBAR.LABEL'?: string;
184
+ 'SI_SEARCH_BAR.CLEAR_BUTTON'?: string;
178
185
  'SI_SELECT.NO-RESULTS-FOUND'?: string;
179
186
  'SI_SELECT.SEARCH-PLACEHOLDER'?: string;
180
187
  'SI_SIDE_PANEL.CLOSE'?: string;
@@ -5,6 +5,18 @@ import { ConnectionPositionPair } from '@angular/cdk/overlay';
5
5
  import { Observable } from 'rxjs';
6
6
  import * as i1 from '@siemens/element-ng/autocomplete';
7
7
 
8
+ /**
9
+ * Copyright (c) Siemens 2016 - 2025
10
+ * SPDX-License-Identifier: MIT
11
+ */
12
+
13
+ interface MatchSegment$1 {
14
+ text: string;
15
+ isMatching: boolean;
16
+ matches: number;
17
+ uniqueMatches: number;
18
+ }
19
+
8
20
  /**
9
21
  * Copyright (c) Siemens 2016 - 2025
10
22
  * SPDX-License-Identifier: MIT
@@ -213,7 +225,44 @@ declare class SiTypeaheadDirective implements OnChanges, OnDestroy {
213
225
  /** Emits whenever the typeahead overlay is opened or closed. */
214
226
  readonly typeaheadOpenChange: _angular_core.OutputEmitterRef<boolean>;
215
227
  /** @internal */
216
- readonly foundMatches: _angular_core.WritableSignal<TypeaheadMatch[]>;
228
+ readonly foundMatches: _angular_core.Signal<{
229
+ itemSelected: any;
230
+ iconClass: string | undefined;
231
+ option: TypeaheadOption;
232
+ text: string;
233
+ result: MatchSegment$1[];
234
+ stringMatch: boolean;
235
+ atBeginning: boolean;
236
+ matches: number;
237
+ uniqueMatches: number;
238
+ uniqueSeparateMatches: number;
239
+ matchesEntireQuery: boolean;
240
+ matchesAllParts: boolean;
241
+ matchesAllPartsSeparately: boolean;
242
+ }[] | TypeaheadMatch[] | {
243
+ option: {
244
+ text: string;
245
+ option: TypeaheadOption;
246
+ };
247
+ text: string;
248
+ result: {
249
+ text: string;
250
+ isMatching: boolean;
251
+ matches: number;
252
+ uniqueMatches: number;
253
+ }[];
254
+ itemSelected: any;
255
+ iconClass: string | undefined;
256
+ stringMatch: boolean;
257
+ atBeginning: boolean;
258
+ matches: number;
259
+ uniqueMatches: number;
260
+ uniqueSeparateMatches: number;
261
+ matchesEntireQuery: boolean;
262
+ matchesAllParts: boolean;
263
+ matchesAllPartsSeparately: boolean;
264
+ active: boolean;
265
+ }[]>;
217
266
  /** @internal */
218
267
  readonly query: _angular_core.WritableSignal<string>;
219
268
  /**
@@ -226,12 +275,23 @@ declare class SiTypeaheadDirective implements OnChanges, OnDestroy {
226
275
  private autoComplete;
227
276
  private $typeahead;
228
277
  private componentRef?;
229
- private component?;
230
278
  private inputTimer;
231
279
  private sourceSubscription?;
232
- private subscription?;
233
280
  private matchSorter;
234
281
  private overlayRef?;
282
+ /**
283
+ * Indicates that the typeahead can be potentially open.
284
+ * This signal is typically `true` when the input is focussed.
285
+ * It may be overridden and set to `false` when escape is pressed
286
+ * or when an option was selected.
287
+ */
288
+ private readonly canBeOpen;
289
+ private readonly selectionCounter;
290
+ private readonly typeaheadOptions;
291
+ private readonly typeaheadSearch;
292
+ private readonly processedSearch;
293
+ private readonly unprocessedSearch;
294
+ constructor();
235
295
  ngOnChanges(changes: SimpleChanges): void;
236
296
  protected onBlur(): void;
237
297
  protected onInput(event: Event): void;
@@ -239,8 +299,29 @@ declare class SiTypeaheadDirective implements OnChanges, OnDestroy {
239
299
  protected onKeydownSpace(event: Event): void;
240
300
  ngOnDestroy(): void;
241
301
  private loadComponent;
302
+ /**
303
+ * Extracts the display value from a typeahead option.
304
+ *
305
+ * For string options, returns the string value directly.
306
+ * For object options, returns the value of the field specified by {@link typeaheadOptionField}
307
+ * (defaults to 'name'), or an empty string if the field doesn't exist.
308
+ *
309
+ * @param option - The typeahead option to extract the value from
310
+ * @returns The string representation of the option for display purposes
311
+ */
242
312
  private getOptionValue;
243
- private getMatches;
313
+ /**
314
+ * Extracts a specific field value from a typeahead option.
315
+ *
316
+ * This method is used to access additional properties of object-type options,
317
+ * such as 'selected' for multi-select functionality or 'iconClass' for displaying icons.
318
+ *
319
+ * @param option - The typeahead option to extract the field from
320
+ * @param field - The name of the field to extract
321
+ * @returns The field value as a string if the option is an object and the field exists,
322
+ * otherwise undefined
323
+ */
324
+ private getOptionField;
244
325
  /** @internal */
245
326
  selectMatch(match: TypeaheadMatch): void;
246
327
  private removeComponent;