@lucca-front/ng 21.3.0-rc.5 → 22.0.0-rc.2

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 (282) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
  2. package/fesm2022/lucca-front-ng-activity-feed.mjs +12 -17
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-api.mjs +122 -202
  5. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  6. package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
  7. package/fesm2022/lucca-front-ng-box.mjs +3 -3
  8. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
  9. package/fesm2022/lucca-front-ng-bubble-icon.mjs +4 -10
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +5 -10
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-callout.mjs +36 -36
  14. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-chip.mjs +4 -10
  16. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-clear.mjs +9 -15
  18. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-code.mjs +4 -4
  20. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-color.mjs +4 -9
  22. package/fesm2022/lucca-front-ng-color.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-comment.mjs +12 -17
  24. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-container.mjs +4 -9
  26. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-api.mjs +29 -45
  28. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-department.mjs +13 -11
  30. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
  32. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  34. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
  36. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core-select-user.mjs +42 -42
  38. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-core-select.mjs +204 -270
  40. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-core.mjs +37 -21
  42. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-data-table.mjs +61 -60
  44. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-date.mjs +144 -164
  46. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-date2.mjs +147 -150
  48. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-department.mjs +26 -24
  50. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-dialog.mjs +92 -68
  52. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-divider.mjs +7 -14
  54. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-dropdown.mjs +69 -72
  56. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-empty-state.mjs +15 -20
  58. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-error-page.mjs +4 -9
  60. package/fesm2022/lucca-front-ng-error-page.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-establishment.mjs +81 -115
  62. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-fancy-box.mjs +5 -10
  64. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-file-upload.mjs +33 -52
  66. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-filter-pills.mjs +41 -24
  68. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-footer.mjs +4 -10
  70. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-form-field.mjs +43 -64
  72. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-form-header.mjs +4 -9
  74. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-form-label.mjs +4 -9
  76. package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-form.mjs +6 -9
  78. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-formly.mjs +60 -59
  80. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +53 -53
  82. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +18 -16
  84. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +9 -8
  86. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +8 -6
  88. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +64 -57
  90. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-forms.mjs +51 -109
  92. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
  94. package/fesm2022/lucca-front-ng-grid.mjs +9 -21
  95. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-highlight-data.mjs +5 -27
  97. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +15 -160
  99. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-index-table.mjs +38 -44
  101. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-inline-message.mjs +4 -11
  103. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-input.mjs +28 -26
  105. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-link.mjs +6 -6
  107. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  108. package/fesm2022/lucca-front-ng-listbox.mjs +10 -15
  109. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-listing.mjs +8 -8
  111. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  112. package/fesm2022/lucca-front-ng-loading.mjs +4 -9
  113. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  114. package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
  115. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -4
  116. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-modal.mjs +36 -40
  118. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-multi-select.mjs +174 -203
  120. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  122. package/fesm2022/lucca-front-ng-number-format.mjs +22 -25
  123. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  124. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  125. package/fesm2022/lucca-front-ng-numeric-badge.mjs +4 -9
  126. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-option.mjs +159 -162
  128. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
  130. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-pagination.mjs +5 -10
  132. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-plg-push.mjs +5 -5
  134. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-popover.mjs +144 -255
  136. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-popover2.mjs +41 -69
  138. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-popup.mjs +11 -11
  140. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-progress-bar.mjs +4 -9
  142. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-progress-stepper.mjs +7 -12
  144. package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
  145. package/fesm2022/lucca-front-ng-read-more.mjs +5 -10
  146. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-resource-card.mjs +13 -19
  148. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  150. package/fesm2022/lucca-front-ng-scroll-box.mjs +3 -3
  151. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  152. package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
  153. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  154. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +8 -14
  155. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  156. package/fesm2022/lucca-front-ng-segmented-control.mjs +6 -6
  157. package/fesm2022/lucca-front-ng-select.mjs +92 -138
  158. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  159. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  160. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  161. package/fesm2022/lucca-front-ng-simple-select.mjs +43 -41
  162. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  163. package/fesm2022/lucca-front-ng-skeleton.mjs +28 -50
  164. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  165. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
  166. package/fesm2022/lucca-front-ng-software-icon.mjs +25 -29
  167. package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
  168. package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
  169. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  170. package/fesm2022/lucca-front-ng-status-badge.mjs +4 -9
  171. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  172. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  173. package/fesm2022/lucca-front-ng-tag.mjs +5 -10
  174. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  175. package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
  176. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  177. package/fesm2022/lucca-front-ng-time.mjs +68 -316
  178. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  179. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  180. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  181. package/fesm2022/lucca-front-ng-toast.mjs +11 -11
  182. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  183. package/fesm2022/lucca-front-ng-tooltip.mjs +17 -17
  184. package/fesm2022/lucca-front-ng-tree-select.mjs +17 -16
  185. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  186. package/fesm2022/lucca-front-ng-user-popover.mjs +27 -32
  187. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  188. package/fesm2022/lucca-front-ng-user.mjs +139 -195
  189. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  190. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
  191. package/package.json +5 -13
  192. package/schematics/lib/local-deps/package-lock.json +79 -17
  193. package/schematics/lib/local-deps/package.json +1 -1
  194. package/schematics/palettes/index.js +1 -12
  195. package/src/components/_picker.scss +1 -2
  196. package/types/lucca-front-ng-activity-feed.d.ts +1 -8
  197. package/types/lucca-front-ng-api.d.ts +75 -81
  198. package/types/lucca-front-ng-bubble-icon.d.ts +1 -10
  199. package/types/lucca-front-ng-bubble-illustration.d.ts +4 -10
  200. package/types/lucca-front-ng-callout.d.ts +12 -20
  201. package/types/lucca-front-ng-chip.d.ts +1 -10
  202. package/types/lucca-front-ng-clear.d.ts +6 -11
  203. package/types/lucca-front-ng-color.d.ts +1 -8
  204. package/types/lucca-front-ng-comment.d.ts +1 -8
  205. package/types/lucca-front-ng-container.d.ts +1 -8
  206. package/types/lucca-front-ng-core-select-api.d.ts +28 -28
  207. package/types/lucca-front-ng-core-select-department.d.ts +10 -10
  208. package/types/lucca-front-ng-core-select-establishment.d.ts +12 -12
  209. package/types/lucca-front-ng-core-select-job-qualification.d.ts +6 -6
  210. package/types/lucca-front-ng-core-select-occupation-category.d.ts +6 -6
  211. package/types/lucca-front-ng-core-select-user.d.ts +20 -21
  212. package/types/lucca-front-ng-core-select.d.ts +186 -185
  213. package/types/lucca-front-ng-core.d.ts +16 -10
  214. package/types/lucca-front-ng-data-table.d.ts +41 -52
  215. package/types/lucca-front-ng-date.d.ts +30 -28
  216. package/types/lucca-front-ng-date2.d.ts +98 -106
  217. package/types/lucca-front-ng-department.d.ts +2 -2
  218. package/types/lucca-front-ng-dialog.d.ts +13 -13
  219. package/types/lucca-front-ng-divider.d.ts +2 -9
  220. package/types/lucca-front-ng-dropdown.d.ts +5 -4
  221. package/types/lucca-front-ng-empty-state.d.ts +7 -15
  222. package/types/lucca-front-ng-error-page.d.ts +4 -9
  223. package/types/lucca-front-ng-establishment.d.ts +26 -27
  224. package/types/lucca-front-ng-fancy-box.d.ts +1 -8
  225. package/types/lucca-front-ng-file-upload.d.ts +24 -39
  226. package/types/lucca-front-ng-filter-pills.d.ts +37 -32
  227. package/types/lucca-front-ng-footer.d.ts +2 -11
  228. package/types/lucca-front-ng-form-field.d.ts +27 -45
  229. package/types/lucca-front-ng-form-header.d.ts +1 -8
  230. package/types/lucca-front-ng-form-label.d.ts +1 -8
  231. package/types/lucca-front-ng-form.d.ts +0 -2
  232. package/types/lucca-front-ng-forms-phone-number-input.d.ts +19 -26
  233. package/types/lucca-front-ng-forms-rich-text-input.d.ts +15 -14
  234. package/types/lucca-front-ng-forms.d.ts +54 -95
  235. package/types/lucca-front-ng-grid.d.ts +8 -23
  236. package/types/lucca-front-ng-highlight-data.d.ts +1 -16
  237. package/types/lucca-front-ng-horizontal-navigation.d.ts +3 -40
  238. package/types/lucca-front-ng-index-table.d.ts +40 -49
  239. package/types/lucca-front-ng-inline-message.d.ts +4 -11
  240. package/types/lucca-front-ng-input.d.ts +8 -8
  241. package/types/lucca-front-ng-link.d.ts +4 -4
  242. package/types/lucca-front-ng-listbox.d.ts +1 -8
  243. package/types/lucca-front-ng-loading.d.ts +1 -8
  244. package/types/lucca-front-ng-mobile-push.d.ts +1 -1
  245. package/types/lucca-front-ng-modal.d.ts +12 -12
  246. package/types/lucca-front-ng-multi-select.d.ts +55 -58
  247. package/types/lucca-front-ng-number-format.d.ts +2 -2
  248. package/types/lucca-front-ng-numeric-badge.d.ts +1 -8
  249. package/types/lucca-front-ng-option.d.ts +26 -26
  250. package/types/lucca-front-ng-page-header.d.ts +1 -1
  251. package/types/lucca-front-ng-pagination.d.ts +1 -8
  252. package/types/lucca-front-ng-popover.d.ts +53 -47
  253. package/types/lucca-front-ng-popover2.d.ts +33 -31
  254. package/types/lucca-front-ng-popup.d.ts +8 -8
  255. package/types/lucca-front-ng-progress-bar.d.ts +1 -8
  256. package/types/lucca-front-ng-progress-stepper.d.ts +1 -8
  257. package/types/lucca-front-ng-read-more.d.ts +7 -14
  258. package/types/lucca-front-ng-resource-card.d.ts +1 -10
  259. package/types/lucca-front-ng-scroll-box.d.ts +3 -3
  260. package/types/lucca-front-ng-segmented-control-tabs.d.ts +1 -3
  261. package/types/lucca-front-ng-segmented-control.d.ts +2 -4
  262. package/types/lucca-front-ng-select.d.ts +34 -32
  263. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  264. package/types/lucca-front-ng-simple-select.d.ts +16 -17
  265. package/types/lucca-front-ng-skeleton.d.ts +10 -26
  266. package/types/lucca-front-ng-software-icon.d.ts +5 -10
  267. package/types/lucca-front-ng-sortable-list.d.ts +8 -8
  268. package/types/lucca-front-ng-status-badge.d.ts +1 -8
  269. package/types/lucca-front-ng-tag.d.ts +1 -8
  270. package/types/lucca-front-ng-time.d.ts +25 -103
  271. package/types/lucca-front-ng-title.d.ts +5 -5
  272. package/types/lucca-front-ng-toast.d.ts +1 -1
  273. package/types/lucca-front-ng-tree-select.d.ts +11 -11
  274. package/types/lucca-front-ng-user-popover.d.ts +10 -9
  275. package/types/lucca-front-ng-user.d.ts +31 -45
  276. package/fesm2022/lucca-front-ng-highlight-text.mjs +0 -26
  277. package/fesm2022/lucca-front-ng-highlight-text.mjs.map +0 -1
  278. package/fesm2022/lucca-front-ng-impersonation.mjs +0 -119
  279. package/fesm2022/lucca-front-ng-impersonation.mjs.map +0 -1
  280. package/schematics/package.json +0 -3
  281. package/types/lucca-front-ng-highlight-text.d.ts +0 -12
  282. package/types/lucca-front-ng-impersonation.d.ts +0 -33
