@fundamental-ngx/ui5-webcomponents 0.64.2-rc.2 → 0.64.2-rc.21

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 (295) hide show
  1. package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar-badge.mjs.map +1 -1
  2. package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar-group.mjs +8 -3
  3. package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar-group.mjs.map +1 -1
  4. package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar.mjs +8 -3
  5. package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar.mjs.map +1 -1
  6. package/fesm2022/fundamental-ngx-ui5-webcomponents-bar.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-ui5-webcomponents-breadcrumbs-item.mjs +12 -4
  8. package/fesm2022/fundamental-ngx-ui5-webcomponents-breadcrumbs-item.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-ui5-webcomponents-breadcrumbs.mjs +8 -3
  10. package/fesm2022/fundamental-ngx-ui5-webcomponents-breadcrumbs.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-ui5-webcomponents-busy-indicator.mjs.map +1 -1
  12. package/fesm2022/fundamental-ngx-ui5-webcomponents-button-badge.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-ui5-webcomponents-button.mjs +8 -3
  14. package/fesm2022/fundamental-ngx-ui5-webcomponents-button.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-date-range.mjs.map +1 -1
  16. package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-date.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-legend-item.mjs.map +1 -1
  18. package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-legend.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar.mjs +8 -3
  20. package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-ui5-webcomponents-card-header.mjs +8 -3
  22. package/fesm2022/fundamental-ngx-ui5-webcomponents-card-header.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-ui5-webcomponents-card.mjs.map +1 -1
  24. package/fesm2022/fundamental-ngx-ui5-webcomponents-carousel.mjs +8 -3
  25. package/fesm2022/fundamental-ngx-ui5-webcomponents-carousel.mjs.map +1 -1
  26. package/fesm2022/fundamental-ngx-ui5-webcomponents-check-box.mjs +8 -3
  27. package/fesm2022/fundamental-ngx-ui5-webcomponents-check-box.mjs.map +1 -1
  28. package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-item.mjs +8 -3
  29. package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-item.mjs.map +1 -1
  30. package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-popover.mjs +8 -3
  31. package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-popover.mjs.map +1 -1
  32. package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette.mjs +8 -3
  33. package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette.mjs.map +1 -1
  34. package/fesm2022/fundamental-ngx-ui5-webcomponents-color-picker.mjs +8 -3
  35. package/fesm2022/fundamental-ngx-ui5-webcomponents-color-picker.mjs.map +1 -1
  36. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item-custom.mjs +8 -3
  37. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item-custom.mjs.map +1 -1
  38. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item-group.mjs +8 -3
  39. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item-group.mjs.map +1 -1
  40. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item.mjs +8 -3
  41. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item.mjs.map +1 -1
  42. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box.mjs +8 -3
  43. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box.mjs.map +1 -1
  44. package/fesm2022/fundamental-ngx-ui5-webcomponents-date-picker.mjs +8 -3
  45. package/fesm2022/fundamental-ngx-ui5-webcomponents-date-picker.mjs.map +1 -1
  46. package/fesm2022/fundamental-ngx-ui5-webcomponents-date-range-picker.mjs +8 -3
  47. package/fesm2022/fundamental-ngx-ui5-webcomponents-date-range-picker.mjs.map +1 -1
  48. package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-input.mjs +8 -3
  49. package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-input.mjs.map +1 -1
  50. package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-picker.mjs +8 -3
  51. package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-picker.mjs.map +1 -1
  52. package/fesm2022/fundamental-ngx-ui5-webcomponents-day-picker.mjs.map +1 -1
  53. package/fesm2022/fundamental-ngx-ui5-webcomponents-dialog.mjs +8 -3
  54. package/fesm2022/fundamental-ngx-ui5-webcomponents-dialog.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-ui5-webcomponents-drop-indicator.mjs.map +1 -1
  56. package/fesm2022/fundamental-ngx-ui5-webcomponents-dynamic-date-range.mjs +8 -3
  57. package/fesm2022/fundamental-ngx-ui5-webcomponents-dynamic-date-range.mjs.map +1 -1
  58. package/fesm2022/fundamental-ngx-ui5-webcomponents-expandable-text.mjs.map +1 -1
  59. package/fesm2022/fundamental-ngx-ui5-webcomponents-file-uploader.mjs +10 -3
  60. package/fesm2022/fundamental-ngx-ui5-webcomponents-file-uploader.mjs.map +1 -1
  61. package/fesm2022/fundamental-ngx-ui5-webcomponents-form-group.mjs.map +1 -1
  62. package/fesm2022/fundamental-ngx-ui5-webcomponents-form-item.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-ui5-webcomponents-form.mjs.map +1 -1
  64. package/fesm2022/fundamental-ngx-ui5-webcomponents-icon.mjs +8 -3
  65. package/fesm2022/fundamental-ngx-ui5-webcomponents-icon.mjs.map +1 -1
  66. package/fesm2022/fundamental-ngx-ui5-webcomponents-input-icon.mjs +8 -3
  67. package/fesm2022/fundamental-ngx-ui5-webcomponents-input-icon.mjs.map +1 -1
  68. package/fesm2022/fundamental-ngx-ui5-webcomponents-input.mjs +8 -3
  69. package/fesm2022/fundamental-ngx-ui5-webcomponents-input.mjs.map +1 -1
  70. package/fesm2022/fundamental-ngx-ui5-webcomponents-label.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-ui5-webcomponents-link.mjs +12 -4
  72. package/fesm2022/fundamental-ngx-ui5-webcomponents-link.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-custom.mjs +8 -3
  74. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-custom.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group-header.mjs +8 -3
  76. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group-header.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group.mjs +8 -3
  78. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group.mjs.map +1 -1
  79. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-standard.mjs +8 -3
  80. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-standard.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-ui5-webcomponents-list.mjs +8 -3
  82. package/fesm2022/fundamental-ngx-ui5-webcomponents-list.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item-group.mjs.map +1 -1
  84. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item.mjs +8 -3
  85. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item.mjs.map +1 -1
  86. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-separator.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu.mjs +8 -3
  88. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-ui5-webcomponents-message-strip.mjs +8 -3
  90. package/fesm2022/fundamental-ngx-ui5-webcomponents-message-strip.mjs.map +1 -1
  91. package/fesm2022/fundamental-ngx-ui5-webcomponents-month-picker.mjs.map +1 -1
  92. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-custom.mjs +8 -3
  93. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-custom.mjs.map +1 -1
  94. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-group.mjs +8 -3
  95. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-group.mjs.map +1 -1
  96. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.mjs +8 -3
  97. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.mjs.map +1 -1
  98. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box.mjs +8 -3
  99. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box.mjs.map +1 -1
  100. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-input.mjs +8 -3
  101. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-input.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-ui5-webcomponents-option-custom.mjs +8 -3
  103. package/fesm2022/fundamental-ngx-ui5-webcomponents-option-custom.mjs.map +1 -1
  104. package/fesm2022/fundamental-ngx-ui5-webcomponents-option.mjs +8 -3
  105. package/fesm2022/fundamental-ngx-ui5-webcomponents-option.mjs.map +1 -1
  106. package/fesm2022/fundamental-ngx-ui5-webcomponents-panel.mjs +8 -3
  107. package/fesm2022/fundamental-ngx-ui5-webcomponents-panel.mjs.map +1 -1
  108. package/fesm2022/fundamental-ngx-ui5-webcomponents-popover.mjs +8 -3
  109. package/fesm2022/fundamental-ngx-ui5-webcomponents-popover.mjs.map +1 -1
  110. package/fesm2022/fundamental-ngx-ui5-webcomponents-progress-indicator.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-ui5-webcomponents-radio-button.mjs +8 -3
  112. package/fesm2022/fundamental-ngx-ui5-webcomponents-radio-button.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-ui5-webcomponents-range-slider.mjs +8 -3
  114. package/fesm2022/fundamental-ngx-ui5-webcomponents-range-slider.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-ui5-webcomponents-rating-indicator.mjs +8 -3
  116. package/fesm2022/fundamental-ngx-ui5-webcomponents-rating-indicator.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-ui5-webcomponents-responsive-popover.mjs +8 -3
  118. package/fesm2022/fundamental-ngx-ui5-webcomponents-responsive-popover.mjs.map +1 -1
  119. package/fesm2022/fundamental-ngx-ui5-webcomponents-segmented-button-item.mjs +8 -3
  120. package/fesm2022/fundamental-ngx-ui5-webcomponents-segmented-button-item.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-ui5-webcomponents-segmented-button.mjs +10 -3
  122. package/fesm2022/fundamental-ngx-ui5-webcomponents-segmented-button.mjs.map +1 -1
  123. package/fesm2022/fundamental-ngx-ui5-webcomponents-select.mjs +11 -3
  124. package/fesm2022/fundamental-ngx-ui5-webcomponents-select.mjs.map +1 -1
  125. package/fesm2022/fundamental-ngx-ui5-webcomponents-slider-handle.mjs.map +1 -1
  126. package/fesm2022/fundamental-ngx-ui5-webcomponents-slider-tooltip.mjs.map +1 -1
  127. package/fesm2022/fundamental-ngx-ui5-webcomponents-slider.mjs +8 -3
  128. package/fesm2022/fundamental-ngx-ui5-webcomponents-slider.mjs.map +1 -1
  129. package/fesm2022/fundamental-ngx-ui5-webcomponents-special-calendar-date.mjs.map +1 -1
  130. package/fesm2022/fundamental-ngx-ui5-webcomponents-split-button.mjs +8 -3
  131. package/fesm2022/fundamental-ngx-ui5-webcomponents-split-button.mjs.map +1 -1
  132. package/fesm2022/fundamental-ngx-ui5-webcomponents-step-input.mjs +8 -3
  133. package/fesm2022/fundamental-ngx-ui5-webcomponents-step-input.mjs.map +1 -1
  134. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.mjs +8 -3
  135. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.mjs.map +1 -1
  136. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-group.mjs +8 -3
  137. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-group.mjs.map +1 -1
  138. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item.mjs +8 -3
  139. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item.mjs.map +1 -1
  140. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-list-item.mjs +8 -3
  141. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-list-item.mjs.map +1 -1
  142. package/fesm2022/fundamental-ngx-ui5-webcomponents-switch.mjs +8 -3
  143. package/fesm2022/fundamental-ngx-ui5-webcomponents-switch.mjs.map +1 -1
  144. package/fesm2022/fundamental-ngx-ui5-webcomponents-tab-container.mjs +8 -3
  145. package/fesm2022/fundamental-ngx-ui5-webcomponents-tab-container.mjs.map +1 -1
  146. package/fesm2022/fundamental-ngx-ui5-webcomponents-tab-separator.mjs.map +1 -1
  147. package/fesm2022/fundamental-ngx-ui5-webcomponents-tab.mjs +8 -3
  148. package/fesm2022/fundamental-ngx-ui5-webcomponents-tab.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-cell.mjs.map +1 -1
  150. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-group-row.mjs.map +1 -1
  151. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-growing.mjs +8 -3
  152. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-growing.mjs.map +1 -1
  153. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-cell-action-a-i.mjs +8 -3
  154. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-cell-action-a-i.mjs.map +1 -1
  155. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-cell.mjs.map +1 -1
  156. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-row.mjs.map +1 -1
  157. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row-action-navigation.mjs +8 -3
  158. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row-action-navigation.mjs.map +1 -1
  159. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row-action.mjs +8 -3
  160. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row-action.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row.mjs.map +1 -1
  162. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection-multi.mjs +8 -3
  163. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection-multi.mjs.map +1 -1
  164. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection-single.mjs +8 -3
  165. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection-single.mjs.map +1 -1
  166. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection.mjs +8 -3
  167. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection.mjs.map +1 -1
  168. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-virtualizer.mjs +8 -3
  169. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-virtualizer.mjs.map +1 -1
  170. package/fesm2022/fundamental-ngx-ui5-webcomponents-table.mjs +8 -3
  171. package/fesm2022/fundamental-ngx-ui5-webcomponents-table.mjs.map +1 -1
  172. package/fesm2022/fundamental-ngx-ui5-webcomponents-tag.mjs +8 -3
  173. package/fesm2022/fundamental-ngx-ui5-webcomponents-tag.mjs.map +1 -1
  174. package/fesm2022/fundamental-ngx-ui5-webcomponents-text-area.mjs +8 -3
  175. package/fesm2022/fundamental-ngx-ui5-webcomponents-text-area.mjs.map +1 -1
  176. package/fesm2022/fundamental-ngx-ui5-webcomponents-text.mjs.map +1 -1
  177. package/fesm2022/fundamental-ngx-ui5-webcomponents-time-picker-clock.mjs.map +1 -1
  178. package/fesm2022/fundamental-ngx-ui5-webcomponents-time-picker.mjs +8 -3
  179. package/fesm2022/fundamental-ngx-ui5-webcomponents-time-picker.mjs.map +1 -1
  180. package/fesm2022/fundamental-ngx-ui5-webcomponents-time-selection-clocks.mjs.map +1 -1
  181. package/fesm2022/fundamental-ngx-ui5-webcomponents-time-selection-inputs.mjs.map +1 -1
  182. package/fesm2022/fundamental-ngx-ui5-webcomponents-title.mjs.map +1 -1
  183. package/fesm2022/fundamental-ngx-ui5-webcomponents-toast.mjs +8 -3
  184. package/fesm2022/fundamental-ngx-ui5-webcomponents-toast.mjs.map +1 -1
  185. package/fesm2022/fundamental-ngx-ui5-webcomponents-toggle-button.mjs +8 -3
  186. package/fesm2022/fundamental-ngx-ui5-webcomponents-toggle-button.mjs.map +1 -1
  187. package/fesm2022/fundamental-ngx-ui5-webcomponents-toggle-spin-button.mjs +8 -3
  188. package/fesm2022/fundamental-ngx-ui5-webcomponents-toggle-spin-button.mjs.map +1 -1
  189. package/fesm2022/fundamental-ngx-ui5-webcomponents-token.mjs.map +1 -1
  190. package/fesm2022/fundamental-ngx-ui5-webcomponents-tokenizer.mjs +8 -3
  191. package/fesm2022/fundamental-ngx-ui5-webcomponents-tokenizer.mjs.map +1 -1
  192. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-button.mjs +8 -3
  193. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-button.mjs.map +1 -1
  194. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-item.mjs.map +1 -1
  195. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-select-option.mjs.map +1 -1
  196. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-select.mjs +8 -3
  197. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-select.mjs.map +1 -1
  198. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-separator.mjs.map +1 -1
  199. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-spacer.mjs.map +1 -1
  200. package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar.mjs.map +1 -1
  201. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item-custom.mjs +8 -3
  202. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item-custom.mjs.map +1 -1
  203. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item.mjs +8 -3
  204. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item.mjs.map +1 -1
  205. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree.mjs +8 -3
  206. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree.mjs.map +1 -1
  207. package/fesm2022/fundamental-ngx-ui5-webcomponents-year-picker.mjs.map +1 -1
  208. package/fesm2022/fundamental-ngx-ui5-webcomponents-year-range-picker.mjs.map +1 -1
  209. package/fesm2022/fundamental-ngx-ui5-webcomponents.mjs +613 -187
  210. package/fesm2022/fundamental-ngx-ui5-webcomponents.mjs.map +1 -1
  211. package/package.json +3 -3
  212. package/types/fundamental-ngx-ui5-webcomponents-avatar-group.d.ts +1 -0
  213. package/types/fundamental-ngx-ui5-webcomponents-avatar.d.ts +1 -0
  214. package/types/fundamental-ngx-ui5-webcomponents-breadcrumbs-item.d.ts +3 -1
  215. package/types/fundamental-ngx-ui5-webcomponents-breadcrumbs.d.ts +1 -0
  216. package/types/fundamental-ngx-ui5-webcomponents-button.d.ts +1 -0
  217. package/types/fundamental-ngx-ui5-webcomponents-calendar.d.ts +1 -0
  218. package/types/fundamental-ngx-ui5-webcomponents-card-header.d.ts +1 -0
  219. package/types/fundamental-ngx-ui5-webcomponents-carousel.d.ts +1 -0
  220. package/types/fundamental-ngx-ui5-webcomponents-check-box.d.ts +1 -0
  221. package/types/fundamental-ngx-ui5-webcomponents-color-palette-item.d.ts +1 -0
  222. package/types/fundamental-ngx-ui5-webcomponents-color-palette-popover.d.ts +1 -0
  223. package/types/fundamental-ngx-ui5-webcomponents-color-palette.d.ts +1 -0
  224. package/types/fundamental-ngx-ui5-webcomponents-color-picker.d.ts +1 -0
  225. package/types/fundamental-ngx-ui5-webcomponents-combo-box-item-custom.d.ts +1 -0
  226. package/types/fundamental-ngx-ui5-webcomponents-combo-box-item-group.d.ts +1 -0
  227. package/types/fundamental-ngx-ui5-webcomponents-combo-box-item.d.ts +1 -0
  228. package/types/fundamental-ngx-ui5-webcomponents-combo-box.d.ts +1 -0
  229. package/types/fundamental-ngx-ui5-webcomponents-date-picker.d.ts +1 -0
  230. package/types/fundamental-ngx-ui5-webcomponents-date-range-picker.d.ts +1 -0
  231. package/types/fundamental-ngx-ui5-webcomponents-date-time-input.d.ts +1 -0
  232. package/types/fundamental-ngx-ui5-webcomponents-date-time-picker.d.ts +1 -0
  233. package/types/fundamental-ngx-ui5-webcomponents-dialog.d.ts +1 -0
  234. package/types/fundamental-ngx-ui5-webcomponents-dynamic-date-range.d.ts +1 -0
  235. package/types/fundamental-ngx-ui5-webcomponents-file-uploader.d.ts +1 -0
  236. package/types/fundamental-ngx-ui5-webcomponents-icon.d.ts +1 -0
  237. package/types/fundamental-ngx-ui5-webcomponents-input-icon.d.ts +1 -0
  238. package/types/fundamental-ngx-ui5-webcomponents-input.d.ts +1 -0
  239. package/types/fundamental-ngx-ui5-webcomponents-link.d.ts +3 -1
  240. package/types/fundamental-ngx-ui5-webcomponents-list-item-custom.d.ts +1 -0
  241. package/types/fundamental-ngx-ui5-webcomponents-list-item-group-header.d.ts +1 -0
  242. package/types/fundamental-ngx-ui5-webcomponents-list-item-group.d.ts +1 -0
  243. package/types/fundamental-ngx-ui5-webcomponents-list-item-standard.d.ts +1 -0
  244. package/types/fundamental-ngx-ui5-webcomponents-list.d.ts +1 -0
  245. package/types/fundamental-ngx-ui5-webcomponents-menu-item.d.ts +1 -0
  246. package/types/fundamental-ngx-ui5-webcomponents-menu.d.ts +1 -0
  247. package/types/fundamental-ngx-ui5-webcomponents-message-strip.d.ts +1 -0
  248. package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-custom.d.ts +1 -0
  249. package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-group.d.ts +1 -0
  250. package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.d.ts +1 -0
  251. package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box.d.ts +1 -0
  252. package/types/fundamental-ngx-ui5-webcomponents-multi-input.d.ts +1 -0
  253. package/types/fundamental-ngx-ui5-webcomponents-option-custom.d.ts +1 -0
  254. package/types/fundamental-ngx-ui5-webcomponents-option.d.ts +1 -0
  255. package/types/fundamental-ngx-ui5-webcomponents-panel.d.ts +1 -0
  256. package/types/fundamental-ngx-ui5-webcomponents-popover.d.ts +1 -0
  257. package/types/fundamental-ngx-ui5-webcomponents-radio-button.d.ts +1 -0
  258. package/types/fundamental-ngx-ui5-webcomponents-range-slider.d.ts +1 -0
  259. package/types/fundamental-ngx-ui5-webcomponents-rating-indicator.d.ts +1 -0
  260. package/types/fundamental-ngx-ui5-webcomponents-responsive-popover.d.ts +1 -0
  261. package/types/fundamental-ngx-ui5-webcomponents-segmented-button-item.d.ts +1 -0
  262. package/types/fundamental-ngx-ui5-webcomponents-segmented-button.d.ts +1 -0
  263. package/types/fundamental-ngx-ui5-webcomponents-select.d.ts +1 -0
  264. package/types/fundamental-ngx-ui5-webcomponents-slider.d.ts +1 -0
  265. package/types/fundamental-ngx-ui5-webcomponents-split-button.d.ts +1 -0
  266. package/types/fundamental-ngx-ui5-webcomponents-step-input.d.ts +1 -0
  267. package/types/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.d.ts +1 -0
  268. package/types/fundamental-ngx-ui5-webcomponents-suggestion-item-group.d.ts +1 -0
  269. package/types/fundamental-ngx-ui5-webcomponents-suggestion-item.d.ts +1 -0
  270. package/types/fundamental-ngx-ui5-webcomponents-suggestion-list-item.d.ts +1 -0
  271. package/types/fundamental-ngx-ui5-webcomponents-switch.d.ts +1 -0
  272. package/types/fundamental-ngx-ui5-webcomponents-tab-container.d.ts +1 -0
  273. package/types/fundamental-ngx-ui5-webcomponents-tab.d.ts +1 -0
  274. package/types/fundamental-ngx-ui5-webcomponents-table-growing.d.ts +1 -0
  275. package/types/fundamental-ngx-ui5-webcomponents-table-header-cell-action-a-i.d.ts +1 -0
  276. package/types/fundamental-ngx-ui5-webcomponents-table-row-action-navigation.d.ts +1 -0
  277. package/types/fundamental-ngx-ui5-webcomponents-table-row-action.d.ts +1 -0
  278. package/types/fundamental-ngx-ui5-webcomponents-table-selection-multi.d.ts +1 -0
  279. package/types/fundamental-ngx-ui5-webcomponents-table-selection-single.d.ts +1 -0
  280. package/types/fundamental-ngx-ui5-webcomponents-table-selection.d.ts +1 -0
  281. package/types/fundamental-ngx-ui5-webcomponents-table-virtualizer.d.ts +1 -0
  282. package/types/fundamental-ngx-ui5-webcomponents-table.d.ts +1 -0
  283. package/types/fundamental-ngx-ui5-webcomponents-tag.d.ts +1 -0
  284. package/types/fundamental-ngx-ui5-webcomponents-text-area.d.ts +1 -0
  285. package/types/fundamental-ngx-ui5-webcomponents-time-picker.d.ts +1 -0
  286. package/types/fundamental-ngx-ui5-webcomponents-toast.d.ts +1 -0
  287. package/types/fundamental-ngx-ui5-webcomponents-toggle-button.d.ts +1 -0
  288. package/types/fundamental-ngx-ui5-webcomponents-toggle-spin-button.d.ts +1 -0
  289. package/types/fundamental-ngx-ui5-webcomponents-tokenizer.d.ts +1 -0
  290. package/types/fundamental-ngx-ui5-webcomponents-toolbar-button.d.ts +1 -0
  291. package/types/fundamental-ngx-ui5-webcomponents-toolbar-select.d.ts +1 -0
  292. package/types/fundamental-ngx-ui5-webcomponents-tree-item-custom.d.ts +1 -0
  293. package/types/fundamental-ngx-ui5-webcomponents-tree-item.d.ts +1 -0
  294. package/types/fundamental-ngx-ui5-webcomponents-tree.d.ts +1 -0
  295. package/types/fundamental-ngx-ui5-webcomponents.d.ts +104 -20
