@siemens/element-ng 48.0.3 → 48.2.0-rc.1

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 (132) hide show
  1. package/README.md +9 -0
  2. package/accordion/index.d.ts +2 -1
  3. package/avatar/index.d.ts +3 -4
  4. package/card/index.d.ts +68 -29
  5. package/circle-status/index.d.ts +2 -1
  6. package/common/index.d.ts +11 -0
  7. package/dashboard/index.d.ts +6 -1
  8. package/datepicker/index.d.ts +32 -32
  9. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-avatar.mjs +32 -36
  11. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-breadcrumb.mjs +2 -2
  13. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-card.mjs +103 -37
  15. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  17. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +2 -2
  18. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  19. package/fesm2022/siemens-element-ng-common.mjs +6 -0
  20. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  21. package/fesm2022/siemens-element-ng-connection-strength.mjs +2 -2
  22. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  23. package/fesm2022/siemens-element-ng-content-action-bar.mjs +2 -2
  24. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  25. package/fesm2022/siemens-element-ng-dashboard.mjs +34 -35
  26. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-datatable.mjs +5 -0
  28. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-date-range-filter.mjs +1 -1
  30. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-datepicker.mjs +176 -142
  32. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-file-uploader.mjs +9 -2
  34. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-filter-bar.mjs +5 -5
  36. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-filtered-search.mjs +34 -13
  38. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-form.mjs +7 -1
  40. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-formly.mjs +18 -18
  42. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  44. package/fesm2022/siemens-element-ng-ip-input.mjs +38 -0
  45. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  46. package/fesm2022/siemens-element-ng-language-switcher.mjs +1 -1
  47. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  48. package/fesm2022/siemens-element-ng-list-details.mjs +9 -4
  49. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  50. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +16 -3
  52. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-notification-item.mjs +71 -0
  54. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -0
  55. package/fesm2022/siemens-element-ng-pagination.mjs +2 -2
  56. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-photo-upload.mjs +1 -1
  58. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  60. package/fesm2022/siemens-element-ng-resize-observer.mjs +0 -1
  61. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  62. package/fesm2022/siemens-element-ng-result-details-list.mjs +5 -0
  63. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  64. package/fesm2022/siemens-element-ng-search-bar.mjs +14 -4
  65. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  66. package/fesm2022/siemens-element-ng-side-panel.mjs +2 -2
  67. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  68. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  70. package/fesm2022/siemens-element-ng-status-bar.mjs +2 -2
  71. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  72. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +2 -2
  73. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  74. package/fesm2022/siemens-element-ng-tabs.mjs +45 -12
  75. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  76. package/fesm2022/siemens-element-ng-tooltip.mjs +5 -6
  77. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  78. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-tree-view.mjs +4 -4
  80. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-typeahead.mjs +329 -257
  82. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  84. package/file-uploader/index.d.ts +3 -1
  85. package/filter-bar/index.d.ts +13 -5
  86. package/form/index.d.ts +28 -29
  87. package/inline-notification/index.d.ts +3 -2
  88. package/ip-input/index.d.ts +42 -4
  89. package/landing-page/index.d.ts +3 -2
  90. package/language-switcher/index.d.ts +3 -1
  91. package/list-details/index.d.ts +2 -0
  92. package/main-detail-container/index.d.ts +4 -4
  93. package/navbar/index.d.ts +1 -1
  94. package/notification-item/index.d.ts +141 -0
  95. package/notification-item/package.json +3 -0
  96. package/package.json +19 -11
  97. package/progressbar/index.d.ts +3 -3
  98. package/result-details-list/index.d.ts +4 -2
  99. package/schematics/collection.json +28 -0
  100. package/schematics/ng-add/index.js +16 -0
  101. package/schematics/ng-add/schema.json +16 -0
  102. package/schematics/scss-import-to-siemens-migration/index.js +101 -0
  103. package/schematics/scss-import-to-siemens-migration/schema.json +16 -0
  104. package/schematics/scss-import-to-siemens-migration/style-mappings.js +46 -0
  105. package/schematics/simpl-siemens-migration/index.js +17 -0
  106. package/schematics/simpl-siemens-migration/schema.json +16 -0
  107. package/schematics/ts-import-to-siemens-migration/index.js +118 -0
  108. package/schematics/ts-import-to-siemens-migration/mappings/charts-ng-mappings.js +70 -0
  109. package/schematics/ts-import-to-siemens-migration/mappings/dashboards-ng-mappings.js +52 -0
  110. package/schematics/ts-import-to-siemens-migration/mappings/element-ng-mappings.js +651 -0
  111. package/schematics/ts-import-to-siemens-migration/mappings/element-translate-ng-mappings.js +21 -0
  112. package/schematics/ts-import-to-siemens-migration/mappings/index.js +9 -0
  113. package/schematics/ts-import-to-siemens-migration/mappings/maps-ng-mappings.js +46 -0
  114. package/schematics/ts-import-to-siemens-migration/model.js +4 -0
  115. package/schematics/ts-import-to-siemens-migration/schema.json +16 -0
  116. package/schematics/utils/index.js +8 -0
  117. package/schematics/utils/project-utils.js +75 -0
  118. package/schematics/utils/schematics-file-system.js +22 -0
  119. package/schematics/utils/testing.js +41 -0
  120. package/schematics/utils/ts-utils.js +99 -0
  121. package/search-bar/index.d.ts +11 -1
  122. package/select/index.d.ts +7 -5
  123. package/sort-bar/index.d.ts +3 -3
  124. package/split/index.d.ts +3 -2
  125. package/status-bar/index.d.ts +3 -2
  126. package/tabs/index.d.ts +15 -1
  127. package/template-i18n.json +8 -0
  128. package/tooltip/index.d.ts +1 -1
  129. package/translate/index.d.ts +8 -0
  130. package/tree-view/index.d.ts +4 -4
  131. package/typeahead/index.d.ts +85 -4
  132. package/wizard/index.d.ts +2 -1
