@siemens/element-ng 48.10.0 → 49.0.0-rc.2

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 (396) hide show
  1. package/about/package.json +2 -1
  2. package/accordion/package.json +2 -1
  3. package/action-modal/package.json +2 -1
  4. package/ag-grid/package.json +2 -1
  5. package/application-header/package.json +2 -1
  6. package/auto-collapsable-list/package.json +2 -1
  7. package/autocomplete/package.json +2 -1
  8. package/avatar/package.json +2 -1
  9. package/badge/package.json +2 -1
  10. package/breadcrumb/package.json +2 -1
  11. package/breadcrumb-router/package.json +2 -1
  12. package/card/package.json +2 -1
  13. package/chat-messages/package.json +2 -1
  14. package/circle-status/package.json +2 -1
  15. package/color-picker/package.json +2 -1
  16. package/column-selection-dialog/package.json +2 -1
  17. package/common/package.json +2 -1
  18. package/connection-strength/package.json +2 -1
  19. package/content-action-bar/package.json +2 -1
  20. package/copyright-notice/package.json +2 -1
  21. package/dashboard/package.json +2 -1
  22. package/datatable/package.json +2 -1
  23. package/date-range-filter/package.json +2 -1
  24. package/datepicker/package.json +2 -1
  25. package/electron-titlebar/package.json +2 -1
  26. package/empty-state/package.json +2 -1
  27. package/fesm2022/siemens-element-ng-about.mjs +25 -24
  28. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-accordion.mjs +49 -75
  30. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-action-modal.mjs +59 -55
  32. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-ag-grid.mjs +33 -37
  34. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-application-header.mjs +122 -150
  36. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +30 -32
  38. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-autocomplete.mjs +34 -48
  40. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-avatar.mjs +23 -24
  42. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-badge.mjs +6 -6
  44. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +16 -16
  46. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-breadcrumb.mjs +18 -17
  48. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-card.mjs +32 -34
  50. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-chat-messages.mjs +204 -109
  52. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-circle-status.mjs +26 -26
  54. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-color-picker.mjs +18 -17
  56. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +36 -35
  58. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-common.mjs +13 -38
  60. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-connection-strength.mjs +11 -11
  62. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-content-action-bar.mjs +33 -30
  64. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-copyright-notice.mjs +13 -13
  66. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  67. package/fesm2022/siemens-element-ng-dashboard.mjs +161 -169
  68. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-datatable.mjs +9 -9
  70. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-date-range-filter.mjs +128 -149
  72. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-datepicker.mjs +260 -271
  74. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +19 -18
  76. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-empty-state.mjs +11 -11
  78. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-file-uploader.mjs +66 -69
  80. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-filter-bar.mjs +23 -23
  82. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-filtered-search.mjs +141 -159
  84. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-footer.mjs +10 -10
  86. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-form.mjs +99 -85
  88. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-formly.mjs +96 -94
  90. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-header-dropdown.mjs +33 -33
  92. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-help-button.mjs +7 -6
  94. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-icon-status.mjs +4 -4
  96. package/fesm2022/siemens-element-ng-icon.mjs +53 -135
  97. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  98. package/fesm2022/siemens-element-ng-info-page.mjs +11 -12
  99. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  100. package/fesm2022/siemens-element-ng-inline-notification.mjs +15 -16
  101. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  102. package/fesm2022/siemens-element-ng-ip-input.mjs +16 -16
  103. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  104. package/fesm2022/siemens-element-ng-landing-page.mjs +71 -71
  105. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  106. package/fesm2022/siemens-element-ng-language-switcher.mjs +13 -13
  107. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  108. package/fesm2022/siemens-element-ng-link.mjs +22 -23
  109. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  110. package/fesm2022/siemens-element-ng-list-details.mjs +68 -86
  111. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  112. package/fesm2022/siemens-element-ng-loading-spinner.mjs +38 -52
  113. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  114. package/fesm2022/siemens-element-ng-localization.mjs +14 -11
  115. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  116. package/fesm2022/siemens-element-ng-main-detail-container.mjs +30 -30
  117. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  118. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +5 -5
  119. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  120. package/fesm2022/siemens-element-ng-menu.mjs +55 -54
  121. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  122. package/fesm2022/siemens-element-ng-modal.mjs +10 -13
  123. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  124. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +183 -298
  125. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  126. package/fesm2022/siemens-element-ng-navbar.mjs +43 -43
  127. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  128. package/fesm2022/siemens-element-ng-notification-item.mjs +14 -13
  129. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  130. package/fesm2022/siemens-element-ng-number-input.mjs +32 -32
  131. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  132. package/fesm2022/siemens-element-ng-pagination.mjs +21 -20
  133. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  134. package/fesm2022/siemens-element-ng-password-strength.mjs +21 -21
  135. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  136. package/fesm2022/siemens-element-ng-password-toggle.mjs +19 -15
  137. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  138. package/fesm2022/siemens-element-ng-phone-number.mjs +56 -50
  139. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-photo-upload.mjs +48 -47
  141. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-pills-input.mjs +45 -44
  143. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-popover-legacy.mjs +31 -31
  145. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-popover.mjs +29 -29
  147. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-progressbar.mjs +15 -15
  149. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-resize-observer.mjs +25 -61
  151. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-result-details-list.mjs +13 -12
  153. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-search-bar.mjs +25 -24
  155. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-select.mjs +204 -347
  157. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
  159. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  160. package/fesm2022/siemens-element-ng-side-panel.mjs +144 -69
  161. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-skip-links.mjs +13 -13
  163. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-slider.mjs +30 -29
  165. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-sort-bar.mjs +14 -13
  167. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-split.mjs +26 -28
  169. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-status-bar.mjs +42 -43
  171. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-status-counter.mjs +11 -12
  173. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-status-toggle.mjs +15 -16
  175. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-summary-chip.mjs +16 -17
  177. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-summary-widget.mjs +16 -16
  179. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  180. package/fesm2022/siemens-element-ng-system-banner.mjs +7 -7
  181. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  182. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +16 -16
  183. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  184. package/fesm2022/siemens-element-ng-tabs.mjs +44 -47
  185. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  186. package/fesm2022/siemens-element-ng-theme.mjs +4 -4
  187. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  188. package/fesm2022/siemens-element-ng-threshold.mjs +51 -71
  189. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  190. package/fesm2022/siemens-element-ng-toast-notification.mjs +26 -52
  191. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  192. package/fesm2022/siemens-element-ng-tooltip.mjs +60 -68
  193. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  194. package/fesm2022/siemens-element-ng-tour.mjs +20 -20
  195. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  196. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  197. package/fesm2022/siemens-element-ng-tree-view.mjs +92 -117
  198. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  199. package/fesm2022/siemens-element-ng-typeahead.mjs +46 -62
  200. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  201. package/fesm2022/siemens-element-ng-wizard.mjs +49 -48
  202. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  203. package/file-uploader/package.json +2 -1
  204. package/filter-bar/package.json +2 -1
  205. package/filtered-search/package.json +2 -1
  206. package/footer/package.json +2 -1
  207. package/form/package.json +2 -1
  208. package/formly/package.json +2 -1
  209. package/header-dropdown/package.json +2 -1
  210. package/help-button/package.json +2 -1
  211. package/icon/package.json +2 -1
  212. package/icon-status/package.json +2 -1
  213. package/info-page/package.json +2 -1
  214. package/inline-notification/package.json +2 -1
  215. package/ip-input/package.json +2 -1
  216. package/landing-page/package.json +2 -1
  217. package/language-switcher/package.json +2 -1
  218. package/link/package.json +2 -1
  219. package/list-details/package.json +2 -1
  220. package/loading-spinner/package.json +2 -1
  221. package/localization/package.json +2 -1
  222. package/main-detail-container/package.json +2 -1
  223. package/markdown-renderer/package.json +2 -1
  224. package/menu/package.json +2 -1
  225. package/modal/package.json +2 -1
  226. package/navbar/package.json +2 -1
  227. package/navbar-vertical/package.json +2 -1
  228. package/notification-item/package.json +2 -1
  229. package/number-input/package.json +2 -1
  230. package/package.json +115 -107
  231. package/pagination/package.json +2 -1
  232. package/password-strength/package.json +2 -1
  233. package/password-toggle/package.json +2 -1
  234. package/phone-number/package.json +2 -1
  235. package/photo-upload/package.json +2 -1
  236. package/pills-input/package.json +2 -1
  237. package/popover/package.json +2 -1
  238. package/popover-legacy/package.json +2 -1
  239. package/progressbar/package.json +2 -1
  240. package/resize-observer/package.json +2 -1
  241. package/result-details-list/package.json +2 -1
  242. package/schematics/collection.json +0 -12
  243. package/schematics/migration.json +15 -0
  244. package/schematics/migrations/data/attribute-selectors.js +1 -6
  245. package/schematics/migrations/data/component-names.js +9 -68
  246. package/schematics/migrations/data/element-selectors.js +9 -8
  247. package/schematics/migrations/data/index.js +0 -1
  248. package/schematics/migrations/data/migration-test-data.js +167 -0
  249. package/schematics/migrations/data/output-names.js +1 -7
  250. package/schematics/migrations/data/symbol-removals.js +4 -45
  251. package/schematics/migrations/element-migration/element-migration.js +1 -3
  252. package/schematics/migrations/index.js +15 -5
  253. package/schematics/migrations/ngx-translate/index.js +93 -0
  254. package/schematics/ng-update/index.js +17 -0
  255. package/schematics/ng-update/schema.json +15 -0
  256. package/schematics/simpl-siemens-migration/index.js +1 -5
  257. package/schematics/utils/ts-utils.js +135 -0
  258. package/search-bar/package.json +2 -1
  259. package/select/package.json +2 -1
  260. package/shadow-root/package.json +2 -1
  261. package/side-panel/package.json +2 -1
  262. package/skip-links/package.json +2 -1
  263. package/slider/package.json +2 -1
  264. package/sort-bar/package.json +2 -1
  265. package/split/package.json +2 -1
  266. package/status-bar/package.json +2 -1
  267. package/status-counter/package.json +2 -1
  268. package/status-toggle/package.json +2 -1
  269. package/summary-chip/package.json +2 -1
  270. package/summary-widget/package.json +2 -1
  271. package/system-banner/package.json +2 -1
  272. package/tabs/package.json +2 -1
  273. package/tabs-legacy/package.json +2 -1
  274. package/template-i18n.json +32 -25
  275. package/test-styles.scss +5 -0
  276. package/theme/package.json +2 -1
  277. package/threshold/package.json +2 -1
  278. package/toast-notification/package.json +2 -1
  279. package/tooltip/package.json +2 -1
  280. package/tour/package.json +2 -1
  281. package/translate/package.json +2 -1
  282. package/tree-view/package.json +2 -1
  283. package/typeahead/package.json +2 -1
  284. package/{accordion/index.d.ts → types/siemens-element-ng-accordion.d.ts} +2 -3
  285. package/{application-header/index.d.ts → types/siemens-element-ng-application-header.d.ts} +19 -18
  286. package/{autocomplete/index.d.ts → types/siemens-element-ng-autocomplete.d.ts} +1 -3
  287. package/{breadcrumb/index.d.ts → types/siemens-element-ng-breadcrumb.d.ts} +2 -2
  288. package/{chat-messages/index.d.ts → types/siemens-element-ng-chat-messages.d.ts} +72 -10
  289. package/{common/index.d.ts → types/siemens-element-ng-common.d.ts} +2 -30
  290. package/{content-action-bar/index.d.ts → types/siemens-element-ng-content-action-bar.d.ts} +2 -2
  291. package/{dashboard/index.d.ts → types/siemens-element-ng-dashboard.d.ts} +6 -6
  292. package/{date-range-filter/index.d.ts → types/siemens-element-ng-date-range-filter.d.ts} +28 -27
  293. package/{datepicker/index.d.ts → types/siemens-element-ng-datepicker.d.ts} +5 -6
  294. package/{electron-titlebar/index.d.ts → types/siemens-element-ng-electron-titlebar.d.ts} +4 -4
  295. package/{file-uploader/index.d.ts → types/siemens-element-ng-file-uploader.d.ts} +26 -26
  296. package/{filter-bar/index.d.ts → types/siemens-element-ng-filter-bar.d.ts} +4 -4
  297. package/{filtered-search/index.d.ts → types/siemens-element-ng-filtered-search.d.ts} +6 -21
  298. package/{form/index.d.ts → types/siemens-element-ng-form.d.ts} +4 -6
  299. package/{formly/index.d.ts → types/siemens-element-ng-formly.d.ts} +1 -1
  300. package/types/siemens-element-ng-icon.d.ts +203 -0
  301. package/{landing-page/index.d.ts → types/siemens-element-ng-landing-page.d.ts} +15 -15
  302. package/{language-switcher/index.d.ts → types/siemens-element-ng-language-switcher.d.ts} +1 -2
  303. package/{list-details/index.d.ts → types/siemens-element-ng-list-details.d.ts} +4 -11
  304. package/{loading-spinner/index.d.ts → types/siemens-element-ng-loading-spinner.d.ts} +2 -3
  305. package/{modal/index.d.ts → types/siemens-element-ng-modal.d.ts} +0 -6
  306. package/{navbar-vertical/index.d.ts → types/siemens-element-ng-navbar-vertical.d.ts} +12 -7
  307. package/{navbar/index.d.ts → types/siemens-element-ng-navbar.d.ts} +11 -11
  308. package/{notification-item/index.d.ts → types/siemens-element-ng-notification-item.d.ts} +15 -3
  309. package/{pagination/index.d.ts → types/siemens-element-ng-pagination.d.ts} +4 -4
  310. package/{password-toggle/index.d.ts → types/siemens-element-ng-password-toggle.d.ts} +6 -4
  311. package/{phone-number/index.d.ts → types/siemens-element-ng-phone-number.d.ts} +8 -11
  312. package/{pills-input/index.d.ts → types/siemens-element-ng-pills-input.d.ts} +3 -3
  313. package/{popover/index.d.ts → types/siemens-element-ng-popover.d.ts} +2 -2
  314. package/{resize-observer/index.d.ts → types/siemens-element-ng-resize-observer.d.ts} +0 -30
  315. package/{search-bar/index.d.ts → types/siemens-element-ng-search-bar.d.ts} +2 -2
  316. package/{select/index.d.ts → types/siemens-element-ng-select.d.ts} +18 -97
  317. package/{side-panel/index.d.ts → types/siemens-element-ng-side-panel.d.ts} +26 -5
  318. package/{slider/index.d.ts → types/siemens-element-ng-slider.d.ts} +4 -4
  319. package/{split/index.d.ts → types/siemens-element-ng-split.d.ts} +1 -3
  320. package/{status-bar/index.d.ts → types/siemens-element-ng-status-bar.d.ts} +6 -6
  321. package/{tabs-legacy/index.d.ts → types/siemens-element-ng-tabs-legacy.d.ts} +5 -0
  322. package/{threshold/index.d.ts → types/siemens-element-ng-threshold.d.ts} +7 -7
  323. package/{toast-notification/index.d.ts → types/siemens-element-ng-toast-notification.d.ts} +3 -4
  324. package/{tooltip/index.d.ts → types/siemens-element-ng-tooltip.d.ts} +3 -6
  325. package/{tour/index.d.ts → types/siemens-element-ng-tour.d.ts} +1 -10
  326. package/{translate/index.d.ts → types/siemens-element-ng-translate.d.ts} +8 -1
  327. package/{tree-view/index.d.ts → types/siemens-element-ng-tree-view.d.ts} +0 -1
  328. package/{typeahead/index.d.ts → types/siemens-element-ng-typeahead.d.ts} +0 -2
  329. package/{wizard/index.d.ts → types/siemens-element-ng-wizard.d.ts} +6 -6
  330. package/wizard/package.json +2 -1
  331. package/fesm2022/siemens-element-ng-unauthorized-page.mjs +0 -75
  332. package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +0 -1
  333. package/icon/index.d.ts +0 -285
  334. package/schematics/migrations/action-modal-migration/action-modal-migration.js +0 -162
  335. package/schematics/migrations/action-modal-migration/action-modal.mappings.js +0 -98
  336. package/schematics/migrations/action-modal-migration/index.js +0 -5
  337. package/schematics/migrations/wizard-migration/index.js +0 -80
  338. package/schematics/scss-import-to-siemens-migration/index.js +0 -101
  339. package/schematics/scss-import-to-siemens-migration/schema.json +0 -16
  340. package/schematics/scss-import-to-siemens-migration/style-mappings.js +0 -62
  341. package/schematics/ts-import-to-siemens-migration/index.js +0 -230
  342. package/schematics/ts-import-to-siemens-migration/mappings/charts-ng-mappings.js +0 -71
  343. package/schematics/ts-import-to-siemens-migration/mappings/dashboards-ng-mappings.js +0 -54
  344. package/schematics/ts-import-to-siemens-migration/mappings/element-ng-mappings.js +0 -705
  345. package/schematics/ts-import-to-siemens-migration/mappings/element-translate-ng-mappings.js +0 -21
  346. package/schematics/ts-import-to-siemens-migration/mappings/index.js +0 -10
  347. package/schematics/ts-import-to-siemens-migration/mappings/maps-ng-mappings.js +0 -47
  348. package/schematics/ts-import-to-siemens-migration/mappings/native-charts-ng-mappings.js +0 -33
  349. package/schematics/ts-import-to-siemens-migration/model.js +0 -4
  350. package/schematics/ts-import-to-siemens-migration/schema.json +0 -16
  351. package/unauthorized-page/index.d.ts +0 -44
  352. package/unauthorized-page/package.json +0 -3
  353. /package/{about/index.d.ts → types/siemens-element-ng-about.d.ts} +0 -0
  354. /package/{action-modal/index.d.ts → types/siemens-element-ng-action-modal.d.ts} +0 -0
  355. /package/{ag-grid/index.d.ts → types/siemens-element-ng-ag-grid.d.ts} +0 -0
  356. /package/{auto-collapsable-list/index.d.ts → types/siemens-element-ng-auto-collapsable-list.d.ts} +0 -0
  357. /package/{avatar/index.d.ts → types/siemens-element-ng-avatar.d.ts} +0 -0
  358. /package/{badge/index.d.ts → types/siemens-element-ng-badge.d.ts} +0 -0
  359. /package/{breadcrumb-router/index.d.ts → types/siemens-element-ng-breadcrumb-router.d.ts} +0 -0
  360. /package/{card/index.d.ts → types/siemens-element-ng-card.d.ts} +0 -0
  361. /package/{circle-status/index.d.ts → types/siemens-element-ng-circle-status.d.ts} +0 -0
  362. /package/{color-picker/index.d.ts → types/siemens-element-ng-color-picker.d.ts} +0 -0
  363. /package/{column-selection-dialog/index.d.ts → types/siemens-element-ng-column-selection-dialog.d.ts} +0 -0
  364. /package/{connection-strength/index.d.ts → types/siemens-element-ng-connection-strength.d.ts} +0 -0
  365. /package/{copyright-notice/index.d.ts → types/siemens-element-ng-copyright-notice.d.ts} +0 -0
  366. /package/{datatable/index.d.ts → types/siemens-element-ng-datatable.d.ts} +0 -0
  367. /package/{empty-state/index.d.ts → types/siemens-element-ng-empty-state.d.ts} +0 -0
  368. /package/{footer/index.d.ts → types/siemens-element-ng-footer.d.ts} +0 -0
  369. /package/{header-dropdown/index.d.ts → types/siemens-element-ng-header-dropdown.d.ts} +0 -0
  370. /package/{help-button/index.d.ts → types/siemens-element-ng-help-button.d.ts} +0 -0
  371. /package/{icon-status/index.d.ts → types/siemens-element-ng-icon-status.d.ts} +0 -0
  372. /package/{info-page/index.d.ts → types/siemens-element-ng-info-page.d.ts} +0 -0
  373. /package/{inline-notification/index.d.ts → types/siemens-element-ng-inline-notification.d.ts} +0 -0
  374. /package/{ip-input/index.d.ts → types/siemens-element-ng-ip-input.d.ts} +0 -0
  375. /package/{link/index.d.ts → types/siemens-element-ng-link.d.ts} +0 -0
  376. /package/{localization/index.d.ts → types/siemens-element-ng-localization.d.ts} +0 -0
  377. /package/{main-detail-container/index.d.ts → types/siemens-element-ng-main-detail-container.d.ts} +0 -0
  378. /package/{markdown-renderer/index.d.ts → types/siemens-element-ng-markdown-renderer.d.ts} +0 -0
  379. /package/{menu/index.d.ts → types/siemens-element-ng-menu.d.ts} +0 -0
  380. /package/{number-input/index.d.ts → types/siemens-element-ng-number-input.d.ts} +0 -0
  381. /package/{password-strength/index.d.ts → types/siemens-element-ng-password-strength.d.ts} +0 -0
  382. /package/{photo-upload/index.d.ts → types/siemens-element-ng-photo-upload.d.ts} +0 -0
  383. /package/{popover-legacy/index.d.ts → types/siemens-element-ng-popover-legacy.d.ts} +0 -0
  384. /package/{progressbar/index.d.ts → types/siemens-element-ng-progressbar.d.ts} +0 -0
  385. /package/{result-details-list/index.d.ts → types/siemens-element-ng-result-details-list.d.ts} +0 -0
  386. /package/{shadow-root/index.d.ts → types/siemens-element-ng-shadow-root.d.ts} +0 -0
  387. /package/{skip-links/index.d.ts → types/siemens-element-ng-skip-links.d.ts} +0 -0
  388. /package/{sort-bar/index.d.ts → types/siemens-element-ng-sort-bar.d.ts} +0 -0
  389. /package/{status-counter/index.d.ts → types/siemens-element-ng-status-counter.d.ts} +0 -0
  390. /package/{status-toggle/index.d.ts → types/siemens-element-ng-status-toggle.d.ts} +0 -0
  391. /package/{summary-chip/index.d.ts → types/siemens-element-ng-summary-chip.d.ts} +0 -0
  392. /package/{summary-widget/index.d.ts → types/siemens-element-ng-summary-widget.d.ts} +0 -0
  393. /package/{system-banner/index.d.ts → types/siemens-element-ng-system-banner.d.ts} +0 -0
  394. /package/{tabs/index.d.ts → types/siemens-element-ng-tabs.d.ts} +0 -0
  395. /package/{theme/index.d.ts → types/siemens-element-ng-theme.d.ts} +0 -0
  396. /package/{index.d.ts → types/siemens-element-ng.d.ts} +0 -0
