@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-threshold.mjs","sources":["../../../../projects/element-ng/threshold/si-readonly-threshold-option.component.ts","../../../../projects/element-ng/threshold/si-threshold.component.ts","../../../../projects/element-ng/threshold/si-threshold.component.html","../../../../projects/element-ng/threshold/si-threshold.module.ts","../../../../projects/element-ng/threshold/index.ts","../../../../projects/element-ng/threshold/siemens-element-ng-threshold.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SelectOption } from '@siemens/element-ng/select';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-readonly-threshold-option',\n imports: [SiTranslatePipe, SiIconComponent],\n template: `@let opt = option();\n @if (opt && opt.icon) {\n <i class=\"icon-stack\">\n <si-icon class=\"icon me-2\" [class]=\"color()\" [icon]=\"opt.icon\" />\n @if (opt.stackedIcon) {\n <si-icon class=\"icon me-2\" [class]=\"opt.stackedIconColor\" [icon]=\"opt.stackedIcon\" />\n }\n </i>\n }\n <span class=\"text-truncate\">{{ label() | translate }}</span>`,\n styleUrl: './si-readonly-threshold-option.component.scss',\n host: { class: 'd-flex align-items-center py-2 my-4 px-4 si-h5' }\n})\nexport class SiReadonlyThresholdOptionComponent {\n readonly value = input.required<string>();\n readonly options = input.required<SelectOption<unknown>[]>();\n\n protected readonly option = computed(() => {\n const options = this.options();\n const value = this.value();\n if (value && options) {\n return options.find(opt => opt.value === value);\n }\n return undefined;\n });\n\n protected readonly color = computed(() => {\n const option = this.option();\n return !option || option.disabled ? undefined : option.iconColor;\n });\n\n protected readonly label = computed(() => this.option()?.label);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n input,\n model,\n OnChanges,\n output,\n viewChildren\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { elementDelete, elementPlus } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiNumberInputComponent } from '@siemens/element-ng/number-input';\nimport {\n SelectOption,\n SiSelectComponent,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n} from '@siemens/element-ng/select';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiReadonlyThresholdOptionComponent } from './si-readonly-threshold-option.component';\n\n/**\n * One step in a list of thresholds\n */\nexport interface ThresholdStep {\n /** Threshold value, the first step has no value */\n value?: number;\n /** One of the `SelectOption.id` */\n optionValue: string;\n /** When set to `false`, input fields are highlighted as invalid */\n valid?: boolean;\n}\n\n@Component({\n selector: 'si-threshold',\n imports: [\n FormsModule,\n NgTemplateOutlet,\n SiIconComponent,\n SiNumberInputComponent,\n SiSelectComponent,\n SiSelectSingleValueDirective,\n SiSelectSimpleOptionsDirective,\n SiTranslatePipe,\n SiReadonlyThresholdOptionComponent\n ],\n templateUrl: './si-threshold.component.html',\n styleUrl: './si-threshold.component.scss',\n host: {\n '[class.add-remove]': 'canAddRemoveSteps()',\n '[class.horizontal]': 'horizontalLayout()',\n '[class.dec-inc-buttons]': 'showDecIncButtons()'\n }\n})\nexport class SiThresholdComponent implements OnChanges {\n /**\n * Options to be shown in select dropdown\n *\n * @defaultValue []\n */\n readonly options = input<SelectOption<unknown>[]>([]);\n /**\n * The thresholds\n *\n * @defaultValue []\n */\n readonly thresholdSteps = model<ThresholdStep[]>([]);\n /**\n * The unit to show\n *\n * @defaultValue ''\n */\n readonly unit = input('');\n /**\n * The min. value for the threshold value\n *\n * @defaultValue 0\n */\n readonly minValue = input(0);\n /**\n * The max. value for the threshold value\n *\n * @defaultValue 100\n */\n readonly maxValue = input(100);\n /**\n * The step size for the threshold value\n *\n * @defaultValue 1\n */\n readonly stepSize = input(1);\n /**\n * Max. number of steps, 0 for no hard limit\n *\n * @defaultValue 0\n */\n readonly maxSteps = input(0);\n /**\n * Do validation?\n *\n * @defaultValue true\n */\n readonly validation = input(true, { transform: booleanAttribute });\n /**\n * When disabled, steps cannot be added/removed\n *\n * @defaultValue true\n */\n readonly canAddRemoveSteps = input(true, { transform: booleanAttribute });\n /**\n * Use horizontal layout?\n *\n * @defaultValue false\n */\n readonly horizontalLayout = input(false, { transform: booleanAttribute });\n /**\n * Show dec/inc buttons?\n *\n * @defaultValue true\n */\n readonly showDecIncButtons = input(true, { transform: booleanAttribute });\n /**\n * The obvious\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n /**\n * Indicate that the threshold options are readonly and cannot be changed. This will also disable adding / removing steps.\n *\n * @defaultValue false\n */\n readonly readonlyConditions = input(false, { transform: booleanAttribute });\n /**\n * The aria-label for delete button\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`)\n * ```\n */\n readonly deleteAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`));\n /**\n * The aria-label for add button\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`)\n * ```\n */\n readonly addAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`));\n /**\n * The aria-label for input field\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`)\n * ```\n */\n readonly inputAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`));\n /**\n * The aria-label for status selection\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`)\n * ```\n */\n readonly statusAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`));\n\n /** Fired when validation status changes */\n readonly validChange = output<boolean>();\n\n protected readonly colors = computed(() => {\n const colorMap = new Map<unknown, string>();\n for (const opt of this.options()) {\n colorMap.set(opt.value, opt.iconColor ?? '');\n }\n return this.thresholdSteps().map(ths => colorMap.get(ths.optionValue) ?? '');\n });\n\n protected readonly icons = addIcons({ elementDelete, elementPlus });\n private _valid = true;\n /**\n * Whether the current input value is valid or not.\n */\n get valid(): boolean {\n return this._valid;\n }\n\n private readonly numberInputs = viewChildren(SiNumberInputComponent);\n\n ngOnChanges(): void {\n this.validate();\n }\n\n protected deleteStep(index: number): void {\n const updated = [...this.thresholdSteps()];\n updated.splice(index, 1);\n this.thresholdSteps.set(updated);\n this.validate();\n }\n\n protected addStep(index: number): void {\n const newStep: ThresholdStep = { ...this.thresholdSteps()[index], value: undefined };\n const updated = [...this.thresholdSteps()];\n updated.splice(index + 1, 0, newStep);\n this.thresholdSteps.set(updated);\n this.validate();\n setTimeout(() => this.numberInputs()[index].inputElement().nativeElement.focus());\n }\n\n protected stepChange(): void {\n this.thresholdSteps.set([...this.thresholdSteps()]);\n this.validate();\n }\n\n private validate(): void {\n const prevValid = this.valid;\n this._valid = true;\n for (let i = 1; i < this.thresholdSteps().length; i++) {\n const step = this.thresholdSteps()[i];\n\n if (this.validation()) {\n const prev = this.thresholdSteps()[i - 1];\n const next = this.thresholdSteps()[i + 1];\n\n // valid: withing min/max, each step is lower than next step with step size between\n step.valid =\n step.value != null &&\n step.value >= this.minValue() &&\n step.value <= this.maxValue() &&\n (prev.value == null || step.value - this.stepSize() >= prev.value) &&\n (next?.value == null || step.value + this.stepSize() <= next.value);\n this._valid &&= step.valid;\n } else {\n step.valid = true;\n }\n }\n if (this.valid !== prevValid) {\n this.validChange.emit(this.valid);\n }\n }\n}\n","@for (step of thresholdSteps(); track step) {\n <div class=\"ths-step\">\n @if (!$first) {\n <div class=\"ths-value d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost m-4\"\n [attr.aria-label]=\"deleteAriaLabel() | translate\"\n (click)=\"deleteStep($index)\"\n >\n <si-icon [icon]=\"icons.elementDelete\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\">\n <div class=\"segment\" [class]=\"colors()[$index - 1]\"></div>\n <div class=\"dot\"></div>\n <div class=\"segment\" [class]=\"colors()[$index]\"></div>\n </div>\n <div class=\"d-flex align-items-center text-nowrap m-4\">\n <si-number-input\n #valueInput=\"ngModel\"\n class=\"form-control text-end\"\n [class.is-invalid]=\"step.valid === false\"\n [aria-label]=\"inputAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [min]=\"minValue()\"\n [max]=\"maxValue()\"\n [step]=\"stepSize()\"\n [unit]=\"unit()\"\n [showButtons]=\"showDecIncButtons()\"\n [required]=\"true\"\n [(ngModel)]=\"step.value\"\n (ngModelChange)=\"stepChange()\"\n />\n </div>\n </div>\n }\n @if ($first && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n <div class=\"ths-option d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary m-4\"\n [disabled]=\"maxSteps() && $count >= maxSteps()\"\n [attr.aria-label]=\"addAriaLabel() | translate\"\n (click)=\"addStep($index)\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\" [class]=\"colors()[$index]\">\n <div class=\"segment\"></div>\n </div>\n @if (!readonly() && !readonlyConditions()) {\n <si-select\n class=\"my-4\"\n [ariaLabel]=\"statusAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [options]=\"options()\"\n [(value)]=\"step.optionValue\"\n (valueChange)=\"stepChange()\"\n />\n }\n @if (readonly() || readonlyConditions()) {\n <si-readonly-threshold-option [options]=\"options()\" [value]=\"step.optionValue\" />\n }\n </div>\n @if ($last && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n </div>\n}\n\n<ng-template #startend let-color=\"color\">\n <div class=\"ths-value d-flex align-items-center startend\">\n <div class=\"py-4 my-4\">&#8203;</div>\n <div class=\"line\">\n <div class=\"segment\" [class]=\"color\"></div>\n </div>\n </div>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiThresholdComponent } from './si-threshold.component';\n\n@NgModule({\n imports: [SiThresholdComponent],\n exports: [SiThresholdComponent]\n})\nexport class SiThresholdModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-threshold.component';\nexport * from './si-threshold.module';\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-threshold.mjs","sources":["../../../../projects/element-ng/threshold/si-readonly-threshold-option.component.ts","../../../../projects/element-ng/threshold/si-threshold.component.ts","../../../../projects/element-ng/threshold/si-threshold.component.html","../../../../projects/element-ng/threshold/si-threshold.module.ts","../../../../projects/element-ng/threshold/index.ts","../../../../projects/element-ng/threshold/siemens-element-ng-threshold.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SelectOption } from '@siemens/element-ng/select';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-readonly-threshold-option',\n imports: [SiTranslatePipe, SiIconComponent],\n template: `@let opt = option();\n @if (opt && opt.icon) {\n <i class=\"icon-stack\">\n <si-icon class=\"icon me-2\" [class]=\"color()\" [icon]=\"opt.icon\" />\n @if (opt.stackedIcon) {\n <si-icon class=\"icon me-2\" [class]=\"opt.stackedIconColor\" [icon]=\"opt.stackedIcon\" />\n }\n </i>\n }\n <span class=\"text-truncate\">{{ label() | translate }}</span>`,\n styleUrl: './si-readonly-threshold-option.component.scss',\n host: { class: 'd-flex align-items-center py-2 my-4 px-4 si-h5' }\n})\nexport class SiReadonlyThresholdOptionComponent {\n readonly value = input.required<string>();\n readonly options = input.required<SelectOption<unknown>[]>();\n\n protected readonly option = computed(() => {\n const options = this.options();\n const value = this.value();\n if (value && options) {\n return options.find(opt => opt.value === value);\n }\n return undefined;\n });\n\n protected readonly color = computed(() => {\n const option = this.option();\n return !option || option.disabled ? undefined : option.iconColor;\n });\n\n protected readonly label = computed(() => this.option()?.label);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n input,\n model,\n OnChanges,\n output,\n viewChildren\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { elementDelete, elementPlus } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiNumberInputComponent } from '@siemens/element-ng/number-input';\nimport {\n SelectOption,\n SiSelectComponent,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n} from '@siemens/element-ng/select';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiReadonlyThresholdOptionComponent } from './si-readonly-threshold-option.component';\n\n/**\n * One step in a list of thresholds\n */\nexport interface ThresholdStep {\n /** Threshold value, the first step has no value */\n value?: number;\n /** One of the `SelectOption.id` */\n optionValue: string;\n /** When set to `false`, input fields are highlighted as invalid */\n valid?: boolean;\n}\n\n@Component({\n selector: 'si-threshold',\n imports: [\n FormsModule,\n NgTemplateOutlet,\n SiIconComponent,\n SiNumberInputComponent,\n SiSelectComponent,\n SiSelectSingleValueDirective,\n SiSelectSimpleOptionsDirective,\n SiTranslatePipe,\n SiReadonlyThresholdOptionComponent\n ],\n templateUrl: './si-threshold.component.html',\n styleUrl: './si-threshold.component.scss',\n host: {\n '[class.add-remove]': 'canAddRemoveSteps()',\n '[class.horizontal]': 'horizontalLayout()',\n '[class.dec-inc-buttons]': 'showDecIncButtons()'\n }\n})\nexport class SiThresholdComponent implements OnChanges {\n /**\n * Options to be shown in select dropdown\n *\n * @defaultValue []\n */\n readonly options = input<SelectOption<unknown>[]>([]);\n /**\n * The thresholds\n *\n * @defaultValue []\n */\n readonly thresholdSteps = model<ThresholdStep[]>([]);\n /**\n * The unit to show\n *\n * @defaultValue ''\n */\n readonly unit = input('');\n /**\n * The min. value for the threshold value\n *\n * @defaultValue 0\n */\n readonly minValue = input(0);\n /**\n * The max. value for the threshold value\n *\n * @defaultValue 100\n */\n readonly maxValue = input(100);\n /**\n * The step size for the threshold value\n *\n * @defaultValue 1\n */\n readonly stepSize = input(1);\n /**\n * Max. number of steps, 0 for no hard limit\n *\n * @defaultValue 0\n */\n readonly maxSteps = input(0);\n /**\n * Do validation?\n *\n * @defaultValue true\n */\n readonly validation = input(true, { transform: booleanAttribute });\n /**\n * When disabled, steps cannot be added/removed\n *\n * @defaultValue true\n */\n readonly canAddRemoveSteps = input(true, { transform: booleanAttribute });\n /**\n * Use horizontal layout?\n *\n * @defaultValue false\n */\n readonly horizontalLayout = input(false, { transform: booleanAttribute });\n /**\n * Show dec/inc buttons?\n *\n * @defaultValue true\n */\n readonly showDecIncButtons = input(true, { transform: booleanAttribute });\n /**\n * The obvious\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n /**\n * Indicate that the threshold options are readonly and cannot be changed. This will also disable adding / removing steps.\n *\n * @defaultValue false\n */\n readonly readonlyConditions = input(false, { transform: booleanAttribute });\n /**\n * The aria-label for delete button\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`)\n * ```\n */\n readonly deleteAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`));\n /**\n * The aria-label for add button\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`)\n * ```\n */\n readonly addAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`));\n /**\n * The aria-label for input field\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`)\n * ```\n */\n readonly inputAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`));\n /**\n * The aria-label for status selection\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`)\n * ```\n */\n readonly statusAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`));\n\n /** Fired when validation status changes */\n readonly validChange = output<boolean>();\n\n protected readonly colors = computed(() => {\n const colorMap = new Map<unknown, string>();\n for (const opt of this.options()) {\n colorMap.set(opt.value, opt.iconColor ?? '');\n }\n return this.thresholdSteps().map(ths => colorMap.get(ths.optionValue) ?? '');\n });\n\n protected readonly icons = addIcons({ elementDelete, elementPlus });\n private _valid = true;\n /**\n * Whether the current input value is valid or not.\n */\n get valid(): boolean {\n return this._valid;\n }\n\n private readonly numberInputs = viewChildren(SiNumberInputComponent);\n\n ngOnChanges(): void {\n this.validate();\n }\n\n protected deleteStep(index: number): void {\n const updated = [...this.thresholdSteps()];\n updated.splice(index, 1);\n this.thresholdSteps.set(updated);\n this.validate();\n }\n\n protected addStep(index: number): void {\n const newStep: ThresholdStep = { ...this.thresholdSteps()[index], value: undefined };\n const updated = [...this.thresholdSteps()];\n updated.splice(index + 1, 0, newStep);\n this.thresholdSteps.set(updated);\n this.validate();\n setTimeout(() => this.numberInputs()[index].inputElement().nativeElement.focus());\n }\n\n protected stepChange(): void {\n this.thresholdSteps.set([...this.thresholdSteps()]);\n this.validate();\n }\n\n private validate(): void {\n const prevValid = this.valid;\n this._valid = true;\n for (let i = 1; i < this.thresholdSteps().length; i++) {\n const step = this.thresholdSteps()[i];\n\n if (this.validation()) {\n const prev = this.thresholdSteps()[i - 1];\n const next = this.thresholdSteps()[i + 1];\n\n // valid: withing min/max, each step is lower than next step with step size between\n step.valid =\n step.value != null &&\n step.value >= this.minValue() &&\n step.value <= this.maxValue() &&\n (prev.value == null || step.value - this.stepSize() >= prev.value) &&\n (next?.value == null || step.value + this.stepSize() <= next.value);\n this._valid &&= step.valid;\n } else {\n step.valid = true;\n }\n }\n if (this.valid !== prevValid) {\n this.validChange.emit(this.valid);\n }\n }\n}\n","@for (step of thresholdSteps(); track step) {\n <div class=\"ths-step\">\n @if (!$first) {\n <div class=\"ths-value d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost m-4\"\n [attr.aria-label]=\"deleteAriaLabel() | translate\"\n (click)=\"deleteStep($index)\"\n >\n <si-icon [icon]=\"icons.elementDelete\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\">\n <div class=\"segment\" [class]=\"colors()[$index - 1]\"></div>\n <div class=\"dot\"></div>\n <div class=\"segment\" [class]=\"colors()[$index]\"></div>\n </div>\n <div class=\"d-flex align-items-center text-nowrap m-4\">\n <si-number-input\n #valueInput=\"ngModel\"\n class=\"form-control text-end\"\n [class.is-invalid]=\"step.valid === false\"\n [aria-label]=\"inputAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [min]=\"minValue()\"\n [max]=\"maxValue()\"\n [step]=\"stepSize()\"\n [unit]=\"unit()\"\n [showButtons]=\"showDecIncButtons()\"\n [required]=\"true\"\n [(ngModel)]=\"step.value\"\n (ngModelChange)=\"stepChange()\"\n />\n </div>\n </div>\n }\n @if ($first && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n <div class=\"ths-option d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary m-4\"\n [disabled]=\"maxSteps() && $count >= maxSteps()\"\n [attr.aria-label]=\"addAriaLabel() | translate\"\n (click)=\"addStep($index)\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\" [class]=\"colors()[$index]\">\n <div class=\"segment\"></div>\n </div>\n @if (!readonly() && !readonlyConditions()) {\n <si-select\n class=\"my-4\"\n [ariaLabel]=\"statusAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [options]=\"options()\"\n [(value)]=\"step.optionValue\"\n (valueChange)=\"stepChange()\"\n />\n }\n @if (readonly() || readonlyConditions()) {\n <si-readonly-threshold-option [options]=\"options()\" [value]=\"step.optionValue\" />\n }\n </div>\n @if ($last && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n </div>\n}\n\n<ng-template #startend let-color=\"color\">\n <div class=\"ths-value d-flex align-items-center startend\">\n <div class=\"py-4 my-4\">&#8203;</div>\n <div class=\"line\">\n <div class=\"segment\" [class]=\"color\"></div>\n </div>\n </div>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiThresholdComponent } from './si-threshold.component';\n\n@NgModule({\n imports: [SiThresholdComponent],\n exports: [SiThresholdComponent]\n})\nexport class SiThresholdModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-threshold.component';\nexport * from './si-threshold.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { SiLinkModule } from '@siemens/element-ng/link';
14
14
  const SI_TOAST_AUTO_HIDE_DELAY = 6000;
