@siemens/element-ng 47.6.0 → 47.8.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 (436) hide show
  1. package/README.md +5 -2
  2. package/about/index.d.ts +7 -0
  3. package/about/package.json +3 -0
  4. package/about/si-about-data.model.d.ts +49 -0
  5. package/about/si-about.component.d.ts +71 -0
  6. package/about/si-about.module.d.ts +7 -0
  7. package/accordion/index.d.ts +1 -1
  8. package/accordion/si-accordion.component.d.ts +1 -1
  9. package/accordion/si-collapsible-panel.component.d.ts +1 -1
  10. package/action-modal/index.d.ts +1 -1
  11. package/action-modal/si-action-dialog.types.d.ts +1 -1
  12. package/application-header/index.d.ts +1 -1
  13. package/application-header/launchpad/si-launchpad.model.d.ts +1 -1
  14. package/application-header/si-header-action-item-icon-base.directive.d.ts +1 -1
  15. package/application-header/si-header-action-item.base.d.ts +1 -1
  16. package/application-header/si-header-logo.directive.d.ts +1 -1
  17. package/assets/images/landing-page-steel.webp +0 -0
  18. package/auto-collapsable-list/index.d.ts +1 -1
  19. package/auto-collapsable-list/si-auto-collapsable-list-item.directive.d.ts +1 -1
  20. package/auto-collapsable-list/si-auto-collapsable-list-measurable.class.d.ts +1 -1
  21. package/auto-collapsable-list/si-auto-collapsable-list.directive.d.ts +1 -1
  22. package/autocomplete/index.d.ts +1 -1
  23. package/autocomplete/si-autocomplete-option.directive.d.ts +1 -1
  24. package/autocomplete/si-autocomplete.model.d.ts +1 -1
  25. package/avatar/index.d.ts +1 -1
  26. package/avatar/si-avatar-background-color.directive.d.ts +1 -1
  27. package/badge/index.d.ts +1 -1
  28. package/breadcrumb/breadcrumb-item.model.d.ts +1 -1
  29. package/breadcrumb/index.d.ts +1 -1
  30. package/breadcrumb-router/index.d.ts +1 -1
  31. package/breadcrumb-router/si-breadcrumb-router.component.d.ts +1 -1
  32. package/breadcrumb-router/si-breadcrumb-router.model.d.ts +1 -1
  33. package/card/index.d.ts +1 -1
  34. package/circle-status/index.d.ts +1 -1
  35. package/color-picker/index.d.ts +1 -1
  36. package/column-selection-dialog/index.d.ts +1 -1
  37. package/column-selection-dialog/si-column-selection-dialog.types.d.ts +1 -1
  38. package/common/decorators/index.d.ts +1 -1
  39. package/common/decorators/webcomponent.decorator.d.ts +1 -1
  40. package/common/helpers/animation.helpers.d.ts +1 -1
  41. package/common/helpers/global-events.helpers.d.ts +1 -1
  42. package/common/helpers/index.d.ts +1 -1
  43. package/common/helpers/overlay-helper.d.ts +1 -1
  44. package/common/helpers/rtl.d.ts +1 -1
  45. package/common/helpers/track-by.helper.d.ts +1 -1
  46. package/common/index.d.ts +1 -1
  47. package/common/models/color-variant.model.d.ts +1 -1
  48. package/common/models/index.d.ts +1 -1
  49. package/common/models/menu.model.d.ts +1 -1
  50. package/common/models/positions.model.d.ts +1 -1
  51. package/common/models/status-type.model.d.ts +1 -1
  52. package/common/services/index.d.ts +1 -1
  53. package/connection-strength/index.d.ts +1 -1
  54. package/content-action-bar/index.d.ts +1 -1
  55. package/content-action-bar/si-content-action-bar.component.d.ts +1 -1
  56. package/content-action-bar/si-content-action-bar.model.d.ts +3 -3
  57. package/copyright-notice/index.d.ts +1 -1
  58. package/copyright-notice/si-copyright-notice.d.ts +1 -1
  59. package/dashboard/index.d.ts +17 -0
  60. package/dashboard/package.json +3 -0
  61. package/dashboard/si-dashboard-card.component.d.ts +82 -0
  62. package/dashboard/si-dashboard.component.d.ts +75 -0
  63. package/dashboard/si-dashboard.module.d.ts +8 -0
  64. package/dashboard/si-dashboard.service.d.ts +21 -0
  65. package/dashboard/widgets/si-link-widget.component.d.ts +25 -0
  66. package/dashboard/widgets/si-list-widget/si-list-widget-body.component.d.ts +98 -0
  67. package/dashboard/widgets/si-list-widget/si-list-widget-item.component.d.ts +39 -0
  68. package/dashboard/widgets/si-list-widget/si-list-widget.component.d.ts +115 -0
  69. package/dashboard/widgets/si-timeline-widget/si-timeline-widget-body.component.d.ts +21 -0
  70. package/dashboard/widgets/si-timeline-widget/si-timeline-widget-item.component.d.ts +103 -0
  71. package/dashboard/widgets/si-timeline-widget/si-timeline-widget.component.d.ts +52 -0
  72. package/dashboard/widgets/si-value-widget-body.component.d.ts +33 -0
  73. package/dashboard/widgets/si-value-widget.component.d.ts +115 -0
  74. package/dashboard/widgets/si-widget-base.component.d.ts +48 -0
  75. package/datatable/index.d.ts +1 -1
  76. package/datatable/si-datatable-interaction.directive.d.ts +1 -1
  77. package/date-range-filter/index.d.ts +1 -1
  78. package/date-range-filter/si-date-range-filter.types.d.ts +1 -1
  79. package/date-range-filter/si-relative-date.component.d.ts +1 -1
  80. package/datepicker/components/si-calendar-date-cell.directive.d.ts +1 -1
  81. package/datepicker/components/si-initial-focus.component.d.ts +1 -1
  82. package/datepicker/index.d.ts +1 -1
  83. package/datepicker/si-datepicker.directive.d.ts +1 -1
  84. package/datepicker/si-datepicker.model.d.ts +1 -1
  85. package/datepicker/si-timepicker.component.d.ts +1 -1
  86. package/electron-titlebar/electron.helpers.d.ts +1 -1
  87. package/electron-titlebar/index.d.ts +1 -1
  88. package/empty-state/index.d.ts +1 -1
  89. package/fesm2022/siemens-element-ng-about.mjs +157 -0
  90. package/fesm2022/siemens-element-ng-about.mjs.map +1 -0
  91. package/fesm2022/siemens-element-ng-accordion.mjs +16 -17
  92. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-action-modal.mjs +15 -16
  94. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-application-header.mjs +37 -38
  96. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  97. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +11 -11
  98. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-autocomplete.mjs +12 -12
  100. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-avatar.mjs +7 -7
  102. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-badge.mjs +2 -2
  104. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +5 -5
  106. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-breadcrumb.mjs +8 -9
  108. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-card.mjs +7 -8
  110. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-circle-status.mjs +6 -7
  112. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-color-picker.mjs +5 -6
  114. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +11 -12
  116. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-common.mjs +14 -14
  118. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-connection-strength.mjs +3 -3
  120. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-content-action-bar.mjs +10 -11
  122. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-copyright-notice.mjs +4 -4
  124. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-dashboard.mjs +1170 -0
  126. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -0
  127. package/fesm2022/siemens-element-ng-datatable.mjs +2 -2
  128. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-date-range-filter.mjs +13 -15
  130. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-datepicker.mjs +60 -66
  132. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +7 -8
  134. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-empty-state.mjs +6 -7
  136. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-file-uploader.mjs +9 -10
  138. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  139. package/fesm2022/siemens-element-ng-filter-bar.mjs +11 -12
  140. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  141. package/fesm2022/siemens-element-ng-filtered-search.mjs +19 -20
  142. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  143. package/fesm2022/siemens-element-ng-footer.mjs +7 -8
  144. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  145. package/fesm2022/siemens-element-ng-form.mjs +22 -24
  146. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  147. package/fesm2022/siemens-element-ng-formly.mjs +48 -55
  148. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  149. package/fesm2022/siemens-element-ng-header-dropdown.mjs +14 -15
  150. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  151. package/fesm2022/siemens-element-ng-icon-status.mjs +3 -3
  152. package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
  153. package/fesm2022/siemens-element-ng-icon.mjs +22 -19
  154. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  155. package/fesm2022/siemens-element-ng-info-page.mjs +5 -6
  156. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  157. package/fesm2022/siemens-element-ng-inline-notification.mjs +6 -7
  158. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  159. package/fesm2022/siemens-element-ng-ip-input.mjs +8 -8
  160. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  161. package/fesm2022/siemens-element-ng-landing-page.mjs +121 -0
  162. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -0
  163. package/fesm2022/siemens-element-ng-language-switcher.mjs +9 -10
  164. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  165. package/fesm2022/siemens-element-ng-link.mjs +8 -8
  166. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  167. package/fesm2022/siemens-element-ng-list-details.mjs +24 -25
  168. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  169. package/fesm2022/siemens-element-ng-loading-spinner.mjs +13 -14
  170. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  171. package/fesm2022/siemens-element-ng-localization.mjs +6 -6
  172. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  173. package/fesm2022/siemens-element-ng-main-detail-container.mjs +6 -7
  174. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  175. package/fesm2022/siemens-element-ng-menu.mjs +26 -26
  176. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  177. package/fesm2022/siemens-element-ng-modal.mjs +4 -4
  178. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  179. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +34 -35
  180. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  181. package/fesm2022/siemens-element-ng-navbar.mjs +11 -12
  182. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  183. package/fesm2022/siemens-element-ng-number-input.mjs +7 -8
  184. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  185. package/fesm2022/siemens-element-ng-pagination.mjs +6 -7
  186. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  187. package/fesm2022/siemens-element-ng-password-strength.mjs +6 -6
  188. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  189. package/fesm2022/siemens-element-ng-password-toggle.mjs +8 -9
  190. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  191. package/fesm2022/siemens-element-ng-phone-number.mjs +17 -18
  192. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  193. package/fesm2022/siemens-element-ng-photo-upload.mjs +8 -10
  194. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  195. package/fesm2022/siemens-element-ng-pills-input.mjs +13 -14
  196. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  197. package/fesm2022/siemens-element-ng-popover-next.mjs +7 -7
  198. package/fesm2022/siemens-element-ng-popover-next.mjs.map +1 -1
  199. package/fesm2022/siemens-element-ng-popover.mjs +3 -3
  200. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  201. package/fesm2022/siemens-element-ng-progressbar.mjs +7 -8
  202. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  203. package/fesm2022/siemens-element-ng-resize-observer.mjs +7 -7
  204. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  205. package/fesm2022/siemens-element-ng-result-details-list.mjs +6 -7
  206. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  207. package/fesm2022/siemens-element-ng-search-bar.mjs +6 -6
  208. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  209. package/fesm2022/siemens-element-ng-select.mjs +46 -47
  210. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  211. package/fesm2022/siemens-element-ng-shadow-root.mjs +2 -2
  212. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  213. package/fesm2022/siemens-element-ng-side-panel.mjs +12 -13
  214. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  215. package/fesm2022/siemens-element-ng-skip-links.mjs +7 -8
  216. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  217. package/fesm2022/siemens-element-ng-slider.mjs +7 -8
  218. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  219. package/fesm2022/siemens-element-ng-sort-bar.mjs +6 -7
  220. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  221. package/fesm2022/siemens-element-ng-split.mjs +6 -7
  222. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  223. package/fesm2022/siemens-element-ng-status-bar.mjs +13 -14
  224. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  225. package/fesm2022/siemens-element-ng-status-toggle.mjs +6 -7
  226. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  227. package/fesm2022/siemens-element-ng-summary-chip.mjs +5 -6
  228. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  229. package/fesm2022/siemens-element-ng-summary-widget.mjs +5 -6
  230. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  231. package/fesm2022/siemens-element-ng-system-banner.mjs +5 -6
  232. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  233. package/fesm2022/siemens-element-ng-tabs-next.mjs +16 -17
  234. package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -1
  235. package/fesm2022/siemens-element-ng-tabs.mjs +9 -16
  236. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  237. package/fesm2022/siemens-element-ng-theme.mjs +3 -3
  238. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  239. package/fesm2022/siemens-element-ng-threshold.mjs +11 -12
  240. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  241. package/fesm2022/siemens-element-ng-toast-notification.mjs +11 -12
  242. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  243. package/fesm2022/siemens-element-ng-tooltip.mjs +9 -10
  244. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  245. package/fesm2022/siemens-element-ng-tour.mjs +7 -8
  246. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  247. package/fesm2022/siemens-element-ng-translate.mjs +1 -1
  248. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  249. package/fesm2022/siemens-element-ng-tree-view.mjs +53 -68
  250. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  251. package/fesm2022/siemens-element-ng-typeahead.mjs +15 -16
  252. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  253. package/fesm2022/siemens-element-ng-unauthorized-page.mjs +6 -7
  254. package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -1
  255. package/fesm2022/siemens-element-ng-wizard.mjs +9 -10
  256. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  257. package/fesm2022/siemens-element-ng.mjs +1 -1
  258. package/fesm2022/siemens-element-ng.mjs.map +1 -1
  259. package/file-uploader/index.d.ts +1 -1
  260. package/file-uploader/si-file-uploader.model.d.ts +1 -1
  261. package/filter-bar/filter.d.ts +1 -1
  262. package/filter-bar/index.d.ts +1 -1
  263. package/filtered-search/index.d.ts +1 -1
  264. package/filtered-search/si-filtered-search-value.component.d.ts +1 -1
  265. package/filtered-search/si-filtered-search.component.d.ts +1 -1
  266. package/filtered-search/si-filtered-search.model.d.ts +1 -1
  267. package/filtered-search/values/si-filtered-search-value.base.d.ts +1 -1
  268. package/filtered-search/values/typeahead/si-filtered-search-typeahead.component.d.ts +1 -1
  269. package/footer/index.d.ts +1 -1
  270. package/form/form-fieldset/si-form-fieldset.component.d.ts +1 -1
  271. package/form/index.d.ts +1 -1
  272. package/form/si-form-container/si-form-container.component.d.ts +24 -24
  273. package/form/si-form-item/si-form-field-native.control.d.ts +1 -1
  274. package/form/si-form-item.control.d.ts +1 -1
  275. package/form/si-form-validation-error.model.d.ts +1 -1
  276. package/form/si-form-validation-error.provider.d.ts +1 -1
  277. package/form/si-form-validation-tooltip/si-form-validation-tooltip.component.d.ts +1 -1
  278. package/form/si-form-validation-tooltip/si-form-validation-tooltip.directive.d.ts +1 -1
  279. package/form/si-form.module.d.ts +1 -1
  280. package/formly/fields/datetime/si-formly-datetime.component.d.ts +1 -1
  281. package/formly/fields/textarea/si-formly-textarea.component.d.ts +1 -1
  282. package/formly/fields/time/si-formly-time.component.d.ts +1 -1
  283. package/formly/index.d.ts +1 -1
  284. package/formly/si-formly-translate.extension.d.ts +1 -3
  285. package/formly/si-formly.component.d.ts +1 -1
  286. package/formly/structural/si-formly-accordion/si-formly-accordion.component.d.ts +1 -1
  287. package/formly/structural/si-formly-object-grid/si-formly-object-grid.component.d.ts +1 -1
  288. package/formly/structural/si-formly-object-grid/si-formly-object-grid.model.d.ts +1 -1
  289. package/formly/utils.d.ts +1 -1
  290. package/formly/wrapper/si-formly-form-field-provider.directive.d.ts +1 -1
  291. package/header-dropdown/index.d.ts +1 -1
  292. package/header-dropdown/si-header.model.d.ts +1 -1
  293. package/icon/element-icons.d.ts +5 -1
  294. package/icon/icon-status.d.ts +1 -1
  295. package/icon/index.d.ts +1 -1
  296. package/icon-status/index.d.ts +1 -1
  297. package/info-page/index.d.ts +1 -1
  298. package/inline-notification/index.d.ts +1 -1
  299. package/ip-input/address-utils.d.ts +1 -1
  300. package/ip-input/address-validators.d.ts +1 -1
  301. package/ip-input/index.d.ts +1 -1
  302. package/ip-input/si-ip-input.directive.d.ts +1 -1
  303. package/landing-page/alert-config.model.d.ts +15 -0
  304. package/landing-page/index.d.ts +7 -0
  305. package/landing-page/package.json +3 -0
  306. package/landing-page/si-landing-page.component.d.ts +74 -0
  307. package/landing-page/si-landing-page.module.d.ts +7 -0
  308. package/language-switcher/index.d.ts +1 -1
  309. package/language-switcher/iso-language-value.d.ts +1 -1
  310. package/language-switcher/si-language-switcher.component.d.ts +1 -2
  311. package/link/aria-current.model.d.ts +1 -1
  312. package/link/index.d.ts +1 -1
  313. package/link/link.model.d.ts +1 -1
  314. package/list-details/index.d.ts +1 -1
  315. package/list-details/si-details-pane-header/si-details-pane-header.component.d.ts +1 -1
  316. package/loading-spinner/index.d.ts +1 -1
  317. package/localization/index.d.ts +1 -1
  318. package/localization/si-directionality.d.ts +1 -1
  319. package/localization/si-locale-store.d.ts +1 -1
  320. package/main-detail-container/index.d.ts +1 -1
  321. package/menu/index.d.ts +1 -1
  322. package/menu/si-menu-action.service.d.ts +1 -1
  323. package/menu/si-menu-factory.component.d.ts +1 -1
  324. package/menu/si-menu-item-checkbox.component.d.ts +2 -1
  325. package/menu/si-menu-model.d.ts +1 -1
  326. package/modal/index.d.ts +1 -1
  327. package/modal/modal.helpers.d.ts +1 -1
  328. package/modal/modalref.d.ts +1 -1
  329. package/navbar/account.model.d.ts +1 -1
  330. package/navbar/index.d.ts +1 -1
  331. package/navbar/si-navbar-item/index.d.ts +1 -1
  332. package/navbar/si-navbar-primary/index.d.ts +1 -1
  333. package/navbar/si-navbar-primary/si-navbar-primary.model.d.ts +1 -1
  334. package/navbar-vertical/index.d.ts +1 -1
  335. package/navbar-vertical/si-navbar-vertical.model.d.ts +1 -1
  336. package/navbar-vertical/si-navbar-vertical.provider.d.ts +1 -1
  337. package/number-input/index.d.ts +1 -1
  338. package/number-input/si-number-input.component.d.ts +1 -1
  339. package/package.json +15 -3
  340. package/pagination/index.d.ts +1 -1
  341. package/password-strength/index.d.ts +1 -1
  342. package/password-strength/si-password-strength.component.d.ts +1 -1
  343. package/password-toggle/index.d.ts +1 -1
  344. package/phone-number/index.d.ts +1 -1
  345. package/phone-number/si-phone-number-input.models.d.ts +1 -1
  346. package/photo-upload/index.d.ts +1 -1
  347. package/pills-input/index.d.ts +1 -1
  348. package/pills-input/si-pills-input-pattern-base.d.ts +1 -1
  349. package/pills-input/si-pills-input.component.d.ts +1 -1
  350. package/popover/index.d.ts +1 -1
  351. package/popover/si-popover.component.d.ts +1 -1
  352. package/popover-next/index.d.ts +1 -1
  353. package/progressbar/index.d.ts +1 -1
  354. package/public-api.d.ts +1 -1
  355. package/resize-observer/index.d.ts +1 -1
  356. package/resize-observer/si-resize-observer.directive.d.ts +1 -1
  357. package/resize-observer/si-responsive-container.directive.d.ts +1 -1
  358. package/result-details-list/index.d.ts +1 -1
  359. package/result-details-list/si-result-details-list.datamodel.d.ts +1 -1
  360. package/search-bar/index.d.ts +1 -1
  361. package/search-bar/si-search-bar.component.d.ts +1 -1
  362. package/select/index.d.ts +1 -1
  363. package/select/options/si-select-complex-options.directive.d.ts +1 -1
  364. package/select/options/si-select-lazy-options.directive.d.ts +1 -1
  365. package/select/options/si-select-option.source.d.ts +1 -1
  366. package/select/options/si-select-options-strategy.base.d.ts +1 -1
  367. package/select/options/si-select-options-strategy.d.ts +1 -1
  368. package/select/options/si-select-simple-options.directive.d.ts +1 -1
  369. package/select/select-input/si-select-input.component.d.ts +1 -1
  370. package/select/select-list/si-select-list.base.d.ts +1 -1
  371. package/select/select-list/si-select-list.component.d.ts +1 -1
  372. package/select/select-option/si-select-option-row.component.d.ts +1 -1
  373. package/select/selection/si-select-selection-strategy.d.ts +1 -1
  374. package/select/si-select.types.d.ts +1 -1
  375. package/shadow-root/index.d.ts +1 -1
  376. package/shadow-root/si-shadow-root.directive.d.ts +1 -1
  377. package/side-panel/index.d.ts +1 -1
  378. package/side-panel/si-side-panel.service.d.ts +1 -1
  379. package/side-panel/side-panel.model.d.ts +1 -1
  380. package/skip-links/index.d.ts +1 -1
  381. package/skip-links/si-skip-link-target.directive.d.ts +1 -1
  382. package/slider/index.d.ts +1 -1
  383. package/sort-bar/index.d.ts +1 -1
  384. package/sort-bar/si-sort-bar.component.d.ts +1 -1
  385. package/split/index.d.ts +1 -1
  386. package/split/si-split.interfaces.d.ts +1 -1
  387. package/status-bar/index.d.ts +1 -1
  388. package/status-bar/si-status-bar-item/index.d.ts +1 -1
  389. package/status-bar/si-status-bar-item/si-status-bar-item.model.d.ts +1 -1
  390. package/status-toggle/index.d.ts +1 -1
  391. package/status-toggle/status-toggle.model.d.ts +1 -1
  392. package/summary-chip/index.d.ts +1 -1
  393. package/summary-widget/index.d.ts +1 -1
  394. package/system-banner/index.d.ts +1 -1
  395. package/tabs/index.d.ts +1 -1
  396. package/tabs/si-tab/index.d.ts +1 -1
  397. package/tabs/si-tab/si-tab.component.d.ts +1 -1
  398. package/tabs/si-tabset/index.d.ts +1 -1
  399. package/tabs-next/index.d.ts +1 -1
  400. package/tabs-next/si-tab-next-base.directive.d.ts +1 -1
  401. package/tabs-next/si-tabs-tokens.d.ts +1 -1
  402. package/tabs-next/si-tabset-next.component.d.ts +1 -1
  403. package/template-i18n.json +5 -0
  404. package/theme/index.d.ts +1 -1
  405. package/theme/si-theme-store.d.ts +1 -1
  406. package/theme/si-theme.model.d.ts +1 -1
  407. package/threshold/index.d.ts +1 -1
  408. package/toast-notification/index.d.ts +1 -1
  409. package/toast-notification/si-toast.model.d.ts +1 -1
  410. package/tooltip/index.d.ts +1 -1
  411. package/tooltip/si-tooltip.component.d.ts +1 -1
  412. package/tooltip/si-tooltip.directive.d.ts +1 -1
  413. package/tooltip/si-tooltip.service.d.ts +1 -1
  414. package/tour/index.d.ts +1 -1
  415. package/tour/si-tour-token.model.d.ts +1 -1
  416. package/tour/si-tour.model.d.ts +1 -1
  417. package/translate/index.d.ts +1 -1
  418. package/translate/si-translatable-keys.interface.d.ts +5 -0
  419. package/translate/si-translatable-overrides.provider.d.ts +1 -1
  420. package/tree-view/drag-drop.util.d.ts +1 -1
  421. package/tree-view/index.d.ts +1 -1
  422. package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +4 -5
  423. package/tree-view/si-tree-view-item/si-tree-view-item.directive.d.ts +1 -1
  424. package/tree-view/si-tree-view-item-context.d.ts +1 -1
  425. package/tree-view/si-tree-view-item-height.service.d.ts +1 -1
  426. package/tree-view/si-tree-view-item-template.directive.d.ts +1 -1
  427. package/tree-view/si-tree-view.component.d.ts +9 -8
  428. package/tree-view/si-tree-view.model.d.ts +1 -1
  429. package/tree-view/si-tree-view.service.d.ts +1 -1
  430. package/tree-view/si-tree-view.utils.d.ts +1 -1
  431. package/typeahead/index.d.ts +1 -1
  432. package/typeahead/si-typeahead.directive.d.ts +1 -1
  433. package/typeahead/si-typeahead.model.d.ts +1 -1
  434. package/typeahead/si-typeahead.sorting.d.ts +1 -1
  435. package/unauthorized-page/index.d.ts +1 -1
  436. package/wizard/index.d.ts +1 -1
