@siemens/element-ng 47.8.0 → 48.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. package/about/index.d.ts +127 -3
  2. package/accordion/index.d.ts +152 -9
  3. package/action-modal/index.d.ts +92 -2
  4. package/application-header/index.d.ts +357 -13
  5. package/auto-collapsable-list/index.d.ts +114 -10
  6. package/autocomplete/index.d.ts +77 -8
  7. package/avatar/index.d.ts +83 -4
  8. package/badge/index.d.ts +21 -5
  9. package/breadcrumb/index.d.ts +90 -3
  10. package/breadcrumb-router/index.d.ts +104 -4
  11. package/card/index.d.ts +88 -6
  12. package/circle-status/index.d.ts +75 -6
  13. package/color-picker/index.d.ts +65 -5
  14. package/column-selection-dialog/index.d.ts +89 -2
  15. package/common/index.d.ts +421 -4
  16. package/connection-strength/index.d.ts +29 -6
  17. package/content-action-bar/index.d.ts +88 -3
  18. package/copyright-notice/index.d.ts +48 -3
  19. package/dashboard/index.d.ts +782 -16
  20. package/datatable/index.d.ts +45 -6
  21. package/date-range-filter/index.d.ts +333 -4
  22. package/datepicker/index.d.ts +1409 -11
  23. package/electron-titlebar/index.d.ts +84 -3
  24. package/empty-state/index.d.ts +27 -6
  25. package/fesm2022/siemens-element-ng-about.mjs +7 -7
  26. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-accordion.mjs +17 -30
  28. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-action-modal.mjs +41 -125
  30. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-application-header.mjs +69 -65
  32. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +47 -43
  34. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-autocomplete.mjs +35 -35
  36. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-avatar.mjs +6 -6
  38. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-badge.mjs +3 -3
  40. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +10 -10
  42. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-breadcrumb.mjs +13 -13
  44. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-card.mjs +7 -7
  46. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-circle-status.mjs +7 -7
  48. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-color-picker.mjs +11 -12
  50. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +28 -31
  52. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-common.mjs +14 -14
  54. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-connection-strength.mjs +7 -7
  56. package/fesm2022/siemens-element-ng-content-action-bar.mjs +13 -13
  57. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  58. package/fesm2022/siemens-element-ng-copyright-notice.mjs +7 -7
  59. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  60. package/fesm2022/siemens-element-ng-dashboard.mjs +61 -61
  61. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  62. package/fesm2022/siemens-element-ng-datatable.mjs +7 -7
  63. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  64. package/fesm2022/siemens-element-ng-date-range-filter.mjs +87 -73
  65. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  66. package/fesm2022/siemens-element-ng-datepicker.mjs +104 -142
  67. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  68. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +14 -14
  69. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  70. package/fesm2022/siemens-element-ng-empty-state.mjs +7 -7
  71. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  72. package/fesm2022/siemens-element-ng-file-uploader.mjs +54 -54
  73. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  74. package/fesm2022/siemens-element-ng-filter-bar.mjs +18 -18
  75. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  76. package/fesm2022/siemens-element-ng-filtered-search.mjs +31 -74
  77. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  78. package/fesm2022/siemens-element-ng-footer.mjs +7 -7
  79. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  80. package/fesm2022/siemens-element-ng-form.mjs +125 -271
  81. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  82. package/fesm2022/siemens-element-ng-formly.mjs +78 -83
  83. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  84. package/fesm2022/siemens-element-ng-header-dropdown.mjs +18 -17
  85. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  86. package/fesm2022/siemens-element-ng-help-button.mjs +63 -0
  87. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -0
  88. package/fesm2022/siemens-element-ng-icon-status.mjs +7 -7
  89. package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
  90. package/fesm2022/siemens-element-ng-icon.mjs +28 -27
  91. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  92. package/fesm2022/siemens-element-ng-info-page.mjs +3 -3
  93. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  94. package/fesm2022/siemens-element-ng-inline-notification.mjs +7 -7
  95. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  96. package/fesm2022/siemens-element-ng-ip-input.mjs +10 -9
  97. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  98. package/fesm2022/siemens-element-ng-landing-page.mjs +7 -7
  99. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  100. package/fesm2022/siemens-element-ng-language-switcher.mjs +10 -10
  101. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  102. package/fesm2022/siemens-element-ng-link.mjs +10 -10
  103. package/fesm2022/siemens-element-ng-list-details.mjs +27 -27
  104. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-loading-spinner.mjs +19 -19
  106. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-localization.mjs +9 -9
  108. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-main-detail-container.mjs +10 -10
  110. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-menu.mjs +34 -34
  112. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-modal.mjs +8 -8
  114. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +43 -57
  116. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-navbar.mjs +29 -29
  118. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-number-input.mjs +7 -7
  120. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-pagination.mjs +14 -14
  122. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-password-strength.mjs +13 -16
  124. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-password-toggle.mjs +12 -12
  126. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-phone-number.mjs +19 -19
  128. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-photo-upload.mjs +25 -25
  130. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-pills-input.mjs +22 -22
  132. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-popover-next.mjs +34 -23
  134. package/fesm2022/siemens-element-ng-popover-next.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-popover.mjs +10 -10
  136. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-progressbar.mjs +10 -10
  138. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  139. package/fesm2022/siemens-element-ng-resize-observer.mjs +13 -13
  140. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  141. package/fesm2022/siemens-element-ng-result-details-list.mjs +8 -20
  142. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  143. package/fesm2022/siemens-element-ng-search-bar.mjs +18 -15
  144. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  145. package/fesm2022/siemens-element-ng-select.mjs +66 -66
  146. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  147. package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -5
  148. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  149. package/fesm2022/siemens-element-ng-side-panel.mjs +24 -24
  150. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  151. package/fesm2022/siemens-element-ng-skip-links.mjs +12 -13
  152. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  153. package/fesm2022/siemens-element-ng-slider.mjs +14 -14
  154. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  155. package/fesm2022/siemens-element-ng-sort-bar.mjs +10 -10
  156. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  157. package/fesm2022/siemens-element-ng-split.mjs +13 -29
  158. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  159. package/fesm2022/siemens-element-ng-status-bar.mjs +19 -19
  160. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  161. package/fesm2022/siemens-element-ng-status-toggle.mjs +7 -7
  162. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  163. package/fesm2022/siemens-element-ng-summary-chip.mjs +3 -3
  164. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  165. package/fesm2022/siemens-element-ng-summary-widget.mjs +5 -5
  166. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  167. package/fesm2022/siemens-element-ng-system-banner.mjs +3 -3
  168. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  169. package/fesm2022/siemens-element-ng-tabs-next.mjs +147 -176
  170. package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -1
  171. package/fesm2022/siemens-element-ng-tabs.mjs +12 -11
  172. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  173. package/fesm2022/siemens-element-ng-theme.mjs +5 -5
  174. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  175. package/fesm2022/siemens-element-ng-threshold.mjs +22 -22
  176. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  177. package/fesm2022/siemens-element-ng-toast-notification.mjs +11 -11
  178. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  179. package/fesm2022/siemens-element-ng-tooltip.mjs +22 -16
  180. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  181. package/fesm2022/siemens-element-ng-tour.mjs +19 -19
  182. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  183. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  184. package/fesm2022/siemens-element-ng-tree-view.mjs +44 -55
  185. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  186. package/fesm2022/siemens-element-ng-typeahead.mjs +19 -36
  187. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  188. package/fesm2022/siemens-element-ng-unauthorized-page.mjs +7 -7
  189. package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -1
  190. package/fesm2022/siemens-element-ng-wizard.mjs +76 -109
  191. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  192. package/file-uploader/index.d.ts +419 -4
  193. package/filter-bar/index.d.ts +117 -4
  194. package/filtered-search/index.d.ts +433 -3
  195. package/footer/index.d.ts +23 -6
  196. package/form/index.d.ts +411 -10
  197. package/formly/index.d.ts +217 -2
  198. package/header-dropdown/index.d.ts +150 -5
  199. package/help-button/index.d.ts +26 -0
  200. package/help-button/package.json +3 -0
  201. package/icon/index.d.ts +210 -7
  202. package/icon-status/index.d.ts +33 -6
  203. package/index.d.ts +5 -3
  204. package/info-page/index.d.ts +39 -3
  205. package/inline-notification/index.d.ts +49 -6
  206. package/ip-input/index.d.ts +87 -3
  207. package/landing-page/index.d.ts +95 -3
  208. package/language-switcher/index.d.ts +53 -3
  209. package/link/index.d.ts +127 -4
  210. package/list-details/index.d.ts +176 -12
  211. package/loading-spinner/index.d.ts +128 -9
  212. package/localization/index.d.ts +147 -4
  213. package/main-detail-container/index.d.ts +161 -6
  214. package/menu/index.d.ts +195 -11
  215. package/modal/index.d.ts +129 -3
  216. package/navbar/index.d.ts +304 -4
  217. package/navbar-vertical/index.d.ts +226 -3
  218. package/number-input/index.d.ts +111 -6
  219. package/package.json +17 -13
  220. package/pagination/index.d.ts +75 -6
  221. package/password-strength/index.d.ts +96 -7
  222. package/password-toggle/index.d.ts +49 -6
  223. package/phone-number/index.d.ts +192 -3
  224. package/photo-upload/index.d.ts +304 -4
  225. package/pills-input/index.d.ts +135 -9
  226. package/popover/index.d.ts +98 -6
  227. package/popover-next/index.d.ts +112 -7
  228. package/progressbar/index.d.ts +54 -6
  229. package/resize-observer/index.d.ts +143 -6
  230. package/result-details-list/index.d.ts +58 -3
  231. package/search-bar/index.d.ts +93 -6
  232. package/select/index.d.ts +605 -14
  233. package/shadow-root/index.d.ts +39 -1
  234. package/side-panel/index.d.ts +276 -5
  235. package/skip-links/index.d.ts +24 -3
  236. package/slider/index.d.ts +139 -6
  237. package/sort-bar/index.d.ts +49 -6
  238. package/split/index.d.ts +207 -4
  239. package/status-bar/index.d.ts +178 -3
  240. package/status-toggle/index.d.ts +81 -2
  241. package/summary-chip/index.d.ts +48 -5
  242. package/summary-widget/index.d.ts +48 -5
  243. package/system-banner/index.d.ts +24 -3
  244. package/tabs/index.d.ts +161 -7
  245. package/tabs-next/index.d.ts +121 -7
  246. package/template-i18n.json +0 -3
  247. package/theme/index.d.ts +259 -3
  248. package/threshold/index.d.ts +156 -4
  249. package/toast-notification/index.d.ts +66 -2
  250. package/tooltip/index.d.ts +92 -3
  251. package/tour/index.d.ts +114 -2
  252. package/translate/index.d.ts +199 -3
  253. package/tree-view/index.d.ts +818 -8
  254. package/typeahead/index.d.ts +262 -4
  255. package/unauthorized-page/index.d.ts +42 -4
  256. package/wizard/index.d.ts +209 -7
  257. package/about/si-about-data.model.d.ts +0 -49
  258. package/about/si-about.component.d.ts +0 -71
  259. package/about/si-about.module.d.ts +0 -7
  260. package/accordion/si-accordion-hcollapse.service.d.ts +0 -17
  261. package/accordion/si-accordion.component.d.ts +0 -37
  262. package/accordion/si-accordion.module.d.ts +0 -8
  263. package/accordion/si-accordion.service.d.ts +0 -17
  264. package/accordion/si-collapsible-panel.component.d.ts +0 -89
  265. package/action-modal/si-action-dialog.service.d.ts +0 -49
  266. package/action-modal/si-action-dialog.types.d.ts +0 -92
  267. package/action-modal/si-alert-dialog/si-alert-dialog.component.d.ts +0 -32
  268. package/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.d.ts +0 -40
  269. package/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.d.ts +0 -45
  270. package/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.d.ts +0 -68
  271. package/application-header/launchpad/si-launchpad-app.component.d.ts +0 -21
  272. package/application-header/launchpad/si-launchpad-factory.component.d.ts +0 -83
  273. package/application-header/launchpad/si-launchpad.model.d.ts +0 -33
  274. package/application-header/si-application-header.component.d.ts +0 -60
  275. package/application-header/si-header-account-item.component.d.ts +0 -13
  276. package/application-header/si-header-action-item-icon-base.directive.d.ts +0 -26
  277. package/application-header/si-header-action-item.base.d.ts +0 -19
  278. package/application-header/si-header-action-item.component.d.ts +0 -9
  279. package/application-header/si-header-actions.directive.d.ts +0 -5
  280. package/application-header/si-header-brand.directive.d.ts +0 -5
  281. package/application-header/si-header-collapsible-actions.component.d.ts +0 -33
  282. package/application-header/si-header-logo.directive.d.ts +0 -16
  283. package/application-header/si-header-navigation-item.component.d.ts +0 -10
  284. package/application-header/si-header-navigation.component.d.ts +0 -11
  285. package/application-header/si-header-selection-item.component.d.ts +0 -12
  286. package/application-header/si-header-siemens-logo.component.d.ts +0 -21
  287. package/auto-collapsable-list/si-auto-collapsable-list-additional-content.directive.d.ts +0 -6
  288. package/auto-collapsable-list/si-auto-collapsable-list-item.directive.d.ts +0 -29
  289. package/auto-collapsable-list/si-auto-collapsable-list-measurable.class.d.ts +0 -16
  290. package/auto-collapsable-list/si-auto-collapsable-list-overflow-item.directive.d.ts +0 -12
  291. package/auto-collapsable-list/si-auto-collapsable-list.directive.d.ts +0 -47
  292. package/auto-collapsable-list/si-auto-collapsable-list.module.d.ts +0 -10
  293. package/autocomplete/si-autocomplete-listbox.directive.d.ts +0 -31
  294. package/autocomplete/si-autocomplete-option.directive.d.ts +0 -31
  295. package/autocomplete/si-autocomplete.directive.d.ts +0 -14
  296. package/autocomplete/si-autocomplete.model.d.ts +0 -7
  297. package/autocomplete/si-autocomplete.module.d.ts +0 -9
  298. package/avatar/si-avatar-background-color.directive.d.ts +0 -35
  299. package/avatar/si-avatar.component.d.ts +0 -51
  300. package/badge/si-badge.component.d.ts +0 -17
  301. package/breadcrumb/breadcrumb-item.model.d.ts +0 -36
  302. package/breadcrumb/si-breadcrumb-item-template.directive.d.ts +0 -10
  303. package/breadcrumb/si-breadcrumb.component.d.ts +0 -46
  304. package/breadcrumb/si-breadcrumb.module.d.ts +0 -7
  305. package/breadcrumb-router/si-breadcrumb-default-resolver.service.d.ts +0 -23
  306. package/breadcrumb-router/si-breadcrumb-router.component.d.ts +0 -30
  307. package/breadcrumb-router/si-breadcrumb-router.model.d.ts +0 -53
  308. package/breadcrumb-router/si-breadcrumb-router.module.d.ts +0 -7
  309. package/card/si-card.component.d.ts +0 -79
  310. package/card/si-card.module.d.ts +0 -7
  311. package/circle-status/si-circle-status.component.d.ts +0 -66
  312. package/circle-status/si-circle-status.module.d.ts +0 -7
  313. package/color-picker/si-color-picker.component.d.ts +0 -61
  314. package/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.d.ts +0 -23
  315. package/column-selection-dialog/si-column-selection-dialog.component.d.ts +0 -114
  316. package/column-selection-dialog/si-column-selection-dialog.service.d.ts +0 -20
  317. package/column-selection-dialog/si-column-selection-dialog.types.d.ts +0 -68
  318. package/common/decorators/index.d.ts +0 -5
  319. package/common/decorators/webcomponent.decorator.d.ts +0 -6
  320. package/common/helpers/animation.helpers.d.ts +0 -10
  321. package/common/helpers/global-events.helpers.d.ts +0 -5
  322. package/common/helpers/index.d.ts +0 -10
  323. package/common/helpers/overlay-helper.d.ts +0 -24
  324. package/common/helpers/positioning.helpers.d.ts +0 -58
  325. package/common/helpers/rtl.d.ts +0 -6
  326. package/common/helpers/track-by.helper.d.ts +0 -27
  327. package/common/models/color-variant.model.d.ts +0 -8
  328. package/common/models/index.d.ts +0 -8
  329. package/common/models/menu.model.d.ts +0 -85
  330. package/common/models/positions.model.d.ts +0 -18
  331. package/common/models/status-type.model.d.ts +0 -21
  332. package/common/services/blink.service.d.ts +0 -41
  333. package/common/services/index.d.ts +0 -8
  334. package/common/services/scrollbar-helper.service.d.ts +0 -17
  335. package/common/services/si-uistate.service.d.ts +0 -61
  336. package/common/services/text-measure.service.d.ts +0 -21
  337. package/connection-strength/si-connection-strength.component.d.ts +0 -19
  338. package/connection-strength/si-connection-strength.module.d.ts +0 -7
  339. package/content-action-bar/si-content-action-bar-toggle.component.d.ts +0 -6
  340. package/content-action-bar/si-content-action-bar.component.d.ts +0 -72
  341. package/content-action-bar/si-content-action-bar.model.d.ts +0 -9
  342. package/content-action-bar/si-content-action-bar.module.d.ts +0 -7
  343. package/copyright-notice/si-copyright-notice.component.d.ts +0 -18
  344. package/copyright-notice/si-copyright-notice.d.ts +0 -23
  345. package/copyright-notice/si-copyright-notice.module.d.ts +0 -7
  346. package/dashboard/si-dashboard-card.component.d.ts +0 -82
  347. package/dashboard/si-dashboard.component.d.ts +0 -75
  348. package/dashboard/si-dashboard.module.d.ts +0 -8
  349. package/dashboard/si-dashboard.service.d.ts +0 -21
  350. package/dashboard/widgets/si-link-widget.component.d.ts +0 -25
  351. package/dashboard/widgets/si-list-widget/si-list-widget-body.component.d.ts +0 -98
  352. package/dashboard/widgets/si-list-widget/si-list-widget-item.component.d.ts +0 -39
  353. package/dashboard/widgets/si-list-widget/si-list-widget.component.d.ts +0 -115
  354. package/dashboard/widgets/si-timeline-widget/si-timeline-widget-body.component.d.ts +0 -21
  355. package/dashboard/widgets/si-timeline-widget/si-timeline-widget-item.component.d.ts +0 -103
  356. package/dashboard/widgets/si-timeline-widget/si-timeline-widget.component.d.ts +0 -52
  357. package/dashboard/widgets/si-value-widget-body.component.d.ts +0 -33
  358. package/dashboard/widgets/si-value-widget.component.d.ts +0 -115
  359. package/dashboard/widgets/si-widget-base.component.d.ts +0 -48
  360. package/datatable/si-datatable-interaction.directive.d.ts +0 -34
  361. package/datatable/si-datatable.module.d.ts +0 -7
  362. package/date-range-filter/si-date-range-calculation.service.d.ts +0 -33
  363. package/date-range-filter/si-date-range-filter.component.d.ts +0 -252
  364. package/date-range-filter/si-date-range-filter.module.d.ts +0 -7
  365. package/date-range-filter/si-date-range-filter.types.d.ts +0 -40
  366. package/date-range-filter/si-relative-date.component.d.ts +0 -31
  367. package/datepicker/components/si-calendar-body.component.d.ts +0 -137
  368. package/datepicker/components/si-calendar-date-cell.directive.d.ts +0 -16
  369. package/datepicker/components/si-calendar-direction-button.component.d.ts +0 -18
  370. package/datepicker/components/si-compare-adapter.d.ts +0 -37
  371. package/datepicker/components/si-day-selection.component.d.ts +0 -76
  372. package/datepicker/components/si-initial-focus.component.d.ts +0 -74
  373. package/datepicker/components/si-month-selection.component.d.ts +0 -62
  374. package/datepicker/components/si-year-selection.component.d.ts +0 -65
  375. package/datepicker/date-time-helper.d.ts +0 -302
  376. package/datepicker/si-calendar-button.component.d.ts +0 -49
  377. package/datepicker/si-date-input.directive.d.ts +0 -114
  378. package/datepicker/si-date-range.component.d.ts +0 -150
  379. package/datepicker/si-datepicker-overlay.component.d.ts +0 -82
  380. package/datepicker/si-datepicker-overlay.directive.d.ts +0 -104
  381. package/datepicker/si-datepicker.component.d.ts +0 -228
  382. package/datepicker/si-datepicker.directive.d.ts +0 -62
  383. package/datepicker/si-datepicker.model.d.ts +0 -129
  384. package/datepicker/si-datepicker.module.d.ts +0 -12
  385. package/datepicker/si-timepicker.component.d.ts +0 -214
  386. package/electron-titlebar/electron.helpers.d.ts +0 -5
  387. package/electron-titlebar/si-electron-titlebar.component.d.ts +0 -72
  388. package/electron-titlebar/si-electron-titlebar.module.d.ts +0 -7
  389. package/empty-state/si-empty-state.component.d.ts +0 -18
  390. package/empty-state/si-empty-state.module.d.ts +0 -7
  391. package/file-uploader/si-file-dropzone.component.d.ts +0 -106
  392. package/file-uploader/si-file-uploader.component.d.ts +0 -296
  393. package/file-uploader/si-file-uploader.model.d.ts +0 -12
  394. package/file-uploader/si-file-uploader.module.d.ts +0 -8
  395. package/filter-bar/filter.d.ts +0 -26
  396. package/filter-bar/si-filter-bar.component.d.ts +0 -65
  397. package/filter-bar/si-filter-bar.module.d.ts +0 -7
  398. package/filter-bar/si-filter-pill.component.d.ts +0 -20
  399. package/filtered-search/si-filtered-search-helper.d.ts +0 -22
  400. package/filtered-search/si-filtered-search-value.component.d.ts +0 -53
  401. package/filtered-search/si-filtered-search.component.d.ts +0 -329
  402. package/filtered-search/si-filtered-search.model.d.ts +0 -139
  403. package/filtered-search/si-filtered-search.module.d.ts +0 -7
  404. package/filtered-search/values/date-value/si-filtered-search-date-value.component.d.ts +0 -57
  405. package/filtered-search/values/si-filtered-search-value.base.d.ts +0 -27
  406. package/filtered-search/values/typeahead/si-filtered-search-typeahead.component.d.ts +0 -45
  407. package/footer/si-footer.component.d.ts +0 -14
  408. package/footer/si-footer.module.d.ts +0 -7
  409. package/form/form-fieldset/si-form-fieldset.component.d.ts +0 -40
  410. package/form/si-form-container/si-form-container.component.d.ts +0 -155
  411. package/form/si-form-item/si-form-field-native.control.d.ts +0 -22
  412. package/form/si-form-item/si-form-item.component.d.ts +0 -90
  413. package/form/si-form-item-control-input.directive.d.ts +0 -18
  414. package/form/si-form-item.control.d.ts +0 -35
  415. package/form/si-form-validation-error.model.d.ts +0 -55
  416. package/form/si-form-validation-error.provider.d.ts +0 -11
  417. package/form/si-form-validation-error.service.d.ts +0 -42
  418. package/form/si-form-validation-tooltip/si-form-validation-tooltip.component.d.ts +0 -13
  419. package/form/si-form-validation-tooltip/si-form-validation-tooltip.directive.d.ts +0 -42
  420. package/form/si-form.module.d.ts +0 -25
  421. package/formly/fields/button/si-formly-button.component.d.ts +0 -7
  422. package/formly/fields/date-range/si-formly-date-range.component.d.ts +0 -6
  423. package/formly/fields/datetime/si-formly-datetime.component.d.ts +0 -13
  424. package/formly/fields/email/si-formly-email.component.d.ts +0 -6
  425. package/formly/fields/ip-input/si-formly-ip-input.component.d.ts +0 -6
  426. package/formly/fields/number/si-formly-number.component.d.ts +0 -6
  427. package/formly/fields/password/si-formly-password.component.d.ts +0 -6
  428. package/formly/fields/select/si-formly-select.component.d.ts +0 -6
  429. package/formly/fields/text/si-formly-text-display.component.d.ts +0 -7
  430. package/formly/fields/textarea/si-formly-textarea.component.d.ts +0 -18
  431. package/formly/fields/time/si-formly-time.component.d.ts +0 -13
  432. package/formly/si-formly-translate.extension.d.ts +0 -9
  433. package/formly/si-formly.component.d.ts +0 -62
  434. package/formly/si-formly.module.d.ts +0 -35
  435. package/formly/structural/si-formly-accordion/si-formly-accordion.component.d.ts +0 -13
  436. package/formly/structural/si-formly-array/si-formly-array.component.d.ts +0 -6
  437. package/formly/structural/si-formly-object/si-formly-object.component.d.ts +0 -6
  438. package/formly/structural/si-formly-object-grid/si-formly-object-grid.component.d.ts +0 -22
  439. package/formly/structural/si-formly-object-grid/si-formly-object-grid.model.d.ts +0 -21
  440. package/formly/structural/si-formly-object-plain/si-formly-object-plain.component.d.ts +0 -6
  441. package/formly/structural/si-formly-tabset/si-formly-object-tabset.component.d.ts +0 -7
  442. package/formly/utils.d.ts +0 -6
  443. package/formly/wrapper/si-formly-fieldset.component.d.ts +0 -8
  444. package/formly/wrapper/si-formly-form-field-provider.directive.d.ts +0 -19
  445. package/formly/wrapper/si-formly-horizontal-wrapper.component.d.ts +0 -6
  446. package/formly/wrapper/si-formly-icon-wrapper.component.d.ts +0 -6
  447. package/formly/wrapper/si-formly-wrapper.component.d.ts +0 -8
  448. package/header-dropdown/si-header-dropdown-item.component.d.ts +0 -23
  449. package/header-dropdown/si-header-dropdown-items-factory.component.d.ts +0 -14
  450. package/header-dropdown/si-header-dropdown-trigger.directive.d.ts +0 -57
  451. package/header-dropdown/si-header-dropdown.component.d.ts +0 -20
  452. package/header-dropdown/si-header.model.d.ts +0 -37
  453. package/icon/element-icons.d.ts +0 -59
  454. package/icon/icon-status.d.ts +0 -22
  455. package/icon/si-icon-next.component.d.ts +0 -64
  456. package/icon/si-icon.component.d.ts +0 -23
  457. package/icon/si-icon.module.d.ts +0 -7
  458. package/icon/si-icons.d.ts +0 -31
  459. package/icon/si-status-icon.component.d.ts +0 -9
  460. package/icon-status/si-icon-status.component.d.ts +0 -24
  461. package/icon-status/si-icon-status.module.d.ts +0 -7
  462. package/info-page/si-info-page.component.d.ts +0 -38
  463. package/inline-notification/si-inline-notification.component.d.ts +0 -40
  464. package/inline-notification/si-inline-notification.module.d.ts +0 -7
  465. package/ip-input/address-utils.d.ts +0 -28
  466. package/ip-input/address-validators.d.ts +0 -21
  467. package/ip-input/si-ip-input.directive.d.ts +0 -53
  468. package/ip-input/si-ip4-input.directive.d.ts +0 -9
  469. package/ip-input/si-ip6-input.directive.d.ts +0 -10
  470. package/landing-page/alert-config.model.d.ts +0 -15
  471. package/landing-page/si-landing-page.component.d.ts +0 -74
  472. package/landing-page/si-landing-page.module.d.ts +0 -7
  473. package/language-switcher/iso-language-value.d.ts +0 -14
  474. package/language-switcher/si-language-switcher.component.d.ts +0 -31
  475. package/language-switcher/si-language-switcher.module.d.ts +0 -7
  476. package/link/aria-current.model.d.ts +0 -5
  477. package/link/link.model.d.ts +0 -57
  478. package/link/si-link-action.service.d.ts +0 -17
  479. package/link/si-link.directive.d.ts +0 -42
  480. package/link/si-link.module.d.ts +0 -7
  481. package/list-details/si-details-pane/si-details-pane.component.d.ts +0 -8
  482. package/list-details/si-details-pane-body/si-details-pane-body.component.d.ts +0 -6
  483. package/list-details/si-details-pane-footer/si-details-pane-footer.component.d.ts +0 -6
  484. package/list-details/si-details-pane-header/si-details-pane-header.component.d.ts +0 -38
  485. package/list-details/si-list-details.component.d.ts +0 -100
  486. package/list-details/si-list-pane/si-list-pane.component.d.ts +0 -10
  487. package/list-details/si-list-pane-body/si-list-pane-body.component.d.ts +0 -6
  488. package/list-details/si-list-pane-header/si-list-pane-header.component.d.ts +0 -6
  489. package/loading-spinner/si-loading-button.component.d.ts +0 -31
  490. package/loading-spinner/si-loading-spinner.component.d.ts +0 -32
  491. package/loading-spinner/si-loading-spinner.directive.d.ts +0 -37
  492. package/loading-spinner/si-loading-spinner.module.d.ts +0 -8
  493. package/loading-spinner/si-loading-spinner.service.d.ts +0 -18
  494. package/localization/si-directionality.d.ts +0 -41
  495. package/localization/si-locale-id.d.ts +0 -22
  496. package/localization/si-locale-store.d.ts +0 -16
  497. package/localization/si-locale.service.d.ts +0 -73
  498. package/main-detail-container/si-main-detail-container.component.d.ts +0 -151
  499. package/main-detail-container/si-main-detail-container.module.d.ts +0 -7
  500. package/menu/si-menu-action.service.d.ts +0 -13
  501. package/menu/si-menu-bar.directive.d.ts +0 -12
  502. package/menu/si-menu-divider.directive.d.ts +0 -5
  503. package/menu/si-menu-factory-item-guard.directive.d.ts +0 -11
  504. package/menu/si-menu-factory.component.d.ts +0 -15
  505. package/menu/si-menu-header.directive.d.ts +0 -5
  506. package/menu/si-menu-item-base.directive.d.ts +0 -16
  507. package/menu/si-menu-item-checkbox.component.d.ts +0 -11
  508. package/menu/si-menu-item-radio.component.d.ts +0 -10
  509. package/menu/si-menu-item.component.d.ts +0 -10
  510. package/menu/si-menu-model.d.ts +0 -91
  511. package/menu/si-menu.directive.d.ts +0 -6
  512. package/menu/si-menu.module.d.ts +0 -14
  513. package/modal/modal.helpers.d.ts +0 -8
  514. package/modal/modalref.d.ts +0 -64
  515. package/modal/si-modal.component.d.ts +0 -32
  516. package/modal/si-modal.service.d.ts +0 -57
  517. package/navbar/account.model.d.ts +0 -39
  518. package/navbar/si-navbar-item/index.d.ts +0 -5
  519. package/navbar/si-navbar-item/si-navbar-item.component.d.ts +0 -29
  520. package/navbar/si-navbar-primary/index.d.ts +0 -6
  521. package/navbar/si-navbar-primary/si-navbar-primary.component.d.ts +0 -198
  522. package/navbar/si-navbar-primary/si-navbar-primary.model.d.ts +0 -34
  523. package/navbar/si-navbar.module.d.ts +0 -9
  524. package/navbar-vertical/si-navbar-vertical-divider.component.d.ts +0 -5
  525. package/navbar-vertical/si-navbar-vertical-group-trigger.directive.d.ts +0 -38
  526. package/navbar-vertical/si-navbar-vertical-group.component.d.ts +0 -16
  527. package/navbar-vertical/si-navbar-vertical-header.component.d.ts +0 -6
  528. package/navbar-vertical/si-navbar-vertical-item-legacy.component.d.ts +0 -17
  529. package/navbar-vertical/si-navbar-vertical-item.component.d.ts +0 -21
  530. package/navbar-vertical/si-navbar-vertical.component.d.ts +0 -148
  531. package/navbar-vertical/si-navbar-vertical.model.d.ts +0 -77
  532. package/navbar-vertical/si-navbar-vertical.module.d.ts +0 -7
  533. package/navbar-vertical/si-navbar-vertical.provider.d.ts +0 -7
  534. package/number-input/si-number-input.component.d.ts +0 -106
  535. package/number-input/si-number-input.module.d.ts +0 -7
  536. package/pagination/si-pagination.component.d.ts +0 -65
  537. package/pagination/si-pagination.module.d.ts +0 -7
  538. package/password-strength/si-password-strength.component.d.ts +0 -25
  539. package/password-strength/si-password-strength.directive.d.ts +0 -65
  540. package/password-strength/si-password-strength.module.d.ts +0 -8
  541. package/password-toggle/si-password-toggle.component.d.ts +0 -39
  542. package/password-toggle/si-password-toggle.module.d.ts +0 -7
  543. package/phone-number/si-phone-number-input-select.directive.d.ts +0 -10
  544. package/phone-number/si-phone-number-input.component.d.ts +0 -137
  545. package/phone-number/si-phone-number-input.models.d.ts +0 -48
  546. package/phone-number/si-phone-number-input.module.d.ts +0 -7
  547. package/photo-upload/si-image-cropper-style.component.d.ts +0 -5
  548. package/photo-upload/si-photo-upload.component.d.ts +0 -298
  549. package/pills-input/si-input-pill.component.d.ts +0 -9
  550. package/pills-input/si-pills-input-csv.directive.d.ts +0 -8
  551. package/pills-input/si-pills-input-email.directive.d.ts +0 -10
  552. package/pills-input/si-pills-input-pattern-base.d.ts +0 -19
  553. package/pills-input/si-pills-input-value-handler.d.ts +0 -12
  554. package/pills-input/si-pills-input.component.d.ts +0 -87
  555. package/pills-input/si-pills-input.module.d.ts +0 -9
  556. package/popover/si-popover.component.d.ts +0 -26
  557. package/popover/si-popover.directive.d.ts +0 -89
  558. package/popover/si-popover.module.d.ts +0 -7
  559. package/popover-next/si-popover-description.directive.d.ts +0 -7
  560. package/popover-next/si-popover-next.directive.d.ts +0 -61
  561. package/popover-next/si-popover-title.directive.d.ts +0 -7
  562. package/popover-next/si-popover.component.d.ts +0 -27
  563. package/progressbar/si-progressbar.component.d.ts +0 -43
  564. package/progressbar/si-progressbar.module.d.ts +0 -7
  565. package/public-api.d.ts +0 -5
  566. package/resize-observer/resize-observer.service.d.ts +0 -41
  567. package/resize-observer/si-resize-observer.directive.d.ts +0 -31
  568. package/resize-observer/si-resize-observer.module.d.ts +0 -8
  569. package/resize-observer/si-responsive-container.directive.d.ts +0 -73
  570. package/result-details-list/si-result-details-list.component.d.ts +0 -14
  571. package/result-details-list/si-result-details-list.datamodel.d.ts +0 -48
  572. package/result-details-list/si-result-details-list.module.d.ts +0 -7
  573. package/search-bar/si-search-bar.component.d.ts +0 -87
  574. package/search-bar/si-search-bar.module.d.ts +0 -7
  575. package/select/options/si-select-complex-options.directive.d.ts +0 -69
  576. package/select/options/si-select-lazy-options.directive.d.ts +0 -38
  577. package/select/options/si-select-option.source.d.ts +0 -49
  578. package/select/options/si-select-options-strategy.base.d.ts +0 -35
  579. package/select/options/si-select-options-strategy.d.ts +0 -37
  580. package/select/options/si-select-simple-options.directive.d.ts +0 -34
  581. package/select/select-input/si-select-input.component.d.ts +0 -43
  582. package/select/select-list/si-select-list-has-filter.component.d.ts +0 -20
  583. package/select/select-list/si-select-list.base.d.ts +0 -37
  584. package/select/select-list/si-select-list.component.d.ts +0 -15
  585. package/select/select-option/si-select-option-row.component.d.ts +0 -16
  586. package/select/select-option/si-select-option.component.d.ts +0 -9
  587. package/select/selection/si-select-multi-value.directive.d.ts +0 -26
  588. package/select/selection/si-select-selection-strategy.d.ts +0 -58
  589. package/select/selection/si-select-single-value.directive.d.ts +0 -26
  590. package/select/si-select-action.directive.d.ts +0 -12
  591. package/select/si-select-actions.directive.d.ts +0 -5
  592. package/select/si-select-group-template.directive.d.ts +0 -20
  593. package/select/si-select-option-row-template.directive.d.ts +0 -9
  594. package/select/si-select-option-template.directive.d.ts +0 -21
  595. package/select/si-select.component.d.ts +0 -96
  596. package/select/si-select.module.d.ts +0 -15
  597. package/select/si-select.types.d.ts +0 -65
  598. package/shadow-root/si-shadow-root.directive.d.ts +0 -39
  599. package/side-panel/si-side-panel-content.component.d.ts +0 -105
  600. package/side-panel/si-side-panel.component.d.ts +0 -108
  601. package/side-panel/si-side-panel.module.d.ts +0 -8
  602. package/side-panel/si-side-panel.service.d.ts +0 -45
  603. package/side-panel/side-panel.model.d.ts +0 -16
  604. package/skip-links/si-skip-link-target.directive.d.ts +0 -27
  605. package/skip-links/si-skip-links.component.d.ts +0 -9
  606. package/skip-links/skip-link.service.d.ts +0 -14
  607. package/slider/si-slider.component.d.ts +0 -129
  608. package/slider/si-slider.module.d.ts +0 -7
  609. package/sort-bar/si-sort-bar.component.d.ts +0 -42
  610. package/sort-bar/si-sort-bar.module.d.ts +0 -7
  611. package/split/si-split-part.component.d.ts +0 -154
  612. package/split/si-split.component.d.ts +0 -48
  613. package/split/si-split.interfaces.d.ts +0 -17
  614. package/split/si-split.module.d.ts +0 -8
  615. package/status-bar/si-status-bar-item/index.d.ts +0 -6
  616. package/status-bar/si-status-bar-item/si-status-bar-item.component.d.ts +0 -22
  617. package/status-bar/si-status-bar-item/si-status-bar-item.model.d.ts +0 -33
  618. package/status-bar/si-status-bar.component.d.ts +0 -116
  619. package/status-bar/si-status-bar.module.d.ts +0 -7
  620. package/status-toggle/si-status-toggle.component.d.ts +0 -54
  621. package/status-toggle/status-toggle.model.d.ts +0 -26
  622. package/summary-chip/si-summary-chip.component.d.ts +0 -44
  623. package/summary-widget/si-summary-widget.component.d.ts +0 -44
  624. package/system-banner/system-banner.component.d.ts +0 -23
  625. package/tabs/si-tab/index.d.ts +0 -5
  626. package/tabs/si-tab/si-tab.component.d.ts +0 -58
  627. package/tabs/si-tabs.module.d.ts +0 -8
  628. package/tabs/si-tabset/index.d.ts +0 -5
  629. package/tabs/si-tabset/si-tabset.component.d.ts +0 -100
  630. package/tabs-next/si-tab-next-base.directive.d.ts +0 -63
  631. package/tabs-next/si-tab-next-link.component.d.ts +0 -16
  632. package/tabs-next/si-tab-next.component.d.ts +0 -16
  633. package/tabs-next/si-tabs-tokens.d.ts +0 -7
  634. package/tabs-next/si-tabset-next.component.d.ts +0 -57
  635. package/theme/si-theme-store.d.ts +0 -82
  636. package/theme/si-theme.model.d.ts +0 -48
  637. package/theme/si-theme.service.d.ts +0 -129
  638. package/threshold/si-readonly-threshold-option.component.d.ts +0 -11
  639. package/threshold/si-threshold.component.d.ts +0 -147
  640. package/threshold/si-threshold.module.d.ts +0 -7
  641. package/toast-notification/si-toast-notification/si-toast-notification.component.d.ts +0 -17
  642. package/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.d.ts +0 -9
  643. package/toast-notification/si-toast-notification.service.d.ts +0 -41
  644. package/toast-notification/si-toast.model.d.ts +0 -25
  645. package/tooltip/si-tooltip.component.d.ts +0 -25
  646. package/tooltip/si-tooltip.directive.d.ts +0 -45
  647. package/tooltip/si-tooltip.module.d.ts +0 -7
  648. package/tooltip/si-tooltip.service.d.ts +0 -44
  649. package/tour/si-tour-highlight.component.d.ts +0 -15
  650. package/tour/si-tour-token.model.d.ts +0 -27
  651. package/tour/si-tour.component.d.ts +0 -31
  652. package/tour/si-tour.model.d.ts +0 -51
  653. package/tour/si-tour.service.d.ts +0 -62
  654. package/translate/si-translatable-keys.interface.d.ts +0 -193
  655. package/translate/si-translatable-overrides.provider.d.ts +0 -7
  656. package/tree-view/drag-drop.util.d.ts +0 -32
  657. package/tree-view/si-tree-view-converter.service.d.ts +0 -41
  658. package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +0 -104
  659. package/tree-view/si-tree-view-item/si-tree-view-item.directive.d.ts +0 -24
  660. package/tree-view/si-tree-view-item-context.d.ts +0 -11
  661. package/tree-view/si-tree-view-item-height.service.d.ts +0 -49
  662. package/tree-view/si-tree-view-item-template.directive.d.ts +0 -18
  663. package/tree-view/si-tree-view-virtualization.service.d.ts +0 -150
  664. package/tree-view/si-tree-view.component.d.ts +0 -467
  665. package/tree-view/si-tree-view.model.d.ts +0 -146
  666. package/tree-view/si-tree-view.module.d.ts +0 -10
  667. package/tree-view/si-tree-view.service.d.ts +0 -55
  668. package/tree-view/si-tree-view.utils.d.ts +0 -46
  669. package/typeahead/si-typeahead-item-template.directive.d.ts +0 -7
  670. package/typeahead/si-typeahead.component.d.ts +0 -22
  671. package/typeahead/si-typeahead.directive.d.ts +0 -196
  672. package/typeahead/si-typeahead.model.d.ts +0 -60
  673. package/typeahead/si-typeahead.module.d.ts +0 -8
  674. package/typeahead/si-typeahead.sorting.d.ts +0 -10
  675. package/unauthorized-page/si-unauthorized-page.component.d.ts +0 -35
  676. package/unauthorized-page/si-unauthorized-page.module.d.ts +0 -7
  677. package/wizard/si-wizard-step.component.d.ts +0 -21
  678. package/wizard/si-wizard.component.d.ts +0 -196
  679. package/wizard/si-wizard.module.d.ts +0 -8
