@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
package/README.md CHANGED
@@ -41,7 +41,7 @@ unless explicitly mentioned.
41
41
 
42
42
  Copyright (c) Siemens 2016 - 2026
43
43
 
44
- MIT, see [LICENSE.md](LICENSE.md).
44
+ MIT, see [LICENSE](LICENSE).
45
45
 
46
46
  ### Bootstrap
47
47
 
@@ -1,7 +1,7 @@
1
1
  import { NgTemplateOutlet } from '@angular/common';
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, input, computed, signal, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
+ import { inject, input, computed, signal, Component, NgModule } from '@angular/core';
5
5
  import { DomSanitizer } from '@angular/platform-browser';
6
6
  import { elementDocument } from '@siemens/element-icons';
7
7
  import { SiCollapsiblePanelComponent } from '@siemens/element-ng/accordion';
@@ -25,68 +25,84 @@ class SiAboutComponent {
25
25
  * t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`)
26
26
  * ```
27
27
  */
28
- logoAlt = input(t(() => $localize `:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`), ...(ngDevMode ? [{ debugName: "logoAlt" }] : []));
28
+ logoAlt = input(t(() => $localize `:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`), /* @ts-ignore */
29
+ ...(ngDevMode ? [{ debugName: "logoAlt" }] : /* istanbul ignore next */ []));
29
30
  /**
30
31
  * Title shown above the about information.
31
32
  */
32
- aboutTitle = input.required(...(ngDevMode ? [{ debugName: "aboutTitle" }] : []));
33
+ aboutTitle = input.required(/* @ts-ignore */
34
+ ...(ngDevMode ? [{ debugName: "aboutTitle" }] : /* istanbul ignore next */ []));
33
35
  /**
34
36
  * Define mode to display the licenses. See {@link LicenseInfo}
35
37
  */
36
- licenseInfo = input.required(...(ngDevMode ? [{ debugName: "licenseInfo" }] : []));
38
+ licenseInfo = input.required(/* @ts-ignore */
39
+ ...(ngDevMode ? [{ debugName: "licenseInfo" }] : /* istanbul ignore next */ []));
37
40
  /**
38
41
  * Path to the application logo. Use for image
39
42
  */
40
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
43
+ icon = input(/* @ts-ignore */
44
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
41
45
  /**
42
46
  * Name of element icon. Use as alternative to image
43
47
  */
44
- iconName = input(...(ngDevMode ? [undefined, { debugName: "iconName" }] : []));
48
+ iconName = input(/* @ts-ignore */
49
+ ...(ngDevMode ? [undefined, { debugName: "iconName" }] : /* istanbul ignore next */ []));
45
50
  /**
46
51
  * Title of this application.
47
52
  */
48
- appName = input.required(...(ngDevMode ? [{ debugName: "appName" }] : []));
53
+ appName = input.required(/* @ts-ignore */
54
+ ...(ngDevMode ? [{ debugName: "appName" }] : /* istanbul ignore next */ []));
49
55
  /**
50
56
  * Sub titles of the application. Shown as a list below the application name. (Optional)
51
57
  */
52
- subheading = input(...(ngDevMode ? [undefined, { debugName: "subheading" }] : []));
58
+ subheading = input(/* @ts-ignore */
59
+ ...(ngDevMode ? [undefined, { debugName: "subheading" }] : /* istanbul ignore next */ []));
53
60
  /**
54
61
  * Link to `Acceptable Use Policy`.
55
62
  */
56
- acceptableUsePolicyLink = input(...(ngDevMode ? [undefined, { debugName: "acceptableUsePolicyLink" }] : []));
63
+ acceptableUsePolicyLink = input(/* @ts-ignore */
64
+ ...(ngDevMode ? [undefined, { debugName: "acceptableUsePolicyLink" }] : /* istanbul ignore next */ []));
57
65
  /**
58
66
  * Link to `Corporate Information`.
59
67
  */
60
- imprintLink = input(...(ngDevMode ? [undefined, { debugName: "imprintLink" }] : []));
68
+ imprintLink = input(/* @ts-ignore */
69
+ ...(ngDevMode ? [undefined, { debugName: "imprintLink" }] : /* istanbul ignore next */ []));
61
70
  /**
62
71
  * Link to `Privacy Notice`.
63
72
  */
64
- privacyLink = input(...(ngDevMode ? [undefined, { debugName: "privacyLink" }] : []));
73
+ privacyLink = input(/* @ts-ignore */
74
+ ...(ngDevMode ? [undefined, { debugName: "privacyLink" }] : /* istanbul ignore next */ []));
65
75
  /**
66
76
  * Link to `Cookie Notice`.
67
77
  */
68
- cookieNoticeLink = input(...(ngDevMode ? [undefined, { debugName: "cookieNoticeLink" }] : []));
78
+ cookieNoticeLink = input(/* @ts-ignore */
79
+ ...(ngDevMode ? [undefined, { debugName: "cookieNoticeLink" }] : /* istanbul ignore next */ []));
69
80
  /**
70
81
  * Link to `Terms of Use`.
71
82
  */
72
- termsLink = input(...(ngDevMode ? [undefined, { debugName: "termsLink" }] : []));
83
+ termsLink = input(/* @ts-ignore */
84
+ ...(ngDevMode ? [undefined, { debugName: "termsLink" }] : /* istanbul ignore next */ []));
73
85
  /**
74
86
  * Additional links listed in the about section.
75
87
  *
76
88
  * @defaultValue []
77
89
  */
78
- links = input([], ...(ngDevMode ? [{ debugName: "links" }] : []));
90
+ links = input([], /* @ts-ignore */
91
+ ...(ngDevMode ? [{ debugName: "links" }] : /* istanbul ignore next */ []));
79
92
  /**
80
93
  * Copyright information to be displayed. Alternatively, you can use the {@link SI_COPYRIGHT_DETAILS} global inject.
81
94
  */
82
- copyrightDetails = input(...(ngDevMode ? [undefined, { debugName: "copyrightDetails" }] : []));
95
+ copyrightDetails = input(/* @ts-ignore */
96
+ ...(ngDevMode ? [undefined, { debugName: "copyrightDetails" }] : /* istanbul ignore next */ []));
83
97
  sanitizedUrl = computed(() => {
84
98
  const licenseInfo = this.licenseInfo();
85
99
  return licenseInfo.iframe != null
86
100
  ? this.sanitizer.bypassSecurityTrustResourceUrl(licenseInfo.iframe)
87
101
  : undefined;
88
- }, ...(ngDevMode ? [{ debugName: "sanitizedUrl" }] : []));
89
- licenseApi = signal([], ...(ngDevMode ? [{ debugName: "licenseApi" }] : []));
102
+ }, /* @ts-ignore */
103
+ ...(ngDevMode ? [{ debugName: "sanitizedUrl" }] : /* istanbul ignore next */ []));
104
+ licenseApi = signal([], /* @ts-ignore */
105
+ ...(ngDevMode ? [{ debugName: "licenseApi" }] : /* istanbul ignore next */ []));
90
106
  icons = addIcons({ elementDocument });