@@ -5,9 +5,10 @@ import * as i1$1 from '@angular/cdk/overlay';
5
5
  import { OverlayModule, OverlayConfig } from '@angular/cdk/overlay';
6
6
  import { NgTemplateOutlet } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
- import { EventEmitter, TemplateRef, ViewChild, Output, Input, ChangeDetectionStrategy, Component, NgModule, Directive, HostListener, HostBinding } from '@angular/core';
8
+ import { input, EventEmitter, viewChild, TemplateRef, ChangeDetectionStrategy, Component, NgModule, Directive } from '@angular/core';
9
+ import { outputFromObservable } from '@angular/core/rxjs-interop';
10
+ import { syncInputSignal, ɵeffectWithDeps as _effectWithDeps, isNotNil, generateId } from '@lucca-front/ng/core';
9
11
  import { TemplatePortal } from '@angular/cdk/portal';
10
- import { generateId } from '@lucca-front/ng/core';
11
12
  import { timer, Subject, Subscription } from 'rxjs';
12
13
  import { distinctUntilChanged, debounce, map } from 'rxjs/operators';
13
14
 
@@ -147,69 +148,63 @@ class ALuPopoverPanel {
147
148
 
148
149
  // import { standardPopoverTemplate } from './popover.template';
149
150
  class LuPopoverPanelComponent extends ALuPopoverPanel {
150
- /** Template to Use for the popover */
151
- get template() {
152
- return this._template;
153
- }
154
- set template(value) {
155
- this._template = value;
156
- }
157
- /** Template context to use for the popover when created using a template */
158
- get templateContext() {
159
- return this._templateContext;
160
- }
161
- set templateContext(value) {
162
- this._templateContext = value;
163
- }
164
- /**
165
- * Popover container close on click
166
- * default: false
167
- */
168
- set inputCloseOnClick(v) {
169
- this.closeOnClick = v;
170
- }
171
- /**
172
- * Popover focus trap using cdkTrapFocus
173
- * default: false
174
- */
175
- set inputTrapFocus(v) {
176
- this.trapFocus = v;
177
- }
178
- /**
179
- * Popover scrollStrategy
180
- * default: reposition
181
- */
182
- set inputScrollStrategy(v) {
183
- this.scrollStrategy = v;
184
- }
185
- /**
186
- * This method takes classes set on the host lu-popover element and applies them on the
187
- * popover template that displays in the overlay container. Otherwise, it's difficult
188
- * to style the containing popover from outside the component.
189
- * @param classes list of class names
190
- */
191
- set inputPanelClasses(classes) {
192
- this.panelClasses = classes;
193
- }
194
- /**
195
- * This method takes classes set on the host lu-popover element and applies them on the
196
- * popover template that displays in the overlay container. Otherwise, it's difficult
197
- * to style the containing popover from outside the component.
198
- * @param classes list of class names
199
- */
200
- set inputContentClasses(classes) {
201
- this.contentClasses = classes;
202
- }
203
- set vcTemplateRef(tr) {
204
- this.templateRef = tr;
205
- }
206
151
  constructor() {
207
152
  super();
208
- /** Event emitted when the popover is closed. */
209
- // eslint-disable-next-line @angular-eslint/no-output-native
153
+ /** Template to Use for the popover */
154
+ this.template = input(...(ngDevMode ? [undefined, { debugName: "template" }] : /* istanbul ignore next */ []));
155
+ /** Template context to use for the popover when created using a template */
156
+ this.templateContext = input(undefined, { ...(ngDevMode ? { debugName: "templateContext" } : /* istanbul ignore next */ {}), alias: 'template-context' });
157
+ /**
158
+ * Popover container close on click
159
+ * default: false
160
+ */
161
+ this.inputCloseOnClick = input(false, { ...(ngDevMode ? { debugName: "inputCloseOnClick" } : /* istanbul ignore next */ {}), alias: 'close-on-click' });
162
+ /**
163
+ * Popover focus trap using cdkTrapFocus
164
+ * default: false
165
+ */
166
+ this.inputTrapFocus = input(false, { ...(ngDevMode ? { debugName: "inputTrapFocus" } : /* istanbul ignore next */ {}), alias: 'trap-focus' });
167
+ /**
168
+ * Popover scrollStrategy
169
+ * default: reposition
170
+ */
171
+ this.inputScrollStrategy = input('reposition', { ...(ngDevMode ? { debugName: "inputScrollStrategy" } : /* istanbul ignore next */ {}), alias: 'scroll-strategy' });
172
+ /**
173
+ * This method takes classes set on the host lu-popover element and applies them on the
174
+ * popover template that displays in the overlay container. Otherwise, it's difficult
175
+ * to style the containing popover from outside the component.
176
+ * @param classes list of class names
177
+ */
178
+ this.inputPanelClasses = input('', { ...(ngDevMode ? { debugName: "inputPanelClasses" } : /* istanbul ignore next */ {}), alias: 'panel-classes' });
179
+ /**
180
+ * This method takes classes set on the host lu-popover element and applies them on the
181
+ * popover template that displays in the overlay container. Otherwise, it's difficult
182
+ * to style the containing popover from outside the component.
183
+ * @param classes list of class names
184
+ */
185
+ this.inputContentClasses = input('', { ...(ngDevMode ? { debugName: "inputContentClasses" } : /* istanbul ignore next */ {}), alias: 'content-classes' });
210
186
  this.close = new EventEmitter();
211
187
  this.open = new EventEmitter();
212
188
  this.hovered = new EventEmitter();
189
+ /** Event emitted when the popover is closed. */
190
+ this.closeOutput = outputFromObservable(this.close, { alias: 'close' });
191
+ /** Event emitted when the popover is open. */
192
+ this.openOutput = outputFromObservable(this.open, { alias: 'open' });
193
+ /** Event emitted when the popover is hovered. */
194
+ this.hoveredOutput = outputFromObservable(this.hovered, { alias: 'hovered' });
195
+ this.vcTemplateRef = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "vcTemplateRef" }] : /* istanbul ignore next */ []));
196
+ syncInputSignal(this.template, (template) => (this._template = template));
197
+ syncInputSignal(this.templateContext, (templateContext) => (this._templateContext = templateContext));
198
+ syncInputSignal(this.inputCloseOnClick, (closeOnClick) => (this.closeOnClick = closeOnClick));
199
+ syncInputSignal(this.inputTrapFocus, (trapFocus) => (this.trapFocus = trapFocus));
200
+ syncInputSignal(this.inputScrollStrategy, (scrollStrategy) => (this.scrollStrategy = scrollStrategy));
201
+ syncInputSignal(this.inputPanelClasses, (panelClasses) => (this.panelClasses = panelClasses));
202
+ syncInputSignal(this.inputContentClasses, (contentClasses) => (this.contentClasses = contentClasses));
203
+ _effectWithDeps([this.vcTemplateRef], (vcTemplateRef) => {
204
+ if (isNotNil(vcTemplateRef)) {
205
+ this.templateRef = vcTemplateRef;
206
+ }
207
+ });
213
208
  }