@@ -1,78 +1,19 @@
1
1
  export const COMPONENT_NAMES_MIGRATION = [
2
- // Icon current to legacy
2
+ // v48 to v49
3
3
  {
4
- module: /@(siemens|simpl)\/element-ng(\/icon)?/,
5
- symbolRenamings: [
6
- {
7
- replace: 'SiIconComponent',
8
- replaceWith: 'SiIconLegacyComponent'
9
- }
10
- ]
11
- },
12
- // Icon next to current
13
- {
14
- module: /@(siemens|simpl)\/element-ng(\/icon-next)?/,
15
- symbolRenamings: [
16
- {
17
- replace: 'SiIconNextComponent',
18
- replaceWith: 'SiIconComponent'
19
- }
20
- ]
21
- },
22
- // Tabs current to legacy
23
- {
24
- module: /@(siemens|simpl)\/element-ng(\/tabs)?/,
25
- symbolRenamings: [
26
- {
27
- replace: 'SiTabComponent',
28
- replaceWith: 'SiTabLegacyComponent'
29
- },
30
- {
31
- replace: 'SiTabsetComponent',
32
- replaceWith: 'SiTabsetLegacyComponent'
33
- },
34
- {
35
- replace: 'SiTabsModule',
36
- replaceWith: 'SiTabsLegacyModule'
37
- }
38
- ],
39
- toModule: '@siemens/element-ng/tabs-legacy'
4
+ module: /@(siemens|simpl)\/dashboards-ng/,
5
+ symbolRenamings: [{ replace: 'CONFIG_TOKEN', replaceWith: 'SI_DASHBOARD_CONFIGURATION' }]
40
6
  },
41
- // Tabs next to current
42
7
  {
43
- module: /@(siemens|simpl)\/element-ng(\/tabs-next)?/,
44
- symbolRenamings: [
45
- {
46
- replace: 'SiTabNextComponent',
47
- replaceWith: 'SiTabComponent'
48
- },
49
- {
50
- replace: 'SiTabsetNextComponent',
51
- replaceWith: 'SiTabsetComponent'
52
- },
53
- {
54
- replace: 'SiTabsNextModule',
55
- replaceWith: 'SiTabsModule'
56
- }
57
- ],
58
- toModule: '@siemens/element-ng/tabs'
59
- },
60
- // Popover current to legacy
61
- {
62
- module: /@(siemens|simpl)\/element-ng(\/popover)?/,
63
- symbolRenamings: [
64
- { replace: 'SiPopoverDirective', replaceWith: 'SiPopoverLegacyDirective' },
65
- { replace: 'SiPopoverModule', replaceWith: 'SiPopoverLegacyModule' }
66
- ],
67
- toModule: '@siemens/element-ng/popover-legacy'
8
+ module: /@(siemens|simpl)\/element-ng(\/toast-notification)?/,
9
+ symbolRenamings: [{ replace: 'ToastStateName', replaceWith: 'StatusType' }],
10
+ toModule: '@siemens/element-ng/common'
68
11
  },
69
- // Popover next to current
70
12
  {
71
- module: /@(siemens|simpl)\/element-ng(\/popover-next)?/,
13
+ module: /@(siemens|simpl)\/element-ng(\/(info-page|unauthorized-page))?/,
72
14
  symbolRenamings: [
73
- { replace: 'SiPopoverNextDirective', replaceWith: 'SiPopoverDirective' },
74
- { replace: 'SiPopoverNextModule', replaceWith: 'SiPopoverModule' }
15
+ { replace: 'SiUnauthorizedPageComponent', replaceWith: 'SiInfoPageComponent' }
75
16
  ],
76
- toModule: '@siemens/element-ng/popover'
17
+ toModule: '@siemens/element-ng/info-page'
77
18
  }
78
19
  ];