@@ -70,7 +70,7 @@ export { default as ToolbarDesign } from '@ui5/webcomponents/dist/types/ToolbarD
70
70
  export { default as ToolbarItemOverflowBehavior } from '@ui5/webcomponents/dist/types/ToolbarItemOverflowBehavior.js';
71
71
  export { default as WrappingType } from '@ui5/webcomponents/dist/types/WrappingType.js';
72
72
  import * as i0 from '@angular/core';
73
- import { InjectionToken, inject, ElementRef, ChangeDetectorRef, forwardRef, Directive, input, booleanAttribute, output, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component, computed, signal, Injectable } from '@angular/core';
73
+ import { InjectionToken, inject, ElementRef, ChangeDetectorRef, forwardRef, Directive, input, booleanAttribute, output, Injector, DestroyRef, runInInjectionContext, effect, ChangeDetectionStrategy, Component, computed, signal, Injectable } from '@angular/core';
74
74
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
75
75
  import '@ui5/webcomponents/dist/Avatar.js';
76
76
  import { ContentDensityObserver, contentDensityObserverProviders, ContentDensityMode } from '@fundamental-ngx/core/content-density';
@@ -79,6 +79,8 @@ import '@ui5/webcomponents/dist/AvatarGroup.js';
79
79
  import '@ui5/webcomponents/dist/Bar.js';
80
80
  import '@ui5/webcomponents/dist/Breadcrumbs.js';
81
81
  import '@ui5/webcomponents/dist/BreadcrumbsItem.js';
82
+ import * as i1 from '@fundamental-ngx/ui5-webcomponents-base/router-link';
83
+ import { Ui5RouterLinkBridgeDirective } from '@fundamental-ngx/ui5-webcomponents-base/router-link';
82
84
  import '@ui5/webcomponents/dist/BusyIndicator.js';
83
85
  import '@ui5/webcomponents/dist/Button.js';
84
86
  import '@ui5/webcomponents/dist/ButtonBadge.js';
@@ -91,7 +93,7 @@ import '@ui5/webcomponents/dist/Card.js';
91
93
  import '@ui5/webcomponents/dist/CardHeader.js';
92
94
  import '@ui5/webcomponents/dist/Carousel.js';
93
95
  import '@ui5/webcomponents/dist/CheckBox.js';
94
- import * as i1 from '@fundamental-ngx/ui5-webcomponents/utils';
96
+ import * as i1$1 from '@fundamental-ngx/ui5-webcomponents/utils';
95
97
  import { CVA_CONFIG as CVA_CONFIG$1, GenericControlValueAccessor as GenericControlValueAccessor$1 } from '@fundamental-ngx/ui5-webcomponents/utils';
96
98
  import '@ui5/webcomponents/dist/ColorPalette.js';
97
99
  import '@ui5/webcomponents/dist/ColorPaletteItem.js';
@@ -516,6 +518,7 @@ class Avatar {
516
518
  * @private
517
519
  */
518
520
  this._contentDensityObserver = inject(ContentDensityObserver);
521
+ this._destroyRef = inject(DestroyRef);
519
522
  }
520
523
  get element() {
521
524
  return this.elementRef.nativeElement;
@@ -562,17 +565,21 @@ class Avatar {
562
565
  'ui5Click',
563
566
  ];
564
567
  // Synchronize outputs (events)
568
+ const _listeners = [];
565
569
  for (const outputName of outputsToSync) {
566
570
  // Map Angular output name to UI5 web component event name
567
571
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
568
572
  // Ensure the output property exists and has an emit function before adding listener
569
573
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
570
574
  // Cast the listener to the correct type to satisfy TypeScript
571
- wcElement.addEventListener(eventName, (e) => {
575
+ const listener = (e) => {
572
576
  this[outputName].emit(e);
573
- });
577
+ };
578
+ wcElement.addEventListener(eventName, listener);
579
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
574
580
  }
575
581
  }
582
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
576
583
  }
577
584
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Avatar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
578
585
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Avatar, isStandalone: true, selector: "ui5-avatar, [ui5-avatar]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, colorScheme: { classPropertyName: "colorScheme", publicName: "colorScheme", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fallbackIcon: { classPropertyName: "fallbackIcon", publicName: "fallbackIcon", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, initials: { classPropertyName: "initials", publicName: "initials", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, shape: { classPropertyName: "shape", publicName: "shape", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -780,6 +787,7 @@ class AvatarGroup {
780
787
  * @private
781
788
  */
782
789
  this._contentDensityObserver = inject(ContentDensityObserver);
790
+ this._destroyRef = inject(DestroyRef);
783
791
  }
784
792
  /**
785
793
  * Returns an array containing the `AvatarColorScheme` values that correspond to the avatars in the component.
@@ -834,17 +842,21 @@ class AvatarGroup {
834
842
  'ui5Overflow',
835
843
  ];
836
844
  // Synchronize outputs (events)
845
+ const _listeners = [];
837
846
  for (const outputName of outputsToSync) {
838
847
  // Map Angular output name to UI5 web component event name
839
848
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
840
849
  // Ensure the output property exists and has an emit function before adding listener
841
850
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
842
851
  // Cast the listener to the correct type to satisfy TypeScript
843
- wcElement.addEventListener(eventName, (e) => {
852
+ const listener = (e) => {
844
853
  this[outputName].emit(e);
845
- });
854
+ };
855
+ wcElement.addEventListener(eventName, listener);
856
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
846
857
  }
847
858
  }
859
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
848
860
  }
849
861
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AvatarGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
850
862
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: AvatarGroup, isStandalone: true, selector: "ui5-avatar-group, [ui5-avatar-group]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click", ui5Overflow: "ui5Overflow" }, providers: [
@@ -1063,6 +1075,7 @@ class Breadcrumbs {
1063
1075
  * @private
1064
1076
  */
1065
1077
  this._contentDensityObserver = inject(ContentDensityObserver);
1078
+ this._destroyRef = inject(DestroyRef);
1066
1079
  }
1067
1080
  get element() {
1068
1081
  return this.elementRef.nativeElement;
@@ -1101,17 +1114,21 @@ class Breadcrumbs {
1101
1114
  'ui5ItemClick',
1102
1115
  ];
1103
1116
  // Synchronize outputs (events)
1117
+ const _listeners = [];
1104
1118
  for (const outputName of outputsToSync) {
1105
1119
  // Map Angular output name to UI5 web component event name
1106
1120
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
1107
1121
  // Ensure the output property exists and has an emit function before adding listener
1108
1122
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
1109
1123
  // Cast the listener to the correct type to satisfy TypeScript
1110
- wcElement.addEventListener(eventName, (e) => {
1124
+ const listener = (e) => {
1111
1125
  this[outputName].emit(e);
1112
- });
1126
+ };
1127
+ wcElement.addEventListener(eventName, listener);
1128
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
1113
1129
  }
1114
1130
  }
1131
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
1115
1132
  }
1116
1133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Breadcrumbs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1117
1134
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Breadcrumbs, isStandalone: true, selector: "ui5-breadcrumbs, [ui5-breadcrumbs]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, separators: { classPropertyName: "separators", publicName: "separators", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ItemClick: "ui5ItemClick" }, providers: [
@@ -1206,6 +1223,7 @@ class BreadcrumbsItem {
1206
1223
  * @private
1207
1224
  */
1208
1225
  this._contentDensityObserver = inject(ContentDensityObserver);
1226
+ this._destroyRef = inject(DestroyRef);
1209
1227
  }
1210
1228
  get element() {
1211
1229
  return this.elementRef.nativeElement;
@@ -1244,24 +1262,28 @@ class BreadcrumbsItem {
1244
1262
  'ui5Click',
1245
1263
  ];
1246
1264
  // Synchronize outputs (events)
1265
+ const _listeners = [];
1247
1266
  for (const outputName of outputsToSync) {
1248
1267
  // Map Angular output name to UI5 web component event name
1249
1268
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
1250
1269
  // Ensure the output property exists and has an emit function before adding listener
1251
1270
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
1252
1271
  // Cast the listener to the correct type to satisfy TypeScript
1253
- wcElement.addEventListener(eventName, (e) => {
1272
+ const listener = (e) => {
1254
1273
  this[outputName].emit(e);
1255
- });
1274
+ };
1275
+ wcElement.addEventListener(eventName, listener);
1276
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
1256
1277
  }
1257
1278
  }
1279
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
1258
1280
  }
1259
1281
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: BreadcrumbsItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1260
1282
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: BreadcrumbsItem, isStandalone: true, selector: "ui5-breadcrumbs-item, [ui5-breadcrumbs-item]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
1261
1283
  contentDensityObserverProviders({
1262
1284
  supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
1263
1285
  })
1264
- ], exportAs: ["ui5BreadcrumbsItem"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1286
+ ], exportAs: ["ui5BreadcrumbsItem"], hostDirectives: [{ directive: i1.Ui5RouterLinkBridgeDirective }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1265
1287
  }
1266
1288
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: BreadcrumbsItem, decorators: [{
1267
1289
  type: Component,
@@ -1270,6 +1292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
1270
1292
  selector: 'ui5-breadcrumbs-item, [ui5-breadcrumbs-item]',
1271
1293
  template: '<ng-content></ng-content>',
1272
1294
  exportAs: 'ui5BreadcrumbsItem',
1295
+ hostDirectives: [Ui5RouterLinkBridgeDirective],
1273
1296
  providers: [
1274
1297
  contentDensityObserverProviders({
1275
1298
  supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
@@ -1563,6 +1586,7 @@ class Button {
1563
1586
  * @private
1564
1587
  */
1565
1588
  this._contentDensityObserver = inject(ContentDensityObserver);
1589
+ this._destroyRef = inject(DestroyRef);
1566
1590
  }
1567
1591
  get element() {
1568
1592
  return this.elementRef.nativeElement;
@@ -1613,17 +1637,21 @@ class Button {
1613
1637
  'ui5Click',
1614
1638
  ];
1615
1639
  // Synchronize outputs (events)
1640
+ const _listeners = [];
1616
1641
  for (const outputName of outputsToSync) {
1617
1642
  // Map Angular output name to UI5 web component event name
1618
1643
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
1619
1644
  // Ensure the output property exists and has an emit function before adding listener
1620
1645
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
1621
1646
  // Cast the listener to the correct type to satisfy TypeScript
1622
- wcElement.addEventListener(eventName, (e) => {
1647
+ const listener = (e) => {
1623
1648
  this[outputName].emit(e);
1624
- });
1649
+ };
1650
+ wcElement.addEventListener(eventName, listener);
1651
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
1625
1652
  }
1626
1653
  }
1654
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
1627
1655
  }
1628
1656
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1629
1657
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Button, isStandalone: true, selector: "ui5-button, [ui5-button]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, endIcon: { classPropertyName: "endIcon", publicName: "endIcon", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, submits: { classPropertyName: "submits", publicName: "submits", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -1860,6 +1888,7 @@ class Calendar {
1860
1888
  * @private
1861
1889
  */
1862
1890
  this._contentDensityObserver = inject(ContentDensityObserver);
1891
+ this._destroyRef = inject(DestroyRef);
1863
1892
  }
1864
1893
  get element() {
1865
1894
  return this.elementRef.nativeElement;
@@ -1905,17 +1934,21 @@ class Calendar {
1905
1934
  'ui5SelectionChange',
1906
1935
  ];
1907
1936
  // Synchronize outputs (events)
1937
+ const _listeners = [];
1908
1938
  for (const outputName of outputsToSync) {
1909
1939
  // Map Angular output name to UI5 web component event name
1910
1940
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
1911
1941
  // Ensure the output property exists and has an emit function before adding listener
1912
1942
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
1913
1943
  // Cast the listener to the correct type to satisfy TypeScript
1914
- wcElement.addEventListener(eventName, (e) => {
1944
+ const listener = (e) => {
1915
1945
  this[outputName].emit(e);
1916
- });
1946
+ };
1947
+ wcElement.addEventListener(eventName, listener);
1948
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
1917
1949
  }
1918
1950
  }
1951
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
1919
1952
  }
1920
1953
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Calendar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1921
1954
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Calendar, isStandalone: true, selector: "ui5-calendar, [ui5-calendar]", inputs: { calendarWeekNumbering: { classPropertyName: "calendarWeekNumbering", publicName: "calendarWeekNumbering", isSignal: true, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, formatPattern: { classPropertyName: "formatPattern", publicName: "formatPattern", isSignal: true, isRequired: false, transformFunction: null }, hideWeekNumbers: { classPropertyName: "hideWeekNumbers", publicName: "hideWeekNumbers", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, primaryCalendarType: { classPropertyName: "primaryCalendarType", publicName: "primaryCalendarType", isSignal: true, isRequired: false, transformFunction: null }, secondaryCalendarType: { classPropertyName: "secondaryCalendarType", publicName: "secondaryCalendarType", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5SelectionChange: "ui5SelectionChange" }, providers: [
@@ -2467,6 +2500,7 @@ class CardHeader {
2467
2500
  * @private
2468
2501
  */
2469
2502
  this._contentDensityObserver = inject(ContentDensityObserver);
2503
+ this._destroyRef = inject(DestroyRef);
2470
2504
  }
2471
2505
  get element() {
2472
2506
  return this.elementRef.nativeElement;
@@ -2506,17 +2540,21 @@ class CardHeader {
2506
2540
  'ui5Click',
2507
2541
  ];
2508
2542
  // Synchronize outputs (events)
2543
+ const _listeners = [];
2509
2544
  for (const outputName of outputsToSync) {
2510
2545
  // Map Angular output name to UI5 web component event name
2511
2546
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
2512
2547
  // Ensure the output property exists and has an emit function before adding listener
2513
2548
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
2514
2549
  // Cast the listener to the correct type to satisfy TypeScript
2515
- wcElement.addEventListener(eventName, (e) => {
2550
+ const listener = (e) => {
2516
2551
  this[outputName].emit(e);
2517
- });
2552
+ };
2553
+ wcElement.addEventListener(eventName, listener);
2554
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
2518
2555
  }
2519
2556
  }
2557
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
2520
2558
  }
2521
2559
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2522
2560
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: CardHeader, isStandalone: true, selector: "ui5-card-header, [ui5-card-header]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, subtitleText: { classPropertyName: "subtitleText", publicName: "subtitleText", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -2655,6 +2693,7 @@ class Carousel {
2655
2693
  * @private
2656
2694
  */
2657
2695
  this._contentDensityObserver = inject(ContentDensityObserver);
2696
+ this._destroyRef = inject(DestroyRef);
2658
2697
  }
2659
2698
  /**
2660
2699
  * The indices of the currently visible items of the component.
@@ -2708,17 +2747,21 @@ class Carousel {
2708
2747
  'ui5Navigate',
2709
2748
  ];
2710
2749
  // Synchronize outputs (events)
2750
+ const _listeners = [];
2711
2751
  for (const outputName of outputsToSync) {
2712
2752
  // Map Angular output name to UI5 web component event name
2713
2753
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
2714
2754
  // Ensure the output property exists and has an emit function before adding listener
2715
2755
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
2716
2756
  // Cast the listener to the correct type to satisfy TypeScript
2717
- wcElement.addEventListener(eventName, (e) => {
2757
+ const listener = (e) => {
2718
2758
  this[outputName].emit(e);
2719
- });
2759
+ };
2760
+ wcElement.addEventListener(eventName, listener);
2761
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
2720
2762
  }
2721
2763
  }
2764
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
2722
2765
  }
2723
2766
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Carousel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2724
2767
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Carousel, isStandalone: true, selector: "ui5-carousel, [ui5-carousel]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, arrowsPlacement: { classPropertyName: "arrowsPlacement", publicName: "arrowsPlacement", isSignal: true, isRequired: false, transformFunction: null }, backgroundDesign: { classPropertyName: "backgroundDesign", publicName: "backgroundDesign", isSignal: true, isRequired: false, transformFunction: null }, cyclic: { classPropertyName: "cyclic", publicName: "cyclic", isSignal: true, isRequired: false, transformFunction: null }, hideNavigationArrows: { classPropertyName: "hideNavigationArrows", publicName: "hideNavigationArrows", isSignal: true, isRequired: false, transformFunction: null }, hidePageIndicator: { classPropertyName: "hidePageIndicator", publicName: "hidePageIndicator", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: true, isRequired: false, transformFunction: null }, pageIndicatorBackgroundDesign: { classPropertyName: "pageIndicatorBackgroundDesign", publicName: "pageIndicatorBackgroundDesign", isSignal: true, isRequired: false, transformFunction: null }, pageIndicatorBorderDesign: { classPropertyName: "pageIndicatorBorderDesign", publicName: "pageIndicatorBorderDesign", isSignal: true, isRequired: false, transformFunction: null }, pageIndicatorType: { classPropertyName: "pageIndicatorType", publicName: "pageIndicatorType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Navigate: "ui5Navigate" }, providers: [
@@ -2852,6 +2895,7 @@ class CheckBox {
2852
2895
  * @private
2853
2896
  */
2854
2897
  this._contentDensityObserver = inject(ContentDensityObserver);
2898
+ this._destroyRef = inject(DestroyRef);
2855
2899
  }
2856
2900
  get element() {
2857
2901
  return this.elementRef.nativeElement;
@@ -2900,17 +2944,21 @@ class CheckBox {
2900
2944
  'ui5Change',
2901
2945
  ];
2902
2946
  // Synchronize outputs (events)
2947
+ const _listeners = [];
2903
2948
  for (const outputName of outputsToSync) {
2904
2949
  // Map Angular output name to UI5 web component event name
2905
2950
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
2906
2951
  // Ensure the output property exists and has an emit function before adding listener
2907
2952
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
2908
2953
  // Cast the listener to the correct type to satisfy TypeScript
2909
- wcElement.addEventListener(eventName, (e) => {
2954
+ const listener = (e) => {
2910
2955
  this[outputName].emit(e);
2911
- });
2956
+ };
2957
+ wcElement.addEventListener(eventName, listener);
2958
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
2912
2959
  }
2913
2960
  }
2961
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
2914
2962
  }
2915
2963
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CheckBox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2916
2964
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: CheckBox, isStandalone: true, selector: "ui5-checkbox, [ui5-checkbox]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, displayOnly: { classPropertyName: "displayOnly", publicName: "displayOnly", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -2925,7 +2973,7 @@ class CheckBox {
2925
2973
  transformValue: (v) => !!v
2926
2974
  }
2927
2975
  }
2928
- ], exportAs: ["ui5CheckBox"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2976
+ ], exportAs: ["ui5CheckBox"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2929
2977
  }