214
209
  ngOnDestroy() {
215
210
  this.onClose();
@@ -224,52 +219,23 @@ class LuPopoverPanelComponent extends ALuPopoverPanel {
224
219
  _emitHoveredEvent(hovered) {
225
220
  this.hovered.emit(hovered);
226
221
  }
227
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
228
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.15", type: LuPopoverPanelComponent, isStandalone: true, selector: "lu-popover", inputs: { template: "template", templateContext: ["template-context", "templateContext"], inputCloseOnClick: ["close-on-click", "inputCloseOnClick"], inputTrapFocus: ["trap-focus", "inputTrapFocus"], inputScrollStrategy: ["scroll-strategy", "inputScrollStrategy"], inputPanelClasses: ["panel-classes", "inputPanelClasses"], inputContentClasses: ["content-classes", "inputContentClasses"] }, outputs: { close: "close", open: "open", hovered: "hovered" }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["LuPopoverPanel"], usesInheritance: true, ngImport: i0, template: "<ng-template>\n\t<div\n\t\tclass=\"lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content\" [class]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<ng-content /><ng-container *ngTemplateOutlet=\"template; context: templateContext\" />\n\t\t</div>\n\t</div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [luTransformPopover], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
223
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.14", type: LuPopoverPanelComponent, isStandalone: true, selector: "lu-popover", inputs: { template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, templateContext: { classPropertyName: "templateContext", publicName: "template-context", isSignal: true, isRequired: false, transformFunction: null }, inputCloseOnClick: { classPropertyName: "inputCloseOnClick", publicName: "close-on-click", isSignal: true, isRequired: false, transformFunction: null }, inputTrapFocus: { classPropertyName: "inputTrapFocus", publicName: "trap-focus", isSignal: true, isRequired: false, transformFunction: null }, inputScrollStrategy: { classPropertyName: "inputScrollStrategy", publicName: "scroll-strategy", isSignal: true, isRequired: false, transformFunction: null }, inputPanelClasses: { classPropertyName: "inputPanelClasses", publicName: "panel-classes", isSignal: true, isRequired: false, transformFunction: null }, inputContentClasses: { classPropertyName: "inputContentClasses", publicName: "content-classes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeOutput: "close", openOutput: "open", hoveredOutput: "hovered" }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], exportAs: ["LuPopoverPanel"], usesInheritance: true, ngImport: i0, template: "<ng-template>\n\t<div\n\t\tclass=\"lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content\" [class]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<ng-content /><ng-container *ngTemplateOutlet=\"template(); context: templateContext()\" />\n\t\t</div>\n\t</div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [luTransformPopover], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
229
224
  }
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverPanelComponent, decorators: [{
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverPanelComponent, decorators: [{
231
226
  type: Component,
232
- args: [{ selector: 'lu-popover', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], imports: [NgTemplateOutlet, OverlayModule, A11yModule], exportAs: 'LuPopoverPanel', template: "<ng-template>\n\t<div\n\t\tclass=\"lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content\" [class]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<ng-content /><ng-container *ngTemplateOutlet=\"template; context: templateContext\" />\n\t\t</div>\n\t</div>\n</ng-template>\n" }]
233
- }], ctorParameters: () => [], propDecorators: { template: [{
234
- type: Input
235
- }], templateContext: [{
236
- type: Input,
237
- args: ['template-context']
238
- }], inputCloseOnClick: [{
239
- type: Input,
240
- args: ['close-on-click']
241
- }], inputTrapFocus: [{
242
- type: Input,
243
- args: ['trap-focus']
244
- }], inputScrollStrategy: [{
245
- type: Input,
246
- args: ['scroll-strategy']
247
- }], inputPanelClasses: [{
248
- type: Input,
249
- args: ['panel-classes']
250
- }], inputContentClasses: [{
251
- type: Input,
252
- args: ['content-classes']
253
- }], close: [{
254
- type: Output
255
- }], open: [{
256
- type: Output
257
- }], hovered: [{
258
- type: Output
259
- }], vcTemplateRef: [{
260
- type: ViewChild,
261
- args: [TemplateRef, { static: true }]
262
- }] } });
227
+ args: [{ selector: 'lu-popover', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], imports: [NgTemplateOutlet, OverlayModule, A11yModule], exportAs: 'LuPopoverPanel', template: "<ng-template>\n\t<div\n\t\tclass=\"lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content\" [class]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<ng-content /><ng-container *ngTemplateOutlet=\"template(); context: templateContext()\" />\n\t\t</div>\n\t</div>\n</ng-template>\n" }]
228
+ }], ctorParameters: () => [], propDecorators: { template: [{ type: i0.Input, args: [{ isSignal: true, alias: "template", required: false }] }], templateContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "template-context", required: false }] }], inputCloseOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "close-on-click", required: false }] }], inputTrapFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "trap-focus", required: false }] }], inputScrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scroll-strategy", required: false }] }], inputPanelClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "panel-classes", required: false }] }], inputContentClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "content-classes", required: false }] }], closeOutput: [{ type: i0.Output, args: ["close"] }], openOutput: [{ type: i0.Output, args: ["open"] }], hoveredOutput: [{ type: i0.Output, args: ["hovered"] }], vcTemplateRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
263
229
 