15
15
 
16
16
  /**
17
- * Copyright (c) Siemens 2016 - 2025
17
+ * Copyright (c) Siemens 2016 - 2026
18
18
  * SPDX-License-Identifier: MIT
19
19
  */
20
20
  class SiToastNotificationComponent {
@@ -65,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
65
65
  }] } });
66
66
 
67
67
  /**
68
- * Copyright (c) Siemens 2016 - 2025
68
+ * Copyright (c) Siemens 2016 - 2026
69
69
  * SPDX-License-Identifier: MIT
70
70
  */
71
71
  class SiToastNotificationDrawerComponent {
@@ -85,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
85
85
  }], propDecorators: { toasts: [{ type: i0.Input, args: [{ isSignal: true, alias: "toasts", required: false }] }], paused: [{ type: i0.Output, args: ["paused"] }], resumed: [{ type: i0.Output, args: ["resumed"] }] } });
86
86
 
87
87
  /**
88
- * Copyright (c) Siemens 2016 - 2025
88
+ * Copyright (c) Siemens 2016 - 2026
89
89
  * SPDX-License-Identifier: MIT
90
90
  */
91
91
  class SiToastNotificationService {
@@ -232,7 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
232
232
  }], ctorParameters: () => [] });
233
233
 
234
234
  /**
235
- * Copyright (c) Siemens 2016 - 2025
235
+ * Copyright (c) Siemens 2016 - 2026
236
236
  * SPDX-License-Identifier: MIT
237
237
  */