2930
2978
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CheckBox, decorators: [{
2931
2979
  type: Component,
@@ -3001,6 +3049,7 @@ class ColorPalette {
3001
3049
  * @private
3002
3050
  */
3003
3051
  this._contentDensityObserver = inject(ContentDensityObserver);
3052
+ this._destroyRef = inject(DestroyRef);
3004
3053
  }
3005
3054
  get element() {
3006
3055
  return this.elementRef.nativeElement;
@@ -3038,17 +3087,21 @@ class ColorPalette {
3038
3087
  'ui5ItemClick',
3039
3088
  ];
3040
3089
  // Synchronize outputs (events)
3090
+ const _listeners = [];
3041
3091
  for (const outputName of outputsToSync) {
3042
3092
  // Map Angular output name to UI5 web component event name
3043
3093
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
3044
3094
  // Ensure the output property exists and has an emit function before adding listener
3045
3095
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
3046
3096
  // Cast the listener to the correct type to satisfy TypeScript
3047
- wcElement.addEventListener(eventName, (e) => {
3097
+ const listener = (e) => {
3048
3098
  this[outputName].emit(e);
3049
- });
3099
+ };
3100
+ wcElement.addEventListener(eventName, listener);
3101
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
3050
3102
  }
3051
3103
  }
3104
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
3052
3105
  }
3053
3106
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorPalette, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3054
3107
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ColorPalette, isStandalone: true, selector: "ui5-color-palette, [ui5-color-palette]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ItemClick: "ui5ItemClick" }, providers: [
@@ -3108,6 +3161,7 @@ class ColorPaletteItem {
3108
3161
  * @private
3109
3162
  */
3110
3163
  this._contentDensityObserver = inject(ContentDensityObserver);
3164
+ this._destroyRef = inject(DestroyRef);
3111
3165
  }
3112
3166
  get element() {
3113
3167
  return this.elementRef.nativeElement;
@@ -3146,17 +3200,21 @@ class ColorPaletteItem {
3146
3200
  'ui5Click',
3147
3201
  ];
3148
3202
  // Synchronize outputs (events)
3203
+ const _listeners = [];
3149
3204
  for (const outputName of outputsToSync) {
3150
3205
  // Map Angular output name to UI5 web component event name
3151
3206
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
3152
3207
  // Ensure the output property exists and has an emit function before adding listener
3153
3208
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
3154
3209
  // Cast the listener to the correct type to satisfy TypeScript
3155
- wcElement.addEventListener(eventName, (e) => {
3210
+ const listener = (e) => {
3156
3211
  this[outputName].emit(e);
3157
- });
3212
+ };
3213
+ wcElement.addEventListener(eventName, listener);
3214
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
3158
3215
  }
3159
3216
  }
3217
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
3160
3218
  }
3161
3219
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorPaletteItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3162
3220
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ColorPaletteItem, isStandalone: true, selector: "ui5-color-palette-item, [ui5-color-palette-item]", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -3269,6 +3327,7 @@ class ColorPalettePopover {
3269
3327
  * @private
3270
3328
  */
3271
3329
  this._contentDensityObserver = inject(ContentDensityObserver);
3330
+ this._destroyRef = inject(DestroyRef);
3272
3331
  }
3273
3332
  get element() {
3274
3333
  return this.elementRef.nativeElement;
@@ -3314,17 +3373,21 @@ class ColorPalettePopover {
3314
3373
  'ui5ItemClick',
3315
3374
  ];
3316
3375
  // Synchronize outputs (events)
3376
+ const _listeners = [];
3317
3377
  for (const outputName of outputsToSync) {
3318
3378
  // Map Angular output name to UI5 web component event name
3319
3379
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
3320
3380
  // Ensure the output property exists and has an emit function before adding listener
3321
3381
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
3322
3382
  // Cast the listener to the correct type to satisfy TypeScript
3323
- wcElement.addEventListener(eventName, (e) => {
3383
+ const listener = (e) => {
3324
3384
  this[outputName].emit(e);
3325
- });
3385
+ };
3386
+ wcElement.addEventListener(eventName, listener);
3387
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
3326
3388
  }
3327
3389
  }
3390
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
3328
3391
  }
3329
3392
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorPalettePopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3330
3393
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ColorPalettePopover, isStandalone: true, selector: "ui5-color-palette-popover, [ui5-color-palette-popover]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, defaultColor: { classPropertyName: "defaultColor", publicName: "defaultColor", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, opener: { classPropertyName: "opener", publicName: "opener", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, showDefaultColor: { classPropertyName: "showDefaultColor", publicName: "showDefaultColor", isSignal: true, isRequired: false, transformFunction: null }, showMoreColors: { classPropertyName: "showMoreColors", publicName: "showMoreColors", isSignal: true, isRequired: false, transformFunction: null }, showRecentColors: { classPropertyName: "showRecentColors", publicName: "showRecentColors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Close: "ui5Close", ui5ItemClick: "ui5ItemClick" }, providers: [
@@ -3391,6 +3454,7 @@ class ColorPicker {
3391
3454
  * @private
3392
3455
  */
3393
3456
  this._contentDensityObserver = inject(ContentDensityObserver);
3457
+ this._destroyRef = inject(DestroyRef);
3394
3458
  }
3395
3459
  get element() {
3396
3460
  return this.elementRef.nativeElement;
@@ -3431,17 +3495,21 @@ class ColorPicker {
3431
3495
  'ui5Change',
3432
3496
  ];
3433
3497
  // Synchronize outputs (events)
3498
+ const _listeners = [];
3434
3499
  for (const outputName of outputsToSync) {
3435
3500
  // Map Angular output name to UI5 web component event name
3436
3501
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
3437
3502
  // Ensure the output property exists and has an emit function before adding listener
3438
3503
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
3439
3504
  // Cast the listener to the correct type to satisfy TypeScript
3440
- wcElement.addEventListener(eventName, (e) => {
3505
+ const listener = (e) => {
3441
3506
  this[outputName].emit(e);
3442
- });
3507
+ };
3508
+ wcElement.addEventListener(eventName, listener);
3509
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
3443
3510
  }
3444
3511
  }
3512
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
3445
3513
  }
3446
3514
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorPicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3447
3515
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ColorPicker, isStandalone: true, selector: "ui5-color-picker, [ui5-color-picker]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, simplified: { classPropertyName: "simplified", publicName: "simplified", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -3629,6 +3697,7 @@ class ComboBox {
3629
3697
  * @private
3630
3698
  */
3631
3699
  this._contentDensityObserver = inject(ContentDensityObserver);
3700
+ this._destroyRef = inject(DestroyRef);
3632
3701
  }
3633
3702
  get element() {
3634
3703
  return this.elementRef.nativeElement;
@@ -3683,17 +3752,21 @@ class ComboBox {
3683
3752
  'ui5SelectionChange',
3684
3753
  ];
3685
3754
  // Synchronize outputs (events)
3755
+ const _listeners = [];
3686
3756
  for (const outputName of outputsToSync) {
3687
3757
  // Map Angular output name to UI5 web component event name
3688
3758
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
3689
3759
  // Ensure the output property exists and has an emit function before adding listener
3690
3760
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
3691
3761
  // Cast the listener to the correct type to satisfy TypeScript
3692
- wcElement.addEventListener(eventName, (e) => {
3762
+ const listener = (e) => {
3693
3763
  this[outputName].emit(e);
3694
- });
3764
+ };
3765
+ wcElement.addEventListener(eventName, listener);
3766
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
3695
3767
  }
3696
3768
  }
3769
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
3697
3770
  }
3698
3771
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ComboBox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3699
3772
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ComboBox, isStandalone: true, selector: "ui5-combobox, [ui5-combobox]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, selectedValue: { classPropertyName: "selectedValue", publicName: "selectedValue", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5SelectionChange: "ui5SelectionChange" }, providers: [
@@ -3708,7 +3781,7 @@ class ComboBox {
3708
3781
  transformValue: (v) => v || ''
3709
3782
  }
3710
3783
  }
3711
- ], exportAs: ["ui5ComboBox"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3784
+ ], exportAs: ["ui5ComboBox"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3712
3785
  }
3713
3786
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ComboBox, decorators: [{
3714
3787
  type: Component,
@@ -3784,6 +3857,7 @@ class ComboBoxItem {
3784
3857
  * @private
3785
3858
  */
3786
3859
  this._contentDensityObserver = inject(ContentDensityObserver);
3860
+ this._destroyRef = inject(DestroyRef);
3787
3861
  }
3788
3862
  get element() {
3789
3863
  return this.elementRef.nativeElement;
@@ -3822,17 +3896,21 @@ class ComboBoxItem {
3822
3896
  'ui5Click',
3823
3897
  ];
3824
3898
  // Synchronize outputs (events)
3899
+ const _listeners = [];
3825
3900
  for (const outputName of outputsToSync) {
3826
3901
  // Map Angular output name to UI5 web component event name
3827
3902
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
3828
3903
  // Ensure the output property exists and has an emit function before adding listener
3829
3904
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
3830
3905
  // Cast the listener to the correct type to satisfy TypeScript
3831
- wcElement.addEventListener(eventName, (e) => {
3906
+ const listener = (e) => {
3832
3907
  this[outputName].emit(e);
3833
- });
3908
+ };
3909
+ wcElement.addEventListener(eventName, listener);
3910
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
3834
3911
  }
3835
3912
  }
3913
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
3836
3914
  }
3837
3915
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ComboBoxItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3838
3916
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ComboBoxItem, isStandalone: true, selector: "ui5-cb-item, [ui5-cb-item]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -3910,6 +3988,7 @@ class ComboBoxItemCustom {
3910
3988
  * @private
3911
3989
  */
3912
3990
  this._contentDensityObserver = inject(ContentDensityObserver);
3991
+ this._destroyRef = inject(DestroyRef);
3913
3992
  }
3914
3993
  get element() {
3915
3994
  return this.elementRef.nativeElement;
@@ -3947,17 +4026,21 @@ class ComboBoxItemCustom {
3947
4026
  'ui5Click',
3948
4027
  ];
3949
4028
  // Synchronize outputs (events)
4029
+ const _listeners = [];
3950
4030
  for (const outputName of outputsToSync) {
3951
4031
  // Map Angular output name to UI5 web component event name
3952
4032
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
3953
4033
  // Ensure the output property exists and has an emit function before adding listener
3954
4034
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
3955
4035
  // Cast the listener to the correct type to satisfy TypeScript
3956
- wcElement.addEventListener(eventName, (e) => {
4036
+ const listener = (e) => {
3957
4037
  this[outputName].emit(e);
3958
- });
4038
+ };
4039
+ wcElement.addEventListener(eventName, listener);
4040
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
3959
4041
  }
3960
4042
  }
4043
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
3961
4044
  }
3962
4045
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ComboBoxItemCustom, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3963
4046
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ComboBoxItemCustom, isStandalone: true, selector: "ui5-cb-item-custom, [ui5-cb-item-custom]", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -4061,6 +4144,7 @@ class ComboBoxItemGroup {
4061
4144
  * @private
4062
4145
  */
4063
4146
  this._contentDensityObserver = inject(ContentDensityObserver);
4147
+ this._destroyRef = inject(DestroyRef);
4064
4148
  }
4065
4149
  get element() {
4066
4150
  return this.elementRef.nativeElement;
@@ -4100,17 +4184,21 @@ class ComboBoxItemGroup {
4100
4184
  'ui5MoveOver',
4101
4185
  ];
4102
4186
  // Synchronize outputs (events)
4187
+ const _listeners = [];
4103
4188
  for (const outputName of outputsToSync) {
4104
4189
  // Map Angular output name to UI5 web component event name
4105
4190
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
4106
4191
  // Ensure the output property exists and has an emit function before adding listener
4107
4192
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
4108
4193
  // Cast the listener to the correct type to satisfy TypeScript
4109
- wcElement.addEventListener(eventName, (e) => {
4194
+ const listener = (e) => {
4110
4195
  this[outputName].emit(e);
4111
- });
4196
+ };
4197
+ wcElement.addEventListener(eventName, listener);
4198
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
4112
4199
  }
4113
4200
  }
4201
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
4114
4202
  }
4115
4203
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ComboBoxItemGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4116
4204
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ComboBoxItemGroup, isStandalone: true, selector: "ui5-cb-item-group, [ui5-cb-item-group]", inputs: { headerAccessibleName: { classPropertyName: "headerAccessibleName", publicName: "headerAccessibleName", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Move: "ui5Move", ui5MoveOver: "ui5MoveOver" }, providers: [
@@ -4318,6 +4406,7 @@ class DatePicker {
4318
4406
  * @private
4319
4407
  */
4320
4408
  this._contentDensityObserver = inject(ContentDensityObserver);
4409
+ this._destroyRef = inject(DestroyRef);
4321
4410
  }
4322
4411
  /**
4323
4412
  * Currently selected date represented as a Local JavaScript Date instance.
@@ -4394,17 +4483,21 @@ class DatePicker {
4394
4483
  'ui5ValueStateChange',
4395
4484
  ];
4396
4485
  // Synchronize outputs (events)
4486
+ const _listeners = [];
4397
4487
  for (const outputName of outputsToSync) {
4398
4488
  // Map Angular output name to UI5 web component event name
4399
4489
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
4400
4490
  // Ensure the output property exists and has an emit function before adding listener
4401
4491
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
4402
4492
  // Cast the listener to the correct type to satisfy TypeScript
4403
- wcElement.addEventListener(eventName, (e) => {
4493
+ const listener = (e) => {
4404
4494
  this[outputName].emit(e);
4405
- });
4495
+ };
4496
+ wcElement.addEventListener(eventName, listener);
4497
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
4406
4498
  }
4407
4499
  }
4500
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
4408
4501
  }
4409
4502
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DatePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4410
4503
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: DatePicker, isStandalone: true, selector: "ui5-date-picker, [ui5-date-picker]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, calendarWeekNumbering: { classPropertyName: "calendarWeekNumbering", publicName: "calendarWeekNumbering", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, formatPattern: { classPropertyName: "formatPattern", publicName: "formatPattern", isSignal: true, isRequired: false, transformFunction: null }, hideWeekNumbers: { classPropertyName: "hideWeekNumbers", publicName: "hideWeekNumbers", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, primaryCalendarType: { classPropertyName: "primaryCalendarType", publicName: "primaryCalendarType", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, secondaryCalendarType: { classPropertyName: "secondaryCalendarType", publicName: "secondaryCalendarType", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5ValueStateChange: "ui5ValueStateChange" }, providers: [
@@ -4419,7 +4512,7 @@ class DatePicker {
4419
4512
  transformValue: (v) => v || ''
4420
4513
  }
4421
4514
  }
4422
- ], exportAs: ["ui5DatePicker"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4515
+ ], exportAs: ["ui5DatePicker"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4423
4516
  }
4424
4517
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DatePicker, decorators: [{
4425
4518
  type: Component,
@@ -4645,6 +4738,7 @@ class DateRangePicker {
4645
4738
  * @private
4646
4739
  */
4647
4740
  this._contentDensityObserver = inject(ContentDensityObserver);
4741
+ this._destroyRef = inject(DestroyRef);
4648
4742
  }
4649
4743
  /**
4650
4744
  * **Note:** The getter method is inherited and not supported. If called it will return an empty value.
@@ -4743,17 +4837,21 @@ class DateRangePicker {
4743
4837
  'ui5ValueStateChange',
4744
4838
  ];
4745
4839
  // Synchronize outputs (events)
4840
+ const _listeners = [];
4746
4841
  for (const outputName of outputsToSync) {
4747
4842
  // Map Angular output name to UI5 web component event name
4748
4843
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
4749
4844
  // Ensure the output property exists and has an emit function before adding listener
4750
4845
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
4751
4846
  // Cast the listener to the correct type to satisfy TypeScript
4752
- wcElement.addEventListener(eventName, (e) => {
4847
+ const listener = (e) => {
4753
4848
  this[outputName].emit(e);
4754
- });
4849
+ };
4850
+ wcElement.addEventListener(eventName, listener);
4851
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
4755
4852
  }
4756
4853
  }
4854
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
4757
4855
  }
4758
4856
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DateRangePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4759
4857
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: DateRangePicker, isStandalone: true, selector: "ui5-daterange-picker, [ui5-daterange-picker]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, calendarWeekNumbering: { classPropertyName: "calendarWeekNumbering", publicName: "calendarWeekNumbering", isSignal: true, isRequired: false, transformFunction: null }, delimiter: { classPropertyName: "delimiter", publicName: "delimiter", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, formatPattern: { classPropertyName: "formatPattern", publicName: "formatPattern", isSignal: true, isRequired: false, transformFunction: null }, hideWeekNumbers: { classPropertyName: "hideWeekNumbers", publicName: "hideWeekNumbers", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, primaryCalendarType: { classPropertyName: "primaryCalendarType", publicName: "primaryCalendarType", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, secondaryCalendarType: { classPropertyName: "secondaryCalendarType", publicName: "secondaryCalendarType", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, showTwoMonths: { classPropertyName: "showTwoMonths", publicName: "showTwoMonths", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5ValueStateChange: "ui5ValueStateChange" }, providers: [
@@ -4768,7 +4866,7 @@ class DateRangePicker {
4768
4866
  transformValue: (v) => v || ''
4769
4867
  }
4770
4868
  }
4771
- ], exportAs: ["ui5DateRangePicker"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4869
+ ], exportAs: ["ui5DateRangePicker"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4772
4870
  }
4773
4871
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DateRangePicker, decorators: [{
4774
4872
  type: Component,
@@ -4988,6 +5086,7 @@ class DateTimeInput {
4988
5086
  * @private
4989
5087
  */
4990
5088
  this._contentDensityObserver = inject(ContentDensityObserver);
5089
+ this._destroyRef = inject(DestroyRef);
4991
5090
  }
4992
5091
  get element() {
4993
5092
  return this.elementRef.nativeElement;
@@ -5046,17 +5145,21 @@ class DateTimeInput {
5046
5145
  'ui5SelectionChange',
5047
5146
  ];
5048
5147
  // Synchronize outputs (events)
5148
+ const _listeners = [];
5049
5149
  for (const outputName of outputsToSync) {
5050
5150
  // Map Angular output name to UI5 web component event name
5051
5151
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
5052
5152
  // Ensure the output property exists and has an emit function before adding listener
5053
5153
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
5054
5154
  // Cast the listener to the correct type to satisfy TypeScript
5055
- wcElement.addEventListener(eventName, (e) => {
5155
+ const listener = (e) => {
5056
5156
  this[outputName].emit(e);
5057
- });
5157
+ };
5158
+ wcElement.addEventListener(eventName, listener);
5159
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
5058
5160
  }
5059
5161
  }
5162
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
5060
5163
  }
5061
5164
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DateTimeInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5062
5165
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: DateTimeInput, isStandalone: true, selector: "ui5-datetime-input, [ui5-datetime-input]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, showSuggestions: { classPropertyName: "showSuggestions", publicName: "showSuggestions", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5Select: "ui5Select", ui5SelectionChange: "ui5SelectionChange" }, providers: [
@@ -5071,7 +5174,7 @@ class DateTimeInput {
5071
5174
  transformValue: (v) => v || ''
5072
5175
  }
5073
5176
  }
5074
- ], exportAs: ["ui5DateTimeInput"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5177
+ ], exportAs: ["ui5DateTimeInput"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5075
5178
  }
5076
5179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DateTimeInput, decorators: [{
5077
5180
  type: Component,
@@ -5281,6 +5384,7 @@ class DateTimePicker {
5281
5384
  * @private
5282
5385
  */
5283
5386
  this._contentDensityObserver = inject(ContentDensityObserver);
5387
+ this._destroyRef = inject(DestroyRef);
5284
5388
  }
5285
5389
  /**
5286
5390
  * Currently selected date represented as a Local JavaScript Date instance.
@@ -5357,17 +5461,21 @@ class DateTimePicker {
5357
5461
  'ui5ValueStateChange',
5358
5462
  ];
5359
5463
  // Synchronize outputs (events)
5464
+ const _listeners = [];
5360
5465
  for (const outputName of outputsToSync) {
5361
5466
  // Map Angular output name to UI5 web component event name
5362
5467
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
5363
5468
  // Ensure the output property exists and has an emit function before adding listener
5364
5469
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
5365
5470
  // Cast the listener to the correct type to satisfy TypeScript
5366
- wcElement.addEventListener(eventName, (e) => {
5471
+ const listener = (e) => {
5367
5472
  this[outputName].emit(e);
5368
- });
5473
+ };
5474
+ wcElement.addEventListener(eventName, listener);
5475
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
5369
5476
  }
5370
5477
  }
5478
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
5371
5479
  }
5372
5480
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DateTimePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5373
5481
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: DateTimePicker, isStandalone: true, selector: "ui5-datetime-picker, [ui5-datetime-picker]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, calendarWeekNumbering: { classPropertyName: "calendarWeekNumbering", publicName: "calendarWeekNumbering", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, formatPattern: { classPropertyName: "formatPattern", publicName: "formatPattern", isSignal: true, isRequired: false, transformFunction: null }, hideWeekNumbers: { classPropertyName: "hideWeekNumbers", publicName: "hideWeekNumbers", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, primaryCalendarType: { classPropertyName: "primaryCalendarType", publicName: "primaryCalendarType", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, secondaryCalendarType: { classPropertyName: "secondaryCalendarType", publicName: "secondaryCalendarType", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5ValueStateChange: "ui5ValueStateChange" }, providers: [
@@ -5382,7 +5490,7 @@ class DateTimePicker {
5382
5490
  transformValue: (v) => v || ''
5383
5491
  }
5384
5492
  }
5385
- ], exportAs: ["ui5DateTimePicker"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5493
+ ], exportAs: ["ui5DateTimePicker"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5386
5494
  }
5387
5495
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DateTimePicker, decorators: [{
5388
5496
  type: Component,
@@ -5692,6 +5800,7 @@ class Dialog {
5692
5800
  * @private
5693
5801
  */
5694
5802
  this._contentDensityObserver = inject(ContentDensityObserver);
5803
+ this._destroyRef = inject(DestroyRef);
5695
5804
  }
5696
5805
  get element() {
5697
5806
  return this.elementRef.nativeElement;
@@ -5745,17 +5854,21 @@ class Dialog {
5745
5854
  'ui5Open',
5746
5855
  ];
5747
5856
  // Synchronize outputs (events)
5857
+ const _listeners = [];
5748
5858
  for (const outputName of outputsToSync) {
5749
5859
  // Map Angular output name to UI5 web component event name
5750
5860
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
5751
5861
  // Ensure the output property exists and has an emit function before adding listener
5752
5862
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
5753
5863
  // Cast the listener to the correct type to satisfy TypeScript
5754
- wcElement.addEventListener(eventName, (e) => {
5864
+ const listener = (e) => {
5755
5865
  this[outputName].emit(e);
5756
- });
5866
+ };
5867
+ wcElement.addEventListener(eventName, listener);
5868
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
5757
5869
  }
5758
5870
  }
5871
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
5759
5872
  }
