@siemens/element-ng 47.2.0 → 47.3.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 (172) hide show
  1. package/README.md +18 -6
  2. package/autocomplete/index.d.ts +8 -0
  3. package/autocomplete/package.json +3 -0
  4. package/autocomplete/si-autocomplete-listbox.directive.d.ts +31 -0
  5. package/autocomplete/si-autocomplete-option.directive.d.ts +31 -0
  6. package/autocomplete/si-autocomplete.directive.d.ts +14 -0
  7. package/autocomplete/si-autocomplete.model.d.ts +7 -0
  8. package/autocomplete/si-autocomplete.module.d.ts +9 -0
  9. package/badge/index.d.ts +5 -0
  10. package/badge/package.json +3 -0
  11. package/badge/si-badge.component.d.ts +17 -0
  12. package/content-action-bar/index.d.ts +7 -0
  13. package/content-action-bar/package.json +3 -0
  14. package/content-action-bar/si-content-action-bar-toggle.component.d.ts +6 -0
  15. package/content-action-bar/si-content-action-bar.component.d.ts +72 -0
  16. package/content-action-bar/si-content-action-bar.model.d.ts +9 -0
  17. package/content-action-bar/si-content-action-bar.module.d.ts +7 -0
  18. package/fesm2022/siemens-element-ng-application-header.mjs +2 -2
  19. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-autocomplete.mjs +235 -0
  21. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -0
  22. package/fesm2022/siemens-element-ng-badge.mjs +59 -0
  23. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -0
  24. package/fesm2022/siemens-element-ng-common.mjs +1 -1
  25. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-content-action-bar.mjs +200 -0
  27. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -0
  28. package/fesm2022/siemens-element-ng-form.mjs +827 -0
  29. package/fesm2022/siemens-element-ng-form.mjs.map +1 -0
  30. package/fesm2022/siemens-element-ng-icon-status.mjs +65 -0
  31. package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -0
  32. package/fesm2022/siemens-element-ng-icon.mjs +12 -2
  33. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-language-switcher.mjs +90 -0
  35. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -0
  36. package/fesm2022/siemens-element-ng-number-input.mjs +267 -0
  37. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -0
  38. package/fesm2022/siemens-element-ng-password-strength.mjs +177 -0
  39. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -0
  40. package/fesm2022/siemens-element-ng-pills-input.mjs +397 -0
  41. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -0
  42. package/fesm2022/siemens-element-ng-popover-next.mjs +259 -0
  43. package/fesm2022/siemens-element-ng-popover-next.mjs.map +1 -0
  44. package/fesm2022/siemens-element-ng-popover.mjs +256 -0
  45. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -0
  46. package/fesm2022/siemens-element-ng-progressbar.mjs +83 -0
  47. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -0
  48. package/fesm2022/siemens-element-ng-select.mjs +1166 -0
  49. package/fesm2022/siemens-element-ng-select.mjs.map +1 -0
  50. package/fesm2022/siemens-element-ng-skip-links.mjs +117 -0
  51. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -0
  52. package/fesm2022/siemens-element-ng-summary-widget.mjs +77 -0
  53. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -0
  54. package/fesm2022/siemens-element-ng-toast-notification.mjs +227 -0
  55. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -0
  56. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-typeahead.mjs +746 -0
  58. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -0
  59. package/fesm2022/siemens-element-ng-wizard.mjs +465 -0
  60. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -0
  61. package/form/form-fieldset/si-form-fieldset.component.d.ts +40 -0
  62. package/form/index.d.ts +14 -0
  63. package/form/package.json +3 -0
  64. package/form/si-form-container/si-form-container.component.d.ts +155 -0
  65. package/form/si-form-item/si-form-field-native.control.d.ts +22 -0
  66. package/form/si-form-item/si-form-item.component.d.ts +90 -0
  67. package/form/si-form-item-control-input.directive.d.ts +18 -0
  68. package/form/si-form-item.control.d.ts +35 -0
  69. package/form/si-form-validation-error.model.d.ts +55 -0
  70. package/form/si-form-validation-error.provider.d.ts +11 -0
  71. package/form/si-form-validation-error.service.d.ts +42 -0
  72. package/form/si-form-validation-tooltip/si-form-validation-tooltip.component.d.ts +13 -0
  73. package/form/si-form-validation-tooltip/si-form-validation-tooltip.directive.d.ts +42 -0
  74. package/form/si-form.module.d.ts +25 -0
  75. package/icon/element-icons.d.ts +10 -0
  76. package/icon-status/index.d.ts +6 -0
  77. package/icon-status/package.json +3 -0
  78. package/icon-status/si-icon-status.component.d.ts +24 -0
  79. package/icon-status/si-icon-status.module.d.ts +7 -0
  80. package/language-switcher/index.d.ts +7 -0
  81. package/language-switcher/iso-language-value.d.ts +14 -0
  82. package/language-switcher/package.json +3 -0
  83. package/language-switcher/si-language-switcher.component.d.ts +32 -0
  84. package/language-switcher/si-language-switcher.module.d.ts +7 -0
  85. package/number-input/index.d.ts +6 -0
  86. package/number-input/package.json +3 -0
  87. package/number-input/si-number-input.component.d.ts +106 -0
  88. package/number-input/si-number-input.module.d.ts +7 -0
  89. package/package.json +75 -3
  90. package/password-strength/index.d.ts +7 -0
  91. package/password-strength/package.json +3 -0
  92. package/password-strength/si-password-strength.component.d.ts +25 -0
  93. package/password-strength/si-password-strength.directive.d.ts +54 -0
  94. package/password-strength/si-password-strength.module.d.ts +8 -0
  95. package/pills-input/index.d.ts +9 -0
  96. package/pills-input/package.json +3 -0
  97. package/pills-input/si-input-pill.component.d.ts +9 -0
  98. package/pills-input/si-pills-input-csv.directive.d.ts +8 -0
  99. package/pills-input/si-pills-input-email.directive.d.ts +10 -0
  100. package/pills-input/si-pills-input-pattern-base.d.ts +19 -0
  101. package/pills-input/si-pills-input-value-handler.d.ts +12 -0
  102. package/pills-input/si-pills-input.component.d.ts +87 -0
  103. package/pills-input/si-pills-input.module.d.ts +9 -0
  104. package/popover/index.d.ts +6 -0
  105. package/popover/package.json +3 -0
  106. package/popover/si-popover.component.d.ts +26 -0
  107. package/popover/si-popover.directive.d.ts +89 -0
  108. package/popover/si-popover.module.d.ts +7 -0
  109. package/popover-next/index.d.ts +7 -0
  110. package/popover-next/package.json +3 -0
  111. package/popover-next/si-popover-description.directive.d.ts +7 -0
  112. package/popover-next/si-popover-next.directive.d.ts +61 -0
  113. package/popover-next/si-popover-title.directive.d.ts +7 -0
  114. package/popover-next/si-popover.component.d.ts +27 -0
  115. package/progressbar/index.d.ts +6 -0
  116. package/progressbar/package.json +3 -0
  117. package/progressbar/si-progressbar.component.d.ts +43 -0
  118. package/progressbar/si-progressbar.module.d.ts +7 -0
  119. package/select/index.d.ts +18 -0
  120. package/select/options/si-select-complex-options.directive.d.ts +69 -0
  121. package/select/options/si-select-lazy-options.directive.d.ts +38 -0
  122. package/select/options/si-select-option.source.d.ts +49 -0
  123. package/select/options/si-select-options-strategy.base.d.ts +35 -0
  124. package/select/options/si-select-options-strategy.d.ts +37 -0
  125. package/select/options/si-select-simple-options.directive.d.ts +34 -0
  126. package/select/package.json +3 -0
  127. package/select/select-input/si-select-input.component.d.ts +43 -0
  128. package/select/select-list/si-select-list-has-filter.component.d.ts +20 -0
  129. package/select/select-list/si-select-list.base.d.ts +37 -0
  130. package/select/select-list/si-select-list.component.d.ts +15 -0
  131. package/select/select-option/si-select-option-row.component.d.ts +16 -0
  132. package/select/select-option/si-select-option.component.d.ts +9 -0
  133. package/select/selection/si-select-multi-value.directive.d.ts +26 -0
  134. package/select/selection/si-select-selection-strategy.d.ts +58 -0
  135. package/select/selection/si-select-single-value.directive.d.ts +26 -0
  136. package/select/si-select-action.directive.d.ts +12 -0
  137. package/select/si-select-actions.directive.d.ts +5 -0
  138. package/select/si-select-group-template.directive.d.ts +20 -0
  139. package/select/si-select-option-row-template.directive.d.ts +9 -0
  140. package/select/si-select-option-template.directive.d.ts +21 -0
  141. package/select/si-select.component.d.ts +96 -0
  142. package/select/si-select.module.d.ts +15 -0
  143. package/select/si-select.types.d.ts +65 -0
  144. package/skip-links/index.d.ts +5 -0
  145. package/skip-links/package.json +3 -0
  146. package/skip-links/si-skip-link-target.directive.d.ts +27 -0
  147. package/skip-links/si-skip-links.component.d.ts +9 -0
  148. package/skip-links/skip-link.service.d.ts +14 -0
  149. package/summary-widget/index.d.ts +5 -0
  150. package/summary-widget/package.json +3 -0
  151. package/summary-widget/si-summary-widget.component.d.ts +44 -0
  152. package/template-i18n.json +29 -1
  153. package/toast-notification/index.d.ts +6 -0
  154. package/toast-notification/package.json +3 -0
  155. package/toast-notification/si-toast-notification/si-toast-notification.component.d.ts +17 -0
  156. package/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.d.ts +9 -0
  157. package/toast-notification/si-toast-notification.service.d.ts +41 -0
  158. package/toast-notification/si-toast.model.d.ts +25 -0
  159. package/translate/si-translatable-keys.interface.d.ts +28 -0
  160. package/typeahead/index.d.ts +8 -0
  161. package/typeahead/package.json +3 -0
  162. package/typeahead/si-typeahead-item-template.directive.d.ts +7 -0
  163. package/typeahead/si-typeahead.component.d.ts +22 -0
  164. package/typeahead/si-typeahead.directive.d.ts +196 -0
  165. package/typeahead/si-typeahead.model.d.ts +60 -0
  166. package/typeahead/si-typeahead.module.d.ts +8 -0
  167. package/typeahead/si-typeahead.sorting.d.ts +10 -0
  168. package/wizard/index.d.ts +7 -0
  169. package/wizard/package.json +3 -0
  170. package/wizard/si-wizard-step.component.d.ts +21 -0
  171. package/wizard/si-wizard.component.d.ts +196 -0
  172. package/wizard/si-wizard.module.d.ts +8 -0
