@siemens/element-ng 49.13.0 → 51.0.0-rc.3

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 (229) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/siemens-element-ng-about.mjs +41 -25
  3. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  4. package/fesm2022/siemens-element-ng-accordion.mjs +56 -39
  5. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-action-modal.mjs +81 -51
  7. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-ag-grid.mjs +15 -12
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-application-header.mjs +142 -137
  11. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-avatar.mjs +31 -21
  17. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  18. package/fesm2022/siemens-element-ng-badge.mjs +9 -8
  19. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  22. package/fesm2022/siemens-element-ng-breadcrumb.mjs +18 -15
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-card.mjs +71 -46
  25. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-carousel.mjs +55 -32
  27. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs +175 -111
  29. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-circle-status.mjs +37 -24
  31. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-color-picker.mjs +24 -16
  33. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +52 -33
  35. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-common.mjs +12 -12
  37. package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-content-action-bar.mjs +35 -26
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-dashboard.mjs +327 -213
  44. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-datatable.mjs +8 -8
  46. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-date-range-filter.mjs +119 -72
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-datepicker.mjs +358 -234
  50. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +21 -16
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
  54. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-file-uploader.mjs +93 -81
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-filter-bar.mjs +29 -22
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-filtered-search.mjs +243 -147
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-footer.mjs +12 -10
  62. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-form.mjs +267 -84
  64. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
  66. package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
  67. package/fesm2022/siemens-element-ng-formly.mjs +220 -315
  68. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-header-dropdown.mjs +38 -29
  70. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-help-button.mjs +5 -5
  72. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-icon.mjs +46 -47
  74. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
  76. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
  80. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-landing-page.mjs +118 -72
  82. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-link.mjs +31 -21
  86. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-list-details.mjs +73 -54
  88. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-loading-spinner.mjs +42 -33
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-localization.mjs +14 -12
  92. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-main-detail-container.mjs +46 -29
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +6 -5
  96. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  97. package/fesm2022/siemens-element-ng-menu.mjs +56 -48
  98. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-modal.mjs +12 -10
  100. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +133 -94
  102. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +117 -81
  104. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-navbar.mjs +67 -41
  106. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
  108. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-number-input.mjs +38 -27
  110. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
  112. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-password-strength.mjs +31 -22
  114. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-password-toggle.mjs +18 -13
  116. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-phone-number.mjs +121 -138
  118. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-photo-upload.mjs +76 -45
  120. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-pills-input.mjs +63 -58
  122. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
  124. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-popover.mjs +33 -26
  126. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
  128. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
  130. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
  132. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-search-bar.mjs +32 -24
  134. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-select.mjs +212 -154
  136. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
  138. package/fesm2022/siemens-element-ng-side-panel.mjs +119 -75
  139. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-skip-links.mjs +14 -13
  141. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-slider.mjs +42 -28
  143. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-split.mjs +268 -254
  145. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-status-bar.mjs +57 -47
  147. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
  149. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-status-toggle.mjs +22 -14
  151. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
  153. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
  155. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-system-banner.mjs +11 -8
  157. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +16 -15
  159. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  160. package/fesm2022/siemens-element-ng-tabs.mjs +59 -45
  161. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-theme.mjs +5 -4
  163. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-threshold.mjs +59 -40
  165. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-toast-notification.mjs +45 -40
  167. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-tooltip.mjs +52 -54
  169. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-tour.mjs +28 -19
  171. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-translate.mjs +0 -1
  173. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-tree-view.mjs +92 -73
  175. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-typeahead.mjs +75 -67
  177. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-wizard.mjs +72 -48
  179. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  180. package/formly-legacy/package.json +4 -0
  181. package/package.json +20 -22
  182. package/schematics/migration.json +4 -4
  183. package/schematics/migrations/data/class-member-replacement.js +1 -19
  184. package/schematics/migrations/data/component-property-names.js +1 -25
  185. package/schematics/migrations/data/element-class-changes.js +1 -28
  186. package/schematics/migrations/data/element-migration-data.js +2 -0
  187. package/schematics/migrations/data/element-selectors.js +1 -11
  188. package/schematics/migrations/data/index.js +0 -4
  189. package/schematics/migrations/data/migration-test-data.js +9 -6
  190. package/schematics/migrations/data/provider-function-removals.js +7 -0
  191. package/schematics/migrations/data/symbol-removals.js +7 -7
  192. package/schematics/migrations/data/symbol-renaming.js +1 -48
  193. package/schematics/migrations/element-migration/element-migration.js +3 -6
  194. package/schematics/migrations/utilities/import-removal.js +39 -0
  195. package/schematics/migrations/utilities/index.js +2 -0
  196. package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
  197. package/schematics/ng-update/index.js +1 -1
  198. package/schematics/ng-update/{migrate-to-v49.js → migrate-to-v51.js} +2 -2
  199. package/template-i18n.json +3 -6
  200. package/types/siemens-element-ng-application-header.d.ts +1 -21
  201. package/types/siemens-element-ng-chat-messages.d.ts +6 -4
  202. package/types/siemens-element-ng-circle-status.d.ts +1 -1
  203. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  204. package/types/siemens-element-ng-datepicker.d.ts +1 -12
  205. package/types/siemens-element-ng-file-uploader.d.ts +5 -23
  206. package/types/siemens-element-ng-filtered-search.d.ts +1 -1
  207. package/types/siemens-element-ng-form.d.ts +134 -37
  208. package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
  209. package/types/siemens-element-ng-formly.d.ts +34 -167
  210. package/types/siemens-element-ng-icon.d.ts +2 -19
  211. package/types/siemens-element-ng-navbar-vertical-next.d.ts +6 -1
  212. package/types/siemens-element-ng-notification-item.d.ts +12 -0
  213. package/types/siemens-element-ng-phone-number.d.ts +5 -8
  214. package/types/siemens-element-ng-resize-observer.d.ts +0 -17
  215. package/types/siemens-element-ng-split.d.ts +95 -63
  216. package/types/siemens-element-ng-status-bar.d.ts +5 -13
  217. package/types/siemens-element-ng-status-counter.d.ts +1 -1
  218. package/types/siemens-element-ng-toast-notification.d.ts +0 -1
  219. package/types/siemens-element-ng-translate.d.ts +1 -5
  220. package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
  221. package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
  222. package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
  223. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
  224. package/icon-status/package.json +0 -4
  225. package/schematics/vitest-setup.js +0 -5
  226. package/sort-bar/package.json +0 -4
  227. package/types/siemens-element-ng-icon-status.d.ts +0 -25
  228. package/types/siemens-element-ng-sort-bar.d.ts +0 -59
  229. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-pills-input.mjs","sources":["../../../../projects/element-ng/pills-input/si-input-pill.component.ts","../../../../projects/element-ng/pills-input/si-input-pill.component.html","../../../../projects/element-ng/pills-input/si-pills-input-value-handler.ts","../../../../projects/element-ng/pills-input/si-pills-input.component.ts","../../../../projects/element-ng/pills-input/si-pills-input.component.html","../../../../projects/element-ng/pills-input/si-pills-input-pattern-base.ts","../../../../projects/element-ng/pills-input/si-pills-input-csv.directive.ts","../../../../projects/element-ng/pills-input/si-pills-input-email.directive.ts","../../../../projects/element-ng/pills-input/si-pills-input.module.ts","../../../../projects/element-ng/pills-input/index.ts","../../../../projects/element-ng/pills-input/siemens-element-ng-pills-input.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\n@Component({\n selector: 'si-input-pill',\n imports: [SiIconComponent],\n templateUrl: './si-input-pill.component.html',\n styles: '.btn { cursor: pointer; }',\n changeDetection: ChangeDetectionStrategy.Default,\n host: {\n class: 'pill pe-0',\n '[class.pe-4]': 'hideClose()'\n }\n})\nexport class SiInputPillComponent {\n readonly deletePill = output<void>();\n\n /** @defaultValue false */\n readonly hideClose = input(false);\n\n protected readonly icons = addIcons({ elementCancel });\n}\n","<div class=\"text-truncate\">\n <ng-content />\n</div>\n@if (!hideClose()) {\n <span\n class=\"ms-2 btn btn-circle btn-sm btn-tertiary-ghost\"\n aria-hidden=\"true\"\n (click)=\"deletePill.emit()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </span>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nexport interface SiPillsInputValueParseResult {\n newValue: string;\n newPills: string[];\n}\n\nexport type SiPillsInputValueHandlerTrigger = 'input' | 'keydown.enter' | 'blur';\n\n@Directive()\nexport abstract class SiPillsInputValueHandlerDirective {\n /** @internal */\n abstract handle(\n value: string,\n trigger: SiPillsInputValueHandlerTrigger\n ): SiPillsInputValueParseResult | undefined;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ElementRef,\n HostListener,\n inject,\n input,\n OnInit,\n signal,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiInputPillComponent } from './si-input-pill.component';\nimport {\n SiPillsInputValueHandlerDirective,\n SiPillsInputValueHandlerTrigger\n} from './si-pills-input-value-handler';\n\n@Component({\n selector: 'si-pills-input',\n imports: [SiInputPillComponent, SiTranslatePipe],\n templateUrl: './si-pills-input.component.html',\n styleUrl: './si-pills-input.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiPillsInputComponent,\n multi: true\n },\n {\n provide: SI_FORM_ITEM_CONTROL,\n useExisting: SiPillsInputComponent\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'form-control',\n role: 'listbox',\n 'aria-orientation': 'horizontal',\n '[class.disabled]': 'disabled()',\n '[attr.aria-disabled]': 'disabled()',\n '[class.readonly]': 'readonly()',\n '[attr.aria-readonly]': 'readonly()',\n // using attr so that tabindex is removed if not defined\n '[attr.tabindex]': 'tabindex()',\n '[attr.aria-activedescendant]': 'activeDescendant()',\n '[attr.aria-labelledby]': 'labelledby()',\n '[attr.aria-describedby]': 'errormessageId()'\n }\n})\nexport class SiPillsInputComponent implements OnInit, ControlValueAccessor, SiFormItemControl {\n private static idCounter = 0;\n\n /**\n * The identifier of the pills-input. Will be generated if not provided.\n *\n * @defaultValue\n * ```\n * `__si-pills-input-${SiPillsInputComponent.idCounter++}`\n * ```\n */\n readonly id = input(`__si-pills-input-${SiPillsInputComponent.idCounter++}`);\n\n /**\n * The aria-label for the inner input where users enter new items.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL:Create item`)\n * ```\n */\n readonly inputElementAriaLabel = input(\n t(() => $localize`:@@SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL:Create item`)\n );\n\n /**\n * Whether the pills-input is disabled.\n *\n * @defaultValue false\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n /**\n * Whether the pills-input is readonly\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n /** The placeholder to be shown if no value is currently present. */\n readonly placeholder = input<TranslatableString>();\n\n /**\n * @defaultValue\n * ```\n * `${this.id()}-label`\n * ```\n */\n readonly labelledby = input(`${this.id()}-label`);\n\n /**\n * This ID will be bound to the `aria-describedby` attribute of the pills-input.\n * Use this to reference the element containing the error message(s) for the pills-input.\n * It will be picked by the {@link SiFormItemComponent} if the pills-input is used inside a form item.\n *\n * @defaultValue\n * ```\n * `${this.id()}-errormessage`\n * ```\n */\n readonly errormessageId = input(`${this.id()}-errormessage`);\n\n protected inputValue = '';\n protected onTouched: () => void = () => {};\n protected onChange: (val: any) => void = () => {};\n\n protected readonly pills = signal<string[]>([]);\n protected readonly activePillIndex = signal<number | undefined>(undefined);\n protected readonly inputId = computed(() => `${this.id()}-input`);\n protected readonly disabled = computed(() => this.disabledInput() || this.disabledNgControl());\n protected readonly activeDescendant = computed(() => {\n const activePillIndex = this.activePillIndex();\n return activePillIndex !== undefined ? `${this.id()}-pill-${activePillIndex}` : null;\n });\n\n protected readonly tabindex = computed(() =>\n this.disabled() ? undefined : this.readonly() ? 0 : -1\n );\n private readonly inputElement = viewChild<ElementRef<HTMLInputElement>>('inputElement');\n private readonly disabledNgControl = signal(false);\n private siPillsInputValueHandlerDirective = inject(SiPillsInputValueHandlerDirective, {\n optional: true\n });\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnInit(): void {\n this.siPillsInputValueHandlerDirective ??= {\n handle: (value, trigger) => {\n if (trigger !== 'input') {\n return {\n newPills: [value],\n newValue: ''\n };\n }\n return undefined;\n }\n };\n }\n\n protected input(): void {\n this.inputValue = this.inputElement()!.nativeElement.value;\n this.rebuildValue(this.inputValue, 'input');\n }\n\n @HostListener('click')\n protected click(): void {\n this.inputElement()?.nativeElement.focus();\n }\n\n protected blur(): void {\n this.rebuildValue(this.inputValue, 'blur');\n this.activePillIndex.set(undefined);\n this.onTouched();\n }\n\n protected keydownEnter(event: Event): void {\n this.rebuildValue(this.inputValue, 'keydown.enter');\n event.preventDefault();\n }\n\n protected keydownBackspace(event: Event): void {\n const count = this.pills().length;\n if (!this.inputValue && count) {\n const lastChipValue = this.pills().at(-1)!;\n this.remove(count - 1, false);\n this.inputValue = lastChipValue;\n event.preventDefault();\n }\n }\n\n protected remove(index: number, focus = true): void {\n this.pills.update(pills => pills.filter((_, pillIndex) => index !== pillIndex));\n this.onTouched();\n this.onChange(this.pills());\n if (focus) {\n this.inputElement()!.nativeElement.focus();\n }\n }\n\n private rebuildValue(value: string, trigger: SiPillsInputValueHandlerTrigger): void {\n if (value) {\n const valueParseResult = this.siPillsInputValueHandlerDirective?.handle(value, trigger);\n if (valueParseResult) {\n this.pills.update(pills => [...pills, ...valueParseResult.newPills]);\n // Doesn't update when setting to empty string.\n // Not using setTimeout to avoid flickering.\n this.cdRef.detectChanges();\n this.inputValue = valueParseResult.newValue;\n this.cdRef.detectChanges();\n\n if (valueParseResult.newPills.length) {\n this.onTouched();\n this.onChange(this.pills());\n }\n }\n }\n }\n\n @HostListener('keydown.arrowLeft') protected arrowLeft(): void {\n const activePillIndex = this.activePillIndex();\n const count = this.pills().length;\n if (activePillIndex !== undefined) {\n this.activePillIndex.set(Math.max(0, activePillIndex - 1));\n } else if (!this.inputValue.length && count) {\n this.elementRef.nativeElement.focus();\n this.activePillIndex.set(count - 1);\n }\n }\n\n @HostListener('keydown.arrowRight') protected arrowRight(): void {\n const activePillIndex = this.activePillIndex();\n if (activePillIndex !== undefined) {\n this.activePillIndex.set(activePillIndex + 1);\n\n if (this.activePillIndex()! >= this.pills().length) {\n this.inputElement()?.nativeElement.focus();\n this.activePillIndex.set(undefined);\n }\n }\n }\n\n @HostListener('keydown.backspace')\n @HostListener('keydown.delete')\n protected delete(): void {\n const activePillIndex = this.activePillIndex();\n const count = this.pills().length;\n if (activePillIndex !== undefined && !this.readonly()) {\n const targetIndex = count > 1 ? Math.min(activePillIndex, count - 2) : undefined;\n this.remove(activePillIndex, targetIndex === undefined);\n this.activePillIndex.set(targetIndex);\n }\n }\n\n /** @internal */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @internal */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @internal */\n setDisabledState(isDisabled: boolean): void {\n this.disabledNgControl.set(isDisabled);\n }\n\n /** @internal */\n writeValue(value?: string[] | null): void {\n this.pills.set(value?.slice() ?? []);\n }\n}\n","<!-- aria-required-children is disabled here -->\n@for (chip of pills(); track $index) {\n <si-input-pill\n role=\"option\"\n [id]=\"id() + '-pill-' + $index\"\n [class.active]=\"$index === activePillIndex()\"\n [hideClose]=\"disabled() || readonly()\"\n (deletePill)=\"remove($index)\"\n >\n {{ chip }}\n </si-input-pill>\n}\n@if (!readonly() && !disabled()) {\n <div role=\"presentation\" class=\"flex-fill\">\n <input\n #inputElement\n class=\"focus-none\"\n [id]=\"inputId()\"\n [attr.aria-label]=\"inputElementAriaLabel() | translate\"\n [placeholder]=\"(!pills().length ? (placeholder() ?? '') : '') | translate\"\n [value]=\"inputValue\"\n (keydown.enter)=\"keydownEnter($event)\"\n (keydown.backspace)=\"keydownBackspace($event)\"\n (input)=\"input()\"\n (blur)=\"blur()\"\n />\n </div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { signal, Signal } from '@angular/core';\n\nimport {\n SiPillsInputValueHandlerTrigger,\n SiPillsInputValueParseResult\n} from './si-pills-input-value-handler';\n\nexport const SEPARATOR_REGEX = /\\s*[;,]\\s*/g;\n\nexport abstract class SiPillsInputPatternBase {\n /**\n * Regex to split the input value into segments.\n *\n * @defaultValue SEPARATOR_REGEX\n */\n readonly separatorRegex = signal(SEPARATOR_REGEX);\n /** Regex to validate an input string item. */\n readonly validationRegex?: Signal<RegExp | undefined>;\n\n /** @internal */\n handle(\n value: string,\n trigger: SiPillsInputValueHandlerTrigger\n ): SiPillsInputValueParseResult | undefined {\n const segments = value.split(this.separatorRegex()).map(s => s.trim());\n const itemRegex = this.validationRegex?.();\n if (segments.length) {\n const newValue = trigger === 'input' ? segments.pop()! : '';\n if (\n segments.every(segment => {\n return segment && (!itemRegex || segment.match(itemRegex));\n })\n ) {\n return {\n newPills: segments,\n newValue\n };\n }\n }\n\n return {\n newPills: [],\n newValue: value\n };\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, input } from '@angular/core';\n\nimport { SiPillsInputPatternBase } from './si-pills-input-pattern-base';\nimport { SiPillsInputValueHandlerDirective } from './si-pills-input-value-handler';\n\n@Directive({\n selector: '[siPillsInputCsv]',\n providers: [\n {\n provide: SiPillsInputValueHandlerDirective,\n useExisting: SiPillsInputCsvDirective\n }\n ]\n})\nexport class SiPillsInputCsvDirective extends SiPillsInputPatternBase {\n /** @defaultValue undefined */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n override readonly validationRegex = input<RegExp>(undefined, { alias: 'pillsInputCsvItemRegex' });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, signal } from '@angular/core';\n\nimport { SiPillsInputPatternBase } from './si-pills-input-pattern-base';\nimport { SiPillsInputValueHandlerDirective } from './si-pills-input-value-handler';\n\n// From Angular Email Validator\nconst EMAIL_REGEX =\n /^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/g;\n\n@Directive({\n selector: '[siPillsInputEmail]',\n providers: [\n {\n provide: SiPillsInputValueHandlerDirective,\n useExisting: SiPillsInputEmailDirective\n }\n ]\n})\nexport class SiPillsInputEmailDirective extends SiPillsInputPatternBase {\n /**\n * @defaultValue signal(EMAIL_REGEX).asReadonly()\n */\n override readonly validationRegex = signal(EMAIL_REGEX).asReadonly();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiPillsInputCsvDirective } from './si-pills-input-csv.directive';\nimport { SiPillsInputEmailDirective } from './si-pills-input-email.directive';\nimport { SiPillsInputComponent } from './si-pills-input.component';\n\n@NgModule({\n imports: [SiPillsInputComponent, SiPillsInputCsvDirective, SiPillsInputEmailDirective],\n exports: [SiPillsInputComponent, SiPillsInputCsvDirective, SiPillsInputEmailDirective]\n})\nexport class SiPillsInputModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-pills-input.component';\nexport * from './si-pills-input.module';\nexport * from './si-pills-input-csv.directive';\nexport * from './si-pills-input-email.directive';\nexport * from './si-pills-input-value-handler';\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-pills-input.mjs","sources":["../../../../projects/element-ng/pills-input/si-input-pill.component.ts","../../../../projects/element-ng/pills-input/si-input-pill.component.html","../../../../projects/element-ng/pills-input/si-pills-input-value-handler.ts","../../../../projects/element-ng/pills-input/si-pills-input.component.ts","../../../../projects/element-ng/pills-input/si-pills-input.component.html","../../../../projects/element-ng/pills-input/si-pills-input-pattern-base.ts","../../../../projects/element-ng/pills-input/si-pills-input-csv.directive.ts","../../../../projects/element-ng/pills-input/si-pills-input-email.directive.ts","../../../../projects/element-ng/pills-input/si-pills-input.module.ts","../../../../projects/element-ng/pills-input/index.ts","../../../../projects/element-ng/pills-input/siemens-element-ng-pills-input.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\n@Component({\n selector: 'si-input-pill',\n imports: [SiIconComponent],\n templateUrl: './si-input-pill.component.html',\n styles: '.btn { cursor: pointer; }',\n changeDetection: ChangeDetectionStrategy.Eager,\n host: {\n class: 'pill pe-0',\n '[class.pe-4]': 'hideClose()'\n }\n})\nexport class SiInputPillComponent {\n readonly deletePill = output<void>();\n\n /** @defaultValue false */\n readonly hideClose = input(false);\n\n protected readonly icons = addIcons({ elementCancel });\n}\n","<div class=\"text-truncate\">\n <ng-content />\n</div>\n@if (!hideClose()) {\n <span\n class=\"ms-2 btn btn-circle btn-sm btn-tertiary-ghost\"\n aria-hidden=\"true\"\n (click)=\"deletePill.emit()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </span>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nexport interface SiPillsInputValueParseResult {\n newValue: string;\n newPills: string[];\n}\n\nexport type SiPillsInputValueHandlerTrigger = 'input' | 'keydown.enter' | 'blur';\n\n@Directive()\nexport abstract class SiPillsInputValueHandlerDirective {\n /** @internal */\n abstract handle(\n value: string,\n trigger: SiPillsInputValueHandlerTrigger\n ): SiPillsInputValueParseResult | undefined;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n OnInit,\n signal,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiInputPillComponent } from './si-input-pill.component';\nimport {\n SiPillsInputValueHandlerDirective,\n SiPillsInputValueHandlerTrigger\n} from './si-pills-input-value-handler';\n\n@Component({\n selector: 'si-pills-input',\n imports: [SiInputPillComponent, SiTranslatePipe],\n templateUrl: './si-pills-input.component.html',\n styleUrl: './si-pills-input.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiPillsInputComponent,\n multi: true\n },\n {\n provide: SI_FORM_ITEM_CONTROL,\n useExisting: SiPillsInputComponent\n }\n ],\n host: {\n class: 'form-control',\n role: 'listbox',\n 'aria-orientation': 'horizontal',\n '[class.disabled]': 'disabled()',\n '[attr.aria-disabled]': 'disabled()',\n '[class.readonly]': 'readonly()',\n '[attr.aria-readonly]': 'readonly()',\n // using attr so that tabindex is removed if not defined\n '[attr.tabindex]': 'tabindex()',\n '[attr.aria-activedescendant]': 'activeDescendant()',\n '[attr.aria-labelledby]': 'labelledby()',\n '[attr.aria-describedby]': 'errormessageId()',\n '(click)': 'click()',\n '(keydown.arrowLeft)': 'arrowLeft()',\n '(keydown.arrowRight)': 'arrowRight()',\n '(keydown.backspace)': 'delete()',\n '(keydown.delete)': 'delete()'\n }\n})\nexport class SiPillsInputComponent implements OnInit, ControlValueAccessor, SiFormItemControl {\n private static idCounter = 0;\n\n /**\n * The identifier of the pills-input. Will be generated if not provided.\n *\n * @defaultValue\n * ```\n * `__si-pills-input-${SiPillsInputComponent.idCounter++}`\n * ```\n */\n readonly id = input(`__si-pills-input-${SiPillsInputComponent.idCounter++}`);\n\n /**\n * The aria-label for the inner input where users enter new items.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL:Create item`)\n * ```\n */\n readonly inputElementAriaLabel = input(\n t(() => $localize`:@@SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL:Create item`)\n );\n\n /**\n * Whether the pills-input is disabled.\n *\n * @defaultValue false\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n /**\n * Whether the pills-input is readonly\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n /** The placeholder to be shown if no value is currently present. */\n readonly placeholder = input<TranslatableString>();\n\n /**\n * @defaultValue\n * ```\n * `${this.id()}-label`\n * ```\n */\n readonly labelledby = input(`${this.id()}-label`);\n\n /**\n * This ID will be bound to the `aria-describedby` attribute of the pills-input.\n * Use this to reference the element containing the error message(s) for the pills-input.\n * It will be picked by the {@link SiFormItemComponent} if the pills-input is used inside a form item.\n *\n * @defaultValue\n * ```\n * `${this.id()}-errormessage`\n * ```\n */\n readonly errormessageId = input(`${this.id()}-errormessage`);\n\n protected inputValue = '';\n protected onTouched: () => void = () => {};\n protected onChange: (val: any) => void = () => {};\n\n protected readonly pills = signal<string[]>([]);\n protected readonly activePillIndex = signal<number | undefined>(undefined);\n protected readonly inputId = computed(() => `${this.id()}-input`);\n protected readonly disabled = computed(() => this.disabledInput() || this.disabledNgControl());\n protected readonly activeDescendant = computed(() => {\n const activePillIndex = this.activePillIndex();\n return activePillIndex !== undefined ? `${this.id()}-pill-${activePillIndex}` : null;\n });\n\n protected readonly tabindex = computed(() =>\n this.disabled() ? undefined : this.readonly() ? 0 : -1\n );\n private readonly inputElement = viewChild<ElementRef<HTMLInputElement>>('inputElement');\n private readonly disabledNgControl = signal(false);\n private siPillsInputValueHandlerDirective = inject(SiPillsInputValueHandlerDirective, {\n optional: true\n });\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnInit(): void {\n this.siPillsInputValueHandlerDirective ??= {\n handle: (value, trigger) => {\n if (trigger !== 'input') {\n return {\n newPills: [value],\n newValue: ''\n };\n }\n return undefined;\n }\n };\n }\n\n protected input(): void {\n this.inputValue = this.inputElement()!.nativeElement.value;\n this.rebuildValue(this.inputValue, 'input');\n }\n\n protected click(): void {\n this.inputElement()?.nativeElement.focus();\n }\n\n protected blur(): void {\n this.rebuildValue(this.inputValue, 'blur');\n this.activePillIndex.set(undefined);\n this.onTouched();\n }\n\n protected keydownEnter(event: Event): void {\n this.rebuildValue(this.inputValue, 'keydown.enter');\n event.preventDefault();\n }\n\n protected keydownBackspace(event: Event): void {\n const count = this.pills().length;\n if (!this.inputValue && count) {\n const lastChipValue = this.pills().at(-1)!;\n this.remove(count - 1, false);\n this.inputValue = lastChipValue;\n event.preventDefault();\n }\n }\n\n protected remove(index: number, focus = true): void {\n this.pills.update(pills => pills.filter((_, pillIndex) => index !== pillIndex));\n this.onTouched();\n this.onChange(this.pills());\n if (focus) {\n this.inputElement()!.nativeElement.focus();\n }\n }\n\n private rebuildValue(value: string, trigger: SiPillsInputValueHandlerTrigger): void {\n if (value) {\n const valueParseResult = this.siPillsInputValueHandlerDirective?.handle(value, trigger);\n if (valueParseResult) {\n this.pills.update(pills => [...pills, ...valueParseResult.newPills]);\n // Doesn't update when setting to empty string.\n // Not using setTimeout to avoid flickering.\n this.cdRef.detectChanges();\n this.inputValue = valueParseResult.newValue;\n this.cdRef.detectChanges();\n\n if (valueParseResult.newPills.length) {\n this.onTouched();\n this.onChange(this.pills());\n }\n }\n }\n }\n\n protected arrowLeft(): void {\n const activePillIndex = this.activePillIndex();\n const count = this.pills().length;\n if (activePillIndex !== undefined) {\n this.activePillIndex.set(Math.max(0, activePillIndex - 1));\n } else if (!this.inputValue.length && count) {\n this.elementRef.nativeElement.focus();\n this.activePillIndex.set(count - 1);\n }\n }\n\n protected arrowRight(): void {\n const activePillIndex = this.activePillIndex();\n if (activePillIndex !== undefined) {\n this.activePillIndex.set(activePillIndex + 1);\n\n if (this.activePillIndex()! >= this.pills().length) {\n this.inputElement()?.nativeElement.focus();\n this.activePillIndex.set(undefined);\n }\n }\n }\n\n protected delete(): void {\n const activePillIndex = this.activePillIndex();\n const count = this.pills().length;\n if (activePillIndex !== undefined && !this.readonly()) {\n const targetIndex = count > 1 ? Math.min(activePillIndex, count - 2) : undefined;\n this.remove(activePillIndex, targetIndex === undefined);\n this.activePillIndex.set(targetIndex);\n }\n }\n\n /** @internal */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @internal */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @internal */\n setDisabledState(isDisabled: boolean): void {\n this.disabledNgControl.set(isDisabled);\n }\n\n /** @internal */\n writeValue(value?: string[] | null): void {\n this.pills.set(value?.slice() ?? []);\n }\n}\n","<!-- aria-required-children is disabled here -->\n@for (chip of pills(); track $index) {\n <si-input-pill\n role=\"option\"\n [id]=\"id() + '-pill-' + $index\"\n [class.active]=\"$index === activePillIndex()\"\n [hideClose]=\"disabled() || readonly()\"\n (deletePill)=\"remove($index)\"\n >\n {{ chip }}\n </si-input-pill>\n}\n@if (!readonly() && !disabled()) {\n <div role=\"presentation\" class=\"flex-fill\">\n <input\n #inputElement\n class=\"focus-none\"\n [id]=\"inputId()\"\n [attr.aria-label]=\"inputElementAriaLabel() | translate\"\n [placeholder]=\"(!pills().length ? (placeholder() ?? '') : '') | translate\"\n [value]=\"inputValue\"\n (keydown.enter)=\"keydownEnter($event)\"\n (keydown.backspace)=\"keydownBackspace($event)\"\n (input)=\"input()\"\n (blur)=\"blur()\"\n />\n </div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { signal, Signal } from '@angular/core';\n\nimport {\n SiPillsInputValueHandlerTrigger,\n SiPillsInputValueParseResult\n} from './si-pills-input-value-handler';\n\nexport const SEPARATOR_REGEX = /\\s*[;,]\\s*/g;\n\nexport abstract class SiPillsInputPatternBase {\n /**\n * Regex to split the input value into segments.\n *\n * @defaultValue SEPARATOR_REGEX\n */\n readonly separatorRegex = signal(SEPARATOR_REGEX);\n /** Regex to validate an input string item. */\n readonly validationRegex?: Signal<RegExp | undefined>;\n\n /** @internal */\n handle(\n value: string,\n trigger: SiPillsInputValueHandlerTrigger\n ): SiPillsInputValueParseResult | undefined {\n const segments = value.split(this.separatorRegex()).map(s => s.trim());\n const itemRegex = this.validationRegex?.();\n if (segments.length) {\n const newValue = trigger === 'input' ? segments.pop()! : '';\n if (\n segments.every(segment => {\n return segment && (!itemRegex || segment.match(itemRegex));\n })\n ) {\n return {\n newPills: segments,\n newValue\n };\n }\n }\n\n return {\n newPills: [],\n newValue: value\n };\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, input } from '@angular/core';\n\nimport { SiPillsInputPatternBase } from './si-pills-input-pattern-base';\nimport { SiPillsInputValueHandlerDirective } from './si-pills-input-value-handler';\n\n@Directive({\n selector: '[siPillsInputCsv]',\n providers: [\n {\n provide: SiPillsInputValueHandlerDirective,\n useExisting: SiPillsInputCsvDirective\n }\n ]\n})\nexport class SiPillsInputCsvDirective extends SiPillsInputPatternBase {\n /** @defaultValue undefined */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n override readonly validationRegex = input<RegExp>(undefined, { alias: 'pillsInputCsvItemRegex' });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, signal } from '@angular/core';\n\nimport { SiPillsInputPatternBase } from './si-pills-input-pattern-base';\nimport { SiPillsInputValueHandlerDirective } from './si-pills-input-value-handler';\n\n// From Angular Email Validator\nconst EMAIL_REGEX =\n /^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/g;\n\n@Directive({\n selector: '[siPillsInputEmail]',\n providers: [\n {\n provide: SiPillsInputValueHandlerDirective,\n useExisting: SiPillsInputEmailDirective\n }\n ]\n})\nexport class SiPillsInputEmailDirective extends SiPillsInputPatternBase {\n /**\n * @defaultValue signal(EMAIL_REGEX).asReadonly()\n */\n override readonly validationRegex = signal(EMAIL_REGEX).asReadonly();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiPillsInputCsvDirective } from './si-pills-input-csv.directive';\nimport { SiPillsInputEmailDirective } from './si-pills-input-email.directive';\nimport { SiPillsInputComponent } from './si-pills-input.component';\n\n@NgModule({\n imports: [SiPillsInputComponent, SiPillsInputCsvDirective, SiPillsInputEmailDirective],\n exports: [SiPillsInputComponent, SiPillsInputCsvDirective, SiPillsInputEmailDirective]\n})\nexport class SiPillsInputModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-pills-input.component';\nexport * from './si-pills-input.module';\nexport * from './si-pills-input-csv.directive';\nexport * from './si-pills-input-email.directive';\nexport * from './si-pills-input-value-handler';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,15 +8,22 @@ import { NgTemplateOutlet } from '@angular/common';
8
8
  import { SiIconComponent } from '@siemens/element-ng/icon';
9
9
 
10
10
  class PopoverComponent {
11
- popover = input(...(ngDevMode ? [undefined, { debugName: "popover" }] : []));
11
+ popover = input(/* @ts-ignore */
12
+ ...(ngDevMode ? [undefined, { debugName: "popover" }] : /* istanbul ignore next */ []));
12
13
  /** @defaultValue '' */
13
- popoverTitle = input('', ...(ngDevMode ? [{ debugName: "popoverTitle" }] : []));
14
+ popoverTitle = input('', /* @ts-ignore */
15
+ ...(ngDevMode ? [{ debugName: "popoverTitle" }] : /* istanbul ignore next */ []));
14
16
  /** @defaultValue '' */
15
- containerClass = input('', ...(ngDevMode ? [{ debugName: "containerClass" }] : []));
16
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
17
- popoverContext = input(...(ngDevMode ? [undefined, { debugName: "popoverContext" }] : []));
18
- positionClass = signal('', ...(ngDevMode ? [{ debugName: "positionClass" }] : []));
19
- arrowPos = signal(undefined, ...(ngDevMode ? [{ debugName: "arrowPos" }] : []));
17
+ containerClass = input('', /* @ts-ignore */
18
+ ...(ngDevMode ? [{ debugName: "containerClass" }] : /* istanbul ignore next */ []));
19
+ icon = input(/* @ts-ignore */
20
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
21
+ popoverContext = input(/* @ts-ignore */
22
+ ...(ngDevMode ? [undefined, { debugName: "popoverContext" }] : /* istanbul ignore next */ []));
23
+ positionClass = signal('', /* @ts-ignore */
24
+ ...(ngDevMode ? [{ debugName: "positionClass" }] : /* istanbul ignore next */ []));
25
+ arrowPos = signal(undefined, /* @ts-ignore */
26
+ ...(ngDevMode ? [{ debugName: "arrowPos" }] : /* istanbul ignore next */ []));
20
27
  popoverTemplate = null;
21
28
  elementRef = inject(ElementRef);
22
29
  ngOnInit() {
@@ -33,12 +40,12 @@ class PopoverComponent {
33
40
  const arrowPos = calculateOverlayArrowPosition(change, this.elementRef, anchor);
34
41
  this.arrowPos.set(arrowPos);
35
42
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: PopoverComponent, isStandalone: true, selector: "si-popover", inputs: { popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, popoverTitle: { classPropertyName: "popoverTitle", publicName: "popoverTitle", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, popoverContext: { classPropertyName: "popoverContext", publicName: "popoverContext", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"popover position-relative focus-outline-padding\"\n [class]=\"[containerClass(), positionClass()]\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popoverTitle()) {\n <div class=\"popover-header\">\n @let iconValue = icon();\n @if (iconValue) {\n <si-icon class=\"icon me-2\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\">{{ popoverTitle() }}</span>\n </div>\n }\n <div class=\"popover-body\">\n @if (!popoverTemplate) {\n <div class=\"si-body\" [innerHTML]=\"popover()\"></div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popoverContext()\"\n />\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: PopoverComponent, isStandalone: true, selector: "si-popover", inputs: { popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, popoverTitle: { classPropertyName: "popoverTitle", publicName: "popoverTitle", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, popoverContext: { classPropertyName: "popoverContext", publicName: "popoverContext", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"popover position-relative focus-outline-padding\"\n [class]=\"[containerClass(), positionClass()]\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popoverTitle()) {\n <div class=\"popover-header\">\n @let iconValue = icon();\n @if (iconValue) {\n <si-icon class=\"icon me-2\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\">{{ popoverTitle() }}</span>\n </div>\n }\n <div class=\"popover-body\">\n @if (!popoverTemplate) {\n <div class=\"si-body\" [innerHTML]=\"popover()\"></div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popoverContext()\"\n />\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
38
45
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PopoverComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverComponent, decorators: [{
40
47
  type: Component,
41
- args: [{ selector: 'si-popover', imports: [NgTemplateOutlet, SiIconComponent], changeDetection: ChangeDetectionStrategy.Default, template: "<div\n class=\"popover position-relative focus-outline-padding\"\n [class]=\"[containerClass(), positionClass()]\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popoverTitle()) {\n <div class=\"popover-header\">\n @let iconValue = icon();\n @if (iconValue) {\n <si-icon class=\"icon me-2\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\">{{ popoverTitle() }}</span>\n </div>\n }\n <div class=\"popover-body\">\n @if (!popoverTemplate) {\n <div class=\"si-body\" [innerHTML]=\"popover()\"></div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popoverContext()\"\n />\n }\n </div>\n</div>\n" }]
48
+ args: [{ selector: 'si-popover', imports: [NgTemplateOutlet, SiIconComponent], changeDetection: ChangeDetectionStrategy.Eager, template: "<div\n class=\"popover position-relative focus-outline-padding\"\n [class]=\"[containerClass(), positionClass()]\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popoverTitle()) {\n <div class=\"popover-header\">\n @let iconValue = icon();\n @if (iconValue) {\n <si-icon class=\"icon me-2\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\">{{ popoverTitle() }}</span>\n </div>\n }\n <div class=\"popover-body\">\n @if (!popoverTemplate) {\n <div class=\"si-body\" [innerHTML]=\"popover()\"></div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popoverContext()\"\n />\n }\n </div>\n</div>\n" }]
42
49
  }], propDecorators: { popover: [{ type: i0.Input, args: [{ isSignal: true, alias: "popover", required: false }] }], popoverTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "popoverTitle", required: false }] }], containerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "containerClass", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], popoverContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "popoverContext", required: false }] }] } });