5760
5873
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Dialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5761
5874
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Dialog, isStandalone: true, selector: "ui5-dialog, [ui5-dialog]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, preventFocusRestore: { classPropertyName: "preventFocusRestore", publicName: "preventFocusRestore", isSignal: true, isRequired: false, transformFunction: null }, preventInitialFocus: { classPropertyName: "preventInitialFocus", publicName: "preventInitialFocus", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, showFullscreenButton: { classPropertyName: "showFullscreenButton", publicName: "showFullscreenButton", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, stretch: { classPropertyName: "stretch", publicName: "stretch", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5BeforeClose: "ui5BeforeClose", ui5BeforeOpen: "ui5BeforeOpen", ui5Close: "ui5Close", ui5Open: "ui5Open" }, providers: [
@@ -5899,6 +6012,7 @@ class DynamicDateRange {
5899
6012
  * @private
5900
6013
  */
5901
6014
  this._contentDensityObserver = inject(ContentDensityObserver);
6015
+ this._destroyRef = inject(DestroyRef);
5902
6016
  }
5903
6017
  get element() {
5904
6018
  return this.elementRef.nativeElement;
@@ -5937,17 +6051,21 @@ class DynamicDateRange {
5937
6051
  'ui5Change',
5938
6052
  ];
5939
6053
  // Synchronize outputs (events)
6054
+ const _listeners = [];
5940
6055
  for (const outputName of outputsToSync) {
5941
6056
  // Map Angular output name to UI5 web component event name
5942
6057
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
5943
6058
  // Ensure the output property exists and has an emit function before adding listener
5944
6059
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
5945
6060
  // Cast the listener to the correct type to satisfy TypeScript
5946
- wcElement.addEventListener(eventName, (e) => {
6061
+ const listener = (e) => {
5947
6062
  this[outputName].emit(e);
5948
- });
6063
+ };
6064
+ wcElement.addEventListener(eventName, listener);
6065
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
5949
6066
  }
5950
6067
  }
6068
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
5951
6069
  }
5952
6070
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DynamicDateRange, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5953
6071
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: DynamicDateRange, isStandalone: true, selector: "ui5-dynamic-date-range, [ui5-dynamic-date-range]", inputs: { accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -6203,6 +6321,7 @@ class FileUploader {
6203
6321
  * @private
6204
6322
  */
6205
6323
  this._contentDensityObserver = inject(ContentDensityObserver);
6324
+ this._destroyRef = inject(DestroyRef);
6206
6325
  // Internal signal to track files from change events
6207
6326
  this._filesSignal = signal(null, /* @ts-ignore */
6208
6327
  ...(ngDevMode ? [{ debugName: "_filesSignal" }] : /* istanbul ignore next */ []));
@@ -6256,27 +6375,33 @@ class FileUploader {
6256
6375
  'ui5FileSizeExceed',
6257
6376
  ];
6258
6377
  // Synchronize outputs (events)
6378
+ const _listeners = [];
6259
6379
  for (const outputName of outputsToSync) {
6260
6380
  // Map Angular output name to UI5 web component event name
6261
6381
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
6262
6382
  // Ensure the output property exists and has an emit function before adding listener
6263
6383
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
6264
6384
  // Cast the listener to the correct type to satisfy TypeScript
6265
- wcElement.addEventListener(eventName, (e) => {
6385
+ const listener = (e) => {
6266
6386
  // Update files signal when change event fires
6267
6387
  if (eventName === 'change') {
6268
6388
  const customEvent = e;
6269
6389
  // Use files from event detail, fallback to web component property
6390
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
6270
6391
  const filesValue = customEvent.detail?.files || wcElement.files || null;
6271
6392
  this._filesSignal.set(filesValue);
6272
6393
  }
6273
6394
  this[outputName].emit(e);
6274
- });
6395
+ };
6396
+ wcElement.addEventListener(eventName, listener);
6397
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
6275
6398
  }
6276
6399
  }
6400
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
6277
6401
  // Initialize files signal with current state using delayed initialization
6278
6402
  // to handle web component timing properly
6279
6403
  const initializeFiles = () => {
6404
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
6280
6405
  const currentValue = wcElement.files || null;
6281
6406
  if (JSON.stringify(currentValue) !== JSON.stringify(this._filesSignal())) {
6282
6407
  this._filesSignal.set(currentValue);
@@ -6301,7 +6426,7 @@ class FileUploader {
6301
6426
  transformValue: (v) => v || ''
6302
6427
  }
6303
6428
  }
6304
- ], exportAs: ["ui5FileUploader"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6429
+ ], exportAs: ["ui5FileUploader"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6305
6430
  }
6306
6431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FileUploader, decorators: [{
6307
6432
  type: Component,
@@ -6862,6 +6987,7 @@ class Icon {
6862
6987
  * @private
6863
6988
  */
6864
6989
  this._contentDensityObserver = inject(ContentDensityObserver);
6990
+ this._destroyRef = inject(DestroyRef);
6865
6991
  }
6866
6992
  get element() {
6867
6993
  return this.elementRef.nativeElement;
@@ -6902,17 +7028,21 @@ class Icon {
6902
7028
  'ui5Click',
6903
7029
  ];
6904
7030
  // Synchronize outputs (events)
7031
+ const _listeners = [];
6905
7032
  for (const outputName of outputsToSync) {
6906
7033
  // Map Angular output name to UI5 web component event name
6907
7034
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
6908
7035
  // Ensure the output property exists and has an emit function before adding listener
6909
7036
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
6910
7037
  // Cast the listener to the correct type to satisfy TypeScript
6911
- wcElement.addEventListener(eventName, (e) => {
7038
+ const listener = (e) => {
6912
7039
  this[outputName].emit(e);
6913
- });
7040
+ };
7041
+ wcElement.addEventListener(eventName, listener);
7042
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
6914
7043
  }
6915
7044
  }
7045
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
6916
7046
  }
6917
7047
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Icon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6918
7048
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Icon, isStandalone: true, selector: "ui5-icon, [ui5-icon]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -7130,6 +7260,7 @@ class Input {
7130
7260
  * @private
7131
7261
  */
7132
7262
  this._contentDensityObserver = inject(ContentDensityObserver);
7263
+ this._destroyRef = inject(DestroyRef);
7133
7264
  }
7134
7265
  get element() {
7135
7266
  return this.elementRef.nativeElement;
@@ -7188,17 +7319,21 @@ class Input {
7188
7319
  'ui5SelectionChange',
7189
7320
  ];
7190
7321
  // Synchronize outputs (events)
7322
+ const _listeners = [];
7191
7323
  for (const outputName of outputsToSync) {
7192
7324
  // Map Angular output name to UI5 web component event name
7193
7325
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
7194
7326
  // Ensure the output property exists and has an emit function before adding listener
7195
7327
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
7196
7328
  // Cast the listener to the correct type to satisfy TypeScript
7197
- wcElement.addEventListener(eventName, (e) => {
7329
+ const listener = (e) => {
7198
7330
  this[outputName].emit(e);
7199
- });
7331
+ };
7332
+ wcElement.addEventListener(eventName, listener);
7333
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
7200
7334
  }
7201
7335
  }
7336
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
7202
7337
  }
7203
7338
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Input, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7204
7339
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Input, isStandalone: true, selector: "ui5-input, [ui5-input]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, showSuggestions: { classPropertyName: "showSuggestions", publicName: "showSuggestions", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5Select: "ui5Select", ui5SelectionChange: "ui5SelectionChange" }, providers: [
@@ -7213,7 +7348,7 @@ class Input {
7213
7348
  transformValue: (v) => v || ''
7214
7349
  }
7215
7350
  }
7216
- ], exportAs: ["ui5Input"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7351
+ ], exportAs: ["ui5Input"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7217
7352
  }
7218
7353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Input, decorators: [{
7219
7354
  type: Component,
@@ -7269,6 +7404,7 @@ class InputIcon {
7269
7404
  * @private
7270
7405
  */
7271
7406
  this._contentDensityObserver = inject(ContentDensityObserver);
7407
+ this._destroyRef = inject(DestroyRef);
7272
7408
  }
7273
7409
  get element() {
7274
7410
  return this.elementRef.nativeElement;
@@ -7306,17 +7442,21 @@ class InputIcon {
7306
7442
  'ui5Click',
7307
7443
  ];
7308
7444
  // Synchronize outputs (events)
7445
+ const _listeners = [];
7309
7446
  for (const outputName of outputsToSync) {
7310
7447
  // Map Angular output name to UI5 web component event name
7311
7448
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
7312
7449
  // Ensure the output property exists and has an emit function before adding listener
7313
7450
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
7314
7451
  // Cast the listener to the correct type to satisfy TypeScript
7315
- wcElement.addEventListener(eventName, (e) => {
7452
+ const listener = (e) => {
7316
7453
  this[outputName].emit(e);
7317
- });
7454
+ };
7455
+ wcElement.addEventListener(eventName, listener);
7456
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
7318
7457
  }
7319
7458
  }
7459
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
7320
7460
  }
7321
7461
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InputIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7322
7462
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: InputIcon, isStandalone: true, selector: "ui5-input-icon, [ui5-input-icon]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -7623,6 +7763,7 @@ class Link {
7623
7763
  * @private
7624
7764
  */
7625
7765
  this._contentDensityObserver = inject(ContentDensityObserver);
7766
+ this._destroyRef = inject(DestroyRef);
7626
7767
  }
7627
7768
  get element() {
7628
7769
  return this.elementRef.nativeElement;
@@ -7672,24 +7813,28 @@ class Link {
7672
7813
  'ui5Click',
7673
7814
  ];
7674
7815
  // Synchronize outputs (events)
7816
+ const _listeners = [];
7675
7817
  for (const outputName of outputsToSync) {
7676
7818
  // Map Angular output name to UI5 web component event name
7677
7819
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
7678
7820
  // Ensure the output property exists and has an emit function before adding listener
7679
7821
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
7680
7822
  // Cast the listener to the correct type to satisfy TypeScript
7681
- wcElement.addEventListener(eventName, (e) => {
7823
+ const listener = (e) => {
7682
7824
  this[outputName].emit(e);
7683
- });
7825
+ };
7826
+ wcElement.addEventListener(eventName, listener);
7827
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
7684
7828
  }
7685
7829
  }
7830
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
7686
7831
  }
7687
7832
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Link, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7688
7833
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Link, isStandalone: true, selector: "ui5-link, [ui5-link]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, endIcon: { classPropertyName: "endIcon", publicName: "endIcon", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, interactiveAreaSize: { classPropertyName: "interactiveAreaSize", publicName: "interactiveAreaSize", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
7689
7834
  contentDensityObserverProviders({
7690
7835
  supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
7691
7836
  })
7692
- ], exportAs: ["ui5Link"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7837
+ ], exportAs: ["ui5Link"], hostDirectives: [{ directive: i1.Ui5RouterLinkBridgeDirective }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7693
7838
  }
7694
7839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Link, decorators: [{
7695
7840
  type: Component,
@@ -7698,6 +7843,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
7698
7843
  selector: 'ui5-link, [ui5-link]',
7699
7844
  template: '<ng-content></ng-content>',
7700
7845
  exportAs: 'ui5Link',
7846
+ hostDirectives: [Ui5RouterLinkBridgeDirective],
7701
7847
  providers: [
7702
7848
  contentDensityObserverProviders({
7703
7849
  supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
@@ -7912,6 +8058,7 @@ class List {
7912
8058
  * @private
7913
8059
  */
7914
8060
  this._contentDensityObserver = inject(ContentDensityObserver);
8061
+ this._destroyRef = inject(DestroyRef);
7915
8062
  }
7916
8063
  /**
7917
8064
  * Returns an array containing the list item instances without the groups in a flat structure.
@@ -7978,17 +8125,21 @@ class List {
7978
8125
  'ui5SelectionChange',
7979
8126
  ];
7980
8127
  // Synchronize outputs (events)
8128
+ const _listeners = [];
7981
8129
  for (const outputName of outputsToSync) {
7982
8130
  // Map Angular output name to UI5 web component event name
7983
8131
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
7984
8132
  // Ensure the output property exists and has an emit function before adding listener
7985
8133
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
7986
8134
  // Cast the listener to the correct type to satisfy TypeScript
7987
- wcElement.addEventListener(eventName, (e) => {
8135
+ const listener = (e) => {
7988
8136
  this[outputName].emit(e);
7989
- });
8137
+ };
8138
+ wcElement.addEventListener(eventName, listener);
8139
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
7990
8140
  }
7991
8141
  }
8142
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
7992
8143
  }
7993
8144
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: List, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7994
8145
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: List, isStandalone: true, selector: "ui5-list, [ui5-list]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, footerText: { classPropertyName: "footerText", publicName: "footerText", isSignal: true, isRequired: false, transformFunction: null }, growing: { classPropertyName: "growing", publicName: "growing", isSignal: true, isRequired: false, transformFunction: null }, growingButtonText: { classPropertyName: "growingButtonText", publicName: "growingButtonText", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, indent: { classPropertyName: "indent", publicName: "indent", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, noDataText: { classPropertyName: "noDataText", publicName: "noDataText", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, separators: { classPropertyName: "separators", publicName: "separators", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "stickyHeader", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ItemClick: "ui5ItemClick", ui5ItemClose: "ui5ItemClose", ui5ItemDelete: "ui5ItemDelete", ui5ItemToggle: "ui5ItemToggle", ui5LoadMore: "ui5LoadMore", ui5Move: "ui5Move", ui5MoveOver: "ui5MoveOver", ui5SelectionChange: "ui5SelectionChange" }, providers: [
@@ -8128,6 +8279,7 @@ class ListItemCustom {
8128
8279
  * @private
8129
8280
  */
8130
8281
  this._contentDensityObserver = inject(ContentDensityObserver);
8282
+ this._destroyRef = inject(DestroyRef);
8131
8283
  }
8132
8284
  get element() {
8133
8285
  return this.elementRef.nativeElement;
@@ -8173,17 +8325,21 @@ class ListItemCustom {
8173
8325
  'ui5DetailClick',
8174
8326
  ];
8175
8327
  // Synchronize outputs (events)
8328
+ const _listeners = [];
8176
8329
  for (const outputName of outputsToSync) {
8177
8330
  // Map Angular output name to UI5 web component event name
8178
8331
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
8179
8332
  // Ensure the output property exists and has an emit function before adding listener
8180
8333
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
8181
8334
  // Cast the listener to the correct type to satisfy TypeScript
8182
- wcElement.addEventListener(eventName, (e) => {
8335
+ const listener = (e) => {
8183
8336
  this[outputName].emit(e);
8184
- });
8337
+ };
8338
+ wcElement.addEventListener(eventName, listener);
8339
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
8185
8340
  }
8186
8341
  }
8342
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
8187
8343
  }
8188
8344
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ListItemCustom, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8189
8345
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ListItemCustom, isStandalone: true, selector: "ui5-li-custom, [ui5-li-custom]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click", ui5DetailClick: "ui5DetailClick" }, providers: [
@@ -8287,6 +8443,7 @@ class ListItemGroup {
8287
8443
  * @private
8288
8444
  */
8289
8445
  this._contentDensityObserver = inject(ContentDensityObserver);
8446
+ this._destroyRef = inject(DestroyRef);
8290
8447
  }
8291
8448
  get element() {
8292
8449
  return this.elementRef.nativeElement;
@@ -8326,17 +8483,21 @@ class ListItemGroup {
8326
8483
  'ui5MoveOver',
8327
8484
  ];
8328
8485
  // Synchronize outputs (events)
8486
+ const _listeners = [];
8329
8487
  for (const outputName of outputsToSync) {
8330
8488
  // Map Angular output name to UI5 web component event name
8331
8489
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
8332
8490
  // Ensure the output property exists and has an emit function before adding listener
8333
8491
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
8334
8492
  // Cast the listener to the correct type to satisfy TypeScript
8335
- wcElement.addEventListener(eventName, (e) => {
8493
+ const listener = (e) => {
8336
8494
  this[outputName].emit(e);
8337
- });
8495
+ };
8496
+ wcElement.addEventListener(eventName, listener);
8497
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
8338
8498
  }
8339
8499
  }
8500
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
8340
8501
  }
8341
8502
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ListItemGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8342
8503
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ListItemGroup, isStandalone: true, selector: "ui5-li-group, [ui5-li-group]", inputs: { headerAccessibleName: { classPropertyName: "headerAccessibleName", publicName: "headerAccessibleName", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Move: "ui5Move", ui5MoveOver: "ui5MoveOver" }, providers: [
@@ -8426,6 +8587,7 @@ class ListItemGroupHeader {
8426
8587
  * @private
8427
8588
  */
8428
8589
  this._contentDensityObserver = inject(ContentDensityObserver);
8590
+ this._destroyRef = inject(DestroyRef);
8429
8591
  }
8430
8592
  get element() {
8431
8593
  return this.elementRef.nativeElement;
@@ -8463,17 +8625,21 @@ class ListItemGroupHeader {
8463
8625
  'ui5Click',
8464
8626
  ];
8465
8627
  // Synchronize outputs (events)
8628
+ const _listeners = [];
8466
8629
  for (const outputName of outputsToSync) {
8467
8630
  // Map Angular output name to UI5 web component event name
8468
8631
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
8469
8632
  // Ensure the output property exists and has an emit function before adding listener
8470
8633
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
8471
8634
  // Cast the listener to the correct type to satisfy TypeScript
8472
- wcElement.addEventListener(eventName, (e) => {
8635
+ const listener = (e) => {
8473
8636
  this[outputName].emit(e);
8474
- });
8637
+ };
8638
+ wcElement.addEventListener(eventName, listener);
8639
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
8475
8640
  }
8476
8641
  }
8642
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
8477
8643
  }
8478
8644
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ListItemGroupHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8479
8645
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ListItemGroupHeader, isStandalone: true, selector: "ui5-li-group-header, [ui5-li-group-header]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -8679,6 +8845,7 @@ class ListItemStandard {
8679
8845
  * @private
8680
8846
  */
8681
8847
  this._contentDensityObserver = inject(ContentDensityObserver);
8848
+ this._destroyRef = inject(DestroyRef);
8682
8849
  }
8683
8850
  get element() {
8684
8851
  return this.elementRef.nativeElement;
@@ -8731,17 +8898,21 @@ class ListItemStandard {
8731
8898
  'ui5DetailClick',
8732
8899
  ];
8733
8900
  // Synchronize outputs (events)
8901
+ const _listeners = [];
8734
8902
  for (const outputName of outputsToSync) {
8735
8903
  // Map Angular output name to UI5 web component event name
8736
8904
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
8737
8905
  // Ensure the output property exists and has an emit function before adding listener
8738
8906
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
8739
8907
  // Cast the listener to the correct type to satisfy TypeScript
8740
- wcElement.addEventListener(eventName, (e) => {
8908
+ const listener = (e) => {
8741
8909
  this[outputName].emit(e);
8742
- });
8910
+ };
8911
+ wcElement.addEventListener(eventName, listener);
8912
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
8743
8913
  }
8744
8914
  }
8915
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
8745
8916
  }
8746
8917
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ListItemStandard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8747
8918
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ListItemStandard, isStandalone: true, selector: "ui5-li, [ui5-li]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, additionalTextState: { classPropertyName: "additionalTextState", publicName: "additionalTextState", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click", ui5DetailClick: "ui5DetailClick" }, providers: [
@@ -8862,6 +9033,7 @@ class Menu {
8862
9033
  * @private
8863
9034
  */
8864
9035
  this._contentDensityObserver = inject(ContentDensityObserver);
9036
+ this._destroyRef = inject(DestroyRef);
8865
9037
  }
8866
9038
  get element() {
8867
9039
  return this.elementRef.nativeElement;
@@ -8908,17 +9080,21 @@ class Menu {
8908
9080
  'ui5Open',
8909
9081
  ];
8910
9082
  // Synchronize outputs (events)
9083
+ const _listeners = [];
8911
9084
  for (const outputName of outputsToSync) {
8912
9085
  // Map Angular output name to UI5 web component event name
8913
9086
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
8914
9087
  // Ensure the output property exists and has an emit function before adding listener
8915
9088
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
8916
9089
  // Cast the listener to the correct type to satisfy TypeScript
8917
- wcElement.addEventListener(eventName, (e) => {
9090
+ const listener = (e) => {
8918
9091
  this[outputName].emit(e);
8919
- });
9092
+ };
9093
+ wcElement.addEventListener(eventName, listener);
9094
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
8920
9095
  }
8921
9096
  }
9097
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
8922
9098
  }