package/form/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import * as _siemens_element_translate_ng_translate_types from '@siemens/element-translate-ng/translate-types';
2
1
  import * as _angular_core from '@angular/core';
3
2
  import { DoCheck, Signal, InjectionToken, AfterContentInit, AfterContentChecked, OnChanges, OnInit, OnDestroy, ElementRef, SimpleChanges, ModuleWithProviders, Provider } from '@angular/core';
4
3
  import * as _angular_forms from '@angular/forms';
@@ -66,7 +65,7 @@ interface SiFormValidationErrorMapper {
66
65
  interface SiFormValidationError {
67
66
  controlName?: string;
68
67
  controlNameTranslationKey?: string;
69
- errorCode: string;
68
+ errorCode: TranslatableString;
70
69
  errorCodeTranslationKey?: string;
71
70
  errorParams?: any;
72
71
  }
@@ -135,48 +134,48 @@ declare class SiFormContainerComponent<TControl extends {
135
134
  /** @internal */
136
135
  readonly formErrorMapper: _angular_core.Signal<{
137
136
  [key: string]: string | ((error: any) => string) | undefined;
138
- required?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
137
+ required?: TranslatableString | ((error: {
139
138
  required: boolean;
140
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
141
- requiredTrue?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
139
+ }) => TranslatableString);
140
+ requiredTrue?: TranslatableString | ((error: {
142
141
  required: boolean;
143
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
144
- email?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
142
+ }) => TranslatableString);
143
+ email?: TranslatableString | ((error: {
145
144
  email: boolean;
146
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
147
- min?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
145
+ }) => TranslatableString);
146
+ min?: TranslatableString | ((error: {
148
147
  min: number;
149
148
  actual: number;
150
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
151
- max?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
149
+ }) => TranslatableString);
150
+ max?: TranslatableString | ((error: {
152
151
  max: number;
153
152
  actual: number;
154
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
155
- minLength?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
153
+ }) => TranslatableString);
154
+ minLength?: TranslatableString | ((error: {
156
155
  requiredLength: number;
157
156
  actualLength: number;
158
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
159
- maxLength?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
157
+ }) => TranslatableString);
158
+ maxLength?: TranslatableString | ((error: {
160
159
  requiredLength: number;
161
160
  actualLength: number;
162
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
163
- pattern?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
161
+ }) => TranslatableString);
162
+ pattern?: TranslatableString | ((error: {
164
163
  pattern: string | RegExp;
165
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
166
- numberFormat?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
164
+ }) => TranslatableString);
165
+ numberFormat?: TranslatableString | ((error: {
167
166
  numberFormat: boolean;
168
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
169
- dateFormat?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
167
+ }) => TranslatableString);
168
+ dateFormat?: TranslatableString | ((error: {
170
169
  format: string;
171
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
172
- maxDate?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
170
+ }) => TranslatableString);
171
+ maxDate?: TranslatableString | ((error: {
173
172
  max: Date;
174
173
  actual: Date;
175
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
176
- minDate?: _siemens_element_translate_ng_translate_types.TranslatableString | ((error: {
174
+ }) => TranslatableString);
175
+ minDate?: TranslatableString | ((error: {
177
176
  min: Date;
178
177
  actual: Date;
179
- }) => _siemens_element_translate_ng_translate_types.TranslatableString);
178
+ }) => TranslatableString);
180
179
  }>;
181
180
  /**
182
181
  * Indicates whether the user interacted with the form.
@@ -206,7 +205,7 @@ declare class SiFormContainerComponent<TControl extends {
206
205
  declare class SiFormFieldsetComponent implements DoCheck {
207
206
  private static labelIdCounter;
208
207
  /** The label for the entire fieldset. */
209
- readonly label: _angular_core.InputSignal<string>;
208
+ readonly label: _angular_core.InputSignal<TranslatableString>;
210
209
  /** Overrides the parent label width. */
211
210
  readonly labelWidth: _angular_core.InputSignal<string | undefined>;
212
211
  /**
@@ -276,7 +275,7 @@ interface SiFormItemControl {
276
275
  /** @internal */
277
276
  interface SiFormError {
278
277
  key: string;
279
- message?: string;
278
+ message?: TranslatableString;
280
279
  params: any;
281
280
  }
282
281
  declare class SiFormItemComponent implements AfterContentInit, AfterContentChecked, OnChanges, OnInit, OnDestroy {
@@ -284,7 +283,7 @@ declare class SiFormItemComponent implements AfterContentInit, AfterContentCheck
284
283
  * The label to be displayed in the form item.
285
284
  * It will be translated if a translation key is available.
286
285
  */
287
- readonly label: _angular_core.InputSignal<string | null | undefined>;
286
+ readonly label: _angular_core.InputSignal<TranslatableString | null | undefined>;
288
287
  /**
289
288
  * A custom width value to be applied to the label.
290
289
  * A value of 0 is allowed as well to visually hide away the label area.
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { StatusType } from '@siemens/element-ng/common';
3
3
  import { Link } from '@siemens/element-ng/link';
4
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
4
5
 
5
6
  declare class SiInlineNotificationComponent {
6
7
  /**
@@ -10,11 +11,11 @@ declare class SiInlineNotificationComponent {
10
11
  /**
11
12
  * Heading of the message.
12
13
  */
13
- readonly heading: _angular_core.InputSignal<string | undefined>;
14
+ readonly heading: _angular_core.InputSignal<TranslatableString | undefined>;
14
15
  /**
15
16
  * Main message of this inline notification.
16
17
  */
17
- readonly message: _angular_core.InputSignal<string>;
18
+ readonly message: _angular_core.InputSignal<TranslatableString>;
18
19
  /**
19
20
  * Optional link action for inline notification events.
20
21
  */
@@ -46,22 +46,60 @@ declare abstract class SiIpInputDirective {
46
46
  writeValue(value?: string | null): void;
47
47
  protected onInput(e: Event): void;
48
48
  protected blur(): void;
49
- abstract maskInput(e: AddrInputEvent): void;
49
+ protected abstract maskInput(e: AddrInputEvent): void;
50
50
  static ɵfac: i0.ɵɵFactoryDeclaration<SiIpInputDirective, never>;
51
51
  static ɵdir: i0.ɵɵDirectiveDeclaration<SiIpInputDirective, "input[siIpInput]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "cidr": { "alias": "cidr"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
52
52
  }
53
53
 
54
+ /**
55
+ * Directive for IPv4 address input fields.
56
+ *
57
+ * Usage:
58
+ *
59
+ * ```ts
60
+ * import { SiFormItemComponent } from '@siemens/element-ng/form';
61
+ * import { SiIp4InputDirective } from '@siemens/element-ng/ip-input';
62
+ *
63
+ * @Component({
64
+ * template: `
65
+ * <si-form-item label="IPv4 address">
66
+ * <input type="text" class="form-control" siIpV4 />
67
+ * </si-form-item>
68
+ * `,
69
+ * imports: [SiFormItemComponent, SiIp4InputDirective, ...]
70
+ * })
71
+ * ```
72
+ */
54
73
  declare class SiIp4InputDirective extends SiIpInputDirective implements ControlValueAccessor, Validator {
55
74
  validate(control: AbstractControl): ValidationErrors | null;
56
- maskInput(e: AddrInputEvent): void;
75
+ protected maskInput(e: AddrInputEvent): void;
57
76
  static ɵfac: i0.ɵɵFactoryDeclaration<SiIp4InputDirective, never>;
58
77
  static ɵdir: i0.ɵɵDirectiveDeclaration<SiIp4InputDirective, "input[siIpV4]", ["siIpV4"], {}, {}, never, never, true, never>;
59
78
  }
60
79
 
80
+ /**
81
+ * Directive for IPv6 address input fields.
82
+ *
83
+ * Usage:
84
+ *
85
+ * ```ts
86
+ * import { SiFormItemComponent } from '@siemens/element-ng/form';
87
+ * import { SiIp6InputDirective } from '@siemens/element-ng/ip-input';
88
+ *
89
+ * @Component({
90
+ * template: `
91
+ * <si-form-item label="IPv6 address">
92
+ * <input type="text" class="form-control" siIpV6 />
93
+ * </si-form-item>
94
+ * `,
95
+ * imports: [SiFormItemComponent, SiIp6InputDirective, ...]
96
+ * })
97
+ * ```
98
+ */
61
99
  declare class SiIp6InputDirective extends SiIpInputDirective implements ControlValueAccessor, Validator {
62
- readonly validatorFn: i0.Signal<_angular_forms.ValidatorFn>;
100
+ protected readonly validatorFn: i0.Signal<_angular_forms.ValidatorFn>;
63
101
  validate(control: AbstractControl): ValidationErrors | null;
64
- maskInput(e: AddrInputEvent): void;
102
+ protected maskInput(e: AddrInputEvent): void;
65
103
  static ɵfac: i0.ɵɵFactoryDeclaration<SiIp6InputDirective, never>;
66
104
  static ɵdir: i0.ɵɵDirectiveDeclaration<SiIp6InputDirective, "input[siIpV6]", ["siIpV6"], {}, {}, never, never, true, never>;
67
105
  }
@@ -28,9 +28,10 @@ interface AlertConfig {
28
28
  * Copyright (c) Siemens 2016 - 2025
29
29
  * SPDX-License-Identifier: MIT
30
30
  */
31
+
31
32
  interface LandingPageWarning {
32
- title: string;
33
- content: string;
33
+ title: TranslatableString;
34
+ content: TranslatableString;
34
35
  }
35
36
  interface UsernamePassword {
36
37
  username: string | null | undefined;
@@ -1,4 +1,5 @@
1
1
  import * as _siemens_element_translate_ng_translate from '@siemens/element-translate-ng/translate';
2
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
2
3
  import * as _siemens_element_translate_ng_translate_types from '@siemens/element-translate-ng/translate-types';
3
4
  import * as i0 from '@angular/core';
4
5
 
@@ -6,6 +7,7 @@ import * as i0 from '@angular/core';
6
7
  * Copyright (c) Siemens 2016 - 2025
7
8
  * SPDX-License-Identifier: MIT
8
9
  */
10
+
9
11
  /** */
10
12
  interface IsoLanguageValue {
11
13
  /**
@@ -15,7 +17,7 @@ interface IsoLanguageValue {
15
17
  /**
16
18
  * Language name, ex "English" or translatable string, ex "LANGUAGES.EN"
17
19
  */
18
- name: string;
20
+ name: TranslatableString;
19
21
  }
20
22
 
21
23
  declare class SiLanguageSwitcherComponent {
@@ -114,6 +114,8 @@ declare class SiListPaneBodyComponent {
114
114
  declare class SiDetailsPaneComponent {
115
115
  protected parent: SiListDetailsComponent;
116
116
  private readonly routerOutlet;
117
+ private subscription?;
118
+ private destroyer;
117
119
  /** @internal */
118
120
  readonly isRouterBased: _angular_core.Signal<boolean>;
119
121
  constructor();
@@ -1,6 +1,6 @@
1
- import * as _siemens_element_translate_ng_translate_types from '@siemens/element-translate-ng/translate-types';
2
1
  import * as _angular_core from '@angular/core';
3
2
  import { OnInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
3
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
4
4
 
5
5
  declare class SiMainDetailContainerComponent implements OnInit, OnChanges, OnDestroy {
6
6
  private animationDuration;
@@ -39,7 +39,7 @@ declare class SiMainDetailContainerComponent implements OnInit, OnChanges, OnDes
39
39
  *
40
40
  * @defaultValue ''
41
41
  */
42
- readonly heading: _angular_core.InputSignal<string>;
42
+ readonly heading: _angular_core.InputSignal<TranslatableString>;
43
43
  /**
44
44
  * Whether the heading should be truncated (single line) or not.
45
45
  * Default value is `false`.
@@ -52,7 +52,7 @@ declare class SiMainDetailContainerComponent implements OnInit, OnChanges, OnDes
52
52
  *
53
53
  * @defaultValue ''
54
54
  */
55
- readonly detailsHeading: _angular_core.InputSignal<string>;
55
+ readonly detailsHeading: _angular_core.InputSignal<TranslatableString>;
56
56
  /**
57
57
  * Whether the main and detail parts should be resizable by a splitter or not.
58
58
  * This is only supported in the 'large' scenario (when `hasLargeSize` is `true`).
@@ -77,7 +77,7 @@ declare class SiMainDetailContainerComponent implements OnInit, OnChanges, OnDes
77
77
  * t(() => $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`)
78
78
  * ```
79
79
  */
80
- readonly detailsBackButtonText: _angular_core.InputSignal<_siemens_element_translate_ng_translate_types.TranslatableString>;
80
+ readonly detailsBackButtonText: _angular_core.InputSignal<TranslatableString>;
81
81
  /**
82
82
  * CSS class(es) applied to the outermost container. Per default, Bootstrap classes
83
83
  * to handle responsive paddings are applied: `px-6 pt-6 px-md-9`.
package/navbar/index.d.ts CHANGED
@@ -44,7 +44,7 @@ interface AccountItem extends MenuItem {
44
44
  /**
45
45
  * Role name shown as a badge in the bottom
46
46
  */
47
- role?: string;
47
+ role?: TranslatableString;
48
48
  }
49
49
 
50
50
  /**
@@ -0,0 +1,141 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { NavigationExtras, ActivatedRoute } from '@angular/router';
3
+ import { MenuItem } from '@siemens/element-ng/menu';
4
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
5
+
6
+ /**
7
+ * Interface for a router link in a notification item.
8
+ * @param type - The type of the link, always 'router-link'.
9
+ * @param routerLink - The router link to navigate to.
10
+ * @param extras - Optional navigation extras for the router.
11
+ */
12
+ interface NotificationItemRouterLink {
13
+ type: 'router-link';
14
+ routerLink: string | any[];
15
+ extras?: NavigationExtras;
16
+ }
17
+ /**
18
+ * Interface for a standard link in a notification item.
19
+ * @param type - The type of the link, always 'link'.
20
+ * @param href - The URL to navigate to.
21
+ * @param target - Optional target attribute for the link.
22
+ */
23
+ interface NotificationItemLink {
24
+ type: 'link';
25
+ href: string;
26
+ target?: string;
27
+ }
28
+ /**
29
+ * Base interface for notification item actions.
30
+ * @param ariaLabel - The ARIA label for accessibility.
31
+ * @param icon - The icon to display for the action.
32
+ */
33
+ interface NotificationItemBase {
34
+ ariaLabel: TranslatableString;
35
+ icon: string;
36
+ }
37
+ /**
38
+ * Interface for an action circle button in a notification item.
39
+ * @param type - The type of the action, always 'action-circle-button'.
40
+ * @param customClass - Optional custom CSS class for styling.
41
+ * @param action - The action to perform when the button is clicked.
42
+ */
43
+ interface NotificationItemActionCircleButton extends NotificationItemBase {
44
+ type: 'action-circle-button';
45
+ customClass?: string;
46
+ action: (source: this) => void;
47
+ }
48
+ /**
49
+ * Interface for a router link with an icon in a notification item.
50
+ * @param type - The type of the link, always 'router-link'.
51
+ * @param routerLink - The router link to navigate to.
52
+ * @param extras - Optional navigation extras for the router.
53
+ */
54
+ interface NotificationItemRouterLinkIcon extends NotificationItemBase {
55
+ type: 'router-link';
56
+ routerLink: string | any[];
57
+ extras?: NavigationExtras;
58
+ }
59
+ /**
60
+ * Interface for a standard link with an icon in a notification item.
61
+ * @param type - The type of the link, always 'link'.
62
+ * @param href - The URL to navigate to.
63
+ * @param target - Optional target attribute for the link.
64
+ */
65
+ interface NotificationItemLinkIcon extends NotificationItemBase {
66
+ type: 'link';
67
+ href: string;
68
+ target?: string;
69
+ }
70
+ /**
71
+ * Interface for an action button in a notification item.
72
+ * @param type - The type of the action, always 'action-button'.
73
+ * @param label - The label to display on the button.
74
+ * @param action - The action to perform when the button is clicked.
75
+ */
76
+ interface NotificationItemActionButton {
77
+ type: 'action-button';
78
+ label: TranslatableString;
79
+ action: (source: this) => void;
80
+ }
81
+ /**
82
+ * Interface for a menu in a notification item.
83
+ * @param type - The type of the action, always 'menu'.
84
+ * @param menuItems - The menu items to display in the menu.
85
+ */
86
+ interface NotificationItemMenu {
87
+ type: 'menu';
88
+ menuItems: MenuItem[];
89
+ }
90
+ /**
91
+ * Union type for quick actions in a notification item.
92
+ */
93
+ type NotificationItemQuickAction = NotificationItemActionCircleButton | NotificationItemLinkIcon | NotificationItemRouterLinkIcon;
94
+ /**
95
+ * Union type for primary actions in a notification item.
96
+ */
97
+ type NotificationItemPrimaryAction = NotificationItemActionCircleButton | NotificationItemLinkIcon | NotificationItemRouterLinkIcon | NotificationItemMenu | NotificationItemActionButton;
98
+ /**
99
+ * This component represents a single notification that can be used within notification
100
+ * centers, popovers, or other containers. It supports various action types including
101
+ * router links, standard links, action buttons, and menus.
102
+ */
103
+ declare class SiNotificationItemComponent {
104
+ /**
105
+ * The timestamp of the notification item.
106
+ */
107
+ readonly timeStamp: _angular_core.InputSignal<TranslatableString>;
108
+ /**
109
+ * The heading of the notification item.
110
+ */
111
+ readonly heading: _angular_core.InputSignal<TranslatableString>;
112
+ /**
113
+ * Optional translatable description.
114
+ */
115
+ readonly description: _angular_core.InputSignal<TranslatableString | undefined>;
116
+ /**
117
+ * Unread messages are emphasized with a bolder font.
118
+ *
119
+ * @defaultValue false
120
+ */
121
+ readonly unread: _angular_core.InputSignalWithTransform<boolean, unknown>;
122
+ /**
123
+ * Link to the source or relevant information of the notification,
124
+ * which triggers when clicking on the notification item text area.
125
+ */
126
+ readonly itemLink: _angular_core.InputSignal<NotificationItemRouterLink | NotificationItemLink | undefined>;
127
+ /**
128
+ * Actions that are displayed below the text of the notification.
129
+ */
130
+ readonly quickActions: _angular_core.InputSignal<NotificationItemQuickAction[] | undefined>;
131
+ /**
132
+ * Action that is displayed on the right side of the notification.
133
+ */
134
+ readonly primaryAction: _angular_core.InputSignal<NotificationItemPrimaryAction | undefined>;
135
+ protected readonly activatedRoute: ActivatedRoute | null;
136
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiNotificationItemComponent, never>;
137
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiNotificationItemComponent, "si-notification-item", never, { "timeStamp": { "alias": "timeStamp"; "required": true; "isSignal": true; }; "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "unread": { "alias": "unread"; "required": false; "isSignal": true; }; "itemLink": { "alias": "itemLink"; "required": false; "isSignal": true; }; "quickActions": { "alias": "quickActions"; "required": false; "isSignal": true; }; "primaryAction": { "alias": "primaryAction"; "required": false; "isSignal": true; }; }, {}, never, ["si-avatar,si-circle-status,si-icon,si-status-icon", "[action]", "[quick-actions]", "[description]"], true, never>;
138
+ }
139
+
140
+ export { SiNotificationItemComponent };
141
+ export type { NotificationItemActionButton, NotificationItemActionCircleButton, NotificationItemBase, NotificationItemLink, NotificationItemLinkIcon, NotificationItemMenu, NotificationItemPrimaryAction, NotificationItemQuickAction, NotificationItemRouterLink, NotificationItemRouterLinkIcon };
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/siemens-element-ng-notification-item.mjs"
3
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@siemens/element-ng",
3
3
  "description": "Element Angular component library, implementing the Siemens Design Language",
4
- "version": "48.0.3",
4
+ "version": "48.2.0-rc.1",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -17,6 +17,10 @@
17
17
  "access": "public"
18
18
  },
19
19
  "type": "module",
20
+ "schematics": "./schematics/collection.json",
21
+ "ng-add": {
22
+ "save": "dependencies"
23
+ },
20
24
  "peerDependencies": {
21
25
  "@angular/animations": "20",
22
26
  "@angular/cdk": "20",
@@ -26,8 +30,8 @@
26
30
  "@angular/router": "20",
27
31
  "@ngx-formly/bootstrap": "^6.2.2",
28
32
  "@ngx-formly/core": "^6.2.2",
29
- "@siemens/element-translate-ng": "48.0.3",
30
- "@siemens/element-theme": "48.0.3",
33
+ "@siemens/element-translate-ng": "48.2.0-rc.1",
34
+ "@siemens/element-theme": "48.2.0-rc.1",
31
35
  "@siemens/ngx-datatable": "22 - 24",
32
36
  "flag-icons": "^7.3.2",
33
37
  "google-libphonenumber": "^3.2.40",
@@ -67,14 +71,14 @@
67
71
  "types": "./accordion/index.d.ts",
68
72
  "default": "./fesm2022/siemens-element-ng-accordion.mjs"
69
73
  },
70
- "./action-modal": {
71
- "types": "./action-modal/index.d.ts",
72
- "default": "./fesm2022/siemens-element-ng-action-modal.mjs"
73
- },
74
74
  "./about": {
75
75
  "types": "./about/index.d.ts",
76
76
  "default": "./fesm2022/siemens-element-ng-about.mjs"
77
77
  },
78
+ "./action-modal": {
79
+ "types": "./action-modal/index.d.ts",
80
+ "default": "./fesm2022/siemens-element-ng-action-modal.mjs"
81
+ },
78
82
  "./application-header": {
79
83
  "types": "./application-header/index.d.ts",
80
84
  "default": "./fesm2022/siemens-element-ng-application-header.mjs"
@@ -255,6 +259,10 @@
255
259
  "types": "./navbar-vertical/index.d.ts",
256
260
  "default": "./fesm2022/siemens-element-ng-navbar-vertical.mjs"
257
261
  },
262
+ "./notification-item": {
263
+ "types": "./notification-item/index.d.ts",
264
+ "default": "./fesm2022/siemens-element-ng-notification-item.mjs"
265
+ },
258
266
  "./number-input": {
259
267
  "types": "./number-input/index.d.ts",
260
268
  "default": "./fesm2022/siemens-element-ng-number-input.mjs"
@@ -307,14 +315,14 @@
307
315
  "types": "./search-bar/index.d.ts",
308
316
  "default": "./fesm2022/siemens-element-ng-search-bar.mjs"
309
317
  },
310
- "./shadow-root": {
311
- "types": "./shadow-root/index.d.ts",
312
- "default": "./fesm2022/siemens-element-ng-shadow-root.mjs"
313
- },
314
318
  "./select": {
315
319
  "types": "./select/index.d.ts",
316
320
  "default": "./fesm2022/siemens-element-ng-select.mjs"
317
321
  },
322
+ "./shadow-root": {
323
+ "types": "./shadow-root/index.d.ts",
324
+ "default": "./fesm2022/siemens-element-ng-shadow-root.mjs"
325
+ },
318
326
  "./side-panel": {
319
327
  "types": "./side-panel/index.d.ts",
320
328
  "default": "./fesm2022/siemens-element-ng-side-panel.mjs"
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import * as _siemens_element_translate_ng_translate_types from '@siemens/element-translate-ng/translate-types';
2
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
3
3
 
4
4
  declare class SiProgressbarComponent {
5
5
  /**
@@ -10,7 +10,7 @@ declare class SiProgressbarComponent {
10
10
  * t(() => $localize`:@@SI_PROGRESSBAR.LABEL:Progress`)
11
11
  * ```
12
12
  */
13
- readonly ariaLabel: _angular_core.InputSignal<_siemens_element_translate_ng_translate_types.TranslatableString>;
13
+ readonly ariaLabel: _angular_core.InputSignal<TranslatableString>;
14
14
  /**
15
15
  * Max value for progressbar
16
16
  *
@@ -26,7 +26,7 @@ declare class SiProgressbarComponent {
26
26
  /**
27
27
  * Heading to display on top of progress bar.
28
28
  */
29
- readonly heading: _angular_core.InputSignal<string | undefined>;
29
+ readonly heading: _angular_core.InputSignal<TranslatableString | undefined>;
30
30
  /**
31
31
  * Optional progress text to be shown on top right (in LTR).
32
32
  * It can be percentage value or a progress status. E.g `50 %` or `Downloading 2/8`.
@@ -1,15 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
2
3
 
3
4
  /**
4
5
  * Copyright (c) Siemens 2016 - 2025
5
6
  * SPDX-License-Identifier: MIT
6
7
  */
8
+
7
9
  /** */
8
10
  interface ResultDetailStep {
9
11
  /**
10
12
  * A description of the step.
11
13
  */
12
- description: string;
14
+ description: TranslatableString;
13
15
  /**
14
16
  * A state object defining the state of the step.
15
17
  */
@@ -29,7 +31,7 @@ interface ResultDetailStep {
29
31
  /**
30
32
  * Optional detail text which appears below description.
31
33
  */
32
- detail?: string;
34
+ detail?: TranslatableString;
33
35
  /**
34
36
  * Optional translation params to be used with translate pipe.
35
37
  */
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "../../../hello-world/node_modules/@angular-devkit/schematics/collection-schema.json",
3
+ "schematics": {
4
+ "simpl-siemens-migration": {
5
+ "description": "A migration schematic for replacing @simpl/* packages with @siemens/*",
6
+ "factory": "./simpl-siemens-migration/index#simplSiemensMigration",
7
+ "schema": "./simpl-siemens-migration/schema.json",
8
+ "aliases": ["s2s-migration"]
9
+ },
10
+ "ng-add": {
11
+ "description": "A schematic to add the @siemens/element-ng to your project.",
12
+ "factory": "./ng-add/index#ngAdd",
13
+ "schema": "./ng-add/schema.json"
14
+ },
15
+ "migrate-scss-imports-to-siemens": {
16
+ "description": "A migration schematic for updating SCSS imports from @simpl/* to @siemens/*",
17
+ "factory": "./scss-import-to-siemens-migration/index#scssImportMigration",
18
+ "schema": "./scss-import-to-siemens-migration/schema.json",
19
+ "aliases": ["scss-i-migration"]
20
+ },
21
+ "migrate-ts-imports-to-siemens": {
22
+ "description": "A migration schematic for updating TypeScript imports from @simpl/* to @siemens/*",
23
+ "factory": "./ts-import-to-siemens-migration/index#tsImportMigration",
24
+ "schema": "./ts-import-to-siemens-migration/schema.json",
25
+ "aliases": ["ts-i-migration"]
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright (c) Siemens 2016 - 2025
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { chain, schematic } from '@angular-devkit/schematics';
6
+ import { getPackageJsonDependency } from '@schematics/angular/utility/dependencies';
7
+ export const ngAdd = (options) => {
8
+ return (tree, context) => {
9
+ context.logger.info('🔧 Adding @siemens/element-ng to your project...');
10
+ const hasSimplElementNgDependency = getPackageJsonDependency(tree, '@simpl/element-ng');
11
+ if (hasSimplElementNgDependency) {
12
+ const chainedRules = chain([schematic('simpl-siemens-migration', options)]);
13
+ return chainedRules(tree, context);
14
+ }
15
+ };
16
+ };
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "siemens-element-ng-add",
4
+ "title": "Siemens Element ng-add schematic",
5
+ "type": "object",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "description": "Path to the directory where all simpl imports should be migrated.",
10
+ "x-prompt": "Which directory do you want to migrate?",
11
+ "format": "path",
12
+ "default": "/"
13
+ }
14
+ },
15
+ "required": []
16
+ }