@@ -1,10 +1,11 @@
1
1
  export const ELEMENT_SELECTORS_MIGRATION = [
2
- // current to legacy
3
- { replace: 'si-icon', replaceWith: 'si-icon-legacy' },
4
- { replace: 'si-tabset', replaceWith: 'si-tabset-legacy' },
5
- { replace: 'si-tab', replaceWith: 'si-tab-legacy' },
6
- // next to current
7
- { replace: 'si-icon-next', replaceWith: 'si-icon' },
8
- { replace: 'si-tabset-next', replaceWith: 'si-tabset' },
9
- { replace: 'si-tab-next', replaceWith: 'si-tab' }
2
+ // v48 to v49
3
+ {
4
+ replace: 'si-unauthorized-page',
5
+ replaceWith: 'si-info-page',
6
+ defaultAttributes: [
7
+ { name: 'icon', value: 'element-warning-filled' },
8
+ { name: 'iconColor', value: 'status-warning' }
9
+ ]
10
+ }
10
11
  ];
@@ -7,7 +7,6 @@ import { COMPONENT_NAMES_MIGRATION } from './component-names.js';
7
7
  import { ELEMENT_SELECTORS_MIGRATION } from './element-selectors.js';
8
8
  import { OUTPUT_NAMES_MIGRATION } from './output-names.js';