8923
9099
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Menu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8924
9100
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Menu, isStandalone: true, selector: "ui5-menu, [ui5-menu]", inputs: { headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlign: { classPropertyName: "horizontalAlign", publicName: "horizontalAlign", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, opener: { classPropertyName: "opener", publicName: "opener", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5BeforeClose: "ui5BeforeClose", ui5BeforeOpen: "ui5BeforeOpen", ui5Close: "ui5Close", ui5ItemClick: "ui5ItemClick", ui5Open: "ui5Open" }, providers: [
@@ -9151,6 +9327,7 @@ class MenuItem {
9151
9327
  * @private
9152
9328
  */
9153
9329
  this._contentDensityObserver = inject(ContentDensityObserver);
9330
+ this._destroyRef = inject(DestroyRef);
9154
9331
  }
9155
9332
  get element() {
9156
9333
  return this.elementRef.nativeElement;
@@ -9207,17 +9384,21 @@ class MenuItem {
9207
9384
  'ui5Open',
9208
9385
  ];
9209
9386
  // Synchronize outputs (events)
9387
+ const _listeners = [];
9210
9388
  for (const outputName of outputsToSync) {
9211
9389
  // Map Angular output name to UI5 web component event name
9212
9390
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
9213
9391
  // Ensure the output property exists and has an emit function before adding listener
9214
9392
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
9215
9393
  // Cast the listener to the correct type to satisfy TypeScript
9216
- wcElement.addEventListener(eventName, (e) => {
9394
+ const listener = (e) => {
9217
9395
  this[outputName].emit(e);
9218
- });
9396
+ };
9397
+ wcElement.addEventListener(eventName, listener);
9398
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
9219
9399
  }
9220
9400
  }
9401
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
9221
9402
  }
9222
9403
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9223
9404
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: MenuItem, isStandalone: true, selector: "ui5-menu-item, [ui5-menu-item]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5BeforeClose: "ui5BeforeClose", ui5BeforeOpen: "ui5BeforeOpen", ui5Check: "ui5Check", ui5Click: "ui5Click", ui5Close: "ui5Close", ui5DetailClick: "ui5DetailClick", ui5Open: "ui5Open" }, providers: [
@@ -9455,6 +9636,7 @@ class MessageStrip {
9455
9636
  * @private
9456
9637
  */
9457
9638
  this._contentDensityObserver = inject(ContentDensityObserver);
9639
+ this._destroyRef = inject(DestroyRef);
9458
9640
  }
9459
9641
  get element() {
9460
9642
  return this.elementRef.nativeElement;
@@ -9494,17 +9676,21 @@ class MessageStrip {
9494
9676
  'ui5Close',
9495
9677
  ];
9496
9678
  // Synchronize outputs (events)
9679
+ const _listeners = [];
9497
9680
  for (const outputName of outputsToSync) {
9498
9681
  // Map Angular output name to UI5 web component event name
9499
9682
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
9500
9683
  // Ensure the output property exists and has an emit function before adding listener
9501
9684
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
9502
9685
  // Cast the listener to the correct type to satisfy TypeScript
9503
- wcElement.addEventListener(eventName, (e) => {
9686
+ const listener = (e) => {
9504
9687
  this[outputName].emit(e);
9505
- });
9688
+ };
9689
+ wcElement.addEventListener(eventName, listener);
9690
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
9506
9691
  }
9507
9692
  }
9693
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
9508
9694
  }
9509
9695
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MessageStrip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9510
9696
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: MessageStrip, isStandalone: true, selector: "ui5-message-strip, [ui5-message-strip]", inputs: { colorScheme: { classPropertyName: "colorScheme", publicName: "colorScheme", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, hideCloseButton: { classPropertyName: "hideCloseButton", publicName: "hideCloseButton", isSignal: true, isRequired: false, transformFunction: null }, hideIcon: { classPropertyName: "hideIcon", publicName: "hideIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Close: "ui5Close" }, providers: [
@@ -9825,6 +10011,7 @@ class MultiComboBox {
9825
10011
  * @private
9826
10012
  */
9827
10013
  this._contentDensityObserver = inject(ContentDensityObserver);
10014
+ this._destroyRef = inject(DestroyRef);
9828
10015
  }
9829
10016
  get element() {
9830
10017
  return this.elementRef.nativeElement;
@@ -9882,17 +10069,21 @@ class MultiComboBox {
9882
10069
  'ui5ValueStateChange',
9883
10070
  ];
9884
10071
  // Synchronize outputs (events)
10072
+ const _listeners = [];
9885
10073
  for (const outputName of outputsToSync) {
9886
10074
  // Map Angular output name to UI5 web component event name
9887
10075
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
9888
10076
  // Ensure the output property exists and has an emit function before adding listener
9889
10077
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
9890
10078
  // Cast the listener to the correct type to satisfy TypeScript
9891
- wcElement.addEventListener(eventName, (e) => {
10079
+ const listener = (e) => {
9892
10080
  this[outputName].emit(e);
9893
- });
10081
+ };
10082
+ wcElement.addEventListener(eventName, listener);
10083
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
9894
10084
  }
9895
10085
  }
10086
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
9896
10087
  }
9897
10088
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultiComboBox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9898
10089
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: MultiComboBox, isStandalone: true, selector: "ui5-multi-combobox, [ui5-multi-combobox]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, noValidation: { classPropertyName: "noValidation", publicName: "noValidation", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, selectedValues: { classPropertyName: "selectedValues", publicName: "selectedValues", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, showSelectAll: { classPropertyName: "showSelectAll", publicName: "showSelectAll", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5SelectionChange: "ui5SelectionChange", ui5ValueStateChange: "ui5ValueStateChange" }, providers: [
@@ -9907,7 +10098,7 @@ class MultiComboBox {
9907
10098
  transformValue: (v) => v || ''
9908
10099
  }
9909
10100
  }
9910
- ], exportAs: ["ui5MultiComboBox"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10101
+ ], exportAs: ["ui5MultiComboBox"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9911
10102
  }
9912
10103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultiComboBox, decorators: [{
9913
10104
  type: Component,
@@ -9973,6 +10164,7 @@ class MultiComboBoxItem {
9973
10164
  * @private
9974
10165
  */
9975
10166
  this._contentDensityObserver = inject(ContentDensityObserver);
10167
+ this._destroyRef = inject(DestroyRef);
9976
10168
  }
9977
10169
  get element() {
9978
10170
  return this.elementRef.nativeElement;
@@ -10012,17 +10204,21 @@ class MultiComboBoxItem {
10012
10204
  'ui5Click',
10013
10205
  ];
10014
10206
  // Synchronize outputs (events)
10207
+ const _listeners = [];
10015
10208
  for (const outputName of outputsToSync) {
10016
10209
  // Map Angular output name to UI5 web component event name
10017
10210
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
10018
10211
  // Ensure the output property exists and has an emit function before adding listener
10019
10212
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
10020
10213
  // Cast the listener to the correct type to satisfy TypeScript
10021
- wcElement.addEventListener(eventName, (e) => {
10214
+ const listener = (e) => {
10022
10215
  this[outputName].emit(e);
10023
- });
10216
+ };
10217
+ wcElement.addEventListener(eventName, listener);
10218
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
10024
10219
  }
10025
10220
  }
10221
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
10026
10222
  }
10027
10223
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultiComboBoxItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10028
10224
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: MultiComboBoxItem, isStandalone: true, selector: "ui5-mcb-item, [ui5-mcb-item]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -10100,6 +10296,7 @@ class MultiComboBoxItemCustom {
10100
10296
  * @private
10101
10297
  */
10102
10298
  this._contentDensityObserver = inject(ContentDensityObserver);
10299
+ this._destroyRef = inject(DestroyRef);
10103
10300
  }
10104
10301
  get element() {
10105
10302
  return this.elementRef.nativeElement;
@@ -10137,17 +10334,21 @@ class MultiComboBoxItemCustom {
10137
10334
  'ui5Click',
10138
10335
  ];
10139
10336
  // Synchronize outputs (events)
10337
+ const _listeners = [];
10140
10338
  for (const outputName of outputsToSync) {
10141
10339
  // Map Angular output name to UI5 web component event name
10142
10340
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
10143
10341
  // Ensure the output property exists and has an emit function before adding listener
10144
10342
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
10145
10343
  // Cast the listener to the correct type to satisfy TypeScript
10146
- wcElement.addEventListener(eventName, (e) => {
10344
+ const listener = (e) => {
10147
10345
  this[outputName].emit(e);
10148
- });
10346
+ };
10347
+ wcElement.addEventListener(eventName, listener);
10348
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
10149
10349
  }
10150
10350
  }
10351
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
10151
10352
  }
10152
10353
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultiComboBoxItemCustom, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10153
10354
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: MultiComboBoxItemCustom, isStandalone: true, selector: "ui5-mcb-item-custom, [ui5-mcb-item-custom]", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -10251,6 +10452,7 @@ class MultiComboBoxItemGroup {
10251
10452
  * @private
10252
10453
  */
10253
10454
  this._contentDensityObserver = inject(ContentDensityObserver);
10455
+ this._destroyRef = inject(DestroyRef);
10254
10456
  }
10255
10457
  get element() {
10256
10458
  return this.elementRef.nativeElement;
@@ -10290,17 +10492,21 @@ class MultiComboBoxItemGroup {
10290
10492
  'ui5MoveOver',
10291
10493
  ];
10292
10494
  // Synchronize outputs (events)
10495
+ const _listeners = [];
10293
10496
  for (const outputName of outputsToSync) {
10294
10497
  // Map Angular output name to UI5 web component event name
10295
10498
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
10296
10499
  // Ensure the output property exists and has an emit function before adding listener
10297
10500
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
10298
10501
  // Cast the listener to the correct type to satisfy TypeScript
10299
- wcElement.addEventListener(eventName, (e) => {
10502
+ const listener = (e) => {
10300
10503
  this[outputName].emit(e);
10301
- });
10504
+ };
10505
+ wcElement.addEventListener(eventName, listener);
10506
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
10302
10507
  }
10303
10508
  }
10509
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
10304
10510
  }
10305
10511
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultiComboBoxItemGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10306
10512
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: MultiComboBoxItemGroup, isStandalone: true, selector: "ui5-mcb-item-group, [ui5-mcb-item-group]", inputs: { headerAccessibleName: { classPropertyName: "headerAccessibleName", publicName: "headerAccessibleName", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Move: "ui5Move", ui5MoveOver: "ui5MoveOver" }, providers: [
@@ -10539,6 +10745,7 @@ class MultiInput {
10539
10745
  * @private
10540
10746
  */
10541
10747
  this._contentDensityObserver = inject(ContentDensityObserver);
10748
+ this._destroyRef = inject(DestroyRef);
10542
10749
  }
10543
10750
  get element() {
10544
10751
  return this.elementRef.nativeElement;
@@ -10600,17 +10807,21 @@ class MultiInput {
10600
10807
  'ui5ValueHelpTrigger',
10601
10808
  ];
10602
10809
  // Synchronize outputs (events)
10810
+ const _listeners = [];
10603
10811
  for (const outputName of outputsToSync) {
10604
10812
  // Map Angular output name to UI5 web component event name
10605
10813
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
10606
10814
  // Ensure the output property exists and has an emit function before adding listener
10607
10815
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
10608
10816
  // Cast the listener to the correct type to satisfy TypeScript
10609
- wcElement.addEventListener(eventName, (e) => {
10817
+ const listener = (e) => {
10610
10818
  this[outputName].emit(e);
10611
- });
10819
+ };
10820
+ wcElement.addEventListener(eventName, listener);
10821
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
10612
10822
  }
10613
10823
  }
10824
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
10614
10825
  }
10615
10826
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultiInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10616
10827
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: MultiInput, isStandalone: true, selector: "ui5-multi-input, [ui5-multi-input]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, showSuggestions: { classPropertyName: "showSuggestions", publicName: "showSuggestions", isSignal: true, isRequired: false, transformFunction: null }, showValueHelpIcon: { classPropertyName: "showValueHelpIcon", publicName: "showValueHelpIcon", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5Select: "ui5Select", ui5SelectionChange: "ui5SelectionChange", ui5TokenDelete: "ui5TokenDelete", ui5ValueHelpTrigger: "ui5ValueHelpTrigger" }, providers: [
@@ -10625,7 +10836,7 @@ class MultiInput {
10625
10836
  transformValue: (v) => v || ''
10626
10837
  }
10627
10838
  }
10628
- ], exportAs: ["ui5MultiInput"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10839
+ ], exportAs: ["ui5MultiInput"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10629
10840
  }
10630
10841
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultiInput, decorators: [{
10631
10842
  type: Component,
@@ -10724,6 +10935,7 @@ class Option {
10724
10935
  * @private
10725
10936
  */
10726
10937
  this._contentDensityObserver = inject(ContentDensityObserver);
10938
+ this._destroyRef = inject(DestroyRef);
10727
10939
  }
10728
10940
  get element() {
10729
10941
  return this.elementRef.nativeElement;
@@ -10764,17 +10976,21 @@ class Option {
10764
10976
  'ui5Click',
10765
10977
  ];
10766
10978
  // Synchronize outputs (events)
10979
+ const _listeners = [];
10767
10980
  for (const outputName of outputsToSync) {
10768
10981
  // Map Angular output name to UI5 web component event name
10769
10982
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
10770
10983
  // Ensure the output property exists and has an emit function before adding listener
10771
10984
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
10772
10985
  // Cast the listener to the correct type to satisfy TypeScript
10773
- wcElement.addEventListener(eventName, (e) => {
10986
+ const listener = (e) => {
10774
10987
  this[outputName].emit(e);
10775
- });
10988
+ };
10989
+ wcElement.addEventListener(eventName, listener);
10990
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
10776
10991
  }
10777
10992
  }
10993
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
10778
10994
  }
10779
10995
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Option, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10780
10996
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Option, isStandalone: true, selector: "ui5-option, [ui5-option]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -10861,6 +11077,7 @@ class OptionCustom {
10861
11077
  * @private
10862
11078
  */
10863
11079
  this._contentDensityObserver = inject(ContentDensityObserver);
11080
+ this._destroyRef = inject(DestroyRef);
10864
11081
  }
10865
11082
  get element() {
10866
11083
  return this.elementRef.nativeElement;
@@ -10900,17 +11117,21 @@ class OptionCustom {
10900
11117
  'ui5Click',
10901
11118
  ];
10902
11119
  // Synchronize outputs (events)
11120
+ const _listeners = [];
10903
11121
  for (const outputName of outputsToSync) {
10904
11122
  // Map Angular output name to UI5 web component event name
10905
11123
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
10906
11124
  // Ensure the output property exists and has an emit function before adding listener
10907
11125
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
10908
11126
  // Cast the listener to the correct type to satisfy TypeScript
10909
- wcElement.addEventListener(eventName, (e) => {
11127
+ const listener = (e) => {
10910
11128
  this[outputName].emit(e);
10911
- });
11129
+ };
11130
+ wcElement.addEventListener(eventName, listener);
11131
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
10912
11132
  }
10913
11133
  }
11134
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
10914
11135
  }
10915
11136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: OptionCustom, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10916
11137
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: OptionCustom, isStandalone: true, selector: "ui5-option-custom, [ui5-option-custom]", inputs: { displayText: { classPropertyName: "displayText", publicName: "displayText", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -11027,6 +11248,7 @@ class Panel {
11027
11248
  * @private
11028
11249
  */
11029
11250
  this._contentDensityObserver = inject(ContentDensityObserver);
11251
+ this._destroyRef = inject(DestroyRef);
11030
11252
  }
11031
11253
  get element() {
11032
11254
  return this.elementRef.nativeElement;
@@ -11070,17 +11292,21 @@ class Panel {
11070
11292
  'ui5Toggle',
11071
11293
  ];
11072
11294
  // Synchronize outputs (events)
11295
+ const _listeners = [];
11073
11296
  for (const outputName of outputsToSync) {
11074
11297
  // Map Angular output name to UI5 web component event name
11075
11298
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
11076
11299
  // Ensure the output property exists and has an emit function before adding listener
11077
11300
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
11078
11301
  // Cast the listener to the correct type to satisfy TypeScript
11079
- wcElement.addEventListener(eventName, (e) => {
11302
+ const listener = (e) => {
11080
11303
  this[outputName].emit(e);
11081
- });
11304
+ };
11305
+ wcElement.addEventListener(eventName, listener);
11306
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
11082
11307
  }
11083
11308
  }
11309
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
11084
11310
  }
11085
11311
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Panel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11086
11312
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Panel, isStandalone: true, selector: "ui5-panel, [ui5-panel]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, fixed: { classPropertyName: "fixed", publicName: "fixed", isSignal: true, isRequired: false, transformFunction: null }, headerLevel: { classPropertyName: "headerLevel", publicName: "headerLevel", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, noAnimation: { classPropertyName: "noAnimation", publicName: "noAnimation", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "stickyHeader", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Toggle: "ui5Toggle" }, providers: [
@@ -11261,6 +11487,7 @@ class Popover {
11261
11487
  * @private
11262
11488
  */
11263
11489
  this._contentDensityObserver = inject(ContentDensityObserver);
11490
+ this._destroyRef = inject(DestroyRef);
11264
11491
  }
11265
11492
  get element() {
11266
11493
  return this.elementRef.nativeElement;
@@ -11317,17 +11544,21 @@ class Popover {
11317
11544
  'ui5Open',
11318
11545
  ];
11319
11546
  // Synchronize outputs (events)
11547
+ const _listeners = [];
11320
11548
  for (const outputName of outputsToSync) {
11321
11549
  // Map Angular output name to UI5 web component event name
11322
11550
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
11323
11551
  // Ensure the output property exists and has an emit function before adding listener
11324
11552
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
11325
11553
  // Cast the listener to the correct type to satisfy TypeScript
11326
- wcElement.addEventListener(eventName, (e) => {
11554
+ const listener = (e) => {
11327
11555
  this[outputName].emit(e);
11328
- });
11556
+ };
11557
+ wcElement.addEventListener(eventName, listener);
11558
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
11329
11559
  }
11330
11560
  }
11561
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
11331
11562
  }
11332
11563
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Popover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11333
11564
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Popover, isStandalone: true, selector: "ui5-popover, [ui5-popover]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, allowTargetOverlap: { classPropertyName: "allowTargetOverlap", publicName: "allowTargetOverlap", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, hideArrow: { classPropertyName: "hideArrow", publicName: "hideArrow", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlign: { classPropertyName: "horizontalAlign", publicName: "horizontalAlign", isSignal: true, isRequired: false, transformFunction: null }, initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, modal: { classPropertyName: "modal", publicName: "modal", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, opener: { classPropertyName: "opener", publicName: "opener", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, preventFocusRestore: { classPropertyName: "preventFocusRestore", publicName: "preventFocusRestore", isSignal: true, isRequired: false, transformFunction: null }, preventInitialFocus: { classPropertyName: "preventInitialFocus", publicName: "preventInitialFocus", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, verticalAlign: { classPropertyName: "verticalAlign", publicName: "verticalAlign", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5BeforeClose: "ui5BeforeClose", ui5BeforeOpen: "ui5BeforeOpen", ui5Close: "ui5Close", ui5Open: "ui5Open" }, providers: [
@@ -11543,6 +11774,7 @@ class RadioButton {
11543
11774
  * @private
11544
11775
  */
11545
11776
  this._contentDensityObserver = inject(ContentDensityObserver);
11777
+ this._destroyRef = inject(DestroyRef);
11546
11778
  }
11547
11779
  get element() {
11548
11780
  return this.elementRef.nativeElement;
@@ -11589,17 +11821,21 @@ class RadioButton {
11589
11821
  'ui5Change',
11590
11822
  ];
11591
11823
  // Synchronize outputs (events)
11824
+ const _listeners = [];
11592
11825
  for (const outputName of outputsToSync) {
11593
11826
  // Map Angular output name to UI5 web component event name
11594
11827
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
11595
11828
  // Ensure the output property exists and has an emit function before adding listener
11596
11829
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
11597
11830
  // Cast the listener to the correct type to satisfy TypeScript
11598
- wcElement.addEventListener(eventName, (e) => {
11831
+ const listener = (e) => {
11599
11832
  this[outputName].emit(e);
11600
- });
11833
+ };
11834
+ wcElement.addEventListener(eventName, listener);
11835
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
11601
11836
  }
11602
11837
  }
11838
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
11603
11839
  }
11604
11840
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RadioButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11605
11841
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: RadioButton, isStandalone: true, selector: "ui5-radio-button, [ui5-radio-button]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -11614,7 +11850,7 @@ class RadioButton {
11614
11850
  isRadioButton: true