@@ -202,10 +202,10 @@ class SiLocaleService {
202
202
  }
203
203
  return false;
204
204
  }
205
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLocaleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
206
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLocaleService, providedIn: 'root' });
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiLocaleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
206
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiLocaleService, providedIn: 'root' });
207
207
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLocaleService, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiLocaleService, decorators: [{
209
209
  type: Injectable,
210
210
  args: [{ providedIn: 'root' }]
211
211
  }], ctorParameters: () => [] });
@@ -241,10 +241,10 @@ class SiLocaleId extends String {
241
241
  toLowerCase() {
242
242
  return this.toString().toLowerCase();
243
243
  }
244
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLocaleId, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
245
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLocaleId });
244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiLocaleId, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
245
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiLocaleId });
246
246
  }
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLocaleId, decorators: [{
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiLocaleId, decorators: [{
248
248
  type: Injectable
249
249
  }], ctorParameters: () => [] });
250
250
 
@@ -286,10 +286,10 @@ class SiDirectionality {
286
286
  ngOnDestroy() {
287
287
  // empty, from Directionality
288
288
  }
289
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiDirectionality, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
290
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiDirectionality });
289
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiDirectionality, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
290
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiDirectionality });
291
291
  }
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiDirectionality, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiDirectionality, decorators: [{
293
293
  type: Injectable
294
294
  }] });
