@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,48 +1,7 @@
1
1
  export const SYMBOL_RENAMING_MIGRATION = [
2
- // v48 to v49
3
2
  {
4
- module: /@(siemens|simpl)\/dashboards-ng/,
5
- symbolRenamings: [{ replace: 'CONFIG_TOKEN', replaceWith: 'SI_DASHBOARD_CONFIGURATION' }]
6
- },
7
- {
8
- module: /@(siemens|simpl)\/element-ng(\/toast-notification)?/,
9
- symbolRenamings: [{ replace: 'ToastStateName', replaceWith: 'StatusType' }],
10
- toModule: '@siemens/element-ng/common'
11
- },
12
- {
13
- module: /@(siemens|simpl)\/element-ng(\/(info-page|unauthorized-page))?/,
14
- symbolRenamings: [
15
- { replace: 'SiUnauthorizedPageComponent', replaceWith: 'SiInfoPageComponent' }
16
- ],
17
- toModule: '@siemens/element-ng/info-page'
18
- },
19
- {
20
- module: /@siemens\/charts-ng/,
21
- symbolRenamings: [
22
- { replace: 'SimplChartsNgModule', replaceWith: 'SiChartsNgModule' },
23
- { replace: 'SimplSeriesOption', replaceWith: 'SiSeriesOption' },
24
- { replace: 'SimplLineSeriesOption', replaceWith: 'SiLineSeriesOption' },
25
- { replace: 'SimplBarSeriesOption', replaceWith: 'SiBarSeriesOption' },
26
- { replace: 'SimplHeatmapSeriesOption', replaceWith: 'SiHeatmapSeriesOption' },
27
- { replace: 'SimplScatterSeriesOption', replaceWith: 'SiScatterSeriesOption' },
28
- { replace: 'SimplCandlestickSeriesOption', replaceWith: 'SiCandlestickSeriesOption' }
29
- ]
30
- },
31
- {
32
- module: /@siemens\/live-preview/,
33
- symbolRenamings: [
34
- { replace: 'SimplLivePreviewRoutingModule', replaceWith: 'SiLivePreviewRoutingModule' },
35
- { replace: 'SimplLivePreviewModule', replaceWith: 'SiLivePreviewModule' }
36
- ]
37
- },
38
- {
39
- module: /@siemens\/maps-ng/,
40
- symbolRenamings: [{ replace: 'SimplMapsNgModule', replaceWith: 'SiMapsNgModule' }]
41
- },
42
- {
43
- module: /@siemens\/native-charts-ng/,
44
- symbolRenamings: [
45
- { replace: 'SimplNativeChartsNgModule', replaceWith: 'SiNativeChartsNgModule' }
46
- ]
3
+ module: /@siemens\/element-ng\/icon-status$/,
4
+ toModule: '@siemens/element-ng/status-counter',
5
+ symbolRenamings: [{ replace: 'SiIconStatusComponent', replaceWith: 'SiStatusCounterComponent' }]
47
6
  }
48
7
  ];
@@ -1,9 +1,5 @@
1
- /**
2
- * Copyright (c) Siemens 2016 - 2026
3
- * SPDX-License-Identifier: MIT
4
- */
5
1
  import { discoverSourceFiles } from '../../utils/index.js';