238
238
 
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-toast-notification.mjs","sources":["../../../../projects/element-ng/toast-notification/si-toast.model.ts","../../../../projects/element-ng/toast-notification/si-toast-notification/si-toast-notification.component.ts","../../../../projects/element-ng/toast-notification/si-toast-notification/si-toast-notification.component.html","../../../../projects/element-ng/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.ts","../../../../projects/element-ng/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.html","../../../../projects/element-ng/toast-notification/si-toast-notification.service.ts","../../../../projects/element-ng/toast-notification/index.ts","../../../../projects/element-ng/toast-notification/siemens-element-ng-toast-notification.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { StatusType } from '@siemens/element-ng/common';\nimport { Link } from '@siemens/element-ng/link';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\n\nexport interface SiToast {\n state: StatusType;\n title: TranslatableString;\n message: TranslatableString;\n disableManualClose?: boolean;\n disableAutoClose?: boolean;\n timeout?: number;\n action?: Link;\n close?: () => void;\n translationParams?: { [key: string]: any };\n hidden?: Subject<void>;\n closeAriaLabel?: TranslatableString;\n}\n\nexport const SI_TOAST_AUTO_HIDE_DELAY = 6000;\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, HostListener, inject, input, output, signal } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport {\n addIcons,\n SiIconComponent,\n SiStatusIconComponent,\n STATUS_ICON_CONFIG\n} from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SI_TOAST_AUTO_HIDE_DELAY, SiToast } from '../si-toast.model';\n\n@Component({\n selector: 'si-toast-notification',\n imports: [SiLinkModule, SiIconComponent, SiStatusIconComponent, SiTranslatePipe],\n templateUrl: './si-toast-notification.component.html',\n styleUrl: './si-toast-notification.component.scss'\n})\nexport class SiToastNotificationComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n readonly toast = input.required<SiToast>();\n\n private closeAriaLabelDefault = t(() => $localize`:@@SI_TOAST.CLOSE:Close`);\n protected readonly closeAriaLabel = computed(\n () => this.toast().closeAriaLabel ?? this.closeAriaLabelDefault\n );\n protected readonly icons = addIcons({ elementCancel });\n protected readonly status = computed(() => {\n const toast = this.toast();\n return Object.keys(this.statusIcons).includes(toast.state) ? toast.state : 'info';\n });\n protected readonly statusColor = computed(() => this.statusIcons[this.status()].color);\n protected readonly toastTimeoutInSeconds = computed(() => {\n const toast = this.toast();\n return toast.timeout ? toast.timeout / 1000 : SI_TOAST_AUTO_HIDE_DELAY / 1000;\n });\n protected readonly animationMode = signal('running');\n readonly paused = output<void>();\n readonly resumed = output<void>();\n\n @HostListener('mouseenter')\n protected onMouseEnter(): void {\n if (!this.toast().disableAutoClose) {\n this.animationMode.set('paused');\n this.paused.emit();\n }\n }\n\n @HostListener('mouseleave')\n protected onMouseLeave(): void {\n if (!this.toast().disableAutoClose) {\n this.animationMode.set('running');\n this.resumed.emit();\n }\n }\n\n protected close(): void {\n this.toast().close!();\n }\n}\n","@let toastValue = toast();\n@let autoClose = !toastValue.disableAutoClose;\n@let manualClose = !toastValue.disableManualClose;\n<div class=\"si-toast elevation-2\" [class.si-toast-auto-close]=\"autoClose\">\n @if (autoClose) {\n <div\n class=\"si-toast-timer-bar\"\n [style.--play-state]=\"animationMode()\"\n [style.--toast-timer-duration.s]=\"toastTimeoutInSeconds()\"\n ></div>\n }\n <div [class]=\"`bar ${statusColor()}`\"></div>\n <si-status-icon class=\"icon\" [status]=\"status()\" />\n\n <div class=\"toast-content px-4\">\n <p class=\"toast-title\"\n ><b>{{ toastValue.title | translate: toastValue.translationParams }}</b></p\n >\n @if (toastValue.message) {\n <p class=\"mt-4\">{{ toastValue.message | translate: toastValue.translationParams }}</p>\n }\n @if (toastValue.action) {\n <p [class.mt-3]=\"toastValue.message\" [class.mt-4]=\"!toastValue.message\">\n <a [siLink]=\"toastValue.action\">{{\n toastValue.action!.title | translate: toastValue.translationParams\n }}</a>\n </p>\n }\n </div>\n @if (manualClose) {\n <button\n type=\"button\"\n tabindex=\"0\"\n class=\"btn btn-icon btn-ghost mt-n2 me-n2\"\n [attr.aria-label]=\"closeAriaLabel() | translate\"\n (keydown.enter)=\"close()\"\n (click)=\"close()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { areAnimationsDisabled } from '@siemens/element-ng/common';\nimport { Observable } from 'rxjs';\n\nimport { SiToastNotificationComponent } from '../si-toast-notification/si-toast-notification.component';\nimport { SiToast } from '../si-toast.model';\n\n@Component({\n selector: 'si-toast-notification-drawer',\n imports: [AsyncPipe, SiToastNotificationComponent],\n templateUrl: './si-toast-notification-drawer.component.html',\n styleUrl: './si-toast-notification-drawer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'aria-live': 'polite',\n '[class.animations-disabled]': 'animationsDisabled'\n }\n})\nexport class SiToastNotificationDrawerComponent {\n readonly toasts = input<Observable<SiToast[]>>();\n readonly paused = output<SiToast>();\n readonly resumed = output<SiToast>();\n\n protected animationsDisabled = areAnimationsDisabled();\n}\n","@for (toast of toasts() | async; track toast) {\n <si-toast-notification\n class=\"position-relative\"\n animate.enter=\"toast-enter\"\n animate.leave=\"toast-leave\"\n [toast]=\"toast\"\n (paused)=\"paused.emit(toast)\"\n (resumed)=\"resumed.emit(toast)\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ComponentRef, inject, Injectable, Injector, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { isRTL, StatusType } from '@siemens/element-ng/common';\nimport { Link } from '@siemens/element-ng/link';\nimport { SiNoTranslateService, SiTranslateService } from '@siemens/element-translate-ng/translate';\nimport { ReplaySubject, Subject } from 'rxjs';\n\nimport { SiToastNotificationDrawerComponent } from './si-toast-notification-drawer/si-toast-notification-drawer.component';\nimport { SI_TOAST_AUTO_HIDE_DELAY, SiToast } from './si-toast.model';\n\n@Injectable({ providedIn: 'root' })\nexport class SiToastNotificationService implements OnDestroy {\n /**\n * List of currently active toasts to see details or close them.\n *\n * @defaultValue []\n */\n activeToasts: SiToast[] = [];\n\n private activeToastsSubject = new ReplaySubject<SiToast[]>(1);\n private queuedToastSubject = new Subject<SiToast>();\n private readonly maxToasts = 3;\n\n private componentRef?: ComponentRef<SiToastNotificationDrawerComponent>;\n private overlayRef?: OverlayRef;\n\n private injector = inject(Injector);\n private overlay = inject(Overlay);\n private toastTimeoutMap = new Map<SiToast, any>();\n private toastTimerDefaults = new Map<\n SiToast,\n { pendingTimeout: number; initializeTime: number }\n >();\n\n constructor() {\n const isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n this.queuedToastSubject.subscribe((toast: SiToast) => {\n this.activeToasts.push(toast);\n if (this.activeToasts.length > this.maxToasts) {\n this.hideToastNotification(this.activeToasts[0]);\n }\n this.activeToastsSubject.next(this.activeToasts);\n if (!toast.disableAutoClose && toast.timeout) {\n this.toastTimerDefaults.set(toast, {\n pendingTimeout: toast.timeout,\n initializeTime: Date.now()\n });\n this.toastTimeoutMap.set(\n toast,\n setTimeout(() => this.hideToastNotification(toast), toast.timeout)\n );\n }\n });\n\n if (isBrowser) {\n this.addToastDrawer();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n this.componentRef?.destroy();\n }\n\n /**\n * Queue a new toast to be shown.\n * @param action - Passing a Link object will optionally add a clickable link to the toast which can contain an action.\n * @returns the toast object\n */\n queueToastNotification(\n state: StatusType,\n title: string,\n message: string,\n disableAutoClose?: boolean,\n disableManualClose?: boolean,\n action?: Link\n ): SiToast {\n const toast: SiToast = {\n state,\n title,\n message,\n disableAutoClose,\n disableManualClose,\n action,\n hidden: new Subject()\n };\n return this.showToastNotification(toast);\n }\n\n /**\n * Show a toast notification\n * @param toast - The toast object of the toast to be shown, can also be constructed while calling this.\n */\n showToastNotification(toast: SiToast): SiToast {\n this.overlayRef?.setDirection(isRTL() ? 'rtl' : 'ltr');\n toast.timeout ??= SI_TOAST_AUTO_HIDE_DELAY;\n toast.hidden ??= new Subject();\n toast.close = () => this.hideToastNotification(toast);\n this.queuedToastSubject.next(toast);\n return toast;\n }\n\n /**\n * Hide a toast notification\n * @param toast - The toast object of the toast to be hidden, can be retrieved from {@link activeToasts} and is returned by {@link queueToastNotification}.\n */\n hideToastNotification(toast?: SiToast): void {\n const hiddenToasts: SiToast[] = [];\n const activeToasts: SiToast[] = [];\n this.activeToasts.forEach(item => {\n if (!toast || item === toast) {\n hiddenToasts.push(item);\n } else {\n activeToasts.push(item);\n }\n });\n\n this.activeToasts = activeToasts;\n this.activeToastsSubject.next(this.activeToasts);\n\n hiddenToasts.forEach(item => {\n item.hidden?.next();\n item.hidden?.complete();\n this.toastTimerDefaults.delete(item);\n this.toastTimeoutMap.delete(item);\n });\n }\n\n private pauseToastNotification(toast: SiToast): void {\n if (!toast.disableAutoClose) {\n clearTimeout(this.toastTimeoutMap.get(toast));\n\n const initialTimeout = this.toastTimerDefaults.get(toast)?.initializeTime;\n const elapsedTime = initialTimeout ? Date.now() - initialTimeout : 0;\n this.toastTimerDefaults.get(toast)!.pendingTimeout -= elapsedTime;\n }\n }\n\n private resumeToastNotification(toast: SiToast): void {\n if (!toast.disableAutoClose) {\n this.toastTimerDefaults.get(toast)!.initializeTime = Date.now();\n this.toastTimeoutMap.set(\n toast,\n setTimeout(() => {\n this.hideToastNotification(this.activeToasts.find(t => t === toast));\n }, this.toastTimerDefaults.get(toast)!.pendingTimeout)\n );\n }\n }\n\n private addToastDrawer(): void {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().end().bottom()\n });\n const portal = new ComponentPortal(\n SiToastNotificationDrawerComponent,\n null,\n this.buildInjector()\n );\n this.componentRef = this.overlayRef.attach(portal);\n this.componentRef.setInput('toasts', this.activeToastsSubject);\n this.componentRef.instance.paused.subscribe(toast => {\n this.pauseToastNotification(toast);\n });\n this.componentRef.instance.resumed.subscribe(toast => {\n this.resumeToastNotification(toast);\n });\n }\n\n // TODO remove once translation must be defined at application start\n // Notification service is provided in 'root'. If no translation is defined, SiNoTranslateService is not provided\n private buildInjector(): Injector {\n let injector = this.injector;\n if (!injector.get(SiTranslateService, null)) {\n injector = Injector.create({\n providers: [{ provide: SiTranslateService, useClass: SiNoTranslateService, deps: [] }],\n parent: this.injector\n });\n }\n return injector;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-toast.model';\nexport * from './si-toast-notification.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAuBO,MAAM,wBAAwB,GAAG;;ACvBxC;;;AAGG;MAoBU,4BAA4B,CAAA;AACtB,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAChD,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAW;IAElC,qBAAqB,GAAG,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,uBAAA,CAAyB,CAAC;AACxD,IAAA,cAAc,GAAG,QAAQ,CAC1C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,0DAChE;AACkB,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;AACnC,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM;AACnF,IAAA,CAAC,kDAAC;AACiB,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,uDAAC;AACnE,IAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAK;AACvD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,OAAO,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,wBAAwB,GAAG,IAAI;AAC/E,IAAA,CAAC,iEAAC;AACiB,IAAA,aAAa,GAAG,MAAM,CAAC,SAAS,yDAAC;IAC3C,MAAM,GAAG,MAAM,EAAQ;IACvB,OAAO,GAAG,MAAM,EAAQ;IAGvB,YAAY,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB;IACF;IAGU,YAAY,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACrB;IACF;IAEU,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,KAAM,EAAE;IACvB;uGAxCW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBzC,65CA0CA,EAAA,MAAA,EAAA,CAAA,wzCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvBY,YAAY,6PAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAIpE,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;+BACE,uBAAuB,EAAA,OAAA,EACxB,CAAC,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,65CAAA,EAAA,MAAA,EAAA,CAAA,wzCAAA,CAAA,EAAA;;sBA0B/E,YAAY;uBAAC,YAAY;;sBAQzB,YAAY;uBAAC,YAAY;;;AErD5B;;;AAGG;MAoBU,kCAAkC,CAAA;IACpC,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAyB;IACvC,MAAM,GAAG,MAAM,EAAW;IAC1B,OAAO,GAAG,MAAM,EAAW;IAE1B,kBAAkB,GAAG,qBAAqB,EAAE;uGAL3C,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/C,gSAUA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIuB,4BAA4B,gHAAvC,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FASR,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAX9C,SAAS;+BACE,8BAA8B,EAAA,OAAA,EAC/B,CAAC,SAAS,EAAE,4BAA4B,CAAC,EAAA,eAAA,EAGjC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,WAAW,EAAE,QAAQ;AACrB,wBAAA,6BAA6B,EAAE;AAChC,qBAAA,EAAA,QAAA,EAAA,gSAAA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA;;;AErBH;;;AAGG;MAcU,0BAA0B,CAAA;AACrC;;;;AAIG;IACH,YAAY,GAAc,EAAE;AAEpB,IAAA,mBAAmB,GAAG,IAAI,aAAa,CAAY,CAAC,CAAC;AACrD,IAAA,kBAAkB,GAAG,IAAI,OAAO,EAAW;IAClC,SAAS,GAAG,CAAC;AAEtB,IAAA,YAAY;AACZ,IAAA,UAAU;AAEV,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,IAAA,eAAe,GAAG,IAAI,GAAG,EAAgB;AACzC,IAAA,kBAAkB,GAAG,IAAI,GAAG,EAGjC;AAEH,IAAA,WAAA,GAAA;QACE,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAc,KAAI;AACnD,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;gBAC7C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClD;YACA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,EAAE;AAC5C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE;oBACjC,cAAc,EAAE,KAAK,CAAC,OAAO;AAC7B,oBAAA,cAAc,EAAE,IAAI,CAAC,GAAG;AACzB,iBAAA,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,KAAK,EACL,UAAU,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CACnE;YACH;AACF,QAAA,CAAC,CAAC;QAEF,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1B,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;IAC9B;AAEA;;;;AAIG;IACH,sBAAsB,CACpB,KAAiB,EACjB,KAAa,EACb,OAAe,EACf,gBAA0B,EAC1B,kBAA4B,EAC5B,MAAa,EAAA;AAEb,QAAA,MAAM,KAAK,GAAY;YACrB,KAAK;YACL,KAAK;YACL,OAAO;YACP,gBAAgB;YAChB,kBAAkB;YAClB,MAAM;YACN,MAAM,EAAE,IAAI,OAAO;SACpB;AACD,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC1C;AAEA;;;AAGG;AACH,IAAA,qBAAqB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC;AACtD,QAAA,KAAK,CAAC,OAAO,KAAK,wBAAwB;AAC1C,QAAA,KAAK,CAAC,MAAM,KAAK,IAAI,OAAO,EAAE;AAC9B,QAAA,KAAK,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AACrD,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,QAAA,OAAO,KAAK;IACd;AAEA;;;AAGG;AACH,IAAA,qBAAqB,CAAC,KAAe,EAAA;QACnC,MAAM,YAAY,GAAc,EAAE;QAClC,MAAM,YAAY,GAAc,EAAE;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAG;AAC/B,YAAA,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;AAC5B,gBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB;iBAAO;AACL,gBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;QAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;AAEhD,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,IAAG;AAC1B,YAAA,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;AACvB,YAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;AACpC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;AACnC,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,sBAAsB,CAAC,KAAc,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAE7C,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,cAAc;AACzE,YAAA,MAAM,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,CAAC;YACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,IAAI,WAAW;QACnE;IACF;AAEQ,IAAA,uBAAuB,CAAC,KAAc,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE;YAC/D,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,KAAK,EACL,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AACtE,YAAA,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,CAAC,CACvD;QACH;IACF;IAEQ,cAAc,GAAA;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACpC,YAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM;AAChE,SAAA,CAAC;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,kCAAkC,EAClC,IAAI,EACJ,IAAI,CAAC,aAAa,EAAE,CACrB;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAG;AAClD,YAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;AACpC,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAG;AACnD,YAAA,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACrC,QAAA,CAAC,CAAC;IACJ;;;IAIQ,aAAa,GAAA;AACnB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE;AAC3C,YAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AACzB,gBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACtF,MAAM,EAAE,IAAI,CAAC;AACd,aAAA,CAAC;QACJ;AACA,QAAA,OAAO,QAAQ;IACjB;uGAzKW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADb,MAAM,EAAA,CAAA;;2FACnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AChBlC;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-toast-notification.mjs","sources":["../../../../projects/element-ng/toast-notification/si-toast.model.ts","../../../../projects/element-ng/toast-notification/si-toast-notification/si-toast-notification.component.ts","../../../../projects/element-ng/toast-notification/si-toast-notification/si-toast-notification.component.html","../../../../projects/element-ng/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.ts","../../../../projects/element-ng/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.html","../../../../projects/element-ng/toast-notification/si-toast-notification.service.ts","../../../../projects/element-ng/toast-notification/index.ts","../../../../projects/element-ng/toast-notification/siemens-element-ng-toast-notification.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { StatusType } from '@siemens/element-ng/common';\nimport { Link } from '@siemens/element-ng/link';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\n\nexport interface SiToast {\n state: StatusType;\n title: TranslatableString;\n message: TranslatableString;\n disableManualClose?: boolean;\n disableAutoClose?: boolean;\n timeout?: number;\n action?: Link;\n close?: () => void;\n translationParams?: { [key: string]: any };\n hidden?: Subject<void>;\n closeAriaLabel?: TranslatableString;\n}\n\nexport const SI_TOAST_AUTO_HIDE_DELAY = 6000;\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, HostListener, inject, input, output, signal } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport {\n addIcons,\n SiIconComponent,\n SiStatusIconComponent,\n STATUS_ICON_CONFIG\n} from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SI_TOAST_AUTO_HIDE_DELAY, SiToast } from '../si-toast.model';\n\n@Component({\n selector: 'si-toast-notification',\n imports: [SiLinkModule, SiIconComponent, SiStatusIconComponent, SiTranslatePipe],\n templateUrl: './si-toast-notification.component.html',\n styleUrl: './si-toast-notification.component.scss'\n})\nexport class SiToastNotificationComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n readonly toast = input.required<SiToast>();\n\n private closeAriaLabelDefault = t(() => $localize`:@@SI_TOAST.CLOSE:Close`);\n protected readonly closeAriaLabel = computed(\n () => this.toast().closeAriaLabel ?? this.closeAriaLabelDefault\n );\n protected readonly icons = addIcons({ elementCancel });\n protected readonly status = computed(() => {\n const toast = this.toast();\n return Object.keys(this.statusIcons).includes(toast.state) ? toast.state : 'info';\n });\n protected readonly statusColor = computed(() => this.statusIcons[this.status()].color);\n protected readonly toastTimeoutInSeconds = computed(() => {\n const toast = this.toast();\n return toast.timeout ? toast.timeout / 1000 : SI_TOAST_AUTO_HIDE_DELAY / 1000;\n });\n protected readonly animationMode = signal('running');\n readonly paused = output<void>();\n readonly resumed = output<void>();\n\n @HostListener('mouseenter')\n protected onMouseEnter(): void {\n if (!this.toast().disableAutoClose) {\n this.animationMode.set('paused');\n this.paused.emit();\n }\n }\n\n @HostListener('mouseleave')\n protected onMouseLeave(): void {\n if (!this.toast().disableAutoClose) {\n this.animationMode.set('running');\n this.resumed.emit();\n }\n }\n\n protected close(): void {\n this.toast().close!();\n }\n}\n","@let toastValue = toast();\n@let autoClose = !toastValue.disableAutoClose;\n@let manualClose = !toastValue.disableManualClose;\n<div class=\"si-toast elevation-2\" [class.si-toast-auto-close]=\"autoClose\">\n @if (autoClose) {\n <div\n class=\"si-toast-timer-bar\"\n [style.--play-state]=\"animationMode()\"\n [style.--toast-timer-duration.s]=\"toastTimeoutInSeconds()\"\n ></div>\n }\n <div [class]=\"`bar ${statusColor()}`\"></div>\n <si-status-icon class=\"icon\" [status]=\"status()\" />\n\n <div class=\"toast-content px-4\">\n <p class=\"toast-title\"\n ><b>{{ toastValue.title | translate: toastValue.translationParams }}</b></p\n >\n @if (toastValue.message) {\n <p class=\"mt-4\">{{ toastValue.message | translate: toastValue.translationParams }}</p>\n }\n @if (toastValue.action) {\n <p [class.mt-3]=\"toastValue.message\" [class.mt-4]=\"!toastValue.message\">\n <a [siLink]=\"toastValue.action\">{{\n toastValue.action!.title | translate: toastValue.translationParams\n }}</a>\n </p>\n }\n </div>\n @if (manualClose) {\n <button\n type=\"button\"\n tabindex=\"0\"\n class=\"btn btn-icon btn-ghost mt-n2 me-n2\"\n [attr.aria-label]=\"closeAriaLabel() | translate\"\n (keydown.enter)=\"close()\"\n (click)=\"close()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { areAnimationsDisabled } from '@siemens/element-ng/common';\nimport { Observable } from 'rxjs';\n\nimport { SiToastNotificationComponent } from '../si-toast-notification/si-toast-notification.component';\nimport { SiToast } from '../si-toast.model';\n\n@Component({\n selector: 'si-toast-notification-drawer',\n imports: [AsyncPipe, SiToastNotificationComponent],\n templateUrl: './si-toast-notification-drawer.component.html',\n styleUrl: './si-toast-notification-drawer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'aria-live': 'polite',\n '[class.animations-disabled]': 'animationsDisabled'\n }\n})\nexport class SiToastNotificationDrawerComponent {\n readonly toasts = input<Observable<SiToast[]>>();\n readonly paused = output<SiToast>();\n readonly resumed = output<SiToast>();\n\n protected animationsDisabled = areAnimationsDisabled();\n}\n","@for (toast of toasts() | async; track toast) {\n <si-toast-notification\n class=\"position-relative\"\n animate.enter=\"toast-enter\"\n animate.leave=\"toast-leave\"\n [toast]=\"toast\"\n (paused)=\"paused.emit(toast)\"\n (resumed)=\"resumed.emit(toast)\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ComponentRef, inject, Injectable, Injector, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { isRTL, StatusType } from '@siemens/element-ng/common';\nimport { Link } from '@siemens/element-ng/link';\nimport { SiNoTranslateService, SiTranslateService } from '@siemens/element-translate-ng/translate';\nimport { ReplaySubject, Subject } from 'rxjs';\n\nimport { SiToastNotificationDrawerComponent } from './si-toast-notification-drawer/si-toast-notification-drawer.component';\nimport { SI_TOAST_AUTO_HIDE_DELAY, SiToast } from './si-toast.model';\n\n@Injectable({ providedIn: 'root' })\nexport class SiToastNotificationService implements OnDestroy {\n /**\n * List of currently active toasts to see details or close them.\n *\n * @defaultValue []\n */\n activeToasts: SiToast[] = [];\n\n private activeToastsSubject = new ReplaySubject<SiToast[]>(1);\n private queuedToastSubject = new Subject<SiToast>();\n private readonly maxToasts = 3;\n\n private componentRef?: ComponentRef<SiToastNotificationDrawerComponent>;\n private overlayRef?: OverlayRef;\n\n private injector = inject(Injector);\n private overlay = inject(Overlay);\n private toastTimeoutMap = new Map<SiToast, any>();\n private toastTimerDefaults = new Map<\n SiToast,\n { pendingTimeout: number; initializeTime: number }\n >();\n\n constructor() {\n const isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n this.queuedToastSubject.subscribe((toast: SiToast) => {\n this.activeToasts.push(toast);\n if (this.activeToasts.length > this.maxToasts) {\n this.hideToastNotification(this.activeToasts[0]);\n }\n this.activeToastsSubject.next(this.activeToasts);\n if (!toast.disableAutoClose && toast.timeout) {\n this.toastTimerDefaults.set(toast, {\n pendingTimeout: toast.timeout,\n initializeTime: Date.now()\n });\n this.toastTimeoutMap.set(\n toast,\n setTimeout(() => this.hideToastNotification(toast), toast.timeout)\n );\n }\n });\n\n if (isBrowser) {\n this.addToastDrawer();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n this.componentRef?.destroy();\n }\n\n /**\n * Queue a new toast to be shown.\n * @param action - Passing a Link object will optionally add a clickable link to the toast which can contain an action.\n * @returns the toast object\n */\n queueToastNotification(\n state: StatusType,\n title: string,\n message: string,\n disableAutoClose?: boolean,\n disableManualClose?: boolean,\n action?: Link\n ): SiToast {\n const toast: SiToast = {\n state,\n title,\n message,\n disableAutoClose,\n disableManualClose,\n action,\n hidden: new Subject()\n };\n return this.showToastNotification(toast);\n }\n\n /**\n * Show a toast notification\n * @param toast - The toast object of the toast to be shown, can also be constructed while calling this.\n */\n showToastNotification(toast: SiToast): SiToast {\n this.overlayRef?.setDirection(isRTL() ? 'rtl' : 'ltr');\n toast.timeout ??= SI_TOAST_AUTO_HIDE_DELAY;\n toast.hidden ??= new Subject();\n toast.close = () => this.hideToastNotification(toast);\n this.queuedToastSubject.next(toast);\n return toast;\n }\n\n /**\n * Hide a toast notification\n * @param toast - The toast object of the toast to be hidden, can be retrieved from {@link activeToasts} and is returned by {@link queueToastNotification}.\n */\n hideToastNotification(toast?: SiToast): void {\n const hiddenToasts: SiToast[] = [];\n const activeToasts: SiToast[] = [];\n this.activeToasts.forEach(item => {\n if (!toast || item === toast) {\n hiddenToasts.push(item);\n } else {\n activeToasts.push(item);\n }\n });\n\n this.activeToasts = activeToasts;\n this.activeToastsSubject.next(this.activeToasts);\n\n hiddenToasts.forEach(item => {\n item.hidden?.next();\n item.hidden?.complete();\n this.toastTimerDefaults.delete(item);\n this.toastTimeoutMap.delete(item);\n });\n }\n\n private pauseToastNotification(toast: SiToast): void {\n if (!toast.disableAutoClose) {\n clearTimeout(this.toastTimeoutMap.get(toast));\n\n const initialTimeout = this.toastTimerDefaults.get(toast)?.initializeTime;\n const elapsedTime = initialTimeout ? Date.now() - initialTimeout : 0;\n this.toastTimerDefaults.get(toast)!.pendingTimeout -= elapsedTime;\n }\n }\n\n private resumeToastNotification(toast: SiToast): void {\n if (!toast.disableAutoClose) {\n this.toastTimerDefaults.get(toast)!.initializeTime = Date.now();\n this.toastTimeoutMap.set(\n toast,\n setTimeout(() => {\n this.hideToastNotification(this.activeToasts.find(t => t === toast));\n }, this.toastTimerDefaults.get(toast)!.pendingTimeout)\n );\n }\n }\n\n private addToastDrawer(): void {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().end().bottom()\n });\n const portal = new ComponentPortal(\n SiToastNotificationDrawerComponent,\n null,\n this.buildInjector()\n );\n this.componentRef = this.overlayRef.attach(portal);\n this.componentRef.setInput('toasts', this.activeToastsSubject);\n this.componentRef.instance.paused.subscribe(toast => {\n this.pauseToastNotification(toast);\n });\n this.componentRef.instance.resumed.subscribe(toast => {\n this.resumeToastNotification(toast);\n });\n }\n\n // TODO remove once translation must be defined at application start\n // Notification service is provided in 'root'. If no translation is defined, SiNoTranslateService is not provided\n private buildInjector(): Injector {\n let injector = this.injector;\n if (!injector.get(SiTranslateService, null)) {\n injector = Injector.create({\n providers: [{ provide: SiTranslateService, useClass: SiNoTranslateService, deps: [] }],\n parent: this.injector\n });\n }\n return injector;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-toast.model';\nexport * from './si-toast-notification.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAuBO,MAAM,wBAAwB,GAAG;;ACvBxC;;;AAGG;MAoBU,4BAA4B,CAAA;AACtB,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAChD,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAW;IAElC,qBAAqB,GAAG,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,uBAAA,CAAyB,CAAC;AACxD,IAAA,cAAc,GAAG,QAAQ,CAC1C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,0DAChE;AACkB,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;AACnC,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM;AACnF,IAAA,CAAC,kDAAC;AACiB,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,uDAAC;AACnE,IAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAK;AACvD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,OAAO,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,wBAAwB,GAAG,IAAI;AAC/E,IAAA,CAAC,iEAAC;AACiB,IAAA,aAAa,GAAG,MAAM,CAAC,SAAS,yDAAC;IAC3C,MAAM,GAAG,MAAM,EAAQ;IACvB,OAAO,GAAG,MAAM,EAAQ;IAGvB,YAAY,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB;IACF;IAGU,YAAY,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACrB;IACF;IAEU,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,KAAM,EAAE;IACvB;uGAxCW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBzC,65CA0CA,EAAA,MAAA,EAAA,CAAA,wzCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvBY,YAAY,6PAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAIpE,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;+BACE,uBAAuB,EAAA,OAAA,EACxB,CAAC,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,65CAAA,EAAA,MAAA,EAAA,CAAA,wzCAAA,CAAA,EAAA;;sBA0B/E,YAAY;uBAAC,YAAY;;sBAQzB,YAAY;uBAAC,YAAY;;;AErD5B;;;AAGG;MAoBU,kCAAkC,CAAA;IACpC,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAyB;IACvC,MAAM,GAAG,MAAM,EAAW;IAC1B,OAAO,GAAG,MAAM,EAAW;IAE1B,kBAAkB,GAAG,qBAAqB,EAAE;uGAL3C,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/C,gSAUA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIuB,4BAA4B,gHAAvC,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FASR,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAX9C,SAAS;+BACE,8BAA8B,EAAA,OAAA,EAC/B,CAAC,SAAS,EAAE,4BAA4B,CAAC,EAAA,eAAA,EAGjC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,WAAW,EAAE,QAAQ;AACrB,wBAAA,6BAA6B,EAAE;AAChC,qBAAA,EAAA,QAAA,EAAA,gSAAA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA;;;AErBH;;;AAGG;MAcU,0BAA0B,CAAA;AACrC;;;;AAIG;IACH,YAAY,GAAc,EAAE;AAEpB,IAAA,mBAAmB,GAAG,IAAI,aAAa,CAAY,CAAC,CAAC;AACrD,IAAA,kBAAkB,GAAG,IAAI,OAAO,EAAW;IAClC,SAAS,GAAG,CAAC;AAEtB,IAAA,YAAY;AACZ,IAAA,UAAU;AAEV,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,IAAA,eAAe,GAAG,IAAI,GAAG,EAAgB;AACzC,IAAA,kBAAkB,GAAG,IAAI,GAAG,EAGjC;AAEH,IAAA,WAAA,GAAA;QACE,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAc,KAAI;AACnD,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;gBAC7C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClD;YACA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,EAAE;AAC5C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE;oBACjC,cAAc,EAAE,KAAK,CAAC,OAAO;AAC7B,oBAAA,cAAc,EAAE,IAAI,CAAC,GAAG;AACzB,iBAAA,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,KAAK,EACL,UAAU,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CACnE;YACH;AACF,QAAA,CAAC,CAAC;QAEF,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1B,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;IAC9B;AAEA;;;;AAIG;IACH,sBAAsB,CACpB,KAAiB,EACjB,KAAa,EACb,OAAe,EACf,gBAA0B,EAC1B,kBAA4B,EAC5B,MAAa,EAAA;AAEb,QAAA,MAAM,KAAK,GAAY;YACrB,KAAK;YACL,KAAK;YACL,OAAO;YACP,gBAAgB;YAChB,kBAAkB;YAClB,MAAM;YACN,MAAM,EAAE,IAAI,OAAO;SACpB;AACD,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC1C;AAEA;;;AAGG;AACH,IAAA,qBAAqB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC;AACtD,QAAA,KAAK,CAAC,OAAO,KAAK,wBAAwB;AAC1C,QAAA,KAAK,CAAC,MAAM,KAAK,IAAI,OAAO,EAAE;AAC9B,QAAA,KAAK,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AACrD,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,QAAA,OAAO,KAAK;IACd;AAEA;;;AAGG;AACH,IAAA,qBAAqB,CAAC,KAAe,EAAA;QACnC,MAAM,YAAY,GAAc,EAAE;QAClC,MAAM,YAAY,GAAc,EAAE;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAG;AAC/B,YAAA,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;AAC5B,gBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB;iBAAO;AACL,gBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;QAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;AAEhD,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,IAAG;AAC1B,YAAA,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;AACvB,YAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;AACpC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;AACnC,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,sBAAsB,CAAC,KAAc,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAE7C,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,cAAc;AACzE,YAAA,MAAM,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,CAAC;YACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,IAAI,WAAW;QACnE;IACF;AAEQ,IAAA,uBAAuB,CAAC,KAAc,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE;YAC/D,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,KAAK,EACL,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AACtE,YAAA,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,CAAC,CACvD;QACH;IACF;IAEQ,cAAc,GAAA;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACpC,YAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM;AAChE,SAAA,CAAC;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,kCAAkC,EAClC,IAAI,EACJ,IAAI,CAAC,aAAa,EAAE,CACrB;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAG;AAClD,YAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;AACpC,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAG;AACnD,YAAA,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACrC,QAAA,CAAC,CAAC;IACJ;;;IAIQ,aAAa,GAAA;AACnB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE;AAC3C,YAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AACzB,gBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACtF,MAAM,EAAE,IAAI,CAAC;AACd,aAAA,CAAC;QACJ;AACA,QAAA,OAAO,QAAQ;IACjB;uGAzKW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADb,MAAM,EAAA,CAAA;;2FACnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AChBlC;;;AAGG;;ACHH;;AAEG;;;;"}
@@ -1,13 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, signal, inject, ElementRef, computed, TemplateRef, Component, Injector, Injectable, input, booleanAttribute, Directive, NgModule } from '@angular/core';
2
+ import { InjectionToken, signal, inject, ElementRef, computed, TemplateRef, Component, Injector, Injectable, input, booleanAttribute, PLATFORM_ID, Directive, NgModule } from '@angular/core';
3
+ import { NgTemplateOutlet, NgComponentOutlet, isPlatformBrowser } from '@angular/common';
3
4
  import { Overlay } from '@angular/cdk/overlay';