295
295
 
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-localization.mjs","sources":["../../../../projects/element-ng/localization/si-locale-store.ts","../../../../projects/element-ng/localization/si-locale.service.ts","../../../../projects/element-ng/localization/si-locale-id.ts","../../../../projects/element-ng/localization/si-directionality.ts","../../../../projects/element-ng/localization/index.ts","../../../../projects/element-ng/localization/siemens-element-ng-localization.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Observable, of } from 'rxjs';\n\nexport abstract class SiLocaleStore {\n abstract get locale(): string | undefined;\n abstract saveLocale(locale: string): Observable<boolean>;\n}\n\nexport const SI_LOCALE_LOCAL_STORAGE_KEY = 'lang';\n\nexport class SiDefaultLocaleStore extends SiLocaleStore {\n constructor(private isBrowser: boolean) {\n super();\n }\n\n get locale(): string | undefined {\n if (this.isBrowser) {\n return localStorage.getItem(SI_LOCALE_LOCAL_STORAGE_KEY) ?? undefined;\n } else {\n return undefined;\n }\n }\n\n saveLocale(locale: string): Observable<boolean> {\n if (this.isBrowser) {\n localStorage.setItem(SI_LOCALE_LOCAL_STORAGE_KEY, locale);\n return of(true);\n } else {\n return of(false);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, InjectionToken, PLATFORM_ID } from '@angular/core';\nimport {\n getBrowserCultureLanguage,\n getBrowserLanguage,\n injectSiTranslateService\n} from '@siemens/element-translate-ng/translate';\nimport { BehaviorSubject, ReplaySubject } from 'rxjs';\nimport { first } from 'rxjs/operators';\n\nimport { SiDefaultLocaleStore, SiLocaleStore } from './si-locale-store';\n\nexport const SI_LOCALE_STORE = new InjectionToken<string>('SI_LOCALE_STORE');\nexport const SI_LOCALE_CONFIG = new InjectionToken<SiLocaleConfig>('SI_LOCALE_CONFIG');\n\n// this is a function because Angular compiler exports arrows for no good reason\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nfunction defaultLocaleInitializer(localeId: string): Promise<void> {\n if (localeId === 'en') {\n return Promise.resolve();\n } else {\n return Promise.reject();\n }\n}\n\nexport interface SiLocaleConfig {\n /**\n * The default locale to be used, when no user preference\n * available and the browser language is not part of the\n * available languages.\n */\n defaultLocale?: string;\n /**\n * The list of available locales (e.g. en, fr, de, en-GB, de-AT)\n */\n availableLocales?: string[];\n /**\n * The localeInitializer function is invoked on every locale change.\n * Make sure to invoke `registerLocaleData` with the locale to enable\n * the Angular localization.\n */\n localeInitializer?: (localeId: string) => Promise<any>;\n /**\n * Set to true to also enable the default language on ngx-translate. When true,\n * ngx-translate will use a translate value from the default language when a required\n * value is not available in the current language. But note, this will also enforce\n * to load the default language translation file into the application, even if a different\n * locale is active. In other words, the application start time increases.\n */\n fallbackEnabled?: boolean;\n /**\n * Default is false and defines that on setting a new locale, the locale is stored and the\n * browser is reloaded. When changing to true, window reload is not invoked, but angular\n * pure pipes like DatePipe will not work.\n */\n dynamicLanguageChange?: boolean;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SiLocaleService {\n /**\n * Holds the used locale definition like en, de, or en-US.\n */\n readonly locale$: BehaviorSubject<string>;\n /**\n * Emits to indicate that the localization package (e.g. \\@angular/common/locales/$\\{localeId\\})\n * is loaded and registered. Emits after calling `localeInitializer` from the `config` object.\n */\n readonly localePackageLoaded$ = new ReplaySubject<void>(1);\n\n private _nextLocale!: string;\n private isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private translate = injectSiTranslateService();\n private localeStore =\n inject(SiLocaleStore, { optional: true }) ?? new SiDefaultLocaleStore(this.isBrowser);\n /**\n * The config for the local service.\n */\n config = inject(SI_LOCALE_CONFIG, { optional: true }) ?? {\n availableLocales: ['en'],\n defaultLocale: 'en',\n localeInitializer: defaultLocaleInitializer,\n fallbackEnabled: false,\n dynamicLanguageChange: false\n };\n\n constructor() {\n if (!this.config.defaultLocale) {\n if (this.config.availableLocales && this.config.availableLocales.length > 0) {\n this.config.defaultLocale = this.config.availableLocales[0];\n } else {\n this.config.defaultLocale = 'en';\n }\n }\n\n if (!this.config.availableLocales || this.config.availableLocales.length === 0) {\n this.config.availableLocales = [this.config.defaultLocale];\n }\n // Also adds all locales to the translate service to enable\n // components working with the translate service directly to still work.\n this.translate.availableLanguages = this.config.availableLocales;\n\n this.config.localeInitializer ??= defaultLocaleInitializer;\n this.config.fallbackEnabled ??= false;\n this.config.dynamicLanguageChange ??= false;\n\n const savedLocale = this.localeStore.locale;\n // The following check is important. We do not control the store and when it comes from\n // a remove backend, someone might give us a locale that we do not understand. In this\n // case we switch to the default.\n let initialLocale;\n const browserCultureLang = getBrowserCultureLanguage();\n const browserLang = getBrowserLanguage();\n if (this.hasLocale(savedLocale)) {\n initialLocale = savedLocale!;\n } else if (this.translate.currentLanguage) {\n initialLocale = this.translate.currentLanguage;\n } else if (this.hasLocale(browserCultureLang)) {\n initialLocale = browserCultureLang!;\n } else if (this.hasLocale(browserLang)) {\n initialLocale = browserLang!;\n } else {\n initialLocale = this.config.defaultLocale;\n }\n this.locale$ = new BehaviorSubject<string>(initialLocale);\n this.doSetLocale(initialLocale);\n\n // If a user changes the language on the translate service directly,\n // we synchronize the change again.\n this.translate.translationChange.subscribe(() => {\n this.locale = this.translate.currentLanguage;\n });\n\n if (this.config.fallbackEnabled) {\n this.translate.setDefaultLanguage(this.config.defaultLocale);\n }\n }\n\n /**\n * Sets a new locale to the locale service and also to the translate\n * service.\n * @throws An error if the new value is not configured in the available locales\n * or if the new locale cannot be saved, an error is thrown.\n */\n set locale(value: string) {\n if (value === this.locale$.value || value === this._nextLocale) {\n return;\n }\n if (!this.hasLocale(value)) {\n throw new Error(`The value ${value} does not exist in the available locales.`);\n }\n this.localeStore\n .saveLocale(value)\n .pipe(first())\n .subscribe({\n next: (saveSucceed: boolean) => {\n if (saveSucceed) {\n if (this.config.dynamicLanguageChange) {\n this.doSetLocale(value);\n } else if (this.isBrowser) {\n window.location.reload();\n }\n } else {\n throw new Error(`Could not save new locale ${value}.`);\n }\n },\n error: () => {\n throw new Error(`Could not save new locale ${value}.`);\n }\n });\n }\n\n get locale(): string {\n return this.locale$.value;\n }\n\n private doSetLocale(value: string): void {\n this._nextLocale = value;\n this.config.localeInitializer!(value).then(\n () => {\n this.localePackageLoaded$.next();\n this.translate\n .setCurrentLanguage(value)\n .pipe(first())\n .subscribe(() => {\n if (this.locale$.value !== value) {\n this.locale$.next(value);\n }\n });\n },\n () => {\n console.error(\n `Could not initialize new locale ${value}. Setting default locale ${this.config.defaultLocale}`\n );\n // Initialization of locale rejected. Setting default locale.\n this.translate\n .setCurrentLanguage(this.config.defaultLocale!)\n .pipe(first())\n .subscribe(() => {\n if (this.locale$.value !== this.config.defaultLocale!) {\n this.locale$.next(this.config.defaultLocale!);\n }\n });\n }\n );\n }\n\n /**\n * Test if the given locale is part of the available locales.\n * @param locale - The locale to be tested.\n */\n hasLocale(locale?: string): boolean {\n if (locale) {\n return this.config.availableLocales!.includes(locale);\n }\n return false;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable } from '@angular/core';\n\nimport { SiLocaleService } from './si-locale.service';\n\n/**\n * The SiLocaleId is used to provide a locale id from the translate service\n * to the angular localization. The Angular services call toString or valueOf\n * so that the current locale of the translation service is provided. The Intl.\n * library does not invoke toString() and using the value directly in Intl\n * formatting results always having the `en` locale. Thus, when using the SiLocaleId\n * in other services, make sure to use the `toString()` method before.\n */\n@Injectable()\nexport class SiLocaleId extends String {\n protected service: SiLocaleService;\n\n // the constructor is needed for unknown reasons. w/o the inject() fails\n constructor() {\n super();\n this.service = inject(SiLocaleService);\n }\n\n /**\n * Outputs the locale id as a string.\n */\n override toString(): string {\n return this.service.locale === 'template' ? 'en' : this.service.locale;\n }\n\n override valueOf(): string {\n return this.toString();\n }\n\n override toLowerCase(): string {\n return this.toString().toLowerCase();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { EventEmitter, Injectable, signal } from '@angular/core';\nimport { isRTL } from '@siemens/element-ng/common';\n\n/**\n * Provider for dynamic CDK directionality.\n *\n * CDK per default evaluates directionality once during initialization. This is a problem when\n * switching language later in the lifecycle. This provider can be used to make this dynamic.\n * To use, simply provide this in the `ApplicationConfig`:\n *\n * ```ts\n * import { Directionality } from '@angular/cdk/bidi';\n * import { SiDirectionality } from '@siemens/element-ng/localization';\n *\n * ...\n * export const APP_CONFIG: ApplicationConfig = {\n * providers: [\n * { provide: Directionality, useClass: SiDirectionality },\n * ...\n * ]\n * }\n *\n * bootstrapApplication(AppComponent, APP_CONFIG)\n * ...\n *\n * ```\n */\n\n@Injectable()\nexport class SiDirectionality implements Directionality {\n readonly change = new EventEmitter<Direction>();\n\n /** @defaultValue 'ltr' */\n readonly valueSignal = signal<Direction>('ltr');\n\n get value(): Direction {\n const dir = isRTL() ? 'rtl' : 'ltr';\n this.valueSignal.set(dir);\n return dir;\n }\n\n /** @internal */\n // eslint-disable-next-line @angular-eslint/use-lifecycle-interface, @angular-eslint/no-empty-lifecycle-method\n ngOnDestroy(): void {\n // empty, from Directionality\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-locale-id';\nexport * from './si-locale-store';\nexport * from './si-locale.service';\nexport * from './si-directionality';\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-localization.mjs","sources":["../../../../projects/element-ng/localization/si-locale-store.ts","../../../../projects/element-ng/localization/si-locale.service.ts","../../../../projects/element-ng/localization/si-locale-id.ts","../../../../projects/element-ng/localization/si-directionality.ts","../../../../projects/element-ng/localization/index.ts","../../../../projects/element-ng/localization/siemens-element-ng-localization.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Observable, of } from 'rxjs';\n\nexport abstract class SiLocaleStore {\n abstract get locale(): string | undefined;\n abstract saveLocale(locale: string): Observable<boolean>;\n}\n\nexport const SI_LOCALE_LOCAL_STORAGE_KEY = 'lang';\n\nexport class SiDefaultLocaleStore extends SiLocaleStore {\n constructor(private isBrowser: boolean) {\n super();\n }\n\n get locale(): string | undefined {\n if (this.isBrowser) {\n return localStorage.getItem(SI_LOCALE_LOCAL_STORAGE_KEY) ?? undefined;\n } else {\n return undefined;\n }\n }\n\n saveLocale(locale: string): Observable<boolean> {\n if (this.isBrowser) {\n localStorage.setItem(SI_LOCALE_LOCAL_STORAGE_KEY, locale);\n return of(true);\n } else {\n return of(false);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, InjectionToken, PLATFORM_ID } from '@angular/core';\nimport {\n getBrowserCultureLanguage,\n getBrowserLanguage,\n injectSiTranslateService\n} from '@siemens/element-translate-ng/translate';\nimport { BehaviorSubject, ReplaySubject } from 'rxjs';\nimport { first } from 'rxjs/operators';\n\nimport { SiDefaultLocaleStore, SiLocaleStore } from './si-locale-store';\n\nexport const SI_LOCALE_STORE = new InjectionToken<string>('SI_LOCALE_STORE');\nexport const SI_LOCALE_CONFIG = new InjectionToken<SiLocaleConfig>('SI_LOCALE_CONFIG');\n\n// this is a function because Angular compiler exports arrows for no good reason\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nfunction defaultLocaleInitializer(localeId: string): Promise<void> {\n if (localeId === 'en') {\n return Promise.resolve();\n } else {\n return Promise.reject();\n }\n}\n\nexport interface SiLocaleConfig {\n /**\n * The default locale to be used, when no user preference\n * available and the browser language is not part of the\n * available languages.\n */\n defaultLocale?: string;\n /**\n * The list of available locales (e.g. en, fr, de, en-GB, de-AT)\n */\n availableLocales?: string[];\n /**\n * The localeInitializer function is invoked on every locale change.\n * Make sure to invoke `registerLocaleData` with the locale to enable\n * the Angular localization.\n */\n localeInitializer?: (localeId: string) => Promise<any>;\n /**\n * Set to true to also enable the default language on ngx-translate. When true,\n * ngx-translate will use a translate value from the default language when a required\n * value is not available in the current language. But note, this will also enforce\n * to load the default language translation file into the application, even if a different\n * locale is active. In other words, the application start time increases.\n */\n fallbackEnabled?: boolean;\n /**\n * Default is false and defines that on setting a new locale, the locale is stored and the\n * browser is reloaded. When changing to true, window reload is not invoked, but angular\n * pure pipes like DatePipe will not work.\n */\n dynamicLanguageChange?: boolean;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SiLocaleService {\n /**\n * Holds the used locale definition like en, de, or en-US.\n */\n readonly locale$: BehaviorSubject<string>;\n /**\n * Emits to indicate that the localization package (e.g. \\@angular/common/locales/$\\{localeId\\})\n * is loaded and registered. Emits after calling `localeInitializer` from the `config` object.\n */\n readonly localePackageLoaded$ = new ReplaySubject<void>(1);\n\n private _nextLocale!: string;\n private isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private translate = injectSiTranslateService();\n private localeStore =\n inject(SiLocaleStore, { optional: true }) ?? new SiDefaultLocaleStore(this.isBrowser);\n /**\n * The config for the local service.\n */\n config = inject(SI_LOCALE_CONFIG, { optional: true }) ?? {\n availableLocales: ['en'],\n defaultLocale: 'en',\n localeInitializer: defaultLocaleInitializer,\n fallbackEnabled: false,\n dynamicLanguageChange: false\n };\n\n constructor() {\n if (!this.config.defaultLocale) {\n if (this.config.availableLocales && this.config.availableLocales.length > 0) {\n this.config.defaultLocale = this.config.availableLocales[0];\n } else {\n this.config.defaultLocale = 'en';\n }\n }\n\n if (!this.config.availableLocales || this.config.availableLocales.length === 0) {\n this.config.availableLocales = [this.config.defaultLocale];\n }\n // Also adds all locales to the translate service to enable\n // components working with the translate service directly to still work.\n this.translate.availableLanguages = this.config.availableLocales;\n\n this.config.localeInitializer ??= defaultLocaleInitializer;\n this.config.fallbackEnabled ??= false;\n this.config.dynamicLanguageChange ??= false;\n\n const savedLocale = this.localeStore.locale;\n // The following check is important. We do not control the store and when it comes from\n // a remove backend, someone might give us a locale that we do not understand. In this\n // case we switch to the default.\n let initialLocale;\n const browserCultureLang = getBrowserCultureLanguage();\n const browserLang = getBrowserLanguage();\n if (this.hasLocale(savedLocale)) {\n initialLocale = savedLocale!;\n } else if (this.translate.currentLanguage) {\n initialLocale = this.translate.currentLanguage;\n } else if (this.hasLocale(browserCultureLang)) {\n initialLocale = browserCultureLang!;\n } else if (this.hasLocale(browserLang)) {\n initialLocale = browserLang!;\n } else {\n initialLocale = this.config.defaultLocale;\n }\n this.locale$ = new BehaviorSubject<string>(initialLocale);\n this.doSetLocale(initialLocale);\n\n // If a user changes the language on the translate service directly,\n // we synchronize the change again.\n this.translate.translationChange.subscribe(() => {\n this.locale = this.translate.currentLanguage;\n });\n\n if (this.config.fallbackEnabled) {\n this.translate.setDefaultLanguage(this.config.defaultLocale);\n }\n }\n\n /**\n * Sets a new locale to the locale service and also to the translate\n * service.\n * @throws An error if the new value is not configured in the available locales\n * or if the new locale cannot be saved, an error is thrown.\n */\n set locale(value: string) {\n if (value === this.locale$.value || value === this._nextLocale) {\n return;\n }\n if (!this.hasLocale(value)) {\n throw new Error(`The value ${value} does not exist in the available locales.`);\n }\n this.localeStore\n .saveLocale(value)\n .pipe(first())\n .subscribe({\n next: (saveSucceed: boolean) => {\n if (saveSucceed) {\n if (this.config.dynamicLanguageChange) {\n this.doSetLocale(value);\n } else if (this.isBrowser) {\n window.location.reload();\n }\n } else {\n throw new Error(`Could not save new locale ${value}.`);\n }\n },\n error: () => {\n throw new Error(`Could not save new locale ${value}.`);\n }\n });\n }\n\n get locale(): string {\n return this.locale$.value;\n }\n\n private doSetLocale(value: string): void {\n this._nextLocale = value;\n this.config.localeInitializer!(value).then(\n () => {\n this.localePackageLoaded$.next();\n this.translate\n .setCurrentLanguage(value)\n .pipe(first())\n .subscribe(() => {\n if (this.locale$.value !== value) {\n this.locale$.next(value);\n }\n });\n },\n () => {\n console.error(\n `Could not initialize new locale ${value}. Setting default locale ${this.config.defaultLocale}`\n );\n // Initialization of locale rejected. Setting default locale.\n this.translate\n .setCurrentLanguage(this.config.defaultLocale!)\n .pipe(first())\n .subscribe(() => {\n if (this.locale$.value !== this.config.defaultLocale!) {\n this.locale$.next(this.config.defaultLocale!);\n }\n });\n }\n );\n }\n\n /**\n * Test if the given locale is part of the available locales.\n * @param locale - The locale to be tested.\n */\n hasLocale(locale?: string): boolean {\n if (locale) {\n return this.config.availableLocales!.includes(locale);\n }\n return false;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable } from '@angular/core';\n\nimport { SiLocaleService } from './si-locale.service';\n\n/**\n * The SiLocaleId is used to provide a locale id from the translate service\n * to the angular localization. The Angular services call toString or valueOf\n * so that the current locale of the translation service is provided. The Intl.\n * library does not invoke toString() and using the value directly in Intl\n * formatting results always having the `en` locale. Thus, when using the SiLocaleId\n * in other services, make sure to use the `toString()` method before.\n */\n@Injectable()\nexport class SiLocaleId extends String {\n protected service: SiLocaleService;\n\n // the constructor is needed for unknown reasons. w/o the inject() fails\n constructor() {\n super();\n this.service = inject(SiLocaleService);\n }\n\n /**\n * Outputs the locale id as a string.\n */\n override toString(): string {\n return this.service.locale === 'template' ? 'en' : this.service.locale;\n }\n\n override valueOf(): string {\n return this.toString();\n }\n\n override toLowerCase(): string {\n return this.toString().toLowerCase();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { EventEmitter, Injectable, signal } from '@angular/core';\nimport { isRTL } from '@siemens/element-ng/common';\n\n/**\n * Provider for dynamic CDK directionality.\n *\n * CDK per default evaluates directionality once during initialization. This is a problem when\n * switching language later in the lifecycle. This provider can be used to make this dynamic.\n * To use, simply provide this in the `ApplicationConfig`:\n *\n * ```ts\n * import { Directionality } from '@angular/cdk/bidi';\n * import { SiDirectionality } from '@siemens/element-ng/localization';\n *\n * ...\n * export const APP_CONFIG: ApplicationConfig = {\n * providers: [\n * { provide: Directionality, useClass: SiDirectionality },\n * ...\n * ]\n * }\n *\n * bootstrapApplication(AppComponent, APP_CONFIG)\n * ...\n *\n * ```\n */\n\n@Injectable()\nexport class SiDirectionality implements Directionality {\n readonly change = new EventEmitter<Direction>();\n\n /** @defaultValue 'ltr' */\n readonly valueSignal = signal<Direction>('ltr');\n\n get value(): Direction {\n const dir = isRTL() ? 'rtl' : 'ltr';\n this.valueSignal.set(dir);\n return dir;\n }\n\n /** @internal */\n // eslint-disable-next-line @angular-eslint/use-lifecycle-interface, @angular-eslint/no-empty-lifecycle-method\n ngOnDestroy(): void {\n // empty, from Directionality\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-locale-id';\nexport * from './si-locale-store';\nexport * from './si-locale.service';\nexport * from './si-directionality';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as i0 from '@angular/core';
3
3
  import { inject, ElementRef, ChangeDetectorRef, input, output, model, booleanAttribute, computed, HostBinding, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { ResizeObserverService, BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';
5
5
  import { SiSplitComponent, SiSplitPartComponent } from '@siemens/element-ng/split';
6
- import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
6
+ import { t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
7
7
 
8
8
  /**
9
9
  * Copyright (c) Siemens 2016 - 2025
@@ -81,10 +81,10 @@ class SiMainDetailContainerComponent {
81
81
  *
82
82
  * @defaultValue
83
83
  * ```
84
- * $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`
84
+ * t(() => $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`)
85
85
  * ```
86
86
  */
87
- detailsBackButtonText = input($localize `:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`);
87
+ detailsBackButtonText = input(t(() => $localize `:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`));
88
88
  /**
89
89
  * CSS class(es) applied to the outermost container. Per default, Bootstrap classes
90
90
  * to handle responsive paddings are applied: `px-6 pt-6 px-md-9`.
@@ -224,10 +224,10 @@ class SiMainDetailContainerComponent {
224
224
  updateDetailsFocusable() {
225
225
  this.preventFocusDetails = !this.hasLargeSize && !this.detailsActive();
226
226
  }
227
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiMainDetailContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
228
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiMainDetailContainerComponent, isStandalone: true, selector: "si-main-detail-container", inputs: { largeLayoutBreakpoint: { classPropertyName: "largeLayoutBreakpoint", publicName: "largeLayoutBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, detailsActive: { classPropertyName: "detailsActive", publicName: "detailsActive", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, truncateHeading: { classPropertyName: "truncateHeading", publicName: "truncateHeading", isSignal: true, isRequired: false, transformFunction: null }, detailsHeading: { classPropertyName: "detailsHeading", publicName: "detailsHeading", isSignal: true, isRequired: false, transformFunction: null }, resizableParts: { classPropertyName: "resizableParts", publicName: "resizableParts", isSignal: true, isRequired: false, transformFunction: null }, hideBackButton: { classPropertyName: "hideBackButton", publicName: "hideBackButton", isSignal: true, isRequired: false, transformFunction: null }, detailsBackButtonText: { classPropertyName: "detailsBackButtonText", publicName: "detailsBackButtonText", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, mainContainerClass: { classPropertyName: "mainContainerClass", publicName: "mainContainerClass", isSignal: true, isRequired: false, transformFunction: null }, detailContainerClass: { classPropertyName: "detailContainerClass", publicName: "detailContainerClass", isSignal: true, isRequired: false, transformFunction: null }, mainContainerWidth: { classPropertyName: "mainContainerWidth", publicName: "mainContainerWidth", isSignal: true, isRequired: false, transformFunction: null }, minMainSize: { classPropertyName: "minMainSize", publicName: "minMainSize", isSignal: true, isRequired: false, transformFunction: null }, minDetailSize: { classPropertyName: "minDetailSize", publicName: "minDetailSize", isSignal: true, isRequired: false, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hasLargeSizeChange: "hasLargeSizeChange", detailsActive: "detailsActiveChange", mainContainerWidth: "mainContainerWidthChange" }, host: { properties: { "class.animate": "this.animate", "style.opacity": "this.opacity" }, classAttribute: "si-layout-inner" }, usesOnChanges: true, ngImport: i0, template: "@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [ngClass]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n [sizes]=\"splitSizes\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n scale=\"none\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n scale=\"auto\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [ngClass]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [ngClass]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [ngClass]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-secondary element-back\"\n (click)=\"detailsBackClicked()\"\n ><span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span></button\n >\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-title-1 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}:host ::ng-deep [slot=mainSearch]{flex:1 1 0}:host ::ng-deep [slot=mainSearch]+[slot=mainActions]{margin-inline-start:12px}:host ::ng-deep [slot=mainActions]{margin-inline-start:auto}:host ::ng-deep [slot=mainData],:host ::ng-deep [slot=details]{flex:1 1 0;min-block-size:0}:host ::ng-deep [slot=detailActions]{margin-inline-start:auto}:host ::ng-deep .detail-heading+[slot=detailActions]{margin-inline-start:12px}:host ::ng-deep si-split{--si-split-gutter-background: transparent;min-block-size:0}:host ::ng-deep si-split si-split-part,:host ::ng-deep si-split .si-split-container,:host ::ng-deep si-split .si-split-part-content{overflow:visible}:host.animate{--si-main-detail-animation-duration: calc(.5s * var(--element-animations-enabled, 1))}.main-detail-layout{overflow-x:hidden;position:relative}.main-detail-layout.large-size{--si-main-detail-container-width: 100%;--si-main-detail-container-transition: none;--si-main-detail-container-transform: none;--si-main-detail-transition: none;--si-main-detail-opacity: 1;--si-main-detail-pointer-events: auto}.main-detail-container{--si-main-detail-transition: opacity var(--si-main-detail-animation-duration, 0) ease-in-out;--si-main-detail-detail-opacity: 0;--si-main-detail-detail-pointer-events: none;inline-size:var(--si-main-detail-container-width, 200%);transform:var(--si-main-detail-container-transform, none);transform-origin:top left;transition:var(--si-main-detail-container-transition, transform var(--si-main-detail-animation-duration, 0) ease-in-out)}.main-detail-container.details-active{--si-main-detail-container-transform: translateX(-50%);--si-main-detail-main-opacity: 0;--si-main-detail-detail-opacity: 1;--si-main-detail-main-pointer-events: none;--si-main-detail-detail-pointer-events: auto}.main-detail-layout,.main-detail-container,.main-container,.detail-container,.main-data-container{flex:1 1 0;min-block-size:0}.main-container,.detail-container{transition:var(--si-main-detail-transition, none)}.main-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-main-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-main-pointer-events, auto))}.detail-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-detail-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-detail-pointer-events, auto))}.main-search-actions:not(:empty){min-block-size:32px;margin-block-end:16px}.detail-heading-actions:not(:empty){min-block-size:32px;margin-block-end:16px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiSplitComponent, selector: "si-split", inputs: ["gutterSize", "orientation", "sizes", "stateId"], outputs: ["sizesChange"] }, { kind: "component", type: SiSplitPartComponent, selector: "si-split-part", inputs: ["actions", "collapseDirection", "collapseIconClass", "collapseToMinSize", "headerStatusColor", "headerStatusIconClass", "headerTemplate", "heading", "minSize", "removeContentOnCollapse", "scale", "showCollapseButton", "showHeader", "collapseLabel", "stateId", "size", "collapseOthers", "expanded"], outputs: ["collapseChanged", "stateChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
227
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiMainDetailContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
228
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiMainDetailContainerComponent, isStandalone: true, selector: "si-main-detail-container", inputs: { largeLayoutBreakpoint: { classPropertyName: "largeLayoutBreakpoint", publicName: "largeLayoutBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, detailsActive: { classPropertyName: "detailsActive", publicName: "detailsActive", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, truncateHeading: { classPropertyName: "truncateHeading", publicName: "truncateHeading", isSignal: true, isRequired: false, transformFunction: null }, detailsHeading: { classPropertyName: "detailsHeading", publicName: "detailsHeading", isSignal: true, isRequired: false, transformFunction: null }, resizableParts: { classPropertyName: "resizableParts", publicName: "resizableParts", isSignal: true, isRequired: false, transformFunction: null }, hideBackButton: { classPropertyName: "hideBackButton", publicName: "hideBackButton", isSignal: true, isRequired: false, transformFunction: null }, detailsBackButtonText: { classPropertyName: "detailsBackButtonText", publicName: "detailsBackButtonText", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, mainContainerClass: { classPropertyName: "mainContainerClass", publicName: "mainContainerClass", isSignal: true, isRequired: false, transformFunction: null }, detailContainerClass: { classPropertyName: "detailContainerClass", publicName: "detailContainerClass", isSignal: true, isRequired: false, transformFunction: null }, mainContainerWidth: { classPropertyName: "mainContainerWidth", publicName: "mainContainerWidth", isSignal: true, isRequired: false, transformFunction: null }, minMainSize: { classPropertyName: "minMainSize", publicName: "minMainSize", isSignal: true, isRequired: false, transformFunction: null }, minDetailSize: { classPropertyName: "minDetailSize", publicName: "minDetailSize", isSignal: true, isRequired: false, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hasLargeSizeChange: "hasLargeSizeChange", detailsActive: "detailsActiveChange", mainContainerWidth: "mainContainerWidthChange" }, host: { properties: { "class.animate": "this.animate", "style.opacity": "this.opacity" }, classAttribute: "si-layout-inner" }, usesOnChanges: true, ngImport: i0, template: "@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [ngClass]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n [sizes]=\"splitSizes\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n scale=\"none\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n scale=\"auto\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [ngClass]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [ngClass]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [ngClass]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-secondary element-back\"\n (click)=\"detailsBackClicked()\"\n ><span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span></button\n >\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-title-1 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}:host ::ng-deep [slot=mainSearch]{flex:1 1 0}:host ::ng-deep [slot=mainSearch]+[slot=mainActions]{margin-inline-start:12px}:host ::ng-deep [slot=mainActions]{margin-inline-start:auto}:host ::ng-deep [slot=mainData],:host ::ng-deep [slot=details]{flex:1 1 0;min-block-size:0}:host ::ng-deep [slot=detailActions]{margin-inline-start:auto}:host ::ng-deep .detail-heading+[slot=detailActions]{margin-inline-start:12px}:host ::ng-deep si-split{--si-split-gutter-background: transparent;min-block-size:0}:host ::ng-deep si-split si-split-part,:host ::ng-deep si-split .si-split-container,:host ::ng-deep si-split .si-split-part-content{overflow:visible}:host.animate{--si-main-detail-animation-duration: calc(.5s * var(--element-animations-enabled, 1))}.main-detail-layout{overflow-x:hidden;position:relative}.main-detail-layout.large-size{--si-main-detail-container-width: 100%;--si-main-detail-container-transition: none;--si-main-detail-container-transform: none;--si-main-detail-transition: none;--si-main-detail-opacity: 1;--si-main-detail-pointer-events: auto}.main-detail-container{--si-main-detail-transition: opacity var(--si-main-detail-animation-duration, 0) ease-in-out;--si-main-detail-detail-opacity: 0;--si-main-detail-detail-pointer-events: none;inline-size:var(--si-main-detail-container-width, 200%);transform:var(--si-main-detail-container-transform, none);transform-origin:top left;transition:var(--si-main-detail-container-transition, transform var(--si-main-detail-animation-duration, 0) ease-in-out)}.main-detail-container.details-active{--si-main-detail-container-transform: translateX(-50%);--si-main-detail-main-opacity: 0;--si-main-detail-detail-opacity: 1;--si-main-detail-main-pointer-events: none;--si-main-detail-detail-pointer-events: auto}.main-detail-layout,.main-detail-container,.main-container,.detail-container,.main-data-container{flex:1 1 0;min-block-size:0}.main-container,.detail-container{transition:var(--si-main-detail-transition, none)}.main-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-main-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-main-pointer-events, auto))}.detail-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-detail-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-detail-pointer-events, auto))}.main-search-actions:not(:empty){min-block-size:32px;margin-block-end:16px}.detail-heading-actions:not(:empty){min-block-size:32px;margin-block-end:16px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiSplitComponent, selector: "si-split", inputs: ["gutterSize", "orientation", "sizes", "stateId"], outputs: ["sizesChange"] }, { kind: "component", type: SiSplitPartComponent, selector: "si-split-part", inputs: ["actions", "collapseDirection", "collapseIconClass", "collapseToMinSize", "headerTemplate", "heading", "minSize", "removeContentOnCollapse", "scale", "showCollapseButton", "showHeader", "collapseLabel", "stateId", "size", "collapseOthers", "expanded"], outputs: ["collapseChanged", "stateChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
229
229
  }
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiMainDetailContainerComponent, decorators: [{
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiMainDetailContainerComponent, decorators: [{
231
231
  type: Component,
232
232
  args: [{ selector: 'si-main-detail-container', imports: [NgClass, NgTemplateOutlet, SiSplitComponent, SiSplitPartComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'si-layout-inner' }, template: "@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [ngClass]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n [sizes]=\"splitSizes\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n scale=\"none\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n scale=\"auto\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [ngClass]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [ngClass]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [ngClass]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-secondary element-back\"\n (click)=\"detailsBackClicked()\"\n ><span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span></button\n >\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-title-1 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}:host ::ng-deep [slot=mainSearch]{flex:1 1 0}:host ::ng-deep [slot=mainSearch]+[slot=mainActions]{margin-inline-start:12px}:host ::ng-deep [slot=mainActions]{margin-inline-start:auto}:host ::ng-deep [slot=mainData],:host ::ng-deep [slot=details]{flex:1 1 0;min-block-size:0}:host ::ng-deep [slot=detailActions]{margin-inline-start:auto}:host ::ng-deep .detail-heading+[slot=detailActions]{margin-inline-start:12px}:host ::ng-deep si-split{--si-split-gutter-background: transparent;min-block-size:0}:host ::ng-deep si-split si-split-part,:host ::ng-deep si-split .si-split-container,:host ::ng-deep si-split .si-split-part-content{overflow:visible}:host.animate{--si-main-detail-animation-duration: calc(.5s * var(--element-animations-enabled, 1))}.main-detail-layout{overflow-x:hidden;position:relative}.main-detail-layout.large-size{--si-main-detail-container-width: 100%;--si-main-detail-container-transition: none;--si-main-detail-container-transform: none;--si-main-detail-transition: none;--si-main-detail-opacity: 1;--si-main-detail-pointer-events: auto}.main-detail-container{--si-main-detail-transition: opacity var(--si-main-detail-animation-duration, 0) ease-in-out;--si-main-detail-detail-opacity: 0;--si-main-detail-detail-pointer-events: none;inline-size:var(--si-main-detail-container-width, 200%);transform:var(--si-main-detail-container-transform, none);transform-origin:top left;transition:var(--si-main-detail-container-transition, transform var(--si-main-detail-animation-duration, 0) ease-in-out)}.main-detail-container.details-active{--si-main-detail-container-transform: translateX(-50%);--si-main-detail-main-opacity: 0;--si-main-detail-detail-opacity: 1;--si-main-detail-main-pointer-events: none;--si-main-detail-detail-pointer-events: auto}.main-detail-layout,.main-detail-container,.main-container,.detail-container,.main-data-container{flex:1 1 0;min-block-size:0}.main-container,.detail-container{transition:var(--si-main-detail-transition, none)}.main-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-main-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-main-pointer-events, auto))}.detail-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-detail-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-detail-pointer-events, auto))}.main-search-actions:not(:empty){min-block-size:32px;margin-block-end:16px}.detail-heading-actions:not(:empty){min-block-size:32px;margin-block-end:16px}\n"] }]
233
233
  }], propDecorators: { animate: [{
@@ -243,11 +243,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
243
243
  * SPDX-License-Identifier: MIT
244
244
  */
245
245
  class SiMainDetailContainerModule {
246
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiMainDetailContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
247
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: SiMainDetailContainerModule, imports: [SiMainDetailContainerComponent], exports: [SiMainDetailContainerComponent] });
248
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiMainDetailContainerModule, imports: [SiMainDetailContainerComponent] });
246
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiMainDetailContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
247
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: SiMainDetailContainerModule, imports: [SiMainDetailContainerComponent], exports: [SiMainDetailContainerComponent] });
248
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiMainDetailContainerModule, imports: [SiMainDetailContainerComponent] });
249
249
  }
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiMainDetailContainerModule, decorators: [{
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiMainDetailContainerModule, decorators: [{
251
251
  type: NgModule,
252
252
  args: [{
253
253
  imports: [SiMainDetailContainerComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-main-detail-container.mjs","sources":["../../../../projects/element-ng/main-detail-container/si-main-detail-container.component.ts","../../../../projects/element-ng/main-detail-container/si-main-detail-container.component.html","../../../../projects/element-ng/main-detail-container/si-main-detail-container.module.ts","../../../../projects/element-ng/main-detail-container/index.ts","../../../../projects/element-ng/main-detail-container/siemens-element-ng-main-detail-container.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ElementRef,\n HostBinding,\n inject,\n input,\n model,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n SimpleChanges\n} from '@angular/core';\nimport {\n BOOTSTRAP_BREAKPOINTS,\n ElementDimensions,\n ResizeObserverService\n} from '@siemens/element-ng/resize-observer';\nimport { SiSplitComponent, SiSplitPartComponent } from '@siemens/element-ng/split';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'si-main-detail-container',\n imports: [NgClass, NgTemplateOutlet, SiSplitComponent, SiSplitPartComponent, SiTranslatePipe],\n templateUrl: './si-main-detail-container.component.html',\n styleUrl: './si-main-detail-container.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'si-layout-inner' }\n})\nexport class SiMainDetailContainerComponent implements OnInit, OnChanges, OnDestroy {\n private animationDuration = 500;\n private resizeSubs?: Subscription;\n private elementRef = inject(ElementRef);\n private resizeObserver = inject(ResizeObserverService);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n /**\n * A numeric value defining the minimum width in px, which the container needs\n * to be displayed in its large layout. Whenever smaller than\n * this threshold, the small layout will be used. Default is\n * value is BOOTSTRAP_BREAKPOINTS.mdMinimum.\n *\n * @defaultValue BOOTSTRAP_BREAKPOINTS.mdMinimum\n */\n readonly largeLayoutBreakpoint = input(BOOTSTRAP_BREAKPOINTS.mdMinimum);\n\n /**\n * Whether the main-detail layout component has a large size or not,\n * `true` if the container´s width matches or exceeds the `largeLayoutBreakpoint`.\n */\n hasLargeSize!: boolean;\n\n /**\n * Emits whether the components size is large enough to display\n * main and details views next to each other or not.\n */\n readonly hasLargeSizeChange = output<boolean>();\n\n /**\n * Whether the details are currently active or not, mostly relevant in the\n * responsive scenario when the viewport only shows either the main or the detail.\n *\n * @defaultValue false\n */\n readonly detailsActive = model(false);\n\n /**\n * The heading of the main-detail layout component, usually a page heading.\n *\n * @defaultValue ''\n */\n readonly heading = input('');\n\n /**\n * Whether the heading should be truncated (single line) or not.\n * Default value is `false`.\n *\n * @defaultValue false\n */\n readonly truncateHeading = input(false, { transform: booleanAttribute });\n\n /**\n * The heading of the detail area.\n *\n * @defaultValue ''\n */\n readonly detailsHeading = input('');\n\n /**\n * Whether the main and detail parts should be resizable by a splitter or not.\n * This is only supported in the 'large' scenario (when `hasLargeSize` is `true`).\n * Default value is `false`.\n *\n * @defaultValue false\n */\n readonly resizableParts = input(false, { transform: booleanAttribute });\n\n /**\n * You can hide the back button in the mobile view by setting true. Required\n * in add, edit workflows on mobile sizes. During add or edit, the back button\n * should be hidden. Default value is `false`.\n *\n * @defaultValue false\n */\n readonly hideBackButton = input(false, { transform: booleanAttribute });\n\n /**\n * Details back button text. Required for a11y.\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`\n * ```\n */\n readonly detailsBackButtonText = input($localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`);\n\n /**\n * CSS class(es) applied to the outermost container. Per default, Bootstrap classes\n * to handle responsive paddings are applied: `px-6 pt-6 px-md-9`.\n *\n * @defaultValue 'px-6 pt-6 px-md-9'\n */\n readonly containerClass = input('px-6 pt-6 px-md-9');\n\n /**\n * CSS class(es) applied to the main container. In combination with `containerClass`,\n * this allows for settings individual padding and margin values on the individual containers.\n *\n * @defaultValue 'pb-6'\n */\n readonly mainContainerClass = input('pb-6');\n\n /**\n * CSS class(es) applied to the detail container. In combination with `containerClass`,\n * this allows for settings individual padding and margin values on the individual containers.\n *\n * @defaultValue 'pb-6'\n */\n readonly detailContainerClass = input('pb-6');\n\n /**\n * The percentage width of the main container from the overall component width.\n * Can be a number or `'default'`, which is 32% when {@link resizableParts} is active, otherwise 50%.\n *\n * @defaultValue 'default'\n */\n readonly mainContainerWidth = model<number | 'default'>('default');\n /**\n * Sets the minimal width of the main container in pixel.\n *\n * @defaultValue 300\n */\n readonly minMainSize = input(300);\n /**\n * Sets the minimal width of the detail container in pixel.\n *\n * @defaultValue 300\n */\n readonly minDetailSize = input(300);\n /**\n * An optional stateId to uniquely identify a component instance.\n * Required for persistence of ui state.\n */\n readonly stateId = input<string>();\n\n /**\n * The attribute is set to true when the detail area is not visible to ensure that the user\n * can't tab to details area when it is hidden.\n */\n protected preventFocusDetails = false;\n\n private readonly actualMainContainerWidth = computed(() => {\n const mainContainerWidth = this.mainContainerWidth();\n return mainContainerWidth === 'default'\n ? this.resizableParts()\n ? 32\n : 50\n : mainContainerWidth;\n });\n\n protected splitSizes: [number, number] = [\n this.actualMainContainerWidth(),\n 100 - this.actualMainContainerWidth()\n ];\n // The max size to limit the main container in the static flex layout (if less than 50%), otherwise not set.\n protected maxMainSize: string = this.getMaxSize(0);\n // The max size to limit the detail container in the static flex layout (if less than 50%), otherwise not set.\n protected maxDetailSize: string = this.getMaxSize(1);\n\n protected readonly mainStateId = computed(() => {\n const stateId = this.stateId();\n return stateId ? `${stateId}-main` : undefined;\n });\n\n protected readonly detailStateId = computed(() => {\n const stateId = this.stateId();\n return stateId ? `${stateId}-detail` : undefined;\n });\n\n @HostBinding('class.animate') protected animate = false;\n\n @HostBinding('style.opacity') protected opacity = '0';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.detailsActive) {\n this.updateDetailsFocusable();\n this.doAnimation(changes.detailsActive.currentValue);\n }\n if (changes.mainContainerWidth || changes.resizableParts) {\n this.splitSizes = [this.actualMainContainerWidth(), 100 - this.actualMainContainerWidth()];\n this.maxMainSize = this.getMaxSize(0);\n this.maxDetailSize = this.getMaxSize(1);\n }\n }\n\n ngOnInit(): void {\n this.resizeSubs = this.resizeObserver\n .observe(this.elementRef.nativeElement, 100, true)\n .subscribe(dimensions => this.determineLayout(dimensions));\n }\n\n ngOnDestroy(): void {\n this.resizeSubs?.unsubscribe();\n }\n\n protected onSplitSizesChange(sizes: number[]): void {\n this.mainContainerWidth.set(sizes[0]);\n }\n\n protected detailsBackClicked(): void {\n this.detailsActive.set(false);\n this.doAnimation(false);\n }\n\n /**\n * Get the max size to limit in the static flex layout (if less than 50%), otherwise not set\n */\n private getMaxSize(part: 0 | 1): string {\n return this.resizableParts() ||\n this.mainContainerWidth() === 'default' ||\n !this.hasLargeSize ||\n this.splitSizes[part] > 50\n ? ''\n : this.splitSizes[part] + '%';\n }\n\n private determineLayout(dimensions: ElementDimensions): void {\n const newHasLargeSize = dimensions.width >= this.largeLayoutBreakpoint();\n if (this.hasLargeSize !== newHasLargeSize) {\n this.hasLargeSize = newHasLargeSize;\n this.maxMainSize = this.getMaxSize(0);\n this.maxDetailSize = this.getMaxSize(1);\n this.updateDetailsFocusable();\n this.hasLargeSizeChange.emit(this.hasLargeSize);\n this.changeDetectorRef.markForCheck();\n }\n if (this.opacity === '0') {\n this.opacity = '';\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private doAnimation(detailsActive: boolean): void {\n this.animate = true;\n setTimeout(() => {\n this.animate = false;\n this.changeDetectorRef.markForCheck();\n }, this.animationDuration);\n this.detailsActive.set(detailsActive);\n }\n\n private updateDetailsFocusable(): void {\n this.preventFocusDetails = !this.hasLargeSize && !this.detailsActive();\n }\n}\n","@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [ngClass]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n [sizes]=\"splitSizes\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n scale=\"none\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n scale=\"auto\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [ngClass]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [ngClass]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [ngClass]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-secondary element-back\"\n (click)=\"detailsBackClicked()\"\n ><span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span></button\n >\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-title-1 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiMainDetailContainerComponent } from './si-main-detail-container.component';\n\n@NgModule({\n imports: [SiMainDetailContainerComponent],\n exports: [SiMainDetailContainerComponent]\n})\nexport class SiMainDetailContainerModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-main-detail-container.component';\nexport * from './si-main-detail-container.module';\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-main-detail-container.mjs","sources":["../../../../projects/element-ng/main-detail-container/si-main-detail-container.component.ts","../../../../projects/element-ng/main-detail-container/si-main-detail-container.component.html","../../../../projects/element-ng/main-detail-container/si-main-detail-container.module.ts","../../../../projects/element-ng/main-detail-container/index.ts","../../../../projects/element-ng/main-detail-container/siemens-element-ng-main-detail-container.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ElementRef,\n HostBinding,\n inject,\n input,\n model,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n SimpleChanges\n} from '@angular/core';\nimport {\n BOOTSTRAP_BREAKPOINTS,\n ElementDimensions,\n ResizeObserverService\n} from '@siemens/element-ng/resize-observer';\nimport { SiSplitComponent, SiSplitPartComponent } from '@siemens/element-ng/split';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'si-main-detail-container',\n imports: [NgClass, NgTemplateOutlet, SiSplitComponent, SiSplitPartComponent, SiTranslatePipe],\n templateUrl: './si-main-detail-container.component.html',\n styleUrl: './si-main-detail-container.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'si-layout-inner' }\n})\nexport class SiMainDetailContainerComponent implements OnInit, OnChanges, OnDestroy {\n private animationDuration = 500;\n private resizeSubs?: Subscription;\n private elementRef = inject(ElementRef);\n private resizeObserver = inject(ResizeObserverService);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n /**\n * A numeric value defining the minimum width in px, which the container needs\n * to be displayed in its large layout. Whenever smaller than\n * this threshold, the small layout will be used. Default is\n * value is BOOTSTRAP_BREAKPOINTS.mdMinimum.\n *\n * @defaultValue BOOTSTRAP_BREAKPOINTS.mdMinimum\n */\n readonly largeLayoutBreakpoint = input(BOOTSTRAP_BREAKPOINTS.mdMinimum);\n\n /**\n * Whether the main-detail layout component has a large size or not,\n * `true` if the container´s width matches or exceeds the `largeLayoutBreakpoint`.\n */\n hasLargeSize!: boolean;\n\n /**\n * Emits whether the components size is large enough to display\n * main and details views next to each other or not.\n */\n readonly hasLargeSizeChange = output<boolean>();\n\n /**\n * Whether the details are currently active or not, mostly relevant in the\n * responsive scenario when the viewport only shows either the main or the detail.\n *\n * @defaultValue false\n */\n readonly detailsActive = model(false);\n\n /**\n * The heading of the main-detail layout component, usually a page heading.\n *\n * @defaultValue ''\n */\n readonly heading = input('');\n\n /**\n * Whether the heading should be truncated (single line) or not.\n * Default value is `false`.\n *\n * @defaultValue false\n */\n readonly truncateHeading = input(false, { transform: booleanAttribute });\n\n /**\n * The heading of the detail area.\n *\n * @defaultValue ''\n */\n readonly detailsHeading = input('');\n\n /**\n * Whether the main and detail parts should be resizable by a splitter or not.\n * This is only supported in the 'large' scenario (when `hasLargeSize` is `true`).\n * Default value is `false`.\n *\n * @defaultValue false\n */\n readonly resizableParts = input(false, { transform: booleanAttribute });\n\n /**\n * You can hide the back button in the mobile view by setting true. Required\n * in add, edit workflows on mobile sizes. During add or edit, the back button\n * should be hidden. Default value is `false`.\n *\n * @defaultValue false\n */\n readonly hideBackButton = input(false, { transform: booleanAttribute });\n\n /**\n * Details back button text. Required for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`)\n * ```\n */\n readonly detailsBackButtonText = input(t(() => $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`));\n\n /**\n * CSS class(es) applied to the outermost container. Per default, Bootstrap classes\n * to handle responsive paddings are applied: `px-6 pt-6 px-md-9`.\n *\n * @defaultValue 'px-6 pt-6 px-md-9'\n */\n readonly containerClass = input('px-6 pt-6 px-md-9');\n\n /**\n * CSS class(es) applied to the main container. In combination with `containerClass`,\n * this allows for settings individual padding and margin values on the individual containers.\n *\n * @defaultValue 'pb-6'\n */\n readonly mainContainerClass = input('pb-6');\n\n /**\n * CSS class(es) applied to the detail container. In combination with `containerClass`,\n * this allows for settings individual padding and margin values on the individual containers.\n *\n * @defaultValue 'pb-6'\n */\n readonly detailContainerClass = input('pb-6');\n\n /**\n * The percentage width of the main container from the overall component width.\n * Can be a number or `'default'`, which is 32% when {@link resizableParts} is active, otherwise 50%.\n *\n * @defaultValue 'default'\n */\n readonly mainContainerWidth = model<number | 'default'>('default');\n /**\n * Sets the minimal width of the main container in pixel.\n *\n * @defaultValue 300\n */\n readonly minMainSize = input(300);\n /**\n * Sets the minimal width of the detail container in pixel.\n *\n * @defaultValue 300\n */\n readonly minDetailSize = input(300);\n /**\n * An optional stateId to uniquely identify a component instance.\n * Required for persistence of ui state.\n */\n readonly stateId = input<string>();\n\n /**\n * The attribute is set to true when the detail area is not visible to ensure that the user\n * can't tab to details area when it is hidden.\n */\n protected preventFocusDetails = false;\n\n private readonly actualMainContainerWidth = computed(() => {\n const mainContainerWidth = this.mainContainerWidth();\n return mainContainerWidth === 'default'\n ? this.resizableParts()\n ? 32\n : 50\n : mainContainerWidth;\n });\n\n protected splitSizes: [number, number] = [\n this.actualMainContainerWidth(),\n 100 - this.actualMainContainerWidth()\n ];\n // The max size to limit the main container in the static flex layout (if less than 50%), otherwise not set.\n protected maxMainSize: string = this.getMaxSize(0);\n // The max size to limit the detail container in the static flex layout (if less than 50%), otherwise not set.\n protected maxDetailSize: string = this.getMaxSize(1);\n\n protected readonly mainStateId = computed(() => {\n const stateId = this.stateId();\n return stateId ? `${stateId}-main` : undefined;\n });\n\n protected readonly detailStateId = computed(() => {\n const stateId = this.stateId();\n return stateId ? `${stateId}-detail` : undefined;\n });\n\n @HostBinding('class.animate') protected animate = false;\n\n @HostBinding('style.opacity') protected opacity = '0';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.detailsActive) {\n this.updateDetailsFocusable();\n this.doAnimation(changes.detailsActive.currentValue);\n }\n if (changes.mainContainerWidth || changes.resizableParts) {\n this.splitSizes = [this.actualMainContainerWidth(), 100 - this.actualMainContainerWidth()];\n this.maxMainSize = this.getMaxSize(0);\n this.maxDetailSize = this.getMaxSize(1);\n }\n }\n\n ngOnInit(): void {\n this.resizeSubs = this.resizeObserver\n .observe(this.elementRef.nativeElement, 100, true)\n .subscribe(dimensions => this.determineLayout(dimensions));\n }\n\n ngOnDestroy(): void {\n this.resizeSubs?.unsubscribe();\n }\n\n protected onSplitSizesChange(sizes: number[]): void {\n this.mainContainerWidth.set(sizes[0]);\n }\n\n protected detailsBackClicked(): void {\n this.detailsActive.set(false);\n this.doAnimation(false);\n }\n\n /**\n * Get the max size to limit in the static flex layout (if less than 50%), otherwise not set\n */\n private getMaxSize(part: 0 | 1): string {\n return this.resizableParts() ||\n this.mainContainerWidth() === 'default' ||\n !this.hasLargeSize ||\n this.splitSizes[part] > 50\n ? ''\n : this.splitSizes[part] + '%';\n }\n\n private determineLayout(dimensions: ElementDimensions): void {\n const newHasLargeSize = dimensions.width >= this.largeLayoutBreakpoint();\n if (this.hasLargeSize !== newHasLargeSize) {\n this.hasLargeSize = newHasLargeSize;\n this.maxMainSize = this.getMaxSize(0);\n this.maxDetailSize = this.getMaxSize(1);\n this.updateDetailsFocusable();\n this.hasLargeSizeChange.emit(this.hasLargeSize);\n this.changeDetectorRef.markForCheck();\n }\n if (this.opacity === '0') {\n this.opacity = '';\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private doAnimation(detailsActive: boolean): void {\n this.animate = true;\n setTimeout(() => {\n this.animate = false;\n this.changeDetectorRef.markForCheck();\n }, this.animationDuration);\n this.detailsActive.set(detailsActive);\n }\n\n private updateDetailsFocusable(): void {\n this.preventFocusDetails = !this.hasLargeSize && !this.detailsActive();\n }\n}\n","@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [ngClass]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n [sizes]=\"splitSizes\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n scale=\"none\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n scale=\"auto\"\n [showCollapseButton]=\"false\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [ngClass]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [ngClass]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [ngClass]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-secondary element-back\"\n (click)=\"detailsBackClicked()\"\n ><span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span></button\n >\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-title-1 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiMainDetailContainerComponent } from './si-main-detail-container.component';\n\n@NgModule({\n imports: [SiMainDetailContainerComponent],\n exports: [SiMainDetailContainerComponent]\n})\nexport class SiMainDetailContainerModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-main-detail-container.component';\nexport * from './si-main-detail-container.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}