@lucca-front/ng 20.3.3-rc.6 → 21.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/api/index.d.ts +18 -0
  2. package/breadcrumbs/index.d.ts +1 -3
  3. package/callout/index.d.ts +8 -2
  4. package/chip/index.d.ts +3 -2
  5. package/clear/index.d.ts +30 -0
  6. package/code/index.d.ts +9 -0
  7. package/container/index.d.ts +2 -2
  8. package/core/index.d.ts +6 -6
  9. package/core-select/department/index.d.ts +1 -1
  10. package/core-select/index.d.ts +2 -1
  11. package/core-select/occupation-category/index.d.ts +26 -0
  12. package/data-table/index.d.ts +68 -30
  13. package/date/index.d.ts +18 -0
  14. package/date2/index.d.ts +15 -15
  15. package/department/index.d.ts +10 -1
  16. package/divider/index.d.ts +7 -4
  17. package/dropdown/index.d.ts +6 -3
  18. package/establishment/index.d.ts +15 -0
  19. package/fancy-box/index.d.ts +2 -1
  20. package/fesm2022/lucca-front-ng-a11y.mjs +32 -32
  21. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-api.mjs +76 -59
  24. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-app-layout.mjs +8 -8
  26. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-box.mjs +8 -8
  28. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +18 -30
  30. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-button.mjs +12 -7
  32. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-callout.mjs +117 -64
  34. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-chip.mjs +29 -25
  36. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-clear.mjs +94 -0
  38. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -0
  39. package/fesm2022/lucca-front-ng-code.mjs +21 -0
  40. package/fesm2022/lucca-front-ng-code.mjs.map +1 -0
  41. package/fesm2022/lucca-front-ng-comment.mjs +31 -31
  42. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-container.mjs +18 -18
  44. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-core-select-api.mjs +14 -16
  46. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-core-select-department.mjs +16 -18
  48. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +18 -19
  50. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +12 -13
  52. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +79 -0
  54. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -0
  55. package/fesm2022/lucca-front-ng-core-select-user.mjs +60 -62
  56. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-core-select.mjs +103 -113
  58. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-core.mjs +48 -49
  60. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-data-table.mjs +266 -87
  62. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-date.mjs +113 -97
  64. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-date2.mjs +134 -136
  66. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-department.mjs +56 -47
  68. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-dialog.mjs +53 -56
  70. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-divider.mjs +13 -15
  72. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-dropdown.mjs +225 -224
  74. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-empty-state.mjs +13 -9
  76. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-establishment.mjs +85 -71
  78. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-fancy-box.mjs +10 -6
  80. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-file-upload.mjs +112 -112
  82. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-filter-pills.mjs +78 -81
  84. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-footer.mjs +12 -19
  86. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-form-field.mjs +88 -88
  88. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-form-header.mjs +23 -0
  90. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -0
  91. package/fesm2022/lucca-front-ng-form.mjs +24 -0
  92. package/fesm2022/lucca-front-ng-form.mjs.map +1 -0
  93. package/fesm2022/lucca-front-ng-formly.mjs +77 -77
  94. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +19 -20
  96. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +3 -2
  99. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +206 -150
  102. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-forms.mjs +185 -171
  104. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-gauge.mjs +26 -26
  106. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-grid.mjs +26 -26
  108. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-highlight-data.mjs +20 -20
  110. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +17 -32
  112. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-icon.mjs +6 -6
  114. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-index-table.mjs +355 -0
  116. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -0
  117. package/fesm2022/lucca-front-ng-inline-message.mjs +4 -4
  118. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-input.mjs +67 -57
  120. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-link.mjs +24 -23
  122. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-listbox.mjs +31 -31
  124. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  125. package/fesm2022/lucca-front-ng-listing.mjs +28 -24
  126. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-loading.mjs +11 -11
  128. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-main-layout.mjs +14 -14
  130. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-mobile-push.mjs +39 -31
  132. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-modal.mjs +57 -62
  134. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-multi-select.mjs +247 -230
  136. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-new-badge.mjs +4 -4
  138. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-number-format.mjs +11 -13
  140. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-number.mjs +11 -10
  142. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-numeric-badge.mjs +22 -10
  144. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  145. package/fesm2022/lucca-front-ng-option.mjs +287 -240
  146. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-page-header.mjs +11 -11
  148. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-pagination.mjs +38 -38
  150. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  151. package/fesm2022/lucca-front-ng-plg-push.mjs +54 -5
  152. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  153. package/fesm2022/lucca-front-ng-popover.mjs +38 -28
  154. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  155. package/fesm2022/lucca-front-ng-popover2.mjs +36 -33
  156. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  157. package/fesm2022/lucca-front-ng-popup.mjs +13 -10
  158. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  159. package/fesm2022/lucca-front-ng-progress-bar.mjs +28 -0
  160. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -0
  161. package/fesm2022/lucca-front-ng-read-more.mjs +46 -78
  162. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  163. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -11
  164. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  165. package/fesm2022/lucca-front-ng-scroll-box.mjs +46 -0
  166. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -0
  167. package/fesm2022/lucca-front-ng-scroll.mjs +10 -8
  168. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  169. package/fesm2022/lucca-front-ng-scrollBox.mjs +1 -66
  170. package/fesm2022/lucca-front-ng-scrollBox.mjs.map +1 -1
  171. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +98 -0
  172. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -0
  173. package/fesm2022/lucca-front-ng-segmented-control.mjs +71 -0
  174. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -0
  175. package/fesm2022/lucca-front-ng-segmentedControl.mjs +1 -66
  176. package/fesm2022/lucca-front-ng-segmentedControl.mjs.map +1 -1
  177. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs +1 -93
  178. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs.map +1 -1
  179. package/fesm2022/lucca-front-ng-select.mjs +21 -20
  180. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  181. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  182. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  183. package/fesm2022/lucca-front-ng-simple-select.mjs +75 -67
  184. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  185. package/fesm2022/lucca-front-ng-skeleton.mjs +46 -44
  186. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  187. package/fesm2022/lucca-front-ng-sortable-list.mjs +49 -0
  188. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -0
  189. package/fesm2022/lucca-front-ng-status-badge.mjs +34 -0
  190. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -0
  191. package/fesm2022/lucca-front-ng-statusBadge.mjs +1 -29
  192. package/fesm2022/lucca-front-ng-statusBadge.mjs.map +1 -1
  193. package/fesm2022/lucca-front-ng-table-of-content.mjs +39 -0
  194. package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -0
  195. package/fesm2022/lucca-front-ng-tag.mjs +35 -13
  196. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  197. package/fesm2022/lucca-front-ng-time.mjs +132 -142
  198. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  199. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  200. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  201. package/fesm2022/lucca-front-ng-toast.mjs +26 -23
  202. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  203. package/fesm2022/lucca-front-ng-tooltip.mjs +40 -32
  204. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  205. package/fesm2022/lucca-front-ng-tree-select.mjs +20 -21
  206. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  207. package/fesm2022/lucca-front-ng-user-popover.mjs +23 -27
  208. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  209. package/fesm2022/lucca-front-ng-user.mjs +134 -111
  210. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  211. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +91 -0
  212. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -0
  213. package/file-upload/index.d.ts +25 -25
  214. package/footer/index.d.ts +7 -7
  215. package/form/index.d.ts +9 -0
  216. package/form-field/index.d.ts +33 -32
  217. package/form-header/index.d.ts +9 -0
  218. package/forms/index.d.ts +39 -37
  219. package/forms/rich-text-input/index.d.ts +4 -1
  220. package/gauge/index.d.ts +17 -17
  221. package/grid/index.d.ts +14 -14
  222. package/horizontal-navigation/index.d.ts +5 -8
  223. package/index-table/index.d.ts +103 -0
  224. package/input/index.d.ts +27 -15
  225. package/link/index.d.ts +3 -4
  226. package/listbox/index.d.ts +20 -20
  227. package/listing/index.d.ts +13 -9
  228. package/loading/index.d.ts +4 -4
  229. package/main-layout/index.d.ts +3 -3
  230. package/modal/index.d.ts +3 -2
  231. package/multi-select/index.d.ts +13 -3
  232. package/number/index.d.ts +3 -0
  233. package/option/index.d.ts +58 -4
  234. package/package.json +125 -69
  235. package/page-header/index.d.ts +5 -5
  236. package/plg-push/index.d.ts +13 -1
  237. package/popover/index.d.ts +12 -0
  238. package/popup/index.d.ts +3 -0
  239. package/progress-bar/index.d.ts +14 -0
  240. package/read-more/index.d.ts +6 -12
  241. package/scroll/index.d.ts +3 -0
  242. package/scroll-box/index.d.ts +15 -0
  243. package/scrollBox/index.d.ts +1 -19
  244. package/segmented-control/index.d.ts +28 -0
  245. package/segmented-control-tabs/index.d.ts +34 -0
  246. package/segmentedControl/index.d.ts +1 -28
  247. package/segmentedControlTabs/index.d.ts +1 -34
  248. package/select/index.d.ts +5 -4
  249. package/simple-select/index.d.ts +1 -0
  250. package/skeleton/index.d.ts +2 -1
  251. package/sortable-list/index.d.ts +22 -0
  252. package/src/components/cdk/_dragDrop.scss +31 -3
  253. package/src/definitions/option/_option-item.scss +6 -0
  254. package/status-badge/index.d.ts +16 -0
  255. package/statusBadge/index.d.ts +1 -16
  256. package/table-of-content/index.d.ts +16 -0
  257. package/time/index.d.ts +30 -30
  258. package/toast/index.d.ts +3 -0
  259. package/tooltip/index.d.ts +9 -0
  260. package/user/index.d.ts +20 -3
  261. package/vertical-navigation/index.d.ts +42 -0
