@siemens/element-ng 49.0.0-rc.3 → 49.0.0

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 (261) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +1 -1
  3. package/fesm2022/siemens-element-ng-about.mjs +3 -3
  4. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  5. package/fesm2022/siemens-element-ng-accordion.mjs +6 -6
  6. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  7. package/fesm2022/siemens-element-ng-action-modal.mjs +6 -6
  8. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs +16 -16
  10. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  11. package/fesm2022/siemens-element-ng-application-header.mjs +17 -17
  12. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +7 -7
  14. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs +5 -5
  16. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  17. package/fesm2022/siemens-element-ng-avatar.mjs +5 -5
  18. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  19. package/fesm2022/siemens-element-ng-badge.mjs +2 -2
  20. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +5 -5
  22. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs +6 -6
  24. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  25. package/fesm2022/siemens-element-ng-card.mjs +5 -5
  26. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-chat-messages.mjs +11 -11
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-circle-status.mjs +3 -3
  30. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-color-picker.mjs +2 -2
  32. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +4 -4
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-common.mjs +14 -14
  36. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-connection-strength.mjs +3 -3
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-content-action-bar.mjs +4 -4
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-copyright-notice.mjs +4 -4
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-dashboard.mjs +15 -15
  44. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-datatable.mjs +3 -3
  46. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-date-range-filter.mjs +5 -5
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-datepicker.mjs +19 -19
  50. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +4 -4
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-empty-state.mjs +3 -3
  54. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-file-uploader.mjs +6 -6
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-filter-bar.mjs +4 -4
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-filtered-search.mjs +11 -11
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-footer.mjs +3 -3
  62. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-form.mjs +9 -9
  64. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-formly.mjs +26 -26
  66. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  67. package/fesm2022/siemens-element-ng-header-dropdown.mjs +5 -5
  68. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-help-button.mjs +2 -2
  70. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-icon-status.mjs +3 -3
  72. package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-icon.mjs +23 -38
  74. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-info-page.mjs +2 -2
  76. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-inline-notification.mjs +3 -3
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-ip-input.mjs +4 -4
  80. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-landing-page.mjs +7 -7
  82. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-language-switcher.mjs +3 -3
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-link.mjs +4 -4
  86. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-list-details.mjs +9 -9
  88. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-loading-spinner.mjs +6 -6
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-localization.mjs +4 -4
  92. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-main-detail-container.mjs +3 -3
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +3 -3
  96. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  97. package/fesm2022/siemens-element-ng-menu.mjs +12 -12
  98. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-modal.mjs +6 -5
  100. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +11 -10
  102. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-navbar.mjs +6 -6
  104. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-notification-item.mjs +2 -2
  106. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-number-input.mjs +3 -3
  108. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-pagination.mjs +3 -3
  110. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-password-strength.mjs +4 -4
  112. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-password-toggle.mjs +3 -3
  114. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-phone-number.mjs +4 -4
  116. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-photo-upload.mjs +3 -3
  118. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-pills-input.mjs +8 -8
  120. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-popover-legacy.mjs +3 -3
  122. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-popover.mjs +5 -5
  124. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-progressbar.mjs +3 -3
  126. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-resize-observer.mjs +5 -5
  128. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-result-details-list.mjs +4 -4
  130. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-search-bar.mjs +3 -3
  132. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-select.mjs +21 -21
  134. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-shadow-root.mjs +2 -2
  136. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-side-panel.mjs +5 -5
  138. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  139. package/fesm2022/siemens-element-ng-skip-links.mjs +4 -4
  140. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  141. package/fesm2022/siemens-element-ng-slider.mjs +3 -3
  142. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  143. package/fesm2022/siemens-element-ng-sort-bar.mjs +13 -3
  144. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  145. package/fesm2022/siemens-element-ng-split.mjs +3 -3
  146. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  147. package/fesm2022/siemens-element-ng-status-bar.mjs +5 -5
  148. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  149. package/fesm2022/siemens-element-ng-status-counter.mjs +2 -2
  150. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  151. package/fesm2022/siemens-element-ng-status-toggle.mjs +2 -2
  152. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  153. package/fesm2022/siemens-element-ng-summary-chip.mjs +2 -2
  154. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  155. package/fesm2022/siemens-element-ng-summary-widget.mjs +2 -2
  156. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  157. package/fesm2022/siemens-element-ng-system-banner.mjs +2 -2
  158. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  159. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +5 -5
  160. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  161. package/fesm2022/siemens-element-ng-tabs.mjs +6 -6
  162. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  163. package/fesm2022/siemens-element-ng-theme.mjs +5 -19
  164. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  165. package/fesm2022/siemens-element-ng-threshold.mjs +4 -4
  166. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  167. package/fesm2022/siemens-element-ng-toast-notification.mjs +4 -4
  168. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  169. package/fesm2022/siemens-element-ng-tooltip.mjs +14 -11
  170. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  171. package/fesm2022/siemens-element-ng-tour.mjs +4 -4
  172. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  173. package/fesm2022/siemens-element-ng-translate.mjs +1 -1
  174. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  175. package/fesm2022/siemens-element-ng-tree-view.mjs +10 -10
  176. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  177. package/fesm2022/siemens-element-ng-typeahead.mjs +6 -6
  178. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  179. package/fesm2022/siemens-element-ng-wizard.mjs +5 -5
  180. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  181. package/fesm2022/siemens-element-ng.mjs +1 -1
  182. package/fesm2022/siemens-element-ng.mjs.map +1 -1
  183. package/package.json +5 -4
  184. package/schematics/migrations/data/class-member-replacement.js +1 -1
  185. package/schematics/migrations/data/element-class-changes.js +1 -1
  186. package/schematics/migrations/data/index.js +1 -1
  187. package/schematics/migrations/data/migration-test-data.js +1 -1
  188. package/schematics/migrations/data/symbol-renaming.js +29 -0
  189. package/schematics/migrations/element-migration/element-migration.js +1 -1
  190. package/schematics/migrations/element-migration/index.js +1 -1
  191. package/schematics/migrations/icon-path-migration/icon-path-migration.js +1 -1
  192. package/schematics/migrations/icon-path-migration/index.js +1 -1
  193. package/schematics/migrations/ngx-translate/index.js +1 -1
  194. package/schematics/migrations/utilities/attribute-selector.migration.js +1 -1
  195. package/schematics/migrations/utilities/class-member-replacement.migration.js +1 -1
  196. package/schematics/migrations/utilities/component-property-name.migration.js +1 -1
  197. package/schematics/migrations/utilities/element-class-change.migration.js +1 -1
  198. package/schematics/migrations/utilities/element-selector.migration.js +1 -1
  199. package/schematics/migrations/utilities/index.js +1 -1
  200. package/schematics/migrations/utilities/symbol-removal.migration.js +1 -1
  201. package/schematics/migrations/utilities/symbol-renaming.migration.js +1 -1
  202. package/schematics/ng-add/index.js +1 -1
  203. package/schematics/ng-update/index.js +13 -3
  204. package/schematics/utils/html-utils.js +1 -1
  205. package/schematics/utils/index.js +1 -1
  206. package/schematics/utils/project-utils.js +1 -1
  207. package/schematics/utils/schematics-file-system.js +1 -1
  208. package/schematics/utils/template-utils.js +1 -1
  209. package/schematics/utils/ts-compiler-host.js +1 -1
  210. package/schematics/utils/ts-utils.js +1 -1
  211. package/types/siemens-element-ng-about.d.ts +1 -1
  212. package/types/siemens-element-ng-action-modal.d.ts +1 -1
  213. package/types/siemens-element-ng-ag-grid.d.ts +3 -3
  214. package/types/siemens-element-ng-application-header.d.ts +3 -3
  215. package/types/siemens-element-ng-breadcrumb-router.d.ts +1 -1
  216. package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
  217. package/types/siemens-element-ng-chat-messages.d.ts +1 -1
  218. package/types/siemens-element-ng-column-selection-dialog.d.ts +1 -1
  219. package/types/siemens-element-ng-common.d.ts +9 -9
  220. package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
  221. package/types/siemens-element-ng-copyright-notice.d.ts +1 -1
  222. package/types/siemens-element-ng-datatable.d.ts +1 -1
  223. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  224. package/types/siemens-element-ng-datepicker.d.ts +1 -1
  225. package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
  226. package/types/siemens-element-ng-file-uploader.d.ts +1 -1
  227. package/types/siemens-element-ng-filter-bar.d.ts +1 -1
  228. package/types/siemens-element-ng-filtered-search.d.ts +1 -1
  229. package/types/siemens-element-ng-form.d.ts +4 -4
  230. package/types/siemens-element-ng-formly.d.ts +5 -5
  231. package/types/siemens-element-ng-header-dropdown.d.ts +1 -1
  232. package/types/siemens-element-ng-icon-status.d.ts +1 -1
  233. package/types/siemens-element-ng-icon.d.ts +4 -11
  234. package/types/siemens-element-ng-ip-input.d.ts +1 -1
  235. package/types/siemens-element-ng-landing-page.d.ts +2 -2
  236. package/types/siemens-element-ng-language-switcher.d.ts +1 -1
  237. package/types/siemens-element-ng-link.d.ts +2 -2
  238. package/types/siemens-element-ng-localization.d.ts +1 -1
  239. package/types/siemens-element-ng-menu.d.ts +2 -2
  240. package/types/siemens-element-ng-modal.d.ts +2 -2
  241. package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
  242. package/types/siemens-element-ng-navbar.d.ts +2 -2
  243. package/types/siemens-element-ng-phone-number.d.ts +1 -1
  244. package/types/siemens-element-ng-result-details-list.d.ts +1 -1
  245. package/types/siemens-element-ng-select.d.ts +4 -4
  246. package/types/siemens-element-ng-shadow-root.d.ts +1 -1
  247. package/types/siemens-element-ng-side-panel.d.ts +1 -1
  248. package/types/siemens-element-ng-sort-bar.d.ts +10 -0
  249. package/types/siemens-element-ng-split.d.ts +1 -1
  250. package/types/siemens-element-ng-status-bar.d.ts +1 -1
  251. package/types/siemens-element-ng-status-toggle.d.ts +1 -1
  252. package/types/siemens-element-ng-tabs-legacy.d.ts +1 -1
  253. package/types/siemens-element-ng-theme.d.ts +3 -6
  254. package/types/siemens-element-ng-toast-notification.d.ts +1 -1
  255. package/types/siemens-element-ng-tooltip.d.ts +4 -3
  256. package/types/siemens-element-ng-tour.d.ts +1 -1
  257. package/types/siemens-element-ng-translate.d.ts +1 -1
  258. package/types/siemens-element-ng-tree-view.d.ts +4 -4
  259. package/types/siemens-element-ng-typeahead.d.ts +2 -2
  260. package/types/siemens-element-ng.d.ts +1 -1
  261. package/schematics/migrations/index.js +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-tour.mjs","sources":["../../../../projects/element-ng/tour/si-tour-token.model.ts","../../../../projects/element-ng/tour/si-tour-highlight.component.ts","../../../../projects/element-ng/tour/si-tour-highlight.component.html","../../../../projects/element-ng/tour/si-tour.component.ts","../../../../projects/element-ng/tour/si-tour.component.html","../../../../projects/element-ng/tour/si-tour.service.ts","../../../../projects/element-ng/tour/index.ts","../../../../projects/element-ng/tour/siemens-element-ng-tour.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { ElementRef, InjectionToken, WritableSignal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { TourStep } from './si-tour.model';\n\nexport interface TourStepInternal {\n step: TourStep;\n stepNumber: number;\n totalSteps: number;\n anchor?: ElementRef<HTMLElement>;\n}\n\nexport type TourAction = 'next' | 'back' | 'cancel' | 'complete';\n\nexport interface PositionChange {\n change: ConnectedOverlayPositionChange;\n anchor: ElementRef;\n}\nexport interface TourToken {\n currentStep: Subject<TourStepInternal>;\n blocked: WritableSignal<boolean>;\n positionChange: Subject<PositionChange | undefined>;\n sizeChange: Subject<void>;\n control: Subject<TourAction>;\n}\n\nexport const SI_TOUR_TOKEN = new InjectionToken<TourToken>('SI_TOUR_TOKEN');\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { SI_TOUR_TOKEN } from './si-tour-token.model';\n\n@Component({\n selector: 'si-tour-highlight',\n templateUrl: './si-tour-highlight.component.html',\n styleUrl: './si-tour-highlight.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiTourHighlightComponent {\n private tourToken = inject(SI_TOUR_TOKEN);\n private anchor?: ElementRef;\n protected readonly dim = signal({ top: 0, left: 0, width: 0, height: 0 });\n\n constructor() {\n this.tourToken.currentStep.pipe(takeUntilDestroyed()).subscribe(step => {\n this.anchor = step.anchor;\n this.updateHighlight();\n });\n this.tourToken.sizeChange.pipe(takeUntilDestroyed()).subscribe(() => this.updateHighlight());\n }\n\n private updateHighlight(): void {\n if (!this.anchor) {\n this.dim.set({ top: 0, left: 0, width: 0, height: 0 });\n return;\n }\n const rect = this.anchor.nativeElement.getBoundingClientRect();\n this.dim.set({ top: rect.top, left: rect.left, width: rect.width, height: rect.height });\n }\n}\n","@let rect = dim();\n<div\n class=\"highlighter\"\n [style.top.px]=\"rect.top\"\n [style.left.px]=\"rect.left\"\n [style.inline-size.px]=\"rect.width\"\n [style.block-size.px]=\"rect.height\"\n></div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n DOCUMENT,\n ElementRef,\n HostListener,\n inject,\n OnDestroy,\n signal,\n viewChild\n} from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport {\n calculateOverlayArrowPosition,\n isRTL,\n OverlayArrowPosition\n} from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription } from 'rxjs';\n\nimport { PositionChange, SI_TOUR_TOKEN, TourAction, TourStepInternal } from './si-tour-token.model';\n\n@Component({\n selector: 'si-tour',\n imports: [A11yModule, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-tour.component.html',\n styleUrl: './si-tour.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-step-id]': 'step()?.step?.id'\n }\n})\nexport class SiTourComponent implements OnDestroy {\n protected readonly positionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n protected readonly step = signal<TourStepInternal | undefined>(undefined);\n protected readonly show = signal(false);\n protected readonly icons = addIcons({ elementCancel });\n protected tourToken = inject(SI_TOUR_TOKEN);\n\n protected backText = t(() => $localize`:@@SI_TOUR.BACK:Back`);\n protected nextText = t(() => $localize`:@@SI_TOUR.NEXT:Next`);\n protected skipText = t(() => $localize`:@@SI_TOUR.SKIP:Skip tour`);\n protected doneText = t(() => $localize`:@@SI_TOUR.DONE:Done`);\n protected ariaLabelClose = t(() => $localize`:@@SI_TOUR.CLOSE:Close`);\n protected progressText = t(() => $localize`:@@SI_TOUR.PROGRESS: {{step}} of {{total}}`);\n\n private elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n private subscription?: Subscription;\n private prevFocus: Element | null = null;\n\n private readonly focusTrap = viewChild<CdkTrapFocus>('focusTrap');\n private document = inject(DOCUMENT);\n\n constructor() {\n this.subscription = this.tourToken.currentStep.subscribe(step => {\n this.step.set(step);\n this.show.set(false);\n // prevents flickering during overlay reposition and arrow direction change\n setTimeout(() => {\n this.show.set(true);\n this.ensureFocused();\n }, 50);\n });\n this.subscription.add(\n this.tourToken.positionChange.subscribe(update => this.updatePosition(update))\n );\n }\n\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n }\n\n protected action(action: TourAction): void {\n this.prevFocus = this.document.activeElement;\n this.tourToken.control.next(action);\n }\n\n protected ensureFocused(): void {\n // ensure focus is inside si-tour as other element might steal it, e.g. opening a menu\n const element = this.elementRef.nativeElement;\n if (!this.document.activeElement || !element.contains(this.document.activeElement)) {\n if (element.contains(this.prevFocus)) {\n (this.prevFocus as HTMLElement)?.focus?.();\n } else {\n this.focusTrap()?.focusTrap.focusInitialElement();\n }\n }\n }\n\n @HostListener('window:keydown', ['$event'])\n protected keyListener(event: KeyboardEvent): void {\n switch (event.key) {\n case 'Escape':\n this.action('cancel');\n break;\n case 'ArrowLeft':\n this.action(isRTL() ? 'next' : 'back');\n break;\n case 'ArrowRight':\n this.action(isRTL() ? 'back' : 'next');\n break;\n }\n }\n\n private updatePosition(update: PositionChange | undefined): void {\n if (!update) {\n this.positionClass.set('');\n this.arrowPos.set(undefined);\n return;\n }\n\n const connPair = update.change.connectionPair;\n this.positionClass.set(`popover-${connPair.overlayX}-${connPair.overlayY}`);\n setTimeout(() =>\n this.arrowPos.set(\n calculateOverlayArrowPosition(update.change, this.elementRef, update.anchor)\n )\n );\n }\n}\n","<div class=\"backdrop\"></div>\n<div\n #focusTrap=\"cdkTrapFocus\"\n role=\"dialog\"\n aria-labelledby=\"__si-tour-step-title\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [class]=\"['tour-content', 'popover', 'position-relative', positionClass()]\"\n [class.show]=\"show()\"\n>\n @if (arrowPos()) {\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n }\n @if (step()) {\n @let tourStep = step()!;\n <div class=\"d-flex\">\n <div class=\"p-6 flex-fill\">\n <div class=\"pb-2 si-body text-secondary\">\n {{ progressText | translate: { step: tourStep.stepNumber, total: tourStep.totalSteps } }}\n </div>\n <div id=\"__si-tour-step-title\" class=\"si-h4 mb-0\">\n {{ tourStep.step.title | translate }}\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost mt-4 me-5\"\n [attr.aria-label]=\"ariaLabelClose | translate\"\n (click)=\"action('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n <div class=\"step-text si-body px-6 pb-8\">\n {{ tourStep.step.text | translate }}\n </div>\n <div class=\"d-flex justify-content-end align-items-center p-6 gap-6\">\n @if (tourStep.stepNumber !== 1) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action('back')\"\n >\n {{ backText | translate }}\n </button>\n } @else {\n <button type=\"button\" class=\"btn btn-tertiary\" (click)=\"action('cancel')\">\n {{ skipText | translate }}\n </button>\n }\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n cdkFocusInitial\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action(tourStep.stepNumber !== tourStep.totalSteps ? 'next' : 'complete')\"\n >\n @if (tourStep.stepNumber !== tourStep.totalSteps) {\n {{ nextText | translate }}\n } @else {\n {{ doneText | translate }}\n }\n </button>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayOutsideClickDispatcher,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, ElementRef, inject, Injectable, Injector, signal } from '@angular/core';\nimport { isRTL } from '@siemens/element-ng/common';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\nimport { map, merge, Subject, Subscription, tap, throttleTime } from 'rxjs';\n\nimport { SiTourHighlightComponent } from './si-tour-highlight.component';\nimport { SI_TOUR_TOKEN, TourAction, TourToken } from './si-tour-token.model';\nimport { SiTourComponent } from './si-tour.component';\nimport { TourOptions, TourStep } from './si-tour.model';\n\n@Injectable({ providedIn: 'root' })\nexport class SiTourService {\n private injector = inject(Injector);\n private resizeObserver = inject(ResizeObserverService);\n private overlay = inject(Overlay);\n private outsideClickDispatcher = inject(OverlayOutsideClickDispatcher);\n private overlayRefHighlight?: OverlayRef;\n private overlayRef?: OverlayRef;\n private portal?: ComponentPortal<SiTourComponent>;\n\n private options: TourOptions = {};\n private steps: TourStep[] = [];\n private currentStepIndex = -1;\n private currentStep?: TourStep;\n private active = false;\n private tourToken: TourToken = {\n currentStep: new Subject(),\n blocked: signal(false),\n positionChange: new Subject(),\n sizeChange: new Subject(),\n control: new Subject()\n };\n private positionChangeSub?: Subscription;\n private resizeSub?: Subscription;\n private document = inject(DOCUMENT);\n\n constructor() {\n this.tourToken.control.subscribe(action => this.controlAction(action));\n }\n\n /**\n * Event triggered after the tour is completed.\n */\n readonly onTourComplete = new Subject<void>();\n\n /**\n * Event triggered after the tour is cancelled, either through skip button or closing the tour dialog.\n */\n readonly onTourCancel = new Subject<void>();\n\n /**\n * Sets options for the whole tour.\n */\n setOptions(options: TourOptions): void {\n Object.assign(this.options, options);\n }\n\n /**\n * Add steps to the tour\n */\n addSteps(steps: TourStep[]): void {\n this.steps.push(...steps);\n }\n\n /**\n * Clear all steps\n */\n clearSteps(): void {\n this.steps = [];\n this.currentStepIndex = -1;\n }\n\n /**\n * Start the tour\n */\n start(): void {\n this.makeStep(0);\n }\n\n /**\n * Finish the tour\n */\n complete(): void {\n this.controlAction('complete');\n }\n\n private async controlAction(action: TourAction): Promise<void> {\n switch (action) {\n case 'next':\n this.makeStep(this.currentStepIndex + 1);\n break;\n case 'back':\n this.makeStep(this.currentStepIndex - 1);\n break;\n case 'cancel':\n this.hide();\n this.onTourCancel.next();\n break;\n case 'complete':\n this.hide();\n this.onTourComplete.next();\n break;\n }\n }\n\n private async makeStep(index: number): Promise<void> {\n if (index < 0 || index >= this.steps.length) {\n return;\n }\n\n this.active = true;\n\n await this.handleBeforeNextPromise();\n\n this.currentStepIndex = index;\n const step = this.steps[this.currentStepIndex];\n this.currentStep = Object.assign({}, this.options?.defaultStepOptions ?? {}, step);\n\n if (this.currentStep.beforeShowPromise) {\n this.tourToken.blocked.set(true);\n await this.currentStep.beforeShowPromise();\n }\n\n if (!this.active) {\n // tour could have been cancelled before beforeShowPromise completes\n return;\n }\n\n const anchorElement = this.getElement(step.attachTo?.element);\n this.scrollIntoView(this.currentStep, anchorElement);\n\n const anchorElementRef = this.isElementVisible(anchorElement)\n ? new ElementRef(anchorElement!)\n : undefined;\n\n if (anchorElementRef) {\n this.attachOverlay(anchorElementRef);\n } else {\n this.centerOverlay();\n }\n this.handleResizeSubscription(anchorElementRef);\n\n this.tourToken.currentStep.next({\n step,\n stepNumber: this.currentStepIndex + 1,\n totalSteps: this.steps.length,\n anchor: anchorElementRef\n });\n this.tourToken.blocked.set(false);\n }\n\n private scrollIntoView(step: TourStep, element?: HTMLElement): void {\n if (!element || !(step.scrollTo || step.scrollToHandler)) {\n return;\n }\n if (step.scrollToHandler) {\n step.scrollToHandler(element);\n } else {\n element?.scrollIntoView(step.scrollTo);\n }\n }\n\n private async handleBeforeNextPromise(): Promise<void> {\n if (!this.active) {\n return;\n }\n if (this.currentStep?.beforeNextPromise) {\n this.tourToken.blocked.set(true);\n await this.currentStep.beforeNextPromise();\n this.tourToken.blocked.set(false);\n }\n }\n\n private centerOverlay(): void {\n this.positionChangeSub?.unsubscribe();\n this.createOrUpdateOverlays();\n\n const positionStrategy = this.overlayRef!.getConfig().positionStrategy;\n if (!positionStrategy || positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n this.overlayRef!.updatePositionStrategy(\n this.overlay.position().global().centerHorizontally().centerVertically()\n );\n }\n this.tourToken.positionChange.next(undefined);\n }\n\n private attachOverlay(anchor: ElementRef<HTMLElement>): void {\n this.createOrUpdateOverlays();\n\n const positionStrategy = this.overlayRef!.getConfig().positionStrategy;\n if (positionStrategy && positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n positionStrategy.setOrigin(anchor);\n } else {\n this.createFlexiblePositionStrategy(anchor);\n }\n }\n\n private createFlexiblePositionStrategy(anchor: ElementRef<HTMLElement>): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(anchor)\n .withGrowAfterOpen(true)\n .withPositions([\n // On top\n { originX: 'center', overlayX: 'center', originY: 'top', overlayY: 'bottom' },\n { originX: 'start', overlayX: 'start', originY: 'top', overlayY: 'bottom' },\n { originX: 'end', overlayX: 'end', originY: 'top', overlayY: 'bottom' },\n // On bottom\n { originX: 'center', overlayX: 'center', originY: 'bottom', overlayY: 'top' },\n { originX: 'start', overlayX: 'start', originY: 'bottom', overlayY: 'top' },\n { originX: 'end', overlayX: 'end', originY: 'bottom', overlayY: 'top' },\n // Left and right\n { originX: 'start', overlayX: 'end', originY: 'center', overlayY: 'center' },\n { originX: 'end', overlayX: 'start', originY: 'center', overlayY: 'center' }\n ]);\n this.overlayRef!.updatePositionStrategy(positionStrategy);\n this.positionChangeSub = positionStrategy.positionChanges\n .pipe(map(change => ({ change, anchor })))\n // We only want to forward the next channel, as the positionChanges completes when setting a new origin.\n .subscribe(value => this.tourToken.positionChange.next(value));\n }\n\n private createOrUpdateOverlays(): void {\n if (this.overlayRef) {\n // This moves the dispatcher to the top, allowing it to catch other open overlays.\n // Much lighter than to detach and re-attach the portal, not re-creating the si-tour\n // component for each step\n this.outsideClickDispatcher.remove(this.overlayRef);\n this.outsideClickDispatcher.add(this.overlayRef);\n return;\n }\n\n const componentInjector = Injector.create({\n providers: [{ provide: SI_TOUR_TOKEN, useValue: this.tourToken }],\n parent: this.injector\n });\n\n // first the highlighter,\n const hlPortal = new ComponentPortal(SiTourHighlightComponent, undefined, componentInjector);\n this.overlayRefHighlight = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n this.overlayRefHighlight.attach(hlPortal);\n\n // then the dialog\n this.portal = new ComponentPortal(SiTourComponent, undefined, componentInjector);\n this.overlayRef = this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n direction: isRTL() ? 'rtl' : 'ltr'\n });\n this.overlayRef.attach(this.portal);\n // needs a subscriber, otherwise events will be ignored and the .backdrop CSS hack doesn't help\n this.overlayRef.outsidePointerEvents().subscribe();\n }\n\n private handleResizeSubscription(anchorElement: ElementRef<HTMLElement> | undefined): void {\n this.resizeSub?.unsubscribe();\n this.resizeSub = undefined;\n if (anchorElement) {\n this.resizeSub = merge(\n // this catches edge cases e.g. with side-panel\n this.resizeObserver.observe(this.document.body, 20, false),\n this.resizeObserver.observe(anchorElement.nativeElement, 20, false)\n )\n .pipe(\n throttleTime(20, undefined, { trailing: true }),\n map((): undefined => undefined),\n tap(() => {\n if (!this.isElementVisible(anchorElement?.nativeElement)) {\n // repositions to center if anchor disappears\n this.centerOverlay();\n } else {\n this.overlayRef?.updatePosition();\n }\n })\n )\n .subscribe(this.tourToken.sizeChange);\n }\n }\n\n private isElementVisible(element: HTMLElement | undefined): boolean {\n const rect = element?.getBoundingClientRect();\n return !!rect?.width && !!rect.height;\n }\n\n private getElement(\n selectorOrElement?: string | HTMLElement | (() => string | HTMLElement)\n ): HTMLElement | undefined {\n if (typeof selectorOrElement === 'function') {\n selectorOrElement = selectorOrElement();\n }\n if (!selectorOrElement) {\n return undefined;\n }\n if (typeof selectorOrElement === 'string') {\n const element = this.document.querySelector<HTMLElement>(selectorOrElement);\n return element ?? undefined;\n }\n return selectorOrElement;\n }\n\n private async hide(): Promise<void> {\n await this.handleBeforeNextPromise();\n this.currentStepIndex = -1;\n this.currentStep = undefined;\n this.active = false;\n this.resizeSub?.unsubscribe();\n this.positionChangeSub?.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = undefined;\n this.overlayRefHighlight?.dispose();\n this.overlayRefHighlight = undefined;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-tour.service';\nexport * from './si-tour.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-tour.mjs","sources":["../../../../projects/element-ng/tour/si-tour-token.model.ts","../../../../projects/element-ng/tour/si-tour-highlight.component.ts","../../../../projects/element-ng/tour/si-tour-highlight.component.html","../../../../projects/element-ng/tour/si-tour.component.ts","../../../../projects/element-ng/tour/si-tour.component.html","../../../../projects/element-ng/tour/si-tour.service.ts","../../../../projects/element-ng/tour/index.ts","../../../../projects/element-ng/tour/siemens-element-ng-tour.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { ElementRef, InjectionToken, WritableSignal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { TourStep } from './si-tour.model';\n\nexport interface TourStepInternal {\n step: TourStep;\n stepNumber: number;\n totalSteps: number;\n anchor?: ElementRef<HTMLElement>;\n}\n\nexport type TourAction = 'next' | 'back' | 'cancel' | 'complete';\n\nexport interface PositionChange {\n change: ConnectedOverlayPositionChange;\n anchor: ElementRef;\n}\nexport interface TourToken {\n currentStep: Subject<TourStepInternal>;\n blocked: WritableSignal<boolean>;\n positionChange: Subject<PositionChange | undefined>;\n sizeChange: Subject<void>;\n control: Subject<TourAction>;\n}\n\nexport const SI_TOUR_TOKEN = new InjectionToken<TourToken>('SI_TOUR_TOKEN');\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { SI_TOUR_TOKEN } from './si-tour-token.model';\n\n@Component({\n selector: 'si-tour-highlight',\n templateUrl: './si-tour-highlight.component.html',\n styleUrl: './si-tour-highlight.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiTourHighlightComponent {\n private tourToken = inject(SI_TOUR_TOKEN);\n private anchor?: ElementRef;\n protected readonly dim = signal({ top: 0, left: 0, width: 0, height: 0 });\n\n constructor() {\n this.tourToken.currentStep.pipe(takeUntilDestroyed()).subscribe(step => {\n this.anchor = step.anchor;\n this.updateHighlight();\n });\n this.tourToken.sizeChange.pipe(takeUntilDestroyed()).subscribe(() => this.updateHighlight());\n }\n\n private updateHighlight(): void {\n if (!this.anchor) {\n this.dim.set({ top: 0, left: 0, width: 0, height: 0 });\n return;\n }\n const rect = this.anchor.nativeElement.getBoundingClientRect();\n this.dim.set({ top: rect.top, left: rect.left, width: rect.width, height: rect.height });\n }\n}\n","@let rect = dim();\n<div\n class=\"highlighter\"\n [style.top.px]=\"rect.top\"\n [style.left.px]=\"rect.left\"\n [style.inline-size.px]=\"rect.width\"\n [style.block-size.px]=\"rect.height\"\n></div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n DOCUMENT,\n ElementRef,\n HostListener,\n inject,\n OnDestroy,\n signal,\n viewChild\n} from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport {\n calculateOverlayArrowPosition,\n isRTL,\n OverlayArrowPosition\n} from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription } from 'rxjs';\n\nimport { PositionChange, SI_TOUR_TOKEN, TourAction, TourStepInternal } from './si-tour-token.model';\n\n@Component({\n selector: 'si-tour',\n imports: [A11yModule, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-tour.component.html',\n styleUrl: './si-tour.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-step-id]': 'step()?.step?.id'\n }\n})\nexport class SiTourComponent implements OnDestroy {\n protected readonly positionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n protected readonly step = signal<TourStepInternal | undefined>(undefined);\n protected readonly show = signal(false);\n protected readonly icons = addIcons({ elementCancel });\n protected tourToken = inject(SI_TOUR_TOKEN);\n\n protected backText = t(() => $localize`:@@SI_TOUR.BACK:Back`);\n protected nextText = t(() => $localize`:@@SI_TOUR.NEXT:Next`);\n protected skipText = t(() => $localize`:@@SI_TOUR.SKIP:Skip tour`);\n protected doneText = t(() => $localize`:@@SI_TOUR.DONE:Done`);\n protected ariaLabelClose = t(() => $localize`:@@SI_TOUR.CLOSE:Close`);\n protected progressText = t(() => $localize`:@@SI_TOUR.PROGRESS: {{step}} of {{total}}`);\n\n private elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n private subscription?: Subscription;\n private prevFocus: Element | null = null;\n\n private readonly focusTrap = viewChild<CdkTrapFocus>('focusTrap');\n private document = inject(DOCUMENT);\n\n constructor() {\n this.subscription = this.tourToken.currentStep.subscribe(step => {\n this.step.set(step);\n this.show.set(false);\n // prevents flickering during overlay reposition and arrow direction change\n setTimeout(() => {\n this.show.set(true);\n this.ensureFocused();\n }, 50);\n });\n this.subscription.add(\n this.tourToken.positionChange.subscribe(update => this.updatePosition(update))\n );\n }\n\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n }\n\n protected action(action: TourAction): void {\n this.prevFocus = this.document.activeElement;\n this.tourToken.control.next(action);\n }\n\n protected ensureFocused(): void {\n // ensure focus is inside si-tour as other element might steal it, e.g. opening a menu\n const element = this.elementRef.nativeElement;\n if (!this.document.activeElement || !element.contains(this.document.activeElement)) {\n if (element.contains(this.prevFocus)) {\n (this.prevFocus as HTMLElement)?.focus?.();\n } else {\n this.focusTrap()?.focusTrap.focusInitialElement();\n }\n }\n }\n\n @HostListener('window:keydown', ['$event'])\n protected keyListener(event: KeyboardEvent): void {\n switch (event.key) {\n case 'Escape':\n this.action('cancel');\n break;\n case 'ArrowLeft':\n this.action(isRTL() ? 'next' : 'back');\n break;\n case 'ArrowRight':\n this.action(isRTL() ? 'back' : 'next');\n break;\n }\n }\n\n private updatePosition(update: PositionChange | undefined): void {\n if (!update) {\n this.positionClass.set('');\n this.arrowPos.set(undefined);\n return;\n }\n\n const connPair = update.change.connectionPair;\n this.positionClass.set(`popover-${connPair.overlayX}-${connPair.overlayY}`);\n setTimeout(() =>\n this.arrowPos.set(\n calculateOverlayArrowPosition(update.change, this.elementRef, update.anchor)\n )\n );\n }\n}\n","<div class=\"backdrop\"></div>\n<div\n #focusTrap=\"cdkTrapFocus\"\n role=\"dialog\"\n aria-labelledby=\"__si-tour-step-title\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [class]=\"['tour-content', 'popover', 'position-relative', positionClass()]\"\n [class.show]=\"show()\"\n>\n @if (arrowPos()) {\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n }\n @if (step()) {\n @let tourStep = step()!;\n <div class=\"d-flex\">\n <div class=\"p-6 flex-fill\">\n <div class=\"pb-2 si-body text-secondary\">\n {{ progressText | translate: { step: tourStep.stepNumber, total: tourStep.totalSteps } }}\n </div>\n <div id=\"__si-tour-step-title\" class=\"si-h4 mb-0\">\n {{ tourStep.step.title | translate }}\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost mt-4 me-5\"\n [attr.aria-label]=\"ariaLabelClose | translate\"\n (click)=\"action('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n <div class=\"step-text si-body px-6 pb-8\">\n {{ tourStep.step.text | translate }}\n </div>\n <div class=\"d-flex justify-content-end align-items-center p-6 gap-6\">\n @if (tourStep.stepNumber !== 1) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action('back')\"\n >\n {{ backText | translate }}\n </button>\n } @else {\n <button type=\"button\" class=\"btn btn-tertiary\" (click)=\"action('cancel')\">\n {{ skipText | translate }}\n </button>\n }\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n cdkFocusInitial\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action(tourStep.stepNumber !== tourStep.totalSteps ? 'next' : 'complete')\"\n >\n @if (tourStep.stepNumber !== tourStep.totalSteps) {\n {{ nextText | translate }}\n } @else {\n {{ doneText | translate }}\n }\n </button>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayOutsideClickDispatcher,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, ElementRef, inject, Injectable, Injector, signal } from '@angular/core';\nimport { isRTL } from '@siemens/element-ng/common';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\nimport { map, merge, Subject, Subscription, tap, throttleTime } from 'rxjs';\n\nimport { SiTourHighlightComponent } from './si-tour-highlight.component';\nimport { SI_TOUR_TOKEN, TourAction, TourToken } from './si-tour-token.model';\nimport { SiTourComponent } from './si-tour.component';\nimport { TourOptions, TourStep } from './si-tour.model';\n\n@Injectable({ providedIn: 'root' })\nexport class SiTourService {\n private injector = inject(Injector);\n private resizeObserver = inject(ResizeObserverService);\n private overlay = inject(Overlay);\n private outsideClickDispatcher = inject(OverlayOutsideClickDispatcher);\n private overlayRefHighlight?: OverlayRef;\n private overlayRef?: OverlayRef;\n private portal?: ComponentPortal<SiTourComponent>;\n\n private options: TourOptions = {};\n private steps: TourStep[] = [];\n private currentStepIndex = -1;\n private currentStep?: TourStep;\n private active = false;\n private tourToken: TourToken = {\n currentStep: new Subject(),\n blocked: signal(false),\n positionChange: new Subject(),\n sizeChange: new Subject(),\n control: new Subject()\n };\n private positionChangeSub?: Subscription;\n private resizeSub?: Subscription;\n private document = inject(DOCUMENT);\n\n constructor() {\n this.tourToken.control.subscribe(action => this.controlAction(action));\n }\n\n /**\n * Event triggered after the tour is completed.\n */\n readonly onTourComplete = new Subject<void>();\n\n /**\n * Event triggered after the tour is cancelled, either through skip button or closing the tour dialog.\n */\n readonly onTourCancel = new Subject<void>();\n\n /**\n * Sets options for the whole tour.\n */\n setOptions(options: TourOptions): void {\n Object.assign(this.options, options);\n }\n\n /**\n * Add steps to the tour\n */\n addSteps(steps: TourStep[]): void {\n this.steps.push(...steps);\n }\n\n /**\n * Clear all steps\n */\n clearSteps(): void {\n this.steps = [];\n this.currentStepIndex = -1;\n }\n\n /**\n * Start the tour\n */\n start(): void {\n this.makeStep(0);\n }\n\n /**\n * Finish the tour\n */\n complete(): void {\n this.controlAction('complete');\n }\n\n private async controlAction(action: TourAction): Promise<void> {\n switch (action) {\n case 'next':\n this.makeStep(this.currentStepIndex + 1);\n break;\n case 'back':\n this.makeStep(this.currentStepIndex - 1);\n break;\n case 'cancel':\n this.hide();\n this.onTourCancel.next();\n break;\n case 'complete':\n this.hide();\n this.onTourComplete.next();\n break;\n }\n }\n\n private async makeStep(index: number): Promise<void> {\n if (index < 0 || index >= this.steps.length) {\n return;\n }\n\n this.active = true;\n\n await this.handleBeforeNextPromise();\n\n this.currentStepIndex = index;\n const step = this.steps[this.currentStepIndex];\n this.currentStep = Object.assign({}, this.options?.defaultStepOptions ?? {}, step);\n\n if (this.currentStep.beforeShowPromise) {\n this.tourToken.blocked.set(true);\n await this.currentStep.beforeShowPromise();\n }\n\n if (!this.active) {\n // tour could have been cancelled before beforeShowPromise completes\n return;\n }\n\n const anchorElement = this.getElement(step.attachTo?.element);\n this.scrollIntoView(this.currentStep, anchorElement);\n\n const anchorElementRef = this.isElementVisible(anchorElement)\n ? new ElementRef(anchorElement!)\n : undefined;\n\n if (anchorElementRef) {\n this.attachOverlay(anchorElementRef);\n } else {\n this.centerOverlay();\n }\n this.handleResizeSubscription(anchorElementRef);\n\n this.tourToken.currentStep.next({\n step,\n stepNumber: this.currentStepIndex + 1,\n totalSteps: this.steps.length,\n anchor: anchorElementRef\n });\n this.tourToken.blocked.set(false);\n }\n\n private scrollIntoView(step: TourStep, element?: HTMLElement): void {\n if (!element || !(step.scrollTo || step.scrollToHandler)) {\n return;\n }\n if (step.scrollToHandler) {\n step.scrollToHandler(element);\n } else {\n element?.scrollIntoView(step.scrollTo);\n }\n }\n\n private async handleBeforeNextPromise(): Promise<void> {\n if (!this.active) {\n return;\n }\n if (this.currentStep?.beforeNextPromise) {\n this.tourToken.blocked.set(true);\n await this.currentStep.beforeNextPromise();\n this.tourToken.blocked.set(false);\n }\n }\n\n private centerOverlay(): void {\n this.positionChangeSub?.unsubscribe();\n this.createOrUpdateOverlays();\n\n const positionStrategy = this.overlayRef!.getConfig().positionStrategy;\n if (!positionStrategy || positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n this.overlayRef!.updatePositionStrategy(\n this.overlay.position().global().centerHorizontally().centerVertically()\n );\n }\n this.tourToken.positionChange.next(undefined);\n }\n\n private attachOverlay(anchor: ElementRef<HTMLElement>): void {\n this.createOrUpdateOverlays();\n\n const positionStrategy = this.overlayRef!.getConfig().positionStrategy;\n if (positionStrategy && positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n positionStrategy.setOrigin(anchor);\n } else {\n this.createFlexiblePositionStrategy(anchor);\n }\n }\n\n private createFlexiblePositionStrategy(anchor: ElementRef<HTMLElement>): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(anchor)\n .withGrowAfterOpen(true)\n .withPositions([\n // On top\n { originX: 'center', overlayX: 'center', originY: 'top', overlayY: 'bottom' },\n { originX: 'start', overlayX: 'start', originY: 'top', overlayY: 'bottom' },\n { originX: 'end', overlayX: 'end', originY: 'top', overlayY: 'bottom' },\n // On bottom\n { originX: 'center', overlayX: 'center', originY: 'bottom', overlayY: 'top' },\n { originX: 'start', overlayX: 'start', originY: 'bottom', overlayY: 'top' },\n { originX: 'end', overlayX: 'end', originY: 'bottom', overlayY: 'top' },\n // Left and right\n { originX: 'start', overlayX: 'end', originY: 'center', overlayY: 'center' },\n { originX: 'end', overlayX: 'start', originY: 'center', overlayY: 'center' }\n ]);\n this.overlayRef!.updatePositionStrategy(positionStrategy);\n this.positionChangeSub = positionStrategy.positionChanges\n .pipe(map(change => ({ change, anchor })))\n // We only want to forward the next channel, as the positionChanges completes when setting a new origin.\n .subscribe(value => this.tourToken.positionChange.next(value));\n }\n\n private createOrUpdateOverlays(): void {\n if (this.overlayRef) {\n // This moves the dispatcher to the top, allowing it to catch other open overlays.\n // Much lighter than to detach and re-attach the portal, not re-creating the si-tour\n // component for each step\n this.outsideClickDispatcher.remove(this.overlayRef);\n this.outsideClickDispatcher.add(this.overlayRef);\n return;\n }\n\n const componentInjector = Injector.create({\n providers: [{ provide: SI_TOUR_TOKEN, useValue: this.tourToken }],\n parent: this.injector\n });\n\n // first the highlighter,\n const hlPortal = new ComponentPortal(SiTourHighlightComponent, undefined, componentInjector);\n this.overlayRefHighlight = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n this.overlayRefHighlight.attach(hlPortal);\n\n // then the dialog\n this.portal = new ComponentPortal(SiTourComponent, undefined, componentInjector);\n this.overlayRef = this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n direction: isRTL() ? 'rtl' : 'ltr'\n });\n this.overlayRef.attach(this.portal);\n // needs a subscriber, otherwise events will be ignored and the .backdrop CSS hack doesn't help\n this.overlayRef.outsidePointerEvents().subscribe();\n }\n\n private handleResizeSubscription(anchorElement: ElementRef<HTMLElement> | undefined): void {\n this.resizeSub?.unsubscribe();\n this.resizeSub = undefined;\n if (anchorElement) {\n this.resizeSub = merge(\n // this catches edge cases e.g. with side-panel\n this.resizeObserver.observe(this.document.body, 20, false),\n this.resizeObserver.observe(anchorElement.nativeElement, 20, false)\n )\n .pipe(\n throttleTime(20, undefined, { trailing: true }),\n map((): undefined => undefined),\n tap(() => {\n if (!this.isElementVisible(anchorElement?.nativeElement)) {\n // repositions to center if anchor disappears\n this.centerOverlay();\n } else {\n this.overlayRef?.updatePosition();\n }\n })\n )\n .subscribe(this.tourToken.sizeChange);\n }\n }\n\n private isElementVisible(element: HTMLElement | undefined): boolean {\n const rect = element?.getBoundingClientRect();\n return !!rect?.width && !!rect.height;\n }\n\n private getElement(\n selectorOrElement?: string | HTMLElement | (() => string | HTMLElement)\n ): HTMLElement | undefined {\n if (typeof selectorOrElement === 'function') {\n selectorOrElement = selectorOrElement();\n }\n if (!selectorOrElement) {\n return undefined;\n }\n if (typeof selectorOrElement === 'string') {\n const element = this.document.querySelector<HTMLElement>(selectorOrElement);\n return element ?? undefined;\n }\n return selectorOrElement;\n }\n\n private async hide(): Promise<void> {\n await this.handleBeforeNextPromise();\n this.currentStepIndex = -1;\n this.currentStep = undefined;\n this.active = false;\n this.resizeSub?.unsubscribe();\n this.positionChangeSub?.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = undefined;\n this.overlayRefHighlight?.dispose();\n this.overlayRefHighlight = undefined;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-tour.service';\nexport * from './si-tour.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ const provideSiTranslatableOverrides = values => ({
10
10
  });
11
11
 
12
12
  /**
13
- * Copyright (c) Siemens 2016 - 2025
13
+ * Copyright (c) Siemens 2016 - 2026
14
14
  * SPDX-License-Identifier: MIT
15
15
  */
16
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-translate.mjs","sources":["../../../../projects/element-ng/translate/si-translatable-keys.interface.ts","../../../../projects/element-ng/translate/si-translatable-overrides.provider.ts","../../../../projects/element-ng/translate/index.ts","../../../../projects/element-ng/translate/siemens-element-ng-translate.ts"],"sourcesContent":["/* eslint-disable */\n\n// Auto-generated file. Run 'npx update-translatable-keys' to update.\n\nexport interface SiTranslatableKeys {\n 'SI_AI_MESSAGE.SECONDARY_ACTIONS'?: string;\n 'SI_ALERT_DIALOG.OK'?: string;\n 'SI_APPLICATION_HEADER.LAUNCHPAD'?: string;\n 'SI_APPLICATION_HEADER.TOGGLE_ACTIONS'?: string;\n 'SI_APPLICATION_HEADER.TOGGLE_NAVIGATION'?: string;\n 'SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT'?: string;\n 'SI_BREADCRUMB'?: string;\n 'SI_CHANGE_PASSWORD.BACK'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE_FACTORY_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.CONFIRM_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.NEW_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.PASSWORD_POLICY'?: string;\n 'SI_CHAT_INPUT.ATTACH_FILE'?: string;\n 'SI_CHAT_INPUT.INTERRUPT'?: string;\n 'SI_CHAT_INPUT.LABEL'?: string;\n 'SI_CHAT_INPUT.PLACEHOLDER'?: string;\n 'SI_CHAT_INPUT.SECONDARY_ACTIONS'?: string;\n 'SI_CHAT_INPUT.SEND'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.CANCEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.HIDDEN'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.LIST_ARIA_LABEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.SUBMIT'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.VISIBLE'?: string;\n 'SI_CONFIRMATION_DIALOG.NO'?: string;\n 'SI_CONFIRMATION_DIALOG.YES'?: string;\n 'SI_CONTENT_ACTION_BAR.TOGGLE'?: string;\n 'SI_DASHBOARD.EXPAND'?: string;\n 'SI_DASHBOARD.EXPAND_WIDGET_ACTIONS'?: string;\n 'SI_DASHBOARD.RESTORE'?: string;\n 'SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON'?: string;\n 'SI_DATEPICKER.CALENDAR_WEEK_LABEL'?: string;\n 'SI_DATEPICKER.DISABLED_TIME_TEXT'?: string;\n 'SI_DATEPICKER.ENABLED_TIME_TEXT'?: string;\n 'SI_DATEPICKER.END_DATE_PLACEHOLDER'?: string;\n 'SI_DATEPICKER.END_TIME_LABEL'?: string;\n 'SI_DATEPICKER.HOURS'?: string;\n 'SI_DATEPICKER.MILLISECONDS'?: string;\n 'SI_DATEPICKER.MINUTES'?: string;\n 'SI_DATEPICKER.NEXT'?: string;\n 'SI_DATEPICKER.PERIOD'?: string;\n 'SI_DATEPICKER.PREVIOUS'?: string;\n 'SI_DATEPICKER.SECONDS'?: string;\n 'SI_DATEPICKER.START_DATE_PLACEHOLDER'?: string;\n 'SI_DATEPICKER.START_TIME_LABEL'?: string;\n 'SI_DATEPICKER.TODAY'?: string;\n 'SI_DATE_RANGE_FILTER.ADVANCED'?: string;\n 'SI_DATE_RANGE_FILTER.AFTER'?: string;\n 'SI_DATE_RANGE_FILTER.APPLY'?: string;\n 'SI_DATE_RANGE_FILTER.BEFORE'?: string;\n 'SI_DATE_RANGE_FILTER.DATE'?: string;\n 'SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER'?: string;\n 'SI_DATE_RANGE_FILTER.DAYS'?: string;\n 'SI_DATE_RANGE_FILTER.FROM'?: string;\n 'SI_DATE_RANGE_FILTER.HOURS'?: string;\n 'SI_DATE_RANGE_FILTER.MINUTES'?: string;\n 'SI_DATE_RANGE_FILTER.MONTHS'?: string;\n 'SI_DATE_RANGE_FILTER.NOW'?: string;\n 'SI_DATE_RANGE_FILTER.PRESETS'?: string;\n 'SI_DATE_RANGE_FILTER.PREVIEW'?: string;\n 'SI_DATE_RANGE_FILTER.RANGE'?: string;\n 'SI_DATE_RANGE_FILTER.REF_POINT'?: string;\n 'SI_DATE_RANGE_FILTER.SEARCH'?: string;\n 'SI_DATE_RANGE_FILTER.TO'?: string;\n 'SI_DATE_RANGE_FILTER.TODAY'?: string;\n 'SI_DATE_RANGE_FILTER.UNIT'?: string;\n 'SI_DATE_RANGE_FILTER.VALUE'?: string;\n 'SI_DATE_RANGE_FILTER.WEEKS'?: string;\n 'SI_DATE_RANGE_FILTER.WITHIN'?: string;\n 'SI_DATE_RANGE_FILTER.YEARS'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.CANCEL_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISCARD_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.SAVE_BTN'?: string;\n 'SI_ELECTRON_TITLEBAR.BACK'?: string;\n 'SI_ELECTRON_TITLEBAR.FORWARD'?: string;\n 'SI_ELECTRON_TITLEBAR.MENU'?: string;\n 'SI_EXPLICIT_LEGAL_ACKNOWLEDGE.ACCEPT'?: string;\n 'SI_EXPLICIT_LEGAL_ACKNOWLEDGE.BACK'?: string;\n 'SI_FILE_UPLOADER.ACCEPTED_FILE_TYPES'?: string;\n 'SI_FILE_UPLOADER.CANCEL'?: string;\n 'SI_FILE_UPLOADER.CLEAR'?: string;\n 'SI_FILE_UPLOADER.DROP'?: string;\n 'SI_FILE_UPLOADER.ERROR_FILE_SIZE_EXCEEDED'?: string;\n 'SI_FILE_UPLOADER.ERROR_FILE_TYPE'?: string;\n 'SI_FILE_UPLOADER.FILE_SELECT'?: string;\n 'SI_FILE_UPLOADER.MAX_FILE_REACHED'?: string;\n 'SI_FILE_UPLOADER.MAX_SIZE'?: string;\n 'SI_FILE_UPLOADER.REMOVE'?: string;\n 'SI_FILE_UPLOADER.UPLOAD'?: string;\n 'SI_FILE_UPLOADER.UPLOADING'?: string;\n 'SI_FILE_UPLOADER.UPLOAD_COMPLETED'?: string;\n 'SI_FILE_UPLOADER.UPLOAD_FAILED'?: string;\n 'SI_FILTERED_SEARCH.CLEAR'?: string;\n 'SI_FILTERED_SEARCH.ITEM_COUNT'?: string;\n 'SI_FILTERED_SEARCH.SEARCH'?: string;\n 'SI_FILTERED_SEARCH.SEARCH_FOR_FREE_TEXT'?: string;\n 'SI_FILTERED_SEARCH.SUBMIT_BUTTON'?: string;\n 'SI_FILTER_BAR.COLLAPSED_FILTERS_DESCRIPTION'?: string;\n 'SI_FILTER_BAR.NO_FILTERS'?: string;\n 'SI_FILTER_BAR.RESET_FILTERS'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT_END'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT_START'?: string;\n 'SI_FORM_CONTAINER.ERROR.EMAIL'?: string;\n 'SI_FORM_CONTAINER.ERROR.END_BEFORE_START'?: string;\n 'SI_FORM_CONTAINER.ERROR.HOURS'?: string;\n 'SI_FORM_CONTAINER.ERROR.INVALID_PHONE'?: string;\n 'SI_FORM_CONTAINER.ERROR.IPV4'?: string;\n 'SI_FORM_CONTAINER.ERROR.IPV6'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_LENGTH'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_TIME'?: string;\n 'SI_FORM_CONTAINER.ERROR.MILLISECONDS'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN'?: string;\n 'SI_FORM_CONTAINER.ERROR.MINUTES'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_LENGTH'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_TIME'?: string;\n 'SI_FORM_CONTAINER.ERROR.NUMBER_FORMAT'?: string;\n 'SI_FORM_CONTAINER.ERROR.PATTERN'?: string;\n 'SI_FORM_CONTAINER.ERROR.PHONE_COUNTRY'?: string;\n 'SI_FORM_CONTAINER.ERROR.RANGE_AFTER_MAX_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.RANGE_BEFORE_MIN_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.REQUIRED'?: string;\n 'SI_FORM_CONTAINER.ERROR.REQUIRED_TRUE'?: string;\n 'SI_FORM_CONTAINER.ERROR.SECONDS'?: string;\n 'SI_ICON_STATUS.CAUTION'?: string;\n 'SI_ICON_STATUS.CRITICAL'?: string;\n 'SI_ICON_STATUS.DANGER'?: string;\n 'SI_ICON_STATUS.INFO'?: string;\n 'SI_ICON_STATUS.PENDING'?: string;\n 'SI_ICON_STATUS.PROGRESS'?: string;\n 'SI_ICON_STATUS.SUCCESS'?: string;\n 'SI_ICON_STATUS.UNKNOWN'?: string;\n 'SI_ICON_STATUS.WARNING'?: string;\n 'SI_LANGUAGE_SWITCHER.LABEL'?: string;\n 'SI_LAUNCHPAD.CLOSE'?: string;\n 'SI_LAUNCHPAD.DEFAULT_CATEGORY_TITLE'?: string;\n 'SI_LAUNCHPAD.EXTERNAL_LINK'?: string;\n 'SI_LAUNCHPAD.FAVORITE_APPS'?: string;\n 'SI_LAUNCHPAD.SHOW_LESS'?: string;\n 'SI_LAUNCHPAD.SHOW_MORE'?: string;\n 'SI_LAUNCHPAD.SUB_TITLE'?: string;\n 'SI_LAUNCHPAD.TITLE'?: string;\n 'SI_LIST_DETAILS.BACK'?: string;\n 'SI_LIST_WIDGET.SEARCH_PLACEHOLDER'?: string;\n 'SI_LIST_WIDGET.SORT_ASCENDING'?: string;\n 'SI_LIST_WIDGET.SORT_DESCENDING'?: string;\n 'SI_LOADING_SPINNER.LABEL'?: string;\n 'SI_LOGIN_BASIC.BACK'?: string;\n 'SI_LOGIN_BASIC.LOGIN'?: string;\n 'SI_LOGIN_BASIC.NEXT'?: string;\n 'SI_LOGIN_BASIC.PASSWORD'?: string;\n 'SI_LOGIN_BASIC.USERNAME'?: string;\n 'SI_LOGIN_SINGLE-SIGN-ON.LOGIN_SIGN_UP'?: string;\n 'SI_MAIN_DETAIL_CONTAINER.BACK'?: string;\n 'SI_NAVBAR.OPEN_LAUNCHPAD'?: string;\n 'SI_NAVBAR.TOGGLE_NAVIGATION'?: string;\n 'SI_NAVBAR_VERTICAL.COLLAPSE'?: string;\n 'SI_NAVBAR_VERTICAL.EXPAND'?: string;\n 'SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER'?: string;\n 'SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL'?: string;\n 'SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL'?: string;\n 'SI_PAGINATION.BACK'?: string;\n 'SI_PAGINATION.FORWARD'?: string;\n 'SI_PAGINATION.NAV_LABEL'?: string;\n 'SI_PASSWORD_TOGGLE.HIDE'?: string;\n 'SI_PASSWORD_TOGGLE.SHOW'?: string;\n 'SI_PHONE_NUMBER_INPUT.PHONE_NUMBER_INPUT_LABEL'?: string;\n 'SI_PHONE_NUMBER_INPUT.SEARCH_NO-RESULTS_FOUND'?: string;\n 'SI_PHONE_NUMBER_INPUT.SEARCH_PLACEHOLDER'?: string;\n 'SI_PHONE_NUMBER_INPUT.SELECT_COUNTRY'?: string;\n 'SI_PHOTO_UPLOAD.APPLY_PHOTO'?: string;\n 'SI_PHOTO_UPLOAD.CANCEL'?: string;\n 'SI_PHOTO_UPLOAD.CHANGE_PHOTO'?: string;\n 'SI_PHOTO_UPLOAD.CROPPER_FRAME_LABEL'?: string;\n 'SI_PHOTO_UPLOAD.ERROR_FILE_SIZE_EXCEEDED'?: string;\n 'SI_PHOTO_UPLOAD.ERROR_FILE_TYPE'?: string;\n 'SI_PHOTO_UPLOAD.MODAL_TITLE'?: string;\n 'SI_PHOTO_UPLOAD.REMOVE'?: string;\n 'SI_PHOTO_UPLOAD.UPLOAD_PHOTO'?: string;\n 'SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL'?: string;\n 'SI_PROGRESSBAR.LABEL'?: string;\n 'SI_SEARCH_BAR.CLEAR_BUTTON'?: string;\n 'SI_SELECT.NO-RESULTS-FOUND'?: string;\n 'SI_SELECT.SEARCH-PLACEHOLDER'?: string;\n 'SI_SIDE_PANEL.CLOSE'?: string;\n 'SI_SIDE_PANEL.ENTER_FULLSCREEN'?: string;\n 'SI_SIDE_PANEL.EXIT_FULLSCREEN'?: string;\n 'SI_SIDE_PANEL.SEARCH_PLACEHOLDER'?: string;\n 'SI_SIDE_PANEL.TOGGLE'?: string;\n 'SI_SKIP_LINKS.JUMP_TO'?: string;\n 'SI_SLIDER.DECREMENT'?: string;\n 'SI_SLIDER.INCREMENT'?: string;\n 'SI_SLIDER.LABEL'?: string;\n 'SI_SORT_BAR.TITLE'?: string;\n 'SI_STATUS_BAR.ALL_OK'?: string;\n 'SI_STATUS_BAR.COLLAPSE'?: string;\n 'SI_STATUS_BAR.EXPAND'?: string;\n 'SI_STATUS_BAR.MUTE'?: string;\n 'SI_THRESHOLD.ADD'?: string;\n 'SI_THRESHOLD.DELETE'?: string;\n 'SI_THRESHOLD.INPUT_LABEL'?: string;\n 'SI_THRESHOLD.STATUS'?: string;\n 'SI_TOAST.CLOSE'?: string;\n 'SI_TOUR.BACK'?: string;\n 'SI_TOUR.CLOSE'?: string;\n 'SI_TOUR.DONE'?: string;\n 'SI_TOUR.NEXT'?: string;\n 'SI_TOUR.PROGRESS'?: string;\n 'SI_TOUR.SKIP'?: string;\n 'SI_TREE_VIEW.COLLAPSE_ALL'?: string;\n 'SI_TREE_VIEW.EXPAND_ALL'?: string;\n 'SI_TYPEAHEAD.AUTOCOMPLETE_LIST_LABEL'?: string;\n 'SI_USER_MESSAGE.SECONDARY_ACTIONS'?: string;\n 'SI_WIZARD.BACK'?: string;\n 'SI_WIZARD.CANCEL'?: string;\n 'SI_WIZARD.COMPLETED'?: string;\n 'SI_WIZARD.NEXT'?: string;\n 'SI_WIZARD.SAVE'?: string;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Provider } from '@angular/core';\nimport { SI_TRANSLATABLE_VALUES } from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslatableKeys } from './si-translatable-keys.interface';\n\nexport const provideSiTranslatableOverrides: (values: SiTranslatableKeys) => Provider = values => ({\n useValue: values,\n multi: true,\n provide: SI_TRANSLATABLE_VALUES\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-translatable-keys.interface';\nexport * from './si-translatable-overrides.provider';\n// @deprecated use @simpl-labs/element-translate-ng/translate directly\nexport * from '@siemens/element-translate-ng/translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;MCSa,8BAA8B,GAA6C,MAAM,KAAK;AACjG,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,OAAO,EAAE;AACV,CAAA;;ACbD;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-translate.mjs","sources":["../../../../projects/element-ng/translate/si-translatable-keys.interface.ts","../../../../projects/element-ng/translate/si-translatable-overrides.provider.ts","../../../../projects/element-ng/translate/index.ts","../../../../projects/element-ng/translate/siemens-element-ng-translate.ts"],"sourcesContent":["/* eslint-disable */\n\n// Auto-generated file. Run 'npx update-translatable-keys' to update.\n\nexport interface SiTranslatableKeys {\n 'SI_AI_MESSAGE.SECONDARY_ACTIONS'?: string;\n 'SI_ALERT_DIALOG.OK'?: string;\n 'SI_APPLICATION_HEADER.LAUNCHPAD'?: string;\n 'SI_APPLICATION_HEADER.TOGGLE_ACTIONS'?: string;\n 'SI_APPLICATION_HEADER.TOGGLE_NAVIGATION'?: string;\n 'SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT'?: string;\n 'SI_BREADCRUMB'?: string;\n 'SI_CHANGE_PASSWORD.BACK'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE_FACTORY_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.CONFIRM_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.NEW_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.PASSWORD_POLICY'?: string;\n 'SI_CHAT_INPUT.ATTACH_FILE'?: string;\n 'SI_CHAT_INPUT.INTERRUPT'?: string;\n 'SI_CHAT_INPUT.LABEL'?: string;\n 'SI_CHAT_INPUT.PLACEHOLDER'?: string;\n 'SI_CHAT_INPUT.SECONDARY_ACTIONS'?: string;\n 'SI_CHAT_INPUT.SEND'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.CANCEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.HIDDEN'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.LIST_ARIA_LABEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.SUBMIT'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.VISIBLE'?: string;\n 'SI_CONFIRMATION_DIALOG.NO'?: string;\n 'SI_CONFIRMATION_DIALOG.YES'?: string;\n 'SI_CONTENT_ACTION_BAR.TOGGLE'?: string;\n 'SI_DASHBOARD.EXPAND'?: string;\n 'SI_DASHBOARD.EXPAND_WIDGET_ACTIONS'?: string;\n 'SI_DASHBOARD.RESTORE'?: string;\n 'SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON'?: string;\n 'SI_DATEPICKER.CALENDAR_WEEK_LABEL'?: string;\n 'SI_DATEPICKER.DISABLED_TIME_TEXT'?: string;\n 'SI_DATEPICKER.ENABLED_TIME_TEXT'?: string;\n 'SI_DATEPICKER.END_DATE_PLACEHOLDER'?: string;\n 'SI_DATEPICKER.END_TIME_LABEL'?: string;\n 'SI_DATEPICKER.HOURS'?: string;\n 'SI_DATEPICKER.MILLISECONDS'?: string;\n 'SI_DATEPICKER.MINUTES'?: string;\n 'SI_DATEPICKER.NEXT'?: string;\n 'SI_DATEPICKER.PERIOD'?: string;\n 'SI_DATEPICKER.PREVIOUS'?: string;\n 'SI_DATEPICKER.SECONDS'?: string;\n 'SI_DATEPICKER.START_DATE_PLACEHOLDER'?: string;\n 'SI_DATEPICKER.START_TIME_LABEL'?: string;\n 'SI_DATEPICKER.TODAY'?: string;\n 'SI_DATE_RANGE_FILTER.ADVANCED'?: string;\n 'SI_DATE_RANGE_FILTER.AFTER'?: string;\n 'SI_DATE_RANGE_FILTER.APPLY'?: string;\n 'SI_DATE_RANGE_FILTER.BEFORE'?: string;\n 'SI_DATE_RANGE_FILTER.DATE'?: string;\n 'SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER'?: string;\n 'SI_DATE_RANGE_FILTER.DAYS'?: string;\n 'SI_DATE_RANGE_FILTER.FROM'?: string;\n 'SI_DATE_RANGE_FILTER.HOURS'?: string;\n 'SI_DATE_RANGE_FILTER.MINUTES'?: string;\n 'SI_DATE_RANGE_FILTER.MONTHS'?: string;\n 'SI_DATE_RANGE_FILTER.NOW'?: string;\n 'SI_DATE_RANGE_FILTER.PRESETS'?: string;\n 'SI_DATE_RANGE_FILTER.PREVIEW'?: string;\n 'SI_DATE_RANGE_FILTER.RANGE'?: string;\n 'SI_DATE_RANGE_FILTER.REF_POINT'?: string;\n 'SI_DATE_RANGE_FILTER.SEARCH'?: string;\n 'SI_DATE_RANGE_FILTER.TO'?: string;\n 'SI_DATE_RANGE_FILTER.TODAY'?: string;\n 'SI_DATE_RANGE_FILTER.UNIT'?: string;\n 'SI_DATE_RANGE_FILTER.VALUE'?: string;\n 'SI_DATE_RANGE_FILTER.WEEKS'?: string;\n 'SI_DATE_RANGE_FILTER.WITHIN'?: string;\n 'SI_DATE_RANGE_FILTER.YEARS'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.CANCEL_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISCARD_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.SAVE_BTN'?: string;\n 'SI_ELECTRON_TITLEBAR.BACK'?: string;\n 'SI_ELECTRON_TITLEBAR.FORWARD'?: string;\n 'SI_ELECTRON_TITLEBAR.MENU'?: string;\n 'SI_EXPLICIT_LEGAL_ACKNOWLEDGE.ACCEPT'?: string;\n 'SI_EXPLICIT_LEGAL_ACKNOWLEDGE.BACK'?: string;\n 'SI_FILE_UPLOADER.ACCEPTED_FILE_TYPES'?: string;\n 'SI_FILE_UPLOADER.CANCEL'?: string;\n 'SI_FILE_UPLOADER.CLEAR'?: string;\n 'SI_FILE_UPLOADER.DROP'?: string;\n 'SI_FILE_UPLOADER.ERROR_FILE_SIZE_EXCEEDED'?: string;\n 'SI_FILE_UPLOADER.ERROR_FILE_TYPE'?: string;\n 'SI_FILE_UPLOADER.FILE_SELECT'?: string;\n 'SI_FILE_UPLOADER.MAX_FILE_REACHED'?: string;\n 'SI_FILE_UPLOADER.MAX_SIZE'?: string;\n 'SI_FILE_UPLOADER.REMOVE'?: string;\n 'SI_FILE_UPLOADER.UPLOAD'?: string;\n 'SI_FILE_UPLOADER.UPLOADING'?: string;\n 'SI_FILE_UPLOADER.UPLOAD_COMPLETED'?: string;\n 'SI_FILE_UPLOADER.UPLOAD_FAILED'?: string;\n 'SI_FILTERED_SEARCH.CLEAR'?: string;\n 'SI_FILTERED_SEARCH.ITEM_COUNT'?: string;\n 'SI_FILTERED_SEARCH.SEARCH'?: string;\n 'SI_FILTERED_SEARCH.SEARCH_FOR_FREE_TEXT'?: string;\n 'SI_FILTERED_SEARCH.SUBMIT_BUTTON'?: string;\n 'SI_FILTER_BAR.COLLAPSED_FILTERS_DESCRIPTION'?: string;\n 'SI_FILTER_BAR.NO_FILTERS'?: string;\n 'SI_FILTER_BAR.RESET_FILTERS'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT_END'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT_START'?: string;\n 'SI_FORM_CONTAINER.ERROR.EMAIL'?: string;\n 'SI_FORM_CONTAINER.ERROR.END_BEFORE_START'?: string;\n 'SI_FORM_CONTAINER.ERROR.HOURS'?: string;\n 'SI_FORM_CONTAINER.ERROR.INVALID_PHONE'?: string;\n 'SI_FORM_CONTAINER.ERROR.IPV4'?: string;\n 'SI_FORM_CONTAINER.ERROR.IPV6'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_LENGTH'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_TIME'?: string;\n 'SI_FORM_CONTAINER.ERROR.MILLISECONDS'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN'?: string;\n 'SI_FORM_CONTAINER.ERROR.MINUTES'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_LENGTH'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_TIME'?: string;\n 'SI_FORM_CONTAINER.ERROR.NUMBER_FORMAT'?: string;\n 'SI_FORM_CONTAINER.ERROR.PATTERN'?: string;\n 'SI_FORM_CONTAINER.ERROR.PHONE_COUNTRY'?: string;\n 'SI_FORM_CONTAINER.ERROR.RANGE_AFTER_MAX_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.RANGE_BEFORE_MIN_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.REQUIRED'?: string;\n 'SI_FORM_CONTAINER.ERROR.REQUIRED_TRUE'?: string;\n 'SI_FORM_CONTAINER.ERROR.SECONDS'?: string;\n 'SI_ICON_STATUS.CAUTION'?: string;\n 'SI_ICON_STATUS.CRITICAL'?: string;\n 'SI_ICON_STATUS.DANGER'?: string;\n 'SI_ICON_STATUS.INFO'?: string;\n 'SI_ICON_STATUS.PENDING'?: string;\n 'SI_ICON_STATUS.PROGRESS'?: string;\n 'SI_ICON_STATUS.SUCCESS'?: string;\n 'SI_ICON_STATUS.UNKNOWN'?: string;\n 'SI_ICON_STATUS.WARNING'?: string;\n 'SI_LANGUAGE_SWITCHER.LABEL'?: string;\n 'SI_LAUNCHPAD.CLOSE'?: string;\n 'SI_LAUNCHPAD.DEFAULT_CATEGORY_TITLE'?: string;\n 'SI_LAUNCHPAD.EXTERNAL_LINK'?: string;\n 'SI_LAUNCHPAD.FAVORITE_APPS'?: string;\n 'SI_LAUNCHPAD.SHOW_LESS'?: string;\n 'SI_LAUNCHPAD.SHOW_MORE'?: string;\n 'SI_LAUNCHPAD.SUB_TITLE'?: string;\n 'SI_LAUNCHPAD.TITLE'?: string;\n 'SI_LIST_DETAILS.BACK'?: string;\n 'SI_LIST_WIDGET.SEARCH_PLACEHOLDER'?: string;\n 'SI_LIST_WIDGET.SORT_ASCENDING'?: string;\n 'SI_LIST_WIDGET.SORT_DESCENDING'?: string;\n 'SI_LOADING_SPINNER.LABEL'?: string;\n 'SI_LOGIN_BASIC.BACK'?: string;\n 'SI_LOGIN_BASIC.LOGIN'?: string;\n 'SI_LOGIN_BASIC.NEXT'?: string;\n 'SI_LOGIN_BASIC.PASSWORD'?: string;\n 'SI_LOGIN_BASIC.USERNAME'?: string;\n 'SI_LOGIN_SINGLE-SIGN-ON.LOGIN_SIGN_UP'?: string;\n 'SI_MAIN_DETAIL_CONTAINER.BACK'?: string;\n 'SI_NAVBAR.OPEN_LAUNCHPAD'?: string;\n 'SI_NAVBAR.TOGGLE_NAVIGATION'?: string;\n 'SI_NAVBAR_VERTICAL.COLLAPSE'?: string;\n 'SI_NAVBAR_VERTICAL.EXPAND'?: string;\n 'SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER'?: string;\n 'SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL'?: string;\n 'SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL'?: string;\n 'SI_PAGINATION.BACK'?: string;\n 'SI_PAGINATION.FORWARD'?: string;\n 'SI_PAGINATION.NAV_LABEL'?: string;\n 'SI_PASSWORD_TOGGLE.HIDE'?: string;\n 'SI_PASSWORD_TOGGLE.SHOW'?: string;\n 'SI_PHONE_NUMBER_INPUT.PHONE_NUMBER_INPUT_LABEL'?: string;\n 'SI_PHONE_NUMBER_INPUT.SEARCH_NO-RESULTS_FOUND'?: string;\n 'SI_PHONE_NUMBER_INPUT.SEARCH_PLACEHOLDER'?: string;\n 'SI_PHONE_NUMBER_INPUT.SELECT_COUNTRY'?: string;\n 'SI_PHOTO_UPLOAD.APPLY_PHOTO'?: string;\n 'SI_PHOTO_UPLOAD.CANCEL'?: string;\n 'SI_PHOTO_UPLOAD.CHANGE_PHOTO'?: string;\n 'SI_PHOTO_UPLOAD.CROPPER_FRAME_LABEL'?: string;\n 'SI_PHOTO_UPLOAD.ERROR_FILE_SIZE_EXCEEDED'?: string;\n 'SI_PHOTO_UPLOAD.ERROR_FILE_TYPE'?: string;\n 'SI_PHOTO_UPLOAD.MODAL_TITLE'?: string;\n 'SI_PHOTO_UPLOAD.REMOVE'?: string;\n 'SI_PHOTO_UPLOAD.UPLOAD_PHOTO'?: string;\n 'SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL'?: string;\n 'SI_PROGRESSBAR.LABEL'?: string;\n 'SI_SEARCH_BAR.CLEAR_BUTTON'?: string;\n 'SI_SELECT.NO-RESULTS-FOUND'?: string;\n 'SI_SELECT.SEARCH-PLACEHOLDER'?: string;\n 'SI_SIDE_PANEL.CLOSE'?: string;\n 'SI_SIDE_PANEL.ENTER_FULLSCREEN'?: string;\n 'SI_SIDE_PANEL.EXIT_FULLSCREEN'?: string;\n 'SI_SIDE_PANEL.SEARCH_PLACEHOLDER'?: string;\n 'SI_SIDE_PANEL.TOGGLE'?: string;\n 'SI_SKIP_LINKS.JUMP_TO'?: string;\n 'SI_SLIDER.DECREMENT'?: string;\n 'SI_SLIDER.INCREMENT'?: string;\n 'SI_SLIDER.LABEL'?: string;\n 'SI_SORT_BAR.TITLE'?: string;\n 'SI_STATUS_BAR.ALL_OK'?: string;\n 'SI_STATUS_BAR.COLLAPSE'?: string;\n 'SI_STATUS_BAR.EXPAND'?: string;\n 'SI_STATUS_BAR.MUTE'?: string;\n 'SI_THRESHOLD.ADD'?: string;\n 'SI_THRESHOLD.DELETE'?: string;\n 'SI_THRESHOLD.INPUT_LABEL'?: string;\n 'SI_THRESHOLD.STATUS'?: string;\n 'SI_TOAST.CLOSE'?: string;\n 'SI_TOUR.BACK'?: string;\n 'SI_TOUR.CLOSE'?: string;\n 'SI_TOUR.DONE'?: string;\n 'SI_TOUR.NEXT'?: string;\n 'SI_TOUR.PROGRESS'?: string;\n 'SI_TOUR.SKIP'?: string;\n 'SI_TREE_VIEW.COLLAPSE_ALL'?: string;\n 'SI_TREE_VIEW.EXPAND_ALL'?: string;\n 'SI_TYPEAHEAD.AUTOCOMPLETE_LIST_LABEL'?: string;\n 'SI_USER_MESSAGE.SECONDARY_ACTIONS'?: string;\n 'SI_WIZARD.BACK'?: string;\n 'SI_WIZARD.CANCEL'?: string;\n 'SI_WIZARD.COMPLETED'?: string;\n 'SI_WIZARD.NEXT'?: string;\n 'SI_WIZARD.SAVE'?: string;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Provider } from '@angular/core';\nimport { SI_TRANSLATABLE_VALUES } from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslatableKeys } from './si-translatable-keys.interface';\n\nexport const provideSiTranslatableOverrides: (values: SiTranslatableKeys) => Provider = values => ({\n useValue: values,\n multi: true,\n provide: SI_TRANSLATABLE_VALUES\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-translatable-keys.interface';\nexport * from './si-translatable-overrides.provider';\n// @deprecated use @simpl-labs/element-translate-ng/translate directly\nexport * from '@siemens/element-translate-ng/translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;MCSa,8BAA8B,GAA6C,MAAM,KAAK;AACjG,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,OAAO,EAAE;AACV,CAAA;;ACbD;;;AAGG;;ACHH;;AAEG;;;;"}
@@ -15,7 +15,7 @@ import { CdkScrollableModule } from '@angular/cdk/scrolling';
15
15
  import { ResizeObserverService } from '@siemens/element-ng/resize-observer';
16
16
 
17
17
  /**
18
- * Copyright (c) Siemens 2016 - 2025
18
+ * Copyright (c) Siemens 2016 - 2026
19
19
  * SPDX-License-Identifier: MIT
20
20
  */
21
21
  /**
@@ -76,7 +76,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
76
76
  }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "siTreeViewItemTemplate", required: false }] }] } });
77
77
 
78
78
  /**
79
- * Copyright (c) Siemens 2016 - 2025
79
+ * Copyright (c) Siemens 2016 - 2026
80
80
  * SPDX-License-Identifier: MIT
81
81
  */
82
82
  const TREE_ITEM_CONTEXT = new InjectionToken('TREE_ITEM_CONTEXT');
@@ -403,7 +403,7 @@ const updateCheckStateOfParents = (treeItem) => {
403
403
  };
404
404
 
405
405
  /**
406
- * Copyright (c) Siemens 2016 - 2025
406
+ * Copyright (c) Siemens 2016 - 2026
407
407
  * SPDX-License-Identifier: MIT
408
408
  */
409
409
  /**
@@ -872,7 +872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
872
872
  }] } });
873
873
 
874
874
  /**
875
- * Copyright (c) Siemens 2016 - 2025
875
+ * Copyright (c) Siemens 2016 - 2026
876
876
  * SPDX-License-Identifier: MIT
877
877
  */
878
878
  /**
@@ -948,7 +948,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
948
948
  }] });
949
949
 
950
950
  /**
951
- * Copyright (c) Siemens 2016 - 2025
951
+ * Copyright (c) Siemens 2016 - 2026
952
952
  * SPDX-License-Identifier: MIT
953
953
  */
954
954
  /**
@@ -1037,7 +1037,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1037
1037
  }] });
1038
1038
 
1039
1039
  /**
1040
- * Copyright (c) Siemens 2016 - 2025
1040
+ * Copyright (c) Siemens 2016 - 2026
1041
1041
  * SPDX-License-Identifier: MIT
1042
1042
  */
1043
1043
  class SiTreeViewItemDirective {
@@ -1138,7 +1138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1138
1138
  }] });
