@siemens/element-ng 47.7.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 (668) hide show
  1. package/README.md +1 -1
  2. package/about/index.d.ts +127 -3
  3. package/accordion/index.d.ts +152 -9
  4. package/action-modal/index.d.ts +92 -2
  5. package/application-header/index.d.ts +357 -13
  6. package/auto-collapsable-list/index.d.ts +114 -10
  7. package/autocomplete/index.d.ts +77 -8
  8. package/avatar/index.d.ts +83 -4
  9. package/badge/index.d.ts +21 -5
  10. package/breadcrumb/index.d.ts +90 -3
  11. package/breadcrumb-router/index.d.ts +104 -4
  12. package/card/index.d.ts +88 -6
  13. package/circle-status/index.d.ts +75 -6
  14. package/color-picker/index.d.ts +65 -5
  15. package/column-selection-dialog/index.d.ts +89 -2
  16. package/common/index.d.ts +421 -4
  17. package/connection-strength/index.d.ts +29 -6
  18. package/content-action-bar/index.d.ts +88 -3
  19. package/copyright-notice/index.d.ts +48 -3
  20. package/dashboard/index.d.ts +783 -0
  21. package/dashboard/package.json +3 -0
  22. package/datatable/index.d.ts +45 -6
  23. package/date-range-filter/index.d.ts +333 -4
  24. package/datepicker/index.d.ts +1409 -11
  25. package/electron-titlebar/index.d.ts +84 -3
  26. package/empty-state/index.d.ts +27 -6
  27. package/fesm2022/siemens-element-ng-about.mjs +7 -7
  28. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-accordion.mjs +23 -36
  30. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-action-modal.mjs +41 -125
  32. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-application-header.mjs +80 -76
  34. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +51 -47
  36. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-autocomplete.mjs +42 -42
  38. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-avatar.mjs +10 -10
  40. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-badge.mjs +3 -3
  42. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +10 -10
  44. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-breadcrumb.mjs +13 -13
  46. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-card.mjs +7 -7
  48. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-circle-status.mjs +7 -7
  50. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-color-picker.mjs +12 -13
  52. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +29 -32
  54. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-common.mjs +14 -14
  56. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-connection-strength.mjs +7 -7
  58. package/fesm2022/siemens-element-ng-content-action-bar.mjs +14 -14
  59. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  60. package/fesm2022/siemens-element-ng-copyright-notice.mjs +7 -7
  61. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  62. package/fesm2022/siemens-element-ng-dashboard.mjs +1170 -0
  63. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -0
  64. package/fesm2022/siemens-element-ng-datatable.mjs +7 -7
  65. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  66. package/fesm2022/siemens-element-ng-date-range-filter.mjs +87 -73
  67. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  68. package/fesm2022/siemens-element-ng-datepicker.mjs +120 -158
  69. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  70. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +14 -14
  71. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  72. package/fesm2022/siemens-element-ng-empty-state.mjs +7 -7
  73. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  74. package/fesm2022/siemens-element-ng-file-uploader.mjs +54 -54
  75. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  76. package/fesm2022/siemens-element-ng-filter-bar.mjs +19 -19
  77. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  78. package/fesm2022/siemens-element-ng-filtered-search.mjs +31 -74
  79. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  80. package/fesm2022/siemens-element-ng-footer.mjs +7 -7
  81. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  82. package/fesm2022/siemens-element-ng-form.mjs +126 -271
  83. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  84. package/fesm2022/siemens-element-ng-formly.mjs +81 -86
  85. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  86. package/fesm2022/siemens-element-ng-header-dropdown.mjs +24 -23
  87. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  88. package/fesm2022/siemens-element-ng-help-button.mjs +63 -0
  89. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -0
  90. package/fesm2022/siemens-element-ng-icon-status.mjs +7 -7
  91. package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
  92. package/fesm2022/siemens-element-ng-icon.mjs +32 -27
  93. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  94. package/fesm2022/siemens-element-ng-info-page.mjs +3 -3
  95. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  96. package/fesm2022/siemens-element-ng-inline-notification.mjs +7 -7
  97. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  98. package/fesm2022/siemens-element-ng-ip-input.mjs +14 -13
  99. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  100. package/fesm2022/siemens-element-ng-landing-page.mjs +7 -7
  101. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  102. package/fesm2022/siemens-element-ng-language-switcher.mjs +10 -10
  103. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  104. package/fesm2022/siemens-element-ng-link.mjs +12 -12
  105. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  106. package/fesm2022/siemens-element-ng-list-details.mjs +39 -39
  107. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  108. package/fesm2022/siemens-element-ng-loading-spinner.mjs +19 -19
  109. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  110. package/fesm2022/siemens-element-ng-localization.mjs +9 -9
  111. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  112. package/fesm2022/siemens-element-ng-main-detail-container.mjs +10 -10
  113. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  114. package/fesm2022/siemens-element-ng-menu.mjs +38 -38
  115. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  116. package/fesm2022/siemens-element-ng-modal.mjs +8 -8
  117. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  118. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +47 -61
  119. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  120. package/fesm2022/siemens-element-ng-navbar.mjs +29 -29
  121. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  122. package/fesm2022/siemens-element-ng-number-input.mjs +9 -9
  123. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  124. package/fesm2022/siemens-element-ng-pagination.mjs +14 -14
  125. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  126. package/fesm2022/siemens-element-ng-password-strength.mjs +13 -16
  127. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  128. package/fesm2022/siemens-element-ng-password-toggle.mjs +12 -12
  129. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  130. package/fesm2022/siemens-element-ng-phone-number.mjs +21 -21
  131. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  132. package/fesm2022/siemens-element-ng-photo-upload.mjs +26 -26
  133. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  134. package/fesm2022/siemens-element-ng-pills-input.mjs +24 -24
  135. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  136. package/fesm2022/siemens-element-ng-popover-next.mjs +36 -25
  137. package/fesm2022/siemens-element-ng-popover-next.mjs.map +1 -1
  138. package/fesm2022/siemens-element-ng-popover.mjs +10 -10
  139. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-progressbar.mjs +10 -10
  141. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-resize-observer.mjs +15 -15
  143. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-result-details-list.mjs +8 -20
  145. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-search-bar.mjs +20 -17
  147. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-select.mjs +73 -73
  149. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -5
  151. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-side-panel.mjs +24 -24
  153. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-skip-links.mjs +12 -13
  155. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-slider.mjs +16 -16
  157. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-sort-bar.mjs +10 -10
  159. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  160. package/fesm2022/siemens-element-ng-split.mjs +13 -29
  161. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-status-bar.mjs +19 -19
  163. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-status-toggle.mjs +7 -7
  165. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-summary-chip.mjs +3 -3
  167. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-summary-widget.mjs +5 -5
  169. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-system-banner.mjs +3 -3
  171. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-tabs-next.mjs +148 -177
  173. package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-tabs.mjs +12 -11
  175. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-theme.mjs +5 -5
  177. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-threshold.mjs +22 -22
  179. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  180. package/fesm2022/siemens-element-ng-toast-notification.mjs +15 -15
  181. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  182. package/fesm2022/siemens-element-ng-tooltip.mjs +24 -18
  183. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  184. package/fesm2022/siemens-element-ng-tour.mjs +19 -19
  185. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  186. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  187. package/fesm2022/siemens-element-ng-tree-view.mjs +72 -97
  188. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  189. package/fesm2022/siemens-element-ng-typeahead.mjs +22 -39
  190. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  191. package/fesm2022/siemens-element-ng-unauthorized-page.mjs +7 -7
  192. package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -1
  193. package/fesm2022/siemens-element-ng-wizard.mjs +76 -109
  194. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  195. package/file-uploader/index.d.ts +419 -4
  196. package/filter-bar/index.d.ts +117 -4
  197. package/filtered-search/index.d.ts +433 -3
  198. package/footer/index.d.ts +23 -6
  199. package/form/index.d.ts +411 -10
  200. package/formly/index.d.ts +217 -2
  201. package/header-dropdown/index.d.ts +150 -5
  202. package/help-button/index.d.ts +26 -0
  203. package/help-button/package.json +3 -0
  204. package/icon/index.d.ts +210 -7
  205. package/icon-status/index.d.ts +33 -6
  206. package/index.d.ts +5 -3
  207. package/info-page/index.d.ts +39 -3
  208. package/inline-notification/index.d.ts +49 -6
  209. package/ip-input/index.d.ts +87 -3
  210. package/landing-page/index.d.ts +95 -3
  211. package/language-switcher/index.d.ts +53 -3
  212. package/link/index.d.ts +127 -4
  213. package/list-details/index.d.ts +176 -12
  214. package/loading-spinner/index.d.ts +128 -9
  215. package/localization/index.d.ts +147 -4
  216. package/main-detail-container/index.d.ts +161 -6
  217. package/menu/index.d.ts +195 -11
  218. package/modal/index.d.ts +129 -3
  219. package/navbar/index.d.ts +304 -4
  220. package/navbar-vertical/index.d.ts +226 -3
  221. package/number-input/index.d.ts +111 -6
  222. package/package.json +21 -13
  223. package/pagination/index.d.ts +75 -6
  224. package/password-strength/index.d.ts +96 -7
  225. package/password-toggle/index.d.ts +49 -6
  226. package/phone-number/index.d.ts +192 -3
  227. package/photo-upload/index.d.ts +304 -4
  228. package/pills-input/index.d.ts +135 -9
  229. package/popover/index.d.ts +98 -6
  230. package/popover-next/index.d.ts +112 -7
  231. package/progressbar/index.d.ts +54 -6
  232. package/resize-observer/index.d.ts +143 -6
  233. package/result-details-list/index.d.ts +58 -3
  234. package/search-bar/index.d.ts +93 -6
  235. package/select/index.d.ts +605 -14
  236. package/shadow-root/index.d.ts +39 -1
  237. package/side-panel/index.d.ts +276 -5
  238. package/skip-links/index.d.ts +24 -3
  239. package/slider/index.d.ts +139 -6
  240. package/sort-bar/index.d.ts +49 -6
  241. package/split/index.d.ts +207 -4
  242. package/status-bar/index.d.ts +178 -3
  243. package/status-toggle/index.d.ts +81 -2
  244. package/summary-chip/index.d.ts +48 -5
  245. package/summary-widget/index.d.ts +48 -5
  246. package/system-banner/index.d.ts +24 -3
  247. package/tabs/index.d.ts +161 -7
  248. package/tabs-next/index.d.ts +121 -7
  249. package/template-i18n.json +5 -3
  250. package/theme/index.d.ts +259 -3
  251. package/threshold/index.d.ts +156 -4
  252. package/toast-notification/index.d.ts +66 -2
  253. package/tooltip/index.d.ts +92 -3
  254. package/tour/index.d.ts +114 -2
  255. package/translate/index.d.ts +199 -3
  256. package/tree-view/index.d.ts +818 -8
  257. package/typeahead/index.d.ts +262 -4
  258. package/unauthorized-page/index.d.ts +42 -4
  259. package/wizard/index.d.ts +209 -7
  260. package/about/si-about-data.model.d.ts +0 -49
  261. package/about/si-about.component.d.ts +0 -71
  262. package/about/si-about.module.d.ts +0 -7
  263. package/accordion/si-accordion-hcollapse.service.d.ts +0 -17
  264. package/accordion/si-accordion.component.d.ts +0 -37
  265. package/accordion/si-accordion.module.d.ts +0 -8
  266. package/accordion/si-accordion.service.d.ts +0 -17
  267. package/accordion/si-collapsible-panel.component.d.ts +0 -89
  268. package/action-modal/si-action-dialog.service.d.ts +0 -49
  269. package/action-modal/si-action-dialog.types.d.ts +0 -92
  270. package/action-modal/si-alert-dialog/si-alert-dialog.component.d.ts +0 -32
  271. package/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.d.ts +0 -40
  272. package/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.d.ts +0 -45
  273. package/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.d.ts +0 -68
  274. package/application-header/launchpad/si-launchpad-app.component.d.ts +0 -21
  275. package/application-header/launchpad/si-launchpad-factory.component.d.ts +0 -83
  276. package/application-header/launchpad/si-launchpad.model.d.ts +0 -33
  277. package/application-header/si-application-header.component.d.ts +0 -60
  278. package/application-header/si-header-account-item.component.d.ts +0 -13
  279. package/application-header/si-header-action-item-icon-base.directive.d.ts +0 -26
  280. package/application-header/si-header-action-item.base.d.ts +0 -19
  281. package/application-header/si-header-action-item.component.d.ts +0 -9
  282. package/application-header/si-header-actions.directive.d.ts +0 -5
  283. package/application-header/si-header-brand.directive.d.ts +0 -5
  284. package/application-header/si-header-collapsible-actions.component.d.ts +0 -33
  285. package/application-header/si-header-logo.directive.d.ts +0 -16
  286. package/application-header/si-header-navigation-item.component.d.ts +0 -10
  287. package/application-header/si-header-navigation.component.d.ts +0 -11
  288. package/application-header/si-header-selection-item.component.d.ts +0 -12
  289. package/application-header/si-header-siemens-logo.component.d.ts +0 -21
  290. package/auto-collapsable-list/si-auto-collapsable-list-additional-content.directive.d.ts +0 -6
  291. package/auto-collapsable-list/si-auto-collapsable-list-item.directive.d.ts +0 -29
  292. package/auto-collapsable-list/si-auto-collapsable-list-measurable.class.d.ts +0 -16
  293. package/auto-collapsable-list/si-auto-collapsable-list-overflow-item.directive.d.ts +0 -12
  294. package/auto-collapsable-list/si-auto-collapsable-list.directive.d.ts +0 -47
  295. package/auto-collapsable-list/si-auto-collapsable-list.module.d.ts +0 -10
  296. package/autocomplete/si-autocomplete-listbox.directive.d.ts +0 -31
  297. package/autocomplete/si-autocomplete-option.directive.d.ts +0 -31
  298. package/autocomplete/si-autocomplete.directive.d.ts +0 -14
  299. package/autocomplete/si-autocomplete.model.d.ts +0 -7
  300. package/autocomplete/si-autocomplete.module.d.ts +0 -9
  301. package/avatar/si-avatar-background-color.directive.d.ts +0 -35
  302. package/avatar/si-avatar.component.d.ts +0 -51
  303. package/badge/si-badge.component.d.ts +0 -17
  304. package/breadcrumb/breadcrumb-item.model.d.ts +0 -36
  305. package/breadcrumb/si-breadcrumb-item-template.directive.d.ts +0 -10
  306. package/breadcrumb/si-breadcrumb.component.d.ts +0 -46
  307. package/breadcrumb/si-breadcrumb.module.d.ts +0 -7
  308. package/breadcrumb-router/si-breadcrumb-default-resolver.service.d.ts +0 -23
  309. package/breadcrumb-router/si-breadcrumb-router.component.d.ts +0 -30
  310. package/breadcrumb-router/si-breadcrumb-router.model.d.ts +0 -53
  311. package/breadcrumb-router/si-breadcrumb-router.module.d.ts +0 -7
  312. package/card/si-card.component.d.ts +0 -79
  313. package/card/si-card.module.d.ts +0 -7
  314. package/circle-status/si-circle-status.component.d.ts +0 -66
  315. package/circle-status/si-circle-status.module.d.ts +0 -7
  316. package/color-picker/si-color-picker.component.d.ts +0 -61
  317. package/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.d.ts +0 -23
  318. package/column-selection-dialog/si-column-selection-dialog.component.d.ts +0 -114
  319. package/column-selection-dialog/si-column-selection-dialog.service.d.ts +0 -20
  320. package/column-selection-dialog/si-column-selection-dialog.types.d.ts +0 -68
  321. package/common/decorators/index.d.ts +0 -5
  322. package/common/decorators/webcomponent.decorator.d.ts +0 -6
  323. package/common/helpers/animation.helpers.d.ts +0 -10
  324. package/common/helpers/global-events.helpers.d.ts +0 -5
  325. package/common/helpers/index.d.ts +0 -10
  326. package/common/helpers/overlay-helper.d.ts +0 -24
  327. package/common/helpers/positioning.helpers.d.ts +0 -58
  328. package/common/helpers/rtl.d.ts +0 -6
  329. package/common/helpers/track-by.helper.d.ts +0 -27
  330. package/common/models/color-variant.model.d.ts +0 -8
  331. package/common/models/index.d.ts +0 -8
  332. package/common/models/menu.model.d.ts +0 -85
  333. package/common/models/positions.model.d.ts +0 -18
  334. package/common/models/status-type.model.d.ts +0 -21
  335. package/common/services/blink.service.d.ts +0 -41
  336. package/common/services/index.d.ts +0 -8
  337. package/common/services/scrollbar-helper.service.d.ts +0 -17
  338. package/common/services/si-uistate.service.d.ts +0 -61
  339. package/common/services/text-measure.service.d.ts +0 -21
  340. package/connection-strength/si-connection-strength.component.d.ts +0 -19
  341. package/connection-strength/si-connection-strength.module.d.ts +0 -7
  342. package/content-action-bar/si-content-action-bar-toggle.component.d.ts +0 -6
  343. package/content-action-bar/si-content-action-bar.component.d.ts +0 -72
  344. package/content-action-bar/si-content-action-bar.model.d.ts +0 -9
  345. package/content-action-bar/si-content-action-bar.module.d.ts +0 -7
  346. package/copyright-notice/si-copyright-notice.component.d.ts +0 -18
  347. package/copyright-notice/si-copyright-notice.d.ts +0 -23
  348. package/copyright-notice/si-copyright-notice.module.d.ts +0 -7
  349. package/datatable/si-datatable-interaction.directive.d.ts +0 -34
  350. package/datatable/si-datatable.module.d.ts +0 -7
  351. package/date-range-filter/si-date-range-calculation.service.d.ts +0 -33
  352. package/date-range-filter/si-date-range-filter.component.d.ts +0 -252
  353. package/date-range-filter/si-date-range-filter.module.d.ts +0 -7
  354. package/date-range-filter/si-date-range-filter.types.d.ts +0 -40
  355. package/date-range-filter/si-relative-date.component.d.ts +0 -31
  356. package/datepicker/components/si-calendar-body.component.d.ts +0 -137
  357. package/datepicker/components/si-calendar-date-cell.directive.d.ts +0 -16
  358. package/datepicker/components/si-calendar-direction-button.component.d.ts +0 -18
  359. package/datepicker/components/si-compare-adapter.d.ts +0 -37
  360. package/datepicker/components/si-day-selection.component.d.ts +0 -76
  361. package/datepicker/components/si-initial-focus.component.d.ts +0 -74
  362. package/datepicker/components/si-month-selection.component.d.ts +0 -62
  363. package/datepicker/components/si-year-selection.component.d.ts +0 -65
  364. package/datepicker/date-time-helper.d.ts +0 -302
  365. package/datepicker/si-calendar-button.component.d.ts +0 -49
  366. package/datepicker/si-date-input.directive.d.ts +0 -114
  367. package/datepicker/si-date-range.component.d.ts +0 -150
  368. package/datepicker/si-datepicker-overlay.component.d.ts +0 -82
  369. package/datepicker/si-datepicker-overlay.directive.d.ts +0 -104
  370. package/datepicker/si-datepicker.component.d.ts +0 -228
  371. package/datepicker/si-datepicker.directive.d.ts +0 -62
  372. package/datepicker/si-datepicker.model.d.ts +0 -129
  373. package/datepicker/si-datepicker.module.d.ts +0 -12
  374. package/datepicker/si-timepicker.component.d.ts +0 -214
  375. package/electron-titlebar/electron.helpers.d.ts +0 -5
  376. package/electron-titlebar/si-electron-titlebar.component.d.ts +0 -72
  377. package/electron-titlebar/si-electron-titlebar.module.d.ts +0 -7
  378. package/empty-state/si-empty-state.component.d.ts +0 -18
  379. package/empty-state/si-empty-state.module.d.ts +0 -7
  380. package/file-uploader/si-file-dropzone.component.d.ts +0 -106
  381. package/file-uploader/si-file-uploader.component.d.ts +0 -296
  382. package/file-uploader/si-file-uploader.model.d.ts +0 -12
  383. package/file-uploader/si-file-uploader.module.d.ts +0 -8
  384. package/filter-bar/filter.d.ts +0 -26
  385. package/filter-bar/si-filter-bar.component.d.ts +0 -65
  386. package/filter-bar/si-filter-bar.module.d.ts +0 -7
  387. package/filter-bar/si-filter-pill.component.d.ts +0 -20
  388. package/filtered-search/si-filtered-search-helper.d.ts +0 -22
  389. package/filtered-search/si-filtered-search-value.component.d.ts +0 -53
  390. package/filtered-search/si-filtered-search.component.d.ts +0 -329
  391. package/filtered-search/si-filtered-search.model.d.ts +0 -139
  392. package/filtered-search/si-filtered-search.module.d.ts +0 -7
  393. package/filtered-search/values/date-value/si-filtered-search-date-value.component.d.ts +0 -57
  394. package/filtered-search/values/si-filtered-search-value.base.d.ts +0 -27
  395. package/filtered-search/values/typeahead/si-filtered-search-typeahead.component.d.ts +0 -45
  396. package/footer/si-footer.component.d.ts +0 -14
  397. package/footer/si-footer.module.d.ts +0 -7
  398. package/form/form-fieldset/si-form-fieldset.component.d.ts +0 -40
  399. package/form/si-form-container/si-form-container.component.d.ts +0 -155
  400. package/form/si-form-item/si-form-field-native.control.d.ts +0 -22
  401. package/form/si-form-item/si-form-item.component.d.ts +0 -90
  402. package/form/si-form-item-control-input.directive.d.ts +0 -18
  403. package/form/si-form-item.control.d.ts +0 -35
  404. package/form/si-form-validation-error.model.d.ts +0 -55
  405. package/form/si-form-validation-error.provider.d.ts +0 -11
  406. package/form/si-form-validation-error.service.d.ts +0 -42
  407. package/form/si-form-validation-tooltip/si-form-validation-tooltip.component.d.ts +0 -13
  408. package/form/si-form-validation-tooltip/si-form-validation-tooltip.directive.d.ts +0 -42
  409. package/form/si-form.module.d.ts +0 -25
  410. package/formly/fields/button/si-formly-button.component.d.ts +0 -7
  411. package/formly/fields/date-range/si-formly-date-range.component.d.ts +0 -6
  412. package/formly/fields/datetime/si-formly-datetime.component.d.ts +0 -13
  413. package/formly/fields/email/si-formly-email.component.d.ts +0 -6
  414. package/formly/fields/ip-input/si-formly-ip-input.component.d.ts +0 -6
  415. package/formly/fields/number/si-formly-number.component.d.ts +0 -6
  416. package/formly/fields/password/si-formly-password.component.d.ts +0 -6
  417. package/formly/fields/select/si-formly-select.component.d.ts +0 -6
  418. package/formly/fields/text/si-formly-text-display.component.d.ts +0 -7
  419. package/formly/fields/textarea/si-formly-textarea.component.d.ts +0 -18
  420. package/formly/fields/time/si-formly-time.component.d.ts +0 -13
  421. package/formly/si-formly-translate.extension.d.ts +0 -9
  422. package/formly/si-formly.component.d.ts +0 -62
  423. package/formly/si-formly.module.d.ts +0 -35
  424. package/formly/structural/si-formly-accordion/si-formly-accordion.component.d.ts +0 -13
  425. package/formly/structural/si-formly-array/si-formly-array.component.d.ts +0 -6
  426. package/formly/structural/si-formly-object/si-formly-object.component.d.ts +0 -6
  427. package/formly/structural/si-formly-object-grid/si-formly-object-grid.component.d.ts +0 -22
  428. package/formly/structural/si-formly-object-grid/si-formly-object-grid.model.d.ts +0 -21
  429. package/formly/structural/si-formly-object-plain/si-formly-object-plain.component.d.ts +0 -6
  430. package/formly/structural/si-formly-tabset/si-formly-object-tabset.component.d.ts +0 -7
  431. package/formly/utils.d.ts +0 -6
  432. package/formly/wrapper/si-formly-fieldset.component.d.ts +0 -8
  433. package/formly/wrapper/si-formly-form-field-provider.directive.d.ts +0 -19
  434. package/formly/wrapper/si-formly-horizontal-wrapper.component.d.ts +0 -6
  435. package/formly/wrapper/si-formly-icon-wrapper.component.d.ts +0 -6
  436. package/formly/wrapper/si-formly-wrapper.component.d.ts +0 -8
  437. package/header-dropdown/si-header-dropdown-item.component.d.ts +0 -23
  438. package/header-dropdown/si-header-dropdown-items-factory.component.d.ts +0 -14
  439. package/header-dropdown/si-header-dropdown-trigger.directive.d.ts +0 -57
  440. package/header-dropdown/si-header-dropdown.component.d.ts +0 -20
  441. package/header-dropdown/si-header.model.d.ts +0 -37
  442. package/icon/element-icons.d.ts +0 -55
  443. package/icon/icon-status.d.ts +0 -22
  444. package/icon/si-icon-next.component.d.ts +0 -64
  445. package/icon/si-icon.component.d.ts +0 -23
  446. package/icon/si-icon.module.d.ts +0 -7
  447. package/icon/si-icons.d.ts +0 -31
  448. package/icon/si-status-icon.component.d.ts +0 -9
  449. package/icon-status/si-icon-status.component.d.ts +0 -24
  450. package/icon-status/si-icon-status.module.d.ts +0 -7
  451. package/info-page/si-info-page.component.d.ts +0 -38
  452. package/inline-notification/si-inline-notification.component.d.ts +0 -40
  453. package/inline-notification/si-inline-notification.module.d.ts +0 -7
  454. package/ip-input/address-utils.d.ts +0 -28
  455. package/ip-input/address-validators.d.ts +0 -21
  456. package/ip-input/si-ip-input.directive.d.ts +0 -53
  457. package/ip-input/si-ip4-input.directive.d.ts +0 -9
  458. package/ip-input/si-ip6-input.directive.d.ts +0 -10
  459. package/landing-page/alert-config.model.d.ts +0 -15
  460. package/landing-page/si-landing-page.component.d.ts +0 -74
  461. package/landing-page/si-landing-page.module.d.ts +0 -7
  462. package/language-switcher/iso-language-value.d.ts +0 -14
  463. package/language-switcher/si-language-switcher.component.d.ts +0 -31
  464. package/language-switcher/si-language-switcher.module.d.ts +0 -7
  465. package/link/aria-current.model.d.ts +0 -5
  466. package/link/link.model.d.ts +0 -57
  467. package/link/si-link-action.service.d.ts +0 -17
  468. package/link/si-link.directive.d.ts +0 -42
  469. package/link/si-link.module.d.ts +0 -7
  470. package/list-details/si-details-pane/si-details-pane.component.d.ts +0 -8
  471. package/list-details/si-details-pane-body/si-details-pane-body.component.d.ts +0 -6
  472. package/list-details/si-details-pane-footer/si-details-pane-footer.component.d.ts +0 -6
  473. package/list-details/si-details-pane-header/si-details-pane-header.component.d.ts +0 -38
  474. package/list-details/si-list-details.component.d.ts +0 -100
  475. package/list-details/si-list-pane/si-list-pane.component.d.ts +0 -10
  476. package/list-details/si-list-pane-body/si-list-pane-body.component.d.ts +0 -6
  477. package/list-details/si-list-pane-header/si-list-pane-header.component.d.ts +0 -6
  478. package/loading-spinner/si-loading-button.component.d.ts +0 -31
  479. package/loading-spinner/si-loading-spinner.component.d.ts +0 -32
  480. package/loading-spinner/si-loading-spinner.directive.d.ts +0 -37
  481. package/loading-spinner/si-loading-spinner.module.d.ts +0 -8
  482. package/loading-spinner/si-loading-spinner.service.d.ts +0 -18
  483. package/localization/si-directionality.d.ts +0 -41
  484. package/localization/si-locale-id.d.ts +0 -22
  485. package/localization/si-locale-store.d.ts +0 -16
  486. package/localization/si-locale.service.d.ts +0 -73
  487. package/main-detail-container/si-main-detail-container.component.d.ts +0 -151
  488. package/main-detail-container/si-main-detail-container.module.d.ts +0 -7
  489. package/menu/si-menu-action.service.d.ts +0 -13
  490. package/menu/si-menu-bar.directive.d.ts +0 -12
  491. package/menu/si-menu-divider.directive.d.ts +0 -5
  492. package/menu/si-menu-factory-item-guard.directive.d.ts +0 -11
  493. package/menu/si-menu-factory.component.d.ts +0 -15
  494. package/menu/si-menu-header.directive.d.ts +0 -5
  495. package/menu/si-menu-item-base.directive.d.ts +0 -16
  496. package/menu/si-menu-item-checkbox.component.d.ts +0 -11
  497. package/menu/si-menu-item-radio.component.d.ts +0 -10
  498. package/menu/si-menu-item.component.d.ts +0 -10
  499. package/menu/si-menu-model.d.ts +0 -91
  500. package/menu/si-menu.directive.d.ts +0 -6
  501. package/menu/si-menu.module.d.ts +0 -14
  502. package/modal/modal.helpers.d.ts +0 -8
  503. package/modal/modalref.d.ts +0 -64
  504. package/modal/si-modal.component.d.ts +0 -32
  505. package/modal/si-modal.service.d.ts +0 -57
  506. package/navbar/account.model.d.ts +0 -39
  507. package/navbar/si-navbar-item/index.d.ts +0 -5
  508. package/navbar/si-navbar-item/si-navbar-item.component.d.ts +0 -29
  509. package/navbar/si-navbar-primary/index.d.ts +0 -6
  510. package/navbar/si-navbar-primary/si-navbar-primary.component.d.ts +0 -198
  511. package/navbar/si-navbar-primary/si-navbar-primary.model.d.ts +0 -34
  512. package/navbar/si-navbar.module.d.ts +0 -9
  513. package/navbar-vertical/si-navbar-vertical-divider.component.d.ts +0 -5
  514. package/navbar-vertical/si-navbar-vertical-group-trigger.directive.d.ts +0 -38
  515. package/navbar-vertical/si-navbar-vertical-group.component.d.ts +0 -16
  516. package/navbar-vertical/si-navbar-vertical-header.component.d.ts +0 -6
  517. package/navbar-vertical/si-navbar-vertical-item-legacy.component.d.ts +0 -17
  518. package/navbar-vertical/si-navbar-vertical-item.component.d.ts +0 -21
  519. package/navbar-vertical/si-navbar-vertical.component.d.ts +0 -148
  520. package/navbar-vertical/si-navbar-vertical.model.d.ts +0 -77
  521. package/navbar-vertical/si-navbar-vertical.module.d.ts +0 -7
  522. package/navbar-vertical/si-navbar-vertical.provider.d.ts +0 -7
  523. package/number-input/si-number-input.component.d.ts +0 -106
  524. package/number-input/si-number-input.module.d.ts +0 -7
  525. package/pagination/si-pagination.component.d.ts +0 -65
  526. package/pagination/si-pagination.module.d.ts +0 -7
  527. package/password-strength/si-password-strength.component.d.ts +0 -25
  528. package/password-strength/si-password-strength.directive.d.ts +0 -65
  529. package/password-strength/si-password-strength.module.d.ts +0 -8
  530. package/password-toggle/si-password-toggle.component.d.ts +0 -39
  531. package/password-toggle/si-password-toggle.module.d.ts +0 -7
  532. package/phone-number/si-phone-number-input-select.directive.d.ts +0 -10
  533. package/phone-number/si-phone-number-input.component.d.ts +0 -137
  534. package/phone-number/si-phone-number-input.models.d.ts +0 -48
  535. package/phone-number/si-phone-number-input.module.d.ts +0 -7
  536. package/photo-upload/si-image-cropper-style.component.d.ts +0 -5
  537. package/photo-upload/si-photo-upload.component.d.ts +0 -298
  538. package/pills-input/si-input-pill.component.d.ts +0 -9
  539. package/pills-input/si-pills-input-csv.directive.d.ts +0 -8
  540. package/pills-input/si-pills-input-email.directive.d.ts +0 -10
  541. package/pills-input/si-pills-input-pattern-base.d.ts +0 -19
  542. package/pills-input/si-pills-input-value-handler.d.ts +0 -12
  543. package/pills-input/si-pills-input.component.d.ts +0 -87
  544. package/pills-input/si-pills-input.module.d.ts +0 -9
  545. package/popover/si-popover.component.d.ts +0 -26
  546. package/popover/si-popover.directive.d.ts +0 -89
  547. package/popover/si-popover.module.d.ts +0 -7
  548. package/popover-next/si-popover-description.directive.d.ts +0 -7
  549. package/popover-next/si-popover-next.directive.d.ts +0 -61
  550. package/popover-next/si-popover-title.directive.d.ts +0 -7
  551. package/popover-next/si-popover.component.d.ts +0 -27
  552. package/progressbar/si-progressbar.component.d.ts +0 -43
  553. package/progressbar/si-progressbar.module.d.ts +0 -7
  554. package/public-api.d.ts +0 -5
  555. package/resize-observer/resize-observer.service.d.ts +0 -41
  556. package/resize-observer/si-resize-observer.directive.d.ts +0 -31
  557. package/resize-observer/si-resize-observer.module.d.ts +0 -8
  558. package/resize-observer/si-responsive-container.directive.d.ts +0 -73
  559. package/result-details-list/si-result-details-list.component.d.ts +0 -14
  560. package/result-details-list/si-result-details-list.datamodel.d.ts +0 -48
  561. package/result-details-list/si-result-details-list.module.d.ts +0 -7
  562. package/search-bar/si-search-bar.component.d.ts +0 -87
  563. package/search-bar/si-search-bar.module.d.ts +0 -7
  564. package/select/options/si-select-complex-options.directive.d.ts +0 -69
  565. package/select/options/si-select-lazy-options.directive.d.ts +0 -38
  566. package/select/options/si-select-option.source.d.ts +0 -49
  567. package/select/options/si-select-options-strategy.base.d.ts +0 -35
  568. package/select/options/si-select-options-strategy.d.ts +0 -37
  569. package/select/options/si-select-simple-options.directive.d.ts +0 -34
  570. package/select/select-input/si-select-input.component.d.ts +0 -43
  571. package/select/select-list/si-select-list-has-filter.component.d.ts +0 -20
  572. package/select/select-list/si-select-list.base.d.ts +0 -37
  573. package/select/select-list/si-select-list.component.d.ts +0 -15
  574. package/select/select-option/si-select-option-row.component.d.ts +0 -16
  575. package/select/select-option/si-select-option.component.d.ts +0 -9
  576. package/select/selection/si-select-multi-value.directive.d.ts +0 -26
  577. package/select/selection/si-select-selection-strategy.d.ts +0 -58
  578. package/select/selection/si-select-single-value.directive.d.ts +0 -26
  579. package/select/si-select-action.directive.d.ts +0 -12
  580. package/select/si-select-actions.directive.d.ts +0 -5
  581. package/select/si-select-group-template.directive.d.ts +0 -20
  582. package/select/si-select-option-row-template.directive.d.ts +0 -9
  583. package/select/si-select-option-template.directive.d.ts +0 -21
  584. package/select/si-select.component.d.ts +0 -96
  585. package/select/si-select.module.d.ts +0 -15
  586. package/select/si-select.types.d.ts +0 -65
  587. package/shadow-root/si-shadow-root.directive.d.ts +0 -39
  588. package/side-panel/si-side-panel-content.component.d.ts +0 -105
  589. package/side-panel/si-side-panel.component.d.ts +0 -108
  590. package/side-panel/si-side-panel.module.d.ts +0 -8
  591. package/side-panel/si-side-panel.service.d.ts +0 -45
  592. package/side-panel/side-panel.model.d.ts +0 -16
  593. package/skip-links/si-skip-link-target.directive.d.ts +0 -27
  594. package/skip-links/si-skip-links.component.d.ts +0 -9
  595. package/skip-links/skip-link.service.d.ts +0 -14
  596. package/slider/si-slider.component.d.ts +0 -129
  597. package/slider/si-slider.module.d.ts +0 -7
  598. package/sort-bar/si-sort-bar.component.d.ts +0 -42
  599. package/sort-bar/si-sort-bar.module.d.ts +0 -7
  600. package/split/si-split-part.component.d.ts +0 -154
  601. package/split/si-split.component.d.ts +0 -48
  602. package/split/si-split.interfaces.d.ts +0 -17
  603. package/split/si-split.module.d.ts +0 -8
  604. package/status-bar/si-status-bar-item/index.d.ts +0 -6
  605. package/status-bar/si-status-bar-item/si-status-bar-item.component.d.ts +0 -22
  606. package/status-bar/si-status-bar-item/si-status-bar-item.model.d.ts +0 -33
  607. package/status-bar/si-status-bar.component.d.ts +0 -116
  608. package/status-bar/si-status-bar.module.d.ts +0 -7
  609. package/status-toggle/si-status-toggle.component.d.ts +0 -54
  610. package/status-toggle/status-toggle.model.d.ts +0 -26
  611. package/summary-chip/si-summary-chip.component.d.ts +0 -44
  612. package/summary-widget/si-summary-widget.component.d.ts +0 -44
  613. package/system-banner/system-banner.component.d.ts +0 -23
  614. package/tabs/si-tab/index.d.ts +0 -5
  615. package/tabs/si-tab/si-tab.component.d.ts +0 -58
  616. package/tabs/si-tabs.module.d.ts +0 -8
  617. package/tabs/si-tabset/index.d.ts +0 -5
  618. package/tabs/si-tabset/si-tabset.component.d.ts +0 -100
  619. package/tabs-next/si-tab-next-base.directive.d.ts +0 -63
  620. package/tabs-next/si-tab-next-link.component.d.ts +0 -16
  621. package/tabs-next/si-tab-next.component.d.ts +0 -16
  622. package/tabs-next/si-tabs-tokens.d.ts +0 -7
  623. package/tabs-next/si-tabset-next.component.d.ts +0 -57
  624. package/theme/si-theme-store.d.ts +0 -82
  625. package/theme/si-theme.model.d.ts +0 -48
  626. package/theme/si-theme.service.d.ts +0 -129
  627. package/threshold/si-readonly-threshold-option.component.d.ts +0 -11
  628. package/threshold/si-threshold.component.d.ts +0 -147
  629. package/threshold/si-threshold.module.d.ts +0 -7
  630. package/toast-notification/si-toast-notification/si-toast-notification.component.d.ts +0 -17
  631. package/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.d.ts +0 -9
  632. package/toast-notification/si-toast-notification.service.d.ts +0 -41
  633. package/toast-notification/si-toast.model.d.ts +0 -25
  634. package/tooltip/si-tooltip.component.d.ts +0 -25
  635. package/tooltip/si-tooltip.directive.d.ts +0 -45
  636. package/tooltip/si-tooltip.module.d.ts +0 -7
  637. package/tooltip/si-tooltip.service.d.ts +0 -44
  638. package/tour/si-tour-highlight.component.d.ts +0 -15
  639. package/tour/si-tour-token.model.d.ts +0 -27
  640. package/tour/si-tour.component.d.ts +0 -31
  641. package/tour/si-tour.model.d.ts +0 -51
  642. package/tour/si-tour.service.d.ts +0 -62
  643. package/translate/si-translatable-keys.interface.d.ts +0 -188
  644. package/translate/si-translatable-overrides.provider.d.ts +0 -7
  645. package/tree-view/drag-drop.util.d.ts +0 -32
  646. package/tree-view/si-tree-view-converter.service.d.ts +0 -41
  647. package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +0 -105
  648. package/tree-view/si-tree-view-item/si-tree-view-item.directive.d.ts +0 -24
  649. package/tree-view/si-tree-view-item-context.d.ts +0 -11
  650. package/tree-view/si-tree-view-item-height.service.d.ts +0 -49
  651. package/tree-view/si-tree-view-item-template.directive.d.ts +0 -18
  652. package/tree-view/si-tree-view-virtualization.service.d.ts +0 -150
  653. package/tree-view/si-tree-view.component.d.ts +0 -466
  654. package/tree-view/si-tree-view.model.d.ts +0 -146
  655. package/tree-view/si-tree-view.module.d.ts +0 -10
  656. package/tree-view/si-tree-view.service.d.ts +0 -55
  657. package/tree-view/si-tree-view.utils.d.ts +0 -46
  658. package/typeahead/si-typeahead-item-template.directive.d.ts +0 -7
  659. package/typeahead/si-typeahead.component.d.ts +0 -22
  660. package/typeahead/si-typeahead.directive.d.ts +0 -196
  661. package/typeahead/si-typeahead.model.d.ts +0 -60
  662. package/typeahead/si-typeahead.module.d.ts +0 -8
  663. package/typeahead/si-typeahead.sorting.d.ts +0 -10
  664. package/unauthorized-page/si-unauthorized-page.component.d.ts +0 -35
  665. package/unauthorized-page/si-unauthorized-page.module.d.ts +0 -7
  666. package/wizard/si-wizard-step.component.d.ts +0 -21
  667. package/wizard/si-wizard.component.d.ts +0 -196
  668. package/wizard/si-wizard.module.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-column-selection-dialog.mjs","sources":["../../../../projects/element-ng/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.ts","../../../../projects/element-ng/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.html","../../../../projects/element-ng/column-selection-dialog/si-column-selection-dialog.component.ts","../../../../projects/element-ng/column-selection-dialog/si-column-selection-dialog.component.html","../../../../projects/element-ng/column-selection-dialog/si-column-selection-dialog.service.ts","../../../../projects/element-ng/column-selection-dialog/index.ts","../../../../projects/element-ng/column-selection-dialog/siemens-element-ng-column-selection-dialog.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { CdkOption } from '@angular/cdk/listbox';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n inject,\n input,\n output,\n viewChild\n} from '@angular/core';\nimport {\n addIcons,\n elementHide,\n elementLock,\n elementMenu,\n elementShow,\n SiIconNextComponent\n} from '@siemens/element-ng/icon';\n\nimport { Column } from '../si-column-selection-dialog.types';\n\n@Component({\n selector: 'si-column-selection-editor',\n imports: [CdkDragHandle, SiIconNextComponent],\n templateUrl: './si-column-selection-editor.component.html',\n styles: `\n .form-control {\n cursor: text;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block my-4 mx-1 rounded-2 elevation-1'\n }\n})\nexport class SiColumnSelectionEditorComponent {\n readonly column = input.required<Column>();\n readonly selected = input.required<boolean>();\n readonly renameInputLabel = input.required<string>();\n readonly columnVisibilityConfigurable = input.required<boolean>();\n\n readonly titleChange = output();\n readonly visibilityChange = output();\n\n protected readonly cdkOption = inject(CdkOption);\n protected editing = false;\n private readonly title = viewChild.required<ElementRef<HTMLInputElement>>('title');\n private readonly elementRef = inject<ElementRef<HTMLDivElement>>(ElementRef);\n protected readonly icons = addIcons({\n elementHide,\n elementMenu,\n elementLock,\n elementShow\n });\n\n @HostListener('keydown.enter', ['$event']) protected tryEdit(event: KeyboardEvent): void {\n if (this.column().editable) {\n event.stopPropagation();\n this.startEdit();\n }\n }\n\n protected updateTitle(value: string): void {\n this.column().title = value;\n this.titleChange.emit();\n }\n\n startEdit(): void {\n if (this.column().editable) {\n this.editing = true;\n setTimeout(() => this.title().nativeElement.focus());\n }\n }\n\n stopEdit(): void {\n this.editing = false;\n this.elementRef.nativeElement.focus();\n }\n\n toggleVisibility(): void {\n this.cdkOption.toggle();\n // manually toggling does not emit an event, so we have to fire one\n this.visibilityChange.emit();\n }\n}\n","<div class=\"d-flex p-4\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\n <div class=\"d-flex w-100\" [attr.aria-label]=\"column().title\">\n @if (editing) {\n <input\n #title\n type=\"text\"\n class=\"form-control w-100\"\n [attr.aria-label]=\"renameInputLabel()\"\n [value]=\"column().title\"\n (input)=\"updateTitle(title.value)\"\n (keydown.enter)=\"stopEdit()\"\n (blur)=\"stopEdit()\"\n />\n } @else {\n <span\n class=\"form-control text-truncate w-100\"\n [class.border-0]=\"!column().editable\"\n [class.px-0]=\"!column().editable\"\n [class.disabled]=\"column().disabled\"\n (click)=\"startEdit()\"\n >{{ column().title }}</span\n >\n }\n </div>\n\n <div class=\"d-flex align-items-center\">\n @if (columnVisibilityConfigurable()) {\n <span\n class=\"btn btn-circle btn-sm btn-tertiary ms-4\"\n [class.text-primary]=\"!column().disabled\"\n [class.disabled]=\"column().disabled\"\n (click)=\"toggleVisibility()\"\n >\n <si-icon-next [icon]=\"selected() ? icons.elementShow : icons.elementHide\" />\n </span>\n }\n <span\n cdkDragHandle\n class=\"btn btn-circle btn-sm btn-tertiary ms-4\"\n [class.disabled]=\"column().disabled\"\n [class.pe-none]=\"!column().draggable\"\n >\n <si-icon-next\n [class.pe-none]=\"!column().draggable\"\n [icon]=\"column().draggable ? icons.elementMenu : icons.elementLock\"\n />\n </span>\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport {\n CDK_DRAG_CONFIG,\n CdkDrag,\n CdkDragDrop,\n CdkDropList,\n moveItemInArray\n} from '@angular/cdk/drag-drop';\nimport { CdkListbox, CdkOption } from '@angular/cdk/listbox';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n model,\n OnInit,\n viewChild,\n viewChildren\n} from '@angular/core';\nimport { addIcons, elementCancel, SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport {\n injectSiTranslateService,\n SiTranslatePipe,\n TranslatableString\n} from '@siemens/element-translate-ng/translate';\nimport { first } from 'rxjs/operators';\n\nimport { SiColumnSelectionEditorComponent } from './column-selection-editor/si-column-selection-editor.component';\nimport { Column, ColumnSelectionDialogResult } from './si-column-selection-dialog.types';\n\nconst dragConfig = {\n dragStartThreshold: 0,\n pointerDirectionChangeThreshold: 5,\n zIndex: 10000\n};\n\n@Component({\n selector: 'si-column-selection-dialog',\n imports: [\n CdkDrag,\n CdkDropList,\n CdkListbox,\n CdkOption,\n CdkScrollableModule,\n SiIconNextComponent,\n SiTranslatePipe,\n SiColumnSelectionEditorComponent\n ],\n templateUrl: './si-column-selection-dialog.component.html',\n styleUrl: './si-column-selection-dialog.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: CDK_DRAG_CONFIG, useValue: dragConfig }]\n})\nexport class SiColumnSelectionDialogComponent implements OnInit {\n readonly titleId = input<string>();\n readonly heading = input<TranslatableString>();\n readonly bodyTitle = input<TranslatableString>();\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.SUBMIT:Apply`\n * ```\n */\n readonly submitBtnName = input<TranslatableString>(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.SUBMIT:Apply`\n );\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.CANCEL:Cancel`\n * ```\n */\n readonly cancelBtnName = input<TranslatableString>(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.CANCEL:Cancel`\n );\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT:Restore to default`\n * ```\n */\n readonly restoreToDefaultBtnName = input<TranslatableString>(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT:Restore to default`\n );\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.HIDDEN:Hidden`\n * ```\n */\n readonly hiddenText = input<TranslatableString>(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.HIDDEN:Hidden`\n );\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.VISIBLE:Visible`\n * ```\n */\n readonly visibleText = input<TranslatableString>(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.VISIBLE:Visible`\n );\n /** @defaultValue false */\n readonly restoreEnabled = input(false, { transform: booleanAttribute });\n readonly columns = model.required<Column[]>();\n /**\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<Record<string, unknown>>({});\n\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.LIST_ARIA_LABEL:\n * List of possible columns.\n * Items can be moved using Alt+ArrowUp or Alt+ArrowDown.\n * Press Enter to rename supported items.`\n * ```\n */\n readonly listAriaLabel = input(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.LIST_ARIA_LABEL:List of possible columns. Items can be moved using Alt+ArrowUp or Alt+ArrowDown. Press Enter to rename supported items.`\n );\n\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL:Rename column`\n * ```\n */\n readonly renameInputAriaLabel = input(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL:Rename column`\n );\n\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED:Item is now at position {{targetPosition}}`\n * ```\n */\n readonly a11yItemMovedMessage = input<TranslatableString>(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED:Item is now at position {{targetPosition}}`\n );\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED:Item was not moved`\n * ```\n */\n\n readonly a11yItemNotMovedMessage = input<TranslatableString>(\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED:Item was not moved`\n );\n /** @defaultValue true */\n readonly columnVisibilityConfigurable = input(true, { transform: booleanAttribute });\n\n private readonly listOptions = viewChildren(CdkOption);\n\n private readonly modalBodyElement = viewChild.required<ElementRef<HTMLDivElement>>('modalBody');\n\n private tempHeaderData: Column[] = [];\n\n protected readonly modalRef = inject(\n ModalRef<SiColumnSelectionDialogComponent, ColumnSelectionDialogResult>\n );\n protected readonly icons = addIcons({ elementCancel });\n\n protected visibleIds: string[] = [];\n\n private readonly liveAnnouncer = inject(LiveAnnouncer);\n private readonly translateService = injectSiTranslateService();\n\n ngOnInit(): void {\n this.setupColumnData();\n }\n\n /** @internal */\n get backupColumns(): Column[] {\n return this.tempHeaderData;\n }\n\n protected submitColumnSelection(): void {\n this.modalRef.hide({ type: 'ok', columns: this.columns() });\n }\n\n protected cancelColumnSelection(): void {\n this.columns.set([]);\n this.tempHeaderData.forEach(element => this.columns.update(a => [...a, element]));\n this.modalRef.hide({ type: 'cancel', columns: this.columns() });\n }\n\n protected drop(event: CdkDragDrop<string[]>): void {\n const columns = this.columns();\n if (columns[event.currentIndex].draggable) {\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n this.emitChange();\n }\n }\n\n protected restoreToDefault(): void {\n this.modalRef.hidden.next({\n type: 'restoreDefault',\n columns: this.columns(),\n updateColumns: columns => {\n this.columns.set(columns);\n this.setupColumnData();\n }\n });\n }\n\n protected moveDown(index: number, event: Event): void {\n const columns = this.columns();\n const listOptions = this.listOptions();\n if (columns[index].draggable) {\n let targetIndex = index + 1;\n while (columns[targetIndex] && !columns[targetIndex].draggable) {\n targetIndex++;\n }\n\n if (targetIndex !== index && columns[targetIndex]?.draggable) {\n event.preventDefault();\n moveItemInArray(columns, index, targetIndex);\n\n // When moving the first partially visible item down,\n // the browser tries to keep its position stable within the viewport by automatically scrolling down.\n // This behavior is not wanted here, so we restore the previous scroll after moving the item\n // TODO: check if this could be solved easier\n if (\n listOptions.at(index)!.element.getBoundingClientRect().top <=\n this.modalBodyElement().nativeElement.getBoundingClientRect().top\n ) {\n const previousScrollTop = this.modalBodyElement().nativeElement.scrollTop;\n setTimeout(() => (this.modalBodyElement().nativeElement.scrollTop = previousScrollTop));\n }\n\n // When moving the last visible element down, the scroll position is not adopted. So its scroll out of view.\n // We correct this manually by scrolling it back into view\n const targetElement = listOptions.at(targetIndex)!.element;\n if (\n targetElement.getBoundingClientRect().bottom >\n this.modalBodyElement().nativeElement.getBoundingClientRect().bottom\n ) {\n targetElement.scrollIntoView({ block: 'end' });\n }\n\n this.announceSuccessfulMove(targetIndex);\n this.emitChange();\n } else {\n this.announceNotSuccessfulMove();\n }\n }\n }\n\n protected moveUp(index: number, event: Event): void {\n const columns = this.columns();\n if (columns[index].draggable) {\n let targetIndex = index - 1;\n while (columns[targetIndex] && !columns[targetIndex].draggable) {\n targetIndex--;\n }\n\n if (targetIndex !== index && columns[targetIndex]?.draggable) {\n event.preventDefault();\n moveItemInArray(columns, index, targetIndex);\n // it seems like this is only necessary for move up. Don't know why\n setTimeout(() => this.listOptions().at(targetIndex)!.focus());\n this.announceSuccessfulMove(targetIndex);\n this.emitChange();\n } else {\n this.announceNotSuccessfulMove();\n }\n }\n }\n\n protected emitChange(): void {\n this.modalRef.hidden.next({ type: 'instant', columns: this.columns() });\n }\n\n protected updateVisibility(): void {\n const value = this.listOptions()\n .filter(option => option.isSelected())\n .map(option => option.value);\n for (const column of this.columns()) {\n column.visible = value.includes(column.id);\n }\n this.emitChange();\n }\n\n private setupColumnData(): void {\n const columns = this.columns();\n this.tempHeaderData = columns.map(x => Object.assign({}, x));\n this.visibleIds = columns.filter(column => column.visible).map(column => column.id);\n }\n\n private announceSuccessfulMove(index: number): void {\n this.announceMove(this.a11yItemMovedMessage(), {\n ...this.translationParams,\n targetPosition: index + 1\n });\n }\n\n private announceNotSuccessfulMove(): void {\n this.announceMove(this.a11yItemNotMovedMessage(), this.translationParams());\n }\n\n private announceMove(message?: string, translationParams?: Record<string, unknown>): void {\n if (message) {\n this.translateService\n .translateAsync(message, translationParams)\n .pipe(first())\n .subscribe(translatedMessage => this.liveAnnouncer.announce(translatedMessage));\n }\n }\n}\n","<div class=\"modal-header\">\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n (click)=\"cancelColumnSelection()\"\n >\n <si-icon-next [icon]=\"icons.elementCancel\" />\n </button>\n</div>\n<p class=\"text-secondary px-8 pb-5 mb-0\">{{ bodyTitle() | translate: translationParams() }}</p>\n<div #modalBody class=\"modal-body\" tabindex=\"-1\" cdkScrollable>\n <div\n cdkListbox\n cdkListboxMultiple\n cdkDropList\n [cdkListboxValue]=\"visibleIds\"\n [attr.aria-label]=\"listAriaLabel() | translate: translationParams\"\n (cdkListboxValueChange)=\"updateVisibility()\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (column of columns(); track column) {\n <si-column-selection-editor\n #cdkOption=\"cdkOption\"\n cdkDrag\n class=\"focus-inside\"\n [cdkDragDisabled]=\"!column.draggable\"\n [cdkOption]=\"column.id\"\n [cdkOptionDisabled]=\"column.disabled\"\n [column]=\"column\"\n [selected]=\"cdkOption.isSelected()\"\n [renameInputLabel]=\"renameInputAriaLabel() | translate: translationParams\"\n [columnVisibilityConfigurable]=\"columnVisibilityConfigurable()\"\n (titleChange)=\"emitChange()\"\n (visibilityChange)=\"updateVisibility()\"\n (keydown.alt.arrowUp)=\"moveUp($index, $event)\"\n (keydown.alt.arrowDown)=\"moveDown($index, $event)\"\n />\n }\n </div>\n</div>\n<div class=\"modal-footer\">\n @if (restoreEnabled()) {\n <button type=\"button\" class=\"btn btn-tertiary me-auto\" (click)=\"restoreToDefault()\">\n {{ restoreToDefaultBtnName() | translate }}\n </button>\n }\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancelColumnSelection()\">\n {{ cancelBtnName() | translate }}\n </button>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"submitColumnSelection()\">\n {{ submitBtnName() | translate }}\n </button>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable } from '@angular/core';\nimport {\n createModalConfig,\n ModalDependencyInjectionOptions,\n ModalOptions,\n SiModalService\n} from '@siemens/element-ng/modal';\nimport { Observable } from 'rxjs';\n\nimport { SiColumnSelectionDialogComponent } from './si-column-selection-dialog.component';\nimport {\n ColumnSelectionDialogResult,\n SiColumnSelectionDialogConfig\n} from './si-column-selection-dialog.types';\n\n@Injectable({ providedIn: 'root' })\nexport class SiColumnSelectionDialogService {\n private modalService = inject(SiModalService);\n\n /**\n * Opens a column selection dialog.\n *\n * Despite other dialogs,\n * this dialog informs the consumer not ONLY with clicking `submit` or `cancel`,\n * but also with changing the place or visibility of a dialog row\n * thanks to the `instant` type of emitted event.\n *\n * {@label WITH_OBJECT}\n */\n showColumnSelectionDialog(\n dialogConfig: SiColumnSelectionDialogConfig,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<ColumnSelectionDialogResult> {\n return new Observable<ColumnSelectionDialogResult>(subscriber => {\n const config: ModalOptions<any> = createModalConfig(dialogConfig);\n Object.assign(config, diOptions);\n\n config.class += ' modal-dialog-scrollable';\n config.keyboard = true;\n\n const modalRef = this.modalService.show<SiColumnSelectionDialogComponent>(\n SiColumnSelectionDialogComponent,\n config\n );\n const subscription = modalRef.hidden.subscribe(\n (confirmationResult: ColumnSelectionDialogResult | undefined) => {\n const keepModalOpen =\n confirmationResult?.type === 'instant' || confirmationResult?.type === 'restoreDefault';\n confirmationResult ??= { type: 'cancel', columns: modalRef.content.backupColumns };\n subscriber.next(confirmationResult);\n if (!keepModalOpen) {\n subscription.unsubscribe();\n subscriber.complete();\n }\n }\n );\n\n return () => {\n if (!subscription.closed) {\n subscription.unsubscribe();\n modalRef.detach();\n }\n };\n });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-column-selection-dialog.types';\nexport * from './si-column-selection-dialog.service';\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-column-selection-dialog.mjs","sources":["../../../../projects/element-ng/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.ts","../../../../projects/element-ng/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.html","../../../../projects/element-ng/column-selection-dialog/si-column-selection-dialog.component.ts","../../../../projects/element-ng/column-selection-dialog/si-column-selection-dialog.component.html","../../../../projects/element-ng/column-selection-dialog/si-column-selection-dialog.service.ts","../../../../projects/element-ng/column-selection-dialog/index.ts","../../../../projects/element-ng/column-selection-dialog/siemens-element-ng-column-selection-dialog.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { CdkOption } from '@angular/cdk/listbox';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n inject,\n input,\n output,\n viewChild\n} from '@angular/core';\nimport {\n addIcons,\n elementHide,\n elementLock,\n elementMenu,\n elementShow,\n SiIconNextComponent\n} from '@siemens/element-ng/icon';\n\nimport { Column } from '../si-column-selection-dialog.types';\n\n@Component({\n selector: 'si-column-selection-editor',\n imports: [CdkDragHandle, SiIconNextComponent],\n templateUrl: './si-column-selection-editor.component.html',\n styles: `\n .form-control {\n cursor: text;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block my-4 mx-1 rounded-2 elevation-1'\n }\n})\nexport class SiColumnSelectionEditorComponent {\n readonly column = input.required<Column>();\n readonly selected = input.required<boolean>();\n readonly renameInputLabel = input.required<string>();\n readonly columnVisibilityConfigurable = input.required<boolean>();\n\n readonly titleChange = output();\n readonly visibilityChange = output();\n\n protected readonly cdkOption = inject(CdkOption);\n protected editing = false;\n private readonly title = viewChild.required<ElementRef<HTMLInputElement>>('title');\n private readonly elementRef = inject<ElementRef<HTMLDivElement>>(ElementRef);\n protected readonly icons = addIcons({\n elementHide,\n elementMenu,\n elementLock,\n elementShow\n });\n\n @HostListener('keydown.enter', ['$event'])\n protected tryEdit(event: Event): void {\n if (this.column().editable) {\n event.stopPropagation();\n this.startEdit();\n }\n }\n\n protected updateTitle(value: string): void {\n this.column().title = value;\n this.titleChange.emit();\n }\n\n protected startEdit(): void {\n if (this.column().editable) {\n this.editing = true;\n setTimeout(() => this.title().nativeElement.focus());\n }\n }\n\n protected stopEdit(): void {\n this.editing = false;\n this.elementRef.nativeElement.focus();\n }\n\n protected toggleVisibility(): void {\n this.cdkOption.toggle();\n // manually toggling does not emit an event, so we have to fire one\n this.visibilityChange.emit();\n }\n}\n","<div class=\"d-flex p-4\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\n <div class=\"d-flex w-100\" [attr.aria-label]=\"column().title\">\n @if (editing) {\n <input\n #title\n type=\"text\"\n class=\"form-control w-100\"\n [attr.aria-label]=\"renameInputLabel()\"\n [value]=\"column().title\"\n (input)=\"updateTitle(title.value)\"\n (keydown.enter)=\"stopEdit()\"\n (blur)=\"stopEdit()\"\n />\n } @else {\n <span\n class=\"form-control text-truncate w-100\"\n [class.border-0]=\"!column().editable\"\n [class.px-0]=\"!column().editable\"\n [class.disabled]=\"column().disabled\"\n (click)=\"startEdit()\"\n >{{ column().title }}</span\n >\n }\n </div>\n\n <div class=\"d-flex align-items-center\">\n @if (columnVisibilityConfigurable()) {\n <span\n class=\"btn btn-circle btn-sm btn-tertiary ms-4\"\n [class.text-primary]=\"!column().disabled\"\n [class.disabled]=\"column().disabled\"\n (click)=\"toggleVisibility()\"\n >\n <si-icon-next [icon]=\"selected() ? icons.elementShow : icons.elementHide\" />\n </span>\n }\n <span\n cdkDragHandle\n class=\"btn btn-circle btn-sm btn-tertiary ms-4\"\n [class.disabled]=\"column().disabled\"\n [class.pe-none]=\"!column().draggable\"\n >\n <si-icon-next\n [class.pe-none]=\"!column().draggable\"\n [icon]=\"column().draggable ? icons.elementMenu : icons.elementLock\"\n />\n </span>\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport {\n CDK_DRAG_CONFIG,\n CdkDrag,\n CdkDragDrop,\n CdkDropList,\n moveItemInArray\n} from '@angular/cdk/drag-drop';\nimport { CdkListbox, CdkOption } from '@angular/cdk/listbox';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n model,\n OnInit,\n viewChild,\n viewChildren\n} from '@angular/core';\nimport { addIcons, elementCancel, SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport {\n injectSiTranslateService,\n SiTranslatePipe,\n t,\n TranslatableString\n} from '@siemens/element-translate-ng/translate';\nimport { first } from 'rxjs/operators';\n\nimport { SiColumnSelectionEditorComponent } from './column-selection-editor/si-column-selection-editor.component';\nimport { Column, ColumnSelectionDialogResult } from './si-column-selection-dialog.types';\n\nconst dragConfig = {\n dragStartThreshold: 0,\n pointerDirectionChangeThreshold: 5,\n zIndex: 10000\n};\n\n@Component({\n selector: 'si-column-selection-dialog',\n imports: [\n CdkDrag,\n CdkDropList,\n CdkListbox,\n CdkOption,\n CdkScrollableModule,\n SiIconNextComponent,\n SiTranslatePipe,\n SiColumnSelectionEditorComponent\n ],\n templateUrl: './si-column-selection-dialog.component.html',\n styleUrl: './si-column-selection-dialog.component.scss',\n providers: [{ provide: CDK_DRAG_CONFIG, useValue: dragConfig }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiColumnSelectionDialogComponent implements OnInit {\n readonly titleId = input<string>();\n readonly heading = input<TranslatableString>();\n readonly bodyTitle = input<TranslatableString>();\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.SUBMIT:Apply`)\n * ```\n */\n readonly submitBtnName = input<TranslatableString>(\n t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.SUBMIT:Apply`)\n );\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.CANCEL:Cancel`)\n * ```\n */\n readonly cancelBtnName = input<TranslatableString>(\n t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.CANCEL:Cancel`)\n );\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT:Restore to default`)\n * ```\n */\n readonly restoreToDefaultBtnName = input<TranslatableString>(\n t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT:Restore to default`)\n );\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.HIDDEN:Hidden`)\n * ```\n */\n readonly hiddenText = input<TranslatableString>(\n t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.HIDDEN:Hidden`)\n );\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.VISIBLE:Visible`)\n * ```\n */\n readonly visibleText = input<TranslatableString>(\n t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.VISIBLE:Visible`)\n );\n /** @defaultValue false */\n readonly restoreEnabled = input(false, { transform: booleanAttribute });\n readonly columns = model.required<Column[]>();\n /**\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<Record<string, unknown>>({});\n\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.LIST_ARIA_LABEL:List of possible columns. Items can be moved using Alt+ArrowUp or Alt+ArrowDown. Press Enter to rename supported items.`)\n * ```\n */\n readonly listAriaLabel = input(\n t(\n () =>\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.LIST_ARIA_LABEL:List of possible columns. Items can be moved using Alt+ArrowUp or Alt+ArrowDown. Press Enter to rename supported items.`\n )\n );\n\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL:Rename column`)\n * ```\n */\n readonly renameInputAriaLabel = input(\n t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL:Rename column`)\n );\n\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED:Item is now at position {{targetPosition}}`)\n * ```\n */\n readonly a11yItemMovedMessage = input<TranslatableString>(\n t(\n () =>\n $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED:Item is now at position {{targetPosition}}`\n )\n );\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED:Item was not moved`)\n * ```\n */\n\n readonly a11yItemNotMovedMessage = input<TranslatableString>(\n t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED:Item was not moved`)\n );\n /** @defaultValue true */\n readonly columnVisibilityConfigurable = input(true, { transform: booleanAttribute });\n\n private readonly listOptions = viewChildren(CdkOption);\n\n private readonly modalBodyElement = viewChild.required<ElementRef<HTMLDivElement>>('modalBody');\n\n private tempHeaderData: Column[] = [];\n\n protected readonly modalRef = inject(\n ModalRef<SiColumnSelectionDialogComponent, ColumnSelectionDialogResult>\n );\n protected readonly icons = addIcons({ elementCancel });\n\n protected visibleIds: string[] = [];\n\n private readonly liveAnnouncer = inject(LiveAnnouncer);\n private readonly translateService = injectSiTranslateService();\n\n ngOnInit(): void {\n this.setupColumnData();\n }\n\n /** @internal */\n get backupColumns(): Column[] {\n return this.tempHeaderData;\n }\n\n protected submitColumnSelection(): void {\n this.modalRef.hide({ type: 'ok', columns: this.columns() });\n }\n\n protected cancelColumnSelection(): void {\n this.columns.set([]);\n this.tempHeaderData.forEach(element => this.columns.update(a => [...a, element]));\n this.modalRef.hide({ type: 'cancel', columns: this.columns() });\n }\n\n protected drop(event: CdkDragDrop<string[]>): void {\n const columns = this.columns();\n if (columns[event.currentIndex].draggable) {\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n this.emitChange();\n }\n }\n\n protected restoreToDefault(): void {\n this.modalRef.hidden.next({\n type: 'restoreDefault',\n columns: this.columns(),\n updateColumns: columns => {\n this.columns.set(columns);\n this.setupColumnData();\n }\n });\n }\n\n protected moveDown(index: number, event: Event): void {\n const columns = this.columns();\n const listOptions = this.listOptions();\n if (columns[index].draggable) {\n let targetIndex = index + 1;\n while (columns[targetIndex] && !columns[targetIndex].draggable) {\n targetIndex++;\n }\n\n if (targetIndex !== index && columns[targetIndex]?.draggable) {\n event.preventDefault();\n moveItemInArray(columns, index, targetIndex);\n\n // When moving the first partially visible item down,\n // the browser tries to keep its position stable within the viewport by automatically scrolling down.\n // This behavior is not wanted here, so we restore the previous scroll after moving the item\n // TODO: check if this could be solved easier\n if (\n listOptions.at(index)!.element.getBoundingClientRect().top <=\n this.modalBodyElement().nativeElement.getBoundingClientRect().top\n ) {\n const previousScrollTop = this.modalBodyElement().nativeElement.scrollTop;\n setTimeout(() => (this.modalBodyElement().nativeElement.scrollTop = previousScrollTop));\n }\n\n // When moving the last visible element down, the scroll position is not adopted. So its scroll out of view.\n // We correct this manually by scrolling it back into view\n const targetElement = listOptions.at(targetIndex)!.element;\n if (\n targetElement.getBoundingClientRect().bottom >\n this.modalBodyElement().nativeElement.getBoundingClientRect().bottom\n ) {\n targetElement.scrollIntoView({ block: 'end' });\n }\n\n this.announceSuccessfulMove(targetIndex);\n this.emitChange();\n } else {\n this.announceNotSuccessfulMove();\n }\n }\n }\n\n protected moveUp(index: number, event: Event): void {\n const columns = this.columns();\n if (columns[index].draggable) {\n let targetIndex = index - 1;\n while (columns[targetIndex] && !columns[targetIndex].draggable) {\n targetIndex--;\n }\n\n if (targetIndex !== index && columns[targetIndex]?.draggable) {\n event.preventDefault();\n moveItemInArray(columns, index, targetIndex);\n // it seems like this is only necessary for move up. Don't know why\n setTimeout(() => this.listOptions().at(targetIndex)!.focus());\n this.announceSuccessfulMove(targetIndex);\n this.emitChange();\n } else {\n this.announceNotSuccessfulMove();\n }\n }\n }\n\n protected emitChange(): void {\n this.modalRef.hidden.next({ type: 'instant', columns: this.columns() });\n }\n\n protected updateVisibility(): void {\n const value = this.listOptions()\n .filter(option => option.isSelected())\n .map(option => option.value);\n for (const column of this.columns()) {\n column.visible = value.includes(column.id);\n }\n this.emitChange();\n }\n\n private setupColumnData(): void {\n const columns = this.columns();\n this.tempHeaderData = columns.map(x => Object.assign({}, x));\n this.visibleIds = columns.filter(column => column.visible).map(column => column.id);\n }\n\n private announceSuccessfulMove(index: number): void {\n this.announceMove(this.a11yItemMovedMessage(), {\n ...this.translationParams,\n targetPosition: index + 1\n });\n }\n\n private announceNotSuccessfulMove(): void {\n this.announceMove(this.a11yItemNotMovedMessage(), this.translationParams());\n }\n\n private announceMove(message?: string, translationParams?: Record<string, unknown>): void {\n if (message) {\n this.translateService\n .translateAsync(message, translationParams)\n .pipe(first())\n .subscribe(translatedMessage => this.liveAnnouncer.announce(translatedMessage));\n }\n }\n}\n","<div class=\"modal-header\">\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n (click)=\"cancelColumnSelection()\"\n >\n <si-icon-next [icon]=\"icons.elementCancel\" />\n </button>\n</div>\n<p class=\"text-secondary px-8 pb-5 mb-0\">{{ bodyTitle() | translate: translationParams() }}</p>\n<div #modalBody class=\"modal-body\" tabindex=\"-1\" cdkScrollable>\n <div\n cdkListbox\n cdkListboxMultiple\n cdkDropList\n [cdkListboxValue]=\"visibleIds\"\n [attr.aria-label]=\"listAriaLabel() | translate: translationParams\"\n (cdkListboxValueChange)=\"updateVisibility()\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (column of columns(); track column) {\n <si-column-selection-editor\n #cdkOption=\"cdkOption\"\n cdkDrag\n class=\"focus-inside\"\n [cdkDragDisabled]=\"!column.draggable\"\n [cdkOption]=\"column.id\"\n [cdkOptionDisabled]=\"column.disabled\"\n [column]=\"column\"\n [selected]=\"cdkOption.isSelected()\"\n [renameInputLabel]=\"renameInputAriaLabel() | translate: translationParams\"\n [columnVisibilityConfigurable]=\"columnVisibilityConfigurable()\"\n (titleChange)=\"emitChange()\"\n (visibilityChange)=\"updateVisibility()\"\n (keydown.alt.arrowUp)=\"moveUp($index, $event)\"\n (keydown.alt.arrowDown)=\"moveDown($index, $event)\"\n />\n }\n </div>\n</div>\n<div class=\"modal-footer\">\n @if (restoreEnabled()) {\n <button type=\"button\" class=\"btn btn-tertiary me-auto\" (click)=\"restoreToDefault()\">\n {{ restoreToDefaultBtnName() | translate }}\n </button>\n }\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancelColumnSelection()\">\n {{ cancelBtnName() | translate }}\n </button>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"submitColumnSelection()\">\n {{ submitBtnName() | translate }}\n </button>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable } from '@angular/core';\nimport {\n createModalConfig,\n ModalDependencyInjectionOptions,\n ModalOptions,\n SiModalService\n} from '@siemens/element-ng/modal';\nimport { Observable } from 'rxjs';\n\nimport { SiColumnSelectionDialogComponent } from './si-column-selection-dialog.component';\nimport {\n ColumnSelectionDialogResult,\n SiColumnSelectionDialogConfig\n} from './si-column-selection-dialog.types';\n\n@Injectable({ providedIn: 'root' })\nexport class SiColumnSelectionDialogService {\n private modalService = inject(SiModalService);\n\n /**\n * Opens a column selection dialog.\n *\n * Despite other dialogs,\n * this dialog informs the consumer not ONLY with clicking `submit` or `cancel`,\n * but also with changing the place or visibility of a dialog row\n * thanks to the `instant` type of emitted event.\n *\n * {@label WITH_OBJECT}\n */\n showColumnSelectionDialog(\n dialogConfig: SiColumnSelectionDialogConfig,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<ColumnSelectionDialogResult> {\n return new Observable<ColumnSelectionDialogResult>(subscriber => {\n const config: ModalOptions<any> = createModalConfig(dialogConfig);\n Object.assign(config, diOptions);\n\n config.class += ' modal-dialog-scrollable';\n config.keyboard = true;\n\n const modalRef = this.modalService.show<SiColumnSelectionDialogComponent>(\n SiColumnSelectionDialogComponent,\n config\n );\n const subscription = modalRef.hidden.subscribe(\n (confirmationResult: ColumnSelectionDialogResult | undefined) => {\n const keepModalOpen =\n confirmationResult?.type === 'instant' || confirmationResult?.type === 'restoreDefault';\n confirmationResult ??= { type: 'cancel', columns: modalRef.content.backupColumns };\n subscriber.next(confirmationResult);\n if (!keepModalOpen) {\n subscription.unsubscribe();\n subscriber.complete();\n }\n }\n );\n\n return () => {\n if (!subscription.closed) {\n subscription.unsubscribe();\n modalRef.detach();\n }\n };\n });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-column-selection-dialog.types';\nexport * from './si-column-selection-dialog.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, InjectionToken, inject, PLATFORM_ID } from '@angular/core';
2
+ import { Injectable, InjectionToken, inject, PLATFORM_ID, DOCUMENT } from '@angular/core';
3
3
  import { BehaviorSubject, timer } from 'rxjs';
4
4
  import { filter, map, distinctUntilChanged, takeUntil, endWith, repeat, share } from 'rxjs/operators';
5
- import { isPlatformBrowser, DOCUMENT } from '@angular/common';
5
+ import { isPlatformBrowser } from '@angular/common';
6
6
  import { OverlayConfig } from '@angular/cdk/overlay';
7
7
 
8
8
  /**
@@ -52,10 +52,10 @@ class BlinkService {
52
52
  isPaused() {
53
53
  return this.pause$.value;
54
54
  }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: BlinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: BlinkService, providedIn: 'root' });
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BlinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BlinkService, providedIn: 'root' });
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: BlinkService, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BlinkService, decorators: [{
59
59
  type: Injectable,
60
60
  args: [{ providedIn: 'root' }]
61
61
  }] });
@@ -141,10 +141,10 @@ class SiUIStateService {
141
141
  }
142
142
  return undefined;
143
143
  }
144
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiUIStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
145
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiUIStateService });
144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiUIStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
145
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiUIStateService });
146
146
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiUIStateService, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiUIStateService, decorators: [{
148
148
  type: Injectable
149
149
  }] });
150
150
  /** Enables the automatic storage of UI state for enabled components. */
@@ -201,10 +201,10 @@ class TextMeasureService {
201
201
  this.defaultFont ??= this.getFontStyle(this.document.body);
202
202
  this.measureCanvas.font = this.defaultFont;
203
203
  }
204
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: TextMeasureService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
205
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: TextMeasureService, providedIn: 'root' });
204
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextMeasureService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
205
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextMeasureService, providedIn: 'root' });
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: TextMeasureService, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextMeasureService, decorators: [{
208
208
  type: Injectable,
209
209
  args: [{
210
210
  providedIn: 'root'
@@ -242,10 +242,10 @@ class ScrollbarHelper {
242
242
  outer.parentNode?.removeChild(outer);
243
243
  return widthNoScroll - widthWithScroll;
244
244
  }
245
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ScrollbarHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
246
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ScrollbarHelper, providedIn: 'root' });
245
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ScrollbarHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
246
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ScrollbarHelper, providedIn: 'root' });
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ScrollbarHelper, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ScrollbarHelper, decorators: [{
249
249
  type: Injectable,
250
250
  args: [{ providedIn: 'root' }]
251
251
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-common.mjs","sources":["../../../../projects/element-ng/common/services/blink.service.ts","../../../../projects/element-ng/common/services/si-uistate.service.ts","../../../../projects/element-ng/common/services/text-measure.service.ts","../../../../projects/element-ng/common/services/scrollbar-helper.service.ts","../../../../projects/element-ng/common/services/index.ts","../../../../projects/element-ng/common/models/status-type.model.ts","../../../../projects/element-ng/common/models/positions.model.ts","../../../../projects/element-ng/common/models/index.ts","../../../../projects/element-ng/common/helpers/animation.helpers.ts","../../../../projects/element-ng/common/helpers/rtl.ts","../../../../projects/element-ng/common/helpers/positioning.helpers.ts","../../../../projects/element-ng/common/helpers/track-by.helper.ts","../../../../projects/element-ng/common/helpers/global-events.helpers.ts","../../../../projects/element-ng/common/helpers/overlay-helper.ts","../../../../projects/element-ng/common/helpers/index.ts","../../../../projects/element-ng/common/decorators/webcomponent.decorator.ts","../../../../projects/element-ng/common/decorators/index.ts","../../../../projects/element-ng/common/index.ts","../../../../projects/element-ng/common/siemens-element-ng-common.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, timer } from 'rxjs';\nimport {\n distinctUntilChanged,\n endWith,\n filter,\n map,\n repeat,\n share,\n takeUntil\n} from 'rxjs/operators';\n\n/**\n * A global blink pulse generator for synchronized blinking patterns across an entire application.\n * Use to trigger any blinking by subscribing to `pulse$`.\n */\n@Injectable({ providedIn: 'root' })\nexport class BlinkService {\n private pause$ = new BehaviorSubject<boolean>(false);\n\n private off$ = this.pause$.pipe(filter(v => v));\n private on$ = this.pause$.pipe(filter(v => !v));\n\n /**\n * Blink pulse. Subscribe to it to toggle `on` CSS class when true, `off` CSS class when `false`.\n * Do animations using CSS transitions\n *\n * @defaultValue\n * ```\n * timer(0, 1400).pipe(\n * map(count => count % 2 === 0),\n * distinctUntilChanged(),\n * takeUntil(this.off$),\n * endWith(false),\n * repeat({ delay: () => this.on$ }),\n * share()\n * )\n * ```\n */\n public readonly pulse$ = timer(0, 1400).pipe(\n map(count => count % 2 === 0),\n distinctUntilChanged(),\n takeUntil(this.off$),\n endWith(false),\n repeat({ delay: () => this.on$ }),\n share()\n );\n\n /**\n * Pause the blinking.\n */\n pause(): void {\n this.pause$.next(true);\n }\n\n /**\n * Resume the blinking.\n */\n resume(): void {\n this.pause$.next(false);\n }\n\n /**\n * Whether the blinking is paused or not.\n */\n isPaused(): boolean {\n return this.pause$.value;\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, Provider, Type } from '@angular/core';\n\nconst SI_UI_STATE_STORAGE = new InjectionToken<UIStateStorage>('si.ui-state.storage', {\n providedIn: 'root',\n factory: () => {\n if (isPlatformBrowser(inject(PLATFORM_ID))) {\n return new LocalStorageUIStateStorage();\n }\n return { save: () => {}, load: () => null };\n }\n});\n\n/**\n * Interface that defines a UIStateStore.\n * It must be provided via {@link provideSiUiState}.\n */\nexport interface UIStateStorage {\n /**\n * Saves data under a specific stateId.\n * Already existing data for that stateId should be overridden.\n * Asynchronous implementations must return a {@link Promise} and resolve it once saving was completed.\n *\n * Errors should be handled by the implementation.\n * The `SiUIStateService` does not handle errors.\n */\n save(stateId: string, data: string): void | Promise<void>;\n\n /**\n * Loads data for a specific stateId.\n * Can be asynchronous.\n *\n * Errors should be handled by the implementation.\n * The `SiUIStateService` does not handle errors.\n *\n * @returns The data or undefined if the data does not exist.\n * Asynchronous implementations must return a {@link Promise} containing the data.\n */\n load(stateId: string): string | undefined | null | Promise<string | undefined | null>;\n}\n\nclass LocalStorageUIStateStorage implements UIStateStorage {\n save(stateId: string, data: string): void {\n localStorage.setItem(`si.ui-state.${stateId}`, data);\n }\n\n load(stateId: string): string | null {\n return localStorage.getItem(`si.ui-state.${stateId}`);\n }\n}\n\n/** @internal */\nexport const SI_UI_STATE_SERVICE = new InjectionToken<SiUIStateService>('si.ui-state.service');\n\n/**\n * Service to save and load UI states.\n * @internal\n */\n@Injectable()\nclass SiUIStateService {\n private storage = inject(SI_UI_STATE_STORAGE);\n\n /**\n * Saves the provided state in the storage.\n * @param stateId - The unique id or key under which the state shall be saved.\n * @param state - The state to be saved.\n * @param version - The version of the state object.\n * This can be used to migrate state objects.\n */\n save<TState>(stateId: string, state: TState, version = 0): Promise<void> {\n return (\n this.storage.save(\n stateId,\n JSON.stringify({\n version,\n state\n })\n ) ?? Promise.resolve()\n );\n }\n\n /**\n * Loads and returns the state for the given stateId and version.\n * @param stateId - The unique id or key for which the state shall be loaded.\n * @param version - The version of the state object.\n * This can be used to migrate state objects.\n * @returns A Promise containing the state or undefined if the state does not exist or the version did not match.\n */\n load<TState = unknown>(stateId: string, version = 0): PromiseLike<TState | undefined> {\n // DO NOT ADD async keyword.\n // This method should stay synchronous if the storage is synchronous.\n // Otherwise, the navbar will play expand animations on load.\n const dataOrPromise = this.storage.load(stateId);\n if (dataOrPromise instanceof Promise) {\n return dataOrPromise.then(data => this.readData(data, version));\n } else {\n const promiseLike = {\n then: onfulfilled => {\n const data = this.readData<TState>(dataOrPromise, version);\n if (onfulfilled) {\n return onfulfilled(data);\n } else {\n return promiseLike;\n }\n }\n } as PromiseLike<TState | undefined>;\n\n return promiseLike;\n }\n }\n\n private readData<TState = unknown>(\n data: string | null | undefined,\n version: number\n ): TState | undefined {\n if (data) {\n const parsed = JSON.parse(data);\n if (parsed.version === version) {\n return parsed.state;\n }\n }\n\n return undefined;\n }\n}\n\nexport type { SiUIStateService };\n\n/** Enables the automatic storage of UI state for enabled components. */\nexport const provideSiUiState = (config?: { store?: Type<UIStateStorage> }): Provider[] => {\n return [\n { provide: SI_UI_STATE_SERVICE, useClass: SiUIStateService },\n config?.store ? { provide: SI_UI_STATE_STORAGE, useClass: config.store } : []\n ];\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\n\nexport interface FontStyleOverride {\n fontStyle?: string;\n fontVariant?: string;\n fontWeight?: string;\n fontSize?: string;\n fontFamily?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TextMeasureService {\n private measureCanvas?: CanvasRenderingContext2D;\n private defaultFont?: string;\n private document = inject(DOCUMENT);\n /** Measure text width in pixel. */\n measureText(text: string, fontRef?: HTMLElement | string, overrides?: FontStyleOverride): number {\n this.ensureCanvas();\n this.setFontStyle(fontRef, overrides);\n return Math.ceil(this.measureCanvas!.measureText(text).width);\n }\n /** Get font styles for `font` CSS short-hand property. */\n getFontStyle(element: HTMLElement, overrides?: FontStyleOverride): string {\n const style = getComputedStyle(element);\n // note: can't use destructuring on `style` as it doesn't work on Firefox\n const fontStyle = overrides?.fontStyle ?? style.fontStyle;\n const fontVariant = overrides?.fontVariant ?? style.fontVariant;\n const fontWeight = overrides?.fontWeight ?? style.fontWeight;\n const fontSize = overrides?.fontSize ?? style.fontSize;\n const fontFamily = overrides?.fontFamily ?? style.fontFamily;\n return `${fontStyle} ${fontVariant} ${fontWeight} ${fontSize} ${fontFamily}`\n .replace(/ +/g, ' ')\n .trim();\n }\n\n private ensureCanvas(): void {\n if (this.measureCanvas) {\n return;\n }\n const canvas = this.document.createElement('canvas') as HTMLCanvasElement;\n this.measureCanvas = canvas.getContext('2d') as CanvasRenderingContext2D;\n }\n\n private setFontStyle(fontRef?: HTMLElement | string, overrides?: FontStyleOverride): void {\n if (typeof fontRef === 'string') {\n this.measureCanvas!.font = fontRef;\n return;\n }\n if (fontRef || overrides) {\n this.measureCanvas!.font = this.getFontStyle(fontRef ?? this.document.body, overrides);\n return;\n }\n this.defaultFont ??= this.getFontStyle(this.document.body);\n this.measureCanvas!.font = this.defaultFont;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\n\n/**\n * Gets the width of the scrollbar. Nesc for windows\n * http://stackoverflow.com/a/13382873/888165\n */\n@Injectable({ providedIn: 'root' })\nexport class ScrollbarHelper {\n private document = inject(DOCUMENT);\n\n /**\n * The width of the scrollbar.\n *\n * @defaultValue this.getWidth()\n */\n readonly width: number = this.getWidth();\n\n private getWidth(): number {\n const outer = this.document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n (outer.style as any).msOverflowStyle = 'scrollbar';\n this.document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = this.document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './blink.service';\nexport * from './si-uistate.service';\nexport * from './text-measure.service';\nexport * from './scrollbar-helper.service';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nexport type StatusType = 'success' | 'info' | 'warning' | 'danger' | 'caution' | 'critical';\nexport type ExtendedStatusType = StatusType | 'unknown';\nexport type EntityStatusType = ExtendedStatusType | 'pending' | 'progress';\nexport type AccentLineType = StatusType | 'caution' | 'primary' | 'inactive';\n\nexport interface StatusIcon {\n icon: string;\n color: string;\n stacked: string;\n stackedColor: string;\n background: string;\n severity: number; // for sorting\n ariaLabel?: TranslatableString;\n}\n\nexport const STATUS_ICON: { [key in EntityStatusType]: StatusIcon } = {\n success: {\n icon: 'element-circle-filled',\n color: 'status-success',\n stacked: 'element-state-tick smooth-auto',\n stackedColor: 'status-success-contrast',\n background: 'bg-base-success',\n severity: 5\n },\n info: {\n icon: 'element-square-filled',\n color: 'status-info',\n stacked: 'element-state-info smooth-auto',\n stackedColor: 'status-info-contrast',\n background: 'bg-base-info',\n severity: 4\n },\n caution: {\n icon: 'element-square-45-filled',\n color: 'status-caution',\n stacked: 'element-state-exclamation-mark smooth-auto',\n stackedColor: 'status-caution-contrast',\n background: 'bg-base-caution',\n severity: 3\n },\n warning: {\n icon: 'element-triangle-filled',\n color: 'status-warning',\n stacked: 'element-state-exclamation-mark smooth-auto',\n stackedColor: 'status-warning-contrast',\n background: 'bg-base-warning',\n severity: 2\n },\n danger: {\n icon: 'element-circle-filled',\n color: 'status-danger',\n stacked: 'element-state-exclamation-mark smooth-auto',\n stackedColor: 'status-danger-contrast',\n background: 'bg-base-danger',\n severity: 1\n },\n critical: {\n icon: 'element-octagon-filled',\n color: 'status-critical',\n stacked: 'element-state-exclamation-mark smooth-auto',\n stackedColor: 'status-critical-contrast',\n background: 'bg-base-critical',\n severity: 0\n },\n progress: {\n icon: 'element-circle-filled',\n color: 'status-info',\n stacked: 'element-state-progress smooth-auto',\n stackedColor: 'status-info-contrast',\n background: 'bg-base-info',\n severity: 7\n },\n pending: {\n icon: 'element-circle-filled',\n color: 'status-caution',\n stacked: 'element-state-pause smooth-auto',\n stackedColor: 'status-caution-contrast',\n background: 'bg-base-caution',\n severity: 6\n },\n unknown: {\n icon: 'element-circle-filled',\n color: 'status-neutral',\n stacked: 'element-state-question-mark',\n stackedColor: 'text-body',\n background: 'bg-base-0',\n severity: 8\n }\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nconst positionStart: ConnectionPositionPair = {\n overlayX: 'end',\n overlayY: 'center',\n originX: 'start',\n originY: 'center'\n};\n\nconst positionEnd: ConnectionPositionPair = {\n overlayX: 'start',\n overlayY: 'center',\n originX: 'end',\n originY: 'center'\n};\n\nexport const positionTopCenter: ConnectionPositionPair = {\n overlayX: 'center',\n overlayY: 'bottom',\n originX: 'center',\n originY: 'top'\n};\n\nexport const positionTopStart: ConnectionPositionPair = {\n overlayX: 'start',\n overlayY: 'bottom',\n originX: 'center',\n originY: 'top'\n};\n\nexport const positionTopEnd: ConnectionPositionPair = {\n overlayX: 'end',\n overlayY: 'bottom',\n originX: 'center',\n originY: 'top'\n};\n\nexport const positionBottomCenter: ConnectionPositionPair = {\n overlayX: 'center',\n overlayY: 'top',\n originX: 'center',\n originY: 'bottom'\n};\n\nexport const positionBottomStart: ConnectionPositionPair = {\n overlayX: 'start',\n overlayY: 'top',\n originX: 'center',\n originY: 'bottom'\n};\n\nexport const positionBottomEnd: ConnectionPositionPair = {\n overlayX: 'end',\n overlayY: 'top',\n originX: 'center',\n originY: 'bottom'\n};\n\nexport const positions = {\n top: [\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionStart,\n positionEnd\n ],\n end: [\n positionEnd,\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionStart\n ],\n bottom: [\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionStart,\n positionEnd\n ],\n start: [\n positionStart,\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionEnd\n ],\n auto: [\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionStart,\n positionEnd\n ]\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './color-variant.model';\nexport * from './menu.model';\nexport * from './status-type.model';\nexport * from './positions.model';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n/**\n * @returns Returns whether animations are disabled via the CSS var. This is either set by\n * an application on low-end devices or in case the device is configured for reduced motion\n * (i.e. `@media (prefers-reduced-motion)` matches)\n */\nexport const areAnimationsDisabled = (): boolean => {\n const style = getComputedStyle(document.documentElement);\n const flag = style.getPropertyValue('--element-animations-enabled');\n return parseInt(flag, 10) === 0;\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport const isRTL = (elem?: HTMLElement): boolean =>\n getComputedStyle(elem ?? document.documentElement).direction === 'rtl';\n\nexport const correctKeyRTL = (key: string): string => {\n if (!isRTL()) {\n return key;\n }\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { isRTL } from './rtl';\n\nexport type Direction = 'down' | 'up' | 'start' | 'end';\nexport type PlacementBasicVertical = 'top' | 'bottom';\nexport type PlacementBasic = 'start' | 'end' | PlacementBasicVertical;\nexport type Placement = '' | PlacementBasic | `${PlacementBasic} ${PlacementBasic}`;\nexport type Align = 'start' | 'center' | 'end';\n\nexport const AXIS_X = {\n axis: 'X',\n directionRegular: 'end',\n directionReverse: 'start',\n upperBound: 'left',\n lowerBound: 'right',\n size: 'width',\n windowSize: 'innerWidth'\n} as const;\nexport const AXIS_Y = {\n axis: 'Y',\n directionRegular: 'down',\n directionReverse: 'up',\n upperBound: 'top',\n lowerBound: 'bottom',\n size: 'height',\n windowSize: 'innerHeight'\n} as const;\nexport const BOUNDING_RECT_WINDOW = {\n getBoundingClientRect: () => ({\n top: 0,\n left: 0,\n bottom: window.innerHeight,\n right: window.innerWidth\n })\n};\n\nexport const resolveReference = (\n hostElement: HTMLElement,\n reference: string\n): HTMLElement | null => {\n if (reference) {\n const childReferenceCheck = hostElement.querySelector(reference);\n if (childReferenceCheck) {\n return childReferenceCheck as HTMLElement;\n }\n const referenceCheck = hostElement.closest(reference);\n if (referenceCheck) {\n return referenceCheck as HTMLElement;\n }\n const all = document.querySelectorAll(reference);\n return (all[all.length - 1] as HTMLElement) ?? null;\n }\n return null;\n};\n\nconst getScrollParentsChain = (\n element: HTMLElement | null,\n axis: 'X' | 'Y',\n scrollParentsList: (typeof BOUNDING_RECT_WINDOW)[] = []\n): (typeof BOUNDING_RECT_WINDOW)[] => {\n if (element) {\n const overflowStyle =\n getComputedStyle(element)[axis === 'X' ? 'overflowX' : 'overflowY'] || 'visible';\n if (\n element[axis === 'X' ? 'clientWidth' : 'clientHeight'] &&\n overflowStyle !== 'visible' &&\n overflowStyle !== 'hidden'\n ) {\n scrollParentsList.push(document.documentElement === element ? BOUNDING_RECT_WINDOW : element);\n }\n if (element !== document.documentElement) {\n getScrollParentsChain(\n (element as any).dropdownParentElement ?? element.parentElement ?? document.body,\n axis,\n scrollParentsList\n );\n }\n }\n return scrollParentsList;\n};\n\nconst getCombinedBoundingClientRect = (\n elements: HTMLElement[]\n): { top: number; bottom: number; left: number; right: number } => {\n let top = 0;\n let bottom = 0;\n let left = 0;\n let right = 0;\n if (elements.length > 0) {\n const tops: number[] = [];\n const bottoms: number[] = [];\n const lefts: number[] = [];\n const rights: number[] = [];\n elements.forEach(element => {\n const rect = element.getBoundingClientRect();\n tops.push(rect.top);\n bottoms.push(rect.bottom);\n lefts.push(rect.left);\n rights.push(rect.right);\n });\n top = Math.min(...tops);\n bottom = Math.max(...bottoms);\n left = Math.min(...lefts);\n right = Math.max(...rights);\n }\n return { top, bottom, left, right };\n};\n\nconst calculatePlacementRefOuterBounds = (\n currentAxis: typeof AXIS_X | typeof AXIS_Y,\n placementReferenceElement: HTMLElement | null\n): { upper: number; lower: number } => {\n // The chain of scroll parents of the placement ref element up to and often including the body, checking for possible overlaps.\n const placementRefScrollParents = getScrollParentsChain(\n placementReferenceElement,\n currentAxis.axis\n );\n const placementRefScrollParentRects = placementRefScrollParents.map(item =>\n item.getBoundingClientRect()\n );\n // The biggest upper bound (top, left) of all scroll parents (and viewport = 0), the point before which content will be cut off.\n const placementRefScrollParentsUpperBound = Math.max(\n 0,\n ...placementRefScrollParentRects.map(item => item[currentAxis.upperBound])\n );\n // The smallest lower bound (bottom, right) of all scroll parents (and viewport), the point after which content will be cut off.\n const placementRefScrollParentsLowerBound = Math.min(\n window[currentAxis.windowSize],\n ...placementRefScrollParentRects.map(item => item[currentAxis.lowerBound])\n );\n return { upper: placementRefScrollParentsUpperBound, lower: placementRefScrollParentsLowerBound };\n};\n\nconst calculateDirectionFromPlacementRef = (params: {\n currentAxis: typeof AXIS_X | typeof AXIS_Y;\n positionRegular: { left: number; top: number };\n positionReverse: { left: number; top: number };\n contentSize: number;\n placementRefBounds: { upper: number; lower: number };\n currentDirection: Direction;\n rtl?: boolean;\n}): Direction => {\n const {\n currentAxis,\n positionRegular,\n positionReverse,\n contentSize,\n placementRefBounds,\n currentDirection,\n rtl\n } = params;\n // A number showing how many visible pixels would be available from the placement ref in regular / scroll (down, end) direction\n const placementRefSpaceRegular =\n placementRefBounds.lower - positionRegular[currentAxis.upperBound];\n // A number showing how many visible pixels would be available from the placement ref in reverse (up, start) direction\n const placementRefSpaceReverse =\n positionReverse[currentAxis.upperBound] - placementRefBounds.upper;\n if (placementRefSpaceReverse < contentSize && placementRefSpaceRegular < contentSize) {\n // If there would not be enough room in both directions, always prefer regular / scroll (down, end) direction,\n // since this way the element can expand and scroll while this cannot happen if there's not enough room in front.\n return rtl ? currentAxis.directionReverse : currentAxis.directionRegular;\n } else if (placementRefSpaceReverse < contentSize) {\n return currentAxis.directionRegular;\n } else if (placementRefSpaceRegular < contentSize) {\n return currentAxis.directionReverse;\n }\n // If there would be enough room in both directions, use the set direction (or the regular one if not set).\n return currentDirection;\n};\n\nconst getAbsoluteContentPosition = (params: {\n direction: Direction;\n placement: Placement;\n element: HTMLElement;\n align: Align;\n rtl?: boolean;\n}): { left: number; top: number } => {\n const { direction, placement, element, align, rtl } = params;\n const elementRect = element.getBoundingClientRect();\n\n const start = rtl ? elementRect.right : elementRect.left;\n const end = rtl ? elementRect.left : elementRect.right;\n\n let relativeLeftOffset = 0;\n if (direction === 'start' || direction === 'end') {\n relativeLeftOffset =\n placement.includes('end') || (!placement.includes('start') && direction === 'end')\n ? end\n : start;\n } else {\n if (placement.includes('start')) {\n relativeLeftOffset = start;\n } else {\n if (placement.includes('end') || align === 'end') {\n relativeLeftOffset = end;\n } else if (align === 'center') {\n relativeLeftOffset = elementRect.left + (elementRect.right - elementRect.left) / 2;\n } else {\n relativeLeftOffset = start;\n }\n }\n }\n let relativeTopOffset = 0;\n if (direction === 'up') {\n relativeTopOffset = placement.includes('bottom') ? elementRect.bottom : elementRect.top;\n } else if (direction === 'start' || direction === 'end') {\n relativeTopOffset = !placement.includes('bottom') ? elementRect.top : elementRect.bottom;\n } else {\n relativeTopOffset = placement.includes('top') ? elementRect.top : elementRect.bottom;\n }\n return { left: relativeLeftOffset, top: relativeTopOffset };\n};\n\nconst getRelativeContentPosition = (params: {\n contentElement: HTMLElement;\n direction: Direction;\n placement: Placement;\n placementReferenceElement: HTMLElement;\n align: Align;\n rtl?: boolean;\n}): { left: number; top: number } => {\n const { contentElement, direction, placement, placementReferenceElement, align, rtl } = params;\n const contentParent = (contentElement as HTMLElement).offsetParent ?? document.body;\n const contentParentRect = contentParent.getBoundingClientRect();\n const relativePosition = getAbsoluteContentPosition({\n direction,\n placement,\n element: placementReferenceElement,\n align,\n rtl\n });\n const leftOffset = relativePosition.left - contentParentRect.left + contentParent.scrollLeft;\n const topOffset = relativePosition.top - contentParentRect.top + contentParent.scrollTop;\n return { left: leftOffset, top: topOffset };\n};\n\nexport const getContentPositionString = (params: {\n contentElement: HTMLElement;\n direction: Direction;\n placement: Placement;\n placementReferenceElement: HTMLElement;\n align: Align;\n rtl?: boolean;\n}): string => {\n const { contentElement, direction, placement, placementReferenceElement, align, rtl } = params;\n const position = getRelativeContentPosition({\n contentElement,\n direction,\n placement,\n placementReferenceElement,\n align,\n rtl: rtl ?? isRTL()\n });\n return `translate3d(${position.left}px, ${position.top}px, 0px)`;\n};\n\nexport const responsivelyCheckDirection = (params: {\n isScrolling?: boolean;\n currentDirection: Direction;\n contentElements: HTMLElement[];\n hostElement: HTMLElement | null;\n placement: Placement;\n placementReferenceElement: HTMLElement;\n align: Align;\n responsiveDirectionToPlacement: boolean;\n closeOnPlacementReferenceScrollOut: boolean;\n closeOnContentScrollOut: boolean;\n minSpaceThresholdFactor?: number;\n placementReverse?: Placement;\n rtl?: boolean;\n}): { responsiveDirection?: Direction; close: boolean } => {\n const {\n isScrolling,\n currentDirection,\n contentElements,\n hostElement,\n placement,\n placementReferenceElement,\n align,\n responsiveDirectionToPlacement,\n closeOnPlacementReferenceScrollOut,\n closeOnContentScrollOut,\n minSpaceThresholdFactor,\n placementReverse,\n rtl\n } = params;\n\n const actualRtl = rtl ?? isRTL();\n\n let responsiveDirection: Direction | undefined;\n\n const actualCurrentDirection = actualRtl\n ? currentDirection === 'start'\n ? 'end'\n : currentDirection === 'end'\n ? 'start'\n : currentDirection\n : currentDirection;\n\n // Defines how the properties to access are named in the current axis.\n const currentAxis = currentDirection === 'start' || currentDirection === 'end' ? AXIS_X : AXIS_Y;\n // The combined (enclosing) client rect for all component contents.\n const contentsRect = getCombinedBoundingClientRect(contentElements);\n // The chain of scroll parents of the container host element up to and often including the body, checking for possible overlaps.\n const containerScrollParents = getScrollParentsChain(hostElement, currentAxis.axis);\n const containerScrollParentRects = containerScrollParents.map(item =>\n item.getBoundingClientRect()\n );\n // The biggest upper bound (top, left) of all scroll parents (and viewport = 0), the point before which content will be cut off.\n const scrollParentsUpperBound = Math.max(\n 0,\n ...containerScrollParentRects.map(item => item[currentAxis.upperBound])\n );\n // The smallest lower bound (bottom, right) of all scroll parents (and viewport), the point after which content will be cut off.\n const scrollParentsLowerBound = Math.min(\n window[currentAxis.windowSize],\n ...containerScrollParentRects.map(item => item[currentAxis.lowerBound])\n );\n\n // The point from which the component will be opened if opening in regular / scroll (down, end) direction.\n // Influenced by `componentPlacementReference`, `componentPlacement` and `componentAlign`.\n const positionRegular = getAbsoluteContentPosition({\n direction: currentAxis.directionRegular,\n placement,\n element: placementReferenceElement,\n align\n });\n // The point from which the component will be opened if opening in reverse (up, start) direction.\n // Influenced by `componentPlacementReference`, `componentPlacement` and `componentAlign`.\n const positionReverse = getAbsoluteContentPosition({\n direction: currentAxis.directionReverse,\n placement: placementReverse ?? placement,\n element: placementReferenceElement,\n align\n });\n\n // The enclosing size (height, width) of all contents combined\n const contentsSize = contentsRect[currentAxis.lowerBound] - contentsRect[currentAxis.upperBound];\n\n // A number showing how many visible pixels would be available in regular / scroll (down, end) direction\n const spaceRegular = scrollParentsLowerBound - positionRegular[currentAxis.upperBound];\n // A number showing how many visible pixels would be available in reverse (up, start) direction\n const spaceReverse = positionReverse[currentAxis.upperBound] - scrollParentsUpperBound;\n\n let placementRefBounds: { upper: number; lower: number } | undefined;\n if (spaceReverse < contentsSize && spaceRegular < contentsSize) {\n // If there would not be enough room in both directions, always prefer regular / scroll (down, end) direction,\n // since this way the element can expand and scroll while this cannot happen if there's not enough room in front.\n responsiveDirection = actualRtl ? currentAxis.directionReverse : currentAxis.directionRegular;\n } else if (minSpaceThresholdFactor) {\n const contentsSizeWithThreshold = contentsSize + minSpaceThresholdFactor * contentsSize;\n if (spaceReverse < contentsSizeWithThreshold && spaceRegular < contentsSizeWithThreshold) {\n // If a threshold is set and there would not be enough space including the threshold in both directions\n // use the direction with more space\n if (spaceReverse < spaceRegular) {\n responsiveDirection = currentAxis.directionRegular;\n } else {\n responsiveDirection = currentAxis.directionReverse;\n }\n } else if (spaceReverse < contentsSizeWithThreshold) {\n responsiveDirection = currentAxis.directionRegular;\n } else if (spaceRegular < contentsSizeWithThreshold) {\n responsiveDirection = currentAxis.directionReverse;\n }\n }\n if (!responsiveDirection) {\n if (spaceReverse < contentsSize) {\n responsiveDirection = currentAxis.directionRegular;\n } else if (spaceRegular < contentsSize) {\n responsiveDirection = currentAxis.directionReverse;\n } else {\n if (\n responsiveDirectionToPlacement &&\n placementReferenceElement &&\n hostElement !== placementReferenceElement\n ) {\n placementRefBounds = calculatePlacementRefOuterBounds(\n currentAxis,\n placementReferenceElement\n );\n responsiveDirection = calculateDirectionFromPlacementRef({\n currentAxis,\n positionRegular,\n positionReverse,\n contentSize: contentsSize,\n placementRefBounds,\n currentDirection: actualCurrentDirection,\n rtl: actualRtl\n });\n } else {\n // If there would be enough room in both directions, use the set direction (or the regular one if not set).\n responsiveDirection = actualCurrentDirection;\n }\n }\n }\n\n let close = false;\n if (isScrolling) {\n // Check if the container host or placement reference is hidden and close the component. (Mostly done when scrolling.)\n if (\n closeOnPlacementReferenceScrollOut &&\n placementReferenceElement &&\n hostElement !== placementReferenceElement\n ) {\n placementRefBounds ??= calculatePlacementRefOuterBounds(\n currentAxis,\n placementReferenceElement\n );\n const placementRefRect = placementReferenceElement.getBoundingClientRect();\n // A number showing how many visible pixels of the placement ref would be shown in reverse (up, start) direction\n const placementRefVisibleTop =\n placementRefRect[currentAxis.lowerBound] - placementRefBounds.upper;\n // A number showing how many visible pixels of the placement ref would be shown in regular / scroll (down, end) direction\n const placementRefVisibleBottom =\n placementRefBounds.lower - placementRefRect[currentAxis.upperBound];\n if (placementRefVisibleTop < 0 || placementRefVisibleBottom < 0) {\n // Close the component if the placement ref is not visible.\n close = true;\n }\n }\n if (!close && closeOnContentScrollOut) {\n // A number showing how many visible pixels would be available the other way if set to regular / scroll (down, end) direction\n const spaceRegularOtherSide =\n scrollParentsLowerBound - positionReverse[currentAxis.upperBound];\n // A number showing how many visible pixels would be available the other way if set to reverse (up, start) direction\n const spaceReverseOtherSide =\n positionRegular[currentAxis.upperBound] - scrollParentsUpperBound;\n if (spaceRegularOtherSide < 0 || spaceReverseOtherSide < 0) {\n // Close the component if there is not enough space even in the other direction.\n close = true;\n }\n }\n }\n responsiveDirection = actualRtl\n ? responsiveDirection === 'start'\n ? 'end'\n : responsiveDirection === 'end'\n ? 'start'\n : responsiveDirection\n : responsiveDirection;\n return { responsiveDirection, close };\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { TrackByFunction } from '@angular/core';\n\nconst trackByIdentity = <T>(index: number, item: T): any => item;\n\n/**\n * Creates a trackByFunction for ngFor, that tracks an Item by its identity.\n * It should be used with a generic parameter, to generate a proper type:\n *\n * @example\n * ```ts\n * @Input() trackByFunction = buildTrackByIdentity<ItemType>()\n * ```\n * @deprecated use the new control-flow syntax\n */\nexport const buildTrackByIdentity = <T>(): TrackByFunction<T> => trackByIdentity;\n\nconst trackByIndex = (index: number): number => index;\n\n/**\n * Creates a trackByFunction for ngFor, that tracks an Item by its index.\n * It should be used with a generic parameter, to generate a proper type:\n *\n * @example\n * ```\n * @Input() trackByFunction = buildTrackByIdentity<ItemType>()\n * ```\n * @deprecated use the new control-flow syntax\n */\nexport const buildTrackByIndex = <T>(): TrackByFunction<T> => trackByIndex;\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n// Adds a window listener which can optionally be active, returns the unregister function.\n// For some events (e.g. \"touchmove\") an explicit \"passive: false\" is required in order to\n// be able to do $event.preventDefault(). Unfortunately there is no way in Angular to pass\n// options to Rendrer2/EventManager event handling.\nexport const listenGlobal = (\n eventName: string,\n handler: (e: any) => void,\n active?: boolean\n): (() => void) => {\n let opts: any = false;\n if (active !== undefined) {\n opts = { passive: !active };\n }\n\n window.addEventListener(eventName, handler, opts);\n return () => {\n window.removeEventListener(eventName, handler, opts);\n };\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef,\n PositionStrategy\n} from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\n\nimport {\n positionBottomEnd,\n positionBottomStart,\n positions,\n positionTopEnd,\n positionTopStart\n} from '../models/positions.model';\nimport { isRTL } from './rtl';\n\nexport function makePositionStrategy(\n elementRef: ElementRef<any> | undefined,\n overlay: Overlay,\n placement: keyof typeof positions | ConnectionPositionPair[],\n constrain = false,\n center = true\n): PositionStrategy {\n if (!elementRef?.nativeElement) {\n return overlay.position().global().centerHorizontally().centerVertically();\n }\n\n const popoverPositions = getOverlayPositions(elementRef, placement, center);\n const positionStrategy = overlay\n .position()\n .flexibleConnectedTo(elementRef)\n .withPush(false)\n .withGrowAfterOpen(true)\n .withFlexibleDimensions(constrain)\n .withPositions(popoverPositions);\n if (constrain) {\n positionStrategy.withViewportMargin(8);\n }\n return positionStrategy;\n}\n\nexport function makeOverlay(\n positionStrategy: PositionStrategy,\n overlay: Overlay,\n hasBackdrop: boolean\n): OverlayRef {\n const config = new OverlayConfig();\n config.positionStrategy = positionStrategy;\n config.scrollStrategy = overlay.scrollStrategies.reposition();\n config.direction = isRTL() ? 'rtl' : 'ltr';\n if (hasBackdrop) {\n config.hasBackdrop = true;\n config.backdropClass = 'cdk-overlay-transparent-backdrop';\n } else {\n config.hasBackdrop = false;\n }\n return overlay.create(config);\n}\n\nexport function getOverlay(\n elementRef: ElementRef<any>,\n overlay: Overlay,\n hasBackdrop: boolean,\n placement: keyof typeof positions | ConnectionPositionPair[],\n constrain = false,\n center = true\n): OverlayRef {\n const positionStrategy = makePositionStrategy(elementRef, overlay, placement, constrain, center);\n return makeOverlay(positionStrategy, overlay, hasBackdrop);\n}\n\nexport function getPositionStrategy(\n overlayref: OverlayRef\n): FlexibleConnectedPositionStrategy | undefined {\n return overlayref.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n}\n\nexport function getOverlayPositions(\n elementRef: ElementRef<any>,\n placement: keyof typeof positions | ConnectionPositionPair[],\n center = true\n): ConnectionPositionPair[] {\n if (elementRef.nativeElement && center) {\n const rtl = isRTL();\n const halfWidth = Math.round(elementRef.nativeElement.offsetWidth / 2);\n positionTopStart.offsetX = positionBottomStart.offsetX = halfWidth * (rtl ? 1 : -1);\n positionTopEnd.offsetX = positionBottomEnd.offsetX = halfWidth * (rtl ? -1 : 1);\n } else {\n positionTopStart.offsetX = undefined;\n positionTopEnd.offsetX = undefined;\n positionBottomStart.offsetX = undefined;\n positionBottomEnd.offsetX = undefined;\n }\n return typeof placement === 'string' ? positions[placement] : placement;\n}\n\nexport function hasTrigger(trigger: string, triggers?: string): boolean {\n return (triggers?.split(/\\s+/) ?? []).includes(trigger);\n}\n\nexport interface OverlayArrowPosition {\n left?: number;\n right?: number;\n}\n/**\n * calculates the arrow position from left/right for tooltips, popovers, etc\n * @param change - the event from the position strategy\n * @param overlay - ElementRef for the overlay content, i.e. the popover/tooltip component\n * @param anchor - ElementRef for the anchoring element, i.e. the trigger of the popover/tooltip\n */\nexport function calculateOverlayArrowPosition(\n change: ConnectedOverlayPositionChange,\n overlay: ElementRef,\n anchor?: ElementRef\n): OverlayArrowPosition {\n if (anchor && ['bottom', 'top'].includes(change.connectionPair.originY)) {\n // Calculate offset to the anchor element center\n const anchorRect = anchor.nativeElement.getBoundingClientRect();\n const overlayRect = overlay.nativeElement.getBoundingClientRect();\n const center = anchorRect.left + anchorRect.width / 2;\n // Position arrow centered to the anchor element\n\n // prettier-ignore\n return isRTL()\n ? { right: overlayRect.right - center }\n : { left: center - overlayRect.left };\n }\n\n const offsetX = change.connectionPair.offsetX;\n if (offsetX) {\n // prettier-ignore\n return offsetX < 0\n ? { left: -offsetX }\n : { right: offsetX };\n }\n return {};\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './animation.helpers';\nexport * from './positioning.helpers';\nexport * from './rtl';\nexport * from './track-by.helper';\nexport * from './global-events.helpers';\nexport * from './overlay-helper';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Type } from '@angular/core';\n\n// note: this _must_ be a function, not an arrow\n// eslint-disable-next-line\nexport function WebComponentContentChildren<T>(host: Type<T>) {\n // holds the Type information of child component and the property name of parent component which is used to hold it.\n return (...args: any) => {\n args[0].__contentQuery = {\n host,\n prop: args[1]\n };\n };\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './webcomponent.decorator';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './services';\nexport * from './models';\nexport * from './helpers';\nexport * from './decorators';\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-common.mjs","sources":["../../../../projects/element-ng/common/services/blink.service.ts","../../../../projects/element-ng/common/services/si-uistate.service.ts","../../../../projects/element-ng/common/services/text-measure.service.ts","../../../../projects/element-ng/common/services/scrollbar-helper.service.ts","../../../../projects/element-ng/common/services/index.ts","../../../../projects/element-ng/common/models/status-type.model.ts","../../../../projects/element-ng/common/models/positions.model.ts","../../../../projects/element-ng/common/models/index.ts","../../../../projects/element-ng/common/helpers/animation.helpers.ts","../../../../projects/element-ng/common/helpers/rtl.ts","../../../../projects/element-ng/common/helpers/positioning.helpers.ts","../../../../projects/element-ng/common/helpers/track-by.helper.ts","../../../../projects/element-ng/common/helpers/global-events.helpers.ts","../../../../projects/element-ng/common/helpers/overlay-helper.ts","../../../../projects/element-ng/common/helpers/index.ts","../../../../projects/element-ng/common/decorators/webcomponent.decorator.ts","../../../../projects/element-ng/common/decorators/index.ts","../../../../projects/element-ng/common/index.ts","../../../../projects/element-ng/common/siemens-element-ng-common.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, timer } from 'rxjs';\nimport {\n distinctUntilChanged,\n endWith,\n filter,\n map,\n repeat,\n share,\n takeUntil\n} from 'rxjs/operators';\n\n/**\n * A global blink pulse generator for synchronized blinking patterns across an entire application.\n * Use to trigger any blinking by subscribing to `pulse$`.\n */\n@Injectable({ providedIn: 'root' })\nexport class BlinkService {\n private pause$ = new BehaviorSubject<boolean>(false);\n\n private off$ = this.pause$.pipe(filter(v => v));\n private on$ = this.pause$.pipe(filter(v => !v));\n\n /**\n * Blink pulse. Subscribe to it to toggle `on` CSS class when true, `off` CSS class when `false`.\n * Do animations using CSS transitions\n *\n * @defaultValue\n * ```\n * timer(0, 1400).pipe(\n * map(count => count % 2 === 0),\n * distinctUntilChanged(),\n * takeUntil(this.off$),\n * endWith(false),\n * repeat({ delay: () => this.on$ }),\n * share()\n * )\n * ```\n */\n public readonly pulse$ = timer(0, 1400).pipe(\n map(count => count % 2 === 0),\n distinctUntilChanged(),\n takeUntil(this.off$),\n endWith(false),\n repeat({ delay: () => this.on$ }),\n share()\n );\n\n /**\n * Pause the blinking.\n */\n pause(): void {\n this.pause$.next(true);\n }\n\n /**\n * Resume the blinking.\n */\n resume(): void {\n this.pause$.next(false);\n }\n\n /**\n * Whether the blinking is paused or not.\n */\n isPaused(): boolean {\n return this.pause$.value;\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, Provider, Type } from '@angular/core';\n\nconst SI_UI_STATE_STORAGE = new InjectionToken<UIStateStorage>('si.ui-state.storage', {\n providedIn: 'root',\n factory: () => {\n if (isPlatformBrowser(inject(PLATFORM_ID))) {\n return new LocalStorageUIStateStorage();\n }\n return { save: () => {}, load: () => null };\n }\n});\n\n/**\n * Interface that defines a UIStateStore.\n * It must be provided via {@link provideSiUiState}.\n */\nexport interface UIStateStorage {\n /**\n * Saves data under a specific stateId.\n * Already existing data for that stateId should be overridden.\n * Asynchronous implementations must return a {@link Promise} and resolve it once saving was completed.\n *\n * Errors should be handled by the implementation.\n * The `SiUIStateService` does not handle errors.\n */\n save(stateId: string, data: string): void | Promise<void>;\n\n /**\n * Loads data for a specific stateId.\n * Can be asynchronous.\n *\n * Errors should be handled by the implementation.\n * The `SiUIStateService` does not handle errors.\n *\n * @returns The data or undefined if the data does not exist.\n * Asynchronous implementations must return a {@link Promise} containing the data.\n */\n load(stateId: string): string | undefined | null | Promise<string | undefined | null>;\n}\n\nclass LocalStorageUIStateStorage implements UIStateStorage {\n save(stateId: string, data: string): void {\n localStorage.setItem(`si.ui-state.${stateId}`, data);\n }\n\n load(stateId: string): string | null {\n return localStorage.getItem(`si.ui-state.${stateId}`);\n }\n}\n\n/** @internal */\nexport const SI_UI_STATE_SERVICE = new InjectionToken<SiUIStateService>('si.ui-state.service');\n\n/**\n * Service to save and load UI states.\n * @internal\n */\n@Injectable()\nclass SiUIStateService {\n private storage = inject(SI_UI_STATE_STORAGE);\n\n /**\n * Saves the provided state in the storage.\n * @param stateId - The unique id or key under which the state shall be saved.\n * @param state - The state to be saved.\n * @param version - The version of the state object.\n * This can be used to migrate state objects.\n */\n save<TState>(stateId: string, state: TState, version = 0): Promise<void> {\n return (\n this.storage.save(\n stateId,\n JSON.stringify({\n version,\n state\n })\n ) ?? Promise.resolve()\n );\n }\n\n /**\n * Loads and returns the state for the given stateId and version.\n * @param stateId - The unique id or key for which the state shall be loaded.\n * @param version - The version of the state object.\n * This can be used to migrate state objects.\n * @returns A Promise containing the state or undefined if the state does not exist or the version did not match.\n */\n load<TState = unknown>(stateId: string, version = 0): PromiseLike<TState | undefined> {\n // DO NOT ADD async keyword.\n // This method should stay synchronous if the storage is synchronous.\n // Otherwise, the navbar will play expand animations on load.\n const dataOrPromise = this.storage.load(stateId);\n if (dataOrPromise instanceof Promise) {\n return dataOrPromise.then(data => this.readData(data, version));\n } else {\n const promiseLike = {\n then: onfulfilled => {\n const data = this.readData<TState>(dataOrPromise, version);\n if (onfulfilled) {\n return onfulfilled(data);\n } else {\n return promiseLike;\n }\n }\n } as PromiseLike<TState | undefined>;\n\n return promiseLike;\n }\n }\n\n private readData<TState = unknown>(\n data: string | null | undefined,\n version: number\n ): TState | undefined {\n if (data) {\n const parsed = JSON.parse(data);\n if (parsed.version === version) {\n return parsed.state;\n }\n }\n\n return undefined;\n }\n}\n\nexport type { SiUIStateService };\n\n/** Enables the automatic storage of UI state for enabled components. */\nexport const provideSiUiState = (config?: { store?: Type<UIStateStorage> }): Provider[] => {\n return [\n { provide: SI_UI_STATE_SERVICE, useClass: SiUIStateService },\n config?.store ? { provide: SI_UI_STATE_STORAGE, useClass: config.store } : []\n ];\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable, DOCUMENT } from '@angular/core';\n\nexport interface FontStyleOverride {\n fontStyle?: string;\n fontVariant?: string;\n fontWeight?: string;\n fontSize?: string;\n fontFamily?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TextMeasureService {\n private measureCanvas?: CanvasRenderingContext2D;\n private defaultFont?: string;\n private document = inject(DOCUMENT);\n /** Measure text width in pixel. */\n measureText(text: string, fontRef?: HTMLElement | string, overrides?: FontStyleOverride): number {\n this.ensureCanvas();\n this.setFontStyle(fontRef, overrides);\n return Math.ceil(this.measureCanvas!.measureText(text).width);\n }\n /** Get font styles for `font` CSS short-hand property. */\n getFontStyle(element: HTMLElement, overrides?: FontStyleOverride): string {\n const style = getComputedStyle(element);\n // note: can't use destructuring on `style` as it doesn't work on Firefox\n const fontStyle = overrides?.fontStyle ?? style.fontStyle;\n const fontVariant = overrides?.fontVariant ?? style.fontVariant;\n const fontWeight = overrides?.fontWeight ?? style.fontWeight;\n const fontSize = overrides?.fontSize ?? style.fontSize;\n const fontFamily = overrides?.fontFamily ?? style.fontFamily;\n return `${fontStyle} ${fontVariant} ${fontWeight} ${fontSize} ${fontFamily}`\n .replace(/ +/g, ' ')\n .trim();\n }\n\n private ensureCanvas(): void {\n if (this.measureCanvas) {\n return;\n }\n const canvas = this.document.createElement('canvas') as HTMLCanvasElement;\n this.measureCanvas = canvas.getContext('2d') as CanvasRenderingContext2D;\n }\n\n private setFontStyle(fontRef?: HTMLElement | string, overrides?: FontStyleOverride): void {\n if (typeof fontRef === 'string') {\n this.measureCanvas!.font = fontRef;\n return;\n }\n if (fontRef || overrides) {\n this.measureCanvas!.font = this.getFontStyle(fontRef ?? this.document.body, overrides);\n return;\n }\n this.defaultFont ??= this.getFontStyle(this.document.body);\n this.measureCanvas!.font = this.defaultFont;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable, DOCUMENT } from '@angular/core';\n\n/**\n * Gets the width of the scrollbar. Nesc for windows\n * http://stackoverflow.com/a/13382873/888165\n */\n@Injectable({ providedIn: 'root' })\nexport class ScrollbarHelper {\n private document = inject(DOCUMENT);\n\n /**\n * The width of the scrollbar.\n *\n * @defaultValue this.getWidth()\n */\n readonly width: number = this.getWidth();\n\n private getWidth(): number {\n const outer = this.document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n (outer.style as any).msOverflowStyle = 'scrollbar';\n this.document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = this.document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './blink.service';\nexport * from './si-uistate.service';\nexport * from './text-measure.service';\nexport * from './scrollbar-helper.service';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nexport type StatusType = 'success' | 'info' | 'warning' | 'danger' | 'caution' | 'critical';\nexport type ExtendedStatusType = StatusType | 'unknown';\nexport type EntityStatusType = ExtendedStatusType | 'pending' | 'progress';\nexport type AccentLineType = StatusType | 'caution' | 'primary' | 'inactive';\n\nexport interface StatusIcon {\n icon: string;\n color: string;\n stacked: string;\n stackedColor: string;\n background: string;\n severity: number; // for sorting\n ariaLabel?: TranslatableString;\n}\n\nexport const STATUS_ICON: { [key in EntityStatusType]: StatusIcon } = {\n success: {\n icon: 'element-circle-filled',\n color: 'status-success',\n stacked: 'element-state-tick smooth-auto',\n stackedColor: 'status-success-contrast',\n background: 'bg-base-success',\n severity: 5\n },\n info: {\n icon: 'element-square-filled',\n color: 'status-info',\n stacked: 'element-state-info smooth-auto',\n stackedColor: 'status-info-contrast',\n background: 'bg-base-info',\n severity: 4\n },\n caution: {\n icon: 'element-square-45-filled',\n color: 'status-caution',\n stacked: 'element-state-exclamation-mark smooth-auto',\n stackedColor: 'status-caution-contrast',\n background: 'bg-base-caution',\n severity: 3\n },\n warning: {\n icon: 'element-triangle-filled',\n color: 'status-warning',\n stacked: 'element-state-exclamation-mark smooth-auto',\n stackedColor: 'status-warning-contrast',\n background: 'bg-base-warning',\n severity: 2\n },\n danger: {\n icon: 'element-circle-filled',\n color: 'status-danger',\n stacked: 'element-state-exclamation-mark smooth-auto',\n stackedColor: 'status-danger-contrast',\n background: 'bg-base-danger',\n severity: 1\n },\n critical: {\n icon: 'element-octagon-filled',\n color: 'status-critical',\n stacked: 'element-state-exclamation-mark smooth-auto',\n stackedColor: 'status-critical-contrast',\n background: 'bg-base-critical',\n severity: 0\n },\n progress: {\n icon: 'element-circle-filled',\n color: 'status-info',\n stacked: 'element-state-progress smooth-auto',\n stackedColor: 'status-info-contrast',\n background: 'bg-base-info',\n severity: 7\n },\n pending: {\n icon: 'element-circle-filled',\n color: 'status-caution',\n stacked: 'element-state-pause smooth-auto',\n stackedColor: 'status-caution-contrast',\n background: 'bg-base-caution',\n severity: 6\n },\n unknown: {\n icon: 'element-circle-filled',\n color: 'status-neutral',\n stacked: 'element-state-question-mark',\n stackedColor: 'text-body',\n background: 'bg-base-0',\n severity: 8\n }\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nconst positionStart: ConnectionPositionPair = {\n overlayX: 'end',\n overlayY: 'center',\n originX: 'start',\n originY: 'center'\n};\n\nconst positionEnd: ConnectionPositionPair = {\n overlayX: 'start',\n overlayY: 'center',\n originX: 'end',\n originY: 'center'\n};\n\nexport const positionTopCenter: ConnectionPositionPair = {\n overlayX: 'center',\n overlayY: 'bottom',\n originX: 'center',\n originY: 'top'\n};\n\nexport const positionTopStart: ConnectionPositionPair = {\n overlayX: 'start',\n overlayY: 'bottom',\n originX: 'center',\n originY: 'top'\n};\n\nexport const positionTopEnd: ConnectionPositionPair = {\n overlayX: 'end',\n overlayY: 'bottom',\n originX: 'center',\n originY: 'top'\n};\n\nexport const positionBottomCenter: ConnectionPositionPair = {\n overlayX: 'center',\n overlayY: 'top',\n originX: 'center',\n originY: 'bottom'\n};\n\nexport const positionBottomStart: ConnectionPositionPair = {\n overlayX: 'start',\n overlayY: 'top',\n originX: 'center',\n originY: 'bottom'\n};\n\nexport const positionBottomEnd: ConnectionPositionPair = {\n overlayX: 'end',\n overlayY: 'top',\n originX: 'center',\n originY: 'bottom'\n};\n\nexport const positions = {\n top: [\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionStart,\n positionEnd\n ],\n end: [\n positionEnd,\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionStart\n ],\n bottom: [\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionStart,\n positionEnd\n ],\n start: [\n positionStart,\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionEnd\n ],\n auto: [\n positionTopCenter,\n positionTopStart,\n positionTopEnd,\n positionBottomCenter,\n positionBottomStart,\n positionBottomEnd,\n positionStart,\n positionEnd\n ]\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './color-variant.model';\nexport * from './menu.model';\nexport * from './status-type.model';\nexport * from './positions.model';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n/**\n * @returns Returns whether animations are disabled via the CSS var. This is either set by\n * an application on low-end devices or in case the device is configured for reduced motion\n * (i.e. `@media (prefers-reduced-motion)` matches)\n */\nexport const areAnimationsDisabled = (): boolean => {\n const style = getComputedStyle(document.documentElement);\n const flag = style.getPropertyValue('--element-animations-enabled');\n return parseInt(flag, 10) === 0;\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport const isRTL = (elem?: HTMLElement): boolean =>\n getComputedStyle(elem ?? document.documentElement).direction === 'rtl';\n\nexport const correctKeyRTL = (key: string): string => {\n if (!isRTL()) {\n return key;\n }\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { isRTL } from './rtl';\n\nexport type Direction = 'down' | 'up' | 'start' | 'end';\nexport type PlacementBasicVertical = 'top' | 'bottom';\nexport type PlacementBasic = 'start' | 'end' | PlacementBasicVertical;\nexport type Placement = '' | PlacementBasic | `${PlacementBasic} ${PlacementBasic}`;\nexport type Align = 'start' | 'center' | 'end';\n\nexport const AXIS_X = {\n axis: 'X',\n directionRegular: 'end',\n directionReverse: 'start',\n upperBound: 'left',\n lowerBound: 'right',\n size: 'width',\n windowSize: 'innerWidth'\n} as const;\nexport const AXIS_Y = {\n axis: 'Y',\n directionRegular: 'down',\n directionReverse: 'up',\n upperBound: 'top',\n lowerBound: 'bottom',\n size: 'height',\n windowSize: 'innerHeight'\n} as const;\nexport const BOUNDING_RECT_WINDOW = {\n getBoundingClientRect: () => ({\n top: 0,\n left: 0,\n bottom: window.innerHeight,\n right: window.innerWidth\n })\n};\n\nexport const resolveReference = (\n hostElement: HTMLElement,\n reference: string\n): HTMLElement | null => {\n if (reference) {\n const childReferenceCheck = hostElement.querySelector(reference);\n if (childReferenceCheck) {\n return childReferenceCheck as HTMLElement;\n }\n const referenceCheck = hostElement.closest(reference);\n if (referenceCheck) {\n return referenceCheck as HTMLElement;\n }\n const all = document.querySelectorAll(reference);\n return (all[all.length - 1] as HTMLElement) ?? null;\n }\n return null;\n};\n\nconst getScrollParentsChain = (\n element: HTMLElement | null,\n axis: 'X' | 'Y',\n scrollParentsList: (typeof BOUNDING_RECT_WINDOW)[] = []\n): (typeof BOUNDING_RECT_WINDOW)[] => {\n if (element) {\n const overflowStyle =\n getComputedStyle(element)[axis === 'X' ? 'overflowX' : 'overflowY'] || 'visible';\n if (\n element[axis === 'X' ? 'clientWidth' : 'clientHeight'] &&\n overflowStyle !== 'visible' &&\n overflowStyle !== 'hidden'\n ) {\n scrollParentsList.push(document.documentElement === element ? BOUNDING_RECT_WINDOW : element);\n }\n if (element !== document.documentElement) {\n getScrollParentsChain(\n (element as any).dropdownParentElement ?? element.parentElement ?? document.body,\n axis,\n scrollParentsList\n );\n }\n }\n return scrollParentsList;\n};\n\nconst getCombinedBoundingClientRect = (\n elements: HTMLElement[]\n): { top: number; bottom: number; left: number; right: number } => {\n let top = 0;\n let bottom = 0;\n let left = 0;\n let right = 0;\n if (elements.length > 0) {\n const tops: number[] = [];\n const bottoms: number[] = [];\n const lefts: number[] = [];\n const rights: number[] = [];\n elements.forEach(element => {\n const rect = element.getBoundingClientRect();\n tops.push(rect.top);\n bottoms.push(rect.bottom);\n lefts.push(rect.left);\n rights.push(rect.right);\n });\n top = Math.min(...tops);\n bottom = Math.max(...bottoms);\n left = Math.min(...lefts);\n right = Math.max(...rights);\n }\n return { top, bottom, left, right };\n};\n\nconst calculatePlacementRefOuterBounds = (\n currentAxis: typeof AXIS_X | typeof AXIS_Y,\n placementReferenceElement: HTMLElement | null\n): { upper: number; lower: number } => {\n // The chain of scroll parents of the placement ref element up to and often including the body, checking for possible overlaps.\n const placementRefScrollParents = getScrollParentsChain(\n placementReferenceElement,\n currentAxis.axis\n );\n const placementRefScrollParentRects = placementRefScrollParents.map(item =>\n item.getBoundingClientRect()\n );\n // The biggest upper bound (top, left) of all scroll parents (and viewport = 0), the point before which content will be cut off.\n const placementRefScrollParentsUpperBound = Math.max(\n 0,\n ...placementRefScrollParentRects.map(item => item[currentAxis.upperBound])\n );\n // The smallest lower bound (bottom, right) of all scroll parents (and viewport), the point after which content will be cut off.\n const placementRefScrollParentsLowerBound = Math.min(\n window[currentAxis.windowSize],\n ...placementRefScrollParentRects.map(item => item[currentAxis.lowerBound])\n );\n return { upper: placementRefScrollParentsUpperBound, lower: placementRefScrollParentsLowerBound };\n};\n\nconst calculateDirectionFromPlacementRef = (params: {\n currentAxis: typeof AXIS_X | typeof AXIS_Y;\n positionRegular: { left: number; top: number };\n positionReverse: { left: number; top: number };\n contentSize: number;\n placementRefBounds: { upper: number; lower: number };\n currentDirection: Direction;\n rtl?: boolean;\n}): Direction => {\n const {\n currentAxis,\n positionRegular,\n positionReverse,\n contentSize,\n placementRefBounds,\n currentDirection,\n rtl\n } = params;\n // A number showing how many visible pixels would be available from the placement ref in regular / scroll (down, end) direction\n const placementRefSpaceRegular =\n placementRefBounds.lower - positionRegular[currentAxis.upperBound];\n // A number showing how many visible pixels would be available from the placement ref in reverse (up, start) direction\n const placementRefSpaceReverse =\n positionReverse[currentAxis.upperBound] - placementRefBounds.upper;\n if (placementRefSpaceReverse < contentSize && placementRefSpaceRegular < contentSize) {\n // If there would not be enough room in both directions, always prefer regular / scroll (down, end) direction,\n // since this way the element can expand and scroll while this cannot happen if there's not enough room in front.\n return rtl ? currentAxis.directionReverse : currentAxis.directionRegular;\n } else if (placementRefSpaceReverse < contentSize) {\n return currentAxis.directionRegular;\n } else if (placementRefSpaceRegular < contentSize) {\n return currentAxis.directionReverse;\n }\n // If there would be enough room in both directions, use the set direction (or the regular one if not set).\n return currentDirection;\n};\n\nconst getAbsoluteContentPosition = (params: {\n direction: Direction;\n placement: Placement;\n element: HTMLElement;\n align: Align;\n rtl?: boolean;\n}): { left: number; top: number } => {\n const { direction, placement, element, align, rtl } = params;\n const elementRect = element.getBoundingClientRect();\n\n const start = rtl ? elementRect.right : elementRect.left;\n const end = rtl ? elementRect.left : elementRect.right;\n\n let relativeLeftOffset = 0;\n if (direction === 'start' || direction === 'end') {\n relativeLeftOffset =\n placement.includes('end') || (!placement.includes('start') && direction === 'end')\n ? end\n : start;\n } else {\n if (placement.includes('start')) {\n relativeLeftOffset = start;\n } else {\n if (placement.includes('end') || align === 'end') {\n relativeLeftOffset = end;\n } else if (align === 'center') {\n relativeLeftOffset = elementRect.left + (elementRect.right - elementRect.left) / 2;\n } else {\n relativeLeftOffset = start;\n }\n }\n }\n let relativeTopOffset = 0;\n if (direction === 'up') {\n relativeTopOffset = placement.includes('bottom') ? elementRect.bottom : elementRect.top;\n } else if (direction === 'start' || direction === 'end') {\n relativeTopOffset = !placement.includes('bottom') ? elementRect.top : elementRect.bottom;\n } else {\n relativeTopOffset = placement.includes('top') ? elementRect.top : elementRect.bottom;\n }\n return { left: relativeLeftOffset, top: relativeTopOffset };\n};\n\nconst getRelativeContentPosition = (params: {\n contentElement: HTMLElement;\n direction: Direction;\n placement: Placement;\n placementReferenceElement: HTMLElement;\n align: Align;\n rtl?: boolean;\n}): { left: number; top: number } => {\n const { contentElement, direction, placement, placementReferenceElement, align, rtl } = params;\n const contentParent = (contentElement as HTMLElement).offsetParent ?? document.body;\n const contentParentRect = contentParent.getBoundingClientRect();\n const relativePosition = getAbsoluteContentPosition({\n direction,\n placement,\n element: placementReferenceElement,\n align,\n rtl\n });\n const leftOffset = relativePosition.left - contentParentRect.left + contentParent.scrollLeft;\n const topOffset = relativePosition.top - contentParentRect.top + contentParent.scrollTop;\n return { left: leftOffset, top: topOffset };\n};\n\nexport const getContentPositionString = (params: {\n contentElement: HTMLElement;\n direction: Direction;\n placement: Placement;\n placementReferenceElement: HTMLElement;\n align: Align;\n rtl?: boolean;\n}): string => {\n const { contentElement, direction, placement, placementReferenceElement, align, rtl } = params;\n const position = getRelativeContentPosition({\n contentElement,\n direction,\n placement,\n placementReferenceElement,\n align,\n rtl: rtl ?? isRTL()\n });\n return `translate3d(${position.left}px, ${position.top}px, 0px)`;\n};\n\nexport const responsivelyCheckDirection = (params: {\n isScrolling?: boolean;\n currentDirection: Direction;\n contentElements: HTMLElement[];\n hostElement: HTMLElement | null;\n placement: Placement;\n placementReferenceElement: HTMLElement;\n align: Align;\n responsiveDirectionToPlacement: boolean;\n closeOnPlacementReferenceScrollOut: boolean;\n closeOnContentScrollOut: boolean;\n minSpaceThresholdFactor?: number;\n placementReverse?: Placement;\n rtl?: boolean;\n}): { responsiveDirection?: Direction; close: boolean } => {\n const {\n isScrolling,\n currentDirection,\n contentElements,\n hostElement,\n placement,\n placementReferenceElement,\n align,\n responsiveDirectionToPlacement,\n closeOnPlacementReferenceScrollOut,\n closeOnContentScrollOut,\n minSpaceThresholdFactor,\n placementReverse,\n rtl\n } = params;\n\n const actualRtl = rtl ?? isRTL();\n\n let responsiveDirection: Direction | undefined;\n\n const actualCurrentDirection = actualRtl\n ? currentDirection === 'start'\n ? 'end'\n : currentDirection === 'end'\n ? 'start'\n : currentDirection\n : currentDirection;\n\n // Defines how the properties to access are named in the current axis.\n const currentAxis = currentDirection === 'start' || currentDirection === 'end' ? AXIS_X : AXIS_Y;\n // The combined (enclosing) client rect for all component contents.\n const contentsRect = getCombinedBoundingClientRect(contentElements);\n // The chain of scroll parents of the container host element up to and often including the body, checking for possible overlaps.\n const containerScrollParents = getScrollParentsChain(hostElement, currentAxis.axis);\n const containerScrollParentRects = containerScrollParents.map(item =>\n item.getBoundingClientRect()\n );\n // The biggest upper bound (top, left) of all scroll parents (and viewport = 0), the point before which content will be cut off.\n const scrollParentsUpperBound = Math.max(\n 0,\n ...containerScrollParentRects.map(item => item[currentAxis.upperBound])\n );\n // The smallest lower bound (bottom, right) of all scroll parents (and viewport), the point after which content will be cut off.\n const scrollParentsLowerBound = Math.min(\n window[currentAxis.windowSize],\n ...containerScrollParentRects.map(item => item[currentAxis.lowerBound])\n );\n\n // The point from which the component will be opened if opening in regular / scroll (down, end) direction.\n // Influenced by `componentPlacementReference`, `componentPlacement` and `componentAlign`.\n const positionRegular = getAbsoluteContentPosition({\n direction: currentAxis.directionRegular,\n placement,\n element: placementReferenceElement,\n align\n });\n // The point from which the component will be opened if opening in reverse (up, start) direction.\n // Influenced by `componentPlacementReference`, `componentPlacement` and `componentAlign`.\n const positionReverse = getAbsoluteContentPosition({\n direction: currentAxis.directionReverse,\n placement: placementReverse ?? placement,\n element: placementReferenceElement,\n align\n });\n\n // The enclosing size (height, width) of all contents combined\n const contentsSize = contentsRect[currentAxis.lowerBound] - contentsRect[currentAxis.upperBound];\n\n // A number showing how many visible pixels would be available in regular / scroll (down, end) direction\n const spaceRegular = scrollParentsLowerBound - positionRegular[currentAxis.upperBound];\n // A number showing how many visible pixels would be available in reverse (up, start) direction\n const spaceReverse = positionReverse[currentAxis.upperBound] - scrollParentsUpperBound;\n\n let placementRefBounds: { upper: number; lower: number } | undefined;\n if (spaceReverse < contentsSize && spaceRegular < contentsSize) {\n // If there would not be enough room in both directions, always prefer regular / scroll (down, end) direction,\n // since this way the element can expand and scroll while this cannot happen if there's not enough room in front.\n responsiveDirection = actualRtl ? currentAxis.directionReverse : currentAxis.directionRegular;\n } else if (minSpaceThresholdFactor) {\n const contentsSizeWithThreshold = contentsSize + minSpaceThresholdFactor * contentsSize;\n if (spaceReverse < contentsSizeWithThreshold && spaceRegular < contentsSizeWithThreshold) {\n // If a threshold is set and there would not be enough space including the threshold in both directions\n // use the direction with more space\n if (spaceReverse < spaceRegular) {\n responsiveDirection = currentAxis.directionRegular;\n } else {\n responsiveDirection = currentAxis.directionReverse;\n }\n } else if (spaceReverse < contentsSizeWithThreshold) {\n responsiveDirection = currentAxis.directionRegular;\n } else if (spaceRegular < contentsSizeWithThreshold) {\n responsiveDirection = currentAxis.directionReverse;\n }\n }\n if (!responsiveDirection) {\n if (spaceReverse < contentsSize) {\n responsiveDirection = currentAxis.directionRegular;\n } else if (spaceRegular < contentsSize) {\n responsiveDirection = currentAxis.directionReverse;\n } else {\n if (\n responsiveDirectionToPlacement &&\n placementReferenceElement &&\n hostElement !== placementReferenceElement\n ) {\n placementRefBounds = calculatePlacementRefOuterBounds(\n currentAxis,\n placementReferenceElement\n );\n responsiveDirection = calculateDirectionFromPlacementRef({\n currentAxis,\n positionRegular,\n positionReverse,\n contentSize: contentsSize,\n placementRefBounds,\n currentDirection: actualCurrentDirection,\n rtl: actualRtl\n });\n } else {\n // If there would be enough room in both directions, use the set direction (or the regular one if not set).\n responsiveDirection = actualCurrentDirection;\n }\n }\n }\n\n let close = false;\n if (isScrolling) {\n // Check if the container host or placement reference is hidden and close the component. (Mostly done when scrolling.)\n if (\n closeOnPlacementReferenceScrollOut &&\n placementReferenceElement &&\n hostElement !== placementReferenceElement\n ) {\n placementRefBounds ??= calculatePlacementRefOuterBounds(\n currentAxis,\n placementReferenceElement\n );\n const placementRefRect = placementReferenceElement.getBoundingClientRect();\n // A number showing how many visible pixels of the placement ref would be shown in reverse (up, start) direction\n const placementRefVisibleTop =\n placementRefRect[currentAxis.lowerBound] - placementRefBounds.upper;\n // A number showing how many visible pixels of the placement ref would be shown in regular / scroll (down, end) direction\n const placementRefVisibleBottom =\n placementRefBounds.lower - placementRefRect[currentAxis.upperBound];\n if (placementRefVisibleTop < 0 || placementRefVisibleBottom < 0) {\n // Close the component if the placement ref is not visible.\n close = true;\n }\n }\n if (!close && closeOnContentScrollOut) {\n // A number showing how many visible pixels would be available the other way if set to regular / scroll (down, end) direction\n const spaceRegularOtherSide =\n scrollParentsLowerBound - positionReverse[currentAxis.upperBound];\n // A number showing how many visible pixels would be available the other way if set to reverse (up, start) direction\n const spaceReverseOtherSide =\n positionRegular[currentAxis.upperBound] - scrollParentsUpperBound;\n if (spaceRegularOtherSide < 0 || spaceReverseOtherSide < 0) {\n // Close the component if there is not enough space even in the other direction.\n close = true;\n }\n }\n }\n responsiveDirection = actualRtl\n ? responsiveDirection === 'start'\n ? 'end'\n : responsiveDirection === 'end'\n ? 'start'\n : responsiveDirection\n : responsiveDirection;\n return { responsiveDirection, close };\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { TrackByFunction } from '@angular/core';\n\nconst trackByIdentity = <T>(index: number, item: T): any => item;\n\n/**\n * Creates a trackByFunction for ngFor, that tracks an Item by its identity.\n * It should be used with a generic parameter, to generate a proper type:\n *\n * @example\n * ```ts\n * @Input() trackByFunction = buildTrackByIdentity<ItemType>()\n * ```\n * @deprecated use the new control-flow syntax\n */\nexport const buildTrackByIdentity = <T>(): TrackByFunction<T> => trackByIdentity;\n\nconst trackByIndex = (index: number): number => index;\n\n/**\n * Creates a trackByFunction for ngFor, that tracks an Item by its index.\n * It should be used with a generic parameter, to generate a proper type:\n *\n * @example\n * ```\n * @Input() trackByFunction = buildTrackByIdentity<ItemType>()\n * ```\n * @deprecated use the new control-flow syntax\n */\nexport const buildTrackByIndex = <T>(): TrackByFunction<T> => trackByIndex;\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n// Adds a window listener which can optionally be active, returns the unregister function.\n// For some events (e.g. \"touchmove\") an explicit \"passive: false\" is required in order to\n// be able to do $event.preventDefault(). Unfortunately there is no way in Angular to pass\n// options to Rendrer2/EventManager event handling.\nexport const listenGlobal = (\n eventName: string,\n handler: (e: any) => void,\n active?: boolean\n): (() => void) => {\n let opts: any = false;\n if (active !== undefined) {\n opts = { passive: !active };\n }\n\n window.addEventListener(eventName, handler, opts);\n return () => {\n window.removeEventListener(eventName, handler, opts);\n };\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef,\n PositionStrategy\n} from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\n\nimport {\n positionBottomEnd,\n positionBottomStart,\n positions,\n positionTopEnd,\n positionTopStart\n} from '../models/positions.model';\nimport { isRTL } from './rtl';\n\nexport function makePositionStrategy(\n elementRef: ElementRef<any> | undefined,\n overlay: Overlay,\n placement: keyof typeof positions | ConnectionPositionPair[],\n constrain = false,\n center = true\n): PositionStrategy {\n if (!elementRef?.nativeElement) {\n return overlay.position().global().centerHorizontally().centerVertically();\n }\n\n const popoverPositions = getOverlayPositions(elementRef, placement, center);\n const positionStrategy = overlay\n .position()\n .flexibleConnectedTo(elementRef)\n .withPush(false)\n .withGrowAfterOpen(true)\n .withFlexibleDimensions(constrain)\n .withPositions(popoverPositions);\n if (constrain) {\n positionStrategy.withViewportMargin(8);\n }\n return positionStrategy;\n}\n\nexport function makeOverlay(\n positionStrategy: PositionStrategy,\n overlay: Overlay,\n hasBackdrop: boolean\n): OverlayRef {\n const config = new OverlayConfig();\n config.positionStrategy = positionStrategy;\n config.scrollStrategy = overlay.scrollStrategies.reposition();\n config.direction = isRTL() ? 'rtl' : 'ltr';\n if (hasBackdrop) {\n config.hasBackdrop = true;\n config.backdropClass = 'cdk-overlay-transparent-backdrop';\n } else {\n config.hasBackdrop = false;\n }\n return overlay.create(config);\n}\n\nexport function getOverlay(\n elementRef: ElementRef<any>,\n overlay: Overlay,\n hasBackdrop: boolean,\n placement: keyof typeof positions | ConnectionPositionPair[],\n constrain = false,\n center = true\n): OverlayRef {\n const positionStrategy = makePositionStrategy(elementRef, overlay, placement, constrain, center);\n return makeOverlay(positionStrategy, overlay, hasBackdrop);\n}\n\nexport function getPositionStrategy(\n overlayref: OverlayRef\n): FlexibleConnectedPositionStrategy | undefined {\n return overlayref.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n}\n\nexport function getOverlayPositions(\n elementRef: ElementRef<any>,\n placement: keyof typeof positions | ConnectionPositionPair[],\n center = true\n): ConnectionPositionPair[] {\n if (elementRef.nativeElement && center) {\n const rtl = isRTL();\n const halfWidth = Math.round(elementRef.nativeElement.offsetWidth / 2);\n positionTopStart.offsetX = positionBottomStart.offsetX = halfWidth * (rtl ? 1 : -1);\n positionTopEnd.offsetX = positionBottomEnd.offsetX = halfWidth * (rtl ? -1 : 1);\n } else {\n positionTopStart.offsetX = undefined;\n positionTopEnd.offsetX = undefined;\n positionBottomStart.offsetX = undefined;\n positionBottomEnd.offsetX = undefined;\n }\n return typeof placement === 'string' ? positions[placement] : placement;\n}\n\nexport function hasTrigger(trigger: string, triggers?: string): boolean {\n return (triggers?.split(/\\s+/) ?? []).includes(trigger);\n}\n\nexport interface OverlayArrowPosition {\n left?: number;\n right?: number;\n}\n/**\n * calculates the arrow position from left/right for tooltips, popovers, etc\n * @param change - the event from the position strategy\n * @param overlay - ElementRef for the overlay content, i.e. the popover/tooltip component\n * @param anchor - ElementRef for the anchoring element, i.e. the trigger of the popover/tooltip\n */\nexport function calculateOverlayArrowPosition(\n change: ConnectedOverlayPositionChange,\n overlay: ElementRef,\n anchor?: ElementRef\n): OverlayArrowPosition {\n if (anchor && ['bottom', 'top'].includes(change.connectionPair.originY)) {\n // Calculate offset to the anchor element center\n const anchorRect = anchor.nativeElement.getBoundingClientRect();\n const overlayRect = overlay.nativeElement.getBoundingClientRect();\n const center = anchorRect.left + anchorRect.width / 2;\n // Position arrow centered to the anchor element\n\n // prettier-ignore\n return isRTL()\n ? { right: overlayRect.right - center }\n : { left: center - overlayRect.left };\n }\n\n const offsetX = change.connectionPair.offsetX;\n if (offsetX) {\n // prettier-ignore\n return offsetX < 0\n ? { left: -offsetX }\n : { right: offsetX };\n }\n return {};\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './animation.helpers';\nexport * from './positioning.helpers';\nexport * from './rtl';\nexport * from './track-by.helper';\nexport * from './global-events.helpers';\nexport * from './overlay-helper';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Type } from '@angular/core';\n\n// note: this _must_ be a function, not an arrow\n// eslint-disable-next-line\nexport function WebComponentContentChildren<T>(host: Type<T>) {\n // holds the Type information of child component and the property name of parent component which is used to hold it.\n return (...args: any) => {\n args[0].__contentQuery = {\n host,\n prop: args[1]\n };\n };\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './webcomponent.decorator';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './services';\nexport * from './models';\nexport * from './helpers';\nexport * from './decorators';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;;AAGG;AAaH;;;AAGG;MAEU,YAAY,CAAA;AACf,IAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAE5C,IAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,IAAA,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;AAeG;IACa,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAC1C,GAAG,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAC7B,oBAAoB,EAAE,EACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACpB,OAAO,CAAC,KAAK,CAAC,EACd,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,EACjC,KAAK,EAAE,CACR;AAED;;AAEG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;AAGxB;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGzB;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;;uGAjDf,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADC,MAAM,EAAA,CAAA;;2FACnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACpBlC;;;AAGG;AAIH,MAAM,mBAAmB,GAAG,IAAI,cAAc,CAAiB,qBAAqB,EAAE;AACpF,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACZ,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;YAC1C,OAAO,IAAI,0BAA0B,EAAE;;AAEzC,QAAA,OAAO,EAAE,IAAI,EAAE,MAAK,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;;AAE9C,CAAA,CAAC;AA8BF,MAAM,0BAA0B,CAAA;IAC9B,IAAI,CAAC,OAAe,EAAE,IAAY,EAAA;QAChC,YAAY,CAAC,OAAO,CAAC,CAAA,YAAA,EAAe,OAAO,CAAA,CAAE,EAAE,IAAI,CAAC;;AAGtD,IAAA,IAAI,CAAC,OAAe,EAAA;QAClB,OAAO,YAAY,CAAC,OAAO,CAAC,eAAe,OAAO,CAAA,CAAE,CAAC;;AAExD;AAED;MACa,mBAAmB,GAAG,IAAI,cAAc,CAAmB,qBAAqB;AAE7F;;;AAGG;AACH,MACM,gBAAgB,CAAA;AACZ,IAAA,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAE7C;;;;;;AAMG;AACH,IAAA,IAAI,CAAS,OAAe,EAAE,KAAa,EAAE,OAAO,GAAG,CAAC,EAAA;AACtD,QAAA,QACE,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,OAAO,EACP,IAAI,CAAC,SAAS,CAAC;YACb,OAAO;YACP;AACD,SAAA,CAAC,CACH,IAAI,OAAO,CAAC,OAAO,EAAE;;AAI1B;;;;;;AAMG;AACH,IAAA,IAAI,CAAmB,OAAe,EAAE,OAAO,GAAG,CAAC,EAAA;;;;QAIjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AAChD,QAAA,IAAI,aAAa,YAAY,OAAO,EAAE;AACpC,YAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;;aAC1D;AACL,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,WAAW,IAAG;oBAClB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAS,aAAa,EAAE,OAAO,CAAC;oBAC1D,IAAI,WAAW,EAAE;AACf,wBAAA,OAAO,WAAW,CAAC,IAAI,CAAC;;yBACnB;AACL,wBAAA,OAAO,WAAW;;;aAGY;AAEpC,YAAA,OAAO,WAAW;;;IAId,QAAQ,CACd,IAA+B,EAC/B,OAAe,EAAA;QAEf,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC/B,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC9B,OAAO,MAAM,CAAC,KAAK;;;AAIvB,QAAA,OAAO,SAAS;;uGA/Dd,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAhB,gBAAgB,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBADrB;;AAsED;AACO,MAAM,gBAAgB,GAAG,CAAC,MAAyC,KAAgB;IACxF,OAAO;AACL,QAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;AAC5D,QAAA,MAAM,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG;KAC5E;AACH;;AC1IA;;;AAGG;MAcU,kBAAkB,CAAA;AACrB,IAAA,aAAa;AACb,IAAA,WAAW;AACX,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;;AAEnC,IAAA,WAAW,CAAC,IAAY,EAAE,OAA8B,EAAE,SAA6B,EAAA;QACrF,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;;;IAG/D,YAAY,CAAC,OAAoB,EAAE,SAA6B,EAAA;AAC9D,QAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC;;QAEvC,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,IAAI,KAAK,CAAC,SAAS;QACzD,MAAM,WAAW,GAAG,SAAS,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW;QAC/D,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,IAAI,KAAK,CAAC,UAAU;QAC5D,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ;QACtD,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,IAAI,KAAK,CAAC,UAAU;QAC5D,OAAO,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,UAAU,CAAA;AACvE,aAAA,OAAO,CAAC,KAAK,EAAE,GAAG;AAClB,aAAA,IAAI,EAAE;;IAGH,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB;;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAsB;QACzE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAA6B;;IAGlE,YAAY,CAAC,OAA8B,EAAE,SAA6B,EAAA;AAChF,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,aAAc,CAAC,IAAI,GAAG,OAAO;YAClC;;AAEF,QAAA,IAAI,OAAO,IAAI,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,aAAc,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;YACtF;;AAEF,QAAA,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1D,IAAI,CAAC,aAAc,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW;;uGA1ClC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;AChBD;;;AAGG;AAGH;;;AAGG;MAEU,eAAe,CAAA;AAClB,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAEnC;;;;AAIG;AACM,IAAA,KAAK,GAAW,IAAI,CAAC,QAAQ,EAAE;IAEhC,QAAQ,GAAA;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAChD,QAAA,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ;AACjC,QAAA,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO;AAC1B,QAAA,KAAK,CAAC,KAAa,CAAC,eAAe,GAAG,WAAW;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAErC,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW;AACvC,QAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAChD,QAAA,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM;AAC1B,QAAA,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAExB,QAAA,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW;AACzC,QAAA,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC;QAEpC,OAAO,aAAa,GAAG,eAAe;;uGA3B7B,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACVlC;;;AAGG;;ACkBI,MAAM,WAAW,GAA8C;AACpE,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,OAAO,EAAE,gCAAgC;AACzC,QAAA,YAAY,EAAE,yBAAyB;AACvC,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,KAAK,EAAE,aAAa;AACpB,QAAA,OAAO,EAAE,gCAAgC;AACzC,QAAA,YAAY,EAAE,sBAAsB;AACpC,QAAA,UAAU,EAAE,cAAc;AAC1B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,OAAO,EAAE,4CAA4C;AACrD,QAAA,YAAY,EAAE,yBAAyB;AACvC,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,OAAO,EAAE,4CAA4C;AACrD,QAAA,YAAY,EAAE,yBAAyB;AACvC,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,OAAO,EAAE,4CAA4C;AACrD,QAAA,YAAY,EAAE,wBAAwB;AACtC,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,iBAAiB;AACxB,QAAA,OAAO,EAAE,4CAA4C;AACrD,QAAA,YAAY,EAAE,0BAA0B;AACxC,QAAA,UAAU,EAAE,kBAAkB;AAC9B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,KAAK,EAAE,aAAa;AACpB,QAAA,OAAO,EAAE,oCAAoC;AAC7C,QAAA,YAAY,EAAE,sBAAsB;AACpC,QAAA,UAAU,EAAE,cAAc;AAC1B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,OAAO,EAAE,iCAAiC;AAC1C,QAAA,YAAY,EAAE,yBAAyB;AACvC,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,QAAQ,EAAE;AACX,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,OAAO,EAAE,6BAA6B;AACtC,QAAA,YAAY,EAAE,WAAW;AACzB,QAAA,UAAU,EAAE,WAAW;AACvB,QAAA,QAAQ,EAAE;AACX;;;ACvFH,MAAM,aAAa,GAA2B;AAC5C,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,OAAO,EAAE;CACV;AAED,MAAM,WAAW,GAA2B;AAC1C,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE;CACV;AAEM,MAAM,iBAAiB,GAA2B;AACvD,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE;;AAGJ,MAAM,gBAAgB,GAA2B;AACtD,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE;;AAGJ,MAAM,cAAc,GAA2B;AACpD,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE;;AAGJ,MAAM,oBAAoB,GAA2B;AAC1D,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE;;AAGJ,MAAM,mBAAmB,GAA2B;AACzD,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE;;AAGJ,MAAM,iBAAiB,GAA2B;AACvD,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE;;AAGJ,MAAM,SAAS,GAAG;AACvB,IAAA,GAAG,EAAE;QACH,iBAAiB;QACjB,gBAAgB;QAChB,cAAc;QACd,oBAAoB;QACpB,mBAAmB;QACnB,iBAAiB;QACjB,aAAa;QACb;AACD,KAAA;AACD,IAAA,GAAG,EAAE;QACH,WAAW;QACX,iBAAiB;QACjB,gBAAgB;QAChB,cAAc;QACd,oBAAoB;QACpB,mBAAmB;QACnB,iBAAiB;QACjB;AACD,KAAA;AACD,IAAA,MAAM,EAAE;QACN,oBAAoB;QACpB,mBAAmB;QACnB,iBAAiB;QACjB,iBAAiB;QACjB,gBAAgB;QAChB,cAAc;QACd,aAAa;QACb;AACD,KAAA;AACD,IAAA,KAAK,EAAE;QACL,aAAa;QACb,iBAAiB;QACjB,gBAAgB;QAChB,cAAc;QACd,oBAAoB;QACpB,mBAAmB;QACnB,iBAAiB;QACjB;AACD,KAAA;AACD,IAAA,IAAI,EAAE;QACJ,iBAAiB;QACjB,gBAAgB;QAChB,cAAc;QACd,oBAAoB;QACpB,mBAAmB;QACnB,iBAAiB;QACjB,aAAa;QACb;AACD;;;AChHH;;;AAGG;;ACHH;;;AAGG;AACH;;;;AAIG;AACI,MAAM,qBAAqB,GAAG,MAAc;IACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,8BAA8B,CAAC;IACnE,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC;AACjC;;ACbA;;;AAGG;MACU,KAAK,GAAG,CAAC,IAAkB,KACtC,gBAAgB,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,SAAS,KAAK;AAE5D,MAAM,aAAa,GAAG,CAAC,GAAW,KAAY;AACnD,IAAA,IAAI,CAAC,KAAK,EAAE,EAAE;AACZ,QAAA,OAAO,GAAG;;IAEZ,OAAO,GAAG,KAAK,WAAW,GAAG,YAAY,GAAG,GAAG,KAAK,YAAY,GAAG,WAAW,GAAG,GAAG;AACtF;;ACZA;;;AAGG;AASI,MAAM,MAAM,GAAG;AACpB,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,gBAAgB,EAAE,OAAO;AACzB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,UAAU,EAAE,OAAO;AACnB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,UAAU,EAAE;;AAEP,MAAM,MAAM,GAAG;AACpB,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,gBAAgB,EAAE,MAAM;AACxB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,UAAU,EAAE;;AAEP,MAAM,oBAAoB,GAAG;AAClC,IAAA,qBAAqB,EAAE,OAAO;AAC5B,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,MAAM,CAAC,WAAW;QAC1B,KAAK,EAAE,MAAM,CAAC;KACf;;MAGU,gBAAgB,GAAG,CAC9B,WAAwB,EACxB,SAAiB,KACK;IACtB,IAAI,SAAS,EAAE;QACb,MAAM,mBAAmB,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC;QAChE,IAAI,mBAAmB,EAAE;AACvB,YAAA,OAAO,mBAAkC;;QAE3C,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;QACrD,IAAI,cAAc,EAAE;AAClB,YAAA,OAAO,cAA6B;;QAEtC,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAChD,OAAQ,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAiB,IAAI,IAAI;;AAErD,IAAA,OAAO,IAAI;AACb;AAEA,MAAM,qBAAqB,GAAG,CAC5B,OAA2B,EAC3B,IAAe,EACf,iBAAA,GAAqD,EAAE,KACpB;IACnC,IAAI,OAAO,EAAE;QACX,MAAM,aAAa,GACjB,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,WAAW,GAAG,WAAW,CAAC,IAAI,SAAS;AAClF,QAAA,IACE,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,aAAa,GAAG,cAAc,CAAC;AACtD,YAAA,aAAa,KAAK,SAAS;YAC3B,aAAa,KAAK,QAAQ,EAC1B;AACA,YAAA,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,KAAK,OAAO,GAAG,oBAAoB,GAAG,OAAO,CAAC;;AAE/F,QAAA,IAAI,OAAO,KAAK,QAAQ,CAAC,eAAe,EAAE;AACxC,YAAA,qBAAqB,CAClB,OAAe,CAAC,qBAAqB,IAAI,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,EAChF,IAAI,EACJ,iBAAiB,CAClB;;;AAGL,IAAA,OAAO,iBAAiB;AAC1B,CAAC;AAED,MAAM,6BAA6B,GAAG,CACpC,QAAuB,KACyC;IAChE,IAAI,GAAG,GAAG,CAAC;IACX,IAAI,MAAM,GAAG,CAAC;IACd,IAAI,IAAI,GAAG,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC;AACb,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,IAAI,GAAa,EAAE;QACzB,MAAM,OAAO,GAAa,EAAE;QAC5B,MAAM,KAAK,GAAa,EAAE;QAC1B,MAAM,MAAM,GAAa,EAAE;AAC3B,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAG;AACzB,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE;AAC5C,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnB,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACrB,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,SAAC,CAAC;QACF,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QAC7B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;;IAE7B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;AACrC,CAAC;AAED,MAAM,gCAAgC,GAAG,CACvC,WAA0C,EAC1C,yBAA6C,KACT;;IAEpC,MAAM,yBAAyB,GAAG,qBAAqB,CACrD,yBAAyB,EACzB,WAAW,CAAC,IAAI,CACjB;AACD,IAAA,MAAM,6BAA6B,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,IACtE,IAAI,CAAC,qBAAqB,EAAE,CAC7B;;IAED,MAAM,mCAAmC,GAAG,IAAI,CAAC,GAAG,CAClD,CAAC,EACD,GAAG,6BAA6B,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAC3E;;AAED,IAAA,MAAM,mCAAmC,GAAG,IAAI,CAAC,GAAG,CAClD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAC9B,GAAG,6BAA6B,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAC3E;IACD,OAAO,EAAE,KAAK,EAAE,mCAAmC,EAAE,KAAK,EAAE,mCAAmC,EAAE;AACnG,CAAC;AAED,MAAM,kCAAkC,GAAG,CAAC,MAQ3C,KAAe;AACd,IAAA,MAAM,EACJ,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,GAAG,EACJ,GAAG,MAAM;;AAEV,IAAA,MAAM,wBAAwB,GAC5B,kBAAkB,CAAC,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC;;AAEpE,IAAA,MAAM,wBAAwB,GAC5B,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,KAAK;IACpE,IAAI,wBAAwB,GAAG,WAAW,IAAI,wBAAwB,GAAG,WAAW,EAAE;;;AAGpF,QAAA,OAAO,GAAG,GAAG,WAAW,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB;;AACnE,SAAA,IAAI,wBAAwB,GAAG,WAAW,EAAE;QACjD,OAAO,WAAW,CAAC,gBAAgB;;AAC9B,SAAA,IAAI,wBAAwB,GAAG,WAAW,EAAE;QACjD,OAAO,WAAW,CAAC,gBAAgB;;;AAGrC,IAAA,OAAO,gBAAgB;AACzB,CAAC;AAED,MAAM,0BAA0B,GAAG,CAAC,MAMnC,KAAmC;AAClC,IAAA,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;AAC5D,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE;AAEnD,IAAA,MAAM,KAAK,GAAG,GAAG,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI;AACxD,IAAA,MAAM,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK;IAEtD,IAAI,kBAAkB,GAAG,CAAC;IAC1B,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,KAAK,EAAE;QAChD,kBAAkB;AAChB,YAAA,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,KAAK,KAAK;AAC/E,kBAAE;kBACA,KAAK;;SACN;AACL,QAAA,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC/B,kBAAkB,GAAG,KAAK;;aACrB;YACL,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,EAAE;gBAChD,kBAAkB,GAAG,GAAG;;AACnB,iBAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;AAC7B,gBAAA,kBAAkB,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC;;iBAC7E;gBACL,kBAAkB,GAAG,KAAK;;;;IAIhC,IAAI,iBAAiB,GAAG,CAAC;AACzB,IAAA,IAAI,SAAS,KAAK,IAAI,EAAE;AACtB,QAAA,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG;;SAClF,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,KAAK,EAAE;QACvD,iBAAiB,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM;;SACnF;AACL,QAAA,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM;;IAEtF,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB,EAAE;AAC7D,CAAC;AAED,MAAM,0BAA0B,GAAG,CAAC,MAOnC,KAAmC;AAClC,IAAA,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,yBAAyB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;IAC9F,MAAM,aAAa,GAAI,cAA8B,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI;AACnF,IAAA,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,EAAE;IAC/D,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;QAClD,SAAS;QACT,SAAS;AACT,QAAA,OAAO,EAAE,yBAAyB;QAClC,KAAK;QACL;AACD,KAAA,CAAC;AACF,IAAA,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU;AAC5F,IAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,GAAG,aAAa,CAAC,SAAS;IACxF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE;AAC7C,CAAC;AAEM,MAAM,wBAAwB,GAAG,CAAC,MAOxC,KAAY;AACX,IAAA,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,yBAAyB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;IAC9F,MAAM,QAAQ,GAAG,0BAA0B,CAAC;QAC1C,cAAc;QACd,SAAS;QACT,SAAS;QACT,yBAAyB;QACzB,KAAK;AACL,QAAA,GAAG,EAAE,GAAG,IAAI,KAAK;AAClB,KAAA,CAAC;IACF,OAAO,CAAA,YAAA,EAAe,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAA,QAAA,CAAU;AAClE;AAEO,MAAM,0BAA0B,GAAG,CAAC,MAc1C,KAAyD;AACxD,IAAA,MAAM,EACJ,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,SAAS,EACT,yBAAyB,EACzB,KAAK,EACL,8BAA8B,EAC9B,kCAAkC,EAClC,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,GAAG,EACJ,GAAG,MAAM;AAEV,IAAA,MAAM,SAAS,GAAG,GAAG,IAAI,KAAK,EAAE;AAEhC,IAAA,IAAI,mBAA0C;IAE9C,MAAM,sBAAsB,GAAG;UAC3B,gBAAgB,KAAK;AACrB,cAAE;cACA,gBAAgB,KAAK;AACrB,kBAAE;AACF,kBAAE;UACJ,gBAAgB;;AAGpB,IAAA,MAAM,WAAW,GAAG,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM;;AAEhG,IAAA,MAAM,YAAY,GAAG,6BAA6B,CAAC,eAAe,CAAC;;IAEnE,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC;AACnF,IAAA,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,IAChE,IAAI,CAAC,qBAAqB,EAAE,CAC7B;;IAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CACtC,CAAC,EACD,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CACxE;;AAED,IAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CACtC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAC9B,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CACxE;;;IAID,MAAM,eAAe,GAAG,0BAA0B,CAAC;QACjD,SAAS,EAAE,WAAW,CAAC,gBAAgB;QACvC,SAAS;AACT,QAAA,OAAO,EAAE,yBAAyB;QAClC;AACD,KAAA,CAAC;;;IAGF,MAAM,eAAe,GAAG,0BAA0B,CAAC;QACjD,SAAS,EAAE,WAAW,CAAC,gBAAgB;QACvC,SAAS,EAAE,gBAAgB,IAAI,SAAS;AACxC,QAAA,OAAO,EAAE,yBAAyB;QAClC;AACD,KAAA,CAAC;;AAGF,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC;;IAGhG,MAAM,YAAY,GAAG,uBAAuB,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC;;IAEtF,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,uBAAuB;AAEtF,IAAA,IAAI,kBAAgE;IACpE,IAAI,YAAY,GAAG,YAAY,IAAI,YAAY,GAAG,YAAY,EAAE;;;AAG9D,QAAA,mBAAmB,GAAG,SAAS,GAAG,WAAW,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB;;SACxF,IAAI,uBAAuB,EAAE;AAClC,QAAA,MAAM,yBAAyB,GAAG,YAAY,GAAG,uBAAuB,GAAG,YAAY;QACvF,IAAI,YAAY,GAAG,yBAAyB,IAAI,YAAY,GAAG,yBAAyB,EAAE;;;AAGxF,YAAA,IAAI,YAAY,GAAG,YAAY,EAAE;AAC/B,gBAAA,mBAAmB,GAAG,WAAW,CAAC,gBAAgB;;iBAC7C;AACL,gBAAA,mBAAmB,GAAG,WAAW,CAAC,gBAAgB;;;AAE/C,aAAA,IAAI,YAAY,GAAG,yBAAyB,EAAE;AACnD,YAAA,mBAAmB,GAAG,WAAW,CAAC,gBAAgB;;AAC7C,aAAA,IAAI,YAAY,GAAG,yBAAyB,EAAE;AACnD,YAAA,mBAAmB,GAAG,WAAW,CAAC,gBAAgB;;;IAGtD,IAAI,CAAC,mBAAmB,EAAE;AACxB,QAAA,IAAI,YAAY,GAAG,YAAY,EAAE;AAC/B,YAAA,mBAAmB,GAAG,WAAW,CAAC,gBAAgB;;AAC7C,aAAA,IAAI,YAAY,GAAG,YAAY,EAAE;AACtC,YAAA,mBAAmB,GAAG,WAAW,CAAC,gBAAgB;;aAC7C;AACL,YAAA,IACE,8BAA8B;gBAC9B,yBAAyB;gBACzB,WAAW,KAAK,yBAAyB,EACzC;AACA,gBAAA,kBAAkB,GAAG,gCAAgC,CACnD,WAAW,EACX,yBAAyB,CAC1B;gBACD,mBAAmB,GAAG,kCAAkC,CAAC;oBACvD,WAAW;oBACX,eAAe;oBACf,eAAe;AACf,oBAAA,WAAW,EAAE,YAAY;oBACzB,kBAAkB;AAClB,oBAAA,gBAAgB,EAAE,sBAAsB;AACxC,oBAAA,GAAG,EAAE;AACN,iBAAA,CAAC;;iBACG;;gBAEL,mBAAmB,GAAG,sBAAsB;;;;IAKlD,IAAI,KAAK,GAAG,KAAK;IACjB,IAAI,WAAW,EAAE;;AAEf,QAAA,IACE,kCAAkC;YAClC,yBAAyB;YACzB,WAAW,KAAK,yBAAyB,EACzC;AACA,YAAA,kBAAkB,KAAK,gCAAgC,CACrD,WAAW,EACX,yBAAyB,CAC1B;AACD,YAAA,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,qBAAqB,EAAE;;AAE1E,YAAA,MAAM,sBAAsB,GAC1B,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,KAAK;;AAErE,YAAA,MAAM,yBAAyB,GAC7B,kBAAkB,CAAC,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC;YACrE,IAAI,sBAAsB,GAAG,CAAC,IAAI,yBAAyB,GAAG,CAAC,EAAE;;gBAE/D,KAAK,GAAG,IAAI;;;AAGhB,QAAA,IAAI,CAAC,KAAK,IAAI,uBAAuB,EAAE;;YAErC,MAAM,qBAAqB,GACzB,uBAAuB,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC;;YAEnE,MAAM,qBAAqB,GACzB,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,uBAAuB;YACnE,IAAI,qBAAqB,GAAG,CAAC,IAAI,qBAAqB,GAAG,CAAC,EAAE;;gBAE1D,KAAK,GAAG,IAAI;;;;AAIlB,IAAA,mBAAmB,GAAG;UAClB,mBAAmB,KAAK;AACxB,cAAE;cACA,mBAAmB,KAAK;AACxB,kBAAE;AACF,kBAAE;UACJ,mBAAmB;AACvB,IAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE;AACvC;;ACtbA,MAAM,eAAe,GAAG,CAAI,KAAa,EAAE,IAAO,KAAU,IAAI;AAEhE;;;;;;;;;AASG;MACU,oBAAoB,GAAG,MAA6B;AAEjE,MAAM,YAAY,GAAG,CAAC,KAAa,KAAa,KAAK;AAErD;;;;;;;;;AASG;MACU,iBAAiB,GAAG,MAA6B;;AChC9D;;;AAGG;AACH;AACA;AACA;AACA;AACO,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACjB,OAAyB,EACzB,MAAgB,KACA;IAChB,IAAI,IAAI,GAAQ,KAAK;AACrB,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,QAAA,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE;;IAG7B,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AACjD,IAAA,OAAO,MAAK;QACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AACtD,KAAC;AACH;;ACtBA;;;AAGG;AACH;AAqBM,SAAU,oBAAoB,CAClC,UAAuC,EACvC,OAAgB,EAChB,SAA4D,EAC5D,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,IAAI,EAAA;AAEb,IAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;AAC9B,QAAA,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE;;IAG5E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;IAC3E,MAAM,gBAAgB,GAAG;AACtB,SAAA,QAAQ;SACR,mBAAmB,CAAC,UAAU;SAC9B,QAAQ,CAAC,KAAK;SACd,iBAAiB,CAAC,IAAI;SACtB,sBAAsB,CAAC,SAAS;SAChC,aAAa,CAAC,gBAAgB,CAAC;IAClC,IAAI,SAAS,EAAE;AACb,QAAA,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;;AAExC,IAAA,OAAO,gBAAgB;AACzB;SAEgB,WAAW,CACzB,gBAAkC,EAClC,OAAgB,EAChB,WAAoB,EAAA;AAEpB,IAAA,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE;AAClC,IAAA,MAAM,CAAC,gBAAgB,GAAG,gBAAgB;IAC1C,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAC7D,IAAA,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK;IAC1C,IAAI,WAAW,EAAE;AACf,QAAA,MAAM,CAAC,WAAW,GAAG,IAAI;AACzB,QAAA,MAAM,CAAC,aAAa,GAAG,kCAAkC;;SACpD;AACL,QAAA,MAAM,CAAC,WAAW,GAAG,KAAK;;AAE5B,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/B;SAEgB,UAAU,CACxB,UAA2B,EAC3B,OAAgB,EAChB,WAAoB,EACpB,SAA4D,EAC5D,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,IAAI,EAAA;AAEb,IAAA,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;IAChG,OAAO,WAAW,CAAC,gBAAgB,EAAE,OAAO,EAAE,WAAW,CAAC;AAC5D;AAEM,SAAU,mBAAmB,CACjC,UAAsB,EAAA;AAEtB,IAAA,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC,gBAAqD;AACrF;AAEM,SAAU,mBAAmB,CACjC,UAA2B,EAC3B,SAA4D,EAC5D,MAAM,GAAG,IAAI,EAAA;AAEb,IAAA,IAAI,UAAU,CAAC,aAAa,IAAI,MAAM,EAAE;AACtC,QAAA,MAAM,GAAG,GAAG,KAAK,EAAE;AACnB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;QACtE,gBAAgB,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,cAAc,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,GAAG,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;;SAC1E;AACL,QAAA,gBAAgB,CAAC,OAAO,GAAG,SAAS;AACpC,QAAA,cAAc,CAAC,OAAO,GAAG,SAAS;AAClC,QAAA,mBAAmB,CAAC,OAAO,GAAG,SAAS;AACvC,QAAA,iBAAiB,CAAC,OAAO,GAAG,SAAS;;AAEvC,IAAA,OAAO,OAAO,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS;AACzE;AAEM,SAAU,UAAU,CAAC,OAAe,EAAE,QAAiB,EAAA;AAC3D,IAAA,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;AACzD;AAMA;;;;;AAKG;SACa,6BAA6B,CAC3C,MAAsC,EACtC,OAAmB,EACnB,MAAmB,EAAA;AAEnB,IAAA,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;;QAEvE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE;QACjE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC;;;AAIrD,QAAA,OAAO,KAAK;cACR,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,MAAM;cACnC,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE;;AAGzC,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO;IAC7C,IAAI,OAAO,EAAE;;QAEX,OAAO,OAAO,GAAG;AACf,cAAE,EAAE,IAAI,EAAE,CAAC,OAAO;AAClB,cAAE,EAAE,KAAK,EAAE,OAAO,EAAE;;AAExB,IAAA,OAAO,EAAE;AACX;;ACjJA;;;AAGG;;ACGH;AACA;AACM,SAAU,2BAA2B,CAAI,IAAa,EAAA;;AAE1D,IAAA,OAAO,CAAC,GAAG,IAAS,KAAI;AACtB,QAAA,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG;YACvB,IAAI;AACJ,YAAA,IAAI,EAAE,IAAI,CAAC,CAAC;SACb;AACH,KAAC;AACH;;AChBA;;;AAGG;;ACHH;;;AAGG;;ACHH;;AAEG;;;;"}