package/README.md CHANGED
@@ -1,9 +1,21 @@
1
- # Siemens Element
2
-
3
- Siemens Element is a design system for products and digital experiences,
4
- grounded in the Siemens brand design language. It includes UI components
5
- (Angular), design tools and resources, human interface guidelines, and a
6
- vibrant community of contributors.
1
+ <p align="center">
2
+ <a href="https://element.siemens.io" target="_blank">
3
+ <img src="./element-logo.svg" alt="Element Website" height="132" width="132">
4
+ </a>
5
+ </p>
6
+
7
+ <h1 align="center">Siemens Element</h1>
8
+
9
+ <p></p>
10
+ <p align="center">
11
+ Siemens Element is a design system of the smart infrastructure domain
12
+ that implements the Siemens Design Language in Angular. It includes UI
13
+ components, design tools and resources, human interface guidelines, and a
14
+ vibrant community of contributors.
15
+ </p>
16
+ <p></p>
17
+
18
+ <hr>
7
19
 
8
20
  ## Contributing
9
21
 
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export * from './si-autocomplete-listbox.directive';
6
+ export * from './si-autocomplete-option.directive';
7
+ export * from './si-autocomplete.directive';
8
+ export * from './si-autocomplete.module';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/siemens-element-ng-autocomplete.mjs"
3
+ }
@@ -0,0 +1,31 @@
1
+ import { AfterContentInit, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { SiAutocompleteOptionDirective } from './si-autocomplete-option.directive';
3
+ import { SiAutocompleteDirective } from './si-autocomplete.directive';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SiAutocompleteListboxDirective<T> implements OnInit, OnChanges, AfterContentInit {
6
+ private static idCounter;
7
+ private options;
8
+ /**
9
+ * @defaultValue
10
+ * ```
11
+ * `__si-autocomplete-listbox-${SiAutocompleteListboxDirective.idCounter++}`
12
+ * ```
13
+ */
14
+ readonly id: import("@angular/core").InputSignal<string>;
15
+ readonly autocomplete: import("@angular/core").InputSignal<SiAutocompleteDirective<T>>;
16
+ /** @defaultValue 0 */
17
+ readonly siAutocompleteDefaultIndex: import("@angular/core").InputSignal<number>;
18
+ readonly siAutocompleteOptionSubmitted: import("@angular/core").OutputEmitterRef<T | undefined>;
19
+ private keyManager?;
20
+ private changeDetectorRef;
21
+ private destroyRef;
22
+ ngOnChanges(changes: SimpleChanges): void;
23
+ ngOnInit(): void;
24
+ ngAfterContentInit(): void;
25
+ private setActiveItem;
26
+ /** @internal */
27
+ onKeydown(event: KeyboardEvent): void;
28
+ get active(): SiAutocompleteOptionDirective<T> | null;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiAutocompleteListboxDirective<any>, never>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SiAutocompleteListboxDirective<any>, "[siAutocompleteListboxFor]", ["siAutocompleteListbox"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "siAutocompleteListboxFor"; "required": true; "isSignal": true; }; "siAutocompleteDefaultIndex": { "alias": "siAutocompleteDefaultIndex"; "required": false; "isSignal": true; }; }, { "siAutocompleteOptionSubmitted": "siAutocompleteOptionSubmitted"; }, ["options"], never, true, never>;
31
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { Highlightable } from '@angular/cdk/a11y';
6
+ import * as i0 from "@angular/core";
7
+ export declare class SiAutocompleteOptionDirective<T = unknown> implements Highlightable {
8
+ private static idCounter;
9
+ private element;
10
+ private parent;
11
+ /**
12
+ * @defaultValue
13
+ * ```
14
+ * `__si-autocomplete-option-${SiAutocompleteOptionDirective.idCounter++}`
15
+ * ```
16
+ */
17
+ readonly id: import("@angular/core").InputSignal<string>;
18
+ /** @defaultValue false */
19
+ readonly disabledInput: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20
+ get disabled(): boolean;
21
+ /** @defaultValue undefined */
22
+ readonly value: import("@angular/core").InputSignal<T | undefined>;
23
+ protected active?: boolean;
24
+ protected click(): void;
25
+ /** @internal */
26
+ setActiveStyles(): void;
27
+ /** @internal */
28
+ setInactiveStyles(): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiAutocompleteOptionDirective<any>, never>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SiAutocompleteOptionDirective<any>, "[siAutocompleteOption]", ["siAutocompleteOption"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "siAutocompleteOption"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
31
+ }
@@ -0,0 +1,14 @@
1
+ import { SiAutocompleteListboxDirective } from './si-autocomplete-listbox.directive';
2
+ import { SiAutocompleteOptionDirective } from './si-autocomplete-option.directive';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SiAutocompleteDirective<T> {
5
+ /** @internal */
6
+ listbox?: SiAutocompleteListboxDirective<T>;
7
+ protected get activeDescendant(): string;
8
+ protected get ariaControls(): string | undefined;
9
+ protected get expanded(): boolean;
10
+ protected keydown(event: KeyboardEvent): void;
11
+ get active(): SiAutocompleteOptionDirective<T> | undefined | null;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiAutocompleteDirective<any>, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SiAutocompleteDirective<any>, "input[siAutocomplete]", ["siAutocomplete"], {}, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { InjectionToken } from '@angular/core';
6
+ import { SiAutocompleteListboxDirective } from './si-autocomplete-listbox.directive';
7
+ export declare const AUTOCOMPLETE_LISTBOX: InjectionToken<SiAutocompleteListboxDirective<unknown>>;
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./si-autocomplete.directive";
3
+ import * as i2 from "./si-autocomplete-listbox.directive";
4
+ import * as i3 from "./si-autocomplete-option.directive";
5
+ export declare class SiAutocompleteModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiAutocompleteModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SiAutocompleteModule, never, [typeof i1.SiAutocompleteDirective, typeof i2.SiAutocompleteListboxDirective, typeof i3.SiAutocompleteOptionDirective], [typeof i1.SiAutocompleteDirective, typeof i2.SiAutocompleteListboxDirective, typeof i3.SiAutocompleteOptionDirective]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<SiAutocompleteModule>;
9
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export * from './si-badge.component';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/siemens-element-ng-badge.mjs"
3
+ }
@@ -0,0 +1,17 @@
1
+ import { type StatusType } from '@siemens/element-ng/common';
2
+ import * as i0 from "@angular/core";
3
+ export type BadgeType = StatusType | 'default' | 'inverse' | 'caution' | 'info-emphasis' | 'success-emphasis' | 'warning-emphasis' | 'danger-emphasis' | 'caution-emphasis';
4
+ export declare class SiBadgeComponent {
5
+ /**
6
+ * Optional icon
7
+ * @defaultValue ''
8
+ */
9
+ readonly icon: import("@angular/core").InputSignal<string | undefined>;
10
+ /**
11
+ * Badge display type.
12
+ * @defaultValue 'default'
13
+ */
14
+ readonly type: import("@angular/core").InputSignal<BadgeType>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiBadgeComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiBadgeComponent, "si-badge", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
17
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export * from './si-content-action-bar.component';
6
+ export * from './si-content-action-bar.module';
7
+ export * from './si-content-action-bar.model';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/siemens-element-ng-content-action-bar.mjs"
3
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class SiContentActionBarToggleComponent {
3
+ readonly icon: import("@angular/core").InputSignal<string>;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiContentActionBarToggleComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiContentActionBarToggleComponent, "[si-content-action-bar-toggle]", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
6
+ }
@@ -0,0 +1,72 @@
1
+ import { AfterViewInit, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';
3
+ import { MenuItemAction, MenuItemCheckbox, MenuItem, MenuItemRadio } from '@siemens/element-ng/menu';
4
+ import { ContentActionBarMainItem, ViewType } from './si-content-action-bar.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SiContentActionBarComponent implements OnChanges, AfterViewInit {
7
+ /**
8
+ * List of primary actions. Supports up to **4** actions and omits additional ones.
9
+ */
10
+ readonly primaryActions: import("@angular/core").InputSignal<readonly (MenuItemLegacy | ContentActionBarMainItem)[] | undefined>;
11
+ /**
12
+ * List of secondary actions.
13
+ */
14
+ readonly secondaryActions: import("@angular/core").InputSignal<readonly (MenuItemLegacy | MenuItem)[] | undefined>;
15
+ /**
16
+ * A param that will be passed to the `action` in the primary/secondary actions.
17
+ * This allows to re-use the same primary/secondary action arrays across rows
18
+ * in a table.
19
+ */
20
+ readonly actionParam: import("@angular/core").InputSignal<any>;
21
+ /**
22
+ * Selection of view type as 'collapsible', 'expanded' or 'mobile'.
23
+ *
24
+ * @defaultValue 'expanded'
25
+ */
26
+ readonly viewType: import("@angular/core").InputSignal<ViewType>;
27
+ /**
28
+ * Toggle icon aria-label, required for a11y
29
+ *
30
+ * @defaultValue
31
+ * ```
32
+ * $localize`:@@SI_CONTENT_ACTION_BAR.TOGGLE:Toggle`
33
+ * ```
34
+ */
35
+ readonly toggleItemLabel: import("@angular/core").InputSignal<import("@siemens/element-translate-ng/translate").TranslatableString>;
36
+ /**
37
+ * Option to remove all icons from dropdown menus of the content action bar.
38
+ *
39
+ * Some apps provide only few actions with icons, located in the set of primary actions.
40
+ * The icons are visible in the `collapsible` and `expanded` view type. On reduced space,
41
+ * primary actions are relocated in the same dropdown menu as the secondary actions. The
42
+ * dropdown menu can look unbalanced, if a large number of secondary actions without
43
+ * icons are presented with few actions with icons. This option balances the look and feel
44
+ * by removing all icons from actions in the dropdown menu.
45
+ *
46
+ * @defaultValue false
47
+ */
48
+ readonly preventIconsInDropdownMenus: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
49
+ /**
50
+ * Disables the whole content-action-bar.
51
+ *
52
+ * @defaultValue false
53
+ */
54
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
55
+ private readonly expandElement;
56
+ private readonly menuBarElement;
57
+ protected readonly mobileActions: import("@angular/core").Signal<readonly (MenuItemLegacy | MenuItem)[]>;
58
+ protected readonly secondaryActionsInternal: import("@angular/core").Signal<readonly (MenuItemLegacy | MenuItem)[] | undefined>;
59
+ protected readonly icons: Record<"elementCancel" | "elementOptionsVertical", string>;
60
+ protected expanded: boolean;
61
+ protected parentElement?: HTMLElement | null;
62
+ private elementRef;
63
+ private menuActionService;
64
+ ngOnChanges(changes: SimpleChanges): void;
65
+ ngAfterViewInit(): void;
66
+ protected expand(): void;
67
+ protected collapse(): void;
68
+ protected isNewItemStyle(item: MenuItemLegacy | ContentActionBarMainItem): item is ContentActionBarMainItem;
69
+ protected runAction(item: MenuItemAction | MenuItemRadio | MenuItemCheckbox): void;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiContentActionBarComponent, never>;
71
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiContentActionBarComponent, "si-content-action-bar", never, { "primaryActions": { "alias": "primaryActions"; "required": false; "isSignal": true; }; "secondaryActions": { "alias": "secondaryActions"; "required": false; "isSignal": true; }; "actionParam": { "alias": "actionParam"; "required": false; "isSignal": true; }; "viewType": { "alias": "viewType"; "required": false; "isSignal": true; }; "toggleItemLabel": { "alias": "toggleItemLabel"; "required": false; "isSignal": true; }; "preventIconsInDropdownMenus": { "alias": "preventIconsInDropdownMenus"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
72
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { MenuItemAction, MenuItemGroup, MenuItemLink, MenuItemRouterLink } from '@siemens/element-ng/menu';
6
+ export type ViewType = 'collapsible' | 'expanded' | 'mobile';
7
+ export type ContentActionBarMainItem = (MenuItemAction | MenuItemLink | MenuItemRouterLink | MenuItemGroup) & {
8
+ iconOnly?: boolean;
9
+ };
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./si-content-action-bar.component";
3
+ export declare class SiContentActionBarModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiContentActionBarModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SiContentActionBarModule, never, [typeof i1.SiContentActionBarComponent], [typeof i1.SiContentActionBarComponent]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<SiContentActionBarModule>;
7
+ }
@@ -612,7 +612,7 @@ class SiLaunchpadAppComponent {
612
612
  this.header.closeLaunchpad();
613
613
  }
614
614
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLaunchpadAppComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
615
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiLaunchpadAppComponent, isStandalone: true, selector: "a[si-launchpad-app]", inputs: { external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, enableFavoriteToggle: { classPropertyName: "enableFavoriteToggle", publicName: "enableFavoriteToggle", isSignal: true, isRequired: false, transformFunction: null }, favorite: { classPropertyName: "favorite", publicName: "favorite", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, iconUrl: { classPropertyName: "iconUrl", publicName: "iconUrl", isSignal: true, isRequired: false, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { favorite: "favoriteChange" }, host: { listeners: { "keydown.space": "favoriteClicked($event)", "click": "click()" }, properties: { "class.active": "active()", "class.action": "action()" }, classAttribute: "focus-inside" }, ngImport: i0, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon-next class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"si-title-2 text-truncate mw-100\">\n <ng-content select=\"[app-name]\" />\n @if (external()) {\n <si-icon-next class=\"icon mt-n2\" [icon]=\"icons.elementExport\" />\n }\n</div>\n<div class=\"si-body-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon-next\n class=\"favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:20px;inline-size:152px;max-inline-size:152px;padding-inline:4px;color:var(--element-text-primary);border-radius:var(--element-radius-2)}:host.active{border:1px solid var(--element-ui-0);background-color:var(--element-base-1-hover)}:host.action{color:var(--element-action-primary)}:host:hover{color:var(--element-text-primary);text-decoration:none;background-color:var(--element-base-1-hover)}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:48px;block-size:48px;margin-block-end:8px;border-radius:var(--element-radius-2)}.favorite-icon{font-size:20px;position:absolute;inset-inline-end:22px;inset-block-start:10px;padding:2px;color:var(--element-text-primary)}.is-favorite{color:var(--element-status-caution)}\n"], dependencies: [{ kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
615
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiLaunchpadAppComponent, isStandalone: true, selector: "a[si-launchpad-app]", inputs: { external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, enableFavoriteToggle: { classPropertyName: "enableFavoriteToggle", publicName: "enableFavoriteToggle", isSignal: true, isRequired: false, transformFunction: null }, favorite: { classPropertyName: "favorite", publicName: "favorite", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, iconUrl: { classPropertyName: "iconUrl", publicName: "iconUrl", isSignal: true, isRequired: false, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { favorite: "favoriteChange" }, host: { listeners: { "keydown.space": "favoriteClicked($event)", "click": "click()" }, properties: { "class.active": "active()", "class.action": "action()" }, classAttribute: "focus-inside" }, ngImport: i0, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon-next class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"si-title-2 text-truncate mw-100\">\n <ng-content select=\"[app-name]\" />\n @if (external()) {\n <si-icon-next class=\"icon mt-n2\" [icon]=\"icons.elementExport\" />\n }\n</div>\n<div class=\"si-body-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon-next\n class=\"favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:20px;inline-size:152px;max-inline-size:152px;padding-inline:4px;color:var(--element-text-primary);border-radius:var(--element-radius-2)}:host.active{border:1px solid var(--element-ui-0);background-color:var(--element-base-1-hover)}:host.action{color:var(--element-action-primary)}:host:hover{color:var(--element-text-primary);text-decoration:none;background-color:var(--element-base-1-hover)}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:48px;block-size:48px;margin-block-end:8px;border-radius:var(--element-radius-2)}.app-icon:is(si-icon-next){background:var(--element-launchpad-app-background);font-size:40px;padding:4px;color:var(--element-launchpad-app-color)}.favorite-icon{font-size:20px;position:absolute;inset-inline-end:22px;inset-block-start:10px;padding:2px;color:var(--element-text-primary)}.is-favorite{color:var(--element-status-caution)}\n"], dependencies: [{ kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
616
616
  }
617
617
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLaunchpadAppComponent, decorators: [{
618
618
  type: Component,
@@ -620,7 +620,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
620
620
  class: 'focus-inside',
621
621
  '[class.active]': 'active()',
622
622
  '[class.action]': 'action()'
623
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon-next class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"si-title-2 text-truncate mw-100\">\n <ng-content select=\"[app-name]\" />\n @if (external()) {\n <si-icon-next class=\"icon mt-n2\" [icon]=\"icons.elementExport\" />\n }\n</div>\n<div class=\"si-body-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon-next\n class=\"favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:20px;inline-size:152px;max-inline-size:152px;padding-inline:4px;color:var(--element-text-primary);border-radius:var(--element-radius-2)}:host.active{border:1px solid var(--element-ui-0);background-color:var(--element-base-1-hover)}:host.action{color:var(--element-action-primary)}:host:hover{color:var(--element-text-primary);text-decoration:none;background-color:var(--element-base-1-hover)}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:48px;block-size:48px;margin-block-end:8px;border-radius:var(--element-radius-2)}.favorite-icon{font-size:20px;position:absolute;inset-inline-end:22px;inset-block-start:10px;padding:2px;color:var(--element-text-primary)}.is-favorite{color:var(--element-status-caution)}\n"] }]
623
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon-next class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"si-title-2 text-truncate mw-100\">\n <ng-content select=\"[app-name]\" />\n @if (external()) {\n <si-icon-next class=\"icon mt-n2\" [icon]=\"icons.elementExport\" />\n }\n</div>\n<div class=\"si-body-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon-next\n class=\"favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:20px;inline-size:152px;max-inline-size:152px;padding-inline:4px;color:var(--element-text-primary);border-radius:var(--element-radius-2)}:host.active{border:1px solid var(--element-ui-0);background-color:var(--element-base-1-hover)}:host.action{color:var(--element-action-primary)}:host:hover{color:var(--element-text-primary);text-decoration:none;background-color:var(--element-base-1-hover)}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:48px;block-size:48px;margin-block-end:8px;border-radius:var(--element-radius-2)}.app-icon:is(si-icon-next){background:var(--element-launchpad-app-background);font-size:40px;padding:4px;color:var(--element-launchpad-app-color)}.favorite-icon{font-size:20px;position:absolute;inset-inline-end:22px;inset-block-start:10px;padding:2px;color:var(--element-text-primary)}.is-favorite{color:var(--element-status-caution)}\n"] }]
624
624
  }], propDecorators: { favoriteClicked: [{
625
625
  type: HostListener,
626
626
  args: ['keydown.space', ['$event']]