11615
11851
  }
11616
11852
  }
11617
- ], exportAs: ["ui5RadioButton"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11853
+ ], exportAs: ["ui5RadioButton"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11618
11854
  }
11619
11855
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RadioButton, decorators: [{
11620
11856
  type: Component,
@@ -11748,6 +11984,7 @@ class RangeSlider {
11748
11984
  * @private
11749
11985
  */
11750
11986
  this._contentDensityObserver = inject(ContentDensityObserver);
11987
+ this._destroyRef = inject(DestroyRef);
11751
11988
  }
11752
11989
  get element() {
11753
11990
  return this.elementRef.nativeElement;
@@ -11797,17 +12034,21 @@ class RangeSlider {
11797
12034
  'ui5Input',
11798
12035
  ];
11799
12036
  // Synchronize outputs (events)
12037
+ const _listeners = [];
11800
12038
  for (const outputName of outputsToSync) {
11801
12039
  // Map Angular output name to UI5 web component event name
11802
12040
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
11803
12041
  // Ensure the output property exists and has an emit function before adding listener
11804
12042
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
11805
12043
  // Cast the listener to the correct type to satisfy TypeScript
11806
- wcElement.addEventListener(eventName, (e) => {
12044
+ const listener = (e) => {
11807
12045
  this[outputName].emit(e);
11808
- });
12046
+ };
12047
+ wcElement.addEventListener(eventName, listener);
12048
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
11809
12049
  }
11810
12050
  }
12051
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
11811
12052
  }
11812
12053
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RangeSlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11813
12054
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: RangeSlider, isStandalone: true, selector: "ui5-range-slider, [ui5-range-slider]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, editableTooltip: { classPropertyName: "editableTooltip", publicName: "editableTooltip", isSignal: true, isRequired: false, transformFunction: null }, endValue: { classPropertyName: "endValue", publicName: "endValue", isSignal: true, isRequired: false, transformFunction: null }, labelInterval: { classPropertyName: "labelInterval", publicName: "labelInterval", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, showTickmarks: { classPropertyName: "showTickmarks", publicName: "showTickmarks", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, startValue: { classPropertyName: "startValue", publicName: "startValue", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, tickmarks: { classPropertyName: "tickmarks", publicName: "tickmarks", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Input: "ui5Input" }, providers: [
@@ -11822,7 +12063,7 @@ class RangeSlider {
11822
12063
  transformValue: (v) => v || ''
11823
12064
  }
11824
12065
  }
11825
- ], exportAs: ["ui5RangeSlider"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12066
+ ], exportAs: ["ui5RangeSlider"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11826
12067
  }
11827
12068
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RangeSlider, decorators: [{
11828
12069
  type: Component,
@@ -11926,6 +12167,7 @@ class RatingIndicator {
11926
12167
  * @private
11927
12168
  */
11928
12169
  this._contentDensityObserver = inject(ContentDensityObserver);
12170
+ this._destroyRef = inject(DestroyRef);
11929
12171
  }
11930
12172
  get element() {
11931
12173
  return this.elementRef.nativeElement;
@@ -11972,17 +12214,21 @@ class RatingIndicator {
11972
12214
  'ui5Change',
11973
12215
  ];
11974
12216
  // Synchronize outputs (events)
12217
+ const _listeners = [];
11975
12218
  for (const outputName of outputsToSync) {
11976
12219
  // Map Angular output name to UI5 web component event name
11977
12220
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
11978
12221
  // Ensure the output property exists and has an emit function before adding listener
11979
12222
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
11980
12223
  // Cast the listener to the correct type to satisfy TypeScript
11981
- wcElement.addEventListener(eventName, (e) => {
12224
+ const listener = (e) => {
11982
12225
  this[outputName].emit(e);
11983
- });
12226
+ };
12227
+ wcElement.addEventListener(eventName, listener);
12228
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
11984
12229
  }
11985
12230
  }
12231
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
11986
12232
  }
11987
12233
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RatingIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11988
12234
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: RatingIndicator, isStandalone: true, selector: "ui5-rating-indicator, [ui5-rating-indicator]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, ratedIcon: { classPropertyName: "ratedIcon", publicName: "ratedIcon", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, unratedIcon: { classPropertyName: "unratedIcon", publicName: "unratedIcon", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -12163,6 +12409,7 @@ class ResponsivePopover {
12163
12409
  * @private
12164
12410
  */
12165
12411
  this._contentDensityObserver = inject(ContentDensityObserver);
12412
+ this._destroyRef = inject(DestroyRef);
12166
12413
  }
12167
12414
  get element() {
12168
12415
  return this.elementRef.nativeElement;
@@ -12219,17 +12466,21 @@ class ResponsivePopover {
12219
12466
  'ui5Open',
12220
12467
  ];
12221
12468
  // Synchronize outputs (events)
12469
+ const _listeners = [];
12222
12470
  for (const outputName of outputsToSync) {
12223
12471
  // Map Angular output name to UI5 web component event name
12224
12472
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
12225
12473
  // Ensure the output property exists and has an emit function before adding listener
12226
12474
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
12227
12475
  // Cast the listener to the correct type to satisfy TypeScript
12228
- wcElement.addEventListener(eventName, (e) => {
12476
+ const listener = (e) => {
12229
12477
  this[outputName].emit(e);
12230
- });
12478
+ };
12479
+ wcElement.addEventListener(eventName, listener);
12480
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
12231
12481
  }
12232
12482
  }
12483
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
12233
12484
  }
12234
12485
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ResponsivePopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12235
12486
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ResponsivePopover, isStandalone: true, selector: "ui5-responsive-popover, [ui5-responsive-popover]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, allowTargetOverlap: { classPropertyName: "allowTargetOverlap", publicName: "allowTargetOverlap", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, hideArrow: { classPropertyName: "hideArrow", publicName: "hideArrow", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlign: { classPropertyName: "horizontalAlign", publicName: "horizontalAlign", isSignal: true, isRequired: false, transformFunction: null }, initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, modal: { classPropertyName: "modal", publicName: "modal", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, opener: { classPropertyName: "opener", publicName: "opener", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, preventFocusRestore: { classPropertyName: "preventFocusRestore", publicName: "preventFocusRestore", isSignal: true, isRequired: false, transformFunction: null }, preventInitialFocus: { classPropertyName: "preventInitialFocus", publicName: "preventInitialFocus", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, verticalAlign: { classPropertyName: "verticalAlign", publicName: "verticalAlign", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5BeforeClose: "ui5BeforeClose", ui5BeforeOpen: "ui5BeforeOpen", ui5Close: "ui5Close", ui5Open: "ui5Open" }, providers: [
@@ -12336,6 +12587,7 @@ class SegmentedButton {
12336
12587
  * @private
12337
12588
  */
12338
12589
  this._contentDensityObserver = inject(ContentDensityObserver);
12590
+ this._destroyRef = inject(DestroyRef);
12339
12591
  // Internal signal to track selectedItems from selection-change events
12340
12592
  this._selectedItemsSignal = signal([], /* @ts-ignore */
12341
12593
  ...(ngDevMode ? [{ debugName: "_selectedItemsSignal" }] : /* istanbul ignore next */ []));
@@ -12380,27 +12632,33 @@ class SegmentedButton {
12380
12632
  'ui5SelectionChange',
12381
12633
  ];
12382
12634
  // Synchronize outputs (events)
12635
+ const _listeners = [];
12383
12636
  for (const outputName of outputsToSync) {
12384
12637
  // Map Angular output name to UI5 web component event name
12385
12638
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
12386
12639
  // Ensure the output property exists and has an emit function before adding listener
12387
12640
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
12388
12641
  // Cast the listener to the correct type to satisfy TypeScript
12389
- wcElement.addEventListener(eventName, (e) => {
12642
+ const listener = (e) => {
12390
12643
  // Update selectedItems signal when selection-change event fires
12391
12644
  if (eventName === 'selection-change') {
12392
12645
  const customEvent = e;
12393
12646
  // Use selectedItems from event detail, fallback to web component property
12647
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12394
12648
  const selectedItemsValue = customEvent.detail?.selectedItems || wcElement.selectedItems || [];
12395
12649
  this._selectedItemsSignal.set(selectedItemsValue);
12396
12650
  }
12397
12651
  this[outputName].emit(e);
12398
- });
12652
+ };
12653
+ wcElement.addEventListener(eventName, listener);
12654
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
12399
12655
  }
12400
12656
  }
12657
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
12401
12658
  // Initialize selectedItems signal with current state using delayed initialization
12402
12659
  // to handle web component timing properly
12403
12660
  const initializeSelectedItems = () => {
12661
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12404
12662
  const currentValue = wcElement.selectedItems || [];
12405
12663
  if (JSON.stringify(currentValue) !== JSON.stringify(this._selectedItemsSignal())) {
12406
12664
  this._selectedItemsSignal.set(currentValue);
@@ -12524,6 +12782,7 @@ class SegmentedButtonItem {
12524
12782
  * @private
12525
12783
  */
12526
12784
  this._contentDensityObserver = inject(ContentDensityObserver);
12785
+ this._destroyRef = inject(DestroyRef);
12527
12786
  }
12528
12787
  get element() {
12529
12788
  return this.elementRef.nativeElement;
@@ -12567,17 +12826,21 @@ class SegmentedButtonItem {
12567
12826
  'ui5Click',
12568
12827
  ];
12569
12828
  // Synchronize outputs (events)
12829
+ const _listeners = [];
12570
12830
  for (const outputName of outputsToSync) {
12571
12831
  // Map Angular output name to UI5 web component event name
12572
12832
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
12573
12833
  // Ensure the output property exists and has an emit function before adding listener
12574
12834
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
12575
12835
  // Cast the listener to the correct type to satisfy TypeScript
12576
- wcElement.addEventListener(eventName, (e) => {
12836
+ const listener = (e) => {
12577
12837
  this[outputName].emit(e);
12578
- });
12838
+ };
12839
+ wcElement.addEventListener(eventName, listener);
12840
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
12579
12841
  }
12580
12842
  }
12843
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
12581
12844
  }
12582
12845
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SegmentedButtonItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12583
12846
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: SegmentedButtonItem, isStandalone: true, selector: "ui5-segmented-button-item, [ui5-segmented-button-item]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -12765,6 +13028,7 @@ class Select {
12765
13028
  * @private
12766
13029
  */
12767
13030
  this._contentDensityObserver = inject(ContentDensityObserver);
13031
+ this._destroyRef = inject(DestroyRef);
12768
13032
  // Internal signal to track selectedOption from change events
12769
13033
  this._selectedOptionSignal = signal(undefined, /* @ts-ignore */
12770
13034
  ...(ngDevMode ? [{ debugName: "_selectedOptionSignal" }] : /* istanbul ignore next */ []));
@@ -12818,17 +13082,19 @@ class Select {
12818
13082
  'ui5Open',
12819
13083
  ];
12820
13084
  // Synchronize outputs (events)
13085
+ const _listeners = [];
12821
13086
  for (const outputName of outputsToSync) {
12822
13087
  // Map Angular output name to UI5 web component event name
12823
13088
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
12824
13089
  // Ensure the output property exists and has an emit function before adding listener
12825
13090
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
12826
13091
  // Cast the listener to the correct type to satisfy TypeScript
12827
- wcElement.addEventListener(eventName, (e) => {
13092
+ const listener = (e) => {
12828
13093
  // Update selectedOption signal when change event fires
12829
13094
  if (eventName === 'change') {
12830
13095
  const customEvent = e;
12831
13096
  // Use selectedOption from event detail, fallback to web component property
13097
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12832
13098
  const selectedOptionValue = customEvent.detail?.selectedOption || wcElement.selectedOption || undefined;
12833
13099
  this._selectedOptionSignal.set(selectedOptionValue);
12834
13100
  }
@@ -12836,16 +13102,21 @@ class Select {
12836
13102
  if (eventName === 'live-change') {
12837
13103
  const customEvent = e;
12838
13104
  // Use selectedOption from event detail, fallback to web component property
13105
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12839
13106
  const selectedOptionValue = customEvent.detail?.selectedOption || wcElement.selectedOption || undefined;
12840
13107
  this._selectedOptionSignal.set(selectedOptionValue);
12841
13108
  }
12842
13109
  this[outputName].emit(e);
12843
- });
13110
+ };
13111
+ wcElement.addEventListener(eventName, listener);
13112
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
12844
13113
  }
12845
13114
  }
13115
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
12846
13116
  // Initialize selectedOption signal with current state using delayed initialization
12847
13117
  // to handle web component timing properly
12848
13118
  const initializeSelectedOption = () => {
13119
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12849
13120
  const currentValue = wcElement.selectedOption || undefined;
12850
13121
  if (JSON.stringify(currentValue) !== JSON.stringify(this._selectedOptionSignal())) {
12851
13122
  this._selectedOptionSignal.set(currentValue);
@@ -12870,7 +13141,7 @@ class Select {
12870
13141
  transformValue: (v) => v || ''
12871
13142
  }
12872
13143
  }
12873
- ], exportAs: ["ui5Select"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13144
+ ], exportAs: ["ui5Select"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12874
13145
  }
12875
13146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Select, decorators: [{
12876
13147
  type: Component,
@@ -12999,6 +13270,7 @@ class Slider {
12999
13270
  * @private
13000
13271
  */
13001
13272
  this._contentDensityObserver = inject(ContentDensityObserver);
13273
+ this._destroyRef = inject(DestroyRef);
13002
13274
  }
13003
13275
  get element() {
13004
13276
  return this.elementRef.nativeElement;
@@ -13047,17 +13319,21 @@ class Slider {
13047
13319
  'ui5Input',
13048
13320
  ];
13049
13321
  // Synchronize outputs (events)
13322
+ const _listeners = [];
13050
13323
  for (const outputName of outputsToSync) {
13051
13324
  // Map Angular output name to UI5 web component event name
13052
13325
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
13053
13326
  // Ensure the output property exists and has an emit function before adding listener
13054
13327
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
13055
13328
  // Cast the listener to the correct type to satisfy TypeScript
13056
- wcElement.addEventListener(eventName, (e) => {
13329
+ const listener = (e) => {
13057
13330
  this[outputName].emit(e);
13058
- });
13331
+ };
13332
+ wcElement.addEventListener(eventName, listener);
13333
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
13059
13334
  }
13060
13335
  }
13336
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
13061
13337
  }
13062
13338
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Slider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13063
13339
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Slider, isStandalone: true, selector: "ui5-slider, [ui5-slider]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, editableTooltip: { classPropertyName: "editableTooltip", publicName: "editableTooltip", isSignal: true, isRequired: false, transformFunction: null }, labelInterval: { classPropertyName: "labelInterval", publicName: "labelInterval", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, showTickmarks: { classPropertyName: "showTickmarks", publicName: "showTickmarks", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, tickmarks: { classPropertyName: "tickmarks", publicName: "tickmarks", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Input: "ui5Input" }, providers: [
@@ -13072,7 +13348,7 @@ class Slider {
13072
13348
  transformValue: (v) => v || ''
13073
13349
  }
13074
13350
  }
13075
- ], exportAs: ["ui5Slider"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13351
+ ], exportAs: ["ui5Slider"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13076
13352
  }
13077
13353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Slider, decorators: [{
13078
13354
  type: Component,
@@ -13355,6 +13631,7 @@ class SplitButton {
13355
13631
  * @private
13356
13632
  */
13357
13633
  this._contentDensityObserver = inject(ContentDensityObserver);
13634
+ this._destroyRef = inject(DestroyRef);
13358
13635
  }
13359
13636
  get element() {
13360
13637
  return this.elementRef.nativeElement;
@@ -13397,17 +13674,21 @@ class SplitButton {
13397
13674
  'ui5Click',
13398
13675
  ];
13399
13676
  // Synchronize outputs (events)
13677
+ const _listeners = [];
13400
13678
  for (const outputName of outputsToSync) {
13401
13679
  // Map Angular output name to UI5 web component event name
13402
13680
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
13403
13681
  // Ensure the output property exists and has an emit function before adding listener
13404
13682
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
13405
13683
  // Cast the listener to the correct type to satisfy TypeScript
13406
- wcElement.addEventListener(eventName, (e) => {
13684
+ const listener = (e) => {
13407
13685
  this[outputName].emit(e);
13408
- });
13686
+ };
13687
+ wcElement.addEventListener(eventName, listener);
13688
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
13409
13689
  }
13410
13690
  }
13691
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
13411
13692
  }
13412
13693
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SplitButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13413
13694
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: SplitButton, isStandalone: true, selector: "ui5-split-button, [ui5-split-button]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, activeArrowButton: { classPropertyName: "activeArrowButton", publicName: "activeArrowButton", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ArrowClick: "ui5ArrowClick", ui5Click: "ui5Click" }, providers: [
@@ -13554,6 +13835,7 @@ class StepInput {
13554
13835
  * @private
13555
13836
  */
13556
13837
  this._contentDensityObserver = inject(ContentDensityObserver);
13838
+ this._destroyRef = inject(DestroyRef);
13557
13839
  }
13558
13840
  get element() {
13559
13841
  return this.elementRef.nativeElement;
@@ -13604,17 +13886,21 @@ class StepInput {
13604
13886
  'ui5ValueStateChange',
13605
13887
  ];
13606
13888
  // Synchronize outputs (events)
13889
+ const _listeners = [];
13607
13890
  for (const outputName of outputsToSync) {
13608
13891
  // Map Angular output name to UI5 web component event name
13609
13892
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
13610
13893
  // Ensure the output property exists and has an emit function before adding listener
13611
13894
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
13612
13895
  // Cast the listener to the correct type to satisfy TypeScript
13613
- wcElement.addEventListener(eventName, (e) => {
13896
+ const listener = (e) => {
13614
13897
  this[outputName].emit(e);
13615
- });
13898
+ };
13899
+ wcElement.addEventListener(eventName, listener);
13900
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
13616
13901
  }
13617
13902
  }
13903
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
13618
13904
  }
13619
13905
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StepInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13620
13906
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: StepInput, isStandalone: true, selector: "ui5-step-input, [ui5-step-input]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valuePrecision: { classPropertyName: "valuePrecision", publicName: "valuePrecision", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Input: "ui5Input", ui5ValueStateChange: "ui5ValueStateChange" }, providers: [
@@ -13665,6 +13951,7 @@ class SuggestionItem {
13665
13951
  * @private
13666
13952
  */
13667
13953
  this._contentDensityObserver = inject(ContentDensityObserver);
13954
+ this._destroyRef = inject(DestroyRef);
13668
13955
  }
13669
13956
  get element() {
13670
13957
  return this.elementRef.nativeElement;
@@ -13702,17 +13989,21 @@ class SuggestionItem {
13702
13989
  'ui5Click',
13703
13990
  ];
13704
13991
  // Synchronize outputs (events)
13992
+ const _listeners = [];
13705
13993
  for (const outputName of outputsToSync) {
13706
13994
  // Map Angular output name to UI5 web component event name
13707
13995
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
13708
13996
  // Ensure the output property exists and has an emit function before adding listener
13709
13997
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
13710
13998
  // Cast the listener to the correct type to satisfy TypeScript
13711
- wcElement.addEventListener(eventName, (e) => {
13999
+ const listener = (e) => {
13712
14000
  this[outputName].emit(e);
13713
- });
14001
+ };
14002
+ wcElement.addEventListener(eventName, listener);
14003
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
13714
14004
  }
13715
14005
  }
14006
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
13716
14007
  }
13717
14008
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SuggestionItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13718
14009
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: SuggestionItem, isStandalone: true, selector: "ui5-suggestion-item, [ui5-suggestion-item]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -13784,6 +14075,7 @@ class SuggestionItemCustom {
13784
14075
  * @private
13785
14076
  */
13786
14077
  this._contentDensityObserver = inject(ContentDensityObserver);
14078
+ this._destroyRef = inject(DestroyRef);
13787
14079
  }
13788
14080
  get element() {
13789
14081
  return this.elementRef.nativeElement;
@@ -13820,17 +14112,21 @@ class SuggestionItemCustom {
13820
14112
  'ui5Click',
13821
14113
  ];
13822
14114
  // Synchronize outputs (events)
14115
+ const _listeners = [];
13823
14116
  for (const outputName of outputsToSync) {
13824
14117
  // Map Angular output name to UI5 web component event name
13825
14118
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
13826
14119
  // Ensure the output property exists and has an emit function before adding listener
13827
14120
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
13828
14121
  // Cast the listener to the correct type to satisfy TypeScript
13829
- wcElement.addEventListener(eventName, (e) => {
14122
+ const listener = (e) => {
13830
14123
  this[outputName].emit(e);
13831
- });
14124
+ };
14125
+ wcElement.addEventListener(eventName, listener);
14126
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
13832
14127
  }
13833
14128
  }
14129
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
13834
14130
  }
13835
14131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SuggestionItemCustom, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13836
14132
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: SuggestionItemCustom, isStandalone: true, selector: "ui5-suggestion-item-custom, [ui5-suggestion-item-custom]", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -13934,6 +14230,7 @@ class SuggestionItemGroup {
13934
14230
  * @private
13935
14231
  */
13936
14232
  this._contentDensityObserver = inject(ContentDensityObserver);
14233
+ this._destroyRef = inject(DestroyRef);
13937
14234
  }