@@ -224,12 +224,12 @@ class LuPopoverPanelComponent extends ALuPopoverPanel {
224
224
  _emitHoveredEvent(hovered) {
225
225
  this.hovered.emit(hovered);
226
226
  }
227
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
228
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", 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 }); }
227
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
228
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", 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 }); }
229
229
  }
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverPanelComponent, decorators: [{
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverPanelComponent, decorators: [{
231
231
  type: Component,
232
- args: [{ selector: 'lu-popover', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], standalone: true, 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" }]
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
233
  }], ctorParameters: () => [], propDecorators: { template: [{
234
234
  type: Input
235
235
  }], templateContext: [{
@@ -261,12 +261,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
261
261
  args: [TemplateRef, { static: true }]
262
262
  }] } });
263
263
 
264
+ /**
265
+ * @deprecated use `LuPopoverPanelComponent` instead
266
+ */
264
267
  class LuPopoverPanelModule {
265
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
266
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverPanelModule, imports: [LuPopoverPanelComponent], exports: [LuPopoverPanelComponent] }); }
267
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverPanelModule, imports: [LuPopoverPanelComponent] }); }
268
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
269
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverPanelModule, imports: [LuPopoverPanelComponent], exports: [LuPopoverPanelComponent] }); }
270
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverPanelModule, imports: [LuPopoverPanelComponent] }); }
268
271
  }
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverPanelModule, decorators: [{
272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverPanelModule, decorators: [{
270
273
  type: NgModule,
271
274
  args: [{
272
275
  imports: [LuPopoverPanelComponent],
@@ -362,15 +365,14 @@ class LuPopoverTargetDirective extends ALuPopoverTarget {
362
365
  set inputOffsetY(oy) {
363
366
  this.offsetY = oy;
364
367
  }
365
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTargetDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
366
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", 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 }); }
368
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTargetDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
369
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", 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 }); }
367
370
  }
368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTargetDirective, decorators: [{
371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTargetDirective, decorators: [{
369
372
  type: Directive,
370
373
  args: [{
371
374
  selector: '[luPopoverTarget]',
372
375
  exportAs: 'LuPopoverTarget',
373
- standalone: true,
374
376
  }]
375
377
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { inputPosition: [{
376
378
  type: Input,
@@ -389,12 +391,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
389
391
  args: ['luPopoverOffsetY']
390
392
  }] } });
391
393
 
394
+ /**
395
+ * @deprecated use `LuPopoverTargetDirective` instead
396
+ */
392
397
  class LuPopoverTargetModule {
393
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTargetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
394
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTargetModule, imports: [LuPopoverTargetDirective], exports: [LuPopoverTargetDirective] }); }
395
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTargetModule }); }
398
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTargetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
399
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTargetModule, imports: [LuPopoverTargetDirective], exports: [LuPopoverTargetDirective] }); }
400
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTargetModule }); }
396
401
  }
397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTargetModule, decorators: [{
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTargetModule, decorators: [{
398
403
  type: NgModule,
399
404
  args: [{
400
405
  imports: [LuPopoverTargetDirective],
@@ -973,15 +978,14 @@ class LuPopoverTriggerDirective extends ALuPopoverTrigger {
973
978
  _emitClose() {
974
979
  this.onClose.emit();
975
980
  }
976
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTriggerDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
977
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", 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 }); }
981
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTriggerDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
982
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", 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 }); }
978
983
  }
979
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTriggerDirective, decorators: [{
984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTriggerDirective, decorators: [{
980
985
  type: Directive,
981
986
  args: [{
982
987
  selector: '[luPopover]',
983
988
  exportAs: 'LuPopoverTrigger',
984
- standalone: true,
985
989
  }]
986
990
  }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }], propDecorators: { inputPanel: [{
987
991
  type: Input,
@@ -1048,12 +1052,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
1048
1052
  args: ['blur']
1049
1053
  }] } });
1050
1054
 
1055
+ /**
1056
+ * @deprecated use `LuPopoverTriggerDirective, OverlayModule` instead
1057
+ */
1051
1058
  class LuPopoverTriggerModule {
1052
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1053
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTriggerModule, imports: [LuPopoverTriggerDirective, OverlayModule], exports: [LuPopoverTriggerDirective] }); }
1054
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTriggerModule, imports: [OverlayModule] }); }
1059
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1060
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTriggerModule, imports: [LuPopoverTriggerDirective, OverlayModule], exports: [LuPopoverTriggerDirective] }); }
1061
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTriggerModule, imports: [OverlayModule] }); }
1055
1062
  }
1056
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverTriggerModule, decorators: [{
1063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverTriggerModule, decorators: [{
1057
1064
  type: NgModule,
1058
1065
  args: [{
1059
1066
  imports: [LuPopoverTriggerDirective, OverlayModule],
@@ -1061,12 +1068,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
1061
1068
  }]
1062
1069
  }] });
1063
1070
 
1071
+ /**
1072
+ * @deprecated use `LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective` instead
1073
+ */
1064
1074
  class LuPopoverModule {
1065
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1066
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverModule, imports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective], exports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective] }); }
1067
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverModule, imports: [LuPopoverPanelComponent] }); }
1075
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1076
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverModule, imports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective], exports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective] }); }
1077
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverModule, imports: [LuPopoverPanelComponent] }); }
1068
1078
  }