264
230
  /**
265
231
  * @deprecated use `LuPopoverPanelComponent` instead
266
232
  */
267
233
  class LuPopoverPanelModule {
268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
269
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverPanelModule, imports: [LuPopoverPanelComponent], exports: [LuPopoverPanelComponent] }); }
270
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverPanelModule, imports: [LuPopoverPanelComponent] }); }
234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
235
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverPanelModule, imports: [LuPopoverPanelComponent], exports: [LuPopoverPanelComponent] }); }
236
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverPanelModule, imports: [LuPopoverPanelComponent] }); }
271
237
  }
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverPanelModule, decorators: [{
238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverPanelModule, decorators: [{
273
239
  type: NgModule,
274
240
  args: [{
275
241
  imports: [LuPopoverPanelComponent],
@@ -345,51 +311,31 @@ class LuPopoverTarget extends ALuPopoverTarget {
345
311
  class LuPopoverTargetDirective extends ALuPopoverTarget {
346
312
  constructor(ref) {
347
313
  super();
314
+ /** how you want to position the panel relative to the target, allowed values: above, below, before, after */
315
+ this.inputPosition = input(undefined, { ...(ngDevMode ? { debugName: "inputPosition" } : /* istanbul ignore next */ {}), alias: 'luPopoverPosition' });
316
+ /** how the panel will be align with the target, allowed values: top, bottom, left, right */
317
+ this.inputAlignment = input(undefined, { ...(ngDevMode ? { debugName: "inputAlignment" } : /* istanbul ignore next */ {}), alias: 'luPopoverAlignment' });
318
+ /** set to true if you want the panel to appear on top of the target */
319
+ this.inputOverlap = input(undefined, { ...(ngDevMode ? { debugName: "inputOverlap" } : /* istanbul ignore next */ {}), alias: 'luPopoverOverlap' });
320
+ this.inputOffsetX = input(undefined, { ...(ngDevMode ? { debugName: "inputOffsetX" } : /* istanbul ignore next */ {}), alias: 'luPopoverOffsetX' });
321
+ this.inputOffsetY = input(undefined, { ...(ngDevMode ? { debugName: "inputOffsetY" } : /* istanbul ignore next */ {}), alias: 'luPopoverOffsetY' });
348
322
  this.elementRef = ref;
349
- }
350
- /** how you want to position the panel relative to the target, allowed values: above, below, before, after */
351
- set inputPosition(pos) {
352
- this.position = pos;
353
- }
354
- /** how the panel will be align with the target, allowed values: top, bottom, left, right */
355
- set inputAlignment(al) {
356
- this.alignment = al;
357
- }
358
- /** set to true if you want the panel to appear on top of the target */
359
- set inputOverlap(ov) {
360
- this.overlap = ov;
361
- }
362
- set inputOffsetX(ox) {
363
- this.offsetX = ox;
364
- }
365
- set inputOffsetY(oy) {
366
- this.offsetY = oy;
367
- }
368
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverTargetDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
369
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: LuPopoverTargetDirective, isStandalone: true, selector: "[luPopoverTarget]", inputs: { inputPosition: ["luPopoverPosition", "inputPosition"], inputAlignment: ["luPopoverAlignment", "inputAlignment"], inputOverlap: ["luPopoverOverlap", "inputOverlap"], inputOffsetX: ["luPopoverOffsetX", "inputOffsetX"], inputOffsetY: ["luPopoverOffsetY", "inputOffsetY"] }, exportAs: ["LuPopoverTarget"], usesInheritance: true, ngImport: i0 }); }
323
+ syncInputSignal(this.inputPosition, (inputPosition) => (this.position = inputPosition));
324
+ syncInputSignal(this.inputAlignment, (inputAlignment) => (this.alignment = inputAlignment));
325
+ syncInputSignal(this.inputOverlap, (inputOverlap) => (this.overlap = inputOverlap));
326
+ syncInputSignal(this.inputOffsetX, (inputOffsetX) => (this.offsetX = inputOffsetX));
327
+ syncInputSignal(this.inputOffsetY, (inputOffsetY) => (this.offsetY = inputOffsetY));
328
+ }
329
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverTargetDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
330
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuPopoverTargetDirective, isStandalone: true, selector: "[luPopoverTarget]", inputs: { inputPosition: { classPropertyName: "inputPosition", publicName: "luPopoverPosition", isSignal: true, isRequired: false, transformFunction: null }, inputAlignment: { classPropertyName: "inputAlignment", publicName: "luPopoverAlignment", isSignal: true, isRequired: false, transformFunction: null }, inputOverlap: { classPropertyName: "inputOverlap", publicName: "luPopoverOverlap", isSignal: true, isRequired: false, transformFunction: null }, inputOffsetX: { classPropertyName: "inputOffsetX", publicName: "luPopoverOffsetX", isSignal: true, isRequired: false, transformFunction: null }, inputOffsetY: { classPropertyName: "inputOffsetY", publicName: "luPopoverOffsetY", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["LuPopoverTarget"], usesInheritance: true, ngImport: i0 }); }
370
331
  }
371
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverTargetDirective, decorators: [{
332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverTargetDirective, decorators: [{
372
333
  type: Directive,
373
334
  args: [{
374
335
  selector: '[luPopoverTarget]',
375
336
  exportAs: 'LuPopoverTarget',
376
337
  }]
377
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { inputPosition: [{
378
- type: Input,
379
- args: ['luPopoverPosition']
380
- }], inputAlignment: [{
381
- type: Input,
382
- args: ['luPopoverAlignment']
383
- }], inputOverlap: [{
384
- type: Input,
385
- args: ['luPopoverOverlap']
386
- }], inputOffsetX: [{
387
- type: Input,
388
- args: ['luPopoverOffsetX']
389
- }], inputOffsetY: [{
390
- type: Input,
391
- args: ['luPopoverOffsetY']
392
- }] } });
338
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { inputPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverPosition", required: false }] }], inputAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverAlignment", required: false }] }], inputOverlap: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverOverlap", required: false }] }], inputOffsetX: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverOffsetX", required: false }] }], inputOffsetY: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverOffsetY", required: false }] }] } });
393
339
 