4
5
  import { ComponentPortal } from '@angular/cdk/portal';
5
6
  import { calculateOverlayArrowPosition, getPositionStrategy, getOverlay } from '@siemens/element-ng/common';
6
- import { NgTemplateOutlet, NgComponentOutlet } from '@angular/common';
7
7
  import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
8
8
 
9
9
  /**
10
- * Copyright (c) Siemens 2016 - 2025
10
+ * Copyright (c) Siemens 2016 - 2026
11
11
  * SPDX-License-Identifier: MIT
12
12
  */
13
13
  const SI_TOOLTIP_CONFIG = new InjectionToken('SiTooltipConfig');
@@ -50,7 +50,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
50
50
  }] });
51
51
 
52
52
  /**
53
- * Copyright (c) Siemens 2016 - 2025
53
+ * Copyright (c) Siemens 2016 - 2026
54
54
  * SPDX-License-Identifier: MIT
55
55
  */
56
56
  /**
@@ -122,7 +122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
122
122
  }] });
123
123
 
124
124
  /**
125
- * Copyright (c) Siemens 2016 - 2025
125
+ * Copyright (c) Siemens 2016 - 2026
126
126
  * SPDX-License-Identifier: MIT
127
127
  */
128
128
  class SiTooltipDirective {
@@ -154,6 +154,7 @@ class SiTooltipDirective {
154
154
  showTimeout;
155
155
  tooltipService = inject(SiTooltipService);
156
156
  elementRef = inject(ElementRef);
157
+ isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
157
158
  ngOnDestroy() {
158
159
  this.clearShowTimeout();
159
160
  this.tooltipRef?.destroy();
@@ -182,8 +183,10 @@ class SiTooltipDirective {
182
183
  this.tooltipRef.show();
183
184
  }, delay);
184
185
  }
185
- focusIn() {
186
- this.showTooltip(true);
186
+ focusIn(event) {
187
+ if (this.isBrowser && event.target.matches(':focus-visible')) {
188
+ this.showTooltip(true);
189
+ }
187
190
  }
188
191
  show() {
189
192
  this.showTooltip(false);
@@ -193,7 +196,7 @@ class SiTooltipDirective {
193
196
  this.tooltipRef?.hide();
194
197
  }
195
198
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
196
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiTooltipDirective, isStandalone: true, selector: "[siTooltip]", inputs: { siTooltip: { classPropertyName: "siTooltip", publicName: "siTooltip", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, tooltipContext: { classPropertyName: "tooltipContext", publicName: "tooltipContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focus": "focusIn()", "mouseenter": "show()", "touchstart": "hide()", "focusout": "hide()", "mouseleave": "hide()" }, properties: { "attr.aria-describedby": "describedBy" } }, providers: [SiTooltipService], ngImport: i0 });
199
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiTooltipDirective, isStandalone: true, selector: "[siTooltip]", inputs: { siTooltip: { classPropertyName: "siTooltip", publicName: "siTooltip", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, tooltipContext: { classPropertyName: "tooltipContext", publicName: "tooltipContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focus": "focusIn($event)", "mouseenter": "show()", "touchstart": "hide()", "focusout": "hide()", "mouseleave": "hide()" }, properties: { "attr.aria-describedby": "describedBy" } }, providers: [SiTooltipService], ngImport: i0 });
197
200
  }