91
107
  ngOnInit() {
92
108
  const licenseInfo = this.licenseInfo();
@@ -122,10 +138,10 @@ class SiAboutComponent {
122
138
  });
123
139
  }
124
140
  }
125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiAboutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiAboutComponent, isStandalone: true, selector: "si-about", inputs: { logoAlt: { classPropertyName: "logoAlt", publicName: "logoAlt", isSignal: true, isRequired: false, transformFunction: null }, aboutTitle: { classPropertyName: "aboutTitle", publicName: "aboutTitle", isSignal: true, isRequired: true, transformFunction: null }, licenseInfo: { classPropertyName: "licenseInfo", publicName: "licenseInfo", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: true, transformFunction: null }, subheading: { classPropertyName: "subheading", publicName: "subheading", isSignal: true, isRequired: false, transformFunction: null }, acceptableUsePolicyLink: { classPropertyName: "acceptableUsePolicyLink", publicName: "acceptableUsePolicyLink", isSignal: true, isRequired: false, transformFunction: null }, imprintLink: { classPropertyName: "imprintLink", publicName: "imprintLink", isSignal: true, isRequired: false, transformFunction: null }, privacyLink: { classPropertyName: "privacyLink", publicName: "privacyLink", isSignal: true, isRequired: false, transformFunction: null }, cookieNoticeLink: { classPropertyName: "cookieNoticeLink", publicName: "cookieNoticeLink", isSignal: true, isRequired: false, transformFunction: null }, termsLink: { classPropertyName: "termsLink", publicName: "termsLink", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, copyrightDetails: { classPropertyName: "copyrightDetails", publicName: "copyrightDetails", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div class=\"list-group\">\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"border-0 border-bottom my-0 px-6 py-4\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-body focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n", styles: [".list-group-item{border-width:0 0 1px;padding-inline:16px}.list-group-item.with-border:first-child{border-block-start-width:1px}.list-group-item:last-child{border-block-end-width:0}.app-icon{font-size:150px}iframe{border-style:none;min-block-size:500px;margin-block-end:-5px}pre{word-break:break-word;white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiCollapsiblePanelComponent, selector: "si-collapsible-panel", inputs: ["heading", "headerCssClasses", "contentBgClasses", "contentCssClasses", "opened", "icon", "disabled", "colorVariant", "badge", "badgeColor"], outputs: ["openedChange", "panelToggle"] }, { kind: "component", type: SiCopyrightNoticeComponent, selector: "si-copyright-notice", inputs: ["copyright"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiAboutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiAboutComponent, isStandalone: true, selector: "si-about", inputs: { logoAlt: { classPropertyName: "logoAlt", publicName: "logoAlt", isSignal: true, isRequired: false, transformFunction: null }, aboutTitle: { classPropertyName: "aboutTitle", publicName: "aboutTitle", isSignal: true, isRequired: true, transformFunction: null }, licenseInfo: { classPropertyName: "licenseInfo", publicName: "licenseInfo", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: true, transformFunction: null }, subheading: { classPropertyName: "subheading", publicName: "subheading", isSignal: true, isRequired: false, transformFunction: null }, acceptableUsePolicyLink: { classPropertyName: "acceptableUsePolicyLink", publicName: "acceptableUsePolicyLink", isSignal: true, isRequired: false, transformFunction: null }, imprintLink: { classPropertyName: "imprintLink", publicName: "imprintLink", isSignal: true, isRequired: false, transformFunction: null }, privacyLink: { classPropertyName: "privacyLink", publicName: "privacyLink", isSignal: true, isRequired: false, transformFunction: null }, cookieNoticeLink: { classPropertyName: "cookieNoticeLink", publicName: "cookieNoticeLink", isSignal: true, isRequired: false, transformFunction: null }, termsLink: { classPropertyName: "termsLink", publicName: "termsLink", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, copyrightDetails: { classPropertyName: "copyrightDetails", publicName: "copyrightDetails", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div class=\"list-group\">\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"border-0 border-bottom my-0 px-6 py-4\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-primary focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n", styles: [".list-group-item{border-width:0 0 1px;padding-inline:var(--si-sys-sizing-spacing-x-60)}.list-group-item.with-border:first-child{border-block-start-width:1px}.list-group-item:last-child{border-block-end-width:0}.app-icon{font-size:150px}iframe{border-style:none;min-block-size:500px;margin-block-end:-5px}pre{word-break:break-word;white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiCollapsiblePanelComponent, selector: "si-collapsible-panel", inputs: ["heading", "headerCssClasses", "contentBgClasses", "contentCssClasses", "opened", "icon", "disabled", "colorVariant", "badge", "badgeColor"], outputs: ["openedChange", "panelToggle"] }, { kind: "component", type: SiCopyrightNoticeComponent, selector: "si-copyright-notice", inputs: ["copyright"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
127
143
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiAboutComponent, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiAboutComponent, decorators: [{
129
145
  type: Component,
130
146
  args: [{ selector: 'si-about', imports: [
131
147
  NgTemplateOutlet,
@@ -134,7 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
134
150
  SiIconComponent,
135
151
  SiLinkDirective,
136
152
  SiTranslatePipe
137
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div class=\"list-group\">\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"border-0 border-bottom my-0 px-6 py-4\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-body focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n", styles: [".list-group-item{border-width:0 0 1px;padding-inline:16px}.list-group-item.with-border:first-child{border-block-start-width:1px}.list-group-item:last-child{border-block-end-width:0}.app-icon{font-size:150px}iframe{border-style:none;min-block-size:500px;margin-block-end:-5px}pre{word-break:break-word;white-space:pre-wrap}\n"] }]
153
+ ], template: "<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div class=\"list-group\">\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"border-0 border-bottom my-0 px-6 py-4\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-primary focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n", styles: [".list-group-item{border-width:0 0 1px;padding-inline:var(--si-sys-sizing-spacing-x-60)}.list-group-item.with-border:first-child{border-block-start-width:1px}.list-group-item:last-child{border-block-end-width:0}.app-icon{font-size:150px}iframe{border-style:none;min-block-size:500px;margin-block-end:-5px}pre{word-break:break-word;white-space:pre-wrap}\n"] }]
138
154
  }], propDecorators: { logoAlt: [{ type: i0.Input, args: [{ isSignal: true, alias: "logoAlt", required: false }] }], aboutTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "aboutTitle", required: true }] }], licenseInfo: [{ type: i0.Input, args: [{ isSignal: true, alias: "licenseInfo", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconName", required: false }] }], appName: [{ type: i0.Input, args: [{ isSignal: true, alias: "appName", required: true }] }], subheading: [{ type: i0.Input, args: [{ isSignal: true, alias: "subheading", required: false }] }], acceptableUsePolicyLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "acceptableUsePolicyLink", required: false }] }], imprintLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "imprintLink", required: false }] }], privacyLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "privacyLink", required: false }] }], cookieNoticeLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "cookieNoticeLink", required: false }] }], termsLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "termsLink", required: false }] }], links: [{ type: i0.Input, args: [{ isSignal: true, alias: "links", required: false }] }], copyrightDetails: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyrightDetails", required: false }] }] } });
139
155
 
140
156
  /**
@@ -142,11 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
142
158
  * SPDX-License-Identifier: MIT
143
159
  */
144
160
  class SiAboutModule {
145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
146
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiAboutModule, imports: [SiAboutComponent], exports: [SiAboutComponent] });
147
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiAboutModule, imports: [SiAboutComponent] });
161
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
162
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: SiAboutModule, imports: [SiAboutComponent], exports: [SiAboutComponent] });
163
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiAboutModule, imports: [SiAboutComponent] });
148
164
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiAboutModule, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiAboutModule, decorators: [{
150
166
  type: NgModule,
151
167
  args: [{
152
168
  imports: [SiAboutComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-about.mjs","sources":["../../../../projects/element-ng/about/si-about.component.ts","../../../../projects/element-ng/about/si-about.component.html","../../../../projects/element-ng/about/si-about.module.ts","../../../../projects/element-ng/about/index.ts","../../../../projects/element-ng/about/siemens-element-ng-about.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n OnInit,\n signal\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { elementDocument } from '@siemens/element-icons';\nimport { SiCollapsiblePanelComponent } from '@siemens/element-ng/accordion';\nimport { CopyrightDetails, SiCopyrightNoticeComponent } from '@siemens/element-ng/copyright-notice';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { Link, SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { ApiInfo, LicenseInfo } from './si-about-data.model';\n\n@Component({\n selector: 'si-about',\n imports: [\n NgTemplateOutlet,\n SiCollapsiblePanelComponent,\n SiCopyrightNoticeComponent,\n SiIconComponent,\n SiLinkDirective,\n SiTranslatePipe\n ],\n templateUrl: './si-about.component.html',\n styleUrl: './si-about.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiAboutComponent implements OnInit {\n private http = inject(HttpClient);\n private sanitizer = inject(DomSanitizer);\n\n /**\n * Alt text for the application logo. Supports `{{appName}}` placeholder for interpolation.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`)\n * ```\n */\n readonly logoAlt = input(t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`));\n\n /**\n * Title shown above the about information.\n */\n readonly aboutTitle = input.required<string>();\n /**\n * Define mode to display the licenses. See {@link LicenseInfo}\n */\n readonly licenseInfo = input.required<LicenseInfo>();\n /**\n * Path to the application logo. Use for image\n */\n readonly icon = input<string>();\n /**\n * Name of element icon. Use as alternative to image\n */\n readonly iconName = input<string>();\n /**\n * Title of this application.\n */\n readonly appName = input.required<string>();\n /**\n * Sub titles of the application. Shown as a list below the application name. (Optional)\n */\n readonly subheading = input<string[]>();\n /**\n * Link to `Acceptable Use Policy`.\n */\n readonly acceptableUsePolicyLink = input<Link>();\n /**\n * Link to `Corporate Information`.\n */\n readonly imprintLink = input<Link>();\n /**\n * Link to `Privacy Notice`.\n */\n readonly privacyLink = input<Link>();\n /**\n * Link to `Cookie Notice`.\n */\n readonly cookieNoticeLink = input<Link>();\n /**\n * Link to `Terms of Use`.\n */\n readonly termsLink = input<Link>();\n /**\n * Additional links listed in the about section.\n *\n * @defaultValue []\n */\n readonly links = input<Link[]>([]);\n /**\n * Copyright information to be displayed. Alternatively, you can use the {@link SI_COPYRIGHT_DETAILS} global inject.\n */\n readonly copyrightDetails = input<CopyrightDetails>();\n\n protected readonly sanitizedUrl = computed(() => {\n const licenseInfo = this.licenseInfo();\n return licenseInfo.iframe != null\n ? this.sanitizer.bypassSecurityTrustResourceUrl(licenseInfo.iframe)\n : undefined;\n });\n\n protected readonly licenseApi = signal<ApiInfo[]>([]);\n protected readonly icons = addIcons({ elementDocument });\n\n ngOnInit(): void {\n const licenseInfo = this.licenseInfo();\n if (licenseInfo.api) {\n this.http.get<ApiInfo[]>(licenseInfo.api, { responseType: 'json' }).subscribe(data => {\n this.licenseApi.set(data);\n if (this.licenseApi().length === 1) {\n data[0].isOpen = false;\n this.licenseApi.set([...data]);\n this.toggleLoadLicenseApi(this.licenseApi()[0]);\n }\n });\n }\n }\n\n protected toggleLoadLicenseApi(apiInfo: ApiInfo): void {\n const licenseApi = this.licenseApi();\n if (!apiInfo.isOpen && !apiInfo.files) {\n this.http.get<ApiInfo[]>(apiInfo.href, { responseType: 'json' }).subscribe(files => {\n apiInfo.files = files;\n this.licenseApi.set([...licenseApi]);\n });\n }\n apiInfo.isOpen = !apiInfo.isOpen;\n this.licenseApi.set([...licenseApi]);\n }\n\n protected toggleLoadLicenseContent(apiInfo: ApiInfo): void {\n const licenseApi = this.licenseApi();\n apiInfo.isOpen = !apiInfo.isOpen;\n if (!apiInfo.content) {\n this.http.get(apiInfo.href, { responseType: 'text' }).subscribe((content: string) => {\n apiInfo.content = content;\n this.licenseApi.set([...licenseApi]);\n });\n }\n }\n}\n","<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div class=\"list-group\">\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"border-0 border-bottom my-0 px-6 py-4\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-body focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAboutComponent } from './si-about.component';\n\n@NgModule({\n imports: [SiAboutComponent],\n exports: [SiAboutComponent]\n})\nexport class SiAboutModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-about.component';\nexport * from './si-about.module';\nexport * from './si-about-data.model';\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-about.mjs","sources":["../../../../projects/element-ng/about/si-about.component.ts","../../../../projects/element-ng/about/si-about.component.html","../../../../projects/element-ng/about/si-about.module.ts","../../../../projects/element-ng/about/index.ts","../../../../projects/element-ng/about/siemens-element-ng-about.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, computed, inject, input, OnInit, signal } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { elementDocument } from '@siemens/element-icons';\nimport { SiCollapsiblePanelComponent } from '@siemens/element-ng/accordion';\nimport { CopyrightDetails, SiCopyrightNoticeComponent } from '@siemens/element-ng/copyright-notice';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { Link, SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { ApiInfo, LicenseInfo } from './si-about-data.model';\n\n@Component({\n selector: 'si-about',\n imports: [\n NgTemplateOutlet,\n SiCollapsiblePanelComponent,\n SiCopyrightNoticeComponent,\n SiIconComponent,\n SiLinkDirective,\n SiTranslatePipe\n ],\n templateUrl: './si-about.component.html',\n styleUrl: './si-about.component.scss'\n})\nexport class SiAboutComponent implements OnInit {\n private http = inject(HttpClient);\n private sanitizer = inject(DomSanitizer);\n\n /**\n * Alt text for the application logo. Supports `{{appName}}` placeholder for interpolation.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`)\n * ```\n */\n readonly logoAlt = input(t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`));\n\n /**\n * Title shown above the about information.\n */\n readonly aboutTitle = input.required<string>();\n /**\n * Define mode to display the licenses. See {@link LicenseInfo}\n */\n readonly licenseInfo = input.required<LicenseInfo>();\n /**\n * Path to the application logo. Use for image\n */\n readonly icon = input<string>();\n /**\n * Name of element icon. Use as alternative to image\n */\n readonly iconName = input<string>();\n /**\n * Title of this application.\n */\n readonly appName = input.required<string>();\n /**\n * Sub titles of the application. Shown as a list below the application name. (Optional)\n */\n readonly subheading = input<string[]>();\n /**\n * Link to `Acceptable Use Policy`.\n */\n readonly acceptableUsePolicyLink = input<Link>();\n /**\n * Link to `Corporate Information`.\n */\n readonly imprintLink = input<Link>();\n /**\n * Link to `Privacy Notice`.\n */\n readonly privacyLink = input<Link>();\n /**\n * Link to `Cookie Notice`.\n */\n readonly cookieNoticeLink = input<Link>();\n /**\n * Link to `Terms of Use`.\n */\n readonly termsLink = input<Link>();\n /**\n * Additional links listed in the about section.\n *\n * @defaultValue []\n */\n readonly links = input<Link[]>([]);\n /**\n * Copyright information to be displayed. Alternatively, you can use the {@link SI_COPYRIGHT_DETAILS} global inject.\n */\n readonly copyrightDetails = input<CopyrightDetails>();\n\n protected readonly sanitizedUrl = computed(() => {\n const licenseInfo = this.licenseInfo();\n return licenseInfo.iframe != null\n ? this.sanitizer.bypassSecurityTrustResourceUrl(licenseInfo.iframe)\n : undefined;\n });\n\n protected readonly licenseApi = signal<ApiInfo[]>([]);\n protected readonly icons = addIcons({ elementDocument });\n\n ngOnInit(): void {\n const licenseInfo = this.licenseInfo();\n if (licenseInfo.api) {\n this.http.get<ApiInfo[]>(licenseInfo.api, { responseType: 'json' }).subscribe(data => {\n this.licenseApi.set(data);\n if (this.licenseApi().length === 1) {\n data[0].isOpen = false;\n this.licenseApi.set([...data]);\n this.toggleLoadLicenseApi(this.licenseApi()[0]);\n }\n });\n }\n }\n\n protected toggleLoadLicenseApi(apiInfo: ApiInfo): void {\n const licenseApi = this.licenseApi();\n if (!apiInfo.isOpen && !apiInfo.files) {\n this.http.get<ApiInfo[]>(apiInfo.href, { responseType: 'json' }).subscribe(files => {\n apiInfo.files = files;\n this.licenseApi.set([...licenseApi]);\n });\n }\n apiInfo.isOpen = !apiInfo.isOpen;\n this.licenseApi.set([...licenseApi]);\n }\n\n protected toggleLoadLicenseContent(apiInfo: ApiInfo): void {\n const licenseApi = this.licenseApi();\n apiInfo.isOpen = !apiInfo.isOpen;\n if (!apiInfo.content) {\n this.http.get(apiInfo.href, { responseType: 'text' }).subscribe((content: string) => {\n apiInfo.content = content;\n this.licenseApi.set([...licenseApi]);\n });\n }\n }\n}\n","<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div class=\"list-group\">\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"border-0 border-bottom my-0 px-6 py-4\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-primary focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAboutComponent } from './si-about.component';\n\n@NgModule({\n imports: [SiAboutComponent],\n exports: [SiAboutComponent]\n})\nexport class SiAboutModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-about.component';\nexport * from './si-about.module';\nexport * from './si-about-data.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}