1069
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuPopoverModule, decorators: [{
1079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuPopoverModule, decorators: [{
1070
1080
  type: NgModule,
1071
1081
  args: [{
1072
1082
  imports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-popover.mjs","sources":["../../../packages/ng/popover/animation/popover.animation.ts","../../../packages/ng/popover/panel/popover-panel.model.ts","../../../packages/ng/popover/panel/popover-panel.component.ts","../../../packages/ng/popover/panel/popover-panel.component.html","../../../packages/ng/popover/panel/popover-panel.module.ts","../../../packages/ng/popover/target/popover-target.model.ts","../../../packages/ng/popover/target/popover-target.directive.ts","../../../packages/ng/popover/target/popover-target.module.ts","../../../packages/ng/popover/trigger/popover-trigger.model.ts","../../../packages/ng/popover/trigger/popover-trigger.directive.ts","../../../packages/ng/popover/trigger/popover-trigger.module.ts","../../../packages/ng/popover/popover.module.ts","../../../packages/ng/popover/lucca-front-ng-popover.ts"],"sourcesContent":["import { trigger, state, style, animate, transition, AnimationTriggerMetadata } from '@angular/animations';\n\nexport const luTransformPopover: AnimationTriggerMetadata = trigger('transformPopover', [\n\tstate(\n\t\t'enter',\n\t\tstyle({\n\t\t\topacity: 1,\n\t\t\ttransform: `scale(1)`,\n\t\t}),\n\t),\n\ttransition('void => *', [\n\t\tstyle({\n\t\t\topacity: 0,\n\t\t\ttransform: `scale(0)`,\n\t\t}),\n\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t]),\n\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n]);\n","import { HorizontalConnectionPos, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\n\nexport type LuPopoverScrollStrategy = 'reposition' | 'block' | 'close';\n\nexport declare interface ILuPopoverPanel<T = unknown> {\n\tscrollStrategy: LuPopoverScrollStrategy;\n\tcloseOnClick: boolean;\n\tpanelId?: string;\n\ttriggerId?: string;\n\ttemplateRef?: TemplateRef<T>;\n\toverlayRef: OverlayRef;\n\n\t/** will emit when the panel wants to close */\n\tclose: Observable<void>;\n\t/** will emit when the panel wants to open */\n\topen: Observable<void>;\n\t/** will emit when the panel is hovered */\n\thovered: Observable<boolean>;\n\t/** classes to apply to the panel, uses ' ' for separating values */\n\tpanelClasses: string;\n\t/** class to apply to the panel content, uses ' ' for separating values */\n\tcontentClasses: string;\n\n\tkeydownEvents$: Observable<KeyboardEvent>;\n\n\tsetPositionClasses: (posX: HorizontalConnectionPos, posY: VerticalConnectionPos) => void;\n\n\t/** method called by the trigger when it opens the popover */\n\tonOpen(): void;\n\n\t/** method called by the trigger when it closes the popover */\n\tonClose(): void;\n}\n\n/**\n * abstract class for basic implementation of a popover panel\n */\nexport abstract class ALuPopoverPanel<T = unknown> implements ILuPopoverPanel<T> {\n\tpanelId: string;\n\ttriggerId: string;\n\n\tprotected _isOpen: boolean;\n\tget isOpen() {\n\t\treturn this._isOpen;\n\t}\n\n\tprotected _closeOnClick = false;\n\tget closeOnClick() {\n\t\treturn this._closeOnClick;\n\t}\n\n\tset closeOnClick(coc: boolean) {\n\t\tthis._closeOnClick = coc;\n\t}\n\n\tprotected _trapFocus = false;\n\tget trapFocus() {\n\t\treturn this._trapFocus;\n\t}\n\n\tset trapFocus(tf: boolean) {\n\t\tthis._trapFocus = tf;\n\t}\n\n\tprotected _scrollStrategy: LuPopoverScrollStrategy = 'reposition';\n\tget scrollStrategy() {\n\t\treturn this._scrollStrategy;\n\t}\n\n\tset scrollStrategy(ss: LuPopoverScrollStrategy) {\n\t\tthis._scrollStrategy = ss;\n\t}\n\n\tprotected _templateRef: TemplateRef<T>;\n\tget templateRef() {\n\t\treturn this._templateRef;\n\t}\n\n\tset templateRef(tr: TemplateRef<T>) {\n\t\tthis._templateRef = tr;\n\t}\n\n\tprotected _positionClassesMap: Record<string, boolean> = {};\n\tprotected _panelClasses = '';\n\tget panelClasses() {\n\t\treturn this._panelClasses;\n\t}\n\n\tset panelClasses(cl: string) {\n\t\tthis._panelClasses = cl;\n\t}\n\n\tget panelClassesMap(): Record<string, boolean> {\n\t\tconst map: Record<string, boolean> = this._panelClasses\n\t\t\t.split(' ')\n\t\t\t.filter((c) => !!c)\n\t\t\t.reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\t\tobj[className] = true;\n\t\t\t\treturn obj;\n\t\t\t}, {});\n\t\t// also add position classes\n\t\treturn { ...map, ...this._positionClassesMap };\n\t}\n\n\tprotected _contentClasses = '';\n\tget contentClasses() {\n\t\treturn this._contentClasses;\n\t}\n\n\tset contentClasses(cl: string) {\n\t\tthis._contentClasses = cl;\n\t}\n\n\tget contentClassesMap() {\n\t\treturn this._contentClasses.split(' ').reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\tobj[className] = true;\n\t\t\treturn obj;\n\t\t}, {});\n\t}\n\n\tpublic overlayRef: OverlayRef;\n\n\t/** Classes to be passed into the popover's overlay */\n\tprotected _overlayPaneClass: string | string[];\n\tpublic get overlayPaneClass() {\n\t\treturn this._overlayPaneClass;\n\t}\n\n\tpublic set overlayPaneClass(opc) {\n\t\tthis._overlayPaneClass = opc;\n\t}\n\n\t// /** Config object to be passed into the popover's content ngStyle */\n\n\tprotected _keydownEventsSub: Subscription;\n\n\tset keydownEvents$(evt$: Observable<KeyboardEvent>) {\n\t\tif (!this._keydownEventsSub) {\n\t\t\tthis._keydownEventsSub = evt$.subscribe((e) => this._handleKeydown(e));\n\t\t}\n\t}\n\n\tclose: Observable<void>;\n\topen: Observable<void>;\n\thovered: Observable<boolean>;\n\n\tabstract _emitCloseEvent(): void;\n\n\tabstract _emitOpenEvent(): void;\n\n\tabstract _emitHoveredEvent(hovered: boolean): void;\n\n\tsetPositionClasses(posX: HorizontalConnectionPos, posY: VerticalConnectionPos): void {\n\t\tthis._positionClassesMap['is-before'] = posX === 'end';\n\t\tthis._positionClassesMap['is-after'] = posX === 'start';\n\t\tthis._positionClassesMap['is-above'] = posY === 'bottom';\n\t\tthis._positionClassesMap['is-below'] = posY === 'top';\n\t}\n\n\tonClick() {\n\t\tif (this.closeOnClick) {\n\t\t\tthis._emitCloseEvent();\n\t\t}\n\t}\n\n\tonOpen() {\n\t\tthis._isOpen = true;\n\t}\n\n\tonClose() {\n\t\tthis._isOpen = false;\n\t}\n\n\t/**\n\t * TODO: Refactor when @angular/cdk includes feature I mentioned on github see link below.\n\t * https://github.com/angular/material2/pull/5493#issuecomment-313085323\n\t */\n\t/** Disables close of popover when leaving trigger element and mouse over the popover */\n\tonMouseOver() {\n\t\tthis._emitHoveredEvent(true);\n\t}\n\n\t/** Enables close of popover when mouse leaving popover element */\n\tonMouseLeave() {\n\t\tthis._emitHoveredEvent(false);\n\t}\n\n\t/** does nothing but must be overridable */\n\tonMouseDown() {}\n\n\t_handleKeydown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\treturn;\n\t\t}\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { luTransformPopover } from '../animation/index';\nimport { ALuPopoverPanel, ILuPopoverPanel, LuPopoverScrollStrategy } from './popover-panel.model';\n\n// import { standardPopoverTemplate } from './popover.template';\n\n@Component({\n\tselector: 'lu-popover',\n\ttemplateUrl: './popover-panel.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\tstandalone: true,\n\timports: [NgTemplateOutlet, OverlayModule, A11yModule],\n\texportAs: 'LuPopoverPanel',\n})\nexport class LuPopoverPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy {\n\tprotected _template: TemplateRef<unknown>;\n\tprotected _templateContext: unknown;\n\n\t/** Template to Use for the popover */\n\tget template(): TemplateRef<unknown> {\n\t\treturn this._template;\n\t}\n\t@Input()\n\tset template(value: TemplateRef<unknown>) {\n\t\tthis._template = value;\n\t}\n\n\t/** Template context to use for the popover when created using a template */\n\tget templateContext(): unknown {\n\t\treturn this._templateContext;\n\t}\n\t@Input('template-context')\n\tset templateContext(value: unknown) {\n\t\tthis._templateContext = value;\n\t}\n\n\t/**\n\t * Popover container close on click\n\t * default: false\n\t */\n\t@Input('close-on-click')\n\tset inputCloseOnClick(v: boolean) {\n\t\tthis.closeOnClick = v;\n\t}\n\n\t/**\n\t * Popover focus trap using cdkTrapFocus\n\t * default: false\n\t */\n\t@Input('trap-focus')\n\tset inputTrapFocus(v: boolean) {\n\t\tthis.trapFocus = v;\n\t}\n\n\t/**\n\t * Popover scrollStrategy\n\t * default: reposition\n\t */\n\t@Input('scroll-strategy')\n\tset inputScrollStrategy(v: LuPopoverScrollStrategy) {\n\t\tthis.scrollStrategy = v;\n\t}\n\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/** Event emitted when the popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onClose();\n\t\tthis.close.complete();\n\t}\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t}\n\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\t_emitHoveredEvent(hovered: boolean): void {\n\t\tthis.hovered.emit(hovered);\n\t}\n}\n","<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","import { NgModule } from '@angular/core';\nimport { LuPopoverPanelComponent } from './popover-panel.component';\n\n@NgModule({\n\timports: [LuPopoverPanelComponent],\n\texports: [LuPopoverPanelComponent],\n})\nexport class LuPopoverPanelModule {}\n","import { ElementRef } from '@angular/core';\n\nexport type LuPopoverPosition = 'above' | 'below' | 'before' | 'after';\nexport type LuPopoverAlignment = 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n/**\n * anchor for a popover panel\n */\nexport interface ILuPopoverTarget {\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\talignment: LuPopoverAlignment;\n\t/** the element used to position the panel */\n\telementRef: ElementRef;\n\t// /** set to true if you want the panel to appear on top of the target */\n\toverlap: boolean;\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tposition: LuPopoverPosition;\n\n\toffsetX: number;\n\toffsetY: number;\n}\n\nexport abstract class ALuPopoverTarget implements ILuPopoverTarget {\n\tprotected _elementRef: ElementRef;\n\t/** the element used to position the panel */\n\tget elementRef() {\n\t\treturn this._elementRef;\n\t}\n\tset elementRef(ref: ElementRef) {\n\t\tthis._elementRef = ref;\n\t}\n\n\tprotected _position: LuPopoverPosition = 'below';\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tget position(): LuPopoverPosition {\n\t\treturn this._position;\n\t}\n\tset position(position: LuPopoverPosition | string) {\n\t\tif (position !== 'above' && position !== 'below' && position !== 'after' && position !== 'before') {\n\t\t\tthrow Error(`LuPopoverPosition value must be 'above', 'below', 'before' or 'after'. Got \"${position}\".\n Example: <lu-popover [position]=\"'before'\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._position = position;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _alignment: LuPopoverAlignment = 'center';\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\tget alignment(): LuPopoverAlignment {\n\t\treturn this._alignment;\n\t}\n\tset alignment(alignment: LuPopoverAlignment | string) {\n\t\tif (alignment !== 'center' && alignment !== 'top' && alignment !== 'bottom' && alignment !== 'right' && alignment !== 'left') {\n\t\t\tthrow Error(`LuPopoverAlignment value must be 'top', 'bottom', 'right' or 'left'. Got \"${alignment}\".\n Example: <lu-popover [position]=\"above\" [alignment]=\"left\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._alignment = alignment;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _overlap = false;\n\t/** set to true if you want the panel to appear on top of the target */\n\tget overlap() {\n\t\treturn this._overlap;\n\t}\n\tset overlap(ot: boolean) {\n\t\tthis._overlap = ot;\n\t}\n\n\tprotected _offsetX = 0;\n\tget offsetX() {\n\t\treturn this._offsetX;\n\t}\n\tset offsetX(ox: number) {\n\t\tthis._offsetX = ox;\n\t}\n\n\tprotected _offsetY = 0;\n\tget offsetY() {\n\t\treturn this._offsetY;\n\t}\n\tset offsetY(oy: number) {\n\t\tthis._offsetY = oy;\n\t}\n}\n\nexport class LuPopoverTarget extends ALuPopoverTarget {\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\nimport { ALuPopoverTarget, LuPopoverAlignment, LuPopoverPosition } from './popover-target.model';\n\n@Directive({\n\tselector: '[luPopoverTarget]',\n\texportAs: 'LuPopoverTarget',\n\tstandalone: true,\n})\nexport class LuPopoverTargetDirective extends ALuPopoverTarget {\n\tconstructor(ref: ElementRef) {\n\t\tsuper();\n\t\tthis.elementRef = ref;\n\t}\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.alignment = al;\n\t}\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.offsetY = oy;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuPopoverTargetDirective } from './popover-target.directive';\n\n@NgModule({\n\timports: [LuPopoverTargetDirective],\n\texports: [LuPopoverTargetDirective],\n})\nexport class LuPopoverTargetModule {}\n","import { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport {\n\tFlexibleConnectedPositionStrategy,\n\tHorizontalConnectionPos,\n\tOriginConnectionPosition,\n\tOverlay,\n\tOverlayConfig,\n\tOverlayConnectionPosition,\n\tOverlayRef,\n\tVerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { ElementRef, ViewContainerRef } from '@angular/core';\nimport { generateId } from '@lucca-front/ng/core';\nimport { Observable, Subject, Subscription, timer } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { ILuPopoverPanel, LuPopoverScrollStrategy } from '../panel/index';\nimport { ILuPopoverTarget } from '../target/index';\n\nexport type LuPopoverTriggerEvent = 'click' | 'hover' | 'none' | 'focus';\n\n/**\n * component that will decide when to show the popover and attach it to the target\n */\nexport declare interface ILuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> {\n\t/** the popover panel to display */\n\tpanel: TPanel;\n\t/** the popover target to attach the panel */\n\ttarget: TTarget;\n\n\t/** when to display the popover */\n\ttriggerEvent: LuPopoverTriggerEvent;\n\t/** delay before popover apparition when trigger is 'hover' */\n\tenterDelay: number;\n\t/** delay before popover disparition when trigger is 'hover' */\n\tleaveDelay: number;\n\n\t/** disable popover apparition */\n\tdisabled: boolean;\n\t/** Event emitted when the associated popover is opened. */\n\tonOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tonClose: Observable<void>;\n\n\topenPopover();\n\n\tclosePopover();\n\n\ttogglePopover();\n\n\tdestroyPopover();\n}\n\n// tslint:disable-next-line: max-line-length\nexport abstract class ALuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> implements ILuPopoverTrigger<TPanel, TTarget> {\n\tprotected _portal: TemplatePortal<unknown> | ComponentPortal<TPanel>;\n\tprotected _overlayRef: OverlayRef | null = null;\n\tprotected _popoverOpen = false;\n\t// protected _halt = false;\n\tprotected _backdropSubscription: Subscription;\n\tprotected _positionSubscription: Subscription;\n\n\tprotected _mouseoverTimer: unknown;\n\n\tprotected _hovered$ = new Subject();\n\tprotected _hoveredSubscription: Subscription;\n\tprotected _panelEventsSubscriptions: Subscription;\n\tprotected _overlayDetachmentsSubscription: Subscription;\n\n\t// tracking input type is necessary so it's possible to only auto-focus\n\t// the first item of the list when the popover is opened via the keyboard\n\tprotected _openedByMouse = false;\n\n\tprotected _panel: TPanel;\n\t/** References the popover instance that the trigger is associated with. */\n\tget panel() {\n\t\treturn this._panel;\n\t}\n\n\tset panel(p: TPanel) {\n\t\tthis._panel = p;\n\t}\n\n\tprotected _target: TTarget;\n\t/** References the popover target instance that the trigger is associated with. */\n\tget target() {\n\t\treturn this._target;\n\t}\n\n\tset target(t: TTarget) {\n\t\tthis._target = t;\n\t}\n\n\tprotected _triggerEvent: LuPopoverTriggerEvent = 'click';\n\tget triggerEvent() {\n\t\treturn this._triggerEvent;\n\t}\n\n\tset triggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis._triggerEvent = te;\n\t\tif (te === 'hover' || te === 'focus') {\n\t\t\tif (this._hoveredSubscription) {\n\t\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t\t}\n\t\t\tthis._hoveredSubscription = this._hovered$\n\t\t\t\t.pipe(\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tdebounce((h) => (h ? timer(this.enterDelay) : timer(this.leaveDelay))),\n\t\t\t\t)\n\t\t\t\t.subscribe((h) => (h ? this.openPopover() : this.closePopover()));\n\t\t}\n\t}\n\n\tprotected _enterDelay = 50;\n\tget enterDelay() {\n\t\treturn this._enterDelay;\n\t}\n\n\tset enterDelay(d: number) {\n\t\tthis._enterDelay = d;\n\t}\n\n\tprotected _leaveDelay = 50;\n\tget leaveDelay() {\n\t\treturn this._leaveDelay;\n\t}\n\n\tset leaveDelay(d: number) {\n\t\tthis._leaveDelay = d;\n\t}\n\n\tprotected _disabled = false;\n\tget disabled() {\n\t\treturn this._disabled;\n\t}\n\n\tset disabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\tprotected _whenEllipsis = false;\n\tget whenEllipsis() {\n\t\treturn this._whenEllipsis;\n\t}\n\n\tset whenEllipsis(we: boolean) {\n\t\tthis._whenEllipsis = we;\n\t}\n\n\tprotected _triggerId: string;\n\tprotected _panelId: string;\n\n\t/** Event emitted when the associated popover is opened. */\n\tabstract onOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tabstract onClose: Observable<void>;\n\n\tprotected abstract _emitOpen(): void;\n\n\tprotected abstract _emitClose(): void;\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _elementRef: ElementRef<HTMLElement>,\n\t\tprotected _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tthis._triggerId = `popoverTrigger_${generateId()}`;\n\t\tthis._panelId = `popoverPanel_${generateId()}`;\n\t}\n\n\tonClick() {\n\t\tif (this.triggerEvent === 'click' && !this.disabled) {\n\t\t\tthis.togglePopover();\n\t\t}\n\t}\n\n\tonMouseEnter() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(true);\n\t\t}\n\t}\n\n\tonMouseLeave() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(false);\n\t\t}\n\t}\n\n\tonFocus() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.openPopover();\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.closePopover();\n\t\t}\n\t}\n\n\t/** Toggles the popover between the open and closed states. */\n\ttogglePopover(): void {\n\t\treturn this._popoverOpen ? this.closePopover() : this.openPopover();\n\t}\n\n\t/** Opens the popover. */\n\topenPopover(): void {\n\t\tif (!this._popoverOpen && !this._disabled && (!this._whenEllipsis || this._hasEllipsis())) {\n\t\t\tthis._createOverlay();\n\t\t\tthis._attachPortalToOverlay();\n\n\t\t\t/** Only subscribe to overlay detachments if trigger event is hover or focus */\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._subscribeToOverlayDetachments();\n\t\t\t}\n\n\t\t\t/** Only subscribe to backdrop if trigger event is click */\n\t\t\tif (this.triggerEvent === 'click') {\n\t\t\t\tthis._subscribeToBackdrop();\n\t\t\t}\n\n\t\t\t/** Only subscribe to mouse enter/leave of the panel if trigger = hover */\n\n\t\t\tthis._initPopover();\n\t\t\tthis._emitOpen();\n\t\t}\n\t}\n\n\t/** Closes the popover. */\n\tclosePopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\t/** Overlay can still be attached if close has been triggered by mouse leave. */\n\t\t\tif (this._overlayRef.hasAttached()) {\n\t\t\t\tthis._overlayRef.detach();\n\t\t\t}\n\n\t\t\t/** unsubscribe to backdrop click if it was defined */\n\t\t\tif (this._backdropSubscription) {\n\t\t\t\t// if (this.popover.triggerEvent === 'click') {\n\t\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t\t}\n\n\t\t\tthis._resetPopover();\n\t\t\tthis._emitClose();\n\t\t}\n\t}\n\n\t/** Removes the popover from the DOM. */\n\tdestroyPopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayRef.dispose();\n\t\t\tthis._overlayRef = null;\n\t\t\tthis._cleanUpSubscriptions();\n\t\t}\n\t}\n\n\t/** Focuses the popover trigger. */\n\tfocus() {\n\t\tthis._elementRef.nativeElement.focus();\n\t}\n\n\t_handleMousedown(event: MouseEvent): void {\n\t\tif (!isFakeMousedownFromScreenReader(event)) {\n\t\t\tthis._openedByMouse = true;\n\t\t}\n\t}\n\n\t/** The text direction of the containing app. */\n\tget dir(): Direction {\n\t\t// return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n\t\treturn 'ltr';\n\t}\n\n\t/** Return if the popover main positionning is vertical */\n\tget isVerticallyPositionned(): boolean {\n\t\tconst position = this.target.position;\n\t\treturn position === 'below' || position === 'above';\n\t}\n\n\tprotected _attachPortalToOverlay(): void {\n\t\tthis._overlayRef.attach(this._portal);\n\t}\n\n\tprotected _getPanelScrollStrategy(): LuPopoverScrollStrategy {\n\t\treturn this.panel.scrollStrategy;\n\t}\n\n\t/**\n\t * This method ensures that the popover\n\t */\n\tprotected _subscribeToPanelEvents(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._panelEventsSubscriptions = new Subscription();\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\t\tthis.panel.hovered.subscribe((hovered) => {\n\t\t\t\t\t\tthis._hovered$.next(hovered);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.close.subscribe(() => {\n\t\t\t\t\tthis.closePopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.open.subscribe(() => {\n\t\t\t\t\tthis.openPopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay has been detached\n\t * Detach can occur if we scroll while popover is opened\n\t */\n\tprotected _subscribeToOverlayDetachments(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayDetachmentsSubscription = this._overlayRef.detachments().subscribe(() => {\n\t\t\t\tthis._hovered$.next(false);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay backdrop is clicked.\n\t * We do not use first() here because doing so would not catch clicks from within\n\t * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe\n\t * explicitly when the popover is closed or destroyed.\n\t */\n\tprotected _subscribeToBackdrop(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n\t\t\t\tthis.closePopover();\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method sets the popover state to open and focuses the first item if\n\t * the popover was opened via the keyboard.\n\t */\n\tprotected _initPopover(): void {\n\t\tthis._setIsPopoverOpen(true);\n\t\tthis.panel.panelId = this._panelId;\n\t\tthis.panel.triggerId = this._triggerId;\n\t\tthis.panel.keydownEvents$ = this._overlayRef.keydownEvents();\n\t\tthis._subscribeToPanelEvents();\n\t}\n\n\t/**\n\t * This method resets the popover when it's closed, most importantly restoring\n\t * focus to the popover trigger if the popover was opened via the keyboard.\n\t */\n\tprotected _resetPopover(): void {\n\t\tthis._setIsPopoverOpen(false);\n\n\t\t// Focus only needs to be reset to the host element if the popover was opened\n\t\t// by the keyboard and manually shifted to the first popover item.\n\t\tif (!this._openedByMouse && this.triggerEvent === 'click') {\n\t\t\tthis.focus();\n\t\t}\n\t\tthis._openedByMouse = false;\n\t}\n\n\t/** set state rather than toggle to support triggers sharing a popover */\n\tprotected _setIsPopoverOpen(isOpen: boolean): void {\n\t\tthis._popoverOpen = isOpen;\n\t\t// tell the panel it's opening/closing\n\t\tif (isOpen) {\n\t\t\tthis.panel.onOpen();\n\t\t} else {\n\t\t\tthis.panel.onClose();\n\t\t}\n\t}\n\n\t/**\n\t * This method checks that a valid instance of MdPopover has been passed into\n\t * mdPopoverTriggerFor. If not, an exception is thrown.\n\t */\n\tprotected _checkPanel() {\n\t\tif (!this.panel) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a lu-popover instance.\n Example:\n <lu-popover #popover=\"LuPopover\" />\n <button type=\"button\" [luPopover]=\"popover\"></button>`);\n\t\t}\n\t}\n\n\tprotected _checkTarget() {\n\t\tif (!this.target) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a popover target instance.`);\n\t\t}\n\t}\n\n\t/**\n\t * This method creates the overlay from the provided popover's template and saves its\n\t * OverlayRef so that it can be attached to the DOM when openPopover is called.\n\t */\n\tprotected _createOverlay(): OverlayRef {\n\t\tif (!this._overlayRef) {\n\t\t\tthis._portal = new TemplatePortal(this.panel.templateRef, this._viewContainerRef);\n\t\t\tconst config = this._getOverlayConfig();\n\t\t\tthis._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\n\t\t\tthis._overlayRef = this._overlay.create(config);\n\t\t\tthis._panel.overlayRef = this._overlayRef;\n\t\t}\n\n\t\treturn this._overlayRef;\n\t}\n\n\t/**\n\t * This method builds the configuration object needed to create the overlay, the OverlayConfig.\n\t * @returns OverlayConfig\n\t */\n\tprotected _getOverlayConfig(): OverlayConfig {\n\t\tconst overlayState = new OverlayConfig();\n\t\toverlayState.positionStrategy = this._getPosition();\n\t\t/** Display overlay backdrop if trigger event is click */\n\t\tif (this.triggerEvent === 'click') {\n\t\t\toverlayState.hasBackdrop = true;\n\t\t\toverlayState.backdropClass = 'cdk-overlay-transparent-backdrop';\n\t\t}\n\n\t\toverlayState.direction = this.dir;\n\t\tconst scrollStrategy = this._getPanelScrollStrategy();\n\t\tswitch (scrollStrategy) {\n\t\t\tcase 'block':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.block();\n\t\t\t\tbreak;\n\n\t\t\tcase 'close':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.close();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.reposition();\n\t\t\t\tbreak;\n\t\t}\n\t\treturn overlayState;\n\t}\n\n\t/**\n\t * Listens to changes in the position of the overlay and sets the correct classes\n\t * on the popover based on the new position. This ensures the animation origin is always\n\t * correct, even if a fallback position is used for the overlay.\n\t */\n\tprotected _subscribeToPositions(position: FlexibleConnectedPositionStrategy): void {\n\t\tthis._positionSubscription = position.positionChanges\n\t\t\t.pipe(\n\t\t\t\tmap((c) => c.connectionPair),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe((connectionPair) => {\n\t\t\t\tthis.panel.setPositionClasses(connectionPair.overlayX, connectionPair.overlayY);\n\t\t\t});\n\t}\n\n\t/**\n\t * This method builds the position strategy for the overlay, so the popover is properly connected\n\t * to the trigger.\n\t * @returns FlexibleConnectedPositionStrategy\n\t */\n\tprotected _getPosition(): FlexibleConnectedPositionStrategy {\n\t\t/**\n\t\t * For overriding position element, when LuPopoverTargetAt has a valid element reference.\n\t\t * Useful for sticking popover to parent element and offsetting arrow to trigger element.\n\t\t * If undefined defaults to the trigger element reference.\n\t\t */\n\t\tconst element = this.target.elementRef;\n\t\t// if (typeof this.targetElement !== 'undefined' && this.popover) {\n\t\t// \tthis.popover.containerPositioning = true;\n\t\t// \telement = this.targetElement._elementRef;\n\t\t// }\n\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tconst position = this.target.position;\n\t\tconst overlap = this.target.overlap;\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = overlap ? 'bottom' : 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = overlap ? 'top' : 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = overlap ? 'end' : 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = overlap ? 'start' : 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tconst alignment = this.target.alignment;\n\t\tif (this.isVerticallyPositionned) {\n\t\t\tif (alignment === 'left') {\n\t\t\t\tconnectionPosition.originX = 'start';\n\t\t\t} else if (alignment === 'right') {\n\t\t\t\tconnectionPosition.originX = 'end';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originX = 'center';\n\t\t\t}\n\t\t} else {\n\t\t\tif (alignment === 'top') {\n\t\t\t\tconnectionPosition.originY = 'top';\n\t\t\t} else if (alignment === 'bottom') {\n\t\t\t\tconnectionPosition.originY = 'bottom';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originY = 'center';\n\t\t\t}\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (overlap) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t} else if (this.isVerticallyPositionned) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn this._overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(element)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t])\n\t\t\t.withDefaultOffsetX(this.target.offsetX)\n\t\t\t.withDefaultOffsetY(this.target.offsetY);\n\t}\n\n\tprotected _invertVerticalPos(y: VerticalConnectionPos) {\n\t\tif (y === 'top') {\n\t\t\ty = 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\ty = 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprotected _invertHorizontalPos(x: HorizontalConnectionPos) {\n\t\tif (x === 'end') {\n\t\t\tx = 'start';\n\t\t} else if (x === 'start') {\n\t\t\tx = 'end';\n\t\t}\n\n\t\treturn x;\n\t}\n\n\tprotected _cleanUpSubscriptions(): void {\n\t\tif (this._backdropSubscription) {\n\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t}\n\t\tif (this._positionSubscription) {\n\t\t\tthis._positionSubscription.unsubscribe();\n\t\t}\n\t\tif (this._hoveredSubscription) {\n\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t}\n\t\tif (this._panelEventsSubscriptions) {\n\t\t\tthis._panelEventsSubscriptions.unsubscribe();\n\t\t}\n\t\tif (this._overlayDetachmentsSubscription) {\n\t\t\tthis._overlayDetachmentsSubscription.unsubscribe();\n\t\t}\n\t}\n\n\tprotected _hasEllipsis(): boolean {\n\t\tif (!(this._elementRef.nativeElement instanceof HTMLElement)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { scrollWidth, scrollHeight, clientWidth, clientHeight } = this._elementRef.nativeElement;\n\n\t\tconst textClampedByWidth = scrollWidth > clientWidth;\n\t\tconst textClampedByHeight = scrollHeight > clientHeight;\n\n\t\treturn textClampedByWidth || textClampedByHeight;\n\t}\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, ViewContainerRef } from '@angular/core';\nimport { ILuPopoverPanel } from '../panel/index';\nimport { ILuPopoverTarget, LuPopoverAlignment, LuPopoverPosition, LuPopoverTarget } from '../target/index';\nimport { ALuPopoverTrigger, ILuPopoverTrigger, LuPopoverTriggerEvent } from './popover-trigger.model';\n\n@Directive({\n\tselector: '[luPopover]',\n\texportAs: 'LuPopoverTrigger',\n\tstandalone: true,\n})\nexport class LuPopoverTriggerDirective<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget>\n\textends ALuPopoverTrigger<TPanel, TTarget>\n\timplements ILuPopoverTrigger<TPanel, TTarget>, AfterViewInit, OnDestroy\n{\n\t/** References the popover instance that the trigger is associated with. */\n\t@Input('luPopover') set inputPanel(p: TPanel) {\n\t\tthis.panel = p;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTarget') set inputTarget(t: TTarget) {\n\t\tthis.target = t;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTrigger') set inputTriggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis.triggerEvent = te;\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnOpen') onOpen = new EventEmitter<void>();\n\n\t/** Event emitted when the associated popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnClose') onClose = new EventEmitter<void>();\n\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.target.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.target.alignment = al;\n\t}\n\n\t/** when trigger = hover, delay before the popover panel appears */\n\t@Input('luPopoverEnterDelay') set inputEnterDelay(d: number) {\n\t\tthis.enterDelay = d;\n\t}\n\t/** when trigger = hover, delay before the popover panel disappears */\n\t@Input('luPopoverLeaveDelay') set inputLeaveDelay(d: number) {\n\t\tthis.leaveDelay = d;\n\t}\n\n\t/** disable popover apparition */\n\t@Input('luPopoverDisabled') set inputDisabled(d: boolean) {\n\t\tthis.disabled = d;\n\t}\n\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.target.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.target.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.target.offsetY = oy;\n\t}\n\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-expanded') get _attrAriaExpanded() {\n\t\treturn this._popoverOpen;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.id') get _attrId() {\n\t\treturn this._triggerId;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-controls') get _attrAriaControls() {\n\t\treturn this._panelId;\n\t}\n\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget() as ILuPopoverTarget as TTarget;\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;\n\t}\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._checkPanel();\n\t\tthis._checkTarget();\n\t}\n\tngOnDestroy() {\n\t\tthis._cleanUpSubscriptions();\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t}\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuPopoverTriggerDirective } from './popover-trigger.directive';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\n@NgModule({\n\timports: [LuPopoverTriggerDirective, OverlayModule],\n\texports: [LuPopoverTriggerDirective],\n})\nexport class LuPopoverTriggerModule {}\n","import { NgModule } from '@angular/core';\n\nimport { LuPopoverPanelComponent } from './panel/index';\nimport { LuPopoverTargetDirective } from './target/index';\nimport { LuPopoverTriggerDirective } from './trigger/index';\n\n@NgModule({\n\timports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n\texports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n})\nexport class LuPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-popover.mjs","sources":["../../../packages/ng/popover/animation/popover.animation.ts","../../../packages/ng/popover/panel/popover-panel.model.ts","../../../packages/ng/popover/panel/popover-panel.component.ts","../../../packages/ng/popover/panel/popover-panel.component.html","../../../packages/ng/popover/panel/popover-panel.module.ts","../../../packages/ng/popover/target/popover-target.model.ts","../../../packages/ng/popover/target/popover-target.directive.ts","../../../packages/ng/popover/target/popover-target.module.ts","../../../packages/ng/popover/trigger/popover-trigger.model.ts","../../../packages/ng/popover/trigger/popover-trigger.directive.ts","../../../packages/ng/popover/trigger/popover-trigger.module.ts","../../../packages/ng/popover/popover.module.ts","../../../packages/ng/popover/lucca-front-ng-popover.ts"],"sourcesContent":["import { trigger, state, style, animate, transition, AnimationTriggerMetadata } from '@angular/animations';\n\nexport const luTransformPopover: AnimationTriggerMetadata = trigger('transformPopover', [\n\tstate(\n\t\t'enter',\n\t\tstyle({\n\t\t\topacity: 1,\n\t\t\ttransform: `scale(1)`,\n\t\t}),\n\t),\n\ttransition('void => *', [\n\t\tstyle({\n\t\t\topacity: 0,\n\t\t\ttransform: `scale(0)`,\n\t\t}),\n\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t]),\n\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n]);\n","import { HorizontalConnectionPos, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\n\nexport type LuPopoverScrollStrategy = 'reposition' | 'block' | 'close';\n\nexport declare interface ILuPopoverPanel<T = unknown> {\n\tscrollStrategy: LuPopoverScrollStrategy;\n\tcloseOnClick: boolean;\n\tpanelId?: string;\n\ttriggerId?: string;\n\ttemplateRef?: TemplateRef<T>;\n\toverlayRef: OverlayRef;\n\n\t/** will emit when the panel wants to close */\n\tclose: Observable<void>;\n\t/** will emit when the panel wants to open */\n\topen: Observable<void>;\n\t/** will emit when the panel is hovered */\n\thovered: Observable<boolean>;\n\t/** classes to apply to the panel, uses ' ' for separating values */\n\tpanelClasses: string;\n\t/** class to apply to the panel content, uses ' ' for separating values */\n\tcontentClasses: string;\n\n\tkeydownEvents$: Observable<KeyboardEvent>;\n\n\tsetPositionClasses: (posX: HorizontalConnectionPos, posY: VerticalConnectionPos) => void;\n\n\t/** method called by the trigger when it opens the popover */\n\tonOpen(): void;\n\n\t/** method called by the trigger when it closes the popover */\n\tonClose(): void;\n}\n\n/**\n * abstract class for basic implementation of a popover panel\n */\nexport abstract class ALuPopoverPanel<T = unknown> implements ILuPopoverPanel<T> {\n\tpanelId: string;\n\ttriggerId: string;\n\n\tprotected _isOpen: boolean;\n\tget isOpen() {\n\t\treturn this._isOpen;\n\t}\n\n\tprotected _closeOnClick = false;\n\tget closeOnClick() {\n\t\treturn this._closeOnClick;\n\t}\n\n\tset closeOnClick(coc: boolean) {\n\t\tthis._closeOnClick = coc;\n\t}\n\n\tprotected _trapFocus = false;\n\tget trapFocus() {\n\t\treturn this._trapFocus;\n\t}\n\n\tset trapFocus(tf: boolean) {\n\t\tthis._trapFocus = tf;\n\t}\n\n\tprotected _scrollStrategy: LuPopoverScrollStrategy = 'reposition';\n\tget scrollStrategy() {\n\t\treturn this._scrollStrategy;\n\t}\n\n\tset scrollStrategy(ss: LuPopoverScrollStrategy) {\n\t\tthis._scrollStrategy = ss;\n\t}\n\n\tprotected _templateRef: TemplateRef<T>;\n\tget templateRef() {\n\t\treturn this._templateRef;\n\t}\n\n\tset templateRef(tr: TemplateRef<T>) {\n\t\tthis._templateRef = tr;\n\t}\n\n\tprotected _positionClassesMap: Record<string, boolean> = {};\n\tprotected _panelClasses = '';\n\tget panelClasses() {\n\t\treturn this._panelClasses;\n\t}\n\n\tset panelClasses(cl: string) {\n\t\tthis._panelClasses = cl;\n\t}\n\n\tget panelClassesMap(): Record<string, boolean> {\n\t\tconst map: Record<string, boolean> = this._panelClasses\n\t\t\t.split(' ')\n\t\t\t.filter((c) => !!c)\n\t\t\t.reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\t\tobj[className] = true;\n\t\t\t\treturn obj;\n\t\t\t}, {});\n\t\t// also add position classes\n\t\treturn { ...map, ...this._positionClassesMap };\n\t}\n\n\tprotected _contentClasses = '';\n\tget contentClasses() {\n\t\treturn this._contentClasses;\n\t}\n\n\tset contentClasses(cl: string) {\n\t\tthis._contentClasses = cl;\n\t}\n\n\tget contentClassesMap() {\n\t\treturn this._contentClasses.split(' ').reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\tobj[className] = true;\n\t\t\treturn obj;\n\t\t}, {});\n\t}\n\n\tpublic overlayRef: OverlayRef;\n\n\t/** Classes to be passed into the popover's overlay */\n\tprotected _overlayPaneClass: string | string[];\n\tpublic get overlayPaneClass() {\n\t\treturn this._overlayPaneClass;\n\t}\n\n\tpublic set overlayPaneClass(opc) {\n\t\tthis._overlayPaneClass = opc;\n\t}\n\n\t// /** Config object to be passed into the popover's content ngStyle */\n\n\tprotected _keydownEventsSub: Subscription;\n\n\tset keydownEvents$(evt$: Observable<KeyboardEvent>) {\n\t\tif (!this._keydownEventsSub) {\n\t\t\tthis._keydownEventsSub = evt$.subscribe((e) => this._handleKeydown(e));\n\t\t}\n\t}\n\n\tclose: Observable<void>;\n\topen: Observable<void>;\n\thovered: Observable<boolean>;\n\n\tabstract _emitCloseEvent(): void;\n\n\tabstract _emitOpenEvent(): void;\n\n\tabstract _emitHoveredEvent(hovered: boolean): void;\n\n\tsetPositionClasses(posX: HorizontalConnectionPos, posY: VerticalConnectionPos): void {\n\t\tthis._positionClassesMap['is-before'] = posX === 'end';\n\t\tthis._positionClassesMap['is-after'] = posX === 'start';\n\t\tthis._positionClassesMap['is-above'] = posY === 'bottom';\n\t\tthis._positionClassesMap['is-below'] = posY === 'top';\n\t}\n\n\tonClick() {\n\t\tif (this.closeOnClick) {\n\t\t\tthis._emitCloseEvent();\n\t\t}\n\t}\n\n\tonOpen() {\n\t\tthis._isOpen = true;\n\t}\n\n\tonClose() {\n\t\tthis._isOpen = false;\n\t}\n\n\t/**\n\t * TODO: Refactor when @angular/cdk includes feature I mentioned on github see link below.\n\t * https://github.com/angular/material2/pull/5493#issuecomment-313085323\n\t */\n\t/** Disables close of popover when leaving trigger element and mouse over the popover */\n\tonMouseOver() {\n\t\tthis._emitHoveredEvent(true);\n\t}\n\n\t/** Enables close of popover when mouse leaving popover element */\n\tonMouseLeave() {\n\t\tthis._emitHoveredEvent(false);\n\t}\n\n\t/** does nothing but must be overridable */\n\tonMouseDown() {}\n\n\t_handleKeydown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\treturn;\n\t\t}\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { luTransformPopover } from '../animation/index';\nimport { ALuPopoverPanel, ILuPopoverPanel, LuPopoverScrollStrategy } from './popover-panel.model';\n\n// import { standardPopoverTemplate } from './popover.template';\n\n@Component({\n\tselector: 'lu-popover',\n\ttemplateUrl: './popover-panel.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\timports: [NgTemplateOutlet, OverlayModule, A11yModule],\n\texportAs: 'LuPopoverPanel',\n})\nexport class LuPopoverPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy {\n\tprotected _template: TemplateRef<unknown>;\n\tprotected _templateContext: unknown;\n\n\t/** Template to Use for the popover */\n\tget template(): TemplateRef<unknown> {\n\t\treturn this._template;\n\t}\n\t@Input()\n\tset template(value: TemplateRef<unknown>) {\n\t\tthis._template = value;\n\t}\n\n\t/** Template context to use for the popover when created using a template */\n\tget templateContext(): unknown {\n\t\treturn this._templateContext;\n\t}\n\t@Input('template-context')\n\tset templateContext(value: unknown) {\n\t\tthis._templateContext = value;\n\t}\n\n\t/**\n\t * Popover container close on click\n\t * default: false\n\t */\n\t@Input('close-on-click')\n\tset inputCloseOnClick(v: boolean) {\n\t\tthis.closeOnClick = v;\n\t}\n\n\t/**\n\t * Popover focus trap using cdkTrapFocus\n\t * default: false\n\t */\n\t@Input('trap-focus')\n\tset inputTrapFocus(v: boolean) {\n\t\tthis.trapFocus = v;\n\t}\n\n\t/**\n\t * Popover scrollStrategy\n\t * default: reposition\n\t */\n\t@Input('scroll-strategy')\n\tset inputScrollStrategy(v: LuPopoverScrollStrategy) {\n\t\tthis.scrollStrategy = v;\n\t}\n\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/** Event emitted when the popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onClose();\n\t\tthis.close.complete();\n\t}\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t}\n\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\t_emitHoveredEvent(hovered: boolean): void {\n\t\tthis.hovered.emit(hovered);\n\t}\n}\n","<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","import { NgModule } from '@angular/core';\nimport { LuPopoverPanelComponent } from './popover-panel.component';\n\n/**\n * @deprecated use `LuPopoverPanelComponent` instead\n */\n@NgModule({\n\timports: [LuPopoverPanelComponent],\n\texports: [LuPopoverPanelComponent],\n})\nexport class LuPopoverPanelModule {}\n","import { ElementRef } from '@angular/core';\n\nexport type LuPopoverPosition = 'above' | 'below' | 'before' | 'after';\nexport type LuPopoverAlignment = 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n/**\n * anchor for a popover panel\n */\nexport interface ILuPopoverTarget {\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\talignment: LuPopoverAlignment;\n\t/** the element used to position the panel */\n\telementRef: ElementRef;\n\t// /** set to true if you want the panel to appear on top of the target */\n\toverlap: boolean;\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tposition: LuPopoverPosition;\n\n\toffsetX: number;\n\toffsetY: number;\n}\n\nexport abstract class ALuPopoverTarget implements ILuPopoverTarget {\n\tprotected _elementRef: ElementRef;\n\t/** the element used to position the panel */\n\tget elementRef() {\n\t\treturn this._elementRef;\n\t}\n\tset elementRef(ref: ElementRef) {\n\t\tthis._elementRef = ref;\n\t}\n\n\tprotected _position: LuPopoverPosition = 'below';\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tget position(): LuPopoverPosition {\n\t\treturn this._position;\n\t}\n\tset position(position: LuPopoverPosition | string) {\n\t\tif (position !== 'above' && position !== 'below' && position !== 'after' && position !== 'before') {\n\t\t\tthrow Error(`LuPopoverPosition value must be 'above', 'below', 'before' or 'after'. Got \"${position}\".\n Example: <lu-popover [position]=\"'before'\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._position = position;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _alignment: LuPopoverAlignment = 'center';\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\tget alignment(): LuPopoverAlignment {\n\t\treturn this._alignment;\n\t}\n\tset alignment(alignment: LuPopoverAlignment | string) {\n\t\tif (alignment !== 'center' && alignment !== 'top' && alignment !== 'bottom' && alignment !== 'right' && alignment !== 'left') {\n\t\t\tthrow Error(`LuPopoverAlignment value must be 'top', 'bottom', 'right' or 'left'. Got \"${alignment}\".\n Example: <lu-popover [position]=\"above\" [alignment]=\"left\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._alignment = alignment;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _overlap = false;\n\t/** set to true if you want the panel to appear on top of the target */\n\tget overlap() {\n\t\treturn this._overlap;\n\t}\n\tset overlap(ot: boolean) {\n\t\tthis._overlap = ot;\n\t}\n\n\tprotected _offsetX = 0;\n\tget offsetX() {\n\t\treturn this._offsetX;\n\t}\n\tset offsetX(ox: number) {\n\t\tthis._offsetX = ox;\n\t}\n\n\tprotected _offsetY = 0;\n\tget offsetY() {\n\t\treturn this._offsetY;\n\t}\n\tset offsetY(oy: number) {\n\t\tthis._offsetY = oy;\n\t}\n}\n\nexport class LuPopoverTarget extends ALuPopoverTarget {\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\nimport { ALuPopoverTarget, LuPopoverAlignment, LuPopoverPosition } from './popover-target.model';\n\n@Directive({\n\tselector: '[luPopoverTarget]',\n\texportAs: 'LuPopoverTarget',\n})\nexport class LuPopoverTargetDirective extends ALuPopoverTarget {\n\tconstructor(ref: ElementRef) {\n\t\tsuper();\n\t\tthis.elementRef = ref;\n\t}\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.alignment = al;\n\t}\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.offsetY = oy;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuPopoverTargetDirective } from './popover-target.directive';\n\n/**\n * @deprecated use `LuPopoverTargetDirective` instead\n */\n@NgModule({\n\timports: [LuPopoverTargetDirective],\n\texports: [LuPopoverTargetDirective],\n})\nexport class LuPopoverTargetModule {}\n","import { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport {\n\tFlexibleConnectedPositionStrategy,\n\tHorizontalConnectionPos,\n\tOriginConnectionPosition,\n\tOverlay,\n\tOverlayConfig,\n\tOverlayConnectionPosition,\n\tOverlayRef,\n\tVerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { ElementRef, ViewContainerRef } from '@angular/core';\nimport { generateId } from '@lucca-front/ng/core';\nimport { Observable, Subject, Subscription, timer } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { ILuPopoverPanel, LuPopoverScrollStrategy } from '../panel/index';\nimport { ILuPopoverTarget } from '../target/index';\n\nexport type LuPopoverTriggerEvent = 'click' | 'hover' | 'none' | 'focus';\n\n/**\n * component that will decide when to show the popover and attach it to the target\n */\nexport declare interface ILuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> {\n\t/** the popover panel to display */\n\tpanel: TPanel;\n\t/** the popover target to attach the panel */\n\ttarget: TTarget;\n\n\t/** when to display the popover */\n\ttriggerEvent: LuPopoverTriggerEvent;\n\t/** delay before popover apparition when trigger is 'hover' */\n\tenterDelay: number;\n\t/** delay before popover disparition when trigger is 'hover' */\n\tleaveDelay: number;\n\n\t/** disable popover apparition */\n\tdisabled: boolean;\n\t/** Event emitted when the associated popover is opened. */\n\tonOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tonClose: Observable<void>;\n\n\topenPopover();\n\n\tclosePopover();\n\n\ttogglePopover();\n\n\tdestroyPopover();\n}\n\n// tslint:disable-next-line: max-line-length\nexport abstract class ALuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> implements ILuPopoverTrigger<TPanel, TTarget> {\n\tprotected _portal: TemplatePortal<unknown> | ComponentPortal<TPanel>;\n\tprotected _overlayRef: OverlayRef | null = null;\n\tprotected _popoverOpen = false;\n\t// protected _halt = false;\n\tprotected _backdropSubscription: Subscription;\n\tprotected _positionSubscription: Subscription;\n\n\tprotected _mouseoverTimer: unknown;\n\n\tprotected _hovered$ = new Subject();\n\tprotected _hoveredSubscription: Subscription;\n\tprotected _panelEventsSubscriptions: Subscription;\n\tprotected _overlayDetachmentsSubscription: Subscription;\n\n\t// tracking input type is necessary so it's possible to only auto-focus\n\t// the first item of the list when the popover is opened via the keyboard\n\tprotected _openedByMouse = false;\n\n\tprotected _panel: TPanel;\n\t/** References the popover instance that the trigger is associated with. */\n\tget panel() {\n\t\treturn this._panel;\n\t}\n\n\tset panel(p: TPanel) {\n\t\tthis._panel = p;\n\t}\n\n\tprotected _target: TTarget;\n\t/** References the popover target instance that the trigger is associated with. */\n\tget target() {\n\t\treturn this._target;\n\t}\n\n\tset target(t: TTarget) {\n\t\tthis._target = t;\n\t}\n\n\tprotected _triggerEvent: LuPopoverTriggerEvent = 'click';\n\tget triggerEvent() {\n\t\treturn this._triggerEvent;\n\t}\n\n\tset triggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis._triggerEvent = te;\n\t\tif (te === 'hover' || te === 'focus') {\n\t\t\tif (this._hoveredSubscription) {\n\t\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t\t}\n\t\t\tthis._hoveredSubscription = this._hovered$\n\t\t\t\t.pipe(\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tdebounce((h) => (h ? timer(this.enterDelay) : timer(this.leaveDelay))),\n\t\t\t\t)\n\t\t\t\t.subscribe((h) => (h ? this.openPopover() : this.closePopover()));\n\t\t}\n\t}\n\n\tprotected _enterDelay = 50;\n\tget enterDelay() {\n\t\treturn this._enterDelay;\n\t}\n\n\tset enterDelay(d: number) {\n\t\tthis._enterDelay = d;\n\t}\n\n\tprotected _leaveDelay = 50;\n\tget leaveDelay() {\n\t\treturn this._leaveDelay;\n\t}\n\n\tset leaveDelay(d: number) {\n\t\tthis._leaveDelay = d;\n\t}\n\n\tprotected _disabled = false;\n\tget disabled() {\n\t\treturn this._disabled;\n\t}\n\n\tset disabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\tprotected _whenEllipsis = false;\n\tget whenEllipsis() {\n\t\treturn this._whenEllipsis;\n\t}\n\n\tset whenEllipsis(we: boolean) {\n\t\tthis._whenEllipsis = we;\n\t}\n\n\tprotected _triggerId: string;\n\tprotected _panelId: string;\n\n\t/** Event emitted when the associated popover is opened. */\n\tabstract onOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tabstract onClose: Observable<void>;\n\n\tprotected abstract _emitOpen(): void;\n\n\tprotected abstract _emitClose(): void;\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _elementRef: ElementRef<HTMLElement>,\n\t\tprotected _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tthis._triggerId = `popoverTrigger_${generateId()}`;\n\t\tthis._panelId = `popoverPanel_${generateId()}`;\n\t}\n\n\tonClick() {\n\t\tif (this.triggerEvent === 'click' && !this.disabled) {\n\t\t\tthis.togglePopover();\n\t\t}\n\t}\n\n\tonMouseEnter() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(true);\n\t\t}\n\t}\n\n\tonMouseLeave() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(false);\n\t\t}\n\t}\n\n\tonFocus() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.openPopover();\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.closePopover();\n\t\t}\n\t}\n\n\t/** Toggles the popover between the open and closed states. */\n\ttogglePopover(): void {\n\t\treturn this._popoverOpen ? this.closePopover() : this.openPopover();\n\t}\n\n\t/** Opens the popover. */\n\topenPopover(): void {\n\t\tif (!this._popoverOpen && !this._disabled && (!this._whenEllipsis || this._hasEllipsis())) {\n\t\t\tthis._createOverlay();\n\t\t\tthis._attachPortalToOverlay();\n\n\t\t\t/** Only subscribe to overlay detachments if trigger event is hover or focus */\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._subscribeToOverlayDetachments();\n\t\t\t}\n\n\t\t\t/** Only subscribe to backdrop if trigger event is click */\n\t\t\tif (this.triggerEvent === 'click') {\n\t\t\t\tthis._subscribeToBackdrop();\n\t\t\t}\n\n\t\t\t/** Only subscribe to mouse enter/leave of the panel if trigger = hover */\n\n\t\t\tthis._initPopover();\n\t\t\tthis._emitOpen();\n\t\t}\n\t}\n\n\t/** Closes the popover. */\n\tclosePopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\t/** Overlay can still be attached if close has been triggered by mouse leave. */\n\t\t\tif (this._overlayRef.hasAttached()) {\n\t\t\t\tthis._overlayRef.detach();\n\t\t\t}\n\n\t\t\t/** unsubscribe to backdrop click if it was defined */\n\t\t\tif (this._backdropSubscription) {\n\t\t\t\t// if (this.popover.triggerEvent === 'click') {\n\t\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t\t}\n\n\t\t\tthis._resetPopover();\n\t\t\tthis._emitClose();\n\t\t}\n\t}\n\n\t/** Removes the popover from the DOM. */\n\tdestroyPopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayRef.dispose();\n\t\t\tthis._overlayRef = null;\n\t\t\tthis._cleanUpSubscriptions();\n\t\t}\n\t}\n\n\t/** Focuses the popover trigger. */\n\tfocus() {\n\t\tthis._elementRef.nativeElement.focus();\n\t}\n\n\t_handleMousedown(event: MouseEvent): void {\n\t\tif (!isFakeMousedownFromScreenReader(event)) {\n\t\t\tthis._openedByMouse = true;\n\t\t}\n\t}\n\n\t/** The text direction of the containing app. */\n\tget dir(): Direction {\n\t\t// return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n\t\treturn 'ltr';\n\t}\n\n\t/** Return if the popover main positionning is vertical */\n\tget isVerticallyPositionned(): boolean {\n\t\tconst position = this.target.position;\n\t\treturn position === 'below' || position === 'above';\n\t}\n\n\tprotected _attachPortalToOverlay(): void {\n\t\tthis._overlayRef.attach(this._portal);\n\t}\n\n\tprotected _getPanelScrollStrategy(): LuPopoverScrollStrategy {\n\t\treturn this.panel.scrollStrategy;\n\t}\n\n\t/**\n\t * This method ensures that the popover\n\t */\n\tprotected _subscribeToPanelEvents(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._panelEventsSubscriptions = new Subscription();\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\t\tthis.panel.hovered.subscribe((hovered) => {\n\t\t\t\t\t\tthis._hovered$.next(hovered);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.close.subscribe(() => {\n\t\t\t\t\tthis.closePopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.open.subscribe(() => {\n\t\t\t\t\tthis.openPopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay has been detached\n\t * Detach can occur if we scroll while popover is opened\n\t */\n\tprotected _subscribeToOverlayDetachments(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayDetachmentsSubscription = this._overlayRef.detachments().subscribe(() => {\n\t\t\t\tthis._hovered$.next(false);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay backdrop is clicked.\n\t * We do not use first() here because doing so would not catch clicks from within\n\t * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe\n\t * explicitly when the popover is closed or destroyed.\n\t */\n\tprotected _subscribeToBackdrop(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n\t\t\t\tthis.closePopover();\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method sets the popover state to open and focuses the first item if\n\t * the popover was opened via the keyboard.\n\t */\n\tprotected _initPopover(): void {\n\t\tthis._setIsPopoverOpen(true);\n\t\tthis.panel.panelId = this._panelId;\n\t\tthis.panel.triggerId = this._triggerId;\n\t\tthis.panel.keydownEvents$ = this._overlayRef.keydownEvents();\n\t\tthis._subscribeToPanelEvents();\n\t}\n\n\t/**\n\t * This method resets the popover when it's closed, most importantly restoring\n\t * focus to the popover trigger if the popover was opened via the keyboard.\n\t */\n\tprotected _resetPopover(): void {\n\t\tthis._setIsPopoverOpen(false);\n\n\t\t// Focus only needs to be reset to the host element if the popover was opened\n\t\t// by the keyboard and manually shifted to the first popover item.\n\t\tif (!this._openedByMouse && this.triggerEvent === 'click') {\n\t\t\tthis.focus();\n\t\t}\n\t\tthis._openedByMouse = false;\n\t}\n\n\t/** set state rather than toggle to support triggers sharing a popover */\n\tprotected _setIsPopoverOpen(isOpen: boolean): void {\n\t\tthis._popoverOpen = isOpen;\n\t\t// tell the panel it's opening/closing\n\t\tif (isOpen) {\n\t\t\tthis.panel.onOpen();\n\t\t} else {\n\t\t\tthis.panel.onClose();\n\t\t}\n\t}\n\n\t/**\n\t * This method checks that a valid instance of MdPopover has been passed into\n\t * mdPopoverTriggerFor. If not, an exception is thrown.\n\t */\n\tprotected _checkPanel() {\n\t\tif (!this.panel) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a lu-popover instance.\n Example:\n <lu-popover #popover=\"LuPopover\" />\n <button type=\"button\" [luPopover]=\"popover\"></button>`);\n\t\t}\n\t}\n\n\tprotected _checkTarget() {\n\t\tif (!this.target) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a popover target instance.`);\n\t\t}\n\t}\n\n\t/**\n\t * This method creates the overlay from the provided popover's template and saves its\n\t * OverlayRef so that it can be attached to the DOM when openPopover is called.\n\t */\n\tprotected _createOverlay(): OverlayRef {\n\t\tif (!this._overlayRef) {\n\t\t\tthis._portal = new TemplatePortal(this.panel.templateRef, this._viewContainerRef);\n\t\t\tconst config = this._getOverlayConfig();\n\t\t\tthis._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\n\t\t\tthis._overlayRef = this._overlay.create(config);\n\t\t\tthis._panel.overlayRef = this._overlayRef;\n\t\t}\n\n\t\treturn this._overlayRef;\n\t}\n\n\t/**\n\t * This method builds the configuration object needed to create the overlay, the OverlayConfig.\n\t * @returns OverlayConfig\n\t */\n\tprotected _getOverlayConfig(): OverlayConfig {\n\t\tconst overlayState = new OverlayConfig();\n\t\toverlayState.positionStrategy = this._getPosition();\n\t\t/** Display overlay backdrop if trigger event is click */\n\t\tif (this.triggerEvent === 'click') {\n\t\t\toverlayState.hasBackdrop = true;\n\t\t\toverlayState.backdropClass = 'cdk-overlay-transparent-backdrop';\n\t\t}\n\n\t\toverlayState.direction = this.dir;\n\t\tconst scrollStrategy = this._getPanelScrollStrategy();\n\t\tswitch (scrollStrategy) {\n\t\t\tcase 'block':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.block();\n\t\t\t\tbreak;\n\n\t\t\tcase 'close':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.close();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.reposition();\n\t\t\t\tbreak;\n\t\t}\n\t\treturn overlayState;\n\t}\n\n\t/**\n\t * Listens to changes in the position of the overlay and sets the correct classes\n\t * on the popover based on the new position. This ensures the animation origin is always\n\t * correct, even if a fallback position is used for the overlay.\n\t */\n\tprotected _subscribeToPositions(position: FlexibleConnectedPositionStrategy): void {\n\t\tthis._positionSubscription = position.positionChanges\n\t\t\t.pipe(\n\t\t\t\tmap((c) => c.connectionPair),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe((connectionPair) => {\n\t\t\t\tthis.panel.setPositionClasses(connectionPair.overlayX, connectionPair.overlayY);\n\t\t\t});\n\t}\n\n\t/**\n\t * This method builds the position strategy for the overlay, so the popover is properly connected\n\t * to the trigger.\n\t * @returns FlexibleConnectedPositionStrategy\n\t */\n\tprotected _getPosition(): FlexibleConnectedPositionStrategy {\n\t\t/**\n\t\t * For overriding position element, when LuPopoverTargetAt has a valid element reference.\n\t\t * Useful for sticking popover to parent element and offsetting arrow to trigger element.\n\t\t * If undefined defaults to the trigger element reference.\n\t\t */\n\t\tconst element = this.target.elementRef;\n\t\t// if (typeof this.targetElement !== 'undefined' && this.popover) {\n\t\t// \tthis.popover.containerPositioning = true;\n\t\t// \telement = this.targetElement._elementRef;\n\t\t// }\n\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tconst position = this.target.position;\n\t\tconst overlap = this.target.overlap;\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = overlap ? 'bottom' : 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = overlap ? 'top' : 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = overlap ? 'end' : 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = overlap ? 'start' : 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tconst alignment = this.target.alignment;\n\t\tif (this.isVerticallyPositionned) {\n\t\t\tif (alignment === 'left') {\n\t\t\t\tconnectionPosition.originX = 'start';\n\t\t\t} else if (alignment === 'right') {\n\t\t\t\tconnectionPosition.originX = 'end';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originX = 'center';\n\t\t\t}\n\t\t} else {\n\t\t\tif (alignment === 'top') {\n\t\t\t\tconnectionPosition.originY = 'top';\n\t\t\t} else if (alignment === 'bottom') {\n\t\t\t\tconnectionPosition.originY = 'bottom';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originY = 'center';\n\t\t\t}\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (overlap) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t} else if (this.isVerticallyPositionned) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn this._overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(element)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t])\n\t\t\t.withDefaultOffsetX(this.target.offsetX)\n\t\t\t.withDefaultOffsetY(this.target.offsetY);\n\t}\n\n\tprotected _invertVerticalPos(y: VerticalConnectionPos) {\n\t\tif (y === 'top') {\n\t\t\ty = 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\ty = 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprotected _invertHorizontalPos(x: HorizontalConnectionPos) {\n\t\tif (x === 'end') {\n\t\t\tx = 'start';\n\t\t} else if (x === 'start') {\n\t\t\tx = 'end';\n\t\t}\n\n\t\treturn x;\n\t}\n\n\tprotected _cleanUpSubscriptions(): void {\n\t\tif (this._backdropSubscription) {\n\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t}\n\t\tif (this._positionSubscription) {\n\t\t\tthis._positionSubscription.unsubscribe();\n\t\t}\n\t\tif (this._hoveredSubscription) {\n\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t}\n\t\tif (this._panelEventsSubscriptions) {\n\t\t\tthis._panelEventsSubscriptions.unsubscribe();\n\t\t}\n\t\tif (this._overlayDetachmentsSubscription) {\n\t\t\tthis._overlayDetachmentsSubscription.unsubscribe();\n\t\t}\n\t}\n\n\tprotected _hasEllipsis(): boolean {\n\t\tif (!(this._elementRef.nativeElement instanceof HTMLElement)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { scrollWidth, scrollHeight, clientWidth, clientHeight } = this._elementRef.nativeElement;\n\n\t\tconst textClampedByWidth = scrollWidth > clientWidth;\n\t\tconst textClampedByHeight = scrollHeight > clientHeight;\n\n\t\treturn textClampedByWidth || textClampedByHeight;\n\t}\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, ViewContainerRef } from '@angular/core';\nimport { ILuPopoverPanel } from '../panel/index';\nimport { ILuPopoverTarget, LuPopoverAlignment, LuPopoverPosition, LuPopoverTarget } from '../target/index';\nimport { ALuPopoverTrigger, ILuPopoverTrigger, LuPopoverTriggerEvent } from './popover-trigger.model';\n\n@Directive({\n\tselector: '[luPopover]',\n\texportAs: 'LuPopoverTrigger',\n})\nexport class LuPopoverTriggerDirective<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget>\n\textends ALuPopoverTrigger<TPanel, TTarget>\n\timplements ILuPopoverTrigger<TPanel, TTarget>, AfterViewInit, OnDestroy\n{\n\t/** References the popover instance that the trigger is associated with. */\n\t@Input('luPopover') set inputPanel(p: TPanel) {\n\t\tthis.panel = p;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTarget') set inputTarget(t: TTarget) {\n\t\tthis.target = t;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTrigger') set inputTriggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis.triggerEvent = te;\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnOpen') onOpen = new EventEmitter<void>();\n\n\t/** Event emitted when the associated popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnClose') onClose = new EventEmitter<void>();\n\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.target.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.target.alignment = al;\n\t}\n\n\t/** when trigger = hover, delay before the popover panel appears */\n\t@Input('luPopoverEnterDelay') set inputEnterDelay(d: number) {\n\t\tthis.enterDelay = d;\n\t}\n\t/** when trigger = hover, delay before the popover panel disappears */\n\t@Input('luPopoverLeaveDelay') set inputLeaveDelay(d: number) {\n\t\tthis.leaveDelay = d;\n\t}\n\n\t/** disable popover apparition */\n\t@Input('luPopoverDisabled') set inputDisabled(d: boolean) {\n\t\tthis.disabled = d;\n\t}\n\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.target.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.target.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.target.offsetY = oy;\n\t}\n\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-expanded') get _attrAriaExpanded() {\n\t\treturn this._popoverOpen;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.id') get _attrId() {\n\t\treturn this._triggerId;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-controls') get _attrAriaControls() {\n\t\treturn this._panelId;\n\t}\n\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget() as ILuPopoverTarget as TTarget;\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;\n\t}\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._checkPanel();\n\t\tthis._checkTarget();\n\t}\n\tngOnDestroy() {\n\t\tthis._cleanUpSubscriptions();\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t}\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\nimport { LuPopoverTriggerDirective } from './popover-trigger.directive';\n\n/**\n * @deprecated use `LuPopoverTriggerDirective, OverlayModule` instead\n */\n@NgModule({\n\timports: [LuPopoverTriggerDirective, OverlayModule],\n\texports: [LuPopoverTriggerDirective],\n})\nexport class LuPopoverTriggerModule {}\n","import { NgModule } from '@angular/core';\n\nimport { LuPopoverPanelComponent } from './panel/index';\nimport { LuPopoverTargetDirective } from './target/index';\nimport { LuPopoverTriggerDirective } from './trigger/index';\n\n/**\n * @deprecated use `LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective` instead\n */\n@NgModule({\n\timports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n\texports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n})\nexport class LuPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}