198
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTooltipDirective, decorators: [{
199
202
  type: Directive,
@@ -202,7 +205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
202
205
  providers: [SiTooltipService],
203
206
  host: {
204
207
  '[attr.aria-describedby]': 'describedBy',
205
- '(focus)': 'focusIn()',
208
+ '(focus)': 'focusIn($event)',
206
209
  '(mouseenter)': 'show()',
207
210
  '(touchstart)': 'hide()',
208
211
  '(focusout)': 'hide()',
@@ -212,7 +215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
212
215
  }], propDecorators: { siTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "siTooltip", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: false }] }], tooltipContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipContext", required: false }] }] } });
213
216
 
214
217
  /**
215
- * Copyright (c) Siemens 2016 - 2025
218
+ * Copyright (c) Siemens 2016 - 2026
216
219
  * SPDX-License-Identifier: MIT
217
220
  */
218
221
  class SiTooltipModule {
@@ -229,7 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
229
232
  }] });
230
233
 
231
234
  /**
232
- * Copyright (c) Siemens 2016 - 2025
235
+ * Copyright (c) Siemens 2016 - 2026
233
236
  * SPDX-License-Identifier: MIT
234
237
  */
235
238
 
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-tooltip.mjs","sources":["../../../../projects/element-ng/tooltip/si-tooltip.model.ts","../../../../projects/element-ng/tooltip/si-tooltip.component.ts","../../../../projects/element-ng/tooltip/si-tooltip.component.html","../../../../projects/element-ng/tooltip/si-tooltip.service.ts","../../../../projects/element-ng/tooltip/si-tooltip.directive.ts","../../../../projects/element-ng/tooltip/si-tooltip.module.ts","../../../../projects/element-ng/tooltip/index.ts","../../../../projects/element-ng/tooltip/siemens-element-ng-tooltip.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nexport type SiTooltipContent = TranslatableString | TemplateRef<any> | Type<any> | null | undefined;\n\nexport interface SiTooltipConfig {\n id: string;\n tooltip: () => SiTooltipContent;\n tooltipContext: () => unknown;\n}\n\nexport const SI_TOOLTIP_CONFIG = new InjectionToken<SiTooltipConfig>('SiTooltipConfig');\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, ElementRef, inject, signal, TemplateRef } from '@angular/core';\nimport { calculateOverlayArrowPosition, OverlayArrowPosition } from '@siemens/element-ng/common';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SI_TOOLTIP_CONFIG } from './si-tooltip.model';\n\n@Component({\n selector: 'si-tooltip',\n imports: [NgTemplateOutlet, SiTranslatePipe, NgComponentOutlet],\n templateUrl: './si-tooltip.component.html',\n styleUrl: './si-tooltip.component.scss',\n host: {\n 'animate.leave': 'tooltip-leave'\n }\n})\nexport class TooltipComponent {\n protected readonly tooltipPositionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n\n protected readonly config = inject(SI_TOOLTIP_CONFIG);\n private readonly elementRef = inject(ElementRef);\n\n protected readonly tooltipText = computed<string | null>(() => {\n const tooltip = this.config.tooltip();\n return typeof tooltip === 'string' ? tooltip : null;\n });\n\n protected readonly tooltipTemplate = computed<TemplateRef<any> | null>(() => {\n const tooltip = this.config.tooltip();\n return tooltip instanceof TemplateRef ? tooltip : null;\n });\n\n protected readonly tooltipComponent = computed(() => {\n const tooltip = this.config.tooltip();\n return !(tooltip instanceof TemplateRef) && typeof tooltip !== 'string' ? tooltip : null;\n });\n\n /** @internal */\n updateTooltipPosition(change: ConnectedOverlayPositionChange, anchor?: ElementRef): void {\n const arrowClassTooltip = `tooltip-${change.connectionPair.overlayX}-${change.connectionPair.overlayY}`;\n // need two updates as class changes affect the position\n if (arrowClassTooltip !== this.tooltipPositionClass()) {\n this.tooltipPositionClass.set(arrowClassTooltip);\n }\n const arrowPos = calculateOverlayArrowPosition(change, this.elementRef, anchor);\n this.arrowPos.set(arrowPos);\n }\n}\n","<div\n class=\"tooltip show position-relative\"\n role=\"tooltip\"\n [id]=\"config.id\"\n [class]=\"tooltipPositionClass()\"\n>\n <div\n class=\"tooltip-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n <div class=\"tooltip-inner\">\n @if (tooltipText()) {\n <div class=\"si-body\">{{ tooltipText() | translate }}</div>\n } @else if (tooltipTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"tooltipTemplate()\"\n [ngTemplateOutletContext]=\"config.tooltipContext()\"\n />\n } @else if (tooltipComponent()) {\n <ng-container [ngComponentOutlet]=\"tooltipComponent()!\" />\n }\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector } from '@angular/core';\nimport { getOverlay, getPositionStrategy, positions } from '@siemens/element-ng/common';\nimport { Subscription } from 'rxjs';\n\nimport { TooltipComponent } from './si-tooltip.component';\nimport { SI_TOOLTIP_CONFIG, SiTooltipContent } from './si-tooltip.model';\n\n/**\n * TooltipRef is attached to a specific element.\n * Use it to show or hide a tooltip for that element.\n *\n * @internal\n */\nclass TooltipRef {\n constructor(\n private overlayRef: OverlayRef,\n private element: ElementRef,\n private injector?: Injector\n ) {}\n\n private subscription?: Subscription;\n\n show(): void {\n if (this.overlayRef.hasAttached()) {\n return;\n }\n\n const toolTipPortal = new ComponentPortal(TooltipComponent, undefined, this.injector);\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(toolTipPortal);\n\n const positionStrategy = getPositionStrategy(this.overlayRef);\n this.subscription?.unsubscribe();\n this.subscription = positionStrategy?.positionChanges.subscribe(change =>\n tooltipRef.instance.updateTooltipPosition(change, this.element)\n );\n }\n\n hide(): void {\n this.overlayRef.detach();\n this.subscription?.unsubscribe();\n }\n\n destroy(): void {\n this.overlayRef.dispose();\n this.subscription?.unsubscribe();\n }\n}\n\n/**\n * A service to create tooltips for specific elements.\n * Use this if the tooltip directive is not suitable.\n * Must not be used outside element-ng.\n *\n * @internal\n */\n// We cannot provide this in root, as people may override the cdk overlay creation.\n@Injectable()\nexport class SiTooltipService {\n private overlay = inject(Overlay);\n\n createTooltip(config: {\n describedBy: string;\n element: ElementRef;\n placement: keyof typeof positions;\n injector?: Injector;\n tooltip: () => SiTooltipContent;\n tooltipContext: () => unknown;\n }): TooltipRef {\n const injector = Injector.create({\n parent: config.injector,\n providers: [\n {\n provide: SI_TOOLTIP_CONFIG,\n useValue: {\n id: config.describedBy,\n tooltip: config.tooltip,\n tooltipContext: config.tooltipContext\n }\n }\n ]\n });\n\n return new TooltipRef(\n getOverlay(config.element, this.overlay, false, config.placement),\n config.element,\n injector\n );\n }\n}\n\nexport type { TooltipRef };\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n TemplateRef\n} from '@angular/core';\nimport { positions } from '@siemens/element-ng/common';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiTooltipService, TooltipRef } from './si-tooltip.service';\n\n@Directive({\n selector: '[siTooltip]',\n providers: [SiTooltipService],\n host: {\n '[attr.aria-describedby]': 'describedBy',\n '(focus)': 'focusIn()',\n '(mouseenter)': 'show()',\n '(touchstart)': 'hide()',\n '(focusout)': 'hide()',\n '(mouseleave)': 'hide()'\n }\n})\nexport class SiTooltipDirective implements OnDestroy {\n private static idCounter = 0;\n\n /**\n * The tooltip text to be displayed\n *\n * @defaultValue ''\n */\n readonly siTooltip = input<TranslatableString | TemplateRef<any>>('');\n\n /**\n * The placement of the tooltip. One of 'top', 'start', end', 'bottom'\n *\n * @defaultValue 'auto'\n */\n readonly placement = input<keyof typeof positions>('auto');\n\n /**\n * Allows the tooltip to be disabled\n *\n * @defaultValue false\n */\n readonly isDisabled = input(false, { transform: booleanAttribute });\n\n /**\n * The context for the attached template\n */\n readonly tooltipContext = input();\n\n protected describedBy = `__tooltip_${SiTooltipDirective.idCounter++}`;\n\n private tooltipRef?: TooltipRef;\n private showTimeout?: ReturnType<typeof setTimeout>;\n private tooltipService = inject(SiTooltipService);\n private elementRef = inject(ElementRef);\n\n ngOnDestroy(): void {\n this.clearShowTimeout();\n this.tooltipRef?.destroy();\n }\n\n private clearShowTimeout(): void {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = undefined;\n }\n }\n\n private showTooltip(immediate = false): void {\n const siTooltip = this.siTooltip();\n if (this.isDisabled() || !siTooltip) {\n return;\n }\n\n this.clearShowTimeout();\n\n const delay = immediate ? 0 : 500;\n\n this.showTimeout = setTimeout(() => {\n this.tooltipRef ??= this.tooltipService.createTooltip({\n describedBy: this.describedBy,\n element: this.elementRef,\n placement: this.placement(),\n tooltip: this.siTooltip,\n tooltipContext: this.tooltipContext\n });\n this.tooltipRef.show();\n }, delay);\n }\n\n protected focusIn(): void {\n this.showTooltip(true);\n }\n\n protected show(): void {\n this.showTooltip(false);\n }\n\n protected hide(): void {\n this.clearShowTimeout();\n this.tooltipRef?.hide();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiTooltipDirective } from './si-tooltip.directive';\n\n@NgModule({\n imports: [SiTooltipDirective],\n exports: [SiTooltipDirective]\n})\nexport class SiTooltipModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-tooltip.module';\nexport * from './si-tooltip.directive';\nexport * from './si-tooltip.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAAA;;;AAGG;AAYI,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAkB,iBAAiB,CAAC;;MCM1E,gBAAgB,CAAA;AACR,IAAA,oBAAoB,GAAG,MAAM,CAAC,EAAE,gEAAC;AACjC,IAAA,QAAQ,GAAG,MAAM,CAAmC,SAAS,oDAAC;AAE9D,IAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACpC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAE7B,IAAA,WAAW,GAAG,QAAQ,CAAgB,MAAK;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACrC,QAAA,OAAO,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,IAAI;AACrD,IAAA,CAAC,uDAAC;AAEiB,IAAA,eAAe,GAAG,QAAQ,CAA0B,MAAK;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACrC,OAAO,OAAO,YAAY,WAAW,GAAG,OAAO,GAAG,IAAI;AACxD,IAAA,CAAC,2DAAC;AAEiB,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACrC,QAAA,OAAO,EAAE,OAAO,YAAY,WAAW,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,IAAI;AAC1F,IAAA,CAAC,4DAAC;;IAGF,qBAAqB,CAAC,MAAsC,EAAE,MAAmB,EAAA;AAC/E,QAAA,MAAM,iBAAiB,GAAG,CAAA,QAAA,EAAW,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAA,CAAA,EAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;;AAEvG,QAAA,IAAI,iBAAiB,KAAK,IAAI,CAAC,oBAAoB,EAAE,EAAE;AACrD,YAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAClD;AACA,QAAA,MAAM,QAAQ,GAAG,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;AAC/E,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7B;uGA/BW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,kICrB7B,ssBAwBA,EAAA,MAAA,EAAA,CAAA,+TAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDVY,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAmB,iBAAiB,oRAAlC,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAOhC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;+BACE,YAAY,EAAA,OAAA,EACb,CAAC,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAA,IAAA,EAGzD;AACJ,wBAAA,eAAe,EAAE;AAClB,qBAAA,EAAA,QAAA,EAAA,ssBAAA,EAAA,MAAA,EAAA,CAAA,+TAAA,CAAA,EAAA;;;AEnBH;;;AAGG;AAUH;;;;;AAKG;AACH,MAAM,UAAU,CAAA;AAEJ,IAAA,UAAA;AACA,IAAA,OAAA;AACA,IAAA,QAAA;AAHV,IAAA,WAAA,CACU,UAAsB,EACtB,OAAmB,EACnB,QAAmB,EAAA;QAFnB,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,QAAQ,GAAR,QAAQ;IACf;AAEK,IAAA,YAAY;IAEpB,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;YACjC;QACF;AAEA,QAAA,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC,gBAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;QACrF,MAAM,UAAU,GAAmC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;QAExF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7D,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;QAChC,IAAI,CAAC,YAAY,GAAG,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM,IACpE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAChE;IACH;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AACxB,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;IAClC;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;IAClC;AACD;AAED;;;;;;AAMG;AACH;MAEa,gBAAgB,CAAA;AACnB,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAEjC,IAAA,aAAa,CAAC,MAOb,EAAA;AACC,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,iBAAiB;AAC1B,oBAAA,QAAQ,EAAE;wBACR,EAAE,EAAE,MAAM,CAAC,WAAW;wBACtB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,cAAc,EAAE,MAAM,CAAC;AACxB;AACF;AACF;AACF,SAAA,CAAC;QAEF,OAAO,IAAI,UAAU,CACnB,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EACjE,MAAM,CAAC,OAAO,EACd,QAAQ,CACT;IACH;uGA9BW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAhB,gBAAgB,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B;;;AC9DD;;;AAGG;MA2BU,kBAAkB,CAAA;AACrB,IAAA,OAAO,SAAS,GAAG,CAAC;AAE5B;;;;AAIG;AACM,IAAA,SAAS,GAAG,KAAK,CAAwC,EAAE,qDAAC;AAErE;;;;AAIG;AACM,IAAA,SAAS,GAAG,KAAK,CAAyB,MAAM,qDAAC;AAE1D;;;;AAIG;IACM,UAAU,GAAG,KAAK,CAAC,KAAK,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEnE;;AAEG;IACM,cAAc,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AAEvB,IAAA,WAAW,GAAG,CAAA,UAAA,EAAa,kBAAkB,CAAC,SAAS,EAAE,EAAE;AAE7D,IAAA,UAAU;AACV,IAAA,WAAW;AACX,IAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAEvC,WAAW,GAAA;QACT,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;IAC5B;IAEQ,gBAAgB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS;QAC9B;IACF;IAEQ,WAAW,CAAC,SAAS,GAAG,KAAK,EAAA;AACnC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE;YACnC;QACF;QAEA,IAAI,CAAC,gBAAgB,EAAE;QAEvB,MAAM,KAAK,GAAG,SAAS,GAAG,CAAC,GAAG,GAAG;AAEjC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAK;YACjC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;gBACpD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,UAAU;AACxB,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC3B,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,cAAc,EAAE,IAAI,CAAC;AACtB,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QACxB,CAAC,EAAE,KAAK,CAAC;IACX;IAEU,OAAO,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACxB;IAEU,IAAI,GAAA;AACZ,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IACzB;IAEU,IAAI,GAAA;QACZ,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;IACzB;uGAjFW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAVlB,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAUlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,CAAC,gBAAgB,CAAC;AAC7B,oBAAA,IAAI,EAAE;AACJ,wBAAA,yBAAyB,EAAE,aAAa;AACxC,wBAAA,SAAS,EAAE,WAAW;AACtB,wBAAA,cAAc,EAAE,QAAQ;AACxB,wBAAA,cAAc,EAAE,QAAQ;AACxB,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,cAAc,EAAE;AACjB;AACF,iBAAA;;;AC7BD;;;AAGG;MASU,eAAe,CAAA;uGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAf,eAAe,EAAA,OAAA,EAAA,CAHhB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAClB,kBAAkB,CAAA,EAAA,CAAA;wGAEjB,eAAe,EAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,OAAO,EAAE,CAAC,kBAAkB;AAC7B,iBAAA;;;ACXD;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-tooltip.mjs","sources":["../../../../projects/element-ng/tooltip/si-tooltip.model.ts","../../../../projects/element-ng/tooltip/si-tooltip.component.ts","../../../../projects/element-ng/tooltip/si-tooltip.component.html","../../../../projects/element-ng/tooltip/si-tooltip.service.ts","../../../../projects/element-ng/tooltip/si-tooltip.directive.ts","../../../../projects/element-ng/tooltip/si-tooltip.module.ts","../../../../projects/element-ng/tooltip/index.ts","../../../../projects/element-ng/tooltip/siemens-element-ng-tooltip.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nexport type SiTooltipContent = TranslatableString | TemplateRef<any> | Type<any> | null | undefined;\n\nexport interface SiTooltipConfig {\n id: string;\n tooltip: () => SiTooltipContent;\n tooltipContext: () => unknown;\n}\n\nexport const SI_TOOLTIP_CONFIG = new InjectionToken<SiTooltipConfig>('SiTooltipConfig');\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, ElementRef, inject, signal, TemplateRef } from '@angular/core';\nimport { calculateOverlayArrowPosition, OverlayArrowPosition } from '@siemens/element-ng/common';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SI_TOOLTIP_CONFIG } from './si-tooltip.model';\n\n@Component({\n selector: 'si-tooltip',\n imports: [NgTemplateOutlet, SiTranslatePipe, NgComponentOutlet],\n templateUrl: './si-tooltip.component.html',\n styleUrl: './si-tooltip.component.scss',\n host: {\n 'animate.leave': 'tooltip-leave'\n }\n})\nexport class TooltipComponent {\n protected readonly tooltipPositionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n\n protected readonly config = inject(SI_TOOLTIP_CONFIG);\n private readonly elementRef = inject(ElementRef);\n\n protected readonly tooltipText = computed<string | null>(() => {\n const tooltip = this.config.tooltip();\n return typeof tooltip === 'string' ? tooltip : null;\n });\n\n protected readonly tooltipTemplate = computed<TemplateRef<any> | null>(() => {\n const tooltip = this.config.tooltip();\n return tooltip instanceof TemplateRef ? tooltip : null;\n });\n\n protected readonly tooltipComponent = computed(() => {\n const tooltip = this.config.tooltip();\n return !(tooltip instanceof TemplateRef) && typeof tooltip !== 'string' ? tooltip : null;\n });\n\n /** @internal */\n updateTooltipPosition(change: ConnectedOverlayPositionChange, anchor?: ElementRef): void {\n const arrowClassTooltip = `tooltip-${change.connectionPair.overlayX}-${change.connectionPair.overlayY}`;\n // need two updates as class changes affect the position\n if (arrowClassTooltip !== this.tooltipPositionClass()) {\n this.tooltipPositionClass.set(arrowClassTooltip);\n }\n const arrowPos = calculateOverlayArrowPosition(change, this.elementRef, anchor);\n this.arrowPos.set(arrowPos);\n }\n}\n","<div\n class=\"tooltip show position-relative\"\n role=\"tooltip\"\n [id]=\"config.id\"\n [class]=\"tooltipPositionClass()\"\n>\n <div\n class=\"tooltip-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n <div class=\"tooltip-inner\">\n @if (tooltipText()) {\n <div class=\"si-body\">{{ tooltipText() | translate }}</div>\n } @else if (tooltipTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"tooltipTemplate()\"\n [ngTemplateOutletContext]=\"config.tooltipContext()\"\n />\n } @else if (tooltipComponent()) {\n <ng-container [ngComponentOutlet]=\"tooltipComponent()!\" />\n }\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector } from '@angular/core';\nimport { getOverlay, getPositionStrategy, positions } from '@siemens/element-ng/common';\nimport { Subscription } from 'rxjs';\n\nimport { TooltipComponent } from './si-tooltip.component';\nimport { SI_TOOLTIP_CONFIG, SiTooltipContent } from './si-tooltip.model';\n\n/**\n * TooltipRef is attached to a specific element.\n * Use it to show or hide a tooltip for that element.\n *\n * @internal\n */\nclass TooltipRef {\n constructor(\n private overlayRef: OverlayRef,\n private element: ElementRef,\n private injector?: Injector\n ) {}\n\n private subscription?: Subscription;\n\n show(): void {\n if (this.overlayRef.hasAttached()) {\n return;\n }\n\n const toolTipPortal = new ComponentPortal(TooltipComponent, undefined, this.injector);\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(toolTipPortal);\n\n const positionStrategy = getPositionStrategy(this.overlayRef);\n this.subscription?.unsubscribe();\n this.subscription = positionStrategy?.positionChanges.subscribe(change =>\n tooltipRef.instance.updateTooltipPosition(change, this.element)\n );\n }\n\n hide(): void {\n this.overlayRef.detach();\n this.subscription?.unsubscribe();\n }\n\n destroy(): void {\n this.overlayRef.dispose();\n this.subscription?.unsubscribe();\n }\n}\n\n/**\n * A service to create tooltips for specific elements.\n * Use this if the tooltip directive is not suitable.\n * Must not be used outside element-ng.\n *\n * @internal\n */\n// We cannot provide this in root, as people may override the cdk overlay creation.\n@Injectable()\nexport class SiTooltipService {\n private overlay = inject(Overlay);\n\n createTooltip(config: {\n describedBy: string;\n element: ElementRef;\n placement: keyof typeof positions;\n injector?: Injector;\n tooltip: () => SiTooltipContent;\n tooltipContext: () => unknown;\n }): TooltipRef {\n const injector = Injector.create({\n parent: config.injector,\n providers: [\n {\n provide: SI_TOOLTIP_CONFIG,\n useValue: {\n id: config.describedBy,\n tooltip: config.tooltip,\n tooltipContext: config.tooltipContext\n }\n }\n ]\n });\n\n return new TooltipRef(\n getOverlay(config.element, this.overlay, false, config.placement),\n config.element,\n injector\n );\n }\n}\n\nexport type { TooltipRef };\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n PLATFORM_ID,\n TemplateRef\n} from '@angular/core';\nimport { positions } from '@siemens/element-ng/common';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiTooltipService, TooltipRef } from './si-tooltip.service';\n\n@Directive({\n selector: '[siTooltip]',\n providers: [SiTooltipService],\n host: {\n '[attr.aria-describedby]': 'describedBy',\n '(focus)': 'focusIn($event)',\n '(mouseenter)': 'show()',\n '(touchstart)': 'hide()',\n '(focusout)': 'hide()',\n '(mouseleave)': 'hide()'\n }\n})\nexport class SiTooltipDirective implements OnDestroy {\n private static idCounter = 0;\n\n /**\n * The tooltip text to be displayed\n *\n * @defaultValue ''\n */\n readonly siTooltip = input<TranslatableString | TemplateRef<any>>('');\n\n /**\n * The placement of the tooltip. One of 'top', 'start', end', 'bottom'\n *\n * @defaultValue 'auto'\n */\n readonly placement = input<keyof typeof positions>('auto');\n\n /**\n * Allows the tooltip to be disabled\n *\n * @defaultValue false\n */\n readonly isDisabled = input(false, { transform: booleanAttribute });\n\n /**\n * The context for the attached template\n */\n readonly tooltipContext = input();\n\n protected describedBy = `__tooltip_${SiTooltipDirective.idCounter++}`;\n\n private tooltipRef?: TooltipRef;\n private showTimeout?: ReturnType<typeof setTimeout>;\n private tooltipService = inject(SiTooltipService);\n private elementRef = inject(ElementRef);\n private isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n ngOnDestroy(): void {\n this.clearShowTimeout();\n this.tooltipRef?.destroy();\n }\n\n private clearShowTimeout(): void {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = undefined;\n }\n }\n\n private showTooltip(immediate = false): void {\n const siTooltip = this.siTooltip();\n if (this.isDisabled() || !siTooltip) {\n return;\n }\n\n this.clearShowTimeout();\n\n const delay = immediate ? 0 : 500;\n\n this.showTimeout = setTimeout(() => {\n this.tooltipRef ??= this.tooltipService.createTooltip({\n describedBy: this.describedBy,\n element: this.elementRef,\n placement: this.placement(),\n tooltip: this.siTooltip,\n tooltipContext: this.tooltipContext\n });\n this.tooltipRef.show();\n }, delay);\n }\n\n protected focusIn(event: FocusEvent): void {\n if (this.isBrowser && (event.target as Element).matches(':focus-visible')) {\n this.showTooltip(true);\n }\n }\n\n protected show(): void {\n this.showTooltip(false);\n }\n\n protected hide(): void {\n this.clearShowTimeout();\n this.tooltipRef?.hide();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiTooltipDirective } from './si-tooltip.directive';\n\n@NgModule({\n imports: [SiTooltipDirective],\n exports: [SiTooltipDirective]\n})\nexport class SiTooltipModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-tooltip.module';\nexport * from './si-tooltip.directive';\nexport * from './si-tooltip.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
15
15
  const SI_TOUR_TOKEN = new InjectionToken('SI_TOUR_TOKEN');
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
  class SiTourHighlightComponent {
@@ -46,7 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
46
46
  }], ctorParameters: () => [] });
47
47
 
48
48
  /**
49
- * Copyright (c) Siemens 2016 - 2025
49
+ * Copyright (c) Siemens 2016 - 2026
50
50
  * SPDX-License-Identifier: MIT
51
51
  */
52
52
  class SiTourComponent {
@@ -135,7 +135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
135
135
  }] } });
136
136
 
137
137
  /**
138
- * Copyright (c) Siemens 2016 - 2025
138
+ * Copyright (c) Siemens 2016 - 2026
139
139
  * SPDX-License-Identifier: MIT
140
140
  */
141
141
  class SiTourService {
@@ -408,7 +408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
408
408
  }], ctorParameters: () => [] });
409
409
 
410
410
  /**
411
- * Copyright (c) Siemens 2016 - 2025
411
+ * Copyright (c) Siemens 2016 - 2026
412
412
  * SPDX-License-Identifier: MIT
413
413
  */
414
414