1139
1139
 
1140
1140
  /**
1141
- * Copyright (c) Siemens 2016 - 2025
1141
+ * Copyright (c) Siemens 2016 - 2026
1142
1142
  * SPDX-License-Identifier: MIT
1143
1143
  */
1144
1144
  /**
@@ -1649,7 +1649,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1649
1649
  }] });
1650
1650
 
1651
1651
  /**
1652
- * Copyright (c) Siemens 2016 - 2025
1652
+ * Copyright (c) Siemens 2016 - 2026
1653
1653
  * SPDX-License-Identifier: MIT
1654
1654
  */
1655
1655
  /*
@@ -2750,7 +2750,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
2750
2750
  }, isSignal: true }] }], nextItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SiTreeViewItemComponent), { ...{ descendants: true }, isSignal: true }] }], treeViewInnerElement: [{ type: i0.ViewChild, args: ['treeViewInner', { isSignal: true }] }] } });
2751
2751
 
2752
2752
  /**
2753
- * Copyright (c) Siemens 2016 - 2025
2753
+ * Copyright (c) Siemens 2016 - 2026
2754
2754
  * SPDX-License-Identifier: MIT
2755
2755
  */
2756
2756
  class SiTreeViewModule {
@@ -2895,7 +2895,7 @@ const modifyTreeStructure = (sourceItems, event, targetItems, targetIndex, remov
2895
2895
  };
2896
2896
 
2897
2897
  /**
2898
- * Copyright (c) Siemens 2016 - 2025
2898
+ * Copyright (c) Siemens 2016 - 2026
2899
2899
  * SPDX-License-Identifier: MIT
2900
2900
  */
2901
2901