394
340
  // tslint:disable-next-line: max-line-length
395
341
  class ALuPopoverTrigger {
@@ -554,7 +500,9 @@ class ALuPopoverTrigger {
554
500
  return position === 'below' || position === 'above';
555
501
  }
556
502
  _attachPortalToOverlay() {
557
- this._overlayRef.attach(this._portal);
503
+ if (this._overlayRef) {
504
+ this._overlayRef.attach(this._portal);
505
+ }
558
506
  }
559
507
  _getPanelScrollStrategy() {
560
508
  return this.panel.scrollStrategy;
@@ -610,7 +558,9 @@ class ALuPopoverTrigger {
610
558
  this._setIsPopoverOpen(true);
611
559
  this.panel.panelId = this._panelId;
612
560
  this.panel.triggerId = this._triggerId;
613
- this.panel.keydownEvents$ = this._overlayRef.keydownEvents();
561
+ if (this._overlayRef) {
562
+ this.panel.keydownEvents$ = this._overlayRef.keydownEvents();
563
+ }
614
564
  this._subscribeToPanelEvents();
615
565
  }
616
566
  /**
@@ -861,48 +811,6 @@ class ALuPopoverTrigger {
861
811
  }
862
812
 
863
813
  class LuPopoverTriggerDirective extends ALuPopoverTrigger {
864
- /** References the popover instance that the trigger is associated with. */
865
- set inputPanel(p) {
866
- this.panel = p;
867
- }
868
- /** References the popover target instance that the trigger is associated with. */
869
- set inputTarget(t) {
870
- this.target = t;
871
- }
872
- /** References the popover target instance that the trigger is associated with. */
873
- set inputTriggerEvent(te) {
874
- this.triggerEvent = te;
875
- }
876
- /** how you want to position the panel relative to the target, allowed values: above, below, before, after */
877
- set inputPosition(pos) {
878
- this.target.position = pos;
879
- }
880
- /** how the panel will be align with the target, allowed values: top, bottom, left, right */
881
- set inputAlignment(al) {
882
- this.target.alignment = al;
883
- }
884
- /** when trigger = hover, delay before the popover panel appears */
885
- set inputEnterDelay(d) {
886
- this.enterDelay = d;
887
- }
888
- /** when trigger = hover, delay before the popover panel disappears */
889
- set inputLeaveDelay(d) {
890
- this.leaveDelay = d;
891
- }
892
- /** disable popover apparition */
893
- set inputDisabled(d) {
894
- this.disabled = d;
895
- }
896
- /** set to true if you want the panel to appear on top of the target */
897
- set inputOverlap(ov) {
898
- this.target.overlap = ov;
899
- }
900
- set inputOffsetX(ox) {
901
- this.target.offsetX = ox;
902
- }
903
- set inputOffsetY(oy) {
904
- this.target.offsetY = oy;
905
- }
906
814
  /** accessibility attribute - dont override */
907
815
  get _attrAriaExpanded() {
908
816
  return this._popoverOpen;
@@ -920,15 +828,49 @@ class LuPopoverTriggerDirective extends ALuPopoverTrigger {
920
828
  this._overlay = _overlay;
921
829
  this._elementRef = _elementRef;
922
830
  this._viewContainerRef = _viewContainerRef;
923
- /** Event emitted when the associated popover is opened. */
924
- // eslint-disable-next-line @angular-eslint/no-output-on-prefix
831
+ /** References the popover instance that the trigger is associated with. */
832
+ this.inputPanel = input(undefined, { ...(ngDevMode ? { debugName: "inputPanel" } : /* istanbul ignore next */ {}), alias: 'luPopover' });
833
+ /** References the popover target instance that the trigger is associated with. */
834
+ this.inputTarget = input(undefined, { ...(ngDevMode ? { debugName: "inputTarget" } : /* istanbul ignore next */ {}), alias: 'luPopoverTarget' });
835
+ /** References the popover target instance that the trigger is associated with. */
836
+ this.inputTriggerEvent = input(undefined, { ...(ngDevMode ? { debugName: "inputTriggerEvent" } : /* istanbul ignore next */ {}), alias: 'luPopoverTrigger' });
925
837
  this.onOpen = new EventEmitter();
926
- /** Event emitted when the associated popover is closed. */
927
- // eslint-disable-next-line @angular-eslint/no-output-on-prefix
928
838
  this.onClose = new EventEmitter();
839
+ /** Event emitted when the associated popover is closed. */
840
+ this.onCloseOutput = outputFromObservable(this.onClose, { alias: 'luPopoverOnClose' });
841
+ /** Event emitted when the associated popover is opened. */
842
+ this.onOpenOutput = outputFromObservable(this.onOpen, { alias: 'luPopoverOnOpen' });
843
+ /** how you want to position the panel relative to the target, allowed values: above, below, before, after */
844
+ this.inputPosition = input(undefined, { ...(ngDevMode ? { debugName: "inputPosition" } : /* istanbul ignore next */ {}), alias: 'luPopoverPosition' });
845
+ /** how the panel will be align with the target, allowed values: top, bottom, left, right */
846
+ this.inputAlignment = input(undefined, { ...(ngDevMode ? { debugName: "inputAlignment" } : /* istanbul ignore next */ {}), alias: 'luPopoverAlignment' });
847
+ /** when trigger = hover, delay before the popover panel appears */
848
+ this.inputEnterDelay = input(undefined, { ...(ngDevMode ? { debugName: "inputEnterDelay" } : /* istanbul ignore next */ {}), alias: 'luPopoverEnterDelay' });
849
+ /** when trigger = hover, delay before the popover panel disappears */
850
+ this.inputLeaveDelay = input(undefined, { ...(ngDevMode ? { debugName: "inputLeaveDelay" } : /* istanbul ignore next */ {}), alias: 'luPopoverLeaveDelay' });
851
+ /** disable popover apparition */
852
+ this.inputDisabled = input(undefined, { ...(ngDevMode ? { debugName: "inputDisabled" } : /* istanbul ignore next */ {}), alias: 'luPopoverDisabled' });
853
+ /** set to true if you want the panel to appear on top of the target */
854
+ this.inputOverlap = input(undefined, { ...(ngDevMode ? { debugName: "inputOverlap" } : /* istanbul ignore next */ {}), alias: 'luPopoverOverlap' });
855
+ this.inputOffsetX = input(undefined, { ...(ngDevMode ? { debugName: "inputOffsetX" } : /* istanbul ignore next */ {}), alias: 'luPopoverOffsetX' });
856
+ this.inputOffsetY = input(undefined, { ...(ngDevMode ? { debugName: "inputOffsetY" } : /* istanbul ignore next */ {}), alias: 'luPopoverOffsetY' });
929
857
  this.target = new LuPopoverTarget();
930
858
  this.target.elementRef = this._elementRef;
931
859
  this._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;
860
+ this.#initTarget();
861
+ syncInputSignal(this.inputPanel, (inputPanel) => (this.panel = inputPanel));
862
+ syncInputSignal(this.inputTriggerEvent, (inputTriggerEvent) => (this.triggerEvent = inputTriggerEvent));
863
+ syncInputSignal(this.inputEnterDelay, (inputEnterDelay) => (this.enterDelay = inputEnterDelay));
864
+ syncInputSignal(this.inputLeaveDelay, (inputLeaveDelay) => (this.leaveDelay = inputLeaveDelay));
865
+ syncInputSignal(this.inputDisabled, (inputDisabled) => (this.disabled = inputDisabled));
866
+ }
867
+ #initTarget() {
868
+ syncInputSignal(this.inputTarget, (inputTarget) => (this.target = inputTarget));
869
+ syncInputSignal(this.inputPosition, (inputPosition) => (this.target.position = inputPosition));
870
+ syncInputSignal(this.inputAlignment, (inputAlignment) => (this.target.alignment = inputAlignment));
871
+ syncInputSignal(this.inputOverlap, (inputOverlap) => (this.target.overlap = inputOverlap));
872
+ syncInputSignal(this.inputOffsetX, (inputOffsetX) => (this.target.offsetX = inputOffsetX));
873
+ syncInputSignal(this.inputOffsetY, (inputOffsetY) => (this.target.offsetY = inputOffsetY));
932
874
  }
933
875
  onClick() {
934
876
  super.onClick();
@@ -962,89 +904,36 @@ class LuPopoverTriggerDirective extends ALuPopoverTrigger {
962
904
  _emitClose() {
963
905
  this.onClose.emit();
964
906
  }
965
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverTriggerDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
966
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: LuPopoverTriggerDirective, isStandalone: true, selector: "[luPopover]", inputs: { inputPanel: ["luPopover", "inputPanel"], inputTarget: ["luPopoverTarget", "inputTarget"], inputTriggerEvent: ["luPopoverTrigger", "inputTriggerEvent"], inputPosition: ["luPopoverPosition", "inputPosition"], inputAlignment: ["luPopoverAlignment", "inputAlignment"], inputEnterDelay: ["luPopoverEnterDelay", "inputEnterDelay"], inputLeaveDelay: ["luPopoverLeaveDelay", "inputLeaveDelay"], inputDisabled: ["luPopoverDisabled", "inputDisabled"], inputOverlap: ["luPopoverOverlap", "inputOverlap"], inputOffsetX: ["luPopoverOffsetX", "inputOffsetX"], inputOffsetY: ["luPopoverOffsetY", "inputOffsetY"] }, outputs: { onOpen: "luPopoverOnOpen", onClose: "luPopoverOnClose" }, host: { listeners: { "click": "onClick()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.aria-expanded": "this._attrAriaExpanded", "attr.id": "this._attrId", "attr.aria-controls": "this._attrAriaControls" } }, exportAs: ["LuPopoverTrigger"], usesInheritance: true, ngImport: i0 }); }
907
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverTriggerDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
908
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuPopoverTriggerDirective, isStandalone: true, selector: "[luPopover]", inputs: { inputPanel: { classPropertyName: "inputPanel", publicName: "luPopover", isSignal: true, isRequired: false, transformFunction: null }, inputTarget: { classPropertyName: "inputTarget", publicName: "luPopoverTarget", isSignal: true, isRequired: false, transformFunction: null }, inputTriggerEvent: { classPropertyName: "inputTriggerEvent", publicName: "luPopoverTrigger", isSignal: true, isRequired: false, transformFunction: null }, inputPosition: { classPropertyName: "inputPosition", publicName: "luPopoverPosition", isSignal: true, isRequired: false, transformFunction: null }, inputAlignment: { classPropertyName: "inputAlignment", publicName: "luPopoverAlignment", isSignal: true, isRequired: false, transformFunction: null }, inputEnterDelay: { classPropertyName: "inputEnterDelay", publicName: "luPopoverEnterDelay", isSignal: true, isRequired: false, transformFunction: null }, inputLeaveDelay: { classPropertyName: "inputLeaveDelay", publicName: "luPopoverLeaveDelay", isSignal: true, isRequired: false, transformFunction: null }, inputDisabled: { classPropertyName: "inputDisabled", publicName: "luPopoverDisabled", isSignal: true, isRequired: false, transformFunction: null }, inputOverlap: { classPropertyName: "inputOverlap", publicName: "luPopoverOverlap", isSignal: true, isRequired: false, transformFunction: null }, inputOffsetX: { classPropertyName: "inputOffsetX", publicName: "luPopoverOffsetX", isSignal: true, isRequired: false, transformFunction: null }, inputOffsetY: { classPropertyName: "inputOffsetY", publicName: "luPopoverOffsetY", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCloseOutput: "luPopoverOnClose", onOpenOutput: "luPopoverOnOpen" }, host: { listeners: { "click": "onClick()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.aria-expanded": "_attrAriaExpanded", "attr.id": "_attrId", "attr.aria-controls": "_attrAriaControls" } }, exportAs: ["LuPopoverTrigger"], usesInheritance: true, ngImport: i0 }); }
967
909
  }