13938
14235
  get element() {
13939
14236
  return this.elementRef.nativeElement;
@@ -13973,17 +14270,21 @@ class SuggestionItemGroup {
13973
14270
  'ui5MoveOver',
13974
14271
  ];
13975
14272
  // Synchronize outputs (events)
14273
+ const _listeners = [];
13976
14274
  for (const outputName of outputsToSync) {
13977
14275
  // Map Angular output name to UI5 web component event name
13978
14276
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
13979
14277
  // Ensure the output property exists and has an emit function before adding listener
13980
14278
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
13981
14279
  // Cast the listener to the correct type to satisfy TypeScript
13982
- wcElement.addEventListener(eventName, (e) => {
14280
+ const listener = (e) => {
13983
14281
  this[outputName].emit(e);
13984
- });
14282
+ };
14283
+ wcElement.addEventListener(eventName, listener);
14284
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
13985
14285
  }
13986
14286
  }
14287
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
13987
14288
  }
13988
14289
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SuggestionItemGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13989
14290
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: SuggestionItemGroup, isStandalone: true, selector: "ui5-suggestion-item-group, [ui5-suggestion-item-group]", inputs: { headerAccessibleName: { classPropertyName: "headerAccessibleName", publicName: "headerAccessibleName", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Move: "ui5Move", ui5MoveOver: "ui5MoveOver" }, providers: [
@@ -14189,6 +14490,7 @@ class SuggestionListItem {
14189
14490
  * @private
14190
14491
  */
14191
14492
  this._contentDensityObserver = inject(ContentDensityObserver);
14493
+ this._destroyRef = inject(DestroyRef);
14192
14494
  }
14193
14495
  get element() {
14194
14496
  return this.elementRef.nativeElement;
@@ -14241,17 +14543,21 @@ class SuggestionListItem {
14241
14543
  'ui5DetailClick',
14242
14544
  ];
14243
14545
  // Synchronize outputs (events)
14546
+ const _listeners = [];
14244
14547
  for (const outputName of outputsToSync) {
14245
14548
  // Map Angular output name to UI5 web component event name
14246
14549
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
14247
14550
  // Ensure the output property exists and has an emit function before adding listener
14248
14551
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
14249
14552
  // Cast the listener to the correct type to satisfy TypeScript
14250
- wcElement.addEventListener(eventName, (e) => {
14553
+ const listener = (e) => {
14251
14554
  this[outputName].emit(e);
14252
- });
14555
+ };
14556
+ wcElement.addEventListener(eventName, listener);
14557
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
14253
14558
  }
14254
14559
  }
14560
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
14255
14561
  }
14256
14562
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SuggestionListItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14257
14563
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: SuggestionListItem, isStandalone: true, selector: "ui5-li-suggestion-item, [ui5-li-suggestion-item]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, additionalTextState: { classPropertyName: "additionalTextState", publicName: "additionalTextState", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click", ui5DetailClick: "ui5DetailClick" }, providers: [
@@ -14371,6 +14677,7 @@ class Switch {
14371
14677
  * @private
14372
14678
  */
14373
14679
  this._contentDensityObserver = inject(ContentDensityObserver);
14680
+ this._destroyRef = inject(DestroyRef);
14374
14681
  }
14375
14682
  get element() {
14376
14683
  return this.elementRef.nativeElement;
@@ -14418,17 +14725,21 @@ class Switch {
14418
14725
  'ui5Change',
14419
14726
  ];
14420
14727
  // Synchronize outputs (events)
14728
+ const _listeners = [];
14421
14729
  for (const outputName of outputsToSync) {
14422
14730
  // Map Angular output name to UI5 web component event name
14423
14731
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
14424
14732
  // Ensure the output property exists and has an emit function before adding listener
14425
14733
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
14426
14734
  // Cast the listener to the correct type to satisfy TypeScript
14427
- wcElement.addEventListener(eventName, (e) => {
14735
+ const listener = (e) => {
14428
14736
  this[outputName].emit(e);
14429
- });
14737
+ };
14738
+ wcElement.addEventListener(eventName, listener);
14739
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
14430
14740
  }
14431
14741
  }
14742
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
14432
14743
  }
14433
14744
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Switch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14434
14745
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Switch, isStandalone: true, selector: "ui5-switch, [ui5-switch]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, textOff: { classPropertyName: "textOff", publicName: "textOff", isSignal: true, isRequired: false, transformFunction: null }, textOn: { classPropertyName: "textOn", publicName: "textOn", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -14443,7 +14754,7 @@ class Switch {
14443
14754
  transformValue: (v) => !!v
14444
14755
  }
14445
14756
  }
14446
- ], exportAs: ["ui5Switch"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14757
+ ], exportAs: ["ui5Switch"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14447
14758
  }
14448
14759
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Switch, decorators: [{
14449
14760
  type: Component,
@@ -14560,6 +14871,7 @@ class Tab {
14560
14871
  * @private
14561
14872
  */
14562
14873
  this._contentDensityObserver = inject(ContentDensityObserver);
14874
+ this._destroyRef = inject(DestroyRef);
14563
14875
  }
14564
14876
  get element() {
14565
14877
  return this.elementRef.nativeElement;
@@ -14602,17 +14914,21 @@ class Tab {
14602
14914
  'ui5Click',
14603
14915
  ];
14604
14916
  // Synchronize outputs (events)
14917
+ const _listeners = [];
14605
14918
  for (const outputName of outputsToSync) {
14606
14919
  // Map Angular output name to UI5 web component event name
14607
14920
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
14608
14921
  // Ensure the output property exists and has an emit function before adding listener
14609
14922
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
14610
14923
  // Cast the listener to the correct type to satisfy TypeScript
14611
- wcElement.addEventListener(eventName, (e) => {
14924
+ const listener = (e) => {
14612
14925
  this[outputName].emit(e);
14613
- });
14926
+ };
14927
+ wcElement.addEventListener(eventName, listener);
14928
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
14614
14929
  }
14615
14930
  }
14931
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
14616
14932
  }
14617
14933
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Tab, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14618
14934
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Tab, isStandalone: true, selector: "ui5-tab, [ui5-tab]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -14744,6 +15060,7 @@ class TabContainer {
14744
15060
  * @private
14745
15061
  */
14746
15062
  this._contentDensityObserver = inject(ContentDensityObserver);
15063
+ this._destroyRef = inject(DestroyRef);
14747
15064
  }
14748
15065
  /**
14749
15066
  * Returns all slotted tabs and their subTabs in a flattened array.
@@ -14795,17 +15112,21 @@ class TabContainer {
14795
15112
  'ui5TabSelect',
14796
15113
  ];
14797
15114
  // Synchronize outputs (events)
15115
+ const _listeners = [];
14798
15116
  for (const outputName of outputsToSync) {
14799
15117
  // Map Angular output name to UI5 web component event name
14800
15118
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
14801
15119
  // Ensure the output property exists and has an emit function before adding listener
14802
15120
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
14803
15121
  // Cast the listener to the correct type to satisfy TypeScript
14804
- wcElement.addEventListener(eventName, (e) => {
15122
+ const listener = (e) => {
14805
15123
  this[outputName].emit(e);
14806
- });
15124
+ };
15125
+ wcElement.addEventListener(eventName, listener);
15126
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
14807
15127
  }
14808
15128
  }
15129
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
14809
15130
  }
14810
15131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TabContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14811
15132
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TabContainer, isStandalone: true, selector: "ui5-tabcontainer, [ui5-tabcontainer]", inputs: { collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, contentBackgroundDesign: { classPropertyName: "contentBackgroundDesign", publicName: "contentBackgroundDesign", isSignal: true, isRequired: false, transformFunction: null }, headerBackgroundDesign: { classPropertyName: "headerBackgroundDesign", publicName: "headerBackgroundDesign", isSignal: true, isRequired: false, transformFunction: null }, noAutoSelection: { classPropertyName: "noAutoSelection", publicName: "noAutoSelection", isSignal: true, isRequired: false, transformFunction: null }, overflowMode: { classPropertyName: "overflowMode", publicName: "overflowMode", isSignal: true, isRequired: false, transformFunction: null }, tabLayout: { classPropertyName: "tabLayout", publicName: "tabLayout", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Move: "ui5Move", ui5MoveOver: "ui5MoveOver", ui5TabSelect: "ui5TabSelect" }, providers: [
@@ -15003,6 +15324,7 @@ class Table {
15003
15324
  * @private
15004
15325
  */
15005
15326
  this._contentDensityObserver = inject(ContentDensityObserver);
15327
+ this._destroyRef = inject(DestroyRef);
15006
15328
  }
15007
15329
  get element() {
15008
15330
  return this.elementRef.nativeElement;
@@ -15049,17 +15371,21 @@ class Table {
15049
15371
  'ui5RowClick',
15050
15372
  ];
15051
15373
  // Synchronize outputs (events)
15374
+ const _listeners = [];
15052
15375
  for (const outputName of outputsToSync) {
15053
15376
  // Map Angular output name to UI5 web component event name
15054
15377
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
15055
15378
  // Ensure the output property exists and has an emit function before adding listener
15056
15379
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
15057
15380
  // Cast the listener to the correct type to satisfy TypeScript
15058
- wcElement.addEventListener(eventName, (e) => {
15381
+ const listener = (e) => {
15059
15382
  this[outputName].emit(e);
15060
- });
15383
+ };
15384
+ wcElement.addEventListener(eventName, listener);
15385
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
15061
15386
  }
15062
15387
  }
15388
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
15063
15389
  }
15064
15390
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Table, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15065
15391
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Table, isStandalone: true, selector: "ui5-table, [ui5-table]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, alternateRowColors: { classPropertyName: "alternateRowColors", publicName: "alternateRowColors", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, noDataText: { classPropertyName: "noDataText", publicName: "noDataText", isSignal: true, isRequired: false, transformFunction: null }, overflowMode: { classPropertyName: "overflowMode", publicName: "overflowMode", isSignal: true, isRequired: false, transformFunction: null }, rowActionCount: { classPropertyName: "rowActionCount", publicName: "rowActionCount", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Move: "ui5Move", ui5MoveOver: "ui5MoveOver", ui5RowActionClick: "ui5RowActionClick", ui5RowClick: "ui5RowClick" }, providers: [
@@ -15359,6 +15685,7 @@ class TableGrowing {
15359
15685
  * @private
15360
15686
  */
15361
15687
  this._contentDensityObserver = inject(ContentDensityObserver);
15688
+ this._destroyRef = inject(DestroyRef);
15362
15689
  }
15363
15690
  get element() {
15364
15691
  return this.elementRef.nativeElement;
@@ -15397,17 +15724,21 @@ class TableGrowing {
15397
15724
  'ui5LoadMore',
15398
15725
  ];
15399
15726
  // Synchronize outputs (events)
15727
+ const _listeners = [];
15400
15728
  for (const outputName of outputsToSync) {
15401
15729
  // Map Angular output name to UI5 web component event name
15402
15730
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
15403
15731
  // Ensure the output property exists and has an emit function before adding listener
15404
15732
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
15405
15733
  // Cast the listener to the correct type to satisfy TypeScript
15406
- wcElement.addEventListener(eventName, (e) => {
15734
+ const listener = (e) => {
15407
15735
  this[outputName].emit(e);
15408
- });
15736
+ };
15737
+ wcElement.addEventListener(eventName, listener);
15738
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
15409
15739
  }
15410
15740
  }
15741
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
15411
15742
  }
15412
15743
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TableGrowing, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15413
15744
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TableGrowing, isStandalone: true, selector: "ui5-table-growing, [ui5-table-growing]", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, subtext: { classPropertyName: "subtext", publicName: "subtext", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5LoadMore: "ui5LoadMore" }, providers: [
@@ -15608,6 +15939,7 @@ class TableHeaderCellActionAI {
15608
15939
  * @private
15609
15940
  */
15610
15941
  this._contentDensityObserver = inject(ContentDensityObserver);
15942
+ this._destroyRef = inject(DestroyRef);
15611
15943
  }
15612
15944
  get element() {
15613
15945
  return this.elementRef.nativeElement;
@@ -15618,17 +15950,21 @@ class TableHeaderCellActionAI {
15618
15950
  'ui5Click',
15619
15951
  ];
15620
15952
  // Synchronize outputs (events)
15953
+ const _listeners = [];
15621
15954
  for (const outputName of outputsToSync) {
15622
15955
  // Map Angular output name to UI5 web component event name
15623
15956
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
15624
15957
  // Ensure the output property exists and has an emit function before adding listener
15625
15958
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
15626
15959
  // Cast the listener to the correct type to satisfy TypeScript
15627
- wcElement.addEventListener(eventName, (e) => {
15960
+ const listener = (e) => {
15628
15961
  this[outputName].emit(e);
15629
- });
15962
+ };
15963
+ wcElement.addEventListener(eventName, listener);
15964
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
15630
15965
  }
15631
15966
  }
15967
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
15632
15968
  }
15633
15969
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TableHeaderCellActionAI, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15634
15970
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: TableHeaderCellActionAI, isStandalone: true, selector: "ui5-table-header-cell-action-ai, [ui5-table-header-cell-action-ai]", outputs: { ui5Click: "ui5Click" }, providers: [
@@ -15918,6 +16254,7 @@ class TableRowAction {
15918
16254
  * @private
15919
16255
  */
15920
16256
  this._contentDensityObserver = inject(ContentDensityObserver);
16257
+ this._destroyRef = inject(DestroyRef);
15921
16258
  }
15922
16259
  get element() {
15923
16260
  return this.elementRef.nativeElement;
@@ -15956,17 +16293,21 @@ class TableRowAction {
15956
16293
  'ui5Click',
15957
16294
  ];
15958
16295
  // Synchronize outputs (events)
16296
+ const _listeners = [];
15959
16297
  for (const outputName of outputsToSync) {
15960
16298
  // Map Angular output name to UI5 web component event name
15961
16299
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
15962
16300
  // Ensure the output property exists and has an emit function before adding listener
15963
16301
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
15964
16302
  // Cast the listener to the correct type to satisfy TypeScript
15965
- wcElement.addEventListener(eventName, (e) => {
16303
+ const listener = (e) => {
15966
16304
  this[outputName].emit(e);
15967
- });
16305
+ };
16306
+ wcElement.addEventListener(eventName, listener);
16307
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
15968
16308
  }
15969
16309
  }
16310
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
15970
16311
  }
15971
16312
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TableRowAction, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15972
16313
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TableRowAction, isStandalone: true, selector: "ui5-table-row-action, [ui5-table-row-action]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, invisible: { classPropertyName: "invisible", publicName: "invisible", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -16015,6 +16356,7 @@ class TableRowActionNavigation {
16015
16356
  * @private
16016
16357
  */
16017
16358
  this._contentDensityObserver = inject(ContentDensityObserver);
16359
+ this._destroyRef = inject(DestroyRef);
16018
16360
  }
16019
16361
  get element() {
16020
16362
  return this.elementRef.nativeElement;
@@ -16052,17 +16394,21 @@ class TableRowActionNavigation {
16052
16394
  'ui5Click',
16053
16395
  ];
16054
16396
  // Synchronize outputs (events)
16397
+ const _listeners = [];
16055
16398
  for (const outputName of outputsToSync) {
16056
16399
  // Map Angular output name to UI5 web component event name
16057
16400
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
16058
16401
  // Ensure the output property exists and has an emit function before adding listener
16059
16402
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
16060
16403
  // Cast the listener to the correct type to satisfy TypeScript
16061
- wcElement.addEventListener(eventName, (e) => {
16404
+ const listener = (e) => {
16062
16405
  this[outputName].emit(e);
16063
- });
16406
+ };
16407
+ wcElement.addEventListener(eventName, listener);
16408
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
16064
16409
  }
16065
16410
  }
16411
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
16066
16412
  }
16067
16413
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TableRowActionNavigation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16068
16414
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TableRowActionNavigation, isStandalone: true, selector: "ui5-table-row-action-navigation, [ui5-table-row-action-navigation]", inputs: { interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, invisible: { classPropertyName: "invisible", publicName: "invisible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -16111,6 +16457,7 @@ class TableSelection {
16111
16457
  * @private
16112
16458
  */
16113
16459
  this._contentDensityObserver = inject(ContentDensityObserver);
16460
+ this._destroyRef = inject(DestroyRef);
16114
16461
  }
16115
16462
  get element() {
16116
16463
  return this.elementRef.nativeElement;
@@ -16148,17 +16495,21 @@ class TableSelection {
16148
16495
  'ui5Change',
16149
16496
  ];
16150
16497
  // Synchronize outputs (events)
16498
+ const _listeners = [];
16151
16499
  for (const outputName of outputsToSync) {
16152
16500
  // Map Angular output name to UI5 web component event name
16153
16501
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
16154
16502
  // Ensure the output property exists and has an emit function before adding listener
16155
16503
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
16156
16504
  // Cast the listener to the correct type to satisfy TypeScript
16157
- wcElement.addEventListener(eventName, (e) => {
16505
+ const listener = (e) => {
16158
16506
  this[outputName].emit(e);
16159
- });
16507
+ };
16508
+ wcElement.addEventListener(eventName, listener);
16509
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
16160
16510
  }
16161
16511
  }
16512
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
16162
16513
  }
16163
16514
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TableSelection, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16164
16515
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TableSelection, isStandalone: true, selector: "ui5-table-selection, [ui5-table-selection]", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -16212,6 +16563,7 @@ class TableSelectionMulti {
16212
16563
  * @private
16213
16564
  */
16214
16565
  this._contentDensityObserver = inject(ContentDensityObserver);
16566
+ this._destroyRef = inject(DestroyRef);
16215
16567
  }
16216
16568
  get element() {
16217
16569
  return this.elementRef.nativeElement;
@@ -16250,17 +16602,21 @@ class TableSelectionMulti {
16250
16602
  'ui5Change',
16251
16603
  ];
16252
16604
  // Synchronize outputs (events)
16605
+ const _listeners = [];
16253
16606
  for (const outputName of outputsToSync) {
16254
16607
  // Map Angular output name to UI5 web component event name
16255
16608
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
16256
16609
  // Ensure the output property exists and has an emit function before adding listener
16257
16610
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
16258
16611
  // Cast the listener to the correct type to satisfy TypeScript
16259
- wcElement.addEventListener(eventName, (e) => {
16612
+ const listener = (e) => {
16260
16613
  this[outputName].emit(e);
16261
- });
16614
+ };
16615
+ wcElement.addEventListener(eventName, listener);
16616
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
16262
16617
  }
16263
16618
  }
16619
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
16264
16620
  }
16265
16621
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TableSelectionMulti, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16266
16622
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TableSelectionMulti, isStandalone: true, selector: "ui5-table-selection-multi, [ui5-table-selection-multi]", inputs: { behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null }, headerSelector: { classPropertyName: "headerSelector", publicName: "headerSelector", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -16309,6 +16665,7 @@ class TableSelectionSingle {
16309
16665
  * @private
16310
16666
  */
16311
16667
  this._contentDensityObserver = inject(ContentDensityObserver);
16668
+ this._destroyRef = inject(DestroyRef);
16312
16669
  }
16313
16670
  get element() {
16314
16671
  return this.elementRef.nativeElement;
@@ -16346,17 +16703,21 @@ class TableSelectionSingle {
16346
16703
  'ui5Change',
16347
16704
  ];
16348
16705
  // Synchronize outputs (events)
16706
+ const _listeners = [];
16349
16707
  for (const outputName of outputsToSync) {
16350
16708
  // Map Angular output name to UI5 web component event name
16351
16709
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
16352
16710
  // Ensure the output property exists and has an emit function before adding listener
16353
16711
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
16354
16712
  // Cast the listener to the correct type to satisfy TypeScript
16355
- wcElement.addEventListener(eventName, (e) => {
16713
+ const listener = (e) => {
16356
16714
  this[outputName].emit(e);
16357
- });
16715
+ };
16716
+ wcElement.addEventListener(eventName, listener);
16717
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
16358
16718
  }
16359
16719
  }
16720
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
16360
16721
  }
16361
16722
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TableSelectionSingle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16362
16723
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TableSelectionSingle, isStandalone: true, selector: "ui5-table-selection-single, [ui5-table-selection-single]", inputs: { behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change" }, providers: [
@@ -16416,6 +16777,7 @@ class TableVirtualizer {
16416
16777
  * @private
16417
16778
  */
16418
16779
  this._contentDensityObserver = inject(ContentDensityObserver);
16780
+ this._destroyRef = inject(DestroyRef);
16419
16781
  }
16420
16782
  get element() {
16421
16783
  return this.elementRef.nativeElement;
@@ -16454,17 +16816,21 @@ class TableVirtualizer {
16454
16816
  'ui5RangeChange',
16455
16817
  ];
16456
16818
  // Synchronize outputs (events)
16819
+ const _listeners = [];
16457
16820
  for (const outputName of outputsToSync) {
16458
16821
  // Map Angular output name to UI5 web component event name
16459
16822
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
16460
16823
  // Ensure the output property exists and has an emit function before adding listener
16461
16824
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
16462
16825
  // Cast the listener to the correct type to satisfy TypeScript
16463
- wcElement.addEventListener(eventName, (e) => {
16826
+ const listener = (e) => {
16464
16827
  this[outputName].emit(e);
16465
- });
16828
+ };
16829
+ wcElement.addEventListener(eventName, listener);
16830
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
16466
16831
  }
16467
16832
  }
16833
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
16468
16834
  }
