@siemens/element-ng 49.16.0 → 51.0.0-rc.10

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 (314) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/siemens-element-ng-about.mjs +41 -25
  3. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  4. package/fesm2022/siemens-element-ng-accordion.mjs +59 -41
  5. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-action-modal.mjs +83 -53
  7. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-ag-grid.mjs +143 -148
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-application-header.mjs +180 -188
  11. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-avatar.mjs +34 -24
  17. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  18. package/fesm2022/siemens-element-ng-badge.mjs +9 -8
  19. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  22. package/fesm2022/siemens-element-ng-breadcrumb.mjs +21 -17
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-card.mjs +72 -47
  25. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-carousel.mjs +58 -34
  27. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs +323 -215
  29. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-circle-status.mjs +39 -25
  31. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-color-picker.mjs +44 -34
  33. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +58 -37
  35. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-common.mjs +22 -22
  37. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
  39. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs +37 -28
  41. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
  43. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  44. package/fesm2022/siemens-element-ng-dashboard.mjs +337 -223
  45. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  46. package/fesm2022/siemens-element-ng-datatable.mjs +12 -15
  47. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs +126 -76
  49. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  50. package/fesm2022/siemens-element-ng-datepicker.mjs +393 -251
  51. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +22 -17
  53. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  54. package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
  55. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs +105 -91
  57. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs +33 -25
  59. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs +274 -165
  61. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  62. package/fesm2022/siemens-element-ng-footer.mjs +12 -10
  63. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  64. package/fesm2022/siemens-element-ng-form.mjs +361 -116
  65. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  66. package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
  67. package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
  68. package/fesm2022/siemens-element-ng-formly.mjs +224 -318
  69. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  70. package/fesm2022/siemens-element-ng-header-dropdown.mjs +40 -30
  71. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  72. package/fesm2022/siemens-element-ng-help-button.mjs +6 -6
  73. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  74. package/fesm2022/siemens-element-ng-icon.mjs +56 -57
  75. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  76. package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
  77. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
  79. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  80. package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
  81. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  82. package/fesm2022/siemens-element-ng-landing-page.mjs +121 -75
  83. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
  85. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  86. package/fesm2022/siemens-element-ng-link.mjs +31 -21
  87. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  88. package/fesm2022/siemens-element-ng-list-details.mjs +132 -66
  89. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs +51 -64
  91. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  92. package/fesm2022/siemens-element-ng-localization.mjs +14 -12
  93. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs +116 -51
  95. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  96. package/fesm2022/siemens-element-ng-maplibre.mjs +401 -0
  97. package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -0
  98. package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs +70 -0
  99. package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs.map +1 -0
  100. package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs +215 -0
  101. package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs.map +1 -0
  102. package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs +76 -0
  103. package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs.map +1 -0
  104. package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs +86 -0
  105. package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs.map +1 -0
  106. package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs +130 -0
  107. package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs.map +1 -0
  108. package/fesm2022/siemens-element-ng-markdown.mjs +800 -0
  109. package/fesm2022/siemens-element-ng-markdown.mjs.map +1 -0
  110. package/fesm2022/siemens-element-ng-menu.mjs +71 -57
  111. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  112. package/fesm2022/siemens-element-ng-modal.mjs +14 -11
  113. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  114. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +251 -206
  115. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  116. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +123 -86
  117. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  118. package/fesm2022/siemens-element-ng-navbar.mjs +72 -45
  119. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  120. package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
  121. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  122. package/fesm2022/siemens-element-ng-number-input.mjs +41 -29
  123. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  124. package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
  125. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  126. package/fesm2022/siemens-element-ng-password-strength.mjs +33 -24
  127. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  128. package/fesm2022/siemens-element-ng-password-toggle.mjs +19 -14
  129. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  130. package/fesm2022/siemens-element-ng-phone-number.mjs +144 -139
  131. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  132. package/fesm2022/siemens-element-ng-photo-upload.mjs +85 -52
  133. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  134. package/fesm2022/siemens-element-ng-pills-input.mjs +56 -41
  135. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  136. package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
  137. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  138. package/fesm2022/siemens-element-ng-popover.mjs +35 -27
  139. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
  141. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
  143. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
  145. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-search-bar.mjs +38 -37
  147. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-select.mjs +265 -170
  149. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -4
  151. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-side-panel.mjs +181 -104
  153. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-skip-links.mjs +21 -24
  155. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-slider.mjs +45 -30
  157. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-source-chip.mjs +79 -0
  159. package/fesm2022/siemens-element-ng-source-chip.mjs.map +1 -0
  160. package/fesm2022/siemens-element-ng-split.mjs +290 -306
  161. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-status-bar.mjs +66 -52
  163. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
  165. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-status-toggle.mjs +26 -16
  167. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
  169. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
  171. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-system-banner.mjs +13 -10
  173. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +20 -17
  175. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-tabs.mjs +156 -131
  177. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-theme.mjs +29 -6
  179. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  180. package/fesm2022/siemens-element-ng-threshold.mjs +62 -42
  181. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  182. package/fesm2022/siemens-element-ng-toast-notification.mjs +59 -40
  183. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  184. package/fesm2022/siemens-element-ng-tooltip.mjs +108 -82
  185. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  186. package/fesm2022/siemens-element-ng-tour.mjs +36 -19
  187. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  188. package/fesm2022/siemens-element-ng-translate.mjs +0 -1
  189. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  190. package/fesm2022/siemens-element-ng-tree-view.mjs +113 -84
  191. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  192. package/fesm2022/siemens-element-ng-typeahead.mjs +69 -49
  193. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  194. package/fesm2022/siemens-element-ng-wizard.mjs +95 -54
  195. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  196. package/formly-legacy/package.json +4 -0
  197. package/maplibre/package.json +4 -0
  198. package/maplibre/styles/_index.scss +1 -0
  199. package/maplibre/styles/maplibre-gl.scss +724 -0
  200. package/markdown/directives/tabs/package.json +4 -0
  201. package/markdown/extensions/citations/package.json +4 -0
  202. package/markdown/extensions/katex/package.json +4 -0
  203. package/markdown/extensions/mermaid/package.json +4 -0
  204. package/markdown/hightlighter/highlightjs/package.json +4 -0
  205. package/markdown/package.json +4 -0
  206. package/package.json +96 -25
  207. package/schematics/collection.json +5 -0
  208. package/schematics/{migrations/icon-path-migration → migrate-tabs-legacy}/index.js +1 -1
  209. package/schematics/migrate-tabs-legacy/migrate-tabs-legacy-rule.js +675 -0
  210. package/schematics/migrate-tabs-legacy/schema.json +14 -0
  211. package/schematics/migration.json +4 -4
  212. package/schematics/migrations/data/class-member-replacement.js +1 -19
  213. package/schematics/migrations/data/component-property-names.js +1 -25
  214. package/schematics/migrations/data/component-property-to-child.js +11 -0
  215. package/schematics/migrations/data/css-custom-properties.js +224 -0
  216. package/schematics/migrations/data/element-class-changes.js +116 -18
  217. package/schematics/migrations/data/element-migration-data.js +6 -0
  218. package/schematics/migrations/data/element-selectors.js +1 -9
  219. package/schematics/migrations/data/index.js +0 -4
  220. package/schematics/migrations/data/migration-test-data.js +49 -6
  221. package/schematics/migrations/data/provider-function-removals.js +7 -0
  222. package/schematics/migrations/data/symbol-removals.js +17 -7
  223. package/schematics/migrations/data/symbol-renaming.js +3 -44
  224. package/schematics/migrations/element-migration/element-migration.js +6 -6
  225. package/schematics/migrations/utilities/component-property-to-child.migration.js +73 -0
  226. package/schematics/migrations/utilities/css-custom-property.migration.js +51 -0
  227. package/schematics/migrations/utilities/element-class-change.migration.js +10 -5
  228. package/schematics/migrations/utilities/import-removal.js +39 -0
  229. package/schematics/migrations/utilities/index.js +4 -0
  230. package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
  231. package/schematics/ng-update/index.js +1 -1
  232. package/schematics/ng-update/migrate-content-formatter.js +288 -0
  233. package/schematics/ng-update/migrate-list-details-units.js +86 -0
  234. package/schematics/ng-update/migrate-main-detail-units.js +89 -0
  235. package/schematics/ng-update/migrate-markdown-renderer.js +106 -0
  236. package/schematics/ng-update/migrate-spacers.js +32 -0
  237. package/schematics/ng-update/migrate-split-collapse.js +276 -0
  238. package/schematics/ng-update/migrate-split-scale.js +524 -0
  239. package/schematics/ng-update/migrate-split-sizes.js +107 -0
  240. package/schematics/ng-update/migrate-to-v51.js +35 -0
  241. package/schematics/utils/index.js +1 -0
  242. package/schematics/utils/template-edit-utils.js +35 -0
  243. package/schematics/utils/template-utils.js +31 -45
  244. package/source-chip/package.json +4 -0
  245. package/template-i18n.json +78 -47
  246. package/types/siemens-element-ng-application-header.d.ts +7 -33
  247. package/types/siemens-element-ng-avatar.d.ts +1 -1
  248. package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
  249. package/types/siemens-element-ng-chat-messages.d.ts +118 -70
  250. package/types/siemens-element-ng-circle-status.d.ts +1 -1
  251. package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
  252. package/types/siemens-element-ng-dashboard.d.ts +2 -2
  253. package/types/siemens-element-ng-datatable.d.ts +5 -56
  254. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  255. package/types/siemens-element-ng-datepicker.d.ts +8 -15
  256. package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
  257. package/types/siemens-element-ng-file-uploader.d.ts +13 -31
  258. package/types/siemens-element-ng-filter-bar.d.ts +1 -1
  259. package/types/siemens-element-ng-filtered-search.d.ts +4 -4
  260. package/types/siemens-element-ng-form.d.ts +183 -44
  261. package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
  262. package/types/siemens-element-ng-formly.d.ts +34 -167
  263. package/types/siemens-element-ng-icon.d.ts +2 -19
  264. package/types/siemens-element-ng-landing-page.d.ts +2 -2
  265. package/types/siemens-element-ng-list-details.d.ts +25 -3
  266. package/types/siemens-element-ng-loading-spinner.d.ts +11 -17
  267. package/types/siemens-element-ng-main-detail-container.d.ts +23 -3
  268. package/types/siemens-element-ng-maplibre.d.ts +190 -0
  269. package/types/siemens-element-ng-markdown-directives-tabs.d.ts +10 -0
  270. package/types/siemens-element-ng-markdown-extensions-citations.d.ts +11 -0
  271. package/types/siemens-element-ng-markdown-extensions-katex.d.ts +19 -0
  272. package/types/siemens-element-ng-markdown-extensions-mermaid.d.ts +11 -0
  273. package/types/siemens-element-ng-markdown-hightlighter-highlightjs.d.ts +48 -0
  274. package/types/siemens-element-ng-markdown.d.ts +367 -0
  275. package/types/siemens-element-ng-menu.d.ts +2 -0
  276. package/types/siemens-element-ng-navbar-vertical-next.d.ts +87 -39
  277. package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
  278. package/types/siemens-element-ng-navbar.d.ts +3 -3
  279. package/types/siemens-element-ng-notification-item.d.ts +12 -0
  280. package/types/siemens-element-ng-phone-number.d.ts +28 -10
  281. package/types/siemens-element-ng-photo-upload.d.ts +4 -4
  282. package/types/siemens-element-ng-resize-observer.d.ts +0 -17
  283. package/types/siemens-element-ng-search-bar.d.ts +2 -9
  284. package/types/siemens-element-ng-select.d.ts +32 -5
  285. package/types/siemens-element-ng-side-panel.d.ts +25 -11
  286. package/types/siemens-element-ng-source-chip.d.ts +53 -0
  287. package/types/siemens-element-ng-split.d.ts +101 -78
  288. package/types/siemens-element-ng-status-bar.d.ts +5 -13
  289. package/types/siemens-element-ng-status-counter.d.ts +1 -1
  290. package/types/siemens-element-ng-system-banner.d.ts +2 -2
  291. package/types/siemens-element-ng-tabs.d.ts +1 -2
  292. package/types/siemens-element-ng-theme.d.ts +12 -2
  293. package/types/siemens-element-ng-threshold.d.ts +1 -1
  294. package/types/siemens-element-ng-toast-notification.d.ts +0 -1
  295. package/types/siemens-element-ng-tooltip.d.ts +7 -7
  296. package/types/siemens-element-ng-translate.d.ts +35 -5
  297. package/types/siemens-element-ng-tree-view.d.ts +3 -0
  298. package/types/siemens-element-ng-wizard.d.ts +18 -3
  299. package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
  300. package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
  301. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +0 -263
  302. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +0 -1
  303. package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
  304. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
  305. package/icon-status/package.json +0 -4
  306. package/markdown-renderer/package.json +0 -4
  307. package/schematics/migrations/icon-path-migration/icon-path-migration.js +0 -95
  308. package/schematics/ng-update/migrate-to-v49.js +0 -21
  309. package/schematics/vitest-setup.js +0 -5
  310. package/sort-bar/package.json +0 -4
  311. package/types/siemens-element-ng-icon-status.d.ts +0 -25
  312. package/types/siemens-element-ng-markdown-renderer.d.ts +0 -36
  313. package/types/siemens-element-ng-sort-bar.d.ts +0 -59
  314. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, output, inject, viewChild, ElementRef, HostListener, ChangeDetectionStrategy, Component, booleanAttribute, model, viewChildren, Injectable } from '@angular/core';