@@ -13,8 +13,7 @@ import { SiContentActionBarComponent } from '@siemens/element-ng/content-action-
13
13
  import { addIcons, elementDoubleRight, elementDoubleLeft, SiIconNextComponent } from '@siemens/element-ng/icon';
14
14
  import { SiLinkDirective } from '@siemens/element-ng/link';
15
15
  import { SiSearchBarComponent } from '@siemens/element-ng/search-bar';
16
- import * as i1$1 from '@siemens/element-translate-ng/translate';
17
- import { SiTranslateModule } from '@siemens/element-translate-ng/translate';
16
+ import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
18
17
 
19
18
  class SiSidePanelService {
20
19
  contentSubject = new BehaviorSubject(undefined);
@@ -99,7 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
99
98
  }] });
100
99
 
101
100
  /**
102
- * Copyright Siemens 2016 - 2025.
101
+ * Copyright (c) Siemens 2016 - 2025
103
102
  * SPDX-License-Identifier: MIT
104
103
  */
105
104
  class SiSidePanelComponent {
@@ -350,7 +349,7 @@ class SiSidePanelComponent {
350
349
  }
351
350
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiSidePanelComponent, decorators: [{
352
351
  type: Component,
353
- args: [{ selector: 'si-side-panel', host: {
352
+ args: [{ selector: 'si-side-panel', imports: [PortalModule], host: {
354
353
  class: 'si-layout-inner',
355
354
  '[class.enable-mobile]': 'enableMobile()',
356
355
  '[class.rpanel-size--regular]': 'this.size() === "regular"',
@@ -367,11 +366,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
367
366
  '[class.rpanel-resize-md]': 'isMd()',
368
367
  '[class.rpanel-resize-lg]': 'isLg()',
369
368
  '[class.rpanel-resize-xl]': 'isXl()'
370
- }, imports: [PortalModule], template: "<div #sidePanel class=\"side-panel focus-none\" tabindex=\"-1\">\n <div class=\"inner\" [class.d-none]=\"showTempContent()\">\n <ng-content select=\"si-side-panel-content, element-side-panel-content\" />\n <ng-container #portalOutlet cdkPortalOutlet />\n </div>\n <div class=\"inner\" [class.d-none]=\"!showTempContent()\">\n <ng-container #tmpPortalOutlet cdkPortalOutlet />\n </div>\n</div>\n<div #content class=\"main-content si-layout-inner\">\n <ng-content />\n</div>\n", styles: [":host{--rpanel-collapsed-padding: 0;--rpanel-size: 390px;display:block;padding-inline-end:var(--rpanel-size)}:host.ready{transition:padding-inline-end calc(.5s * var(--element-animations-enabled, 1))}:host.ready .side-panel{transition:inline-size calc(.5s * var(--element-animations-enabled, 1))}:host .side-panel,:host .side-panel>.inner{inline-size:var(--rpanel-size)}:host.collapsible,:host.collapsible-temp{--rpanel-collapsed-width: 48px}:host.rpanel-size--wide{--rpanel-size: 500px}:host.rpanel-resize-sm.rpanel-mode--over,:host.rpanel-resize-md.rpanel-mode--over,:host.rpanel-resize-lg.rpanel-mode--over,:host.rpanel-resize-xl.rpanel-mode--over{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-md.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-lg.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-xl.rpanel-mode--over:not(.rpanel-collapsed) .side-panel{box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2)}:host.rpanel-resize-lg.rpanel-mode--scroll.rpanel-size--wide{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--scroll,:host.rpanel-resize-md.rpanel-mode--scroll{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--scroll:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-md.rpanel-mode--scroll:not(.rpanel-collapsed) .side-panel{box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2)}:host.rpanel-resize-xs.rpanel-mode--over,:host.rpanel-resize-xs.rpanel-mode--scroll{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-xs .side-panel{z-index:1031}:host.rpanel-resize-xs:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-xs:not(.rpanel-collapsed) .side-panel>.inner{inline-size:100%}:host.rpanel-hidden:not(.collapsible) .side-panel{display:none}:host.rpanel-collapsed{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-collapsed:not(.collapsible) .side-panel{inline-size:0;overflow:hidden}:host.rpanel-collapsed.collapsible .side-panel{inline-size:var(--rpanel-collapsed-width);overflow:hidden}.side-panel{position:fixed;z-index:1029;inset-block-start:calc(48px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-end:0;overflow-x:hidden;background:var(--element-base-1)}.side-panel>.inner{display:flex;flex-direction:column;position:absolute;inset-block:0;inset-inline-start:0}@media (max-width: 575.98px){:host.enable-mobile{padding-inline-end:0!important;--si-layout-header-first-element-offset-end: 40px}:host.enable-mobile.rpanel-collapsed .side-panel{inline-size:0!important}}\n"] }]
369
+ }, template: "<div #sidePanel class=\"side-panel focus-none\" tabindex=\"-1\">\n <div class=\"inner\" [class.d-none]=\"showTempContent()\">\n <ng-content select=\"si-side-panel-content, element-side-panel-content\" />\n <ng-container #portalOutlet cdkPortalOutlet />\n </div>\n <div class=\"inner\" [class.d-none]=\"!showTempContent()\">\n <ng-container #tmpPortalOutlet cdkPortalOutlet />\n </div>\n</div>\n<div #content class=\"main-content si-layout-inner\">\n <ng-content />\n</div>\n", styles: [":host{--rpanel-collapsed-padding: 0;--rpanel-size: 390px;display:block;padding-inline-end:var(--rpanel-size)}:host.ready{transition:padding-inline-end calc(.5s * var(--element-animations-enabled, 1))}:host.ready .side-panel{transition:inline-size calc(.5s * var(--element-animations-enabled, 1))}:host .side-panel,:host .side-panel>.inner{inline-size:var(--rpanel-size)}:host.collapsible,:host.collapsible-temp{--rpanel-collapsed-width: 48px}:host.rpanel-size--wide{--rpanel-size: 500px}:host.rpanel-resize-sm.rpanel-mode--over,:host.rpanel-resize-md.rpanel-mode--over,:host.rpanel-resize-lg.rpanel-mode--over,:host.rpanel-resize-xl.rpanel-mode--over{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-md.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-lg.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-xl.rpanel-mode--over:not(.rpanel-collapsed) .side-panel{box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2)}:host.rpanel-resize-lg.rpanel-mode--scroll.rpanel-size--wide{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--scroll,:host.rpanel-resize-md.rpanel-mode--scroll{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--scroll:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-md.rpanel-mode--scroll:not(.rpanel-collapsed) .side-panel{box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2)}:host.rpanel-resize-xs.rpanel-mode--over,:host.rpanel-resize-xs.rpanel-mode--scroll{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-xs .side-panel{z-index:1031}:host.rpanel-resize-xs:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-xs:not(.rpanel-collapsed) .side-panel>.inner{inline-size:100%}:host.rpanel-hidden:not(.collapsible) .side-panel{display:none}:host.rpanel-collapsed{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-collapsed:not(.collapsible) .side-panel{inline-size:0;overflow:hidden}:host.rpanel-collapsed.collapsible .side-panel{inline-size:var(--rpanel-collapsed-width);overflow:hidden}.side-panel{position:fixed;z-index:1029;inset-block-start:calc(48px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-end:0;overflow-x:hidden;background:var(--element-base-1)}.side-panel>.inner{display:flex;flex-direction:column;position:absolute;inset-block:0;inset-inline-start:0}@media (max-width: 575.98px){:host.enable-mobile{padding-inline-end:0!important;--si-layout-header-first-element-offset-end: 40px}:host.enable-mobile.rpanel-collapsed .side-panel{inline-size:0!important}}\n"] }]
371
370
  }], ctorParameters: () => [] });