968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverTriggerDirective, decorators: [{
910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverTriggerDirective, decorators: [{
969
911
  type: Directive,
970
912
  args: [{
971
913
  selector: '[luPopover]',
972
914
  exportAs: 'LuPopoverTrigger',
915
+ host: {
916
+ '[attr.aria-expanded]': '_attrAriaExpanded',
917
+ '[attr.id]': '_attrId',
918
+ '[attr.aria-controls]': '_attrAriaControls',
919
+ '(click)': 'onClick()',
920
+ '(mouseenter)': 'onMouseEnter()',
921
+ '(mouseleave)': 'onMouseLeave()',
922
+ '(focus)': 'onFocus()',
923
+ '(blur)': 'onBlur()',
924
+ },
973
925
  }]
974
- }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }], propDecorators: { inputPanel: [{
975
- type: Input,
976
- args: ['luPopover']
977
- }], inputTarget: [{
978
- type: Input,
979
- args: ['luPopoverTarget']
980
- }], inputTriggerEvent: [{
981
- type: Input,
982
- args: ['luPopoverTrigger']
983
- }], onOpen: [{
984
- type: Output,
985
- args: ['luPopoverOnOpen']
986
- }], onClose: [{
987
- type: Output,
988
- args: ['luPopoverOnClose']
989
- }], inputPosition: [{
990
- type: Input,
991
- args: ['luPopoverPosition']
992
- }], inputAlignment: [{
993
- type: Input,
994
- args: ['luPopoverAlignment']
995
- }], inputEnterDelay: [{
996
- type: Input,
997
- args: ['luPopoverEnterDelay']
998
- }], inputLeaveDelay: [{
999
- type: Input,
1000
- args: ['luPopoverLeaveDelay']
1001
- }], inputDisabled: [{
1002
- type: Input,
1003
- args: ['luPopoverDisabled']
1004
- }], inputOverlap: [{
1005
- type: Input,
1006
- args: ['luPopoverOverlap']
1007
- }], inputOffsetX: [{
1008
- type: Input,
1009
- args: ['luPopoverOffsetX']
1010
- }], inputOffsetY: [{
1011
- type: Input,
1012
- args: ['luPopoverOffsetY']
1013
- }], _attrAriaExpanded: [{
1014
- type: HostBinding,
1015
- args: ['attr.aria-expanded']
1016
- }], _attrId: [{
1017
- type: HostBinding,
1018
- args: ['attr.id']
1019
- }], _attrAriaControls: [{
1020
- type: HostBinding,
1021
- args: ['attr.aria-controls']
1022
- }], onClick: [{
1023
- type: HostListener,
1024
- args: ['click']
1025
- }], onMouseEnter: [{
1026
- type: HostListener,
1027
- args: ['mouseenter']
1028
- }], onMouseLeave: [{
1029
- type: HostListener,
1030
- args: ['mouseleave']
1031
- }], onFocus: [{
1032
- type: HostListener,
1033
- args: ['focus']
1034
- }], onBlur: [{
1035
- type: HostListener,
1036
- args: ['blur']
1037
- }] } });
926
+ }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }], propDecorators: { inputPanel: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopover", required: false }] }], inputTarget: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverTarget", required: false }] }], inputTriggerEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverTrigger", required: false }] }], onCloseOutput: [{ type: i0.Output, args: ["luPopoverOnClose"] }], onOpenOutput: [{ type: i0.Output, args: ["luPopoverOnOpen"] }], inputPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverPosition", required: false }] }], inputAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverAlignment", required: false }] }], inputEnterDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverEnterDelay", required: false }] }], inputLeaveDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverLeaveDelay", required: false }] }], inputDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverDisabled", required: false }] }], inputOverlap: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverOverlap", required: false }] }], inputOffsetX: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverOffsetX", required: false }] }], inputOffsetY: [{ type: i0.Input, args: [{ isSignal: true, alias: "luPopoverOffsetY", required: false }] }] } });
1038
927
 
1039
928
  /**
1040
929
  * @deprecated use `LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective` instead
1041
930
  */
1042
931
  class LuPopoverModule {
1043
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1044
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverModule, imports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective], exports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective] }); }
1045
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverModule, imports: [LuPopoverPanelComponent] }); }
932
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
933
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverModule, imports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective], exports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective] }); }
934
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverModule, imports: [LuPopoverPanelComponent] }); }
1046
935
  }
1047
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuPopoverModule, decorators: [{
936
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverModule, decorators: [{
1048
937
  type: NgModule,
1049
938
  args: [{
1050
939
  imports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],