16469
16835
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TableVirtualizer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16470
16836
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TableVirtualizer, isStandalone: true, selector: "ui5-table-virtualizer, [ui5-table-virtualizer]", inputs: { extraRows: { classPropertyName: "extraRows", publicName: "extraRows", isSignal: true, isRequired: false, transformFunction: null }, rowCount: { classPropertyName: "rowCount", publicName: "rowCount", isSignal: true, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5RangeChange: "ui5RangeChange" }, providers: [
@@ -16570,6 +16936,7 @@ class Tag {
16570
16936
  * @private
16571
16937
  */
16572
16938
  this._contentDensityObserver = inject(ContentDensityObserver);
16939
+ this._destroyRef = inject(DestroyRef);
16573
16940
  }
16574
16941
  get element() {
16575
16942
  return this.elementRef.nativeElement;
@@ -16611,17 +16978,21 @@ class Tag {
16611
16978
  'ui5Click',
16612
16979
  ];
16613
16980
  // Synchronize outputs (events)
16981
+ const _listeners = [];
16614
16982
  for (const outputName of outputsToSync) {
16615
16983
  // Map Angular output name to UI5 web component event name
16616
16984
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
16617
16985
  // Ensure the output property exists and has an emit function before adding listener
16618
16986
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
16619
16987
  // Cast the listener to the correct type to satisfy TypeScript
16620
- wcElement.addEventListener(eventName, (e) => {
16988
+ const listener = (e) => {
16621
16989
  this[outputName].emit(e);
16622
- });
16990
+ };
16991
+ wcElement.addEventListener(eventName, listener);
16992
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
16623
16993
  }
16624
16994
  }
16995
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
16625
16996
  }
16626
16997
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Tag, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16627
16998
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Tag, isStandalone: true, selector: "ui5-tag, [ui5-tag]", inputs: { colorScheme: { classPropertyName: "colorScheme", publicName: "colorScheme", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, hideStateIcon: { classPropertyName: "hideStateIcon", publicName: "hideStateIcon", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -16905,6 +17276,7 @@ class TextArea {
16905
17276
  * @private
16906
17277
  */
16907
17278
  this._contentDensityObserver = inject(ContentDensityObserver);
17279
+ this._destroyRef = inject(DestroyRef);
16908
17280
  }
16909
17281
  get element() {
16910
17282
  return this.elementRef.nativeElement;
@@ -16959,17 +17331,21 @@ class TextArea {
16959
17331
  'ui5Select',
16960
17332
  ];
16961
17333
  // Synchronize outputs (events)
17334
+ const _listeners = [];
16962
17335
  for (const outputName of outputsToSync) {
16963
17336
  // Map Angular output name to UI5 web component event name
16964
17337
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
16965
17338
  // Ensure the output property exists and has an emit function before adding listener
16966
17339
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
16967
17340
  // Cast the listener to the correct type to satisfy TypeScript
16968
- wcElement.addEventListener(eventName, (e) => {
17341
+ const listener = (e) => {
16969
17342
  this[outputName].emit(e);
16970
- });
17343
+ };
17344
+ wcElement.addEventListener(eventName, listener);
17345
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
16971
17346
  }
16972
17347
  }
17348
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
16973
17349
  }
16974
17350
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TextArea, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16975
17351
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TextArea, isStandalone: true, selector: "ui5-textarea, [ui5-textarea]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, growing: { classPropertyName: "growing", publicName: "growing", isSignal: true, isRequired: false, transformFunction: null }, growingMaxRows: { classPropertyName: "growingMaxRows", publicName: "growingMaxRows", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, showExceededText: { classPropertyName: "showExceededText", publicName: "showExceededText", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Input: "ui5Input", ui5Scroll: "ui5Scroll", ui5Select: "ui5Select" }, providers: [
@@ -16984,7 +17360,7 @@ class TextArea {
16984
17360
  transformValue: (v) => v || ''
16985
17361
  }
16986
17362
  }
16987
- ], exportAs: ["ui5TextArea"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17363
+ ], exportAs: ["ui5TextArea"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16988
17364
  }
16989
17365
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TextArea, decorators: [{
16990
17366
  type: Component,
@@ -17151,6 +17527,7 @@ class TimePicker {
17151
17527
  * @private
17152
17528
  */
17153
17529
  this._contentDensityObserver = inject(ContentDensityObserver);
17530
+ this._destroyRef = inject(DestroyRef);
17154
17531
  }
17155
17532
  /**
17156
17533
  * Currently selected time represented as JavaScript Date instance
@@ -17211,17 +17588,21 @@ class TimePicker {
17211
17588
  'ui5Open',
17212
17589
  ];
17213
17590
  // Synchronize outputs (events)
17591
+ const _listeners = [];
17214
17592
  for (const outputName of outputsToSync) {
17215
17593
  // Map Angular output name to UI5 web component event name
17216
17594
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
17217
17595
  // Ensure the output property exists and has an emit function before adding listener
17218
17596
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
17219
17597
  // Cast the listener to the correct type to satisfy TypeScript
17220
- wcElement.addEventListener(eventName, (e) => {
17598
+ const listener = (e) => {
17221
17599
  this[outputName].emit(e);
17222
- });
17600
+ };
17601
+ wcElement.addEventListener(eventName, listener);
17602
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
17223
17603
  }
17224
17604
  }
17605
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
17225
17606
  }
17226
17607
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TimePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17227
17608
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TimePicker, isStandalone: true, selector: "ui5-time-picker, [ui5-time-picker]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, formatPattern: { classPropertyName: "formatPattern", publicName: "formatPattern", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Input: "ui5Input", ui5Open: "ui5Open" }, providers: [
@@ -17236,7 +17617,7 @@ class TimePicker {
17236
17617
  transformValue: (v) => v || ''
17237
17618
  }
17238
17619
  }
17239
- ], exportAs: ["ui5TimePicker"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17620
+ ], exportAs: ["ui5TimePicker"], hostDirectives: [{ directive: i1$1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17240
17621
  }
17241
17622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TimePicker, decorators: [{
17242
17623
  type: Component,
@@ -17644,6 +18025,7 @@ class Toast {
17644
18025
  * @private
17645
18026
  */
17646
18027
  this._contentDensityObserver = inject(ContentDensityObserver);
18028
+ this._destroyRef = inject(DestroyRef);
17647
18029
  }
17648
18030
  get element() {
17649
18031
  return this.elementRef.nativeElement;
@@ -17682,17 +18064,21 @@ class Toast {
17682
18064
  'ui5Close',
17683
18065
  ];
17684
18066
  // Synchronize outputs (events)
18067
+ const _listeners = [];
17685
18068
  for (const outputName of outputsToSync) {
17686
18069
  // Map Angular output name to UI5 web component event name
17687
18070
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
17688
18071
  // Ensure the output property exists and has an emit function before adding listener
17689
18072
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
17690
18073
  // Cast the listener to the correct type to satisfy TypeScript
17691
- wcElement.addEventListener(eventName, (e) => {
18074
+ const listener = (e) => {
17692
18075
  this[outputName].emit(e);
17693
- });
18076
+ };
18077
+ wcElement.addEventListener(eventName, listener);
18078
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
17694
18079
  }
17695
18080
  }
18081
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
17696
18082
  }
17697
18083
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Toast, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17698
18084
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Toast, isStandalone: true, selector: "ui5-toast, [ui5-toast]", inputs: { duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Close: "ui5Close" }, providers: [
@@ -17886,6 +18272,7 @@ class ToggleButton {
17886
18272
  * @private
17887
18273
  */
17888
18274
  this._contentDensityObserver = inject(ContentDensityObserver);
18275
+ this._destroyRef = inject(DestroyRef);
17889
18276
  }
17890
18277
  get element() {
17891
18278
  return this.elementRef.nativeElement;
@@ -17937,17 +18324,21 @@ class ToggleButton {
17937
18324
  'ui5Click',
17938
18325
  ];
17939
18326
  // Synchronize outputs (events)
18327
+ const _listeners = [];
17940
18328
  for (const outputName of outputsToSync) {
17941
18329
  // Map Angular output name to UI5 web component event name
17942
18330
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
17943
18331
  // Ensure the output property exists and has an emit function before adding listener
17944
18332
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
17945
18333
  // Cast the listener to the correct type to satisfy TypeScript
17946
- wcElement.addEventListener(eventName, (e) => {
18334
+ const listener = (e) => {
17947
18335
  this[outputName].emit(e);
17948
- });
18336
+ };
18337
+ wcElement.addEventListener(eventName, listener);
18338
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
17949
18339
  }
17950
18340
  }
18341
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
17951
18342
  }
17952
18343
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToggleButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17953
18344
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ToggleButton, isStandalone: true, selector: "ui5-toggle-button, [ui5-toggle-button]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, endIcon: { classPropertyName: "endIcon", publicName: "endIcon", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: true, isRequired: false, transformFunction: null }, submits: { classPropertyName: "submits", publicName: "submits", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -18141,6 +18532,7 @@ class ToggleSpinButton {
18141
18532
  * @private
18142
18533
  */
18143
18534
  this._contentDensityObserver = inject(ContentDensityObserver);
18535
+ this._destroyRef = inject(DestroyRef);
18144
18536
  }
18145
18537
  get element() {
18146
18538
  return this.elementRef.nativeElement;
@@ -18192,17 +18584,21 @@ class ToggleSpinButton {
18192
18584
  'ui5Click',
18193
18585
  ];
18194
18586
  // Synchronize outputs (events)
18587
+ const _listeners = [];
18195
18588
  for (const outputName of outputsToSync) {
18196
18589
  // Map Angular output name to UI5 web component event name
18197
18590
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
18198
18591
  // Ensure the output property exists and has an emit function before adding listener
18199
18592
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
18200
18593
  // Cast the listener to the correct type to satisfy TypeScript
18201
- wcElement.addEventListener(eventName, (e) => {
18594
+ const listener = (e) => {
18202
18595
  this[outputName].emit(e);
18203
- });
18596
+ };
18597
+ wcElement.addEventListener(eventName, listener);
18598
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
18204
18599
  }
18205
18600
  }
18601
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
18206
18602
  }
18207
18603
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToggleSpinButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18208
18604
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ToggleSpinButton, isStandalone: true, selector: "ui5-toggle-spin-button, [ui5-toggle-spin-button]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, endIcon: { classPropertyName: "endIcon", publicName: "endIcon", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: true, isRequired: false, transformFunction: null }, submits: { classPropertyName: "submits", publicName: "submits", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -18417,6 +18813,7 @@ class Tokenizer {
18417
18813
  * @private
18418
18814
  */
18419
18815
  this._contentDensityObserver = inject(ContentDensityObserver);
18816
+ this._destroyRef = inject(DestroyRef);
18420
18817
  }
18421
18818
  get element() {
18422
18819
  return this.elementRef.nativeElement;
@@ -18460,17 +18857,21 @@ class Tokenizer {
18460
18857
  'ui5TokenDelete',
18461
18858
  ];
18462
18859
  // Synchronize outputs (events)
18860
+ const _listeners = [];
18463
18861
  for (const outputName of outputsToSync) {
18464
18862
  // Map Angular output name to UI5 web component event name
18465
18863
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
18466
18864
  // Ensure the output property exists and has an emit function before adding listener
18467
18865
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
18468
18866
  // Cast the listener to the correct type to satisfy TypeScript
18469
- wcElement.addEventListener(eventName, (e) => {
18867
+ const listener = (e) => {
18470
18868
  this[outputName].emit(e);
18471
- });
18869
+ };
18870
+ wcElement.addEventListener(eventName, listener);
18871
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
18472
18872
  }
18473
18873
  }
18874
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
18474
18875
  }
18475
18876
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Tokenizer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18476
18877
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Tokenizer, isStandalone: true, selector: "ui5-tokenizer, [ui5-tokenizer]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, multiLine: { classPropertyName: "multiLine", publicName: "multiLine", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, showClearAll: { classPropertyName: "showClearAll", publicName: "showClearAll", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5SelectionChange: "ui5SelectionChange", ui5TokenDelete: "ui5TokenDelete" }, providers: [
@@ -18742,6 +19143,7 @@ class ToolbarButton {
18742
19143
  * @private
18743
19144
  */
18744
19145
  this._contentDensityObserver = inject(ContentDensityObserver);
19146
+ this._destroyRef = inject(DestroyRef);
18745
19147
  }
18746
19148
  get element() {
18747
19149
  return this.elementRef.nativeElement;
@@ -18790,17 +19192,21 @@ class ToolbarButton {
18790
19192
  'ui5Click',
18791
19193
  ];
18792
19194
  // Synchronize outputs (events)
19195
+ const _listeners = [];
18793
19196
  for (const outputName of outputsToSync) {
18794
19197
  // Map Angular output name to UI5 web component event name
18795
19198
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
18796
19199
  // Ensure the output property exists and has an emit function before adding listener
18797
19200
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
18798
19201
  // Cast the listener to the correct type to satisfy TypeScript
18799
- wcElement.addEventListener(eventName, (e) => {
19202
+ const listener = (e) => {
18800
19203
  this[outputName].emit(e);
18801
- });
19204
+ };
19205
+ wcElement.addEventListener(eventName, listener);
19206
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
18802
19207
  }
18803
19208
  }
19209
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
18804
19210
  }
18805
19211
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToolbarButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18806
19212
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ToolbarButton, isStandalone: true, selector: "ui5-toolbar-button, [ui5-toolbar-button]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, endIcon: { classPropertyName: "endIcon", publicName: "endIcon", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, overflowPriority: { classPropertyName: "overflowPriority", publicName: "overflowPriority", isSignal: true, isRequired: false, transformFunction: null }, preventOverflowClosing: { classPropertyName: "preventOverflowClosing", publicName: "preventOverflowClosing", isSignal: true, isRequired: false, transformFunction: null }, showOverflowText: { classPropertyName: "showOverflowText", publicName: "showOverflowText", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
@@ -19032,6 +19438,7 @@ class ToolbarSelect {
19032
19438
  * @private
19033
19439
  */
19034
19440
  this._contentDensityObserver = inject(ContentDensityObserver);
19441
+ this._destroyRef = inject(DestroyRef);
19035
19442
  }
19036
19443
  get element() {
19037
19444
  return this.elementRef.nativeElement;
@@ -19077,17 +19484,21 @@ class ToolbarSelect {
19077
19484
  'ui5Open',
19078
19485
  ];
19079
19486
  // Synchronize outputs (events)
19487
+ const _listeners = [];
19080
19488
  for (const outputName of outputsToSync) {
19081
19489
  // Map Angular output name to UI5 web component event name
19082
19490
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
19083
19491
  // Ensure the output property exists and has an emit function before adding listener
19084
19492
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
19085
19493
  // Cast the listener to the correct type to satisfy TypeScript
19086
- wcElement.addEventListener(eventName, (e) => {
19494
+ const listener = (e) => {
19087
19495
  this[outputName].emit(e);
19088
- });
19496
+ };
19497
+ wcElement.addEventListener(eventName, listener);
19498
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
19089
19499
  }
19090
19500
  }
19501
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
19091
19502
  }
19092
19503
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToolbarSelect, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19093
19504
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ToolbarSelect, isStandalone: true, selector: "ui5-toolbar-select, [ui5-toolbar-select]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, overflowPriority: { classPropertyName: "overflowPriority", publicName: "overflowPriority", isSignal: true, isRequired: false, transformFunction: null }, preventOverflowClosing: { classPropertyName: "preventOverflowClosing", publicName: "preventOverflowClosing", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Close: "ui5Close", ui5Open: "ui5Open" }, providers: [
@@ -19511,6 +19922,7 @@ class Tree {
19511
19922
  * @private
19512
19923
  */
19513
19924
  this._contentDensityObserver = inject(ContentDensityObserver);
19925
+ this._destroyRef = inject(DestroyRef);
19514
19926
  }
19515
19927
  get element() {
19516
19928
  return this.elementRef.nativeElement;
@@ -19561,17 +19973,21 @@ class Tree {
19561
19973
  'ui5SelectionChange',
19562
19974
  ];
19563
19975
  // Synchronize outputs (events)
19976
+ const _listeners = [];
19564
19977
  for (const outputName of outputsToSync) {
19565
19978
  // Map Angular output name to UI5 web component event name
19566
19979
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
19567
19980
  // Ensure the output property exists and has an emit function before adding listener
19568
19981
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
19569
19982
  // Cast the listener to the correct type to satisfy TypeScript
19570
- wcElement.addEventListener(eventName, (e) => {
19983
+ const listener = (e) => {
19571
19984
  this[outputName].emit(e);
19572
- });
19985
+ };
19986
+ wcElement.addEventListener(eventName, listener);
19987
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
19573
19988
  }
19574
19989
  }
19990
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
19575
19991
  }
19576
19992
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Tree, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19577
19993
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: Tree, isStandalone: true, selector: "ui5-tree, [ui5-tree]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, footerText: { classPropertyName: "footerText", publicName: "footerText", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, noDataText: { classPropertyName: "noDataText", publicName: "noDataText", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ItemClick: "ui5ItemClick", ui5ItemDelete: "ui5ItemDelete", ui5ItemMouseout: "ui5ItemMouseout", ui5ItemMouseover: "ui5ItemMouseover", ui5ItemToggle: "ui5ItemToggle", ui5Move: "ui5Move", ui5MoveOver: "ui5MoveOver", ui5SelectionChange: "ui5SelectionChange" }, providers: [
@@ -19769,6 +20185,7 @@ class TreeItem {
19769
20185
  * @private
19770
20186
  */
19771
20187
  this._contentDensityObserver = inject(ContentDensityObserver);
20188
+ this._destroyRef = inject(DestroyRef);
19772
20189
  }
19773
20190
  get element() {
19774
20191
  return this.elementRef.nativeElement;
@@ -19821,17 +20238,21 @@ class TreeItem {
19821
20238
  'ui5DetailClick',
19822
20239
  ];
19823
20240
  // Synchronize outputs (events)
20241
+ const _listeners = [];
19824
20242
  for (const outputName of outputsToSync) {
19825
20243
  // Map Angular output name to UI5 web component event name
19826
20244
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
19827
20245
  // Ensure the output property exists and has an emit function before adding listener
19828
20246
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
19829
20247
  // Cast the listener to the correct type to satisfy TypeScript
19830
- wcElement.addEventListener(eventName, (e) => {
20248
+ const listener = (e) => {
19831
20249
  this[outputName].emit(e);
19832
- });
20250
+ };
20251
+ wcElement.addEventListener(eventName, listener);
20252
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
19833
20253
  }
19834
20254
  }
20255
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
19835
20256
  }
19836
20257
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TreeItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19837
20258
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TreeItem, isStandalone: true, selector: "ui5-tree-item, [ui5-tree-item]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, additionalTextState: { classPropertyName: "additionalTextState", publicName: "additionalTextState", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, hasChildren: { classPropertyName: "hasChildren", publicName: "hasChildren", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click", ui5DetailClick: "ui5DetailClick" }, providers: [
@@ -20028,6 +20449,7 @@ class TreeItemCustom {
20028
20449
  * @private
20029
20450
  */
20030
20451
  this._contentDensityObserver = inject(ContentDensityObserver);
20452
+ this._destroyRef = inject(DestroyRef);
20031
20453
  }
20032
20454
  get element() {
20033
20455
  return this.elementRef.nativeElement;
@@ -20079,17 +20501,21 @@ class TreeItemCustom {
20079
20501
  'ui5DetailClick',
20080
20502
  ];
20081
20503
  // Synchronize outputs (events)
20504
+ const _listeners = [];
20082
20505
  for (const outputName of outputsToSync) {
20083
20506
  // Map Angular output name to UI5 web component event name
20084
20507
  const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
20085
20508
  // Ensure the output property exists and has an emit function before adding listener
20086
20509
  if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
20087
20510
  // Cast the listener to the correct type to satisfy TypeScript
20088
- wcElement.addEventListener(eventName, (e) => {
20511
+ const listener = (e) => {
20089
20512
  this[outputName].emit(e);
20090
- });
20513
+ };
20514
+ wcElement.addEventListener(eventName, listener);
20515
+ _listeners.push(() => wcElement.removeEventListener(eventName, listener));
20091
20516
  }
20092
20517
  }
20518
+ this._destroyRef.onDestroy(() => _listeners.forEach((fn) => fn()));
20093
20519
  }
20094
20520
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TreeItemCustom, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20095
20521
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: TreeItemCustom, isStandalone: true, selector: "ui5-tree-item-custom, [ui5-tree-item-custom]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, additionalTextState: { classPropertyName: "additionalTextState", publicName: "additionalTextState", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, hasChildren: { classPropertyName: "hasChildren", publicName: "hasChildren", isSignal: true, isRequired: false, transformFunction: null }, hideSelectionElement: { classPropertyName: "hideSelectionElement", publicName: "hideSelectionElement", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click", ui5DetailClick: "ui5DetailClick" }, providers: [