6
- import { applyAttributeSelectorMigration, applyElementClassMigration, applyClassMemberReplacementMigration, applyComponentPropertyNameMigration, applyElementSelectorMigration, applySymbolRemovalMigration, applySymbolRenamingMigration } from '../utilities/index.js';
2
+ import { applyAttributeSelectorMigration, applyElementClassMigration, applyClassMemberReplacementMigration, applyComponentPropertyNameMigration, applyCssCustomPropertyMigration, applyComponentPropertyToChildMigration, applyElementSelectorMigration, applyProviderFunctionRemovalMigration, applySymbolRemovalMigration, applySymbolRenamingMigration, migrateCssCustomPropertiesInExternalFiles } from '../utilities/index.js';
7
3
  export const elementMigrationRule = (options, migrationData) => {
8
4
  return async (tree, context) => {
9
5
  for await (const discoveredSourceFile of discoverSourceFiles(tree, context, options.path)) {
@@ -16,16 +12,20 @@ export const elementMigrationRule = (options, migrationData) => {
16
12
  discoveredSourceFile,
17
13
  recorder
18
14
  };
19
- const { componentPropertyNameChanges, symbolRenamingChanges, attributeSelectorChanges, elementSelectorChanges, symbolRemovalChanges, elementClassChanges, classMemberReplacementChanges } = migrationData;
15
+ const { componentPropertyNameChanges, cssCustomPropertyChanges, componentPropertyToChildChanges, symbolRenamingChanges, attributeSelectorChanges, elementSelectorChanges, symbolRemovalChanges, elementClassChanges, classMemberReplacementChanges, providerFunctionRemovalChanges } = migrationData;
20
16
  applyComponentPropertyNameMigration(migrationContext, componentPropertyNameChanges);
17
+ applyCssCustomPropertyMigration(migrationContext, cssCustomPropertyChanges);
18
+ applyComponentPropertyToChildMigration(migrationContext, componentPropertyToChildChanges);
21
19
  applySymbolRenamingMigration(migrationContext, symbolRenamingChanges);
22
20
  applyAttributeSelectorMigration(migrationContext, attributeSelectorChanges);
23
21
  applyElementSelectorMigration(migrationContext, elementSelectorChanges);
24
22
  applySymbolRemovalMigration(migrationContext, symbolRemovalChanges);
25
23
  applyElementClassMigration(migrationContext, elementClassChanges);
26
24
  applyClassMemberReplacementMigration(migrationContext, classMemberReplacementChanges);
25
+ applyProviderFunctionRemovalMigration(migrationContext, providerFunctionRemovalChanges);
27
26
  tree.commitUpdate(recorder);
28
27
  }
28
+ migrateCssCustomPropertiesInExternalFiles(tree, options.path, migrationData.cssCustomPropertyChanges);
29
29
  return tree;
30
30
  };
31
31
  };
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Copyright (c) Siemens 2016 - 2026
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { Element } from '@angular/compiler';
6
+ import { dirname, join } from 'path/posix';
7
+ import { findElement, getInlineTemplates, getTemplateUrl } from '../../utils/index.js';
8
+ export const applyComponentPropertyToChildMigration = (context, changes) => {
9
+ const { tree, discoveredSourceFile, recorder } = context;
10
+ const { path, sourceFile } = discoveredSourceFile;
11
+ for (const template of getInlineTemplates(sourceFile)) {
12
+ migrateTemplate(sourceFile.text.substring(template.getStart() + 1, template.getEnd() - 1), template.getStart() + 1, recorder, changes);
13
+ }
14
+ for (const templateUrl of getTemplateUrl(sourceFile)) {
15
+ const templatePath = join(dirname(path), templateUrl);
16
+ if (!tree.exists(templatePath)) {
17
+ continue;
18
+ }
19
+ const templateRecorder = tree.beginUpdate(templatePath);
20
+ migrateTemplate(tree.read(templatePath).toString(), 0, templateRecorder, changes);
21
+ tree.commitUpdate(templateRecorder);
22
+ }
23
+ };
24
+ const migrateTemplate = (template, offset, recorder, changes) => {
25
+ for (const change of changes) {
26
+ for (const parent of findElement(template, element => element.name === change.parentElementSelector)) {
27
+ const property = parent.attrs.find(attribute => [change.propertyName, `[${change.propertyName}]`, `bind-${change.propertyName}`].includes(attribute.name));
28
+ if (!property) {
29
+ continue;
30
+ }
31
+ const propertyText = property.sourceSpan.toString();
32
+ const child = parent.children.find((node) => node instanceof Element && node.name === change.childElementSelector);
33
+ if (child) {
34
+ const childHasProperty = child.attrs.some(attribute => [change.propertyName, `[${change.propertyName}]`, `bind-${change.propertyName}`].includes(attribute.name));
35
+ if (!childHasProperty) {
36
+ insertAttribute(template, child, propertyText, offset, recorder);
37
+ }
38
+ removeAttribute(template, property.sourceSpan.start.offset, property.sourceSpan.end.offset, offset, recorder);
39
+ }
40
+ else if (parent.startSourceSpan.toString().endsWith('/>')) {
41
+ expandSelfClosingParent(template, parent, property, propertyText, offset, recorder, change);
42
+ }
43
+ else {
44
+ removeAttribute(template, property.sourceSpan.start.offset, property.sourceSpan.end.offset, offset, recorder);
45
+ recorder.insertLeft(parent.startSourceSpan.end.offset + offset, `<${change.childElementSelector} ${propertyText}></${change.childElementSelector}>`);
46
+ }
47
+ }
48
+ }
49
+ };
50
+ const insertAttribute = (template, element, attribute, offset, recorder) => {
51
+ const selfClosing = element.startSourceSpan.toString().endsWith('/>');
52
+ const insertOffset = element.startSourceSpan.end.offset - (selfClosing ? 2 : 1);
53
+ const prefix = /\s/.test(template[insertOffset - 1]) ? '' : ' ';
54
+ recorder.insertLeft(insertOffset + offset, `${prefix}${attribute}${selfClosing ? ' ' : ''}`);
55
+ };
56
+ const removeAttribute = (template, start, end, offset, recorder) => {
57
+ const removeStart = start > 0 && /\s/.test(template[start - 1]) ? start - 1 : start;
58
+ recorder.remove(removeStart + offset, end - removeStart);
59
+ };
60
+ const expandSelfClosingParent = (template, parent, property, propertyText, offset, recorder, change) => {
61
+ const start = parent.startSourceSpan.start.offset;
62
+ const end = parent.startSourceSpan.end.offset;
63
+ const propertyStart = property.sourceSpan.start.offset > start &&
64
+ /\s/.test(template[property.sourceSpan.start.offset - 1])
65
+ ? property.sourceSpan.start.offset - 1
66
+ : property.sourceSpan.start.offset;
67
+ const startTag = template.substring(start, end);
68
+ const withoutProperty = startTag.substring(0, propertyStart - start) +
69
+ startTag.substring(property.sourceSpan.end.offset - start);
70
+ const replacement = withoutProperty.replace(/\s*\/>$/, `><${change.childElementSelector} ${propertyText}></${change.childElementSelector}></${change.parentElementSelector}>`);
71
+ recorder.remove(start + offset, end - start);
72
+ recorder.insertLeft(start + offset, replacement);
73
+ };
@@ -0,0 +1,51 @@
1
+ import ts from 'typescript';
2
+ export const applyCssCustomPropertyMigration = (context, changes) => {
3
+ if (!changes?.length) {
4
+ return;
5
+ }
6
+ const { recorder } = context;
7
+ const { sourceFile } = context.discoveredSourceFile;
8
+ const visit = (node) => {
9
+ if (!ts.isStringLiteralLike(node) &&
10
+ node.kind !== ts.SyntaxKind.TemplateHead &&
11
+ node.kind !== ts.SyntaxKind.TemplateMiddle &&
12
+ node.kind !== ts.SyntaxKind.TemplateTail) {
13
+ node.forEachChild(visit);
14
+ return;
15
+ }
16
+ const start = node.getStart(sourceFile);
17
+ const end = node.getEnd();
18
+ const original = sourceFile.text.slice(start, end);
19
+ const updated = replaceCustomProperties(original, changes);
20
+ if (updated !== original) {
21
+ recorder.remove(start, end - start);
22
+ recorder.insertLeft(start, updated);
23
+ }
24
+ };
25
+ sourceFile.forEachChild(visit);
26
+ };
27
+ export const migrateCssCustomPropertiesInExternalFiles = (tree, projectPath, changes) => {
28
+ if (!changes?.length) {
29
+ return;
30
+ }
31
+ const trimmedPath = projectPath.replace(/^\/+|\/+$/g, '');
32
+ const normalizedProjectPath = trimmedPath ? `/${trimmedPath}/` : '/';
33
+ tree.visit(filePath => {
34
+ if (!filePath.startsWith(normalizedProjectPath) ||
35
+ filePath.includes('/node_modules/') ||
36
+ !['.css', '.html', '.less', '.sass', '.scss'].some(extension => filePath.endsWith(extension))) {
37
+ return;
38
+ }
39
+ const content = tree.readText(filePath);
40
+ const updatedContent = replaceCustomProperties(content, changes);
41
+ if (updatedContent !== content) {
42
+ tree.overwrite(filePath, updatedContent);
43
+ }
44
+ });
45
+ };
46
+ const replaceCustomProperties = (content, changes) => {
47
+ return changes.reduce((updated, change) => {
48
+ const escapedName = change.replace.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
49
+ return updated.replace(new RegExp(`${escapedName}(?![\\w-])`, 'g'), change.replaceWith);
50
+ }, content);
51
+ };
@@ -46,14 +46,14 @@ const migrateElementClasses = ({ tree, filePath, sourceFile, recorder, changes }
46
46
  const processElementClassesInTemplate = ({ template, offset, recorder, changes }) => {
47
47
  findElement(template, () => true).forEach(el => {
48
48
  const classAttr = el.attrs.find(attr => attr.name === 'class');
49
- if (!classAttr) {
50
- return;
51
- }
52
- const originalClasses = classAttr.value.split(/\s+/).filter(Boolean);
49
+ const originalClasses = classAttr?.value.split(/\s+/).filter(Boolean) ?? [];
53
50
  const removeSet = new Set();
54
51
  const addList = [];
55
52
  changes.forEach(change => {
56
- const { addClasses, removeClasses, requiredClasses, excludedClasses } = change;
53
+ const { addClasses, elementSelector, removeClasses, requiredClasses, excludedClasses } = change;
54
+ if (elementSelector && el.name !== elementSelector) {
55
+ return;
56
+ }
57
57
  const hasAllRequiredClasses = requiredClasses.every(reqClass => originalClasses.includes(reqClass));
58
58
  if (!hasAllRequiredClasses) {
59
59
  return;
@@ -83,6 +83,11 @@ const processElementClassesInTemplate = ({ template, offset, recorder, changes }
83
83
  const originalClassString = originalClasses.join(' ');
84
84
  const newClassString = updatedClasses.join(' ');
85
85
  if (originalClassString !== newClassString) {
86
+ if (!classAttr) {
87
+ const insertPosition = el.startSourceSpan.start.offset + 1 + offset + el.name.length;
88
+ recorder.insertLeft(insertPosition, ` class="${newClassString}"`);
89
+ return;
90
+ }
86
91
  const valueStart = classAttr.valueSpan?.start.offset;
87
92
  const valueEnd = classAttr.valueSpan?.end.offset;
88
93
  if (valueStart === undefined || valueEnd === undefined) {
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) Siemens 2016 - 2026
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import ts from 'typescript';
6
+ /**
7
+ * Builds an edit that removes the given named import specifiers from an import
8
+ * declaration.
9
+ *
10
+ * If no specifiers remain after the removal, the whole import declaration is removed
11
+ * (including its trailing newline). Otherwise the import is rebuilt without the removed
12
+ * specifiers while preserving the remaining specifiers and their aliases.
13
+ */
14
+ export const removeImportSpecifiers = (sourceFile, importDeclaration, specifiers) => {
15
+ const namedBindings = importDeclaration.importClause?.namedBindings;
16
+ const remainingElements = namedBindings && ts.isNamedImports(namedBindings)
17
+ ? namedBindings.elements.filter(element => !specifiers.includes(element))
18
+ : [];
19
+ if (remainingElements.length === 0) {
20
+ // No named binding remains: remove the whole import declaration including the
21
+ // trailing newline so no empty line is left behind.
22
+ const start = importDeclaration.getStart(sourceFile);
23
+ let end = importDeclaration.getEnd();
24
+ const fullText = sourceFile.getFullText();
25
+ if (fullText[end] === '\r') {
26
+ end++;
27
+ }
28
+ if (fullText[end] === '\n') {
29
+ end++;
30
+ }
31
+ return { start, width: end - start };
32
+ }
33
+ const updatedImport = ts.factory.createImportDeclaration(importDeclaration.modifiers, ts.factory.createImportClause(importDeclaration.importClause.isTypeOnly, importDeclaration.importClause.name, ts.factory.createNamedImports(remainingElements.map(element => ts.factory.createImportSpecifier(element.isTypeOnly, element.propertyName, element.name)))), importDeclaration.moduleSpecifier, importDeclaration.attributes);
34
+ return {
35
+ start: importDeclaration.getStart(sourceFile),
36
+ width: importDeclaration.getWidth(sourceFile),
37
+ newNode: updatedImport
38
+ };
39
+ };
@@ -6,7 +6,11 @@ export * from './attribute-selector.migration.js';
6
6
  export * from './element-class-change.migration.js';
7
7
  export * from './class-member-replacement.migration.js';
8
8
  export * from './component-property-name.migration.js';
9
+ export * from './css-custom-property.migration.js';
10
+ export * from './component-property-to-child.migration.js';
9
11
  export * from './element-selector.migration.js';
10
12
  export * from './symbol-renaming.migration.js';
11
13
  export * from './symbol-removal.migration.js';
14
+ export * from './provider-function-removal.migration.js';
15
+ export * from './import-removal.js';
12
16
  export * from './migration.interface.js';
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Copyright (c) Siemens 2016 - 2026
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import ts from 'typescript';
6
+ import { getImportSpecifiers } from '../../utils/index.js';
7
+ import { removeImportSpecifiers } from './import-removal.js';
8
+ export const applyProviderFunctionRemovalMigration = (context, changes) => {
9
+ const { discoveredSourceFile, recorder } = context;
10
+ if (!changes?.length) {
11
+ return;
12
+ }
13
+ const { sourceFile } = discoveredSourceFile;
14
+ const edits = [];
15
+ for (const change of changes) {
16
+ const importSpecifiers = getImportSpecifiers(sourceFile, change.module, change.names);
17
+ if (!importSpecifiers.length) {
18
+ continue;
19
+ }
20
+ // Local names as they are used in the file (respecting import aliases).
21
+ const localNames = new Set(importSpecifiers.map(specifier => specifier.name.text));
22
+ const removedCall = collectArrayElementRemovals(sourceFile, localNames, edits);
23
+ // Only remove the import if at least one call was actually removed from a provider array.
24
+ if (removedCall) {
25
+ // Group the matched specifiers by their import declaration so a single edit is
26
+ // produced per declaration, even when multiple names are removed at once.
27
+ const specifiersByImport = new Map();
28
+ for (const specifier of importSpecifiers) {
29
+ const importDeclaration = specifier.parent.parent.parent;
30
+ if (!ts.isImportDeclaration(importDeclaration)) {
31
+ continue;
32
+ }
33
+ const existing = specifiersByImport.get(importDeclaration) ?? [];
34
+ existing.push(specifier);
35
+ specifiersByImport.set(importDeclaration, existing);
36
+ }
37
+ for (const [importDeclaration, specifiers] of specifiersByImport) {
38
+ edits.push(removeImportSpecifiers(sourceFile, importDeclaration, specifiers));
39
+ }
40
+ }
41
+ }
42
+ if (!edits.length) {
43
+ return;
44
+ }
45
+ const printer = ts.createPrinter();
46
+ // Apply edits from bottom to top so earlier offsets stay valid.
47
+ edits.sort((a, b) => b.start - a.start);
48
+ for (const edit of edits) {
49
+ recorder.remove(edit.start, edit.width);
50
+ if (edit.newNode) {
51
+ recorder.insertLeft(edit.start, printer.printNode(ts.EmitHint.Unspecified, edit.newNode, sourceFile));
52
+ }
53
+ }
54
+ };
55
+ /**
56
+ * Finds all call expressions of the given local names that appear as direct elements of
57
+ * an array literal (e.g. a `providers: [...]` array) and records removal edits covering
58
+ * the call together with its adjacent comma and surrounding whitespace.
59
+ *
60
+ * @returns `true` if at least one call was scheduled for removal.
61
+ */
62
+ const collectArrayElementRemovals = (sourceFile, localNames, edits) => {
63
+ let removed = false;
64
+ const visit = (node) => {
65
+ if (ts.isCallExpression(node) &&
66
+ ts.isIdentifier(node.expression) &&
67
+ localNames.has(node.expression.text) &&
68
+ ts.isArrayLiteralExpression(node.parent)) {
69
+ edits.push(getArrayElementRemovalRange(sourceFile, node.parent, node));
70
+ removed = true;
71
+ }
72
+ ts.forEachChild(node, visit);
73
+ };
74
+ visit(sourceFile);
75
+ return removed;
76
+ };
77
+ /**
78
+ * Computes the removal range for a single element of an array literal so that the
79
+ * remaining array stays syntactically valid (no dangling commas).
80
+ */
81
+ const getArrayElementRemovalRange = (sourceFile, array, element) => {
82
+ const elements = array.elements;
83
+ const index = elements.indexOf(element);
84
+ const text = sourceFile.getFullText();
85
+ const elementStart = element.getStart(sourceFile);
86
+ const elementEnd = element.getEnd();
87
+ const isLast = index === elements.length - 1;
88
+ if (!isLast) {
89
+ // Remove up to (and including) the comma before the next element, plus the
90
+ // whitespace that follows it.
91
+ let end = elementEnd;
92
+ while (end < text.length && text[end] !== ',') {
93
+ end++;
94
+ }
95
+ // Skip the comma itself.
96
+ if (text[end] === ',') {
97
+ end++;
98
+ }
99
+ // Skip whitespace before the next element.
100
+ while (end < text.length && /\s/.test(text[end])) {
101
+ end++;
102
+ }
103
+ return { start: elementStart, width: end - elementStart };
104
+ }
105
+ // Last element: also remove the comma and whitespace that precede it, so the previous
106
+ // element does not end up with a trailing comma.
107
+ let start = elementStart;
108
+ let cursor = elementStart - 1;
109
+ while (cursor >= 0 && /\s/.test(text[cursor])) {
110
+ cursor--;
111
+ }
112
+ if (cursor >= 0 && text[cursor] === ',') {
113
+ start = cursor;
114
+ }
115
+ return { start, width: elementEnd - start };
116
+ };
@@ -2,4 +2,4 @@
2
2
  * Copyright (c) Siemens 2016 - 2026
3
3
  * SPDX-License-Identifier: MIT
4
4
  */
5
- export { migrateToV49 } from './migrate-to-v49.js';
5
+ export { migrateToV51 } from './migrate-to-v51.js';