43
50
 
44
51
  /**
@@ -52,13 +59,15 @@ class SiPopoverLegacyDirective {
52
59
  /**
53
60
  * The popover text to be displayed
54
61
  */
55
- siPopoverLegacy = input(...(ngDevMode ? [undefined, { debugName: "siPopoverLegacy" }] : []));
62
+ siPopoverLegacy = input(/* @ts-ignore */
63
+ ...(ngDevMode ? [undefined, { debugName: "siPopoverLegacy" }] : /* istanbul ignore next */ []));
56
64
  /**
57
65
  * The placement of the popover. One of 'top', 'start', end', 'bottom'
58
66
  *
59
67
  * @defaultValue 'auto'
60
68
  */
61
- placement = input('auto', ...(ngDevMode ? [{ debugName: "placement" }] : []));
69
+ placement = input('auto', /* @ts-ignore */
70
+ ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
62
71
  placementInternal = computed(() => {
63
72
  if (this.placement() !== 'top' &&
64
73
  this.placement() !== 'bottom' &&
@@ -69,7 +78,8 @@ class SiPopoverLegacyDirective {
69
78
  else {
70
79
  return this.placement();
71
80
  }
72
- }, ...(ngDevMode ? [{ debugName: "placementInternal" }] : []));
81
+ }, /* @ts-ignore */
82
+ ...(ngDevMode ? [{ debugName: "placementInternal" }] : /* istanbul ignore next */ []));
73
83
  /**
74
84
  * The trigger event(s) on which the popover shall be displayed.
75
85
  * Applications can pass multiple triggers separated by space.
@@ -81,39 +91,44 @@ class SiPopoverLegacyDirective {
81
91
  *
82
92
  * @defaultValue 'click'
83
93
  */
84
- triggers = input('click', ...(ngDevMode ? [{ debugName: "triggers" }] : []));
94
+ triggers = input('click', /* @ts-ignore */
95
+ ...(ngDevMode ? [{ debugName: "triggers" }] : /* istanbul ignore next */ []));
85
96
  /**
86
97
  * The title to be displayed on top for the popover
87
98
  *
88
99
  * @defaultValue ''
89
100
  */
90
- popoverTitle = input('', ...(ngDevMode ? [{ debugName: "popoverTitle" }] : []));
101
+ popoverTitle = input('', /* @ts-ignore */
102
+ ...(ngDevMode ? [{ debugName: "popoverTitle" }] : /* istanbul ignore next */ []));
91
103
  /**
92
104
  * The class that will be applied to container of the popover
93
105
  *
94
106
  * @defaultValue ''
95
107
  */
96
- containerClass = input('', ...(ngDevMode ? [{ debugName: "containerClass" }] : []));
108
+ containerClass = input('', /* @ts-ignore */
109
+ ...(ngDevMode ? [{ debugName: "containerClass" }] : /* istanbul ignore next */ []));
97
110
  /**
98
111
  * The flag determines whether to close popover on clicking outside
99
112
  *
100
113
  * @defaultValue true
101
114
  */
102
- outsideClick = input(true, { ...(ngDevMode ? { debugName: "outsideClick" } : {}), transform: booleanAttribute });
115
+ outsideClick = input(true, { ...(ngDevMode ? { debugName: "outsideClick" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
103
116
  /**
104
117
  * The icon to be displayed besides popover title
105
118
  */
106
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
119
+ icon = input(/* @ts-ignore */
120
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
107
121
  /**
108
122
  * Specify whether or not the popover is currently shown
109
123
  *
110
124
  * @defaultValue false
111
125
  */
112
- isOpen = input(false, { ...(ngDevMode ? { debugName: "isOpen" } : {}), transform: booleanAttribute });
126
+ isOpen = input(false, { ...(ngDevMode ? { debugName: "isOpen" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
113
127
  /**
114
128
  * The context for the attached template
115
129
  */
116
- popoverContext = input(...(ngDevMode ? [undefined, { debugName: "popoverContext" }] : []));
130
+ popoverContext = input(/* @ts-ignore */
131
+ ...(ngDevMode ? [undefined, { debugName: "popoverContext" }] : /* istanbul ignore next */ []));
117
132
  /**
118
133
  * Emits an event when the popover is shown
119
134
  */
@@ -200,10 +215,10 @@ class SiPopoverLegacyDirective {
200
215
  }
201
216
  }
202
217
  }
203
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverLegacyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
204
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiPopoverLegacyDirective, isStandalone: true, selector: "[siPopoverLegacy]", inputs: { siPopoverLegacy: { classPropertyName: "siPopoverLegacy", publicName: "siPopoverLegacy", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, triggers: { classPropertyName: "triggers", publicName: "triggers", isSignal: true, isRequired: false, transformFunction: null }, popoverTitle: { classPropertyName: "popoverTitle", publicName: "popoverTitle", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, outsideClick: { classPropertyName: "outsideClick", publicName: "outsideClick", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, popoverContext: { classPropertyName: "popoverContext", publicName: "popoverContext", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { shown: "shown", hidden: "hidden" }, host: { listeners: { "mouseenter": "onTrigger(\"hover\")", "mouseleave": "onTrigger(\"hover\")", "focus": "onTrigger(\"focus\")", "click": "onTrigger(\"click\")", "touchstart": "focusOut()", "focusout": "focusOut()" } }, exportAs: ["si-popover"], ngImport: i0 });
218
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverLegacyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
219
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: SiPopoverLegacyDirective, isStandalone: true, selector: "[siPopoverLegacy]", inputs: { siPopoverLegacy: { classPropertyName: "siPopoverLegacy", publicName: "siPopoverLegacy", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, triggers: { classPropertyName: "triggers", publicName: "triggers", isSignal: true, isRequired: false, transformFunction: null }, popoverTitle: { classPropertyName: "popoverTitle", publicName: "popoverTitle", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, outsideClick: { classPropertyName: "outsideClick", publicName: "outsideClick", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, popoverContext: { classPropertyName: "popoverContext", publicName: "popoverContext", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { shown: "shown", hidden: "hidden" }, host: { listeners: { "mouseenter": "onTrigger(\"hover\")", "mouseleave": "onTrigger(\"hover\")", "focus": "onTrigger(\"focus\")", "click": "onTrigger(\"click\")", "touchstart": "focusOut()", "focusout": "focusOut()" } }, exportAs: ["si-popover"], ngImport: i0 });
205
220
  }
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverLegacyDirective, decorators: [{
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverLegacyDirective, decorators: [{
207
222
  type: Directive,
208
223
  args: [{
209
224
  selector: '[siPopoverLegacy]',
@@ -237,11 +252,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
237
252
  * @deprecated Use {@link SiPopoverDirective} instead.
238
253
  */
239
254
  class SiPopoverLegacyModule {
240
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverLegacyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
241
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverLegacyModule, imports: [SiPopoverLegacyDirective], exports: [SiPopoverLegacyDirective] });
242
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverLegacyModule });
255
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverLegacyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
256
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverLegacyModule, imports: [SiPopoverLegacyDirective], exports: [SiPopoverLegacyDirective] });
257
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverLegacyModule });
243
258
  }
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverLegacyModule, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverLegacyModule, decorators: [{
245
260
  type: NgModule,
246
261
  args: [{
247
262
  imports: [SiPopoverLegacyDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-popover-legacy.mjs","sources":["../../../../projects/element-ng/popover-legacy/si-popover.component.ts","../../../../projects/element-ng/popover-legacy/si-popover.component.html","../../../../projects/element-ng/popover-legacy/si-popover-legacy.directive.ts","../../../../projects/element-ng/popover-legacy/si-popover-legacy.module.ts","../../../../projects/element-ng/popover-legacy/index.ts","../../../../projects/element-ng/popover-legacy/siemens-element-ng-popover-legacy.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n OnInit,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { calculateOverlayArrowPosition, OverlayArrowPosition } from '@siemens/element-ng/common';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\n@Component({\n selector: 'si-popover',\n imports: [NgTemplateOutlet, SiIconComponent],\n templateUrl: './si-popover.component.html',\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class PopoverComponent implements OnInit {\n readonly popover = input<string | TemplateRef<any>>();\n /** @defaultValue '' */\n readonly popoverTitle = input('');\n /** @defaultValue '' */\n readonly containerClass = input('');\n readonly icon = input<string>();\n readonly popoverContext = input<unknown>();\n\n protected readonly positionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n protected popoverTemplate: TemplateRef<any> | null = null;\n\n private elementRef = inject(ElementRef);\n\n ngOnInit(): void {\n const popover = this.popover();\n if (popover instanceof TemplateRef) {\n this.popoverTemplate = popover;\n }\n }\n\n /** @internal */\n updateArrow(change: ConnectedOverlayPositionChange, anchor?: ElementRef): void {\n const positionClass = `popover-${change.connectionPair.overlayX}-${change.connectionPair.overlayY}`;\n // need two updates as class changes affect the position\n this.positionClass.set(positionClass);\n const arrowPos = calculateOverlayArrowPosition(change, this.elementRef, anchor);\n this.arrowPos.set(arrowPos);\n }\n}\n","<div\n class=\"popover position-relative focus-outline-padding\"\n [class]=\"[containerClass(), positionClass()]\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popoverTitle()) {\n <div class=\"popover-header\">\n @let iconValue = icon();\n @if (iconValue) {\n <si-icon class=\"icon me-2\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\">{{ popoverTitle() }}</span>\n </div>\n }\n <div class=\"popover-body\">\n @if (!popoverTemplate) {\n <div class=\"si-body\" [innerHTML]=\"popover()\"></div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popoverContext()\"\n />\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 {\n booleanAttribute,\n ComponentRef,\n computed,\n Directive,\n ElementRef,\n HostListener,\n inject,\n input,\n OnDestroy,\n OnInit,\n output,\n TemplateRef\n} from '@angular/core';\nimport { getOverlay, getPositionStrategy, hasTrigger, positions } from '@siemens/element-ng/common';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { PopoverComponent } from './si-popover.component';\n\n/**\n * @deprecated Use {@link SiPopoverDirective} instead.\n */\n@Directive({\n selector: '[siPopoverLegacy]',\n exportAs: 'si-popover'\n})\nexport class SiPopoverLegacyDirective implements OnInit, OnDestroy {\n /**\n * The popover text to be displayed\n */\n readonly siPopoverLegacy = input<string | TemplateRef<any>>();\n\n /**\n * The placement of the popover. One of 'top', 'start', end', 'bottom'\n *\n * @defaultValue 'auto'\n */\n readonly placement = input<keyof typeof positions>('auto');\n\n readonly placementInternal = computed(() => {\n if (\n this.placement() !== 'top' &&\n this.placement() !== 'bottom' &&\n this.placement() !== 'start' &&\n this.placement() !== 'end'\n ) {\n return 'auto';\n } else {\n return this.placement();\n }\n });\n\n /**\n * The trigger event(s) on which the popover shall be displayed.\n * Applications can pass multiple triggers separated by space.\n * Supported events are 'click', 'hover' and 'focus'.\n *\n * **Limitations:**\n * Safari browsers do not raise a 'focus' event on host element click and 'focus'\n * on tab key has to be enabled in the advanced browser settings.\n *\n * @defaultValue 'click'\n */\n readonly triggers = input('click');\n\n /**\n * The title to be displayed on top for the popover\n *\n * @defaultValue ''\n */\n readonly popoverTitle = input('');\n\n /**\n * The class that will be applied to container of the popover\n *\n * @defaultValue ''\n */\n readonly containerClass = input('');\n\n /**\n * The flag determines whether to close popover on clicking outside\n *\n * @defaultValue true\n */\n readonly outsideClick = input(true, { transform: booleanAttribute });\n\n /**\n * The icon to be displayed besides popover title\n */\n readonly icon = input<string>();\n\n /**\n * Specify whether or not the popover is currently shown\n *\n * @defaultValue false\n */\n readonly isOpen = input<boolean | undefined, unknown>(false, { transform: booleanAttribute });\n\n /**\n * The context for the attached template\n */\n readonly popoverContext = input<unknown>();\n\n /**\n * Emits an event when the popover is shown\n */\n readonly shown = output<void>();\n\n /**\n * Emits an event when the popover is hidden\n */\n readonly hidden = output<void>();\n\n private overlayref?: OverlayRef;\n private overlay = inject(Overlay);\n private elementRef = inject(ElementRef);\n private destroyer = new Subject<void>();\n\n ngOnInit(): void {\n if (this.isOpen()) {\n this.show();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayref?.dispose();\n this.destroyer.next();\n this.destroyer.complete();\n }\n\n /**\n * Displays popover and emits 'shown' event.\n */\n show(): void {\n if (!this.overlayref?.hasAttached()) {\n const triggers = this.triggers();\n const backdrop =\n this.outsideClick() && !hasTrigger('focus', triggers) && !hasTrigger('hover', triggers);\n this.overlayref = getOverlay(\n this.elementRef,\n this.overlay,\n backdrop,\n this.placementInternal()\n );\n if (backdrop) {\n this.overlayref\n .backdropClick()\n .pipe(takeUntil(this.destroyer))\n .subscribe(() => this.hide());\n }\n }\n\n if (this.overlayref.hasAttached()) {\n return;\n }\n const popoverPortal = new ComponentPortal(PopoverComponent);\n const popoverRef: ComponentRef<PopoverComponent> = this.overlayref.attach(popoverPortal);\n\n popoverRef.setInput('popover', this.siPopoverLegacy());\n popoverRef.setInput('popoverTitle', this.popoverTitle());\n popoverRef.setInput('icon', this.icon());\n popoverRef.setInput('containerClass', this.containerClass());\n popoverRef.setInput('popoverContext', this.popoverContext());\n\n const positionStrategy = getPositionStrategy(this.overlayref);\n positionStrategy?.positionChanges\n .pipe(takeUntil(this.destroyer))\n .subscribe(change => popoverRef.instance.updateArrow(change, this.elementRef));\n\n this.shown.emit();\n }\n\n /**\n * Hides the popover and emits 'hidden' event.\n */\n hide(): void {\n if (this.overlayref?.hasAttached()) {\n this.overlayref?.detach();\n this.hidden.emit();\n this.destroyer.next();\n }\n }\n\n /**\n * Updates the position of the popover based on the position strategy.\n */\n updatePosition(): void {\n this.overlayref?.updatePosition();\n }\n\n @HostListener('mouseenter', ['\"hover\"'])\n @HostListener('mouseleave', ['\"hover\"'])\n @HostListener('focus', ['\"focus\"'])\n @HostListener('click', ['\"click\"'])\n protected onTrigger(trigger: string): void {\n if (hasTrigger(trigger, this.triggers())) {\n if (this.overlayref?.hasAttached()) {\n this.hide();\n } else {\n this.show();\n }\n }\n }\n\n @HostListener('touchstart')\n @HostListener('focusout')\n protected focusOut(): void {\n if (hasTrigger('focus', this.triggers())) {\n if (this.outsideClick()) {\n this.hide();\n }\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiPopoverLegacyDirective } from './si-popover-legacy.directive';\n\n/**\n * @deprecated Use {@link SiPopoverDirective} instead.\n */\n@NgModule({\n imports: [SiPopoverLegacyDirective],\n exports: [SiPopoverLegacyDirective]\n})\nexport class SiPopoverLegacyModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-popover-legacy.directive';\nexport * from './si-popover-legacy.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-popover-legacy.mjs","sources":["../../../../projects/element-ng/popover-legacy/si-popover.component.ts","../../../../projects/element-ng/popover-legacy/si-popover.component.html","../../../../projects/element-ng/popover-legacy/si-popover-legacy.directive.ts","../../../../projects/element-ng/popover-legacy/si-popover-legacy.module.ts","../../../../projects/element-ng/popover-legacy/index.ts","../../../../projects/element-ng/popover-legacy/siemens-element-ng-popover-legacy.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n OnInit,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { calculateOverlayArrowPosition, OverlayArrowPosition } from '@siemens/element-ng/common';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\n@Component({\n selector: 'si-popover',\n imports: [NgTemplateOutlet, SiIconComponent],\n templateUrl: './si-popover.component.html',\n changeDetection: ChangeDetectionStrategy.Eager\n})\nexport class PopoverComponent implements OnInit {\n readonly popover = input<string | TemplateRef<any>>();\n /** @defaultValue '' */\n readonly popoverTitle = input('');\n /** @defaultValue '' */\n readonly containerClass = input('');\n readonly icon = input<string>();\n readonly popoverContext = input<unknown>();\n\n protected readonly positionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n protected popoverTemplate: TemplateRef<any> | null = null;\n\n private elementRef = inject(ElementRef);\n\n ngOnInit(): void {\n const popover = this.popover();\n if (popover instanceof TemplateRef) {\n this.popoverTemplate = popover;\n }\n }\n\n /** @internal */\n updateArrow(change: ConnectedOverlayPositionChange, anchor?: ElementRef): void {\n const positionClass = `popover-${change.connectionPair.overlayX}-${change.connectionPair.overlayY}`;\n // need two updates as class changes affect the position\n this.positionClass.set(positionClass);\n const arrowPos = calculateOverlayArrowPosition(change, this.elementRef, anchor);\n this.arrowPos.set(arrowPos);\n }\n}\n","<div\n class=\"popover position-relative focus-outline-padding\"\n [class]=\"[containerClass(), positionClass()]\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popoverTitle()) {\n <div class=\"popover-header\">\n @let iconValue = icon();\n @if (iconValue) {\n <si-icon class=\"icon me-2\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\">{{ popoverTitle() }}</span>\n </div>\n }\n <div class=\"popover-body\">\n @if (!popoverTemplate) {\n <div class=\"si-body\" [innerHTML]=\"popover()\"></div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popoverContext()\"\n />\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 {\n booleanAttribute,\n ComponentRef,\n computed,\n Directive,\n ElementRef,\n HostListener,\n inject,\n input,\n OnDestroy,\n OnInit,\n output,\n TemplateRef\n} from '@angular/core';\nimport { getOverlay, getPositionStrategy, hasTrigger, positions } from '@siemens/element-ng/common';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { PopoverComponent } from './si-popover.component';\n\n/**\n * @deprecated Use {@link SiPopoverDirective} instead.\n */\n@Directive({\n selector: '[siPopoverLegacy]',\n exportAs: 'si-popover'\n})\nexport class SiPopoverLegacyDirective implements OnInit, OnDestroy {\n /**\n * The popover text to be displayed\n */\n readonly siPopoverLegacy = input<string | TemplateRef<any>>();\n\n /**\n * The placement of the popover. One of 'top', 'start', end', 'bottom'\n *\n * @defaultValue 'auto'\n */\n readonly placement = input<keyof typeof positions>('auto');\n\n readonly placementInternal = computed(() => {\n if (\n this.placement() !== 'top' &&\n this.placement() !== 'bottom' &&\n this.placement() !== 'start' &&\n this.placement() !== 'end'\n ) {\n return 'auto';\n } else {\n return this.placement();\n }\n });\n\n /**\n * The trigger event(s) on which the popover shall be displayed.\n * Applications can pass multiple triggers separated by space.\n * Supported events are 'click', 'hover' and 'focus'.\n *\n * **Limitations:**\n * Safari browsers do not raise a 'focus' event on host element click and 'focus'\n * on tab key has to be enabled in the advanced browser settings.\n *\n * @defaultValue 'click'\n */\n readonly triggers = input('click');\n\n /**\n * The title to be displayed on top for the popover\n *\n * @defaultValue ''\n */\n readonly popoverTitle = input('');\n\n /**\n * The class that will be applied to container of the popover\n *\n * @defaultValue ''\n */\n readonly containerClass = input('');\n\n /**\n * The flag determines whether to close popover on clicking outside\n *\n * @defaultValue true\n */\n readonly outsideClick = input(true, { transform: booleanAttribute });\n\n /**\n * The icon to be displayed besides popover title\n */\n readonly icon = input<string>();\n\n /**\n * Specify whether or not the popover is currently shown\n *\n * @defaultValue false\n */\n readonly isOpen = input<boolean | undefined, unknown>(false, { transform: booleanAttribute });\n\n /**\n * The context for the attached template\n */\n readonly popoverContext = input<unknown>();\n\n /**\n * Emits an event when the popover is shown\n */\n readonly shown = output<void>();\n\n /**\n * Emits an event when the popover is hidden\n */\n readonly hidden = output<void>();\n\n private overlayref?: OverlayRef;\n private overlay = inject(Overlay);\n private elementRef = inject(ElementRef);\n private destroyer = new Subject<void>();\n\n ngOnInit(): void {\n if (this.isOpen()) {\n this.show();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayref?.dispose();\n this.destroyer.next();\n this.destroyer.complete();\n }\n\n /**\n * Displays popover and emits 'shown' event.\n */\n show(): void {\n if (!this.overlayref?.hasAttached()) {\n const triggers = this.triggers();\n const backdrop =\n this.outsideClick() && !hasTrigger('focus', triggers) && !hasTrigger('hover', triggers);\n this.overlayref = getOverlay(\n this.elementRef,\n this.overlay,\n backdrop,\n this.placementInternal()\n );\n if (backdrop) {\n this.overlayref\n .backdropClick()\n .pipe(takeUntil(this.destroyer))\n .subscribe(() => this.hide());\n }\n }\n\n if (this.overlayref.hasAttached()) {\n return;\n }\n const popoverPortal = new ComponentPortal(PopoverComponent);\n const popoverRef: ComponentRef<PopoverComponent> = this.overlayref.attach(popoverPortal);\n\n popoverRef.setInput('popover', this.siPopoverLegacy());\n popoverRef.setInput('popoverTitle', this.popoverTitle());\n popoverRef.setInput('icon', this.icon());\n popoverRef.setInput('containerClass', this.containerClass());\n popoverRef.setInput('popoverContext', this.popoverContext());\n\n const positionStrategy = getPositionStrategy(this.overlayref);\n positionStrategy?.positionChanges\n .pipe(takeUntil(this.destroyer))\n .subscribe(change => popoverRef.instance.updateArrow(change, this.elementRef));\n\n this.shown.emit();\n }\n\n /**\n * Hides the popover and emits 'hidden' event.\n */\n hide(): void {\n if (this.overlayref?.hasAttached()) {\n this.overlayref?.detach();\n this.hidden.emit();\n this.destroyer.next();\n }\n }\n\n /**\n * Updates the position of the popover based on the position strategy.\n */\n updatePosition(): void {\n this.overlayref?.updatePosition();\n }\n\n @HostListener('mouseenter', ['\"hover\"'])\n @HostListener('mouseleave', ['\"hover\"'])\n @HostListener('focus', ['\"focus\"'])\n @HostListener('click', ['\"click\"'])\n protected onTrigger(trigger: string): void {\n if (hasTrigger(trigger, this.triggers())) {\n if (this.overlayref?.hasAttached()) {\n this.hide();\n } else {\n this.show();\n }\n }\n }\n\n @HostListener('touchstart')\n @HostListener('focusout')\n protected focusOut(): void {\n if (hasTrigger('focus', this.triggers())) {\n if (this.outsideClick()) {\n this.hide();\n }\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiPopoverLegacyDirective } from './si-popover-legacy.directive';\n\n/**\n * @deprecated Use {@link SiPopoverDirective} instead.\n */\n@NgModule({\n imports: [SiPopoverLegacyDirective],\n exports: [SiPopoverLegacyDirective]\n})\nexport class SiPopoverLegacyModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-popover-legacy.directive';\nexport * from './si-popover-legacy.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,18 +14,22 @@ import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
14
14
  * SPDX-License-Identifier: MIT
15
15
  */
16
16
  class PopoverComponent {
17
- popoverDirective = input.required(...(ngDevMode ? [{ debugName: "popoverDirective" }] : []));
17
+ popoverDirective = input.required(/* @ts-ignore */
18
+ ...(ngDevMode ? [{ debugName: "popoverDirective" }] : /* istanbul ignore next */ []));
18
19
  popoverWrapper = viewChild.required('popoverWrapper');
19
20
  /** @internal */
20
21
  labelledBy;
21
22
  /** @internal */
22
23
  describedBy;
23
- positionClass = signal('', ...(ngDevMode ? [{ debugName: "positionClass" }] : []));
24
- arrowPos = signal(undefined, ...(ngDevMode ? [{ debugName: "arrowPos" }] : []));
24
+ positionClass = signal('', /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "positionClass" }] : /* istanbul ignore next */ []));
26
+ arrowPos = signal(undefined, /* @ts-ignore */
27
+ ...(ngDevMode ? [{ debugName: "arrowPos" }] : /* istanbul ignore next */ []));
25
28
  description = computed(() => {
26
29
  const description = this.popoverDirective().siPopover();
27
30
  return !(description instanceof TemplateRef) ? description : undefined;
28
- }, ...(ngDevMode ? [{ debugName: "description" }] : []));
31
+ }, /* @ts-ignore */
32
+ ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
29
33
  popoverTemplate = null;
30
34
  injector = inject(Injector);
31
35
  elementRef = inject(ElementRef);
@@ -73,12 +77,12 @@ class PopoverComponent {
73
77
  }
74
78
  });
75
79
  }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: PopoverComponent, isStandalone: true, selector: "si-popover", inputs: { popoverDirective: { classPropertyName: "popoverDirective", publicName: "popoverDirective", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "id": "this.popoverDirective().popoverId" } }, viewQueries: [{ propertyName: "popoverWrapper", first: true, predicate: ["popoverWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "@let popover = popoverDirective();\n<div\n #popoverWrapper\n role=\"dialog\"\n [class]=\"[\n 'popover',\n 'position-relative',\n 'focus-inside',\n positionClass(),\n popover.containerClass()\n ]\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.aria-describedby]=\"describedBy\"\n (keydown.escape)=\"hide()\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popover.title()) {\n <div class=\"popover-header\">\n @let iconValue = popover.icon();\n @if (iconValue) {\n <si-icon class=\"icon me-1\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\" [id]=\"labelledBy\">{{ popover.title() | translate }}</span>\n </div>\n }\n @if (!popoverTemplate) {\n <div class=\"popover-body\">\n <div class=\"si-body\" [id]=\"describedBy\">{{ description() | translate }}</div>\n </div>\n } @else {\n <!-- If title is already provided, we wrap the template with the `popover-body` class\n since the template may not be in the popover body directive. Also used by SiHelpButtonComponent -->\n @if (popover.title()) {\n <div class=\"popover-body\">\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popover.context()\"\n [ngTemplateOutletInjector]=\"injector\"\n />\n </div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popover.context()\"\n [ngTemplateOutletInjector]=\"injector\"\n />\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: PopoverComponent, isStandalone: true, selector: "si-popover", inputs: { popoverDirective: { classPropertyName: "popoverDirective", publicName: "popoverDirective", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "id": "this.popoverDirective().popoverId" } }, viewQueries: [{ propertyName: "popoverWrapper", first: true, predicate: ["popoverWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "@let popover = popoverDirective();\n<div\n #popoverWrapper\n role=\"dialog\"\n [class]=\"[\n 'popover',\n 'position-relative',\n 'focus-inside',\n positionClass(),\n popover.containerClass()\n ]\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.aria-describedby]=\"describedBy\"\n (keydown.escape)=\"hide()\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popover.title()) {\n <div class=\"popover-header\">\n @let iconValue = popover.icon();\n @if (iconValue) {\n <si-icon class=\"icon me-1\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\" [id]=\"labelledBy\">{{ popover.title() | translate }}</span>\n </div>\n }\n @if (!popoverTemplate) {\n <div class=\"popover-body\">\n <div class=\"si-body\" [id]=\"describedBy\">{{ description() | translate }}</div>\n </div>\n } @else {\n <!-- If title is already provided, we wrap the template with the `popover-body` class\n since the template may not be in the popover body directive. Also used by SiHelpButtonComponent -->\n @if (popover.title()) {\n <div class=\"popover-body\">\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popover.context()\"\n [ngTemplateOutletInjector]=\"injector\"\n />\n </div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popover.context()\"\n [ngTemplateOutletInjector]=\"injector\"\n />\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
78
82
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PopoverComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PopoverComponent, decorators: [{
80
84
  type: Component,
81
- args: [{ selector: 'si-popover', imports: [NgTemplateOutlet, SiIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Default, host: {
85
+ args: [{ selector: 'si-popover', imports: [NgTemplateOutlet, SiIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Eager, host: {
82
86
  '[id]': 'this.popoverDirective().popoverId'
83
87
  }, template: "@let popover = popoverDirective();\n<div\n #popoverWrapper\n role=\"dialog\"\n [class]=\"[\n 'popover',\n 'position-relative',\n 'focus-inside',\n positionClass(),\n popover.containerClass()\n ]\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.aria-describedby]=\"describedBy\"\n (keydown.escape)=\"hide()\"\n>\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n @if (popover.title()) {\n <div class=\"popover-header\">\n @let iconValue = popover.icon();\n @if (iconValue) {\n <si-icon class=\"icon me-1\" [icon]=\"iconValue\" />\n }\n <span class=\"si-h5\" [id]=\"labelledBy\">{{ popover.title() | translate }}</span>\n </div>\n }\n @if (!popoverTemplate) {\n <div class=\"popover-body\">\n <div class=\"si-body\" [id]=\"describedBy\">{{ description() | translate }}</div>\n </div>\n } @else {\n <!-- If title is already provided, we wrap the template with the `popover-body` class\n since the template may not be in the popover body directive. Also used by SiHelpButtonComponent -->\n @if (popover.title()) {\n <div class=\"popover-body\">\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popover.context()\"\n [ngTemplateOutletInjector]=\"injector\"\n />\n </div>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate\"\n [ngTemplateOutletContext]=\"popover.context()\"\n [ngTemplateOutletInjector]=\"injector\"\n />\n }\n }\n</div>\n" }]
84
88
  }], propDecorators: { popoverDirective: [{ type: i0.Input, args: [{ isSignal: true, alias: "popoverDirective", required: true }] }], popoverWrapper: [{ type: i0.ViewChild, args: ['popoverWrapper', { isSignal: true }] }] } });
@@ -92,13 +96,14 @@ class SiPopoverDirective {
92
96
  /**
93
97
  * The popover text to be displayed
94
98
  */
95
- siPopover = input(...(ngDevMode ? [undefined, { debugName: "siPopover" }] : []));
99
+ siPopover = input(/* @ts-ignore */
100
+ ...(ngDevMode ? [undefined, { debugName: "siPopover" }] : /* istanbul ignore next */ []));
96
101
  /**
97
102
  * The placement of the popover. One of 'top', 'start', end', 'bottom'
98
103
  *
99
104
  * @defaultValue 'auto'
100
105
  */
101
- placement = input('auto', { ...(ngDevMode ? { debugName: "placement" } : {}), alias: 'siPopoverPlacement' });
106
+ placement = input('auto', { ...(ngDevMode ? { debugName: "placement" } : /* istanbul ignore next */ {}), alias: 'siPopoverPlacement' });
102
107
  placementInternal = computed(() => {
103
108
  if (this.placement() !== 'top' &&
104
109
  this.placement() !== 'bottom' &&
@@ -109,38 +114,39 @@ class SiPopoverDirective {
109
114
  else {
110
115
  return this.placement();
111
116
  }
112
- }, ...(ngDevMode ? [{ debugName: "placementInternal" }] : []));
117
+ }, /* @ts-ignore */
118
+ ...(ngDevMode ? [{ debugName: "placementInternal" }] : /* istanbul ignore next */ []));
113
119
  /**
114
120
  * The title to be displayed on top for the popover
115
121
  *
116
122
  * @defaultValue undefined
117
123
  */
118
- title = input(undefined, { ...(ngDevMode ? { debugName: "title" } : {}), alias: 'siPopoverTitle' });
124
+ title = input(undefined, { ...(ngDevMode ? { debugName: "title" } : /* istanbul ignore next */ {}), alias: 'siPopoverTitle' });
119
125
  /**
120
126
  * The class that will be applied to container of the popover
121
127
  *
122
128
  * @defaultValue ''
123
129
  */
124
- containerClass = input('', { ...(ngDevMode ? { debugName: "containerClass" } : {}), alias: 'siPopoverContainerClass' });
130
+ containerClass = input('', { ...(ngDevMode ? { debugName: "containerClass" } : /* istanbul ignore next */ {}), alias: 'siPopoverContainerClass' });
125
131
  /**
126
132
  * The icon to be displayed besides popover title
127
133
  *
128
134
  * @defaultValue undefined
129
135
  */
130
- icon = input(undefined, { ...(ngDevMode ? { debugName: "icon" } : {}), alias: 'siPopoverIcon' });
136
+ icon = input(undefined, { ...(ngDevMode ? { debugName: "icon" } : /* istanbul ignore next */ {}), alias: 'siPopoverIcon' });
131
137
  /**
132
138
  * The context for the attached template
133
139
  *
134
140
  * @defaultValue undefined
135
141
  */
136
- context = input(undefined, { ...(ngDevMode ? { debugName: "context" } : {}), alias: 'siPopoverContext' });
142
+ context = input(undefined, { ...(ngDevMode ? { debugName: "context" } : /* istanbul ignore next */ {}), alias: 'siPopoverContext' });
137
143
  /**
138
144
  * Optional CDK scroll strategy used for the popover overlay.
139
145
  * If not provided, the default reposition strategy is used.
140
146
  *
141
147
  * @defaultValue undefined
142
148
  */
143
- scrollStrategy = input(undefined, { ...(ngDevMode ? { debugName: "scrollStrategy" } : {}), alias: 'siPopoverScrollStrategy' });
149
+ scrollStrategy = input(undefined, { ...(ngDevMode ? { debugName: "scrollStrategy" } : /* istanbul ignore next */ {}), alias: 'siPopoverScrollStrategy' });
144
150
  /**
145
151
  * Emits an event when the popover is shown/hidden
146
152
  */
@@ -150,7 +156,8 @@ class SiPopoverDirective {
150
156
  /** @internal */
151
157
  popoverId = `__popover_${this.popoverCounter}`;
152
158
  /** @internal */
153
- isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
159
+ isOpen = signal(false, /* @ts-ignore */
160
+ ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
154
161
  overlayref;
155
162
  overlay = inject(Overlay);
156
163
  elementRef = inject(ElementRef);
@@ -211,10 +218,10 @@ class SiPopoverDirective {
211
218
  this.show();
212
219
  }
213
220
  }
214
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
215
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiPopoverDirective, isStandalone: true, selector: "[siPopover]", inputs: { siPopover: { classPropertyName: "siPopover", publicName: "siPopover", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "siPopoverPlacement", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "siPopoverTitle", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "siPopoverContainerClass", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "siPopoverIcon", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "siPopoverContext", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "siPopoverScrollStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibilityChange: "siPopoverVisibilityChange" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.aria-expanded": "isOpen()", "attr.aria-controls": "popoverId" } }, exportAs: ["si-popover"], ngImport: i0 });
221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
222
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: SiPopoverDirective, isStandalone: true, selector: "[siPopover]", inputs: { siPopover: { classPropertyName: "siPopover", publicName: "siPopover", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "siPopoverPlacement", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "siPopoverTitle", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "siPopoverContainerClass", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "siPopoverIcon", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "siPopoverContext", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "siPopoverScrollStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibilityChange: "siPopoverVisibilityChange" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.aria-expanded": "isOpen()", "attr.aria-controls": "popoverId" } }, exportAs: ["si-popover"], ngImport: i0 });
216
223
  }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverDirective, decorators: [{
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverDirective, decorators: [{
218
225
  type: Directive,
219
226
  args: [{
220
227
  selector: '[siPopover]',
@@ -235,10 +242,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
235
242
  */
236
243
  class SiPopoverTitleDirective {
237
244
  popover = inject(PopoverComponent);
238
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
239
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiPopoverTitleDirective, isStandalone: true, selector: "si-popover-title", host: { properties: { "id": "this.popover.labelledBy" }, classAttribute: "popover-header" }, ngImport: i0 });
245
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
246
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: SiPopoverTitleDirective, isStandalone: true, selector: "si-popover-title", host: { properties: { "id": "this.popover.labelledBy" }, classAttribute: "popover-header" }, ngImport: i0 });
240
247
  }
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverTitleDirective, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverTitleDirective, decorators: [{
242
249
  type: Directive,
243
250
  args: [{
244
251
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -256,10 +263,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
256
263
  */
257
264
  class SiPopoverBodyDirective {
258
265
  popover = inject(PopoverComponent);
259
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
260
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiPopoverBodyDirective, isStandalone: true, selector: "si-popover-body", host: { properties: { "id": "this.popover.describedBy" }, classAttribute: "popover-body d-block" }, ngImport: i0 });
266
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
267
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: SiPopoverBodyDirective, isStandalone: true, selector: "si-popover-body", host: { properties: { "id": "this.popover.describedBy" }, classAttribute: "popover-body d-block" }, ngImport: i0 });
261
268
  }
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPopoverBodyDirective, decorators: [{
269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiPopoverBodyDirective, decorators: [{
263
270
  type: Directive,
264
271
  args: [{
265
272
  // eslint-disable-next-line @angular-eslint/directive-selector