9
9
  import { SYMBOL_REMOVALS_MIGRATION } from './symbol-removals.js';
10
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
11
10
  export const getElementMigrationData = () => ({
12
11
  attributeSelectorChanges: ATTRIBUTE_SELECTORS_MIGRATION,
13
12
  componentNameChanges: COMPONENT_NAMES_MIGRATION,
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Copyright (c) Siemens 2016 - 2025
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ const COMPONENT_NAMES_MIGRATION = [
6
+ {
7
+ module: /@(siemens|simpl)\/element-ng(\/icon)?/,
8
+ symbolRenamings: [
9
+ {
10
+ replace: 'SiIconComponent',
11
+ replaceWith: 'SiIconLegacyComponent'
12
+ }
13
+ ]
14
+ },
15
+ {
16
+ module: /@(siemens|simpl)\/element-ng(\/icon-next)?/,
17
+ symbolRenamings: [
18
+ {
19
+ replace: 'SiIconNextComponent',
20
+ replaceWith: 'SiIconComponent'
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ module: /@(siemens|simpl)\/element-ng(\/tabs)?/,
26
+ symbolRenamings: [
27
+ {
28
+ replace: 'SiTabComponent',
29
+ replaceWith: 'SiTabLegacyComponent'
30
+ },
31
+ {
32
+ replace: 'SiTabsetComponent',
33
+ replaceWith: 'SiTabsetLegacyComponent'
34
+ },
35
+ {
36
+ replace: 'SiTabsModule',
37
+ replaceWith: 'SiTabsLegacyModule'
38
+ }
39
+ ],
40
+ toModule: '@siemens/element-ng/tabs-legacy'
41
+ },
42
+ {
43
+ module: /@(siemens|simpl)\/element-ng(\/tabs-next)?/,
44
+ symbolRenamings: [
45
+ {
46
+ replace: 'SiTabNextComponent',
47
+ replaceWith: 'SiTabComponent'
48
+ },
49
+ {
50
+ replace: 'SiTabsetNextComponent',
51
+ replaceWith: 'SiTabsetComponent'
52
+ },
53
+ {
54
+ replace: 'SiTabsNextModule',
55
+ replaceWith: 'SiTabsModule'
56
+ }
57
+ ],
58
+ toModule: '@siemens/element-ng/tabs'
59
+ },
60
+ {
61
+ module: /@(siemens|simpl)\/element-ng(\/popover)?/,
62
+ symbolRenamings: [
63
+ { replace: 'SiPopoverDirective', replaceWith: 'SiPopoverLegacyDirective' },
64
+ { replace: 'SiPopoverModule', replaceWith: 'SiPopoverLegacyModule' }
65
+ ],
66
+ toModule: '@siemens/element-ng/popover-legacy'
67
+ },
68
+ {
69
+ module: /@(siemens|simpl)\/element-ng(\/popover-next)?/,
70
+ symbolRenamings: [
71
+ { replace: 'SiPopoverNextDirective', replaceWith: 'SiPopoverDirective' },
72
+ { replace: 'SiPopoverNextModule', replaceWith: 'SiPopoverModule' }
73
+ ],
74
+ toModule: '@siemens/element-ng/popover'
75
+ },
76
+ {
77
+ module: /@(siemens|simpl)\/dashboards-ng/,
78
+ symbolRenamings: [{ replace: 'CONFIG_TOKEN', replaceWith: 'SI_DASHBOARD_CONFIGURATION' }]
79
+ }
80
+ ];
81
+ const ATTRIBUTE_SELECTORS_MIGRATION = [
82
+ { replace: 'siPopover', replaceWith: 'siPopoverLegacy' },
83
+ { replace: 'siPopoverNext', replaceWith: 'siPopover' }
84
+ ];
85
+ const ELEMENT_SELECTORS_MIGRATION = [
86
+ // current to legacy
87
+ { replace: 'si-icon', replaceWith: 'si-icon-legacy' },
88
+ { replace: 'si-tabset', replaceWith: 'si-tabset-legacy' },
89
+ { replace: 'si-tab', replaceWith: 'si-tab-legacy' },
90
+ // next to current
91
+ { replace: 'si-icon-next', replaceWith: 'si-icon' },
92
+ { replace: 'si-tabset-next', replaceWith: 'si-tabset' },
93
+ { replace: 'si-tab-next', replaceWith: 'si-tab' }
94
+ ];
95
+ const SYMBOL_REMOVALS_MIGRATION = [
96
+ {
97
+ module: /@(siemens|simpl)\/element-ng(\/accordion)?/,
98
+ elementSelector: 'si-accordion',
99
+ names: ['colorVariant']
100
+ },
101
+ {
102
+ module: /@(siemens|simpl)\/element-ng(\/datepicker)?/,
103
+ elementSelector: 'input',
104
+ attributeSelector: 'siDateInput',
105
+ names: ['dateInputDebounceTime']
106
+ },
107
+ {
108
+ module: /@(siemens|simpl)\/element-ng(\/datepicker)?/,
109
+ elementSelector: 'input',
110
+ attributeSelector: 'siDatepicker',
111
+ names: ['triggeringInput']
112
+ },
113
+ {
114
+ module: /@(siemens|simpl)\/element-ng(\/datepicker)?/,
115
+ elementSelector: 'si-date-range',
116
+ names: ['debounceTime']
117
+ },
118
+ {
119
+ module: /@(siemens|simpl)\/element-ng(\/filtered-search)?/,
120
+ elementSelector: 'si-filtered-search',
121
+ names: ['showIcon', 'noMatchingCriteriaText']
122
+ },
123
+ {
124
+ module: /@(siemens|simpl)\/element-ng(\/form)?/,
125
+ elementSelector: 'si-form-item',
126
+ names: ['inputId', 'readonly']
127
+ },
128
+ {
129
+ module: /@(siemens|simpl)\/element-ng(\/navbar-vertical)?/,
130
+ elementSelector: 'si-navbar-vertical',
131
+ names: ['autoCollapseDelay']
132
+ },
133
+ {
134
+ module: /@(siemens|simpl)\/element-ng(\/split)?/,
135
+ elementSelector: 'si-split-part',
136
+ names: ['headerStatusColor', 'headerStatusIconClass']
137
+ },
138
+ {
139
+ module: /@(siemens|simpl)\/element-ng(\/navbar-vertical)?/,
140
+ elementSelector: 'si-tree-view',
141
+ names: ['disableFilledIcons', 'trackByFunction']
142
+ },
143
+ {
144
+ module: /@(siemens|simpl)\/charts-ng/,
145
+ elementSelector: 'si-chart-gauge',
146
+ names: ['numberOfDecimals']
147
+ }
148
+ ];
149
+ const OUTPUT_NAMES_MIGRATION = [
150
+ {
151
+ module: /@(siemens|simpl)\/element-ng(\/accordion)?/,
152
+ elementSelector: 'si-collapsible-panel',
153
+ apiMappings: [{ replace: '(toggle)', replaceWith: '(panelToggle)' }]
154
+ }
155
+ ];
156
+ /**
157
+ * Stable migration data for testing.
158
+ * This data is frozen and used for testing to ensure test stability.
159
+ * Do not modify this data unless you intend to update the test expectations.
160
+ */
161
+ export const getElementMigrationTestData = () => ({
162
+ attributeSelectorChanges: ATTRIBUTE_SELECTORS_MIGRATION,
163
+ componentNameChanges: COMPONENT_NAMES_MIGRATION,
164
+ elementSelectorChanges: ELEMENT_SELECTORS_MIGRATION,
165
+ symbolRemovalChanges: SYMBOL_REMOVALS_MIGRATION,
166
+ outputNameChanges: OUTPUT_NAMES_MIGRATION
167
+ });
@@ -1,7 +1 @@
1
- export const OUTPUT_NAMES_MIGRATION = [
2
- {
3
- module: /@(siemens|simpl)\/element-ng(\/accordion)?/,
4
- elementSelector: 'si-collapsible-panel',
5
- apiMappings: [{ replace: '(toggle)', replaceWith: '(panelToggle)' }]
6
- }
7
- ];
1
+ export const OUTPUT_NAMES_MIGRATION = [];
@@ -1,49 +1,8 @@
1
1
  export const SYMBOL_REMOVALS_MIGRATION = [
2
+ // v48 to v49
2
3
  {
3
- module: /@(siemens|simpl)\/element-ng(\/accordion)?/,
4
- elementSelector: 'si-accordion',
5
- names: ['colorVariant']
6
- },
7
- {
8
- module: /@(siemens|simpl)\/element-ng(\/datepicker)?/,
9
- elementSelector: 'input',
10
- attributeSelector: 'siDateInput',
11
- names: ['dateInputDebounceTime']
12
- },
13
- {
14
- module: /@(siemens|simpl)\/element-ng(\/datepicker)?/,
15
- elementSelector: 'input',
16
- attributeSelector: 'siDatepicker',
17
- names: ['triggeringInput']
18
- },
19
- {
20
- module: /@(siemens|simpl)\/element-ng(\/datepicker)?/,
21
- elementSelector: 'si-date-range',
22
- names: ['debounceTime']
23
- },
24
- {
25
- module: /@(siemens|simpl)\/element-ng(\/filtered-search)?/,
26
- elementSelector: 'si-filtered-search',
27
- names: ['showIcon', 'noMatchingCriteriaText']
28
- },
29
- {
30
- module: /@(siemens|simpl)\/element-ng(\/form)?/,
31
- elementSelector: 'si-form-item',
32
- names: ['inputId', 'readonly']
33
- },
34
- {
35
- module: /@(siemens|simpl)\/element-ng(\/navbar-vertical)?/,
36
- elementSelector: 'si-navbar-vertical',
37
- names: ['autoCollapseDelay']
38
- },
39
- {
40
- module: /@(siemens|simpl)\/element-ng(\/split)?/,
41
- elementSelector: 'si-split-part',
42
- names: ['headerStatusColor', 'headerStatusIconClass']
43
- },
44
- {
45
- module: /@(siemens|simpl)\/element-ng(\/navbar-vertical)?/,
46
- elementSelector: 'si-tree-view',
47
- names: ['disableFilledIcons', 'trackByFunction']
4
+ module: /@(siemens|simpl)\/maps-ng/,
5
+ elementSelector: 'si-map',
6
+ names: ['onResize']
48
7
  }
49
8
  ];
@@ -5,11 +5,9 @@
5
5
  import * as ts from 'typescript';
6
6
  import { EmitHint } from 'typescript';
7
7
  import { discoverSourceFiles, renameApi, renameAttribute, renameElementTag, renameIdentifier, removeSymbol } from '../../utils/index.js';
8
- import { getElementMigrationData } from '../data/index.js';
9
- export const elementMigrationRule = (options) => {
8
+ export const elementMigrationRule = (options, migrationData) => {
10
9
  return async (tree, context) => {
11
10
  const tsSourceFiles = await discoverSourceFiles(tree, context, options.path);
12
- const migrationData = getElementMigrationData();
13
11
  for (const filePath of tsSourceFiles) {
14
12
  const content = tree.read(filePath);
15
13
  if (!content) {
@@ -3,16 +3,26 @@
3
3
  * SPDX-License-Identifier: MIT
4
4
  */
5
5
  import { chain } from '@angular-devkit/schematics';
6
- import { actionModalMigrationRule } from './action-modal-migration/index.js';
6
+ import { getElementMigrationData } from './data/index.js';
7
7
  import { elementMigrationRule } from './element-migration/index.js';
8
- import { wizardMigrationRule } from './wizard-migration/index.js';
8
+ import { missingTranslateMigrationRule } from './ngx-translate/index.js';
9
9
  export const v47to48Migration = (options) => {
10
10
  return (tree, context) => {
11
11
  context.logger.info('🚀 Starting migration from v47 to v48...');
12
+ const migrationData = getElementMigrationData();
12
13
  return chain([
13
- actionModalMigrationRule(options),
14
- elementMigrationRule(options),
15
- wizardMigrationRule(options)
14
+ elementMigrationRule({ ...options }, migrationData),
15
+ missingTranslateMigrationRule(options)
16
+ ])(tree, context);
17
+ };
18
+ };
19
+ export const v48to49Migration = (options) => {
20
+ return (tree, context) => {
21
+ context.logger.info('🚀 Starting migration from v48 to v49...');
22
+ const migrationData = getElementMigrationData();
23
+ return chain([
24
+ elementMigrationRule({ ...options }, migrationData),
25
+ missingTranslateMigrationRule(options)
16
26
  ])(tree, context);
17
27
  };
18
28
  };
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Copyright (c) Siemens 2016 - 2025
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import * as ts from 'typescript';
6
+ import { EmitHint } from 'typescript';
7
+ import { applyImport, discoverSourceFiles, visitStaticFunctionCalls } from '../../utils/index.js';
8
+ export const missingTranslateMigrationRule = (options) => {
9
+ return async (tree, context) => {
10
+ context.logger.info('🔄 Migrating missing translate provider...');
11
+ const tsSourceFiles = await discoverSourceFiles(tree, context, options.path);
12
+ for (const filePath of tsSourceFiles) {
13
+ let content = tree.readText(filePath);
14
+ if (!content) {
15
+ continue;
16
+ }
17
+ const sourceFile = ts.createSourceFile(filePath, content.toString(), ts.ScriptTarget.Latest, true);
18
+ const pendingTransformations = [];
19
+ [
20
+ { className: 'TranslateModule', functionName: 'forRoot' },
21
+ { functionName: 'provideTranslateService' }
22
+ ].forEach(({ className, functionName }) => visitStaticFunctionCalls({
23
+ sourceFile,
24
+ moduleSpecifier: /@ngx-translate\/core/,
25
+ className,
26
+ functionName,
27
+ visitor: node => {
28
+ const methodTransformation = createTranslateMethodCallTransformation(context, node);
29
+ if (methodTransformation) {
30
+ pendingTransformations.push(methodTransformation);
31
+ }
32
+ }
33
+ }));
34
+ if (pendingTransformations.length > 0) {
35
+ // Ensure import for provideMissingTranslationHandlerForElement exists
36
+ const importTransformation = applyImport(sourceFile, 'provideMissingTranslationHandlerForElement', '@siemens/element-translate-ng/ngx-translate');
37
+ if (importTransformation) {
38
+ pendingTransformations.push(importTransformation);
39
+ }
40
+ // Sort transformations by start position descending to preserve offsets
41
+ // This become important when multiple transformations are applied to the same file
42
+ pendingTransformations.sort((a, b) => b.start - a.start);
43
+ for (const transformation of pendingTransformations) {
44
+ content =
45
+ content.slice(0, transformation.start) +
46
+ transformation.replacement +
47
+ content.slice(transformation.end);
48
+ }
49
+ tree.overwrite(filePath, content);
50
+ }
51
+ }
52
+ };
53
+ };
54
+ /** Update the TranslateModule.forRoot() call to include `missingTranslationHandler: provideMissingTranslationHandlerForElement()` */
55
+ const createTranslateMethodCallTransformation = (context, node) => {
56
+ // Check if there are arguments
57
+ const firstArg = node.arguments.at(0);
58
+ if (firstArg && !ts.isObjectLiteralExpression(firstArg)) {
59
+ return null;
60
+ }
61
+ // Find existing missingTranslationHandler property if it exists
62
+ const existingHandlerProp = firstArg?.properties.find(prop => ts.isPropertyAssignment(prop) &&
63
+ ts.isIdentifier(prop.name) &&
64
+ prop.name.text === 'missingTranslationHandler');
65
+ // Check if provideMissingTranslationHandlerForElement is already used
66
+ if (existingHandlerProp && ts.isCallExpression(existingHandlerProp.initializer)) {
67
+ const expression = existingHandlerProp.initializer.expression;
68
+ if (ts.isIdentifier(expression) &&
69
+ expression.text === 'provideMissingTranslationHandlerForElement') {
70
+ // Already migrated, skip
71
+ return null;
72
+ }
73
+ }
74
+ // Filter out the existing missingTranslationHandler property if present
75
+ const otherProperties = firstArg?.properties.filter(prop => !ts.isPropertyAssignment(prop) ||
76
+ !ts.isIdentifier(prop.name) ||
77
+ prop.name.text !== 'missingTranslationHandler') ?? [];
78
+ // Create the new missingTranslationHandler property
79
+ const missingTranslationHandlerProperty = ts.factory.createPropertyAssignment(ts.factory.createIdentifier('missingTranslationHandler'), ts.factory.createCallExpression(ts.factory.createIdentifier('provideMissingTranslationHandlerForElement'), undefined, existingHandlerProp ? [existingHandlerProp.initializer] : undefined));
80
+ const updatedCall = ts.factory.createCallExpression(node.expression, undefined, ts.factory.createNodeArray([
81
+ ts.factory.createObjectLiteralExpression([
82
+ ...otherProperties,
83
+ missingTranslationHandlerProperty
84
+ ])
85
+ ], node.arguments.hasTrailingComma));
86
+ return {
87
+ start: node.getStart(),
88
+ end: node.getEnd(),
89
+ replacement: ts
90
+ .createPrinter()
91
+ .printNode(EmitHint.Expression, updatedCall, node.getSourceFile())
92
+ };
93
+ };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) Siemens 2016 - 2025
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { v47to48Migration, v48to49Migration } from '../migrations/index.js';
6
+ export const migrate = () => {
7
+ return (tree, context) => {
8
+ context.logger.info('🚀 Starting update from version 47 to 48...');
9
+ return v47to48Migration({ path: '/' })(tree, context);
10
+ };
11
+ };
12
+ export const migrateV49 = () => {
13
+ return (tree, context) => {
14
+ context.logger.info('🚀 Starting update from version 48 to 49...');
15
+ return v48to49Migration({ path: '/' })(tree, context);
16
+ };
17
+ };
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "NgUpdateMigrationSchema",
4
+ "title": "Siemens Element ng-update migration options",
5
+ "type": "object",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "description": "Path to the directory where the migration should be applied.",
10
+ "x-prompt": "Which directory do you want to migrate?",
11
+ "format": "path"
12
+ }
13
+ },
14
+ "required": []
15
+ }
@@ -8,11 +8,7 @@ import { chain, schematic } from '@angular-devkit/schematics';
8
8
  export const simplSiemensMigration = (_options) => {
9
9
  return (tree, context) => {
10
10
  context.logger.info('🚀 Starting Simpl to Siemens migration...');
11
- const chainedRules = chain([
12
- schematic('migrate-ts-imports-to-siemens', _options),
13
- schematic('migrate-scss-imports-to-siemens', _options),
14
- schematic('migrate-v47-to-v48', _options)
15
- ]);
11
+ const chainedRules = chain([schematic('migrate-v47-to-v48', _options)]);
16
12
  return chainedRules(tree, context);
17
13
  };
18
14
  };