2
+ import { input, output, inject, viewChild, ElementRef, HostListener, Component, booleanAttribute, model, viewChildren, Injectable } from '@angular/core';
3
3
  import { ModalRef, SiModalService, createModalConfig } from '@siemens/element-ng/modal';
4
4
  import { Observable } from 'rxjs';
5
5
  import { LiveAnnouncer } from '@angular/cdk/a11y';
@@ -18,18 +18,23 @@ import { first } from 'rxjs/operators';
18
18
  */
19
19
  class SiColumnSelectionEditorComponent {
20
20
  /** The column data object being displayed and edited, including its id, title, visibility, and editable state. */
21
- column = input.required(...(ngDevMode ? [{ debugName: "column" }] : []));
21
+ column = input.required(/* @ts-ignore */
22
+ ...(ngDevMode ? [{ debugName: "column" }] : /* istanbul ignore next */ []));
22
23
  /** Whether this column item is currently selected (visible) in the listbox. */
23
- selected = input.required(...(ngDevMode ? [{ debugName: "selected" }] : []));
24
+ selected = input.required(/* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
24
26
  /** Accessible label for the rename input field shown when editing the column title. */
25
- renameInputLabel = input.required(...(ngDevMode ? [{ debugName: "renameInputLabel" }] : []));
27
+ renameInputLabel = input.required(/* @ts-ignore */
28
+ ...(ngDevMode ? [{ debugName: "renameInputLabel" }] : /* istanbul ignore next */ []));
26
29
  /** Whether the visibility of this column can be toggled by the user. When `false`, the visibility toggle button is hidden. */
27
- columnVisibilityConfigurable = input.required(...(ngDevMode ? [{ debugName: "columnVisibilityConfigurable" }] : []));
30
+ columnVisibilityConfigurable = input.required(/* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "columnVisibilityConfigurable" }] : /* istanbul ignore next */ []));
28
32
  titleChange = output();
29
33
  visibilityChange = output();
30
34
  cdkOption = inject(CdkOption);
31
35
  editing = false;
32
- title = viewChild.required('title');
36
+ title = viewChild.required('title', /* @ts-ignore */
37
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
33
38
  elementRef = inject(ElementRef);
34
39
  icons = addIcons({
35
40
  elementHide,
@@ -62,14 +67,14 @@ class SiColumnSelectionEditorComponent {
62
67
  // manually toggling does not emit an event, so we have to fire one
63
68
  this.visibilityChange.emit();
64
69
  }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiColumnSelectionEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiColumnSelectionEditorComponent, isStandalone: true, selector: "si-column-selection-editor", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: true, transformFunction: null }, renameInputLabel: { classPropertyName: "renameInputLabel", publicName: "renameInputLabel", isSignal: true, isRequired: true, transformFunction: null }, columnVisibilityConfigurable: { classPropertyName: "columnVisibilityConfigurable", publicName: "columnVisibilityConfigurable", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { titleChange: "titleChange", visibilityChange: "visibilityChange" }, host: { listeners: { "keydown.enter": "tryEdit($event)" }, classAttribute: "d-block my-4 mx-1 rounded-2 elevation-1" }, viewQueries: [{ propertyName: "title", first: true, predicate: ["title"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"d-flex p-4\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\n <div class=\"flex-fill overflow-hidden\" [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 flex-shrink-0\">\n @if (columnVisibilityConfigurable()) {\n <span\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.text-primary]=\"!column().disabled\"\n [class.disabled]=\"column().disabled\"\n (click)=\"toggleVisibility()\"\n >\n <si-icon [icon]=\"selected() ? icons.elementShow : icons.elementHide\" />\n </span>\n }\n <span\n cdkDragHandle\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.disabled]=\"column().disabled\"\n [class.pe-none]=\"!column().draggable\"\n >\n <si-icon\n [class.pe-none]=\"!column().draggable\"\n [icon]=\"column().draggable ? icons.elementMenu : icons.elementLock\"\n />\n </span>\n </div>\n</div>\n", styles: [".form-control{cursor:text}\n"], dependencies: [{ kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiColumnSelectionEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiColumnSelectionEditorComponent, isStandalone: true, selector: "si-column-selection-editor", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: true, transformFunction: null }, renameInputLabel: { classPropertyName: "renameInputLabel", publicName: "renameInputLabel", isSignal: true, isRequired: true, transformFunction: null }, columnVisibilityConfigurable: { classPropertyName: "columnVisibilityConfigurable", publicName: "columnVisibilityConfigurable", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { titleChange: "titleChange", visibilityChange: "visibilityChange" }, host: { listeners: { "keydown.enter": "tryEdit($event)" }, classAttribute: "d-block my-4 mx-1 rounded-2 shadow-1" }, viewQueries: [{ propertyName: "title", first: true, predicate: ["title"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"d-flex p-4\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\n <div class=\"flex-fill overflow-hidden\" [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 flex-shrink-0\">\n @if (columnVisibilityConfigurable()) {\n <span\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.text-accent]=\"!column().disabled\"\n [class.disabled]=\"column().disabled\"\n (click)=\"toggleVisibility()\"\n >\n <si-icon [icon]=\"selected() ? icons.elementShow : icons.elementHide\" />\n </span>\n }\n <span\n cdkDragHandle\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.disabled]=\"column().disabled\"\n [class.pe-none]=\"!column().draggable\"\n >\n <si-icon\n [class.pe-none]=\"!column().draggable\"\n [icon]=\"column().draggable ? icons.elementMenu : icons.elementLock\"\n />\n </span>\n </div>\n</div>\n", styles: [".form-control{cursor:text}\n"], dependencies: [{ kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
67
72
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiColumnSelectionEditorComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiColumnSelectionEditorComponent, decorators: [{
69
74
  type: Component,
70
- args: [{ selector: 'si-column-selection-editor', imports: [CdkDragHandle, SiIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
71
- class: 'd-block my-4 mx-1 rounded-2 elevation-1'
72
- }, template: "<div class=\"d-flex p-4\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\n <div class=\"flex-fill overflow-hidden\" [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 flex-shrink-0\">\n @if (columnVisibilityConfigurable()) {\n <span\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.text-primary]=\"!column().disabled\"\n [class.disabled]=\"column().disabled\"\n (click)=\"toggleVisibility()\"\n >\n <si-icon [icon]=\"selected() ? icons.elementShow : icons.elementHide\" />\n </span>\n }\n <span\n cdkDragHandle\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.disabled]=\"column().disabled\"\n [class.pe-none]=\"!column().draggable\"\n >\n <si-icon\n [class.pe-none]=\"!column().draggable\"\n [icon]=\"column().draggable ? icons.elementMenu : icons.elementLock\"\n />\n </span>\n </div>\n</div>\n", styles: [".form-control{cursor:text}\n"] }]
75
+ args: [{ selector: 'si-column-selection-editor', imports: [CdkDragHandle, SiIconComponent], host: {
76
+ class: 'd-block my-4 mx-1 rounded-2 shadow-1'
77
+ }, template: "<div class=\"d-flex p-4\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\n <div class=\"flex-fill overflow-hidden\" [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 flex-shrink-0\">\n @if (columnVisibilityConfigurable()) {\n <span\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.text-accent]=\"!column().disabled\"\n [class.disabled]=\"column().disabled\"\n (click)=\"toggleVisibility()\"\n >\n <si-icon [icon]=\"selected() ? icons.elementShow : icons.elementHide\" />\n </span>\n }\n <span\n cdkDragHandle\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.disabled]=\"column().disabled\"\n [class.pe-none]=\"!column().draggable\"\n >\n <si-icon\n [class.pe-none]=\"!column().draggable\"\n [icon]=\"column().draggable ? icons.elementMenu : icons.elementLock\"\n />\n </span>\n </div>\n</div>\n", styles: [".form-control{cursor:text}\n"] }]
73
78
  }], propDecorators: { column: [{ type: i0.Input, args: [{ isSignal: true, alias: "column", required: true }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: true }] }], renameInputLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "renameInputLabel", required: true }] }], columnVisibilityConfigurable: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnVisibilityConfigurable", required: true }] }], titleChange: [{ type: i0.Output, args: ["titleChange"] }], visibilityChange: [{ type: i0.Output, args: ["visibilityChange"] }], title: [{ type: i0.ViewChild, args: ['title', { isSignal: true }] }], tryEdit: [{
74
79
  type: HostListener,
75
80
  args: ['keydown.enter', ['$event']]
@@ -86,11 +91,14 @@ const dragConfig = {
86
91
  };
87
92
  class SiColumnSelectionDialogComponent {
88
93
  /** HTML `id` applied to the dialog title element, used for `aria-labelledby` association. */
89
- titleId = input(...(ngDevMode ? [undefined, { debugName: "titleId" }] : []));
94
+ titleId = input(/* @ts-ignore */
95
+ ...(ngDevMode ? [undefined, { debugName: "titleId" }] : /* istanbul ignore next */ []));
90
96
  /** The dialog title text displayed in the modal header. */
91
- heading = input(...(ngDevMode ? [undefined, { debugName: "heading" }] : []));
97
+ heading = input(/* @ts-ignore */
98
+ ...(ngDevMode ? [undefined, { debugName: "heading" }] : /* istanbul ignore next */ []));
92
99
  /** The section title displayed above the column list. */
93
- bodyTitle = input(...(ngDevMode ? [undefined, { debugName: "bodyTitle" }] : []));
100
+ bodyTitle = input(/* @ts-ignore */
101
+ ...(ngDevMode ? [undefined, { debugName: "bodyTitle" }] : /* istanbul ignore next */ []));
94
102
  /**
95
103
  * Label for the submit button that applies the column selection.
96
104
  * @defaultValue
@@ -98,7 +106,8 @@ class SiColumnSelectionDialogComponent {
98
106
  * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.SUBMIT:Apply`)
99
107
  * ```
100
108
  */
101
- submitBtnName = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.SUBMIT:Apply`), ...(ngDevMode ? [{ debugName: "submitBtnName" }] : []));
109
+ submitBtnName = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.SUBMIT:Apply`), /* @ts-ignore */
110
+ ...(ngDevMode ? [{ debugName: "submitBtnName" }] : /* istanbul ignore next */ []));
102
111
  /**
103
112
  * Label for the cancel button that discards changes and closes the dialog.
104
113
  * @defaultValue
@@ -106,7 +115,8 @@ class SiColumnSelectionDialogComponent {
106
115
  * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.CANCEL:Cancel`)
107
116
  * ```
108
117
  */
109
- cancelBtnName = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.CANCEL:Cancel`), ...(ngDevMode ? [{ debugName: "cancelBtnName" }] : []));
118
+ cancelBtnName = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.CANCEL:Cancel`), /* @ts-ignore */
119
+ ...(ngDevMode ? [{ debugName: "cancelBtnName" }] : /* istanbul ignore next */ []));
110
120
  /**
111
121
  * Label for the button that resets the column configuration to its original default state.
112
122
  * @defaultValue
@@ -114,7 +124,8 @@ class SiColumnSelectionDialogComponent {
114
124
  * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT:Restore to default`)
115
125
  * ```
116
126
  */
117
- restoreToDefaultBtnName = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT:Restore to default`), ...(ngDevMode ? [{ debugName: "restoreToDefaultBtnName" }] : []));
127
+ restoreToDefaultBtnName = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT:Restore to default`), /* @ts-ignore */
128
+ ...(ngDevMode ? [{ debugName: "restoreToDefaultBtnName" }] : /* istanbul ignore next */ []));
118
129
  /**
119
130
  * Label shown next to a column that is currently hidden.
120
131
  * @defaultValue
@@ -122,7 +133,8 @@ class SiColumnSelectionDialogComponent {
122
133
  * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.HIDDEN:Hidden`)
123
134
  * ```
124
135
  */
125
- hiddenText = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.HIDDEN:Hidden`), ...(ngDevMode ? [{ debugName: "hiddenText" }] : []));
136
+ hiddenText = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.HIDDEN:Hidden`), /* @ts-ignore */
137
+ ...(ngDevMode ? [{ debugName: "hiddenText" }] : /* istanbul ignore next */ []));
126
138
  /**
127
139
  * Label shown next to a column that is currently visible.
128
140
  * @defaultValue
@@ -130,17 +142,19 @@ class SiColumnSelectionDialogComponent {
130
142
  * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.VISIBLE:Visible`)
131
143
  * ```
132
144
  */
133
- visibleText = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.VISIBLE:Visible`), ...(ngDevMode ? [{ debugName: "visibleText" }] : []));
145
+ visibleText = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.VISIBLE:Visible`), /* @ts-ignore */
146
+ ...(ngDevMode ? [{ debugName: "visibleText" }] : /* istanbul ignore next */ []));
134
147
  /**
135
148
  * Whether to show the "Restore to default" button.
136
149
  * @defaultValue false
137
150
  */
138
- restoreEnabled = input(false, { ...(ngDevMode ? { debugName: "restoreEnabled" } : {}), transform: booleanAttribute });
151
+ restoreEnabled = input(false, { ...(ngDevMode ? { debugName: "restoreEnabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
139
152
  /**
140
153
  * Two-way bound array of `Column` objects defining the column list state.
141
154
  * Changes are reflected back to the parent on reorder, visibility toggle, or rename.
142
155
  */
143
- columns = model.required(...(ngDevMode ? [{ debugName: "columns" }] : []));
156
+ columns = model.required(/* @ts-ignore */
157
+ ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
144
158
  /**
145
159
  * Additional interpolation parameters passed to translatable strings.
146
160
  * @defaultValue
@@ -148,7 +162,8 @@ class SiColumnSelectionDialogComponent {
148
162
  * {}
149
163
  * ```
150
164
  */
151
- translationParams = input({}, ...(ngDevMode ? [{ debugName: "translationParams" }] : []));
165
+ translationParams = input({}, /* @ts-ignore */
166
+ ...(ngDevMode ? [{ debugName: "translationParams" }] : /* istanbul ignore next */ []));
152
167
  /**
153
168
  * Accessible label for the column list, used as an `aria-label`. Describes available keyboard shortcuts for reordering and renaming.
154
169
  * @defaultValue
@@ -156,7 +171,8 @@ class SiColumnSelectionDialogComponent {
156
171
  * 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.`)
157
172
  * ```
158
173
  */
159
- listAriaLabel = input(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.`), ...(ngDevMode ? [{ debugName: "listAriaLabel" }] : []));
174
+ listAriaLabel = input(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.`), /* @ts-ignore */
175
+ ...(ngDevMode ? [{ debugName: "listAriaLabel" }] : /* istanbul ignore next */ []));
160
176
  /**
161
177
  * Accessible label for the rename input field inside each column editor row.
162
178
  * @defaultValue
@@ -164,7 +180,8 @@ class SiColumnSelectionDialogComponent {
164
180
  * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL:Rename column`)
165
181
  * ```
166
182
  */
167
- renameInputAriaLabel = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL:Rename column`), ...(ngDevMode ? [{ debugName: "renameInputAriaLabel" }] : []));
183
+ renameInputAriaLabel = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL:Rename column`), /* @ts-ignore */
184
+ ...(ngDevMode ? [{ debugName: "renameInputAriaLabel" }] : /* istanbul ignore next */ []));
168
185
  /**
169
186
  * Live-region message announced after a column is successfully moved to a new position. Supports `{{targetPosition}}` interpolation.
170
187
  * @defaultValue
@@ -172,7 +189,8 @@ class SiColumnSelectionDialogComponent {
172
189
  * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED:Item is now at position {{targetPosition}}`)
173
190
  * ```
174
191
  */
175
- a11yItemMovedMessage = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED:Item is now at position {{targetPosition}}`), ...(ngDevMode ? [{ debugName: "a11yItemMovedMessage" }] : []));
192
+ a11yItemMovedMessage = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED:Item is now at position {{targetPosition}}`), /* @ts-ignore */
193
+ ...(ngDevMode ? [{ debugName: "a11yItemMovedMessage" }] : /* istanbul ignore next */ []));
176
194
  /**
177
195
  * Live-region message announced when a column could not be moved (e.g. already at the boundary).
178
196
  * @defaultValue
@@ -180,14 +198,17 @@ class SiColumnSelectionDialogComponent {
180
198
  * t(() => $localize`:@@SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED:Item was not moved`)
181
199
  * ```
182
200
  */
183
- a11yItemNotMovedMessage = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED:Item was not moved`), ...(ngDevMode ? [{ debugName: "a11yItemNotMovedMessage" }] : []));
201
+ a11yItemNotMovedMessage = input(t(() => $localize `:@@SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED:Item was not moved`), /* @ts-ignore */
202
+ ...(ngDevMode ? [{ debugName: "a11yItemNotMovedMessage" }] : /* istanbul ignore next */ []));
184
203
  /**
185
204
  * Whether column visibility can be toggled by the user. When `false`, visibility controls are hidden for all columns.
186
205
  * @defaultValue true
187
206
  */
188
- columnVisibilityConfigurable = input(true, { ...(ngDevMode ? { debugName: "columnVisibilityConfigurable" } : {}), transform: booleanAttribute });
189
- listOptions = viewChildren(CdkOption, ...(ngDevMode ? [{ debugName: "listOptions" }] : []));
190
- modalBodyElement = viewChild.required('modalBody');
207
+ columnVisibilityConfigurable = input(true, { ...(ngDevMode ? { debugName: "columnVisibilityConfigurable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
208
+ listOptions = viewChildren(CdkOption, /* @ts-ignore */
209
+ ...(ngDevMode ? [{ debugName: "listOptions" }] : /* istanbul ignore next */ []));
210
+ modalBodyElement = viewChild.required('modalBody', /* @ts-ignore */
211
+ ...(ngDevMode ? [{ debugName: "modalBodyElement" }] : /* istanbul ignore next */ []));
191
212
  tempHeaderData = [];
192
213
  modalRef = inject((ModalRef));
193
214
  icons = addIcons({ elementCancel });
@@ -315,10 +336,10 @@ class SiColumnSelectionDialogComponent {
315
336
  .subscribe(translatedMessage => this.liveAnnouncer.announce(translatedMessage));
316
337
  }
317
338
  }
318
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiColumnSelectionDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
319
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiColumnSelectionDialogComponent, isStandalone: true, selector: "si-column-selection-dialog", inputs: { titleId: { classPropertyName: "titleId", publicName: "titleId", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, bodyTitle: { classPropertyName: "bodyTitle", publicName: "bodyTitle", isSignal: true, isRequired: false, transformFunction: null }, submitBtnName: { classPropertyName: "submitBtnName", publicName: "submitBtnName", isSignal: true, isRequired: false, transformFunction: null }, cancelBtnName: { classPropertyName: "cancelBtnName", publicName: "cancelBtnName", isSignal: true, isRequired: false, transformFunction: null }, restoreToDefaultBtnName: { classPropertyName: "restoreToDefaultBtnName", publicName: "restoreToDefaultBtnName", isSignal: true, isRequired: false, transformFunction: null }, hiddenText: { classPropertyName: "hiddenText", publicName: "hiddenText", isSignal: true, isRequired: false, transformFunction: null }, visibleText: { classPropertyName: "visibleText", publicName: "visibleText", isSignal: true, isRequired: false, transformFunction: null }, restoreEnabled: { classPropertyName: "restoreEnabled", publicName: "restoreEnabled", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, listAriaLabel: { classPropertyName: "listAriaLabel", publicName: "listAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, renameInputAriaLabel: { classPropertyName: "renameInputAriaLabel", publicName: "renameInputAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, a11yItemMovedMessage: { classPropertyName: "a11yItemMovedMessage", publicName: "a11yItemMovedMessage", isSignal: true, isRequired: false, transformFunction: null }, a11yItemNotMovedMessage: { classPropertyName: "a11yItemNotMovedMessage", publicName: "a11yItemNotMovedMessage", isSignal: true, isRequired: false, transformFunction: null }, columnVisibilityConfigurable: { classPropertyName: "columnVisibilityConfigurable", publicName: "columnVisibilityConfigurable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { columns: "columnsChange" }, providers: [{ provide: CDK_DRAG_CONFIG, useValue: dragConfig }], viewQueries: [{ propertyName: "listOptions", predicate: CdkOption, descendants: true, isSignal: true }, { propertyName: "modalBodyElement", first: true, predicate: ["modalBody"], descendants: true, isSignal: true }], ngImport: i0, template: "<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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n (click)=\"cancelColumnSelection()\"\n >\n <si-icon [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", styles: [":host{-webkit-user-select:none;user-select:none;max-block-size:100%;overflow:hidden;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "ngmodule", type: CdkScrollableModule }, { kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiColumnSelectionEditorComponent, selector: "si-column-selection-editor", inputs: ["column", "selected", "renameInputLabel", "columnVisibilityConfigurable"], outputs: ["titleChange", "visibilityChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
339
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiColumnSelectionDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiColumnSelectionDialogComponent, isStandalone: true, selector: "si-column-selection-dialog", inputs: { titleId: { classPropertyName: "titleId", publicName: "titleId", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, bodyTitle: { classPropertyName: "bodyTitle", publicName: "bodyTitle", isSignal: true, isRequired: false, transformFunction: null }, submitBtnName: { classPropertyName: "submitBtnName", publicName: "submitBtnName", isSignal: true, isRequired: false, transformFunction: null }, cancelBtnName: { classPropertyName: "cancelBtnName", publicName: "cancelBtnName", isSignal: true, isRequired: false, transformFunction: null }, restoreToDefaultBtnName: { classPropertyName: "restoreToDefaultBtnName", publicName: "restoreToDefaultBtnName", isSignal: true, isRequired: false, transformFunction: null }, hiddenText: { classPropertyName: "hiddenText", publicName: "hiddenText", isSignal: true, isRequired: false, transformFunction: null }, visibleText: { classPropertyName: "visibleText", publicName: "visibleText", isSignal: true, isRequired: false, transformFunction: null }, restoreEnabled: { classPropertyName: "restoreEnabled", publicName: "restoreEnabled", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, listAriaLabel: { classPropertyName: "listAriaLabel", publicName: "listAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, renameInputAriaLabel: { classPropertyName: "renameInputAriaLabel", publicName: "renameInputAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, a11yItemMovedMessage: { classPropertyName: "a11yItemMovedMessage", publicName: "a11yItemMovedMessage", isSignal: true, isRequired: false, transformFunction: null }, a11yItemNotMovedMessage: { classPropertyName: "a11yItemNotMovedMessage", publicName: "a11yItemNotMovedMessage", isSignal: true, isRequired: false, transformFunction: null }, columnVisibilityConfigurable: { classPropertyName: "columnVisibilityConfigurable", publicName: "columnVisibilityConfigurable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { columns: "columnsChange" }, providers: [{ provide: CDK_DRAG_CONFIG, useValue: dragConfig }], viewQueries: [{ propertyName: "listOptions", predicate: CdkOption, descendants: true, isSignal: true }, { propertyName: "modalBodyElement", first: true, predicate: ["modalBody"], descendants: true, isSignal: true }], ngImport: i0, template: "<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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n (click)=\"cancelColumnSelection()\"\n >\n <si-icon [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", styles: [":host{-webkit-user-select:none;user-select:none;max-block-size:100%;overflow:hidden;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "ngmodule", type: CdkScrollableModule }, { kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiColumnSelectionEditorComponent, selector: "si-column-selection-editor", inputs: ["column", "selected", "renameInputLabel", "columnVisibilityConfigurable"], outputs: ["titleChange", "visibilityChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
320
341
  }
321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiColumnSelectionDialogComponent, decorators: [{
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiColumnSelectionDialogComponent, decorators: [{
322
343
  type: Component,
323
344
  args: [{ selector: 'si-column-selection-dialog', imports: [
324
345
  CdkDrag,
@@ -329,7 +350,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
329
350
  SiIconComponent,
330
351
  SiTranslatePipe,
331
352
  SiColumnSelectionEditorComponent
332
- ], providers: [{ provide: CDK_DRAG_CONFIG, useValue: dragConfig }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n (click)=\"cancelColumnSelection()\"\n >\n <si-icon [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", styles: [":host{-webkit-user-select:none;user-select:none;max-block-size:100%;overflow:hidden;display:flex;flex-direction:column}\n"] }]
353
+ ], providers: [{ provide: CDK_DRAG_CONFIG, useValue: dragConfig }], template: "<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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n (click)=\"cancelColumnSelection()\"\n >\n <si-icon [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", styles: [":host{-webkit-user-select:none;user-select:none;max-block-size:100%;overflow:hidden;display:flex;flex-direction:column}\n"] }]
333
354
  }], propDecorators: { titleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleId", required: false }] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], bodyTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyTitle", required: false }] }], submitBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitBtnName", required: false }] }], cancelBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelBtnName", required: false }] }], restoreToDefaultBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreToDefaultBtnName", required: false }] }], hiddenText: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenText", required: false }] }], visibleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "visibleText", required: false }] }], restoreEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreEnabled", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: true }] }, { type: i0.Output, args: ["columnsChange"] }], translationParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationParams", required: false }] }], listAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "listAriaLabel", required: false }] }], renameInputAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "renameInputAriaLabel", required: false }] }], a11yItemMovedMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "a11yItemMovedMessage", required: false }] }], a11yItemNotMovedMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "a11yItemNotMovedMessage", required: false }] }], columnVisibilityConfigurable: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnVisibilityConfigurable", required: false }] }], listOptions: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => CdkOption), { isSignal: true }] }], modalBodyElement: [{ type: i0.ViewChild, args: ['modalBody', { isSignal: true }] }] } });
334
355
 
335
356
  /**
@@ -372,10 +393,10 @@ class SiColumnSelectionDialogService {
372
393
  };
373
394
  });
374
395
  }
375
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiColumnSelectionDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
376
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiColumnSelectionDialogService, providedIn: 'root' });
396
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiColumnSelectionDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
397
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiColumnSelectionDialogService, providedIn: 'root' });
377
398
  }
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiColumnSelectionDialogService, decorators: [{
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiColumnSelectionDialogService, decorators: [{
379
400
  type: Injectable,
380
401
  args: [{ providedIn: 'root' }]
381
402
  }] });
@@ -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 - 2026\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 { elementHide, elementLock, elementMenu, elementShow } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } 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, SiIconComponent],\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 /** The column data object being displayed and edited, including its id, title, visibility, and editable state. */\n readonly column = input.required<Column>();\n /** Whether this column item is currently selected (visible) in the listbox. */\n readonly selected = input.required<boolean>();\n /** Accessible label for the rename input field shown when editing the column title. */\n readonly renameInputLabel = input.required<string>();\n /** Whether the visibility of this column can be toggled by the user. When `false`, the visibility toggle button is hidden. */\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=\"flex-fill overflow-hidden\" [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 flex-shrink-0\">\n @if (columnVisibilityConfigurable()) {\n <span\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.text-primary]=\"!column().disabled\"\n [class.disabled]=\"column().disabled\"\n (click)=\"toggleVisibility()\"\n >\n <si-icon [icon]=\"selected() ? icons.elementShow : icons.elementHide\" />\n </span>\n }\n <span\n cdkDragHandle\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.disabled]=\"column().disabled\"\n [class.pe-none]=\"!column().draggable\"\n >\n <si-icon\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 - 2026\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 { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } 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 SiIconComponent,\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 /** HTML `id` applied to the dialog title element, used for `aria-labelledby` association. */\n readonly titleId = input<string>();\n /** The dialog title text displayed in the modal header. */\n readonly heading = input<TranslatableString>();\n /** The section title displayed above the column list. */\n readonly bodyTitle = input<TranslatableString>();\n /**\n * Label for the submit button that applies the column selection.\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 * Label for the cancel button that discards changes and closes the dialog.\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 * Label for the button that resets the column configuration to its original default state.\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 * Label shown next to a column that is currently hidden.\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 * Label shown next to a column that is currently visible.\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 /**\n * Whether to show the \"Restore to default\" button.\n * @defaultValue false\n */\n readonly restoreEnabled = input(false, { transform: booleanAttribute });\n /**\n * Two-way bound array of `Column` objects defining the column list state.\n * Changes are reflected back to the parent on reorder, visibility toggle, or rename.\n */\n readonly columns = model.required<Column[]>();\n /**\n * Additional interpolation parameters passed to translatable strings.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<Record<string, unknown>>({});\n\n /**\n * Accessible label for the column list, used as an `aria-label`. Describes available keyboard shortcuts for reordering and renaming.\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 * Accessible label for the rename input field inside each column editor row.\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 * Live-region message announced after a column is successfully moved to a new position. Supports `{{targetPosition}}` interpolation.\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 * Live-region message announced when a column could not be moved (e.g. already at the boundary).\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 /**\n * Whether column visibility can be toggled by the user. When `false`, visibility controls are hidden for all columns.\n * @defaultValue true\n */\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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n (click)=\"cancelColumnSelection()\"\n >\n <si-icon [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 - 2026\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 - 2026\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 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { CdkOption } from '@angular/cdk/listbox';\nimport {\n Component,\n ElementRef,\n HostListener,\n inject,\n input,\n output,\n viewChild\n} from '@angular/core';\nimport { elementHide, elementLock, elementMenu, elementShow } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } 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, SiIconComponent],\n templateUrl: './si-column-selection-editor.component.html',\n styles: `\n .form-control {\n cursor: text;\n }\n `,\n host: {\n class: 'd-block my-4 mx-1 rounded-2 shadow-1'\n }\n})\nexport class SiColumnSelectionEditorComponent {\n /** The column data object being displayed and edited, including its id, title, visibility, and editable state. */\n readonly column = input.required<Column>();\n /** Whether this column item is currently selected (visible) in the listbox. */\n readonly selected = input.required<boolean>();\n /** Accessible label for the rename input field shown when editing the column title. */\n readonly renameInputLabel = input.required<string>();\n /** Whether the visibility of this column can be toggled by the user. When `false`, the visibility toggle button is hidden. */\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=\"flex-fill overflow-hidden\" [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 flex-shrink-0\">\n @if (columnVisibilityConfigurable()) {\n <span\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.text-accent]=\"!column().disabled\"\n [class.disabled]=\"column().disabled\"\n (click)=\"toggleVisibility()\"\n >\n <si-icon [icon]=\"selected() ? icons.elementShow : icons.elementHide\" />\n </span>\n }\n <span\n cdkDragHandle\n class=\"btn btn-circle btn-tertiary ms-4\"\n [class.disabled]=\"column().disabled\"\n [class.pe-none]=\"!column().draggable\"\n >\n <si-icon\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 - 2026\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 Component,\n ElementRef,\n inject,\n input,\n model,\n OnInit,\n viewChild,\n viewChildren\n} from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } 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 SiIconComponent,\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})\nexport class SiColumnSelectionDialogComponent implements OnInit {\n /** HTML `id` applied to the dialog title element, used for `aria-labelledby` association. */\n readonly titleId = input<string>();\n /** The dialog title text displayed in the modal header. */\n readonly heading = input<TranslatableString>();\n /** The section title displayed above the column list. */\n readonly bodyTitle = input<TranslatableString>();\n /**\n * Label for the submit button that applies the column selection.\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 * Label for the cancel button that discards changes and closes the dialog.\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 * Label for the button that resets the column configuration to its original default state.\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 * Label shown next to a column that is currently hidden.\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 * Label shown next to a column that is currently visible.\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 /**\n * Whether to show the \"Restore to default\" button.\n * @defaultValue false\n */\n readonly restoreEnabled = input(false, { transform: booleanAttribute });\n /**\n * Two-way bound array of `Column` objects defining the column list state.\n * Changes are reflected back to the parent on reorder, visibility toggle, or rename.\n */\n readonly columns = model.required<Column[]>();\n /**\n * Additional interpolation parameters passed to translatable strings.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<Record<string, unknown>>({});\n\n /**\n * Accessible label for the column list, used as an `aria-label`. Describes available keyboard shortcuts for reordering and renaming.\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 * Accessible label for the rename input field inside each column editor row.\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 * Live-region message announced after a column is successfully moved to a new position. Supports `{{targetPosition}}` interpolation.\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 * Live-region message announced when a column could not be moved (e.g. already at the boundary).\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 /**\n * Whether column visibility can be toggled by the user. When `false`, visibility controls are hidden for all columns.\n * @defaultValue true\n */\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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n (click)=\"cancelColumnSelection()\"\n >\n <si-icon [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 - 2026\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 - 2026\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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"}