372
371
 
373
372
  /**
374
- * Copyright Siemens 2016 - 2025.
373
+ * Copyright (c) Siemens 2016 - 2025
375
374
  * SPDX-License-Identifier: MIT
376
375
  */
377
376
  class SiSidePanelContentComponent {
@@ -502,17 +501,17 @@ class SiSidePanelContentComponent {
502
501
  }
503
502
  }
504
503
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiSidePanelContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
505
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiSidePanelContentComponent, isStandalone: true, selector: "si-side-panel-content", inputs: { collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, statusActions: { classPropertyName: "statusActions", publicName: "statusActions", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, toggleItemLabel: { classPropertyName: "toggleItemLabel", publicName: "toggleItemLabel", isSignal: true, isRequired: false, transformFunction: null }, showMobileDrawerBadge: { classPropertyName: "showMobileDrawerBadge", publicName: "showMobileDrawerBadge", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchEvent: "searchEvent" }, host: { properties: { "class.collapsed": "isCollapsed()", "class.expanded": "isExpanded()", "class.enable-mobile": "enableMobile()" } }, providers: [SiAccordionHCollapseService], ngImport: i0, template: "<div class=\"rpanel-header pt-5\">\n <p class=\"si-title-2 my-0 ms-6 auto-hide text-truncate\">{{ heading() | translate }}</p>\n @if ((primaryActions().length || secondaryActions().length) && focusable()) {\n <si-content-action-bar\n class=\"auto-hide ms-auto\"\n viewType=\"expanded\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [toggleItemLabel]=\"toggleItemLabel()\"\n />\n }\n <button\n type=\"button\"\n class=\"close-button btn btn-circle btn-sm btn-ghost element-cancel me-4\"\n [attr.aria-label]=\"closeButtonLabel() | translate\"\n [tabindex]=\"focusable() ? '0' : '-1'\"\n (click)=\"toggleSidePanel($event)\"\n ></button>\n <div class=\"collapse-toggle\">\n <button\n type=\"button\"\n class=\"side-panel-collapse-toggle btn btn-circle btn-sm btn-ghost mx-4\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"toggleSidePanel($event)\"\n >\n <si-icon-next\n class=\"flip-rtl\"\n [class.badge-dot]=\"showMobileDrawerBadge()\"\n [icon]=\"isCollapsed() ? icons.elementDoubleLeft : icons.elementDoubleRight\"\n />\n </button>\n </div>\n</div>\n<div class=\"rpanel-wrapper d-flex flex-column\">\n @if (statusActions().length && focusable()) {\n <div class=\"rpanel-header rpanel-statusactions px-6\">\n @for (dp of statusActions(); track $index) {\n @if (!dp.disabled) {\n <a\n class=\"rpanel-statusaction position-relative focus-inside\"\n [attr.aria-label]=\"!isCollapsed ? '' : (dp.title | translate)\"\n [siLink]=\"dp\"\n >\n <si-icon-next class=\"icon\" [icon]=\"dp.icon!\" />\n @if (dp.overlayIcon) {\n <si-icon-next class=\"icon position-absolute\" [icon]=\"dp.overlayIcon\" />\n }\n <span class=\"ms-2 auto-hide\">{{ dp.title | translate }}</span>\n </a>\n }\n @if (dp.disabled) {\n <div class=\"rpanel-statusaction dot-outer\" aria-hidden=\"true\">\n <div class=\"dot text-muted text-center\">&bull;</div>\n </div>\n }\n }\n </div>\n }\n @if (searchable() && focusable()) {\n <div class=\"nav-search px-6 auto-hide\">\n <si-search-bar\n #searchBar\n class=\"m-0\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"400\"\n [showIcon]=\"true\"\n (searchChange)=\"searchEvent.emit($event)\"\n />\n </div>\n }\n @if (focusable()) {\n <div class=\"rpanel-content\">\n <ng-content />\n </div>\n }\n</div>\n", styles: [":host{--si-accordion-radius: 0;display:flex;flex-direction:column;flex:1;gap:12px}:host-context(.collapsible) .close-button{display:none}:host-context(.collapsible) .collapse-toggle{display:block}:host-context(.collapsible) .rpanel-wrapper{gap:12px}:host-context(.collapsible) :host.collapsed{gap:0}:host-context(.collapsible) :host.collapsed .auto-hide{display:none}:host-context(.collapsible) :host.collapsed .rpanel-wrapper{gap:0;inline-size:var(--rpanel-collapsed-width)}:host-context(.collapsible) :host.collapsed .rpanel-content{flex:0 0 auto;margin-block-start:8px}:host-context(.collapsible) :host.collapsed .rpanel-statusactions{order:3;flex-direction:column;align-items:flex-start;padding:0!important}:host-context(.collapsible) :host.collapsed .rpanel-statusaction{padding-block:8px;padding-inline:12px}:host-context(.collapsible) :host.collapsed .rpanel-statusaction:not(.dot-outer):hover{background:var(--element-base-1-hover)}.collapse-toggle{display:none}.collapse-toggle i{vertical-align:bottom}.rpanel-header,.rpanel-statusaction{display:flex;align-items:center}.rpanel-header{justify-content:space-between}.rpanel-wrapper,.rpanel-content{min-block-size:0;flex:1 0 0;overflow-x:hidden;overflow-y:auto}.rpanel-statusaction{text-decoration:none}.rpanel-statusaction .dot{inline-size:24px;line-height:24px}.rpanel-statusaction span{font-size:12px;white-space:pre-wrap;color:var(--element-text-primary)}.rpanel-statusaction:hover span{color:var(--element-text-active)}@media (max-width: 575.98px){:host.enable-mobile:not(.collapsed):not(.expanded) si-content-action-bar{margin-inline-end:48px}:host.enable-mobile:not(.expanded) .collapse-toggle{position:fixed;border:0;text-align:end;padding-block:4px!important;margin-block-start:8px!important;inset-inline-end:0;inset-block-start:calc(48px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));border-start-start-radius:var(--element-radius-2);border-end-start-radius:var(--element-radius-2);border-start-end-radius:0!important;border-end-end-radius:0!important;background:var(--element-base-1);box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2);z-index:2}}\n"], dependencies: [{ kind: "component", type: SiContentActionBarComponent, selector: "si-content-action-bar", inputs: ["primaryActions", "secondaryActions", "actionParam", "viewType", "toggleItemLabel", "preventIconsInDropdownMenus", "disabled"] }, { kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled"], outputs: ["searchChange"] }, { kind: "ngmodule", type: SiTranslateModule }, { kind: "pipe", type: i1$1.SiTranslatePipe, name: "translate" }] });
504
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiSidePanelContentComponent, isStandalone: true, selector: "si-side-panel-content", inputs: { collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, statusActions: { classPropertyName: "statusActions", publicName: "statusActions", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, toggleItemLabel: { classPropertyName: "toggleItemLabel", publicName: "toggleItemLabel", isSignal: true, isRequired: false, transformFunction: null }, showMobileDrawerBadge: { classPropertyName: "showMobileDrawerBadge", publicName: "showMobileDrawerBadge", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchEvent: "searchEvent" }, host: { properties: { "class.collapsed": "isCollapsed()", "class.expanded": "isExpanded()", "class.enable-mobile": "enableMobile()" } }, providers: [SiAccordionHCollapseService], ngImport: i0, template: "<div class=\"rpanel-header pt-5\">\n <p class=\"si-title-2 my-0 ms-6 auto-hide text-truncate\">{{ heading() | translate }}</p>\n @if ((primaryActions().length || secondaryActions().length) && focusable()) {\n <si-content-action-bar\n class=\"auto-hide ms-auto\"\n viewType=\"expanded\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [toggleItemLabel]=\"toggleItemLabel()\"\n />\n }\n <button\n type=\"button\"\n class=\"close-button btn btn-circle btn-sm btn-ghost element-cancel me-4\"\n [attr.aria-label]=\"closeButtonLabel() | translate\"\n [tabindex]=\"focusable() ? '0' : '-1'\"\n (click)=\"toggleSidePanel($event)\"\n ></button>\n <div class=\"collapse-toggle\">\n <button\n type=\"button\"\n class=\"side-panel-collapse-toggle btn btn-circle btn-sm btn-ghost mx-4\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"toggleSidePanel($event)\"\n >\n <si-icon-next\n class=\"flip-rtl\"\n [class.badge-dot]=\"showMobileDrawerBadge()\"\n [icon]=\"isCollapsed() ? icons.elementDoubleLeft : icons.elementDoubleRight\"\n />\n </button>\n </div>\n</div>\n<div class=\"rpanel-wrapper d-flex flex-column\">\n @if (statusActions().length && focusable()) {\n <div class=\"rpanel-header rpanel-statusactions px-6\">\n @for (dp of statusActions(); track $index) {\n @if (!dp.disabled) {\n <a\n class=\"rpanel-statusaction position-relative focus-inside\"\n [attr.aria-label]=\"!isCollapsed ? '' : (dp.title | translate)\"\n [siLink]=\"dp\"\n >\n <si-icon-next class=\"icon\" [icon]=\"dp.icon!\" />\n @if (dp.overlayIcon) {\n <si-icon-next class=\"icon position-absolute\" [icon]=\"dp.overlayIcon\" />\n }\n <span class=\"ms-2 auto-hide\">{{ dp.title | translate }}</span>\n </a>\n }\n @if (dp.disabled) {\n <div class=\"rpanel-statusaction dot-outer\" aria-hidden=\"true\">\n <div class=\"dot text-muted text-center\">&bull;</div>\n </div>\n }\n }\n </div>\n }\n @if (searchable() && focusable()) {\n <div class=\"nav-search px-6 auto-hide\">\n <si-search-bar\n #searchBar\n class=\"m-0\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"400\"\n [showIcon]=\"true\"\n (searchChange)=\"searchEvent.emit($event)\"\n />\n </div>\n }\n @if (focusable()) {\n <div class=\"rpanel-content\">\n <ng-content />\n </div>\n }\n</div>\n", styles: [":host{--si-accordion-radius: 0;display:flex;flex-direction:column;flex:1;gap:12px}:host-context(.collapsible) .close-button{display:none}:host-context(.collapsible) .collapse-toggle{display:block}:host-context(.collapsible) .rpanel-wrapper{gap:12px}:host-context(.collapsible) :host.collapsed{gap:0}:host-context(.collapsible) :host.collapsed .auto-hide{display:none}:host-context(.collapsible) :host.collapsed .rpanel-wrapper{gap:0;inline-size:var(--rpanel-collapsed-width)}:host-context(.collapsible) :host.collapsed .rpanel-content{flex:0 0 auto;margin-block-start:8px}:host-context(.collapsible) :host.collapsed .rpanel-statusactions{order:3;flex-direction:column;align-items:flex-start;padding:0!important}:host-context(.collapsible) :host.collapsed .rpanel-statusaction{padding-block:8px;padding-inline:12px}:host-context(.collapsible) :host.collapsed .rpanel-statusaction:not(.dot-outer):hover{background:var(--element-base-1-hover)}.collapse-toggle{display:none}.collapse-toggle i{vertical-align:bottom}.rpanel-header,.rpanel-statusaction{display:flex;align-items:center}.rpanel-header{justify-content:space-between}.rpanel-wrapper,.rpanel-content{min-block-size:0;flex:1 0 0;overflow-x:hidden;overflow-y:auto}.rpanel-statusaction{text-decoration:none}.rpanel-statusaction .dot{inline-size:24px;line-height:24px}.rpanel-statusaction span{font-size:12px;white-space:pre-wrap;color:var(--element-text-primary)}.rpanel-statusaction:hover span{color:var(--element-text-active)}@media (max-width: 575.98px){:host.enable-mobile:not(.collapsed):not(.expanded) si-content-action-bar{margin-inline-end:48px}:host.enable-mobile:not(.expanded) .collapse-toggle{position:fixed;border:0;text-align:end;padding-block:4px!important;margin-block-start:8px!important;inset-inline-end:0;inset-block-start:calc(48px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));border-start-start-radius:var(--element-radius-2);border-end-start-radius:var(--element-radius-2);border-start-end-radius:0!important;border-end-end-radius:0!important;background:var(--element-base-1);box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2);z-index:2}}\n"], dependencies: [{ kind: "component", type: SiContentActionBarComponent, selector: "si-content-action-bar", inputs: ["primaryActions", "secondaryActions", "actionParam", "viewType", "toggleItemLabel", "preventIconsInDropdownMenus", "disabled"] }, { kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled"], outputs: ["searchChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
506
505
  }
507
506
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiSidePanelContentComponent, decorators: [{
508
507
  type: Component,
509
- args: [{ selector: 'si-side-panel-content', providers: [SiAccordionHCollapseService], imports: [
508
+ args: [{ selector: 'si-side-panel-content', imports: [
510
509
  SiContentActionBarComponent,
511
510
  SiIconNextComponent,
512
511
  SiLinkDirective,
513
512
  SiSearchBarComponent,
514
- SiTranslateModule
515
- ], host: {
513
+ SiTranslatePipe
514
+ ], providers: [SiAccordionHCollapseService], host: {
516
515
  '[class.collapsed]': 'isCollapsed()',
517
516
  '[class.expanded]': 'isExpanded()',
518
517
  '[class.enable-mobile]': 'enableMobile()'
@@ -520,7 +519,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
520
519
  }], ctorParameters: () => [] });
521
520
 
522
521
  /**
523
- * Copyright Siemens 2016 - 2025.
522
+ * Copyright (c) Siemens 2016 - 2025
524
523
  * SPDX-License-Identifier: MIT
525
524
  */
526
525
  class SiSidePanelModule {
@@ -537,12 +536,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
537
536
  }] });
538
537
 
539
538
  /**
540
- * Copyright Siemens 2016 - 2025.
539
+ * Copyright (c) Siemens 2016 - 2025
541
540
  * SPDX-License-Identifier: MIT
542
541
  */
543
542
 
544
543
  /**
545
- * Copyright Siemens 2016 - 2025.
544
+ * Copyright (c) Siemens 2016 - 2025
546
545
  * SPDX-License-Identifier: MIT
547
546
  */
548
547
 
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-side-panel.mjs","sources":["../../../../projects/element-ng/side-panel/si-side-panel.service.ts","../../../../projects/element-ng/side-panel/si-side-panel.component.ts","../../../../projects/element-ng/side-panel/si-side-panel.component.html","../../../../projects/element-ng/side-panel/si-side-panel-content.component.ts","../../../../projects/element-ng/side-panel/si-side-panel-content.component.html","../../../../projects/element-ng/side-panel/si-side-panel.module.ts","../../../../projects/element-ng/side-panel/side-panel.model.ts","../../../../projects/element-ng/side-panel/index.ts","../../../../projects/element-ng/side-panel/siemens-element-ng-side-panel.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Portal } from '@angular/cdk/portal';\nimport { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject, EMPTY, Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SiSidePanelService {\n private contentSubject = new BehaviorSubject<Portal<any> | undefined>(undefined);\n /** @internal */\n readonly content$ = this.contentSubject.asObservable();\n\n private openSubject = new BehaviorSubject<boolean>(false);\n /**\n * Emits on side panel is open or close.\n *\n * @defaultValue this.openSubject.asObservable()\n */\n readonly isOpen$ = this.openSubject.asObservable();\n\n private tempContentSubject = new BehaviorSubject<Portal<any> | undefined>(undefined);\n /** @internal */\n readonly tempContent$ = this.tempContentSubject.asObservable();\n\n private tempContentClosed?: Subject<void>;\n /** @internal */\n readonly enableMobile = signal(false);\n /** Set or update displayed content. */\n setSidePanelContent(portal: Portal<any> | undefined): void {\n this.contentSubject.next(portal);\n }\n\n /** Open side panel. */\n open(): void {\n this.hideTemporaryContent();\n this.openSubject.next(true);\n }\n\n /** Close side panel. */\n close(): void {\n if (this.hideTemporaryContent()) {\n return;\n }\n this.openSubject.next(false);\n }\n\n /** Toggle side panel open/close. */\n toggle(): void {\n this.hideTemporaryContent();\n this.openSubject.next(!this.openSubject.value);\n }\n\n /** Indicate is side panel open. */\n isOpen(): boolean {\n return this.openSubject.value;\n }\n\n /**\n * Indicate that the side panel is open with temporary content.\n */\n isTemporaryOpen(): boolean {\n return !!this.tempContentSubject.value;\n }\n\n /** Show side panel temporary content, opening the side panel when necessary. */\n showTemporaryContent(portal: Portal<any> | undefined): Observable<void> {\n this.hideTemporaryContent();\n this.tempContentSubject.next(portal);\n\n if (portal) {\n this.tempContentClosed = new Subject();\n return this.tempContentClosed.asObservable();\n }\n return EMPTY;\n }\n\n /** Hide side panel temporary content, reverting to state before showing temporary content. */\n hideTemporaryContent(): boolean {\n if (!this.isTemporaryOpen()) {\n return false;\n }\n if (this.tempContentClosed) {\n const sub = this.tempContentClosed;\n this.tempContentClosed = undefined;\n sub.next();\n sub.complete();\n }\n this.tempContentSubject.next(undefined);\n return true;\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { CdkPortalOutlet, Portal, PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n model,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n PLATFORM_ID,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n BOOTSTRAP_BREAKPOINTS,\n Breakpoints,\n ElementDimensions,\n ResizeObserverService\n} from '@siemens/element-ng/resize-observer';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { SiSidePanelService } from './si-side-panel.service';\nimport { SidePanelMode, SidePanelSize } from './side-panel.model';\n\n@Component({\n selector: 'si-side-panel',\n templateUrl: './si-side-panel.component.html',\n styleUrl: './si-side-panel.component.scss',\n host: {\n class: 'si-layout-inner',\n '[class.enable-mobile]': 'enableMobile()',\n '[class.rpanel-size--regular]': 'this.size() === \"regular\"',\n '[class.rpanel-size--wide]': 'this.size() === \"wide\"',\n '[class.rpanel-mode--over]': 'this.mode() === \"over\"',\n '[class.rpanel-mode--scroll]': 'isScrollMode()',\n '[class.rpanel-collapsed]': 'isCollapsed()',\n '[class.ready]': 'ready()',\n '[class.collapsible]': 'collapsible() && !this.showTempContent()',\n '[class.collapsible-temp]': 'collapsible() && this.showTempContent()',\n '[class.rpanel-hidden]': 'isHidden()',\n '[class.rpanel-resize-xs]': 'isXs()',\n '[class.rpanel-resize-sm]': 'isSm()',\n '[class.rpanel-resize-md]': 'isMd()',\n '[class.rpanel-resize-lg]': 'isLg()',\n '[class.rpanel-resize-xl]': 'isXl()'\n },\n imports: [PortalModule]\n})\nexport class SiSidePanelComponent implements OnInit, OnDestroy, OnChanges {\n /**\n * @defaultValue false\n */\n readonly collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Default state of navigation\n */\n readonly collapsed = model<boolean>();\n\n /**\n * Mode of side panel\n * (ignored below a certain width)\n *\n * @defaultValue 'over'\n */\n readonly mode = input<SidePanelMode>('over');\n\n /**\n * Size of side-panel\n *\n * @defaultValue 'regular'\n */\n readonly size = input<SidePanelSize>('regular');\n\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`\n * ```\n */\n readonly toggleItemLabel = input($localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`);\n\n /**\n * Specifies custom breakpoints to automatically switch mode.\n * The `smMinimum` specifies the breakpoint for the mobile view.\n * The `lgMinimum` specifies the breakpoint to allow scroll mode\n * (below automatically uses over mode).\n * The `xlMinimum` specifies the breakpoint to allow scroll mode\n * with wide size (below automatically uses over mode).\n */\n readonly breakpoints = input<Breakpoints>();\n\n /**\n * Enable mobile drawer for small screen sizes. Should not be used in conjunction with the vertical navbar.\n *\n * @defaultValue false\n */\n readonly enableMobile = input(false, { transform: booleanAttribute });\n\n /**\n * Emits when the panel is closed\n */\n readonly closed = output();\n\n /**\n * Emits whenever the content is resized due to opening and closing or parent resize.\n */\n readonly contentResize = output<ElementDimensions>();\n\n protected readonly isScrollMode = computed(() => this.mode() === 'scroll');\n\n protected readonly isXs = signal(false);\n protected readonly isSm = signal(false);\n protected readonly isMd = signal(true);\n protected readonly isLg = signal(false);\n protected readonly isXl = signal(false);\n protected readonly isCollapsed = signal(false);\n protected readonly ready = signal(false);\n protected readonly isHidden = signal(false);\n protected readonly showTempContent = signal(false);\n\n private readonly panelElement = viewChild.required<ElementRef>('sidePanel');\n private readonly contentElement = viewChild.required<ElementRef>('content');\n private readonly portalOutlet = viewChild.required<CdkPortalOutlet, CdkPortalOutlet>(\n 'portalOutlet',\n {\n read: CdkPortalOutlet\n }\n );\n private readonly tmpPortalOutlet = viewChild.required<CdkPortalOutlet, CdkPortalOutlet>(\n 'tmpPortalOutlet',\n {\n read: CdkPortalOutlet\n }\n );\n\n /**\n * The $rpanel-transition-duration in the style is 0.5 seconds.\n * Sending the resize event after resize need to wait until resize is done.\n */\n private readonly resizeEventDelay = 500;\n private resizeEvent = new Subject<void>();\n private openingOrClosing = false;\n private previousContentDimensions: ElementDimensions = { width: 0, height: 0 };\n private isCollapsedInternal = false; // same as the other one, except w/o timeout for animation\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly element = inject(ElementRef);\n private readonly resizeObserver = inject(ResizeObserverService);\n private readonly service = inject(SiSidePanelService);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly document = inject(DOCUMENT);\n\n constructor() {\n if (this.isBrowser) {\n this.resizeEvent\n .asObservable()\n .pipe(takeUntilDestroyed(this.destroyRef), debounceTime(this.resizeEventDelay))\n .subscribe(() => {\n this.openingOrClosing = false;\n this.emitResizeOutputs();\n if (this.isCollapsedInternal && !this.collapsible()) {\n this.isHidden.set(true);\n }\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.collapsed) {\n if (this.collapsed()) {\n this.service.close();\n } else {\n this.service.open();\n }\n } else if (changes.enableMobile) {\n this.service.enableMobile.set(this.enableMobile());\n }\n }\n\n ngOnInit(): void {\n // handle initial state to avoid flicker\n const collapsed = this.collapsed() ?? !this.service.isOpen();\n this.isCollapsedInternal = collapsed;\n this.isHidden.set(collapsed);\n this.isCollapsed.set(collapsed);\n\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(dim => {\n this.setBreakpoints(dim.width, dim.height);\n if (!this.ready()) {\n // delay because the initial sizing needs to settle\n setTimeout(() => {\n this.ready.set(true);\n }, 100);\n }\n if (!this.openingOrClosing) {\n this.emitResizeOutputs();\n }\n });\n\n this.service.content$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(portal => this.attachContent(portal));\n\n this.service.tempContent$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(portal => this.attachTempContent(portal));\n\n this.service.isOpen$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(state => this.openClose(state));\n }\n\n ngOnDestroy(): void {\n this.portalOutlet().detach();\n }\n /**\n * Toggle whether the side panel is expanded or not.\n */\n toggleSidePanel(): void {\n if (this.collapsible()) {\n this.service.toggle();\n } else {\n this.service.close();\n }\n }\n\n private emitResizeOutputs(): void {\n const contentDimensions = this.getContentDimensions();\n if (\n contentDimensions.width !== this.previousContentDimensions.width ||\n contentDimensions.height !== this.previousContentDimensions.height\n ) {\n this.previousContentDimensions = contentDimensions;\n this.contentResize.emit(contentDimensions);\n }\n }\n\n private getContentDimensions(): ElementDimensions {\n if (!this.isCollapsedInternal && this.isXs()) {\n return { width: 0, height: 0 };\n }\n const rect = this.contentElement().nativeElement.getBoundingClientRect();\n return { width: rect.width, height: rect.height };\n }\n\n private setBreakpoints(width: number, height: number): void {\n if (!width && !height) {\n // element is not visible, no point in changing anything\n return;\n }\n const breakpoints = this.breakpoints() ?? BOOTSTRAP_BREAKPOINTS;\n\n this.isXs.set(width < breakpoints.smMinimum);\n this.isSm.set(width >= breakpoints.smMinimum && width < breakpoints.mdMinimum);\n this.isMd.set(width >= breakpoints.mdMinimum && width < breakpoints.lgMinimum);\n this.isLg.set(width >= breakpoints.lgMinimum && width < breakpoints.xlMinimum);\n this.isXl.set(width >= breakpoints.xlMinimum);\n }\n\n private sendResize(): void {\n if (this.isScrollMode() || this.element.nativeElement.style.paddingRight !== '0') {\n this.openingOrClosing = true;\n this.resizeEvent.next();\n }\n }\n\n private attachContent(portal?: Portal<any>): void {\n const portalOutlet = this.portalOutlet();\n portalOutlet.detach();\n if (portal) {\n portalOutlet.attach(portal);\n }\n this.cdRef.markForCheck();\n }\n\n private attachTempContent(portal: Portal<any> | undefined): void {\n const tmpPortalOutlet = this.tmpPortalOutlet();\n tmpPortalOutlet.detach();\n if (portal) {\n tmpPortalOutlet.attach(portal);\n this.showTempContent.set(true);\n this.openClose(true, true);\n } else if (this.showTempContent()) {\n this.showTempContent.set(false);\n this.openClose(this.service.isOpen(), true);\n }\n }\n\n private openClose(open: boolean, regainFocus = false): void {\n if (open !== this.isCollapsedInternal) {\n this.moveFocusInside(open && regainFocus);\n return;\n }\n this.isCollapsedInternal = !open;\n if (open) {\n this.isHidden.set(false);\n }\n setTimeout(() => this.doOpenClose(open));\n }\n\n private doOpenClose(open: boolean): void {\n this.moveFocusInside(open);\n this.isCollapsed.set(!open);\n this.collapsed.set(this.isCollapsed());\n if (this.isCollapsedInternal) {\n this.closed.emit();\n }\n this.sendResize();\n }\n\n private moveFocusInside(open: boolean): void {\n if (\n open &&\n !this.document.activeElement?.parentElement?.classList.contains(\n 'side-panel-collapse-toggle'\n ) &&\n !this.document.activeElement?.classList.contains('side-panel-collapse-toggle')\n ) {\n // moves the keyboard focus inside the panel so that the next tab is somewhere useful\n this.panelElement().nativeElement.focus();\n queueMicrotask(() => this.panelElement().nativeElement.blur());\n }\n }\n}\n","<div #sidePanel class=\"side-panel focus-none\" tabindex=\"-1\">\n <div class=\"inner\" [class.d-none]=\"showTempContent()\">\n <ng-content select=\"si-side-panel-content, element-side-panel-content\" />\n <ng-container #portalOutlet cdkPortalOutlet />\n </div>\n <div class=\"inner\" [class.d-none]=\"!showTempContent()\">\n <ng-container #tmpPortalOutlet cdkPortalOutlet />\n </div>\n</div>\n<div #content class=\"main-content si-layout-inner\">\n <ng-content />\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n inject,\n input,\n OnInit,\n output,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SiAccordionHCollapseService } from '@siemens/element-ng/accordion';\nimport { MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';\nimport {\n ContentActionBarMainItem,\n SiContentActionBarComponent\n} from '@siemens/element-ng/content-action-bar';\nimport {\n elementDoubleLeft,\n elementDoubleRight,\n addIcons,\n SiIconNextComponent\n} from '@siemens/element-ng/icon';\nimport { SiLinkDirective } from '@siemens/element-ng/link';\nimport { MenuItem } from '@siemens/element-ng/menu';\nimport { BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';\nimport { SiSearchBarComponent } from '@siemens/element-ng/search-bar';\nimport { SiTranslateModule, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSidePanelService } from './si-side-panel.service';\n\n/**\n * An extension of MenuItem to support combined icons\n */\nexport interface StatusItem extends MenuItemLegacy {\n overlayIcon?: string;\n}\n\n@Component({\n selector: 'si-side-panel-content',\n templateUrl: './si-side-panel-content.component.html',\n providers: [SiAccordionHCollapseService],\n styleUrl: './si-side-panel-content.component.scss',\n imports: [\n SiContentActionBarComponent,\n SiIconNextComponent,\n SiLinkDirective,\n SiSearchBarComponent,\n SiTranslateModule\n ],\n host: {\n '[class.collapsed]': 'isCollapsed()',\n '[class.expanded]': 'isExpanded()',\n '[class.enable-mobile]': 'enableMobile()'\n }\n})\nexport class SiSidePanelContentComponent implements OnInit {\n /**\n * @defaultValue false\n */\n readonly collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Header of side panel\n *\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n\n /**\n * Input list of primary action items\n *\n * @defaultValue []\n */\n readonly primaryActions = input<(MenuItemLegacy | ContentActionBarMainItem)[]>([]);\n\n /**\n * Input list of secondary action items.\n *\n * @defaultValue []\n */\n readonly secondaryActions = input<(MenuItemLegacy | MenuItem)[]>([]);\n\n /**\n * Status icons/actions\n *\n * @defaultValue []\n */\n readonly statusActions = input<StatusItem[]>([]);\n\n /**\n * Toggles search bar\n *\n * @defaultValue false\n */\n readonly searchable = input(false, { transform: booleanAttribute });\n\n /**\n * Placeholder text for search\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`\n * ```\n */\n readonly searchPlaceholder = input($localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`);\n\n /**\n * Aria label for close button. Needed for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.CLOSE:Close`\n * ```\n */\n readonly closeButtonLabel = input($localize`:@@SI_SIDE_PANEL.CLOSE:Close`);\n\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`\n * ```\n */\n readonly toggleItemLabel = input($localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`);\n\n /**\n * Show a badge on the mobile drawer indicating a new alert or notification\n *\n * @defaultValue false\n */\n readonly showMobileDrawerBadge = input(false, { transform: booleanAttribute });\n\n /**\n * Output for search bar input\n */\n readonly searchEvent = output<string>();\n\n protected readonly isCollapsed = signal(false);\n protected readonly isExpanded = signal(true);\n protected readonly enableMobile = computed(() => this.service?.enableMobile() ?? false);\n protected readonly mobileSize = signal(false);\n protected readonly focusable = computed(\n () => !this.mobileSize() || !this.enableMobile() || !this.isCollapsed()\n );\n protected readonly icons = addIcons({ elementDoubleLeft, elementDoubleRight });\n /**\n * The $rpanel-transition-duration in the style is 0.5 seconds.\n * For the animation we need to wait until the resize is done.\n */\n private readonly resizeAnimationDelay = 500;\n private readonly destroyRef = inject(DestroyRef);\n private readonly service = inject(SiSidePanelService);\n private readonly breakpointObserver = inject(BreakpointObserver);\n\n private expandedTimeout: any;\n\n constructor() {\n const accordionHcollapse = inject(SiAccordionHCollapseService);\n this.service.isOpen$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(state => {\n this.isCollapsed.set(!state);\n clearTimeout(this.expandedTimeout);\n this.expandedTimeout = undefined;\n if (!state) {\n this.isExpanded.set(false);\n } else {\n this.expandedTimeout = setTimeout(() => {\n this.isExpanded.set(true);\n }, this.resizeAnimationDelay / 2);\n }\n accordionHcollapse.hcollapsed.set(!state);\n });\n accordionHcollapse.open$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.service.open());\n }\n\n ngOnInit(): void {\n this.breakpointObserver\n .observe('(max-width: ' + BOOTSTRAP_BREAKPOINTS.smMinimum + 'px)')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(({ matches }) => {\n this.mobileSize.set(matches);\n });\n }\n\n protected toggleSidePanel(event?: MouseEvent): void {\n if (event?.detail !== 0) {\n // Blur except if triggered by keyboard\n (document?.activeElement as HTMLElement)?.blur();\n }\n if (this.service.isTemporaryOpen()) {\n this.service.hideTemporaryContent();\n } else {\n this.service.toggle();\n }\n }\n}\n","<div class=\"rpanel-header pt-5\">\n <p class=\"si-title-2 my-0 ms-6 auto-hide text-truncate\">{{ heading() | translate }}</p>\n @if ((primaryActions().length || secondaryActions().length) && focusable()) {\n <si-content-action-bar\n class=\"auto-hide ms-auto\"\n viewType=\"expanded\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [toggleItemLabel]=\"toggleItemLabel()\"\n />\n }\n <button\n type=\"button\"\n class=\"close-button btn btn-circle btn-sm btn-ghost element-cancel me-4\"\n [attr.aria-label]=\"closeButtonLabel() | translate\"\n [tabindex]=\"focusable() ? '0' : '-1'\"\n (click)=\"toggleSidePanel($event)\"\n ></button>\n <div class=\"collapse-toggle\">\n <button\n type=\"button\"\n class=\"side-panel-collapse-toggle btn btn-circle btn-sm btn-ghost mx-4\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"toggleSidePanel($event)\"\n >\n <si-icon-next\n class=\"flip-rtl\"\n [class.badge-dot]=\"showMobileDrawerBadge()\"\n [icon]=\"isCollapsed() ? icons.elementDoubleLeft : icons.elementDoubleRight\"\n />\n </button>\n </div>\n</div>\n<div class=\"rpanel-wrapper d-flex flex-column\">\n @if (statusActions().length && focusable()) {\n <div class=\"rpanel-header rpanel-statusactions px-6\">\n @for (dp of statusActions(); track $index) {\n @if (!dp.disabled) {\n <a\n class=\"rpanel-statusaction position-relative focus-inside\"\n [attr.aria-label]=\"!isCollapsed ? '' : (dp.title | translate)\"\n [siLink]=\"dp\"\n >\n <si-icon-next class=\"icon\" [icon]=\"dp.icon!\" />\n @if (dp.overlayIcon) {\n <si-icon-next class=\"icon position-absolute\" [icon]=\"dp.overlayIcon\" />\n }\n <span class=\"ms-2 auto-hide\">{{ dp.title | translate }}</span>\n </a>\n }\n @if (dp.disabled) {\n <div class=\"rpanel-statusaction dot-outer\" aria-hidden=\"true\">\n <div class=\"dot text-muted text-center\">&bull;</div>\n </div>\n }\n }\n </div>\n }\n @if (searchable() && focusable()) {\n <div class=\"nav-search px-6 auto-hide\">\n <si-search-bar\n #searchBar\n class=\"m-0\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"400\"\n [showIcon]=\"true\"\n (searchChange)=\"searchEvent.emit($event)\"\n />\n </div>\n }\n @if (focusable()) {\n <div class=\"rpanel-content\">\n <ng-content />\n </div>\n }\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSidePanelContentComponent } from './si-side-panel-content.component';\nimport { SiSidePanelComponent } from './si-side-panel.component';\n\n@NgModule({\n imports: [SiSidePanelComponent, SiSidePanelContentComponent],\n exports: [SiSidePanelComponent, SiSidePanelContentComponent]\n})\nexport class SiSidePanelModule {}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\n\n/**\n * Side panel mode options.\n * - scroll: pushes content when side panel opens/closes,\n * - over: Opens as an overlay on existing content. Just like modal.\n */\nexport type SidePanelMode = 'scroll' | 'over';\n\n/**\n * Side panel size options.\n * - wide: 500px,\n * - regular: 390px\n */\nexport type SidePanelSize = 'wide' | 'regular';\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-side-panel.service';\nexport * from './si-side-panel.component';\nexport * from './si-side-panel-content.component';\nexport * from './si-side-panel.module';\nexport * from './side-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"siemens-element-ng-side-panel.mjs","sources":["../../../../projects/element-ng/side-panel/si-side-panel.service.ts","../../../../projects/element-ng/side-panel/si-side-panel.component.ts","../../../../projects/element-ng/side-panel/si-side-panel.component.html","../../../../projects/element-ng/side-panel/si-side-panel-content.component.ts","../../../../projects/element-ng/side-panel/si-side-panel-content.component.html","../../../../projects/element-ng/side-panel/si-side-panel.module.ts","../../../../projects/element-ng/side-panel/side-panel.model.ts","../../../../projects/element-ng/side-panel/index.ts","../../../../projects/element-ng/side-panel/siemens-element-ng-side-panel.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Portal } from '@angular/cdk/portal';\nimport { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject, EMPTY, Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SiSidePanelService {\n private contentSubject = new BehaviorSubject<Portal<any> | undefined>(undefined);\n /** @internal */\n readonly content$ = this.contentSubject.asObservable();\n\n private openSubject = new BehaviorSubject<boolean>(false);\n /**\n * Emits on side panel is open or close.\n *\n * @defaultValue this.openSubject.asObservable()\n */\n readonly isOpen$ = this.openSubject.asObservable();\n\n private tempContentSubject = new BehaviorSubject<Portal<any> | undefined>(undefined);\n /** @internal */\n readonly tempContent$ = this.tempContentSubject.asObservable();\n\n private tempContentClosed?: Subject<void>;\n /** @internal */\n readonly enableMobile = signal(false);\n /** Set or update displayed content. */\n setSidePanelContent(portal: Portal<any> | undefined): void {\n this.contentSubject.next(portal);\n }\n\n /** Open side panel. */\n open(): void {\n this.hideTemporaryContent();\n this.openSubject.next(true);\n }\n\n /** Close side panel. */\n close(): void {\n if (this.hideTemporaryContent()) {\n return;\n }\n this.openSubject.next(false);\n }\n\n /** Toggle side panel open/close. */\n toggle(): void {\n this.hideTemporaryContent();\n this.openSubject.next(!this.openSubject.value);\n }\n\n /** Indicate is side panel open. */\n isOpen(): boolean {\n return this.openSubject.value;\n }\n\n /**\n * Indicate that the side panel is open with temporary content.\n */\n isTemporaryOpen(): boolean {\n return !!this.tempContentSubject.value;\n }\n\n /** Show side panel temporary content, opening the side panel when necessary. */\n showTemporaryContent(portal: Portal<any> | undefined): Observable<void> {\n this.hideTemporaryContent();\n this.tempContentSubject.next(portal);\n\n if (portal) {\n this.tempContentClosed = new Subject();\n return this.tempContentClosed.asObservable();\n }\n return EMPTY;\n }\n\n /** Hide side panel temporary content, reverting to state before showing temporary content. */\n hideTemporaryContent(): boolean {\n if (!this.isTemporaryOpen()) {\n return false;\n }\n if (this.tempContentClosed) {\n const sub = this.tempContentClosed;\n this.tempContentClosed = undefined;\n sub.next();\n sub.complete();\n }\n this.tempContentSubject.next(undefined);\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkPortalOutlet, Portal, PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n model,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n PLATFORM_ID,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n BOOTSTRAP_BREAKPOINTS,\n Breakpoints,\n ElementDimensions,\n ResizeObserverService\n} from '@siemens/element-ng/resize-observer';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { SiSidePanelService } from './si-side-panel.service';\nimport { SidePanelMode, SidePanelSize } from './side-panel.model';\n\n@Component({\n selector: 'si-side-panel',\n imports: [PortalModule],\n templateUrl: './si-side-panel.component.html',\n styleUrl: './si-side-panel.component.scss',\n host: {\n class: 'si-layout-inner',\n '[class.enable-mobile]': 'enableMobile()',\n '[class.rpanel-size--regular]': 'this.size() === \"regular\"',\n '[class.rpanel-size--wide]': 'this.size() === \"wide\"',\n '[class.rpanel-mode--over]': 'this.mode() === \"over\"',\n '[class.rpanel-mode--scroll]': 'isScrollMode()',\n '[class.rpanel-collapsed]': 'isCollapsed()',\n '[class.ready]': 'ready()',\n '[class.collapsible]': 'collapsible() && !this.showTempContent()',\n '[class.collapsible-temp]': 'collapsible() && this.showTempContent()',\n '[class.rpanel-hidden]': 'isHidden()',\n '[class.rpanel-resize-xs]': 'isXs()',\n '[class.rpanel-resize-sm]': 'isSm()',\n '[class.rpanel-resize-md]': 'isMd()',\n '[class.rpanel-resize-lg]': 'isLg()',\n '[class.rpanel-resize-xl]': 'isXl()'\n }\n})\nexport class SiSidePanelComponent implements OnInit, OnDestroy, OnChanges {\n /**\n * @defaultValue false\n */\n readonly collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Default state of navigation\n */\n readonly collapsed = model<boolean>();\n\n /**\n * Mode of side panel\n * (ignored below a certain width)\n *\n * @defaultValue 'over'\n */\n readonly mode = input<SidePanelMode>('over');\n\n /**\n * Size of side-panel\n *\n * @defaultValue 'regular'\n */\n readonly size = input<SidePanelSize>('regular');\n\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`\n * ```\n */\n readonly toggleItemLabel = input($localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`);\n\n /**\n * Specifies custom breakpoints to automatically switch mode.\n * The `smMinimum` specifies the breakpoint for the mobile view.\n * The `lgMinimum` specifies the breakpoint to allow scroll mode\n * (below automatically uses over mode).\n * The `xlMinimum` specifies the breakpoint to allow scroll mode\n * with wide size (below automatically uses over mode).\n */\n readonly breakpoints = input<Breakpoints>();\n\n /**\n * Enable mobile drawer for small screen sizes. Should not be used in conjunction with the vertical navbar.\n *\n * @defaultValue false\n */\n readonly enableMobile = input(false, { transform: booleanAttribute });\n\n /**\n * Emits when the panel is closed\n */\n readonly closed = output();\n\n /**\n * Emits whenever the content is resized due to opening and closing or parent resize.\n */\n readonly contentResize = output<ElementDimensions>();\n\n protected readonly isScrollMode = computed(() => this.mode() === 'scroll');\n\n protected readonly isXs = signal(false);\n protected readonly isSm = signal(false);\n protected readonly isMd = signal(true);\n protected readonly isLg = signal(false);\n protected readonly isXl = signal(false);\n protected readonly isCollapsed = signal(false);\n protected readonly ready = signal(false);\n protected readonly isHidden = signal(false);\n protected readonly showTempContent = signal(false);\n\n private readonly panelElement = viewChild.required<ElementRef>('sidePanel');\n private readonly contentElement = viewChild.required<ElementRef>('content');\n private readonly portalOutlet = viewChild.required<CdkPortalOutlet, CdkPortalOutlet>(\n 'portalOutlet',\n {\n read: CdkPortalOutlet\n }\n );\n private readonly tmpPortalOutlet = viewChild.required<CdkPortalOutlet, CdkPortalOutlet>(\n 'tmpPortalOutlet',\n {\n read: CdkPortalOutlet\n }\n );\n\n /**\n * The $rpanel-transition-duration in the style is 0.5 seconds.\n * Sending the resize event after resize need to wait until resize is done.\n */\n private readonly resizeEventDelay = 500;\n private resizeEvent = new Subject<void>();\n private openingOrClosing = false;\n private previousContentDimensions: ElementDimensions = { width: 0, height: 0 };\n private isCollapsedInternal = false; // same as the other one, except w/o timeout for animation\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly element = inject(ElementRef);\n private readonly resizeObserver = inject(ResizeObserverService);\n private readonly service = inject(SiSidePanelService);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly document = inject(DOCUMENT);\n\n constructor() {\n if (this.isBrowser) {\n this.resizeEvent\n .asObservable()\n .pipe(takeUntilDestroyed(this.destroyRef), debounceTime(this.resizeEventDelay))\n .subscribe(() => {\n this.openingOrClosing = false;\n this.emitResizeOutputs();\n if (this.isCollapsedInternal && !this.collapsible()) {\n this.isHidden.set(true);\n }\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.collapsed) {\n if (this.collapsed()) {\n this.service.close();\n } else {\n this.service.open();\n }\n } else if (changes.enableMobile) {\n this.service.enableMobile.set(this.enableMobile());\n }\n }\n\n ngOnInit(): void {\n // handle initial state to avoid flicker\n const collapsed = this.collapsed() ?? !this.service.isOpen();\n this.isCollapsedInternal = collapsed;\n this.isHidden.set(collapsed);\n this.isCollapsed.set(collapsed);\n\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(dim => {\n this.setBreakpoints(dim.width, dim.height);\n if (!this.ready()) {\n // delay because the initial sizing needs to settle\n setTimeout(() => {\n this.ready.set(true);\n }, 100);\n }\n if (!this.openingOrClosing) {\n this.emitResizeOutputs();\n }\n });\n\n this.service.content$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(portal => this.attachContent(portal));\n\n this.service.tempContent$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(portal => this.attachTempContent(portal));\n\n this.service.isOpen$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(state => this.openClose(state));\n }\n\n ngOnDestroy(): void {\n this.portalOutlet().detach();\n }\n /**\n * Toggle whether the side panel is expanded or not.\n */\n toggleSidePanel(): void {\n if (this.collapsible()) {\n this.service.toggle();\n } else {\n this.service.close();\n }\n }\n\n private emitResizeOutputs(): void {\n const contentDimensions = this.getContentDimensions();\n if (\n contentDimensions.width !== this.previousContentDimensions.width ||\n contentDimensions.height !== this.previousContentDimensions.height\n ) {\n this.previousContentDimensions = contentDimensions;\n this.contentResize.emit(contentDimensions);\n }\n }\n\n private getContentDimensions(): ElementDimensions {\n if (!this.isCollapsedInternal && this.isXs()) {\n return { width: 0, height: 0 };\n }\n const rect = this.contentElement().nativeElement.getBoundingClientRect();\n return { width: rect.width, height: rect.height };\n }\n\n private setBreakpoints(width: number, height: number): void {\n if (!width && !height) {\n // element is not visible, no point in changing anything\n return;\n }\n const breakpoints = this.breakpoints() ?? BOOTSTRAP_BREAKPOINTS;\n\n this.isXs.set(width < breakpoints.smMinimum);\n this.isSm.set(width >= breakpoints.smMinimum && width < breakpoints.mdMinimum);\n this.isMd.set(width >= breakpoints.mdMinimum && width < breakpoints.lgMinimum);\n this.isLg.set(width >= breakpoints.lgMinimum && width < breakpoints.xlMinimum);\n this.isXl.set(width >= breakpoints.xlMinimum);\n }\n\n private sendResize(): void {\n if (this.isScrollMode() || this.element.nativeElement.style.paddingRight !== '0') {\n this.openingOrClosing = true;\n this.resizeEvent.next();\n }\n }\n\n private attachContent(portal?: Portal<any>): void {\n const portalOutlet = this.portalOutlet();\n portalOutlet.detach();\n if (portal) {\n portalOutlet.attach(portal);\n }\n this.cdRef.markForCheck();\n }\n\n private attachTempContent(portal: Portal<any> | undefined): void {\n const tmpPortalOutlet = this.tmpPortalOutlet();\n tmpPortalOutlet.detach();\n if (portal) {\n tmpPortalOutlet.attach(portal);\n this.showTempContent.set(true);\n this.openClose(true, true);\n } else if (this.showTempContent()) {\n this.showTempContent.set(false);\n this.openClose(this.service.isOpen(), true);\n }\n }\n\n private openClose(open: boolean, regainFocus = false): void {\n if (open !== this.isCollapsedInternal) {\n this.moveFocusInside(open && regainFocus);\n return;\n }\n this.isCollapsedInternal = !open;\n if (open) {\n this.isHidden.set(false);\n }\n setTimeout(() => this.doOpenClose(open));\n }\n\n private doOpenClose(open: boolean): void {\n this.moveFocusInside(open);\n this.isCollapsed.set(!open);\n this.collapsed.set(this.isCollapsed());\n if (this.isCollapsedInternal) {\n this.closed.emit();\n }\n this.sendResize();\n }\n\n private moveFocusInside(open: boolean): void {\n if (\n open &&\n !this.document.activeElement?.parentElement?.classList.contains(\n 'side-panel-collapse-toggle'\n ) &&\n !this.document.activeElement?.classList.contains('side-panel-collapse-toggle')\n ) {\n // moves the keyboard focus inside the panel so that the next tab is somewhere useful\n this.panelElement().nativeElement.focus();\n queueMicrotask(() => this.panelElement().nativeElement.blur());\n }\n }\n}\n","<div #sidePanel class=\"side-panel focus-none\" tabindex=\"-1\">\n <div class=\"inner\" [class.d-none]=\"showTempContent()\">\n <ng-content select=\"si-side-panel-content, element-side-panel-content\" />\n <ng-container #portalOutlet cdkPortalOutlet />\n </div>\n <div class=\"inner\" [class.d-none]=\"!showTempContent()\">\n <ng-container #tmpPortalOutlet cdkPortalOutlet />\n </div>\n</div>\n<div #content class=\"main-content si-layout-inner\">\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n inject,\n input,\n OnInit,\n output,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SiAccordionHCollapseService } from '@siemens/element-ng/accordion';\nimport { MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';\nimport {\n ContentActionBarMainItem,\n SiContentActionBarComponent\n} from '@siemens/element-ng/content-action-bar';\nimport {\n addIcons,\n elementDoubleLeft,\n elementDoubleRight,\n SiIconNextComponent\n} from '@siemens/element-ng/icon';\nimport { SiLinkDirective } from '@siemens/element-ng/link';\nimport { MenuItem } from '@siemens/element-ng/menu';\nimport { BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';\nimport { SiSearchBarComponent } from '@siemens/element-ng/search-bar';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSidePanelService } from './si-side-panel.service';\n\n/**\n * An extension of MenuItem to support combined icons\n */\nexport interface StatusItem extends MenuItemLegacy {\n overlayIcon?: string;\n}\n\n@Component({\n selector: 'si-side-panel-content',\n imports: [\n SiContentActionBarComponent,\n SiIconNextComponent,\n SiLinkDirective,\n SiSearchBarComponent,\n SiTranslatePipe\n ],\n templateUrl: './si-side-panel-content.component.html',\n styleUrl: './si-side-panel-content.component.scss',\n providers: [SiAccordionHCollapseService],\n host: {\n '[class.collapsed]': 'isCollapsed()',\n '[class.expanded]': 'isExpanded()',\n '[class.enable-mobile]': 'enableMobile()'\n }\n})\nexport class SiSidePanelContentComponent implements OnInit {\n /**\n * @defaultValue false\n */\n readonly collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Header of side panel\n *\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n\n /**\n * Input list of primary action items\n *\n * @defaultValue []\n */\n readonly primaryActions = input<(MenuItemLegacy | ContentActionBarMainItem)[]>([]);\n\n /**\n * Input list of secondary action items.\n *\n * @defaultValue []\n */\n readonly secondaryActions = input<(MenuItemLegacy | MenuItem)[]>([]);\n\n /**\n * Status icons/actions\n *\n * @defaultValue []\n */\n readonly statusActions = input<StatusItem[]>([]);\n\n /**\n * Toggles search bar\n *\n * @defaultValue false\n */\n readonly searchable = input(false, { transform: booleanAttribute });\n\n /**\n * Placeholder text for search\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`\n * ```\n */\n readonly searchPlaceholder = input($localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`);\n\n /**\n * Aria label for close button. Needed for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.CLOSE:Close`\n * ```\n */\n readonly closeButtonLabel = input($localize`:@@SI_SIDE_PANEL.CLOSE:Close`);\n\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`\n * ```\n */\n readonly toggleItemLabel = input($localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`);\n\n /**\n * Show a badge on the mobile drawer indicating a new alert or notification\n *\n * @defaultValue false\n */\n readonly showMobileDrawerBadge = input(false, { transform: booleanAttribute });\n\n /**\n * Output for search bar input\n */\n readonly searchEvent = output<string>();\n\n protected readonly isCollapsed = signal(false);\n protected readonly isExpanded = signal(true);\n protected readonly enableMobile = computed(() => this.service?.enableMobile() ?? false);\n protected readonly mobileSize = signal(false);\n protected readonly focusable = computed(\n () => !this.mobileSize() || !this.enableMobile() || !this.isCollapsed()\n );\n protected readonly icons = addIcons({ elementDoubleLeft, elementDoubleRight });\n /**\n * The $rpanel-transition-duration in the style is 0.5 seconds.\n * For the animation we need to wait until the resize is done.\n */\n private readonly resizeAnimationDelay = 500;\n private readonly destroyRef = inject(DestroyRef);\n private readonly service = inject(SiSidePanelService);\n private readonly breakpointObserver = inject(BreakpointObserver);\n\n private expandedTimeout: any;\n\n constructor() {\n const accordionHcollapse = inject(SiAccordionHCollapseService);\n this.service.isOpen$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(state => {\n this.isCollapsed.set(!state);\n clearTimeout(this.expandedTimeout);\n this.expandedTimeout = undefined;\n if (!state) {\n this.isExpanded.set(false);\n } else {\n this.expandedTimeout = setTimeout(() => {\n this.isExpanded.set(true);\n }, this.resizeAnimationDelay / 2);\n }\n accordionHcollapse.hcollapsed.set(!state);\n });\n accordionHcollapse.open$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.service.open());\n }\n\n ngOnInit(): void {\n this.breakpointObserver\n .observe('(max-width: ' + BOOTSTRAP_BREAKPOINTS.smMinimum + 'px)')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(({ matches }) => {\n this.mobileSize.set(matches);\n });\n }\n\n protected toggleSidePanel(event?: MouseEvent): void {\n if (event?.detail !== 0) {\n // Blur except if triggered by keyboard\n (document?.activeElement as HTMLElement)?.blur();\n }\n if (this.service.isTemporaryOpen()) {\n this.service.hideTemporaryContent();\n } else {\n this.service.toggle();\n }\n }\n}\n","<div class=\"rpanel-header pt-5\">\n <p class=\"si-title-2 my-0 ms-6 auto-hide text-truncate\">{{ heading() | translate }}</p>\n @if ((primaryActions().length || secondaryActions().length) && focusable()) {\n <si-content-action-bar\n class=\"auto-hide ms-auto\"\n viewType=\"expanded\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [toggleItemLabel]=\"toggleItemLabel()\"\n />\n }\n <button\n type=\"button\"\n class=\"close-button btn btn-circle btn-sm btn-ghost element-cancel me-4\"\n [attr.aria-label]=\"closeButtonLabel() | translate\"\n [tabindex]=\"focusable() ? '0' : '-1'\"\n (click)=\"toggleSidePanel($event)\"\n ></button>\n <div class=\"collapse-toggle\">\n <button\n type=\"button\"\n class=\"side-panel-collapse-toggle btn btn-circle btn-sm btn-ghost mx-4\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"toggleSidePanel($event)\"\n >\n <si-icon-next\n class=\"flip-rtl\"\n [class.badge-dot]=\"showMobileDrawerBadge()\"\n [icon]=\"isCollapsed() ? icons.elementDoubleLeft : icons.elementDoubleRight\"\n />\n </button>\n </div>\n</div>\n<div class=\"rpanel-wrapper d-flex flex-column\">\n @if (statusActions().length && focusable()) {\n <div class=\"rpanel-header rpanel-statusactions px-6\">\n @for (dp of statusActions(); track $index) {\n @if (!dp.disabled) {\n <a\n class=\"rpanel-statusaction position-relative focus-inside\"\n [attr.aria-label]=\"!isCollapsed ? '' : (dp.title | translate)\"\n [siLink]=\"dp\"\n >\n <si-icon-next class=\"icon\" [icon]=\"dp.icon!\" />\n @if (dp.overlayIcon) {\n <si-icon-next class=\"icon position-absolute\" [icon]=\"dp.overlayIcon\" />\n }\n <span class=\"ms-2 auto-hide\">{{ dp.title | translate }}</span>\n </a>\n }\n @if (dp.disabled) {\n <div class=\"rpanel-statusaction dot-outer\" aria-hidden=\"true\">\n <div class=\"dot text-muted text-center\">&bull;</div>\n </div>\n }\n }\n </div>\n }\n @if (searchable() && focusable()) {\n <div class=\"nav-search px-6 auto-hide\">\n <si-search-bar\n #searchBar\n class=\"m-0\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"400\"\n [showIcon]=\"true\"\n (searchChange)=\"searchEvent.emit($event)\"\n />\n </div>\n }\n @if (focusable()) {\n <div class=\"rpanel-content\">\n <ng-content />\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSidePanelContentComponent } from './si-side-panel-content.component';\nimport { SiSidePanelComponent } from './si-side-panel.component';\n\n@NgModule({\n imports: [SiSidePanelComponent, SiSidePanelContentComponent],\n exports: [SiSidePanelComponent, SiSidePanelContentComponent]\n})\nexport class SiSidePanelModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\n/**\n * Side panel mode options.\n * - scroll: pushes content when side panel opens/closes,\n * - over: Opens as an overlay on existing content. Just like modal.\n */\nexport type SidePanelMode = 'scroll' | 'over';\n\n/**\n * Side panel size options.\n * - wide: 500px,\n * - regular: 390px\n */\nexport type SidePanelSize = 'wide' | 'regular';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-side-panel.service';\nexport * from './si-side-panel.component';\nexport * from './si-side-panel-content.component';\nexport * from './si-side-panel.module';\nexport * from './side-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, ChangeDetectionStrategy, Component, inject, ApplicationRef, EnvironmentInjector, createComponent, Injectable, ElementRef, Directive } from '@angular/core';
3
3
  import { DOCUMENT } from '@angular/common';
4
- import * as i1 from '@siemens/element-translate-ng/translate';
5
- import { SiTranslateModule } from '@siemens/element-translate-ng/translate';
4
+ import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
6
5
 
7
6
  /**
8
- * Copyright Siemens 2016 - 2025.
7
+ * Copyright (c) Siemens 2016 - 2025
9
8
  * SPDX-License-Identifier: MIT
10
9
  */
11
10
  class SiSkipLinksComponent {
@@ -13,15 +12,15 @@ class SiSkipLinksComponent {
13
12
  skipLinks = input([]);
14
13
  jumpToLabel = $localize `:@@SI_SKIP_LINKS.JUMP_TO:Jump to {{link}}`;
15
14
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiSkipLinksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiSkipLinksComponent, isStandalone: true, selector: "si-skip-links", inputs: { skipLinks: { classPropertyName: "skipLinks", publicName: "skipLinks", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n", styles: [".skip-link-wrapper:focus-within{position:absolute;z-index:1060;inset-block-start:8px;inset-inline-start:50%;transform:translate(-50%)}.skip-link-wrapper:not(:focus-within){inline-size:1px;block-size:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{background:var(--element-base-0);border-color:var(--element-base-1)}\n"], dependencies: [{ kind: "ngmodule", type: SiTranslateModule }, { kind: "pipe", type: i1.SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiSkipLinksComponent, isStandalone: true, selector: "si-skip-links", inputs: { skipLinks: { classPropertyName: "skipLinks", publicName: "skipLinks", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n", styles: [".skip-link-wrapper:focus-within{position:absolute;z-index:1060;inset-block-start:8px;inset-inline-start:50%;transform:translate(-50%)}.skip-link-wrapper:not(:focus-within){inline-size:1px;block-size:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{background:var(--element-base-0);border-color:var(--element-base-1)}\n"], dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
16
  }
18
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiSkipLinksComponent, decorators: [{
19
18
  type: Component,
20
- args: [{ selector: 'si-skip-links', imports: [SiTranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n", styles: [".skip-link-wrapper:focus-within{position:absolute;z-index:1060;inset-block-start:8px;inset-inline-start:50%;transform:translate(-50%)}.skip-link-wrapper:not(:focus-within){inline-size:1px;block-size:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{background:var(--element-base-0);border-color:var(--element-base-1)}\n"] }]
19
+ args: [{ selector: 'si-skip-links', imports: [SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n", styles: [".skip-link-wrapper:focus-within{position:absolute;z-index:1060;inset-block-start:8px;inset-inline-start:50%;transform:translate(-50%)}.skip-link-wrapper:not(:focus-within){inline-size:1px;block-size:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{background:var(--element-base-0);border-color:var(--element-base-1)}\n"] }]
21
20
  }] });
22
21
 
23
22
  /**
24
- * Copyright Siemens 2016 - 2025.
23
+ * Copyright (c) Siemens 2016 - 2025
25
24
  * SPDX-License-Identifier: MIT
26
25
  */
27
26
  class SkipLinkService {
@@ -67,7 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
67
66
  }] });
68
67
 
69
68
  /**
70
- * Copyright Siemens 2016 - 2025.
69
+ * Copyright (c) Siemens 2016 - 2025
71
70
  * SPDX-License-Identifier: MIT
72
71
  */
73
72
  /**
@@ -105,7 +104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
105
104
  }] });
106
105
 
107
106
  /**
108
- * Copyright Siemens 2016 - 2025.
107
+ * Copyright (c) Siemens 2016 - 2025
109
108
  * SPDX-License-Identifier: MIT
110
109
  */
111
110
 
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-skip-links.mjs","sources":["../../../../projects/element-ng/skip-links/si-skip-links.component.ts","../../../../projects/element-ng/skip-links/si-skip-links.component.html","../../../../projects/element-ng/skip-links/skip-link.service.ts","../../../../projects/element-ng/skip-links/si-skip-link-target.directive.ts","../../../../projects/element-ng/skip-links/index.ts","../../../../projects/element-ng/skip-links/siemens-element-ng-skip-links.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiTranslateModule } from '@siemens/element-translate-ng/translate';\n\nimport { SiSkipLinkTargetDirective } from './si-skip-link-target.directive';\n\n@Component({\n selector: 'si-skip-links',\n templateUrl: './si-skip-links.component.html',\n styleUrl: './si-skip-links.component.scss',\n imports: [SiTranslateModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSkipLinksComponent {\n /** @defaultValue [] */\n readonly skipLinks = input<readonly SiSkipLinkTargetDirective[]>([]);\n\n protected jumpToLabel = $localize`:@@SI_SKIP_LINKS.JUMP_TO:Jump to {{link}}`;\n}\n","@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n inject,\n Injectable\n} from '@angular/core';\n\nimport { SiSkipLinkTargetDirective } from './si-skip-link-target.directive';\nimport { SiSkipLinksComponent } from './si-skip-links.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkipLinkService {\n private skipLinksComponentRef?: ComponentRef<SiSkipLinksComponent>;\n private appRef = inject(ApplicationRef);\n private environmentInjector = inject(EnvironmentInjector);\n private document = inject(DOCUMENT);\n private registeredTargets: SiSkipLinkTargetDirective[] = [];\n\n registerLink(skipLink: SiSkipLinkTargetDirective): void {\n if (!this.skipLinksComponentRef) {\n this.createSkipLinksComponent();\n }\n\n this.registeredTargets.push(skipLink);\n this.skipLinksComponentRef!.setInput('skipLinks', this.registeredTargets);\n this.skipLinksComponentRef!.changeDetectorRef.markForCheck();\n }\n\n unregisterLink(skipLink: SiSkipLinkTargetDirective): void {\n this.registeredTargets.splice(this.registeredTargets.indexOf(skipLink), 1);\n\n if (this.registeredTargets.length && this.skipLinksComponentRef) {\n this.skipLinksComponentRef.setInput('skipLinks', this.registeredTargets);\n this.skipLinksComponentRef.changeDetectorRef.markForCheck();\n } else {\n this.skipLinksComponentRef?.destroy();\n this.skipLinksComponentRef = undefined;\n }\n }\n\n private createSkipLinksComponent(): void {\n this.skipLinksComponentRef = createComponent(SiSkipLinksComponent, {\n environmentInjector: this.environmentInjector\n });\n\n this.appRef.attachView(this.skipLinksComponentRef.hostView);\n this.document.body.insertBefore(\n this.skipLinksComponentRef.location.nativeElement,\n this.document.body.children.item(0)\n );\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, ElementRef, inject, input, OnDestroy, OnInit } from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SkipLinkService } from './skip-link.service';\n\n/**\n * Directive to mark an element as a target for a skip link.\n * If this directive is applied to a none interactive element, a tabindex of -1 must be added manually.\n */\n@Directive({\n selector: '[siSkipLinkTarget]'\n})\nexport class SiSkipLinkTargetDirective implements OnInit, OnDestroy {\n /**\n * The name of the skip link target which will be shown in the skip link.\n */\n readonly name = input.required<TranslatableString>({ alias: 'siSkipLinkTarget' });\n\n private skipLinkService = inject(SkipLinkService);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnInit(): void {\n this.skipLinkService.registerLink(this);\n }\n\n ngOnDestroy(): void {\n this.skipLinkService.unregisterLink(this);\n }\n\n /**\n * Call this methode to \"activate\" a skip link target. It will focus this element and scroll it into the view.\n */\n jumpToThisTarget(): void {\n this.elementRef.nativeElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n this.elementRef.nativeElement.focus();\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-skip-link-target.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"siemens-element-ng-skip-links.mjs","sources":["../../../../projects/element-ng/skip-links/si-skip-links.component.ts","../../../../projects/element-ng/skip-links/si-skip-links.component.html","../../../../projects/element-ng/skip-links/skip-link.service.ts","../../../../projects/element-ng/skip-links/si-skip-link-target.directive.ts","../../../../projects/element-ng/skip-links/index.ts","../../../../projects/element-ng/skip-links/siemens-element-ng-skip-links.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSkipLinkTargetDirective } from './si-skip-link-target.directive';\n\n@Component({\n selector: 'si-skip-links',\n imports: [SiTranslatePipe],\n templateUrl: './si-skip-links.component.html',\n styleUrl: './si-skip-links.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSkipLinksComponent {\n /** @defaultValue [] */\n readonly skipLinks = input<readonly SiSkipLinkTargetDirective[]>([]);\n\n protected jumpToLabel = $localize`:@@SI_SKIP_LINKS.JUMP_TO:Jump to {{link}}`;\n}\n","@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n inject,\n Injectable\n} from '@angular/core';\n\nimport { SiSkipLinkTargetDirective } from './si-skip-link-target.directive';\nimport { SiSkipLinksComponent } from './si-skip-links.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkipLinkService {\n private skipLinksComponentRef?: ComponentRef<SiSkipLinksComponent>;\n private appRef = inject(ApplicationRef);\n private environmentInjector = inject(EnvironmentInjector);\n private document = inject(DOCUMENT);\n private registeredTargets: SiSkipLinkTargetDirective[] = [];\n\n registerLink(skipLink: SiSkipLinkTargetDirective): void {\n if (!this.skipLinksComponentRef) {\n this.createSkipLinksComponent();\n }\n\n this.registeredTargets.push(skipLink);\n this.skipLinksComponentRef!.setInput('skipLinks', this.registeredTargets);\n this.skipLinksComponentRef!.changeDetectorRef.markForCheck();\n }\n\n unregisterLink(skipLink: SiSkipLinkTargetDirective): void {\n this.registeredTargets.splice(this.registeredTargets.indexOf(skipLink), 1);\n\n if (this.registeredTargets.length && this.skipLinksComponentRef) {\n this.skipLinksComponentRef.setInput('skipLinks', this.registeredTargets);\n this.skipLinksComponentRef.changeDetectorRef.markForCheck();\n } else {\n this.skipLinksComponentRef?.destroy();\n this.skipLinksComponentRef = undefined;\n }\n }\n\n private createSkipLinksComponent(): void {\n this.skipLinksComponentRef = createComponent(SiSkipLinksComponent, {\n environmentInjector: this.environmentInjector\n });\n\n this.appRef.attachView(this.skipLinksComponentRef.hostView);\n this.document.body.insertBefore(\n this.skipLinksComponentRef.location.nativeElement,\n this.document.body.children.item(0)\n );\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, ElementRef, inject, input, OnDestroy, OnInit } from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SkipLinkService } from './skip-link.service';\n\n/**\n * Directive to mark an element as a target for a skip link.\n * If this directive is applied to a none interactive element, a tabindex of -1 must be added manually.\n */\n@Directive({\n selector: '[siSkipLinkTarget]'\n})\nexport class SiSkipLinkTargetDirective implements OnInit, OnDestroy {\n /**\n * The name of the skip link target which will be shown in the skip link.\n */\n readonly name = input.required<TranslatableString>({ alias: 'siSkipLinkTarget' });\n\n private skipLinkService = inject(SkipLinkService);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnInit(): void {\n this.skipLinkService.registerLink(this);\n }\n\n ngOnDestroy(): void {\n this.skipLinkService.unregisterLink(this);\n }\n\n /**\n * Call this methode to \"activate\" a skip link target. It will focus this element and scroll it into the view.\n */\n jumpToThisTarget(): void {\n this.elementRef.nativeElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n this.elementRef.nativeElement.focus();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-skip-link-target.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,12 +4,11 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { correctKeyRTL, listenGlobal, isRTL } from '@siemens/element-ng/common';
5
5
  import { SI_FORM_ITEM_CONTROL } from '@siemens/element-ng/form';
6
6
  import { addIcons, elementPlus, elementMinus, SiIconNextComponent } from '@siemens/element-ng/icon';
7
- import * as i1 from '@siemens/element-translate-ng/translate';
8
- import { SiTranslateModule } from '@siemens/element-translate-ng/translate';
7
+ import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
9
8
  import { timer } from 'rxjs';
10
9
 
11
10
  /**
12
- * Copyright Siemens 2016 - 2025.
11
+ * Copyright (c) Siemens 2016 - 2025
13
12
  * SPDX-License-Identifier: MIT
14
13
  */
15
14
  class SiSliderComponent {
@@ -253,11 +252,11 @@ class SiSliderComponent {
253
252
  provide: SI_FORM_ITEM_CONTROL,
254
253
  useExisting: SiSliderComponent
255
254
  }
256
- ], viewQueries: [{ propertyName: "handleRef", first: true, predicate: ["handle"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"slider-container\">\n <button\n type=\"button\"\n class=\"btn btn-sm btn-circle btn-secondary decrement-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"decrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId\"\n (mousedown)=\"autoUpdateStart($event, false)\"\n (touchstart)=\"autoUpdateStart($event, false)\"\n (keydown.enter)=\"autoUpdateStart($event, false)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon-next [icon]=\"icons.elementMinus\" />\n </button>\n\n <div class=\"slider-wrapper\">\n <div class=\"value-indicator-wrapper\">\n <span class=\"value-indicator\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <span>\n <ng-content />\n </span>\n </span>\n </div>\n\n <div class=\"slider\" [class.dragging]=\"isDragging\">\n <div class=\"track\"></div>\n <div\n class=\"thumb-handle-wrapper\"\n [class.dragging]=\"isDragging\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n >\n <div #handle class=\"thumb-handle\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <div\n class=\"thumb\"\n tabindex=\"0\"\n role=\"slider\"\n [attr.aria-label]=\"sliderLabel() | translate\"\n [attr.aria-valuenow]=\"sliderValue()\"\n [attr.aria-describedby]=\"errormessageId\"\n [class.dragging]=\"isDragging\"\n (keydown)=\"autoUpdateKeydown($event)\"\n (keyup)=\"autoUpdateStop()\"\n >\n @let iconValue = thumbIcon();\n @if (iconValue) {\n <si-icon-next [icon]=\"iconValue\" />\n } @else {\n <div class=\"hover-circle\"></div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"btn btn-sm btn-circle btn-secondary increment-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"incrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId\"\n (mousedown)=\"autoUpdateStart($event, true)\"\n (touchstart)=\"autoUpdateStart($event, true)\"\n (keydown.enter)=\"autoUpdateStart($event, true)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon-next [icon]=\"icons.elementPlus\" />\n </button>\n</div>\n\n@if (minLabel() && maxLabel()) {\n <div class=\"range-indicator-wrapper\">\n <div class=\"range-indicator\">\n <span>{{ minLabel() }}</span>\n <span class=\"ms-auto\">{{ maxLabel() }}</span>\n </div>\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column}.slider-container{display:flex;align-items:flex-end}.decrement-button{margin-inline-end:4px}.increment-button{margin-inline-start:4px}.slider-wrapper{position:relative;flex:1 1 0;min-inline-size:0;display:flex;flex-direction:column}.value-indicator-wrapper{position:relative;margin-inline:12px;text-align:start}.value-indicator{position:relative;display:inline-block;white-space:nowrap;color:var(--element-text-secondary)}.value-indicator>span{display:inline-block;margin-inline-start:-50%}.range-indicator-wrapper{margin-block:0;margin-inline:36px}.range-indicator-wrapper .range-indicator{display:inline-flex;white-space:nowrap;inline-size:100%;color:var(--element-text-secondary)}.range-indicator-wrapper .range-indicator>span{display:inline-block}.slider{position:relative;inline-size:100%;block-size:32px;cursor:pointer}.slider.dragging{cursor:grabbing}:host.disabled .slider{cursor:default}.slider .track{position:absolute;inset-block-start:50%;border-radius:var(--element-radius-1);margin-block-start:-2px;block-size:4px;inline-size:100%;background:var(--element-ui-4);pointer-events:none}.slider .thumb-handle-wrapper{position:absolute;inset-block:0;inset-inline:12px}:host.disabled .slider .thumb-handle-wrapper{pointer-events:none}.slider .thumb-handle{display:flex;align-items:center;justify-content:center;position:absolute;inset-block-start:50%;margin-block-start:-20px;margin-inline:-20px;inline-size:40px;block-size:40px}:host.disabled .slider .thumb-handle{pointer-events:none}.slider .thumb{--thumb-state-color: var(--element-ui-0);display:flex;align-items:center;justify-content:center;block-size:24px;min-block-size:24px;inline-size:24px;min-inline-size:24px;border-radius:50%;border:1px solid var(--thumb-state-color);box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2);background:var(--element-base-1)}.slider .thumb:hover:not(.dragging){--thumb-state-color: var(--element-ui-0-hover);background:var(--element-action-secondary-hover)}:host.disabled .slider .thumb{--thumb-state-color: var(--element-ui-3)}.slider .thumb si-icon-next{font-size:1.5rem;color:var(--thumb-state-color)}.slider .thumb:hover .hover-circle,.slider .thumb:focus .hover-circle,.slider .thumb.dragging .hover-circle{display:block}.slider .hover-circle{display:none;block-size:12px;inline-size:12px;border-radius:50%;background:var(--thumb-state-color)}\n"], dependencies: [{ kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "ngmodule", type: SiTranslateModule }, { kind: "pipe", type: i1.SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
255
+ ], viewQueries: [{ propertyName: "handleRef", first: true, predicate: ["handle"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"slider-container\">\n <button\n type=\"button\"\n class=\"btn btn-sm btn-circle btn-secondary decrement-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"decrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId\"\n (mousedown)=\"autoUpdateStart($event, false)\"\n (touchstart)=\"autoUpdateStart($event, false)\"\n (keydown.enter)=\"autoUpdateStart($event, false)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon-next [icon]=\"icons.elementMinus\" />\n </button>\n\n <div class=\"slider-wrapper\">\n <div class=\"value-indicator-wrapper\">\n <span class=\"value-indicator\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <span>\n <ng-content />\n </span>\n </span>\n </div>\n\n <div class=\"slider\" [class.dragging]=\"isDragging\">\n <div class=\"track\"></div>\n <div\n class=\"thumb-handle-wrapper\"\n [class.dragging]=\"isDragging\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n >\n <div #handle class=\"thumb-handle\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <div\n class=\"thumb\"\n tabindex=\"0\"\n role=\"slider\"\n [attr.aria-label]=\"sliderLabel() | translate\"\n [attr.aria-valuenow]=\"sliderValue()\"\n [attr.aria-describedby]=\"errormessageId\"\n [class.dragging]=\"isDragging\"\n (keydown)=\"autoUpdateKeydown($event)\"\n (keyup)=\"autoUpdateStop()\"\n >\n @let iconValue = thumbIcon();\n @if (iconValue) {\n <si-icon-next [icon]=\"iconValue\" />\n } @else {\n <div class=\"hover-circle\"></div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"btn btn-sm btn-circle btn-secondary increment-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"incrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId\"\n (mousedown)=\"autoUpdateStart($event, true)\"\n (touchstart)=\"autoUpdateStart($event, true)\"\n (keydown.enter)=\"autoUpdateStart($event, true)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon-next [icon]=\"icons.elementPlus\" />\n </button>\n</div>\n\n@if (minLabel() && maxLabel()) {\n <div class=\"range-indicator-wrapper\">\n <div class=\"range-indicator\">\n <span>{{ minLabel() }}</span>\n <span class=\"ms-auto\">{{ maxLabel() }}</span>\n </div>\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column}.slider-container{display:flex;align-items:flex-end}.decrement-button{margin-inline-end:4px}.increment-button{margin-inline-start:4px}.slider-wrapper{position:relative;flex:1 1 0;min-inline-size:0;display:flex;flex-direction:column}.value-indicator-wrapper{position:relative;margin-inline:12px;text-align:start}.value-indicator{position:relative;display:inline-block;white-space:nowrap;color:var(--element-text-secondary)}.value-indicator>span{display:inline-block;margin-inline-start:-50%}.range-indicator-wrapper{margin-block:0;margin-inline:36px}.range-indicator-wrapper .range-indicator{display:inline-flex;white-space:nowrap;inline-size:100%;color:var(--element-text-secondary)}.range-indicator-wrapper .range-indicator>span{display:inline-block}.slider{position:relative;inline-size:100%;block-size:32px;cursor:pointer}.slider.dragging{cursor:grabbing}:host.disabled .slider{cursor:default}.slider .track{position:absolute;inset-block-start:50%;border-radius:var(--element-radius-1);margin-block-start:-2px;block-size:4px;inline-size:100%;background:var(--element-ui-4);pointer-events:none}.slider .thumb-handle-wrapper{position:absolute;inset-block:0;inset-inline:12px}:host.disabled .slider .thumb-handle-wrapper{pointer-events:none}.slider .thumb-handle{display:flex;align-items:center;justify-content:center;position:absolute;inset-block-start:50%;margin-block-start:-20px;margin-inline:-20px;inline-size:40px;block-size:40px}:host.disabled .slider .thumb-handle{pointer-events:none}.slider .thumb{--thumb-state-color: var(--element-ui-0);display:flex;align-items:center;justify-content:center;block-size:24px;min-block-size:24px;inline-size:24px;min-inline-size:24px;border-radius:50%;border:1px solid var(--thumb-state-color);box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2);background:var(--element-base-1)}.slider .thumb:hover:not(.dragging){--thumb-state-color: var(--element-ui-0-hover);background:var(--element-action-secondary-hover)}:host.disabled .slider .thumb{--thumb-state-color: var(--element-ui-3)}.slider .thumb si-icon-next{font-size:1.5rem;color:var(--thumb-state-color)}.slider .thumb:hover .hover-circle,.slider .thumb:focus .hover-circle,.slider .thumb.dragging .hover-circle{display:block}.slider .hover-circle{display:none;block-size:12px;inline-size:12px;border-radius:50%;background:var(--thumb-state-color)}\n"], dependencies: [{ kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
257
256
  }
258
257
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiSliderComponent, decorators: [{
259
258
  type: Component,
260
- args: [{ selector: 'si-slider', providers: [
259
+ args: [{ selector: 'si-slider', imports: [SiIconNextComponent, SiTranslatePipe], providers: [
261
260
  {
262
261
  provide: NG_VALUE_ACCESSOR,
263
262
  useExisting: SiSliderComponent,
@@ -267,7 +266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
267
266
  provide: SI_FORM_ITEM_CONTROL,
268
267
  useExisting: SiSliderComponent
269
268
  }
270
- ], changeDetection: ChangeDetectionStrategy.OnPush, imports: [SiIconNextComponent, SiTranslateModule], host: {
269
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
271
270
  role: 'group',
272
271
  '[class.disabled]': 'disabled()',
273
272
  '[attr.aria-labelledby]': 'labelledby()'
@@ -284,7 +283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
284
283
  }] } });
285
284
 
286
285
  /**
287
- * Copyright Siemens 2016 - 2025.
286
+ * Copyright (c) Siemens 2016 - 2025
288
287
  * SPDX-License-Identifier: MIT
289
288
  */
290
289
  class SiSliderModule {
@@ -301,7 +300,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
301
300
  }] });
302
301
 
303
302
  /**
304
- * Copyright Siemens 2016 - 2025.
303
+ * Copyright (c) Siemens 2016 - 2025
305
304
  * SPDX-License-Identifier: MIT
306
305
  */
307
306