@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
@@ -0,0 +1,200 @@
1
+ import * as i2 from '@angular/cdk/menu';
2
+ import { CdkMenuBar, CdkMenuModule } from '@angular/cdk/menu';
3
+ import * as i0 from '@angular/core';
4
+ import { input, ChangeDetectionStrategy, Component, booleanAttribute, viewChild, ElementRef, computed, inject, NgModule } from '@angular/core';
5
+ import { RouterLink } from '@angular/router';
6
+ import * as i3 from '@siemens/element-ng/auto-collapsable-list';
7
+ import { SiAutoCollapsableListModule } from '@siemens/element-ng/auto-collapsable-list';
8
+ import { SiIconNextComponent, addIcons, elementOptionsVertical, elementCancel } from '@siemens/element-ng/icon';
9
+ import * as i5 from '@siemens/element-ng/link';
10
+ import { SiLinkModule } from '@siemens/element-ng/link';
11
+ import * as i1 from '@siemens/element-ng/menu';
12
+ import { SiMenuActionService, SiMenuModule } from '@siemens/element-ng/menu';
13
+ import * as i4 from '@siemens/element-translate-ng/translate';
14
+ import { SiTranslateModule } from '@siemens/element-translate-ng/translate';
15
+
16
+ /**
17
+ * Copyright Siemens 2016 - 2025.
18
+ * SPDX-License-Identifier: MIT
19
+ */
20
+ class SiContentActionBarToggleComponent {
21
+ icon = input.required();
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiContentActionBarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.6", type: SiContentActionBarToggleComponent, isStandalone: true, selector: "[si-content-action-bar-toggle]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "dropdown-item flex-grow-0 focus-inside" }, ngImport: i0, template: "<si-icon-next class=\"icon\" [icon]=\"icon()\" />\n", styles: [".item-wrapper{display:flex;align-items:center;flex:1;min-inline-size:24px}.item-title:empty,.item-end:empty{display:none!important}:host-context(si-menu-bar,si-content-action-bar){color:var(--element-action-secondary-text);background:var(--element-base-1);padding-inline:8px}:host-context(si-menu-bar,si-content-action-bar) .item-wrapper{justify-content:center}:host-context(si-menu-bar,si-content-action-bar) .icon{margin-inline:-4px}:host-context(si-menu-bar,si-content-action-bar) .item-end{margin-inline-end:-4px!important}:host-context(si-menu-bar,si-content-action-bar) .item-title{padding-inline-start:0;flex:0 1 auto}:host-context(si-menu-bar,si-content-action-bar) .item-title:empty+.item-end .submenu{display:none}:host-context(si-menu-bar,si-content-action-bar) .icon+.item-title{padding-inline-start:8px}:host-context(si-menu-bar,si-content-action-bar) .item-end .submenu{transform:rotate(90deg)}:host-context(si-menu-bar,si-content-action-bar)[aria-expanded=true] .item-end .submenu{transform:rotate(270deg)}:host-context(si-menu-bar,si-content-action-bar)[aria-haspopup] .icon{margin-inline:0}:host-context(si-menu-bar,si-content-action-bar)[aria-haspopup] .item-title{padding-inline-start:4px!important}:host-context(si-menu-bar,si-content-action-bar):focus,:host-context(si-menu-bar,si-content-action-bar).focus{color:var(--element-action-secondary-text);background:var(--element-base-1)}:host-context(si-menu-bar,si-content-action-bar):hover,:host-context(si-menu-bar,si-content-action-bar).hover,:host-context(si-menu-bar,si-content-action-bar):active,:host-context(si-menu-bar,si-content-action-bar).active,:host-context(si-menu-bar,si-content-action-bar)[aria-expanded=true]{color:var(--element-action-secondary-text-hover);background:var(--element-action-secondary-hover)}:host-context(si-menu-bar,si-content-action-bar):disabled,:host-context(si-menu-bar,si-content-action-bar).disabled{opacity:var(--element-action-disabled-opacity);color:var(--element-action-secondary-text);background:var(--element-base-1)}\n"], dependencies: [{ kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiContentActionBarToggleComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: '[si-content-action-bar-toggle]', imports: [SiIconNextComponent], host: { class: 'dropdown-item flex-grow-0 focus-inside' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<si-icon-next class=\"icon\" [icon]=\"icon()\" />\n", styles: [".item-wrapper{display:flex;align-items:center;flex:1;min-inline-size:24px}.item-title:empty,.item-end:empty{display:none!important}:host-context(si-menu-bar,si-content-action-bar){color:var(--element-action-secondary-text);background:var(--element-base-1);padding-inline:8px}:host-context(si-menu-bar,si-content-action-bar) .item-wrapper{justify-content:center}:host-context(si-menu-bar,si-content-action-bar) .icon{margin-inline:-4px}:host-context(si-menu-bar,si-content-action-bar) .item-end{margin-inline-end:-4px!important}:host-context(si-menu-bar,si-content-action-bar) .item-title{padding-inline-start:0;flex:0 1 auto}:host-context(si-menu-bar,si-content-action-bar) .item-title:empty+.item-end .submenu{display:none}:host-context(si-menu-bar,si-content-action-bar) .icon+.item-title{padding-inline-start:8px}:host-context(si-menu-bar,si-content-action-bar) .item-end .submenu{transform:rotate(90deg)}:host-context(si-menu-bar,si-content-action-bar)[aria-expanded=true] .item-end .submenu{transform:rotate(270deg)}:host-context(si-menu-bar,si-content-action-bar)[aria-haspopup] .icon{margin-inline:0}:host-context(si-menu-bar,si-content-action-bar)[aria-haspopup] .item-title{padding-inline-start:4px!important}:host-context(si-menu-bar,si-content-action-bar):focus,:host-context(si-menu-bar,si-content-action-bar).focus{color:var(--element-action-secondary-text);background:var(--element-base-1)}:host-context(si-menu-bar,si-content-action-bar):hover,:host-context(si-menu-bar,si-content-action-bar).hover,:host-context(si-menu-bar,si-content-action-bar):active,:host-context(si-menu-bar,si-content-action-bar).active,:host-context(si-menu-bar,si-content-action-bar)[aria-expanded=true]{color:var(--element-action-secondary-text-hover);background:var(--element-action-secondary-hover)}:host-context(si-menu-bar,si-content-action-bar):disabled,:host-context(si-menu-bar,si-content-action-bar).disabled{opacity:var(--element-action-disabled-opacity);color:var(--element-action-secondary-text);background:var(--element-base-1)}\n"] }]
28
+ }] });
29
+
30
+ /**
31
+ * Copyright Siemens 2016 - 2025.
32
+ * SPDX-License-Identifier: MIT
33
+ */
34
+ class SiContentActionBarComponent {
35
+ /**
36
+ * List of primary actions. Supports up to **4** actions and omits additional ones.
37
+ */
38
+ primaryActions = input();
39
+ /**
40
+ * List of secondary actions.
41
+ */
42
+ secondaryActions = input();
43
+ /**
44
+ * A param that will be passed to the `action` in the primary/secondary actions.
45
+ * This allows to re-use the same primary/secondary action arrays across rows
46
+ * in a table.
47
+ */
48
+ actionParam = input();
49
+ /**
50
+ * Selection of view type as 'collapsible', 'expanded' or 'mobile'.
51
+ *
52
+ * @defaultValue 'expanded'
53
+ */
54
+ viewType = input('expanded');
55
+ /**
56
+ * Toggle icon aria-label, required for a11y
57
+ *
58
+ * @defaultValue
59
+ * ```
60
+ * $localize`:@@SI_CONTENT_ACTION_BAR.TOGGLE:Toggle`
61
+ * ```
62
+ */
63
+ toggleItemLabel = input($localize `:@@SI_CONTENT_ACTION_BAR.TOGGLE:Toggle`);
64
+ /**
65
+ * Option to remove all icons from dropdown menus of the content action bar.
66
+ *
67
+ * Some apps provide only few actions with icons, located in the set of primary actions.
68
+ * The icons are visible in the `collapsible` and `expanded` view type. On reduced space,
69
+ * primary actions are relocated in the same dropdown menu as the secondary actions. The
70
+ * dropdown menu can look unbalanced, if a large number of secondary actions without
71
+ * icons are presented with few actions with icons. This option balances the look and feel
72
+ * by removing all icons from actions in the dropdown menu.
73
+ *
74
+ * @defaultValue false
75
+ */
76
+ preventIconsInDropdownMenus = input(false, { transform: booleanAttribute });
77
+ /**
78
+ * Disables the whole content-action-bar.
79
+ *
80
+ * @defaultValue false
81
+ */
82
+ disabled = input(false, { transform: booleanAttribute });
83
+ expandElement = viewChild('expandElement', { read: ElementRef });
84
+ menuBarElement = viewChild(CdkMenuBar, {
85
+ read: ElementRef
86
+ });
87
+ mobileActions = computed(() => {
88
+ const primaryActions = this.primaryActions();
89
+ const secondaryActions = this.secondaryActions();
90
+ const preventIcons = this.preventIconsInDropdownMenus();
91
+ let actions = [];
92
+ if (primaryActions?.length && secondaryActions?.length) {
93
+ actions = [...primaryActions, { title: '-' }, ...secondaryActions];
94
+ }
95
+ else if (primaryActions?.length) {
96
+ actions = primaryActions;
97
+ }
98
+ else if (secondaryActions?.length) {
99
+ actions = secondaryActions;
100
+ }
101
+ if (preventIcons) {
102
+ actions = actions.map(action => ({
103
+ ...action,
104
+ icon: undefined
105
+ }));
106
+ }
107
+ return actions;
108
+ });
109
+ secondaryActionsInternal = computed(() => {
110
+ let secondaryActions = this.secondaryActions();
111
+ if (this.preventIconsInDropdownMenus()) {
112
+ secondaryActions = secondaryActions?.map(action => ({
113
+ ...action,
114
+ icon: undefined
115
+ }));
116
+ }
117
+ return secondaryActions;
118
+ });
119
+ icons = addIcons({ elementCancel, elementOptionsVertical });
120
+ expanded = true;
121
+ parentElement;
122
+ elementRef = inject(ElementRef);
123
+ menuActionService = inject(SiMenuActionService, { optional: true });
124
+ ngOnChanges(changes) {
125
+ if (changes.viewType) {
126
+ this.expanded = this.viewType() === 'expanded';
127
+ }
128
+ }
129
+ ngAfterViewInit() {
130
+ setTimeout(() => {
131
+ if (this.parentElement !== this.elementRef.nativeElement.parentElement) {
132
+ this.parentElement = this.elementRef.nativeElement.parentElement;
133
+ }
134
+ });
135
+ }
136
+ expand() {
137
+ this.expanded = true;
138
+ setTimeout(() => this.menuBarElement()?.nativeElement.focus());
139
+ }
140
+ collapse() {
141
+ this.expanded = false;
142
+ setTimeout(() => this.expandElement()?.nativeElement.focus());
143
+ }
144
+ isNewItemStyle(item) {
145
+ return 'label' in item;
146
+ }
147
+ runAction(item) {
148
+ if (typeof item.action === 'function') {
149
+ item.action(this.actionParam(), item); // typescript cannot level down the item type properly
150
+ }
151
+ if (typeof item.action === 'string') {
152
+ this.menuActionService?.actionTriggered(item, this.actionParam());
153
+ }
154
+ }
155
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiContentActionBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
156
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiContentActionBarComponent, isStandalone: true, selector: "si-content-action-bar", inputs: { primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, actionParam: { classPropertyName: "actionParam", publicName: "actionParam", isSignal: true, isRequired: false, transformFunction: null }, viewType: { classPropertyName: "viewType", publicName: "viewType", isSignal: true, isRequired: false, transformFunction: null }, toggleItemLabel: { classPropertyName: "toggleItemLabel", publicName: "toggleItemLabel", isSignal: true, isRequired: false, transformFunction: null }, preventIconsInDropdownMenus: { classPropertyName: "preventIconsInDropdownMenus", publicName: "preventIconsInDropdownMenus", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "viewType()" } }, viewQueries: [{ propertyName: "expandElement", first: true, predicate: ["expandElement"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "menuBarElement", first: true, predicate: CdkMenuBar, descendants: true, read: ElementRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (viewType() !== 'mobile' && primaryActions()?.length) {\n <div siAutoCollapsableList class=\"d-flex\" [siAutoCollapsableListContainerElement]=\"parentElement\">\n @if (viewType() === 'collapsible' && !expanded && collapsibleListItem.canBeVisible()) {\n <button\n #expandElement\n si-content-action-bar-toggle\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"expand()\"\n ></button>\n }\n <si-menu-bar\n #collapsibleListItem=\"siAutoCollapsableListItem\"\n siAutoCollapsableListItem\n [forceHide]=\"!expanded\"\n [disabled]=\"disabled()\"\n >\n <!-- ?? syntax is not working for track -->\n @for (primaryAction of primaryActions(); track primaryAction.id ? primaryAction.id : $index) {\n @if (isNewItemStyle(primaryAction)) {\n @switch (primaryAction.type) {\n @case ('action') {\n <button\n type=\"button\"\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n (triggered)=\"runAction(primaryAction)\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </button>\n }\n @case ('group') {\n <button\n type=\"button\"\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [cdkMenuTriggerFor]=\"groupSubmenu\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </button>\n <!-- Cannot use template context because of https://github.com/angular/components/issues/26256 -->\n <ng-template #groupSubmenu>\n <si-menu-factory [items]=\"primaryAction.children\" />\n </ng-template>\n }\n @case ('router-link') {\n <a\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [routerLink]=\"primaryAction.routerLink\"\n [queryParams]=\"primaryAction.extras?.queryParams\"\n [queryParamsHandling]=\"primaryAction.extras?.queryParamsHandling\"\n [fragment]=\"primaryAction.extras?.fragment\"\n [state]=\"primaryAction.extras?.state\"\n [relativeTo]=\"primaryAction.extras?.relativeTo\"\n [preserveFragment]=\"primaryAction.extras?.preserveFragment\"\n [skipLocationChange]=\"primaryAction.extras?.skipLocationChange\"\n [replaceUrl]=\"primaryAction.extras?.replaceUrl\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </a>\n }\n @case ('link') {\n <a\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [href]=\"primaryAction.href\"\n [target]=\"primaryAction.target\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </a>\n }\n }\n } @else {\n @if (primaryAction.items) {\n <a\n si-menu-item\n activeClass=\"active\"\n [attr.data-id]=\"primaryAction.id\"\n [siLink]=\"primaryAction\"\n [icon]=\"primaryAction.icon\"\n [attr.aria-label]=\"primaryAction.title | translate\"\n [badge]=\"primaryAction.badge\"\n [actionParam]=\"actionParam()\"\n [iconBadgeDot]=\"primaryAction.badgeDot\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [cdkMenuTriggerFor]=\"primaryAction.items ? mainItemSubmenu : null\"\n >\n @if (!primaryAction.iconOnly && primaryAction.title) {\n <span>{{ primaryAction.title | translate }}</span>\n }\n <!-- Cannot use template context because of https://github.com/angular/components/issues/26256 -->\n <ng-template #mainItemSubmenu>\n <si-menu-factory [items]=\"primaryAction.items\" />\n </ng-template>\n </a>\n }\n @if (!primaryAction.items) {\n <a\n si-menu-item\n activeClass=\"active\"\n [attr.data-id]=\"primaryAction.id\"\n [siLink]=\"primaryAction\"\n [icon]=\"primaryAction.icon\"\n [attr.aria-label]=\"primaryAction.title | translate\"\n [badge]=\"primaryAction.badge\"\n [actionParam]=\"actionParam()\"\n [iconBadgeDot]=\"primaryAction.badgeDot\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n >\n @if (!primaryAction.iconOnly && primaryAction.title) {\n <span>{{ primaryAction.title | translate }}</span>\n }\n </a>\n }\n }\n }\n @if (secondaryActions()?.length) {\n <button\n type=\"button\"\n si-content-action-bar-toggle\n cdkMenuItem\n [icon]=\"icons.elementOptionsVertical\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n [cdkMenuTriggerFor]=\"secondaryActionsMenu\"\n [disabled]=\"disabled()\"\n ></button>\n }\n @if (viewType() === 'collapsible') {\n <button\n type=\"button\"\n si-content-action-bar-toggle\n cdkMenuItem\n [icon]=\"icons.elementCancel\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n [disabled]=\"disabled()\"\n (cdkMenuItemTriggered)=\"collapse()\"\n >\n </button>\n }\n </si-menu-bar>\n <button\n si-content-action-bar-toggle\n siAutoCollapsableListOverflowItem\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [cdkMenuTriggerFor]=\"mobile\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n >\n </button>\n </div>\n}\n\n@if (viewType() === 'mobile' || !primaryActions()?.length) {\n <button\n si-content-action-bar-toggle\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [cdkMenuTriggerFor]=\"mobile\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n >\n </button>\n}\n\n<ng-template #secondaryActionsMenu>\n <si-menu-factory [items]=\"secondaryActionsInternal()\" [actionParam]=\"actionParam()\" />\n</ng-template>\n\n<ng-template #mobile>\n <si-menu-factory [items]=\"mobileActions()\" [actionParam]=\"actionParam()\" />\n</ng-template>\n", styles: [":host.mobile [siAutoCollapsableList]{inline-size:40px}div>[si-content-action-bar-toggle]{inline-size:40px;justify-content:center;border-radius:var(--element-button-radius)}si-menu-bar>*:first-child{border-start-start-radius:var(--element-button-radius);border-end-start-radius:var(--element-button-radius)}si-menu-bar>*:last-child{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}\n"], dependencies: [{ kind: "ngmodule", type: SiMenuModule }, { kind: "directive", type: i1.SiMenuBarDirective, selector: "si-menu-bar", inputs: ["disabled"] }, { kind: "component", type: i1.SiMenuFactoryComponent, selector: "si-menu-factory", inputs: ["items", "actionParam"] }, { kind: "component", type: i1.SiMenuItemComponent, selector: "si-menu-item, a[si-menu-item], button[si-menu-item]" }, { kind: "ngmodule", type: CdkMenuModule }, { kind: "directive", type: i2.CdkMenuItem, selector: "[cdkMenuItem]", inputs: ["cdkMenuItemDisabled", "cdkMenuitemTypeaheadLabel"], outputs: ["cdkMenuItemTriggered"], exportAs: ["cdkMenuItem"] }, { kind: "directive", type: i2.CdkMenuTrigger, selector: "[cdkMenuTriggerFor]", inputs: ["cdkMenuTriggerFor", "cdkMenuPosition", "cdkMenuTriggerData"], outputs: ["cdkMenuOpened", "cdkMenuClosed"], exportAs: ["cdkMenuTriggerFor"] }, { kind: "ngmodule", type: SiAutoCollapsableListModule }, { kind: "directive", type: i3.SiAutoCollapsableListDirective, selector: "[siAutoCollapsableList]", inputs: ["siAutoCollapsableList", "gap", "siAutoCollapsableListContainerElement"], exportAs: ["siAutoCollapsableList"] }, { kind: "directive", type: i3.SiAutoCollapsableListItemDirective, selector: "[siAutoCollapsableListItem]", inputs: ["forceHide"], exportAs: ["siAutoCollapsableListItem"] }, { kind: "directive", type: i3.SiAutoCollapsableListOverflowItemDirective, selector: "[siAutoCollapsableListOverflowItem]", exportAs: ["siAutoCollapsableListOverflowItem"] }, { kind: "ngmodule", type: SiTranslateModule }, { kind: "pipe", type: i4.SiTranslatePipe, name: "translate" }, { kind: "ngmodule", type: SiLinkModule }, { kind: "directive", type: i5.SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiContentActionBarToggleComponent, selector: "[si-content-action-bar-toggle]", inputs: ["icon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
157
+ }
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiContentActionBarComponent, decorators: [{
159
+ type: Component,
160
+ args: [{ selector: 'si-content-action-bar', imports: [
161
+ SiMenuModule,
162
+ CdkMenuModule,
163
+ SiAutoCollapsableListModule,
164
+ SiTranslateModule,
165
+ SiLinkModule,
166
+ SiContentActionBarToggleComponent,
167
+ RouterLink
168
+ ], host: {
169
+ '[class]': 'viewType()'
170
+ }, template: "@if (viewType() !== 'mobile' && primaryActions()?.length) {\n <div siAutoCollapsableList class=\"d-flex\" [siAutoCollapsableListContainerElement]=\"parentElement\">\n @if (viewType() === 'collapsible' && !expanded && collapsibleListItem.canBeVisible()) {\n <button\n #expandElement\n si-content-action-bar-toggle\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"expand()\"\n ></button>\n }\n <si-menu-bar\n #collapsibleListItem=\"siAutoCollapsableListItem\"\n siAutoCollapsableListItem\n [forceHide]=\"!expanded\"\n [disabled]=\"disabled()\"\n >\n <!-- ?? syntax is not working for track -->\n @for (primaryAction of primaryActions(); track primaryAction.id ? primaryAction.id : $index) {\n @if (isNewItemStyle(primaryAction)) {\n @switch (primaryAction.type) {\n @case ('action') {\n <button\n type=\"button\"\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n (triggered)=\"runAction(primaryAction)\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </button>\n }\n @case ('group') {\n <button\n type=\"button\"\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [cdkMenuTriggerFor]=\"groupSubmenu\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </button>\n <!-- Cannot use template context because of https://github.com/angular/components/issues/26256 -->\n <ng-template #groupSubmenu>\n <si-menu-factory [items]=\"primaryAction.children\" />\n </ng-template>\n }\n @case ('router-link') {\n <a\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [routerLink]=\"primaryAction.routerLink\"\n [queryParams]=\"primaryAction.extras?.queryParams\"\n [queryParamsHandling]=\"primaryAction.extras?.queryParamsHandling\"\n [fragment]=\"primaryAction.extras?.fragment\"\n [state]=\"primaryAction.extras?.state\"\n [relativeTo]=\"primaryAction.extras?.relativeTo\"\n [preserveFragment]=\"primaryAction.extras?.preserveFragment\"\n [skipLocationChange]=\"primaryAction.extras?.skipLocationChange\"\n [replaceUrl]=\"primaryAction.extras?.replaceUrl\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </a>\n }\n @case ('link') {\n <a\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [href]=\"primaryAction.href\"\n [target]=\"primaryAction.target\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </a>\n }\n }\n } @else {\n @if (primaryAction.items) {\n <a\n si-menu-item\n activeClass=\"active\"\n [attr.data-id]=\"primaryAction.id\"\n [siLink]=\"primaryAction\"\n [icon]=\"primaryAction.icon\"\n [attr.aria-label]=\"primaryAction.title | translate\"\n [badge]=\"primaryAction.badge\"\n [actionParam]=\"actionParam()\"\n [iconBadgeDot]=\"primaryAction.badgeDot\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [cdkMenuTriggerFor]=\"primaryAction.items ? mainItemSubmenu : null\"\n >\n @if (!primaryAction.iconOnly && primaryAction.title) {\n <span>{{ primaryAction.title | translate }}</span>\n }\n <!-- Cannot use template context because of https://github.com/angular/components/issues/26256 -->\n <ng-template #mainItemSubmenu>\n <si-menu-factory [items]=\"primaryAction.items\" />\n </ng-template>\n </a>\n }\n @if (!primaryAction.items) {\n <a\n si-menu-item\n activeClass=\"active\"\n [attr.data-id]=\"primaryAction.id\"\n [siLink]=\"primaryAction\"\n [icon]=\"primaryAction.icon\"\n [attr.aria-label]=\"primaryAction.title | translate\"\n [badge]=\"primaryAction.badge\"\n [actionParam]=\"actionParam()\"\n [iconBadgeDot]=\"primaryAction.badgeDot\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n >\n @if (!primaryAction.iconOnly && primaryAction.title) {\n <span>{{ primaryAction.title | translate }}</span>\n }\n </a>\n }\n }\n }\n @if (secondaryActions()?.length) {\n <button\n type=\"button\"\n si-content-action-bar-toggle\n cdkMenuItem\n [icon]=\"icons.elementOptionsVertical\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n [cdkMenuTriggerFor]=\"secondaryActionsMenu\"\n [disabled]=\"disabled()\"\n ></button>\n }\n @if (viewType() === 'collapsible') {\n <button\n type=\"button\"\n si-content-action-bar-toggle\n cdkMenuItem\n [icon]=\"icons.elementCancel\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n [disabled]=\"disabled()\"\n (cdkMenuItemTriggered)=\"collapse()\"\n >\n </button>\n }\n </si-menu-bar>\n <button\n si-content-action-bar-toggle\n siAutoCollapsableListOverflowItem\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [cdkMenuTriggerFor]=\"mobile\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n >\n </button>\n </div>\n}\n\n@if (viewType() === 'mobile' || !primaryActions()?.length) {\n <button\n si-content-action-bar-toggle\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [cdkMenuTriggerFor]=\"mobile\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n >\n </button>\n}\n\n<ng-template #secondaryActionsMenu>\n <si-menu-factory [items]=\"secondaryActionsInternal()\" [actionParam]=\"actionParam()\" />\n</ng-template>\n\n<ng-template #mobile>\n <si-menu-factory [items]=\"mobileActions()\" [actionParam]=\"actionParam()\" />\n</ng-template>\n", styles: [":host.mobile [siAutoCollapsableList]{inline-size:40px}div>[si-content-action-bar-toggle]{inline-size:40px;justify-content:center;border-radius:var(--element-button-radius)}si-menu-bar>*:first-child{border-start-start-radius:var(--element-button-radius);border-end-start-radius:var(--element-button-radius)}si-menu-bar>*:last-child{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}\n"] }]
171
+ }] });
172
+
173
+ /**
174
+ * Copyright Siemens 2016 - 2025.
175
+ * SPDX-License-Identifier: MIT
176
+ */
177
+ class SiContentActionBarModule {
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiContentActionBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
179
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: SiContentActionBarModule, imports: [SiContentActionBarComponent], exports: [SiContentActionBarComponent] });
180
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiContentActionBarModule, imports: [SiContentActionBarComponent] });
181
+ }
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiContentActionBarModule, decorators: [{
183
+ type: NgModule,
184
+ args: [{
185
+ imports: [SiContentActionBarComponent],
186
+ exports: [SiContentActionBarComponent]
187
+ }]
188
+ }] });
189
+
190
+ /**
191
+ * Copyright Siemens 2016 - 2025.
192
+ * SPDX-License-Identifier: MIT
193
+ */
194
+
195
+ /**
196
+ * Generated bundle index. Do not edit.
197
+ */
198
+
199
+ export { SiContentActionBarComponent, SiContentActionBarModule };
200
+ //# sourceMappingURL=siemens-element-ng-content-action-bar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siemens-element-ng-content-action-bar.mjs","sources":["../../../../projects/element-ng/content-action-bar/si-content-action-bar-toggle.component.ts","../../../../projects/element-ng/content-action-bar/si-content-action-bar-toggle.component.html","../../../../projects/element-ng/content-action-bar/si-content-action-bar.component.ts","../../../../projects/element-ng/content-action-bar/si-content-action-bar.component.html","../../../../projects/element-ng/content-action-bar/si-content-action-bar.module.ts","../../../../projects/element-ng/content-action-bar/index.ts","../../../../projects/element-ng/content-action-bar/siemens-element-ng-content-action-bar.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiIconNextComponent } from '@siemens/element-ng/icon';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[si-content-action-bar-toggle]',\n imports: [SiIconNextComponent],\n templateUrl: './si-content-action-bar-toggle.component.html',\n styleUrl: '../menu/si-menu-item.component.scss',\n host: { class: 'dropdown-item flex-grow-0 focus-inside' },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiContentActionBarToggleComponent {\n readonly icon = input.required<string>();\n}\n","<si-icon-next class=\"icon\" [icon]=\"icon()\" />\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { CdkMenuBar, CdkMenuModule } from '@angular/cdk/menu';\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n OnChanges,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { SiAutoCollapsableListModule } from '@siemens/element-ng/auto-collapsable-list';\nimport { MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';\nimport { addIcons, elementCancel, elementOptionsVertical } from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport {\n MenuItemAction,\n MenuItemCheckbox,\n MenuItem,\n MenuItemRadio,\n SiMenuActionService,\n SiMenuModule\n} from '@siemens/element-ng/menu';\nimport { SiTranslateModule } from '@siemens/element-translate-ng/translate';\n\nimport { SiContentActionBarToggleComponent } from './si-content-action-bar-toggle.component';\nimport { ContentActionBarMainItem, ViewType } from './si-content-action-bar.model';\n\n@Component({\n selector: 'si-content-action-bar',\n templateUrl: './si-content-action-bar.component.html',\n styleUrl: './si-content-action-bar.component.scss',\n imports: [\n SiMenuModule,\n CdkMenuModule,\n SiAutoCollapsableListModule,\n SiTranslateModule,\n SiLinkModule,\n SiContentActionBarToggleComponent,\n RouterLink\n ],\n host: {\n '[class]': 'viewType()'\n }\n // OnPush cannot be enabled. This breaks cdkMenu. Try with ng17 again\n})\nexport class SiContentActionBarComponent implements OnChanges, AfterViewInit {\n /**\n * List of primary actions. Supports up to **4** actions and omits additional ones.\n */\n readonly primaryActions = input<readonly (MenuItemLegacy | ContentActionBarMainItem)[]>();\n /**\n * List of secondary actions.\n */\n readonly secondaryActions = input<readonly (MenuItemLegacy | MenuItem)[]>();\n /**\n * A param that will be passed to the `action` in the primary/secondary actions.\n * This allows to re-use the same primary/secondary action arrays across rows\n * in a table.\n */\n readonly actionParam = input<any>();\n /**\n * Selection of view type as 'collapsible', 'expanded' or 'mobile'.\n *\n * @defaultValue 'expanded'\n */\n readonly viewType = input<ViewType>('expanded');\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_CONTENT_ACTION_BAR.TOGGLE:Toggle`\n * ```\n */\n readonly toggleItemLabel = input($localize`:@@SI_CONTENT_ACTION_BAR.TOGGLE:Toggle`);\n /**\n * Option to remove all icons from dropdown menus of the content action bar.\n *\n * Some apps provide only few actions with icons, located in the set of primary actions.\n * The icons are visible in the `collapsible` and `expanded` view type. On reduced space,\n * primary actions are relocated in the same dropdown menu as the secondary actions. The\n * dropdown menu can look unbalanced, if a large number of secondary actions without\n * icons are presented with few actions with icons. This option balances the look and feel\n * by removing all icons from actions in the dropdown menu.\n *\n * @defaultValue false\n */\n readonly preventIconsInDropdownMenus = input(false, { transform: booleanAttribute });\n /**\n * Disables the whole content-action-bar.\n *\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n private readonly expandElement = viewChild<\n SiContentActionBarToggleComponent,\n ElementRef<HTMLElement>\n >('expandElement', { read: ElementRef });\n private readonly menuBarElement = viewChild<CdkMenuBar, ElementRef<HTMLDivElement>>(CdkMenuBar, {\n read: ElementRef\n });\n\n protected readonly mobileActions = computed(() => {\n const primaryActions = this.primaryActions();\n const secondaryActions = this.secondaryActions();\n const preventIcons = this.preventIconsInDropdownMenus();\n let actions: readonly (MenuItemLegacy | MenuItem)[] = [];\n if (primaryActions?.length && secondaryActions?.length) {\n actions = [...primaryActions, { title: '-' }, ...secondaryActions];\n } else if (primaryActions?.length) {\n actions = primaryActions;\n } else if (secondaryActions?.length) {\n actions = secondaryActions;\n }\n if (preventIcons) {\n actions = actions.map(action => ({\n ...action,\n icon: undefined\n }));\n }\n return actions;\n });\n protected readonly secondaryActionsInternal = computed(() => {\n let secondaryActions = this.secondaryActions();\n if (this.preventIconsInDropdownMenus()) {\n secondaryActions = secondaryActions?.map(action => ({\n ...action,\n icon: undefined\n }));\n }\n return secondaryActions;\n });\n protected readonly icons = addIcons({ elementCancel, elementOptionsVertical });\n protected expanded = true;\n protected parentElement?: HTMLElement | null;\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private menuActionService = inject(SiMenuActionService, { optional: true });\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.viewType) {\n this.expanded = this.viewType() === 'expanded';\n }\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n if (this.parentElement !== this.elementRef.nativeElement.parentElement) {\n this.parentElement = this.elementRef.nativeElement.parentElement;\n }\n });\n }\n\n protected expand(): void {\n this.expanded = true;\n setTimeout(() => this.menuBarElement()?.nativeElement.focus());\n }\n\n protected collapse(): void {\n this.expanded = false;\n setTimeout(() => this.expandElement()?.nativeElement.focus());\n }\n\n protected isNewItemStyle(\n item: MenuItemLegacy | ContentActionBarMainItem\n ): item is ContentActionBarMainItem {\n return 'label' in item;\n }\n\n protected runAction(item: MenuItemAction | MenuItemRadio | MenuItemCheckbox): void {\n if (typeof item.action === 'function') {\n item.action(this.actionParam(), item as any); // typescript cannot level down the item type properly\n }\n\n if (typeof item.action === 'string') {\n this.menuActionService?.actionTriggered(item, this.actionParam());\n }\n }\n}\n","@if (viewType() !== 'mobile' && primaryActions()?.length) {\n <div siAutoCollapsableList class=\"d-flex\" [siAutoCollapsableListContainerElement]=\"parentElement\">\n @if (viewType() === 'collapsible' && !expanded && collapsibleListItem.canBeVisible()) {\n <button\n #expandElement\n si-content-action-bar-toggle\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"expand()\"\n ></button>\n }\n <si-menu-bar\n #collapsibleListItem=\"siAutoCollapsableListItem\"\n siAutoCollapsableListItem\n [forceHide]=\"!expanded\"\n [disabled]=\"disabled()\"\n >\n <!-- ?? syntax is not working for track -->\n @for (primaryAction of primaryActions(); track primaryAction.id ? primaryAction.id : $index) {\n @if (isNewItemStyle(primaryAction)) {\n @switch (primaryAction.type) {\n @case ('action') {\n <button\n type=\"button\"\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n (triggered)=\"runAction(primaryAction)\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </button>\n }\n @case ('group') {\n <button\n type=\"button\"\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [cdkMenuTriggerFor]=\"groupSubmenu\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </button>\n <!-- Cannot use template context because of https://github.com/angular/components/issues/26256 -->\n <ng-template #groupSubmenu>\n <si-menu-factory [items]=\"primaryAction.children\" />\n </ng-template>\n }\n @case ('router-link') {\n <a\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [routerLink]=\"primaryAction.routerLink\"\n [queryParams]=\"primaryAction.extras?.queryParams\"\n [queryParamsHandling]=\"primaryAction.extras?.queryParamsHandling\"\n [fragment]=\"primaryAction.extras?.fragment\"\n [state]=\"primaryAction.extras?.state\"\n [relativeTo]=\"primaryAction.extras?.relativeTo\"\n [preserveFragment]=\"primaryAction.extras?.preserveFragment\"\n [skipLocationChange]=\"primaryAction.extras?.skipLocationChange\"\n [replaceUrl]=\"primaryAction.extras?.replaceUrl\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </a>\n }\n @case ('link') {\n <a\n si-menu-item\n [attr.data-id]=\"primaryAction.id\"\n [attr.title]=\"\n primaryAction.iconOnly ? (primaryAction.label | translate) : undefined\n \"\n [badge]=\"primaryAction.badge\"\n [badgeColor]=\"primaryAction.badgeColor ?? 'secondary'\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [icon]=\"primaryAction.icon\"\n [iconBadgeDot]=\"primaryAction.iconBadge\"\n [href]=\"primaryAction.href\"\n [target]=\"primaryAction.target\"\n >\n @if (!primaryAction.iconOnly) {\n {{ primaryAction.label | translate }}\n }\n </a>\n }\n }\n } @else {\n @if (primaryAction.items) {\n <a\n si-menu-item\n activeClass=\"active\"\n [attr.data-id]=\"primaryAction.id\"\n [siLink]=\"primaryAction\"\n [icon]=\"primaryAction.icon\"\n [attr.aria-label]=\"primaryAction.title | translate\"\n [badge]=\"primaryAction.badge\"\n [actionParam]=\"actionParam()\"\n [iconBadgeDot]=\"primaryAction.badgeDot\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n [cdkMenuTriggerFor]=\"primaryAction.items ? mainItemSubmenu : null\"\n >\n @if (!primaryAction.iconOnly && primaryAction.title) {\n <span>{{ primaryAction.title | translate }}</span>\n }\n <!-- Cannot use template context because of https://github.com/angular/components/issues/26256 -->\n <ng-template #mainItemSubmenu>\n <si-menu-factory [items]=\"primaryAction.items\" />\n </ng-template>\n </a>\n }\n @if (!primaryAction.items) {\n <a\n si-menu-item\n activeClass=\"active\"\n [attr.data-id]=\"primaryAction.id\"\n [siLink]=\"primaryAction\"\n [icon]=\"primaryAction.icon\"\n [attr.aria-label]=\"primaryAction.title | translate\"\n [badge]=\"primaryAction.badge\"\n [actionParam]=\"actionParam()\"\n [iconBadgeDot]=\"primaryAction.badgeDot\"\n [disabled]=\"primaryAction.disabled || disabled()\"\n >\n @if (!primaryAction.iconOnly && primaryAction.title) {\n <span>{{ primaryAction.title | translate }}</span>\n }\n </a>\n }\n }\n }\n @if (secondaryActions()?.length) {\n <button\n type=\"button\"\n si-content-action-bar-toggle\n cdkMenuItem\n [icon]=\"icons.elementOptionsVertical\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n [cdkMenuTriggerFor]=\"secondaryActionsMenu\"\n [disabled]=\"disabled()\"\n ></button>\n }\n @if (viewType() === 'collapsible') {\n <button\n type=\"button\"\n si-content-action-bar-toggle\n cdkMenuItem\n [icon]=\"icons.elementCancel\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n [disabled]=\"disabled()\"\n (cdkMenuItemTriggered)=\"collapse()\"\n >\n </button>\n }\n </si-menu-bar>\n <button\n si-content-action-bar-toggle\n siAutoCollapsableListOverflowItem\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [cdkMenuTriggerFor]=\"mobile\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n >\n </button>\n </div>\n}\n\n@if (viewType() === 'mobile' || !primaryActions()?.length) {\n <button\n si-content-action-bar-toggle\n type=\"button\"\n [icon]=\"icons.elementOptionsVertical\"\n [cdkMenuTriggerFor]=\"mobile\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n >\n </button>\n}\n\n<ng-template #secondaryActionsMenu>\n <si-menu-factory [items]=\"secondaryActionsInternal()\" [actionParam]=\"actionParam()\" />\n</ng-template>\n\n<ng-template #mobile>\n <si-menu-factory [items]=\"mobileActions()\" [actionParam]=\"actionParam()\" />\n</ng-template>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiContentActionBarComponent } from './si-content-action-bar.component';\n\n@NgModule({\n imports: [SiContentActionBarComponent],\n exports: [SiContentActionBarComponent]\n})\nexport class SiContentActionBarModule {}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-content-action-bar.component';\nexport * from './si-content-action-bar.module';\nexport * from './si-content-action-bar.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}