@lucca-front/ng 17.4.3 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/esm2022/a11y/skip-links/skip-links.component.mjs +3 -3
  2. package/esm2022/api/api.module.mjs +4 -4
  3. package/esm2022/api/select/api-select.module.mjs +4 -4
  4. package/esm2022/api/select/feeder/api-feeder.component.mjs +3 -3
  5. package/esm2022/api/select/feeder/api-feeder.module.mjs +4 -4
  6. package/esm2022/api/select/input/api-select-input.component.mjs +3 -3
  7. package/esm2022/api/select/input/api-select-input.module.mjs +4 -4
  8. package/esm2022/api/select/pager/api-pager.component.mjs +3 -3
  9. package/esm2022/api/select/pager/api-pager.model.mjs +1 -1
  10. package/esm2022/api/select/pager/api-pager.module.mjs +4 -4
  11. package/esm2022/api/select/searcher/api-searcher.component.mjs +6 -6
  12. package/esm2022/api/select/searcher/api-searcher.model.mjs +1 -1
  13. package/esm2022/api/select/searcher/api-searcher.module.mjs +4 -4
  14. package/esm2022/api/service/api-hybrid.service.mjs +4 -4
  15. package/esm2022/api/service/api-v3.service.mjs +4 -4
  16. package/esm2022/api/service/api-v4.service.mjs +4 -4
  17. package/esm2022/button/button.component.mjs +4 -4
  18. package/esm2022/callout/callout/callout.component.mjs +4 -4
  19. package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +4 -4
  20. package/esm2022/callout/callout-feedback-item/callout-feedback-item.component.mjs +6 -6
  21. package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +3 -3
  22. package/esm2022/callout/callout-popover/callout-popover.component.mjs +4 -4
  23. package/esm2022/core/date/date-adapter.class.mjs +1 -1
  24. package/esm2022/core/date/native/native-date.adapter.mjs +5 -5
  25. package/esm2022/core/date/string/string-date.adapter.mjs +4 -4
  26. package/esm2022/core/portal/portal.directive.mjs +4 -4
  27. package/esm2022/core/tools/class.mjs +4 -4
  28. package/esm2022/core/translate/intl-params.pipe.mjs +3 -3
  29. package/esm2022/core/translate/intl.model.mjs +1 -1
  30. package/esm2022/core-select/api/api-v3.directive.mjs +3 -3
  31. package/esm2022/core-select/api/api-v4.directive.mjs +3 -3
  32. package/esm2022/core-select/api/api.directive.mjs +4 -4
  33. package/esm2022/core-select/displayer/displayer.directive.mjs +3 -3
  34. package/esm2022/core-select/establishment/establishment-grouping.component.mjs +3 -3
  35. package/esm2022/core-select/establishment/establishment-grouping.service.mjs +3 -3
  36. package/esm2022/core-select/establishment/establishments.directive.mjs +4 -4
  37. package/esm2022/core-select/input/select-input.component.mjs +4 -4
  38. package/esm2022/core-select/input/select-input.models.mjs +4 -4
  39. package/esm2022/core-select/job-qualification/job-qualification-grouping.component.mjs +3 -3
  40. package/esm2022/core-select/job-qualification/job-qualifications.directive.mjs +3 -3
  41. package/esm2022/core-select/option/default-option.component.mjs +3 -3
  42. package/esm2022/core-select/option/disabled.directive.mjs +4 -4
  43. package/esm2022/core-select/option/group.directive.mjs +3 -3
  44. package/esm2022/core-select/option/group.pipe.mjs +4 -4
  45. package/esm2022/core-select/option/option-outlet.directive.mjs +4 -4
  46. package/esm2022/core-select/option/option.component.mjs +4 -4
  47. package/esm2022/core-select/option/option.directive.mjs +3 -3
  48. package/esm2022/core-select/panel/panel.utils.mjs +1 -1
  49. package/esm2022/core-select/user/user-displayer.component.mjs +6 -6
  50. package/esm2022/core-select/user/user-homonym.service.mjs +4 -4
  51. package/esm2022/core-select/user/user-option.component.mjs +8 -8
  52. package/esm2022/core-select/user/users.directive.mjs +3 -3
  53. package/esm2022/date/adapter/date-adapter.module.mjs +4 -4
  54. package/esm2022/date/adapter/date-adapter.pipe.mjs +4 -4
  55. package/esm2022/date/calendar/calendar-input.component.mjs +6 -6
  56. package/esm2022/date/calendar/calendar-input.module.mjs +4 -4
  57. package/esm2022/date/calendar/calendar-item.class.mjs +1 -1
  58. package/esm2022/date/calendar/calendar-item.factory.mjs +3 -3
  59. package/esm2022/date/date.module.mjs +4 -4
  60. package/esm2022/date/input/date-input.directive.mjs +4 -4
  61. package/esm2022/date/input/date-input.module.mjs +4 -4
  62. package/esm2022/date/picker/date-picker.component.mjs +4 -4
  63. package/esm2022/date/picker/date-picker.module.mjs +4 -4
  64. package/esm2022/date/select/date-select-input.component.mjs +4 -4
  65. package/esm2022/date/select/date-select-input.module.mjs +4 -4
  66. package/esm2022/department/department.module.mjs +4 -4
  67. package/esm2022/department/select/department-select.module.mjs +4 -4
  68. package/esm2022/department/select/feeder/department-feeder.component.mjs +3 -3
  69. package/esm2022/department/select/feeder/department-feeder.module.mjs +4 -4
  70. package/esm2022/department/select/input/department-select-input.component.mjs +3 -3
  71. package/esm2022/department/select/input/department-select-input.module.mjs +4 -4
  72. package/esm2022/department/service/department-v3.service.mjs +4 -4
  73. package/esm2022/dialog/dialog/dialog.component.mjs +4 -4
  74. package/esm2022/dialog/dialog-content/dialog-content.component.mjs +3 -3
  75. package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  76. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +4 -4
  77. package/esm2022/dialog/dialog.service.mjs +4 -4
  78. package/esm2022/dialog/directives/dialog-close.directive.mjs +3 -3
  79. package/esm2022/dialog/directives/dialog-dismiss.directive.mjs +3 -3
  80. package/esm2022/dialog/directives/dialog-open.directive.mjs +3 -3
  81. package/esm2022/dialog/model/dialog-ref.mjs +1 -1
  82. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  83. package/esm2022/dropdown/item/dropdown-item.directive.mjs +3 -3
  84. package/esm2022/dropdown/item/dropdown-item.module.mjs +4 -4
  85. package/esm2022/dropdown/panel/dropdown-panel.component.mjs +4 -4
  86. package/esm2022/dropdown/panel/dropdown-panel.module.mjs +4 -4
  87. package/esm2022/dropdown/trigger/dropdown-trigger.directive.mjs +4 -4
  88. package/esm2022/dropdown/trigger/dropdown-trigger.module.mjs +4 -4
  89. package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +5 -5
  90. package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +5 -5
  91. package/esm2022/establishment/establishment.module.mjs +4 -4
  92. package/esm2022/establishment/select/establishment-select.module.mjs +4 -4
  93. package/esm2022/establishment/select/for-legal-units/for-legal-units.directive.mjs +4 -4
  94. package/esm2022/establishment/select/for-legal-units/for-legal-units.module.mjs +4 -4
  95. package/esm2022/establishment/select/input/establishment-select-input.component.mjs +3 -3
  96. package/esm2022/establishment/select/input/establishment-select-input.module.mjs +4 -4
  97. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +4 -4
  98. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.module.mjs +4 -4
  99. package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +4 -4
  100. package/esm2022/establishment/select/searcher/establishment-searcher.module.mjs +4 -4
  101. package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +3 -3
  102. package/esm2022/establishment/select/select-all/establishment-select-all.module.mjs +4 -4
  103. package/esm2022/establishment/service/establishment.service.mjs +4 -4
  104. package/esm2022/establishment/service/legal-unit.service.mjs +4 -4
  105. package/esm2022/form-field/form-field.component.mjs +4 -4
  106. package/esm2022/form-field/input.directive.mjs +4 -4
  107. package/esm2022/formly/formly.config.mjs +4 -4
  108. package/esm2022/formly/formly.module.mjs +4 -4
  109. package/esm2022/formly/formly.utils.mjs +1 -1
  110. package/esm2022/formly/types/api.mjs +3 -3
  111. package/esm2022/formly/types/checkbox.mjs +3 -3
  112. package/esm2022/formly/types/date.mjs +3 -3
  113. package/esm2022/formly/types/department.mjs +3 -3
  114. package/esm2022/formly/types/establishment.mjs +3 -3
  115. package/esm2022/formly/types/input.mjs +3 -3
  116. package/esm2022/formly/types/qualification.mjs +3 -3
  117. package/esm2022/formly/types/radios.mjs +3 -3
  118. package/esm2022/formly/types/select.mjs +3 -3
  119. package/esm2022/formly/types/textarea.mjs +3 -3
  120. package/esm2022/formly/types/user.mjs +3 -3
  121. package/esm2022/formly/wrappers/checkbox-layout.mjs +3 -3
  122. package/esm2022/formly/wrappers/error.mjs +7 -7
  123. package/esm2022/formly/wrappers/helper.mjs +3 -3
  124. package/esm2022/formly/wrappers/icon.mjs +3 -3
  125. package/esm2022/formly/wrappers/radiosfield-layout.mjs +3 -3
  126. package/esm2022/formly/wrappers/suffix.mjs +3 -3
  127. package/esm2022/formly/wrappers/textfield-layout.mjs +3 -3
  128. package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +4 -4
  129. package/esm2022/forms/form-field-id.directive.mjs +4 -4
  130. package/esm2022/forms/inject-ng-control.mjs +1 -1
  131. package/esm2022/forms/noop-value-accessor.directive.mjs +3 -3
  132. package/esm2022/forms/number-input/number-input.component.mjs +3 -3
  133. package/esm2022/forms/radio-group-input/radio/radio.component.mjs +3 -3
  134. package/esm2022/forms/radio-group-input/radio-group-input.component.mjs +4 -4
  135. package/esm2022/forms/switch-input/switch-input.component.mjs +4 -4
  136. package/esm2022/forms/text-input/text-input.component.mjs +3 -3
  137. package/esm2022/forms/textarea-input/textarea-input.component.mjs +3 -3
  138. package/esm2022/icon/icon.component.mjs +5 -5
  139. package/esm2022/inline-message/inline-message.component.mjs +3 -3
  140. package/esm2022/input/clearer/clearer.component.mjs +3 -3
  141. package/esm2022/input/clearer/clearer.module.mjs +4 -4
  142. package/esm2022/input/displayer/input-displayer.directive.mjs +4 -4
  143. package/esm2022/input/displayer/input-displayer.module.mjs +4 -4
  144. package/esm2022/input/input.directive.mjs +4 -4
  145. package/esm2022/input/input.model.mjs +1 -1
  146. package/esm2022/input/input.module.mjs +4 -4
  147. package/esm2022/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.mjs +4 -4
  148. package/esm2022/modal/modal-panel.component.mjs +10 -10
  149. package/esm2022/modal/modal-ref.factory.mjs +4 -4
  150. package/esm2022/modal/modal.module.mjs +4 -4
  151. package/esm2022/modal/modal.service.mjs +3 -3
  152. package/esm2022/modal/modal.utils.mjs +1 -1
  153. package/esm2022/multi-select/displayer/default-displayer.component.mjs +4 -4
  154. package/esm2022/multi-select/displayer/displayer-input.directive.mjs +4 -4
  155. package/esm2022/multi-select/displayer/displayer.directive.mjs +3 -3
  156. package/esm2022/multi-select/input/panel-ref.factory.mjs +4 -4
  157. package/esm2022/multi-select/input/select-input.component.mjs +4 -4
  158. package/esm2022/multi-select/panel/not-selected.pipe.mjs +3 -3
  159. package/esm2022/multi-select/panel/option-selected.pipe.mjs +3 -3
  160. package/esm2022/multi-select/panel/panel.component.mjs +4 -4
  161. package/esm2022/multi-select/panel/selected-chip.directive.mjs +3 -3
  162. package/esm2022/new-badge/new-badge.component.mjs +3 -3
  163. package/esm2022/number/number.module.mjs +4 -4
  164. package/esm2022/number/number.pipe.mjs +4 -4
  165. package/esm2022/numeric-badge/numeric-badge.component.mjs +4 -4
  166. package/esm2022/option/item/option-item.component.mjs +4 -4
  167. package/esm2022/option/item/option-item.module.mjs +4 -4
  168. package/esm2022/option/item/tree-option-item.component.mjs +4 -4
  169. package/esm2022/option/item/tree-option-item.module.mjs +4 -4
  170. package/esm2022/option/operator/feeder/option-feeder.component.mjs +3 -3
  171. package/esm2022/option/operator/feeder/option-feeder.module.mjs +4 -4
  172. package/esm2022/option/operator/feeder/tree-option-feeder.component.mjs +3 -3
  173. package/esm2022/option/operator/feeder/tree-option-feeder.module.mjs +4 -4
  174. package/esm2022/option/operator/for-groups/for-groups.directive.mjs +4 -4
  175. package/esm2022/option/operator/for-groups/for-groups.module.mjs +4 -4
  176. package/esm2022/option/operator/for-options/for-options.directive.mjs +4 -4
  177. package/esm2022/option/operator/for-options/for-options.module.mjs +4 -4
  178. package/esm2022/option/operator/for-options/for-tree-options.directive.mjs +3 -3
  179. package/esm2022/option/operator/for-options/for-tree-options.module.mjs +4 -4
  180. package/esm2022/option/operator/option-operator.module.mjs +4 -4
  181. package/esm2022/option/operator/pager/option-pager.component.mjs +3 -3
  182. package/esm2022/option/operator/pager/option-pager.module.mjs +4 -4
  183. package/esm2022/option/operator/pager/tree-option-pager.component.mjs +4 -4
  184. package/esm2022/option/operator/pager/tree-option-pager.module.mjs +4 -4
  185. package/esm2022/option/operator/searcher/option-searcher.component.mjs +3 -3
  186. package/esm2022/option/operator/searcher/option-searcher.module.mjs +4 -4
  187. package/esm2022/option/operator/searcher/tree-option-searcher.component.mjs +4 -4
  188. package/esm2022/option/operator/searcher/tree-option-searcher.module.mjs +4 -4
  189. package/esm2022/option/operator/tree-option-operator.module.mjs +4 -4
  190. package/esm2022/option/option.module.mjs +4 -4
  191. package/esm2022/option/picker/option-picker-advanced.component.mjs +7 -7
  192. package/esm2022/option/picker/option-picker.component.mjs +7 -7
  193. package/esm2022/option/picker/option-picker.model.mjs +1 -1
  194. package/esm2022/option/picker/option-picker.module.mjs +4 -4
  195. package/esm2022/option/picker/tree-option-picker-advanced.component.mjs +7 -7
  196. package/esm2022/option/picker/tree-option-picker.component.mjs +7 -7
  197. package/esm2022/option/picker/tree-option-picker.module.mjs +4 -4
  198. package/esm2022/option/placeholder/option-placeholder.component.mjs +3 -3
  199. package/esm2022/option/placeholder/option-placeholder.module.mjs +4 -4
  200. package/esm2022/option/selector/all/select-all.component.mjs +3 -3
  201. package/esm2022/option/selector/all/select-all.module.mjs +4 -4
  202. package/esm2022/option/selector/all/tree-select-all.component.mjs +3 -3
  203. package/esm2022/option/selector/all/tree-select-all.module.mjs +4 -4
  204. package/esm2022/option/selector/option-selector.module.mjs +4 -4
  205. package/esm2022/option/selector/tree-option-selector.module.mjs +4 -4
  206. package/esm2022/option/tree-option.module.mjs +4 -4
  207. package/esm2022/popover/panel/popover-panel.component.mjs +3 -3
  208. package/esm2022/popover/panel/popover-panel.model.mjs +1 -1
  209. package/esm2022/popover/panel/popover-panel.module.mjs +4 -4
  210. package/esm2022/popover/popover.module.mjs +4 -4
  211. package/esm2022/popover/target/popover-target.directive.mjs +3 -3
  212. package/esm2022/popover/target/popover-target.model.mjs +1 -1
  213. package/esm2022/popover/target/popover-target.module.mjs +4 -4
  214. package/esm2022/popover/trigger/popover-trigger.directive.mjs +4 -4
  215. package/esm2022/popover/trigger/popover-trigger.model.mjs +1 -1
  216. package/esm2022/popover/trigger/popover-trigger.module.mjs +4 -4
  217. package/esm2022/popup/popup-ref.factory.mjs +4 -4
  218. package/esm2022/popup/popup-ref.model.mjs +1 -1
  219. package/esm2022/popup/popup.module.mjs +4 -4
  220. package/esm2022/popup/popup.service.mjs +3 -3
  221. package/esm2022/popup-employee/card/panel/user-popover-panel.component.mjs +4 -4
  222. package/esm2022/popup-employee/card/pipe/inject-parameter.pipe.mjs +3 -3
  223. package/esm2022/popup-employee/card/pipe/is-future.pipe.mjs +6 -6
  224. package/esm2022/popup-employee/card/pipe/leave-ends-display.pipe.mjs +4 -4
  225. package/esm2022/popup-employee/card/trigger/user-popover-trigger.directive.mjs +4 -4
  226. package/esm2022/popup-employee/service/user-popover.store.mjs +4 -4
  227. package/esm2022/qualification/qualification.module.mjs +4 -4
  228. package/esm2022/qualification/select/input/qualification-select-input.component.mjs +3 -3
  229. package/esm2022/qualification/select/input/qualification-select-input.module.mjs +4 -4
  230. package/esm2022/qualification/select/qualification-select.module.mjs +4 -4
  231. package/esm2022/safe-content/safe-content.module.mjs +4 -4
  232. package/esm2022/safe-content/safe-external-svg.pipe.mjs +4 -4
  233. package/esm2022/safe-content/safe-html.pipe.mjs +3 -3
  234. package/esm2022/scroll/scroll.directive.mjs +4 -4
  235. package/esm2022/scroll/scroll.module.mjs +4 -4
  236. package/esm2022/select/input/select-input.component.mjs +7 -7
  237. package/esm2022/select/input/select-input.model.mjs +1 -1
  238. package/esm2022/select/input/select-input.module.mjs +4 -4
  239. package/esm2022/select/select.module.mjs +4 -4
  240. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  241. package/esm2022/sidepanel/sidepanel.service.mjs +3 -3
  242. package/esm2022/simple-select/input/panel-ref.factory.mjs +4 -4
  243. package/esm2022/simple-select/input/select-input.component.mjs +3 -3
  244. package/esm2022/simple-select/panel/option-selected.pipe.mjs +3 -3
  245. package/esm2022/simple-select/panel/panel.component.mjs +4 -4
  246. package/esm2022/title/title.module.mjs +4 -4
  247. package/esm2022/title/title.service.mjs +4 -4
  248. package/esm2022/title/title.strategy.mjs +4 -4
  249. package/esm2022/toast/toasts.component.mjs +3 -3
  250. package/esm2022/toast/toasts.module.mjs +4 -4
  251. package/esm2022/toast/toasts.service.mjs +3 -3
  252. package/esm2022/tooltip/panel/tooltip-panel.component.mjs +3 -3
  253. package/esm2022/tooltip/panel/tooltip-panel.module.mjs +4 -4
  254. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  255. package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +4 -4
  256. package/esm2022/tooltip/trigger/tooltip-trigger.module.mjs +4 -4
  257. package/esm2022/user/display/user-display.module.mjs +4 -4
  258. package/esm2022/user/display/user-display.pipe.mjs +4 -4
  259. package/esm2022/user/picture/user-picture.component.mjs +4 -4
  260. package/esm2022/user/picture/user-picture.module.mjs +4 -4
  261. package/esm2022/user/select/homonyms/user-homonyms.component.mjs +3 -3
  262. package/esm2022/user/select/homonyms/user-homonyms.module.mjs +4 -4
  263. package/esm2022/user/select/homonyms/user-homonyms.service.mjs +4 -4
  264. package/esm2022/user/select/input/user-select-input.component.mjs +3 -3
  265. package/esm2022/user/select/input/user-select-input.module.mjs +4 -4
  266. package/esm2022/user/select/me/me-option.directive.mjs +4 -4
  267. package/esm2022/user/select/me/me-option.module.mjs +4 -4
  268. package/esm2022/user/select/searcher/user-searcher.component.mjs +4 -4
  269. package/esm2022/user/select/searcher/user-searcher.module.mjs +4 -4
  270. package/esm2022/user/select/user-select.module.mjs +4 -4
  271. package/esm2022/user/service/user-v3.service.mjs +4 -4
  272. package/esm2022/user/tile/user-tile.component.mjs +4 -4
  273. package/esm2022/user/tile/user-tile.module.mjs +4 -4
  274. package/esm2022/user/user.module.mjs +4 -4
  275. package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
  276. package/fesm2022/lucca-front-ng-animations.mjs +1 -1
  277. package/fesm2022/lucca-front-ng-api.mjs +48 -48
  278. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  279. package/fesm2022/lucca-front-ng-button.mjs +3 -3
  280. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  281. package/fesm2022/lucca-front-ng-callout.mjs +19 -19
  282. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  283. package/fesm2022/lucca-front-ng-core-select-api.mjs +10 -10
  284. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  285. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +10 -10
  286. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  287. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +7 -7
  288. package/fesm2022/lucca-front-ng-core-select-user.mjs +19 -19
  289. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  290. package/fesm2022/lucca-front-ng-core-select.mjs +31 -31
  291. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  292. package/fesm2022/lucca-front-ng-core.mjs +17 -17
  293. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  294. package/fesm2022/lucca-front-ng-date.mjs +45 -45
  295. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  296. package/fesm2022/lucca-front-ng-department.mjs +25 -25
  297. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  298. package/fesm2022/lucca-front-ng-dialog.mjs +25 -25
  299. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  300. package/fesm2022/lucca-front-ng-dropdown.mjs +25 -25
  301. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  302. package/fesm2022/lucca-front-ng-empty-state.mjs +8 -8
  303. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  304. package/fesm2022/lucca-front-ng-establishment.mjs +50 -50
  305. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  306. package/fesm2022/lucca-front-ng-form-field.mjs +7 -7
  307. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  308. package/fesm2022/lucca-front-ng-formly.mjs +64 -64
  309. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  310. package/fesm2022/lucca-front-ng-forms.mjs +27 -27
  311. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  312. package/fesm2022/lucca-front-ng-icon.mjs +4 -4
  313. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  314. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  315. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  316. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  317. package/fesm2022/lucca-front-ng-modal.mjs +23 -23
  318. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  319. package/fesm2022/lucca-front-ng-multi-select.mjs +39 -39
  320. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  321. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  322. package/fesm2022/lucca-front-ng-number.mjs +8 -8
  323. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  324. package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
  325. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  326. package/fesm2022/lucca-front-ng-option.mjs +156 -156
  327. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  328. package/fesm2022/lucca-front-ng-popover.mjs +26 -26
  329. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  330. package/fesm2022/lucca-front-ng-popup-employee.mjs +23 -23
  331. package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
  332. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  333. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  334. package/fesm2022/lucca-front-ng-qualification.mjs +15 -15
  335. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  336. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  337. package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
  338. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  339. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  340. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  341. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  342. package/fesm2022/lucca-front-ng-simple-select.mjs +19 -19
  343. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  344. package/fesm2022/lucca-front-ng-title.mjs +11 -11
  345. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  346. package/fesm2022/lucca-front-ng-toast.mjs +10 -10
  347. package/fesm2022/lucca-front-ng-tooltip.mjs +19 -19
  348. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  349. package/fesm2022/lucca-front-ng-user.mjs +64 -64
  350. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  351. package/forms/checkbox-input/checkbox-input.component.d.ts +1 -1
  352. package/forms/inject-ng-control.d.ts +1 -1
  353. package/forms/number-input/number-input.component.d.ts +1 -1
  354. package/forms/radio-group-input/radio-group-input.component.d.ts +1 -1
  355. package/forms/switch-input/switch-input.component.d.ts +1 -1
  356. package/forms/text-input/text-input.component.d.ts +1 -1
  357. package/forms/textarea-input/textarea-input.component.d.ts +1 -1
  358. package/package.json +21 -21
  359. package/schematics/lib/local-deps/package-lock.json +207 -207
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select.mjs","sources":["../../../packages/ng/core-select/displayer/displayer.directive.ts","../../../packages/ng/core-select/option/option.token.ts","../../../packages/ng/core-select/option/default-option.component.ts","../../../packages/ng/core-select/option/disabled.directive.ts","../../../packages/ng/core-select/option/group.directive.ts","../../../packages/ng/core-select/option/group.pipe.ts","../../../packages/ng/core-select/option/option-outlet.directive.ts","../../../packages/ng/core-select/select.model.ts","../../../packages/ng/core-select/option/option.component.ts","../../../packages/ng/core-select/option/option.component.html","../../../packages/ng/core-select/option/option.directive.ts","../../../packages/ng/core-select/select.translate.ts","../../../packages/ng/core-select/input/select-input.component.ts","../../../packages/ng/core-select/input/select-input.models.ts","../../../packages/ng/core-select/panel/panel.models.ts","../../../packages/ng/core-select/panel/panel.utils.ts","../../../packages/ng/core-select/lucca-front-ng-core-select.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\nimport { ALuSelectInputComponent } from '../input';\nimport { LuOptionContext } from '../select.model';\n\n@Directive({\n\tselector: '[luDisplayer]',\n\tstandalone: true,\n})\nexport class LuDisplayerDirective<TOption, TValue> {\n\t@Input('luDisplayerSelect') set select(select: ALuSelectInputComponent<TOption, TValue>) {\n\t\tselect.valueTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<TOption>>) {}\n\n\tpublic static ngTemplateContextGuard<TOption, TValue>(_dir: LuDisplayerDirective<TOption, TValue>, ctx: unknown): ctx is LuOptionContext<TOption> {\n\t\treturn true;\n\t}\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface ILuOptionContext<T> {\n\tisDisabled$: BehaviorSubject<boolean>;\n\toption$: BehaviorSubject<T | undefined>;\n\tdestroy(): void;\n}\n\nexport const LU_OPTION_CONTEXT = new InjectionToken<ILuOptionContext<unknown>>('LuOptionContext');\n\nfunction optionContextFactory<T>(): ILuOptionContext<T> {\n\tconst isDisabled$ = new BehaviorSubject(false);\n\tconst option$ = new BehaviorSubject<T | undefined>(undefined);\n\treturn {\n\t\tisDisabled$,\n\t\toption$,\n\t\tdestroy(): void {\n\t\t\tisDisabled$.complete();\n\t\t\toption$.complete();\n\t\t},\n\t};\n}\n\nexport function provideOptionContext(): Provider {\n\treturn {\n\t\tprovide: LU_OPTION_CONTEXT,\n\t\tuseFactory: optionContextFactory,\n\t};\n}\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from './option.token';\n\n@Component({\n\tselector: 'lu-simple-select-default-option',\n\tstandalone: true,\n\timports: [AsyncPipe, NgIf],\n\ttemplate: `<ng-container *ngIf=\"context.option$ | async as option\">{{ option?.name ?? option }}</ng-container>`,\n})\nexport class LuSimpleSelectDefaultOptionComponent {\n\tpublic context = inject<ILuOptionContext<{ name?: string }>>(LU_OPTION_CONTEXT);\n}\n","import { Directive, inject, Input } from '@angular/core';\nimport { LU_OPTION_CONTEXT } from './option.token';\n\n@Directive({\n\tselector: '[luDisabledOption]',\n\tstandalone: true,\n})\nexport class LuDisabledOptionDirective {\n\tprivate context = inject(LU_OPTION_CONTEXT);\n\n\t@Input('luDisabledOption') public set isDisabled(disabled: boolean | null) {\n\t\tif (disabled !== null) {\n\t\t\tthis.context.isDisabled$.next(disabled);\n\t\t}\n\t}\n}\n","import { Directive, inject, Input, OnInit, TemplateRef } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport type { ALuSelectInputComponent } from '../input';\nimport type { LuOptionGroupByContext } from '../select.model';\n\nexport interface LuOptionGrouping<TOption, TGroup> {\n\tselector: (option: TOption) => TGroup;\n\tcontent: PortalContent<LuOptionGroupByContext<TOption, TGroup>>;\n}\n\n@Directive({\n\tselector: '[luOptionGroup]',\n\tstandalone: true,\n})\nexport class LuOptionGroupDirective<TOption, TValue, TGroup> implements LuOptionGrouping<TOption, TGroup>, OnInit {\n\t@Input('luOptionGroupSelect') select: ALuSelectInputComponent<TOption, TValue>;\n\n\t@Input('luOptionGroupBy') selector: (option: TOption) => TGroup;\n\n\treadonly content = inject<TemplateRef<LuOptionGroupByContext<TOption, TGroup>>>(TemplateRef);\n\n\tpublic static ngTemplateContextGuard<TOption, TValue, TGroup>(_dir: LuOptionGroupDirective<TOption, TValue, TGroup>, ctx: unknown): ctx is LuOptionGroupByContext<TOption, TGroup> {\n\t\treturn true;\n\t}\n\n\tpublic ngOnInit(): void {\n\t\tthis.select.grouping = this;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuOptionGroup } from '../select.model';\n\n/**\n * Generate groups with a O(n) complexity. Note that the options must be sorted by group.\n */\nexport function generateGroups<T, TGroup>(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[] {\n\tif (!options?.length) {\n\t\treturn [];\n\t}\n\n\tconst groups: Array<LuOptionGroup<T, TGroup>> = [];\n\tlet group: LuOptionGroup<T, TGroup>;\n\n\tfor (const option of options) {\n\t\tconst groupKey = selector(option);\n\t\tif (!group || group.key !== groupKey) {\n\t\t\tif (group) {\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup = { key: groupKey, options: [option] };\n\t\t} else {\n\t\t\tgroup.options.push(option);\n\t\t}\n\t}\n\n\tif (group) {\n\t\tgroups.push(group);\n\t}\n\n\treturn groups;\n}\n\n@Pipe({\n\tname: 'luOptionGroup',\n\tstandalone: true,\n})\nexport class LuOptionGroupPipe<T, TGroup> implements PipeTransform {\n\tpublic transform(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[];\n\tpublic transform(options: T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>;\n\tpublic transform(options: T[] | T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[] | LuOptionGroup<T, TGroup> {\n\t\treturn Array.isArray(options) ? generateGroups(options, selector) : generateGroups([options], selector)[0];\n\t}\n}\n","import { ComponentRef, Directive, EmbeddedViewRef, inject, Injector, Input, OnChanges, OnDestroy, SimpleChanges, TemplateRef, Type, ViewContainerRef } from '@angular/core';\nimport { LuOptionContext } from '../select.model';\nimport { LU_OPTION_CONTEXT, provideOptionContext } from './option.token';\n\n@Directive({\n\tselector: '[luOptionOutlet]',\n\tstandalone: true,\n\tproviders: [provideOptionContext()],\n})\nexport class LuOptionOutletDirective<T> implements OnChanges, OnDestroy {\n\t@Input() luOptionOutlet?: Type<unknown> | TemplateRef<LuOptionContext<T>>;\n\t@Input() luOptionOutletValue: T | undefined;\n\t@Input() luOptionShowNull = false;\n\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate injector = inject(Injector);\n\tprivate embeddedViewRef?: EmbeddedViewRef<LuOptionContext<T>>;\n\tprivate componentRef?: ComponentRef<unknown>;\n\tprivate optionContext = inject(LU_OPTION_CONTEXT);\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['luOptionOutlet'] || !this.luOptionOutletValue) {\n\t\t\tthis.clearContainer();\n\t\t}\n\n\t\tconst hasRef = this.embeddedViewRef || this.componentRef;\n\n\t\tif (changes['luOptionOutlet'] || (changes['luOptionOutletValue'].currentValue !== null && changes['luOptionOutletValue'].currentValue !== undefined && !hasRef)) {\n\t\t\tconst newValue = changes['luOptionOutletValue'].currentValue as T | undefined;\n\t\t\tif (newValue !== null && newValue !== undefined) {\n\t\t\t\tthis.createComponent();\n\t\t\t}\n\t\t} else if (changes['luOptionOutletValue']) {\n\t\t\tthis.updateRefValue();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.optionContext.destroy();\n\t}\n\n\tprivate clearContainer(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.embeddedViewRef?.destroy();\n\t\tthis.componentRef?.destroy();\n\t\tthis.embeddedViewRef = undefined;\n\t\tthis.componentRef = undefined;\n\t}\n\n\tprivate createComponent(): void {\n\t\tif (!this.luOptionOutlet) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.luOptionOutlet instanceof TemplateRef) {\n\t\t\tthis.embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.luOptionOutlet, { $implicit: this.luOptionOutletValue }, { injector: this.injector });\n\t\t} else {\n\t\t\tthis.optionContext.option$.next(this.luOptionOutletValue);\n\t\t\tthis.componentRef = this.viewContainerRef.createComponent(this.luOptionOutlet, { injector: this.injector });\n\t\t}\n\t}\n\n\tprivate updateRefValue(): void {\n\t\tif (this.embeddedViewRef) {\n\t\t\tthis.embeddedViewRef.context = { $implicit: this.luOptionOutletValue };\n\t\t} else if (this.componentRef) {\n\t\t\tthis.optionContext.option$.next(this.luOptionOutletValue);\n\t\t}\n\t}\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface LuOptionContext<T> {\n\t$implicit: T;\n}\n\nexport interface LuOptionGroupByContext<T, TGroup> {\n\t$implicit: LuOptionGroup<T, TGroup>;\n}\n\nexport interface LuOptionGroup<T, TGroup> {\n\tkey: TGroup;\n\toptions: T[];\n}\n\nexport type CoreSelectAddOptionStrategy = 'never' | 'always' | 'if-empty-clue' | 'if-not-empty-clue';\n\nexport const SELECT_ID = new InjectionToken<number>('LuSelectPanelData');\nexport const SELECT_LABEL = new InjectionToken<HTMLLabelElement | undefined>('LuSelectLabel');\nexport const SELECT_LABEL_ID = new InjectionToken<string>('LuSelectLabelId');\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, OnDestroy, TemplateRef, Type, ViewChild, inject } from '@angular/core';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { BehaviorSubject, Subscription, asyncScheduler, observeOn } from 'rxjs';\nimport { LuOptionContext, SELECT_ID } from '../select.model';\nimport { LuOptionGrouping } from './group.directive';\nimport { LuOptionGroupPipe } from './group.pipe';\nimport { LuOptionOutletDirective } from './option-outlet.directive';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from './option.token';\n\nexport const MAGIC_OPTION_SCROLL_DELAY = 15;\n\n@Component({\n\tselector: 'lu-select-option',\n\ttemplateUrl: './option.component.html',\n\tstyleUrls: ['./option.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, LuOptionOutletDirective, NgIf, PortalDirective, LuOptionGroupPipe],\n})\nexport class LuOptionComponent<T> implements Highlightable, AfterViewInit, OnDestroy {\n\t@HostBinding('class.optionItem')\n\tpublic hasOptionItemClass = true;\n\n\t@Input()\n\tpublic optionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined;\n\n\t@Input()\n\t@HostBinding('attr.aria-selected')\n\tisSelected = false;\n\n\t@Input() option?: T;\n\t@Input() grouping?: LuOptionGrouping<T, unknown>;\n\n\t@Input()\n\tpublic optionIndex = 0;\n\n\t@Input()\n\tscrollIntoViewOptions: ScrollIntoViewOptions = {};\n\n\tisHighlighted$ = new BehaviorSubject(false);\n\n\t/**\n\t * Whether option is disabled. Used by ListKeyManager.\n\t */\n\tdisabled = false;\n\n\t@ViewChild(LuOptionOutletDirective, { read: LU_OPTION_CONTEXT, static: true })\n\tprivate optionContext?: ILuOptionContext<T>;\n\n\tprivate cdr = inject(ChangeDetectorRef);\n\tprivate subscription?: Subscription;\n\n\t@HostBinding('attr.role')\n\tpublic role = 'option';\n\n\t@HostBinding('attr.id')\n\tpublic get id(): string {\n\t\treturn `lu-select-${this.selectId}-option-${this.optionIndex}`;\n\t}\n\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected selectId = inject(SELECT_ID);\n\n\tngOnDestroy(): void {\n\t\tthis.subscription?.unsubscribe();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.subscription = this.optionContext.isDisabled$.pipe(observeOn(asyncScheduler)).subscribe((isDisabled) => {\n\t\t\tthis.disabled = isDisabled;\n\t\t\tthis.cdr.markForCheck();\n\t\t});\n\t}\n\n\tsetActiveStyles(): void {\n\t\tthis.isHighlighted$.next(true);\n\t\t// Somehow, adding this small delay works, even tho 0ms delay doesn't, I think there's\n\t\t// a race condition somewhere that I can't find so this will just fix it for now.\n\t\tsetTimeout(() => {\n\t\t\tthis.elementRef.nativeElement.scrollIntoView(this.scrollIntoViewOptions);\n\t\t}, MAGIC_OPTION_SCROLL_DELAY);\n\t}\n\n\tsetInactiveStyles(): void {\n\t\tthis.isHighlighted$.next(false);\n\t}\n\n\tselectOption($event: Event): void {\n\t\tif (this.disabled) {\n\t\t\t$event.stopPropagation();\n\t\t}\n\t}\n}\n","<div\n\tclass=\"optionItem-value\"\n\t[class.is-selected]=\"isSelected\"\n\t[class.is-highlighted]=\"isHighlighted$ | async\"\n\t[class.is-disabled]=\"disabled\"\n\t(click)=\"selectOption($event)\"\n>\n\t<ng-container *luOptionOutlet=\"optionTpl; value: option\" />\n\n\t<div *ngIf=\"grouping\" class=\"optionItem-value-group\">\n\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: option | luOptionGroup:grouping.selector }\" />\n\t</div>\n</div>\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport type { ALuSelectInputComponent } from '../input';\nimport type { LuOptionContext } from '../select.model';\n\n@Directive({\n\tselector: '[luOption]',\n\tstandalone: true,\n})\nexport class LuOptionDirective<TOption, TValue> {\n\t@Input('luOptionSelect') set select(select: ALuSelectInputComponent<TOption, TValue>) {\n\t\tselect.optionTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<TOption>>) {}\n\n\tpublic static ngTemplateContextGuard<TOption, TValue>(_dir: LuOptionDirective<TOption, TValue>, ctx: unknown): ctx is LuOptionContext<TOption> {\n\t\treturn true;\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_CORE_SELECT_TRANSLATIONS = new InjectionToken('LuCoreSelectTranslations', {\n\tfactory: () => luCoreSelectTranslations,\n});\n\nexport interface LuCoreSelectLabel {\n\taddOption: string;\n}\n\nexport const luCoreSelectTranslations: ILuTranslation<LuCoreSelectLabel> = {\n\ten: {\n\t\taddOption: 'Add option',\n\t},\n\tfr: {\n\t\taddOption: 'Ajouter une option',\n\t},\n\tde: {\n\t\taddOption: 'Option hinzufügen',\n\t},\n\tes: {\n\t\taddOption: 'Agregar opción',\n\t},\n\tpt: {\n\t\taddOption: 'Adicionar opção',\n\t},\n};\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { OverlayConfig, OverlayContainer } from '@angular/cdk/overlay';\nimport {\n\tChangeDetectorRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tTemplateRef,\n\tType,\n\tViewChild,\n\tbooleanAttribute,\n\tinject,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { PortalContent, getIntl } from '@lucca-front/ng/core';\nimport { BehaviorSubject, Observable, ReplaySubject, Subject, defer, map, of, startWith, switchMap, take } from 'rxjs';\nimport { LuOptionGrouping, LuSimpleSelectDefaultOptionComponent } from '../option';\nimport { LuSelectPanelRef } from '../panel';\nimport { CoreSelectAddOptionStrategy, LuOptionContext, SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';\nimport { LU_CORE_SELECT_TRANSLATIONS } from '../select.translate';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<TOption, TValue> implements OnDestroy, OnInit, ControlValueAccessor {\n\tprotected changeDetectorRef = inject(ChangeDetectorRef);\n\tprotected overlayContainerRef: HTMLElement = inject(OverlayContainer).getContainerElement();\n\n\tprotected labelElement: HTMLElement | undefined = inject(SELECT_LABEL);\n\tprotected labelId: string = inject(SELECT_LABEL_ID);\n\n\tprotected coreIntl = getIntl(LU_CORE_SELECT_TRANSLATIONS);\n\n\t@ViewChild('inputElement')\n\tprivate inputElementRef: ElementRef<HTMLInputElement>;\n\n\tpublic placeholder$ = new BehaviorSubject('');\n\n\tpublic disabled$ = new BehaviorSubject(false);\n\n\t@Input()\n\tset placeholder(value: string) {\n\t\tthis.placeholder$.next(value);\n\t}\n\n\t@Input({ transform: booleanAttribute })\n\t@HostBinding('class.is-clearable')\n\tclearable = false;\n\n\tget searchable(): boolean {\n\t\treturn this.clueChange.observed;\n\t}\n\n\t@Input()\n\taddOptionLabel: PortalContent = this.coreIntl.addOption;\n\n\t@Input()\n\tset addOptionStrategy(strategy: CoreSelectAddOptionStrategy) {\n\t\tthis.addOptionStrategy$.next(strategy);\n\t}\n\n\t@HostBinding('class.is-selected')\n\tprotected get isSelectedClass(): boolean {\n\t\treturn this.hasValue;\n\t}\n\n\t@HostBinding('class.is-searchFilled')\n\tprotected get isSearchFilledClass(): boolean {\n\t\treturn this.clue?.length > 0;\n\t}\n\n\tprotected abstract readonly hasValue: boolean;\n\n\tpublic get isPanelOpen(): boolean {\n\t\treturn this.isPanelOpen$.value;\n\t}\n\n\tpublic isPanelOpen$ = new BehaviorSubject(false);\n\n\tpublic activeDescendant$ = new BehaviorSubject('');\n\n\tget ariaControls(): string {\n\t\treturn this.overlayContainerRef.id;\n\t}\n\n\t@Input()\n\toverlayConfig?: OverlayConfig = {\n\t\thasBackdrop: true,\n\t\tbackdropClass: 'cdk-overlay-transparent-backdrop',\n\t};\n\n\t@Input() set loading(value: boolean) {\n\t\tif (value !== this.loading) {\n\t\t\tthis.loading$.next(value);\n\t\t}\n\t}\n\n\t@Input() set options(options: TOption[]) {\n\t\tthis.options$.next(options);\n\t\tif (this.panelRef) {\n\t\t\t// We have to put it in a setTimeout so it'll be triggered AFTER the DOM is updated and not right now,\n\t\t\t// which is before the panel size has been modified by the arrival of the new options\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.panelRef.updatePosition();\n\t\t\t});\n\t\t}\n\t}\n\n\t@Input() optionComparer: (option1: TOption, option2: TOption) => boolean = (option1, option2) => JSON.stringify(option1) === JSON.stringify(option2);\n\t@Input() optionTpl?: TemplateRef<LuOptionContext<TOption>> | Type<unknown> = LuSimpleSelectDefaultOptionComponent;\n\t@Input() valueTpl?: TemplateRef<LuOptionContext<TOption>> | Type<unknown>;\n\tgrouping?: LuOptionGrouping<TOption, unknown>;\n\n\t@Output() clueChange = new EventEmitter<string>();\n\t@Output() nextPage = new EventEmitter<void>();\n\t@Output() previousPage = new EventEmitter<void>();\n\t@Output() addOption = new EventEmitter<string>();\n\n\tpublic get value(): TValue {\n\t\treturn this._value;\n\t}\n\n\tprotected set value(value: TValue) {\n\t\tthis._value = value;\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\tpublic get inputPlaceholder(): string | null {\n\t\treturn this.value ? null : this.placeholder$.value;\n\t}\n\n\tpublic clueChanged(clue: string, skipPanelOpen = false): void {\n\t\tthis.clue = clue;\n\n\t\tif (!skipPanelOpen && !this.isPanelOpen) {\n\t\t\tthis.openPanel(clue);\n\t\t} else if (this.lastEmittedClue !== clue) {\n\t\t\tthis.clueChange.emit(clue);\n\t\t\tthis.lastEmittedClue = clue;\n\t\t}\n\t}\n\n\tprotected _value?: TValue;\n\n\toptions$ = new ReplaySubject<TOption[]>(1);\n\tloading$ = new BehaviorSubject(false);\n\tclue: string | null = null;\n\t// This is the clue stored after we selected an option to know if we should emit an empty clue on open or not\n\tlastEmittedClue: string = '';\n\tclue$ = defer(() => this.clueChange.pipe(startWith(this.clue)));\n\n\taddOptionStrategy$ = new BehaviorSubject<CoreSelectAddOptionStrategy>('never');\n\tshouldDisplayAddOption$ = this.addOptionStrategy$.pipe(\n\t\tswitchMap((strategy) => {\n\t\t\tswitch (strategy) {\n\t\t\t\tcase 'always':\n\t\t\t\t\treturn of(true);\n\t\t\t\tcase 'never':\n\t\t\t\t\treturn of(false);\n\t\t\t\tcase 'if-empty-clue':\n\t\t\t\t\treturn this.clue$.pipe(map((clue) => !clue));\n\t\t\t\tcase 'if-not-empty-clue':\n\t\t\t\t\treturn this.clue$.pipe(map((clue) => !!clue));\n\t\t\t}\n\t\t}),\n\t);\n\n\tprotected onChange?: (value: TValue | null) => void;\n\tprotected onTouched?: () => void;\n\n\tpublic get panelRef(): LuSelectPanelRef<TOption, TValue> | undefined {\n\t\treturn this._panelRef;\n\t}\n\n\tprotected _panelRef?: LuSelectPanelRef<TOption, TValue>;\n\n\tprotected destroyed$ = new Subject<void>();\n\n\t@HostListener('click', ['$event'])\n\tonClickOpenPanel($event: KeyboardEvent) {\n\t\tif (!this.isPanelOpen) {\n\t\t\tthis.openPanel();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeyDownNavigation($event: KeyboardEvent): void {\n\t\tswitch ($event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\t$event.stopPropagation();\n\t\t\t\t}\n\t\t\t\tthis.panelRef?.close();\n\t\t\t\tbreak;\n\t\t\tcase 'Tab':\n\t\t\t\tthis.panelRef?.close();\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\t// Prevent form submission when selecting a value with Enter\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t\tthis.panelRef.selectCurrentlyHighlightedValue();\n\t\t\t\t} else {\n\t\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ' ':\n\t\t\tcase 'ArrowDown':\n\t\t\tcase 'ArrowUp':\n\t\t\t\t// Initial space should just open the panel, not trigger a clue change\n\t\t\t\tif (!this.clue && $event.key === ' ') {\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.openPanel();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tregisterOnChange(onChange: (value: TValue) => void): void {\n\t\tthis.onChange = onChange;\n\t}\n\n\tregisterOnTouched(onTouched: () => void): void {\n\t\tthis.onTouched = onTouched;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.disabled$.next(isDisabled);\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.closePanel();\n\t\tthis.destroyed$.next();\n\t\tthis.destroyed$.complete();\n\t}\n\n\tngOnInit(): void {\n\t\tif (this.labelElement) {\n\t\t\tthis.labelElement.id = this.labelId;\n\t\t}\n\t}\n\n\tclearValue(event: Event): void {\n\t\tevent.stopPropagation();\n\t\tthis.updateValue(null, true);\n\t\tthis.inputElementRef.nativeElement.focus();\n\t}\n\n\topenPanel(clue: string = ''): void {\n\t\tif (this.isPanelOpen || this.disabled$.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isPanelOpen$.next(true);\n\t\tthis.clueChanged(clue);\n\t\tthis._panelRef = this.buildPanelRef();\n\t\tthis.bindInputToPanelRefEvents();\n\t\tsetTimeout(() => this.focusInput());\n\t}\n\n\temitAddOption(): void {\n\t\tthis.addOption.emit(this.clue);\n\t\tthis.panelRef?.close();\n\t}\n\n\tprotected abstract buildPanelRef(): this['panelRef'];\n\n\tprotected bindInputToPanelRefEvents(): void {\n\t\tif (!this.panelRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.panelRef.valueChanged.subscribe((value) => this.updateValue(value));\n\n\t\tthis.#pageChanged(this.panelRef.nextPage).subscribe(() => this.nextPage.emit());\n\t\tthis.#pageChanged(this.panelRef.previousPage).subscribe(() => this.previousPage.emit());\n\n\t\tthis.panelRef.activeOptionIdChanged.subscribe((optionId) => {\n\t\t\tthis.activeDescendant$.next(optionId);\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t});\n\t\tthis.panelRef.closed.subscribe(() => this.closePanel());\n\t}\n\n\tprotected focusInput(): void {\n\t\tif (this.inputElementRef) {\n\t\t\tthis.inputElementRef.nativeElement.focus();\n\t\t}\n\t}\n\n\tprotected emptyClue(): void {\n\t\tif (this.clue) {\n\t\t\tthis.clue = null;\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t}\n\t}\n\n\tpublic closePanel(): void {\n\t\tif (!this.isPanelOpen) {\n\t\t\treturn;\n\t\t}\n\t\tthis.emptyClue();\n\t\tthis.activeDescendant$.next('');\n\t\tthis.changeDetectorRef.markForCheck();\n\t\tthis.onTouched?.();\n\t\tthis.isPanelOpen$.next(false);\n\t\tthis.panelRef.close();\n\t\tthis._panelRef = undefined;\n\t}\n\n\tpublic writeValue(value: TValue): void {\n\t\tthis.value = value;\n\t}\n\n\tpublic updateValue(value: TValue, skipPanelOpen = false): void {\n\t\tthis.value = value;\n\t\tthis.emptyClue();\n\t\tthis.clueChanged('', skipPanelOpen);\n\t\tthis.onChange?.(value);\n\t\tthis.onTouched?.();\n\t}\n\n\t// Ensure nextPage/previousPage does not emit too often\n\t#pageChanged(pageEmitter: EventEmitter<void>): Observable<void> {\n\t\treturn this.options$.pipe(switchMap(() => pageEmitter.pipe(take(1))));\n\t}\n}\n","import { Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Injectable, Provider, inject } from '@angular/core';\nimport { SELECT_ID, SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';\n\nlet selectId = 0;\n\nfunction selectIdFactory(): number {\n\treturn selectId++;\n}\n\nfunction selectLabelFactory(): HTMLLabelElement | undefined {\n\tconst elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tfunction getLabel(node: HTMLElement): HTMLLabelElement | undefined {\n\t\tif (node instanceof HTMLLabelElement) {\n\t\t\treturn node;\n\t\t}\n\n\t\tif (!node.parentElement) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn getLabel(node.parentElement);\n\t}\n\n\treturn getLabel(elementRef.nativeElement);\n}\n\nfunction selectLabelIdFactory(): string {\n\treturn inject(SELECT_LABEL)?.id || `lu-select-label-${inject(SELECT_ID)}`;\n}\n\nexport function provideLuSelectLabelsAndIds(): Provider[] {\n\treturn [\n\t\t{ provide: SELECT_ID, useFactory: selectIdFactory },\n\t\t{ provide: SELECT_LABEL, useFactory: selectLabelFactory },\n\t\t{ provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory },\n\t];\n}\n\n@Injectable()\nclass LuSelectOverlayContainer extends OverlayContainer {\n\tprivate selectLabelId = inject(SELECT_LABEL_ID);\n\tprivate selectId = inject(SELECT_ID);\n\n\tconstructor() {\n\t\tsuper(inject(DOCUMENT), inject(Platform));\n\t}\n\n\tprotected override _createContainer(): void {\n\t\tsuper._createContainer();\n\t\tthis._containerElement.setAttribute('aria-labelledby', this.selectLabelId);\n\t\tthis._containerElement.id = `lu-select-overlay-container-${this.selectId}`;\n\t}\n}\n\nexport function provideLuSelectOverlayContainer(): Provider[] {\n\treturn [\n\t\tOverlay,\n\t\t{\n\t\t\tprovide: OverlayContainer,\n\t\t\tuseClass: LuSelectOverlayContainer,\n\t\t},\n\t];\n}\n","import { EventEmitter } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport abstract class LuSelectPanelRef<TOption, TValue> {\n\tclosed = new EventEmitter<void>();\n\tpreviousPage = new EventEmitter<void>();\n\tnextPage = new EventEmitter<void>();\n\tvalueChanged = new EventEmitter<TValue>();\n\tclueChanged = new EventEmitter<string>();\n\tactiveOptionIdChanged = new EventEmitter<string>();\n\toptions$: Observable<TOption>;\n\n\tabstract updatePosition(): void;\n\n\tabstract handleKeyManagerEvent(event: KeyboardEvent): void;\n\n\tabstract emitValue(value: TValue): void;\n\n\tabstract selectCurrentlyHighlightedValue(): void;\n\n\tclose(): void {\n\t\tthis.closed.next();\n\t\tthis.closed.complete();\n\t\tthis.nextPage.complete();\n\t\tthis.previousPage.complete();\n\t\tthis.valueChanged.complete();\n\t\tthis.clueChanged.emit('');\n\t\tthis.clueChanged.complete();\n\t\tthis.activeOptionIdChanged.complete();\n\t}\n}\n","import { Observable, distinctUntilChanged, map, of, skip, startWith, switchMap, take } from 'rxjs';\n\nexport type GroupTemplateLocation = 'group-header' | 'option' | 'none';\n\n/**\n * In order to avoid a blinking when we go from empty clue to a clue\n * We need to delay the change of group displayer location by waiting for the options to be updated.\n */\nexport function getGroupTemplateLocation(hasGrouping: boolean, clueChange$: Observable<string>, options$: Observable<unknown[]>): Observable<GroupTemplateLocation> {\n\treturn hasGrouping\n\t\t? clueChange$.pipe(\n\t\t\t\tmap((clue) => !!clue),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tswitchMap((hasClue) =>\n\t\t\t\t\toptions$.pipe(\n\t\t\t\t\t\tskip(1),\n\t\t\t\t\t\ttake(1),\n\t\t\t\t\t\tmap((): GroupTemplateLocation => (hasClue ? 'option' : 'group-header')),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tstartWith('group-header' as const),\n\t\t )\n\t\t: of('none' as const);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select.mjs","sources":["../../../packages/ng/core-select/displayer/displayer.directive.ts","../../../packages/ng/core-select/option/option.token.ts","../../../packages/ng/core-select/option/default-option.component.ts","../../../packages/ng/core-select/option/disabled.directive.ts","../../../packages/ng/core-select/option/group.directive.ts","../../../packages/ng/core-select/option/group.pipe.ts","../../../packages/ng/core-select/option/option-outlet.directive.ts","../../../packages/ng/core-select/select.model.ts","../../../packages/ng/core-select/option/option.component.ts","../../../packages/ng/core-select/option/option.component.html","../../../packages/ng/core-select/option/option.directive.ts","../../../packages/ng/core-select/select.translate.ts","../../../packages/ng/core-select/input/select-input.component.ts","../../../packages/ng/core-select/input/select-input.models.ts","../../../packages/ng/core-select/panel/panel.models.ts","../../../packages/ng/core-select/panel/panel.utils.ts","../../../packages/ng/core-select/lucca-front-ng-core-select.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\nimport { ALuSelectInputComponent } from '../input';\nimport { LuOptionContext } from '../select.model';\n\n@Directive({\n\tselector: '[luDisplayer]',\n\tstandalone: true,\n})\nexport class LuDisplayerDirective<TOption, TValue> {\n\t@Input('luDisplayerSelect') set select(select: ALuSelectInputComponent<TOption, TValue>) {\n\t\tselect.valueTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<TOption>>) {}\n\n\tpublic static ngTemplateContextGuard<TOption, TValue>(_dir: LuDisplayerDirective<TOption, TValue>, ctx: unknown): ctx is LuOptionContext<TOption> {\n\t\treturn true;\n\t}\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface ILuOptionContext<T> {\n\tisDisabled$: BehaviorSubject<boolean>;\n\toption$: BehaviorSubject<T | undefined>;\n\tdestroy(): void;\n}\n\nexport const LU_OPTION_CONTEXT = new InjectionToken<ILuOptionContext<unknown>>('LuOptionContext');\n\nfunction optionContextFactory<T>(): ILuOptionContext<T> {\n\tconst isDisabled$ = new BehaviorSubject(false);\n\tconst option$ = new BehaviorSubject<T | undefined>(undefined);\n\treturn {\n\t\tisDisabled$,\n\t\toption$,\n\t\tdestroy(): void {\n\t\t\tisDisabled$.complete();\n\t\t\toption$.complete();\n\t\t},\n\t};\n}\n\nexport function provideOptionContext(): Provider {\n\treturn {\n\t\tprovide: LU_OPTION_CONTEXT,\n\t\tuseFactory: optionContextFactory,\n\t};\n}\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from './option.token';\n\n@Component({\n\tselector: 'lu-simple-select-default-option',\n\tstandalone: true,\n\timports: [AsyncPipe, NgIf],\n\ttemplate: `<ng-container *ngIf=\"context.option$ | async as option\">{{ option?.name ?? option }}</ng-container>`,\n})\nexport class LuSimpleSelectDefaultOptionComponent {\n\tpublic context = inject<ILuOptionContext<{ name?: string }>>(LU_OPTION_CONTEXT);\n}\n","import { Directive, inject, Input } from '@angular/core';\nimport { LU_OPTION_CONTEXT } from './option.token';\n\n@Directive({\n\tselector: '[luDisabledOption]',\n\tstandalone: true,\n})\nexport class LuDisabledOptionDirective {\n\tprivate context = inject(LU_OPTION_CONTEXT);\n\n\t@Input('luDisabledOption') public set isDisabled(disabled: boolean | null) {\n\t\tif (disabled !== null) {\n\t\t\tthis.context.isDisabled$.next(disabled);\n\t\t}\n\t}\n}\n","import { Directive, inject, Input, OnInit, TemplateRef } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport type { ALuSelectInputComponent } from '../input';\nimport type { LuOptionGroupByContext } from '../select.model';\n\nexport interface LuOptionGrouping<TOption, TGroup> {\n\tselector: (option: TOption) => TGroup;\n\tcontent: PortalContent<LuOptionGroupByContext<TOption, TGroup>>;\n}\n\n@Directive({\n\tselector: '[luOptionGroup]',\n\tstandalone: true,\n})\nexport class LuOptionGroupDirective<TOption, TValue, TGroup> implements LuOptionGrouping<TOption, TGroup>, OnInit {\n\t@Input('luOptionGroupSelect') select: ALuSelectInputComponent<TOption, TValue>;\n\n\t@Input('luOptionGroupBy') selector: (option: TOption) => TGroup;\n\n\treadonly content = inject<TemplateRef<LuOptionGroupByContext<TOption, TGroup>>>(TemplateRef);\n\n\tpublic static ngTemplateContextGuard<TOption, TValue, TGroup>(_dir: LuOptionGroupDirective<TOption, TValue, TGroup>, ctx: unknown): ctx is LuOptionGroupByContext<TOption, TGroup> {\n\t\treturn true;\n\t}\n\n\tpublic ngOnInit(): void {\n\t\tthis.select.grouping = this;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuOptionGroup } from '../select.model';\n\n/**\n * Generate groups with a O(n) complexity. Note that the options must be sorted by group.\n */\nexport function generateGroups<T, TGroup>(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[] {\n\tif (!options?.length) {\n\t\treturn [];\n\t}\n\n\tconst groups: Array<LuOptionGroup<T, TGroup>> = [];\n\tlet group: LuOptionGroup<T, TGroup>;\n\n\tfor (const option of options) {\n\t\tconst groupKey = selector(option);\n\t\tif (!group || group.key !== groupKey) {\n\t\t\tif (group) {\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup = { key: groupKey, options: [option] };\n\t\t} else {\n\t\t\tgroup.options.push(option);\n\t\t}\n\t}\n\n\tif (group) {\n\t\tgroups.push(group);\n\t}\n\n\treturn groups;\n}\n\n@Pipe({\n\tname: 'luOptionGroup',\n\tstandalone: true,\n})\nexport class LuOptionGroupPipe<T, TGroup> implements PipeTransform {\n\tpublic transform(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[];\n\tpublic transform(options: T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>;\n\tpublic transform(options: T[] | T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[] | LuOptionGroup<T, TGroup> {\n\t\treturn Array.isArray(options) ? generateGroups(options, selector) : generateGroups([options], selector)[0];\n\t}\n}\n","import { ComponentRef, Directive, EmbeddedViewRef, inject, Injector, Input, OnChanges, OnDestroy, SimpleChanges, TemplateRef, Type, ViewContainerRef } from '@angular/core';\nimport { LuOptionContext } from '../select.model';\nimport { LU_OPTION_CONTEXT, provideOptionContext } from './option.token';\n\n@Directive({\n\tselector: '[luOptionOutlet]',\n\tstandalone: true,\n\tproviders: [provideOptionContext()],\n})\nexport class LuOptionOutletDirective<T> implements OnChanges, OnDestroy {\n\t@Input() luOptionOutlet?: Type<unknown> | TemplateRef<LuOptionContext<T>>;\n\t@Input() luOptionOutletValue: T | undefined;\n\t@Input() luOptionShowNull = false;\n\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate injector = inject(Injector);\n\tprivate embeddedViewRef?: EmbeddedViewRef<LuOptionContext<T>>;\n\tprivate componentRef?: ComponentRef<unknown>;\n\tprivate optionContext = inject(LU_OPTION_CONTEXT);\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['luOptionOutlet'] || !this.luOptionOutletValue) {\n\t\t\tthis.clearContainer();\n\t\t}\n\n\t\tconst hasRef = this.embeddedViewRef || this.componentRef;\n\n\t\tif (changes['luOptionOutlet'] || (changes['luOptionOutletValue'].currentValue !== null && changes['luOptionOutletValue'].currentValue !== undefined && !hasRef)) {\n\t\t\tconst newValue = changes['luOptionOutletValue'].currentValue as T | undefined;\n\t\t\tif (newValue !== null && newValue !== undefined) {\n\t\t\t\tthis.createComponent();\n\t\t\t}\n\t\t} else if (changes['luOptionOutletValue']) {\n\t\t\tthis.updateRefValue();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.optionContext.destroy();\n\t}\n\n\tprivate clearContainer(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.embeddedViewRef?.destroy();\n\t\tthis.componentRef?.destroy();\n\t\tthis.embeddedViewRef = undefined;\n\t\tthis.componentRef = undefined;\n\t}\n\n\tprivate createComponent(): void {\n\t\tif (!this.luOptionOutlet) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.luOptionOutlet instanceof TemplateRef) {\n\t\t\tthis.embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.luOptionOutlet, { $implicit: this.luOptionOutletValue }, { injector: this.injector });\n\t\t} else {\n\t\t\tthis.optionContext.option$.next(this.luOptionOutletValue);\n\t\t\tthis.componentRef = this.viewContainerRef.createComponent(this.luOptionOutlet, { injector: this.injector });\n\t\t}\n\t}\n\n\tprivate updateRefValue(): void {\n\t\tif (this.embeddedViewRef) {\n\t\t\tthis.embeddedViewRef.context = { $implicit: this.luOptionOutletValue };\n\t\t} else if (this.componentRef) {\n\t\t\tthis.optionContext.option$.next(this.luOptionOutletValue);\n\t\t}\n\t}\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface LuOptionContext<T> {\n\t$implicit: T;\n}\n\nexport interface LuOptionGroupByContext<T, TGroup> {\n\t$implicit: LuOptionGroup<T, TGroup>;\n}\n\nexport interface LuOptionGroup<T, TGroup> {\n\tkey: TGroup;\n\toptions: T[];\n}\n\nexport type CoreSelectAddOptionStrategy = 'never' | 'always' | 'if-empty-clue' | 'if-not-empty-clue';\n\nexport const SELECT_ID = new InjectionToken<number>('LuSelectPanelData');\nexport const SELECT_LABEL = new InjectionToken<HTMLLabelElement | undefined>('LuSelectLabel');\nexport const SELECT_LABEL_ID = new InjectionToken<string>('LuSelectLabelId');\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, OnDestroy, TemplateRef, Type, ViewChild, inject } from '@angular/core';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { BehaviorSubject, Subscription, asyncScheduler, observeOn } from 'rxjs';\nimport { LuOptionContext, SELECT_ID } from '../select.model';\nimport { LuOptionGrouping } from './group.directive';\nimport { LuOptionGroupPipe } from './group.pipe';\nimport { LuOptionOutletDirective } from './option-outlet.directive';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from './option.token';\n\nexport const MAGIC_OPTION_SCROLL_DELAY = 15;\n\n@Component({\n\tselector: 'lu-select-option',\n\ttemplateUrl: './option.component.html',\n\tstyleUrls: ['./option.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, LuOptionOutletDirective, NgIf, PortalDirective, LuOptionGroupPipe],\n})\nexport class LuOptionComponent<T> implements Highlightable, AfterViewInit, OnDestroy {\n\t@HostBinding('class.optionItem')\n\tpublic hasOptionItemClass = true;\n\n\t@Input()\n\tpublic optionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined;\n\n\t@Input()\n\t@HostBinding('attr.aria-selected')\n\tisSelected = false;\n\n\t@Input() option?: T;\n\t@Input() grouping?: LuOptionGrouping<T, unknown>;\n\n\t@Input()\n\tpublic optionIndex = 0;\n\n\t@Input()\n\tscrollIntoViewOptions: ScrollIntoViewOptions = {};\n\n\tisHighlighted$ = new BehaviorSubject(false);\n\n\t/**\n\t * Whether option is disabled. Used by ListKeyManager.\n\t */\n\tdisabled = false;\n\n\t@ViewChild(LuOptionOutletDirective, { read: LU_OPTION_CONTEXT, static: true })\n\tprivate optionContext?: ILuOptionContext<T>;\n\n\tprivate cdr = inject(ChangeDetectorRef);\n\tprivate subscription?: Subscription;\n\n\t@HostBinding('attr.role')\n\tpublic role = 'option';\n\n\t@HostBinding('attr.id')\n\tpublic get id(): string {\n\t\treturn `lu-select-${this.selectId}-option-${this.optionIndex}`;\n\t}\n\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected selectId = inject(SELECT_ID);\n\n\tngOnDestroy(): void {\n\t\tthis.subscription?.unsubscribe();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.subscription = this.optionContext.isDisabled$.pipe(observeOn(asyncScheduler)).subscribe((isDisabled) => {\n\t\t\tthis.disabled = isDisabled;\n\t\t\tthis.cdr.markForCheck();\n\t\t});\n\t}\n\n\tsetActiveStyles(): void {\n\t\tthis.isHighlighted$.next(true);\n\t\t// Somehow, adding this small delay works, even tho 0ms delay doesn't, I think there's\n\t\t// a race condition somewhere that I can't find so this will just fix it for now.\n\t\tsetTimeout(() => {\n\t\t\tthis.elementRef.nativeElement.scrollIntoView(this.scrollIntoViewOptions);\n\t\t}, MAGIC_OPTION_SCROLL_DELAY);\n\t}\n\n\tsetInactiveStyles(): void {\n\t\tthis.isHighlighted$.next(false);\n\t}\n\n\tselectOption($event: Event): void {\n\t\tif (this.disabled) {\n\t\t\t$event.stopPropagation();\n\t\t}\n\t}\n}\n","<div\n\tclass=\"optionItem-value\"\n\t[class.is-selected]=\"isSelected\"\n\t[class.is-highlighted]=\"isHighlighted$ | async\"\n\t[class.is-disabled]=\"disabled\"\n\t(click)=\"selectOption($event)\"\n>\n\t<ng-container *luOptionOutlet=\"optionTpl; value: option\" />\n\n\t<div *ngIf=\"grouping\" class=\"optionItem-value-group\">\n\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: option | luOptionGroup:grouping.selector }\" />\n\t</div>\n</div>\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport type { ALuSelectInputComponent } from '../input';\nimport type { LuOptionContext } from '../select.model';\n\n@Directive({\n\tselector: '[luOption]',\n\tstandalone: true,\n})\nexport class LuOptionDirective<TOption, TValue> {\n\t@Input('luOptionSelect') set select(select: ALuSelectInputComponent<TOption, TValue>) {\n\t\tselect.optionTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<TOption>>) {}\n\n\tpublic static ngTemplateContextGuard<TOption, TValue>(_dir: LuOptionDirective<TOption, TValue>, ctx: unknown): ctx is LuOptionContext<TOption> {\n\t\treturn true;\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_CORE_SELECT_TRANSLATIONS = new InjectionToken('LuCoreSelectTranslations', {\n\tfactory: () => luCoreSelectTranslations,\n});\n\nexport interface LuCoreSelectLabel {\n\taddOption: string;\n}\n\nexport const luCoreSelectTranslations: ILuTranslation<LuCoreSelectLabel> = {\n\ten: {\n\t\taddOption: 'Add option',\n\t},\n\tfr: {\n\t\taddOption: 'Ajouter une option',\n\t},\n\tde: {\n\t\taddOption: 'Option hinzufügen',\n\t},\n\tes: {\n\t\taddOption: 'Agregar opción',\n\t},\n\tpt: {\n\t\taddOption: 'Adicionar opção',\n\t},\n};\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { OverlayConfig, OverlayContainer } from '@angular/cdk/overlay';\nimport {\n\tChangeDetectorRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tTemplateRef,\n\tType,\n\tViewChild,\n\tbooleanAttribute,\n\tinject,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { PortalContent, getIntl } from '@lucca-front/ng/core';\nimport { BehaviorSubject, Observable, ReplaySubject, Subject, defer, map, of, startWith, switchMap, take } from 'rxjs';\nimport { LuOptionGrouping, LuSimpleSelectDefaultOptionComponent } from '../option';\nimport { LuSelectPanelRef } from '../panel';\nimport { CoreSelectAddOptionStrategy, LuOptionContext, SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';\nimport { LU_CORE_SELECT_TRANSLATIONS } from '../select.translate';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<TOption, TValue> implements OnDestroy, OnInit, ControlValueAccessor {\n\tprotected changeDetectorRef = inject(ChangeDetectorRef);\n\tprotected overlayContainerRef: HTMLElement = inject(OverlayContainer).getContainerElement();\n\n\tprotected labelElement: HTMLElement | undefined = inject(SELECT_LABEL);\n\tprotected labelId: string = inject(SELECT_LABEL_ID);\n\n\tprotected coreIntl = getIntl(LU_CORE_SELECT_TRANSLATIONS);\n\n\t@ViewChild('inputElement')\n\tprivate inputElementRef: ElementRef<HTMLInputElement>;\n\n\tpublic placeholder$ = new BehaviorSubject('');\n\n\tpublic disabled$ = new BehaviorSubject(false);\n\n\t@Input()\n\tset placeholder(value: string) {\n\t\tthis.placeholder$.next(value);\n\t}\n\n\t@Input({ transform: booleanAttribute })\n\t@HostBinding('class.is-clearable')\n\tclearable = false;\n\n\tget searchable(): boolean {\n\t\treturn this.clueChange.observed;\n\t}\n\n\t@Input()\n\taddOptionLabel: PortalContent = this.coreIntl.addOption;\n\n\t@Input()\n\tset addOptionStrategy(strategy: CoreSelectAddOptionStrategy) {\n\t\tthis.addOptionStrategy$.next(strategy);\n\t}\n\n\t@HostBinding('class.is-selected')\n\tprotected get isSelectedClass(): boolean {\n\t\treturn this.hasValue;\n\t}\n\n\t@HostBinding('class.is-searchFilled')\n\tprotected get isSearchFilledClass(): boolean {\n\t\treturn this.clue?.length > 0;\n\t}\n\n\tprotected abstract readonly hasValue: boolean;\n\n\tpublic get isPanelOpen(): boolean {\n\t\treturn this.isPanelOpen$.value;\n\t}\n\n\tpublic isPanelOpen$ = new BehaviorSubject(false);\n\n\tpublic activeDescendant$ = new BehaviorSubject('');\n\n\tget ariaControls(): string {\n\t\treturn this.overlayContainerRef.id;\n\t}\n\n\t@Input()\n\toverlayConfig?: OverlayConfig = {\n\t\thasBackdrop: true,\n\t\tbackdropClass: 'cdk-overlay-transparent-backdrop',\n\t};\n\n\t@Input() set loading(value: boolean) {\n\t\tif (value !== this.loading) {\n\t\t\tthis.loading$.next(value);\n\t\t}\n\t}\n\n\t@Input() set options(options: TOption[]) {\n\t\tthis.options$.next(options);\n\t\tif (this.panelRef) {\n\t\t\t// We have to put it in a setTimeout so it'll be triggered AFTER the DOM is updated and not right now,\n\t\t\t// which is before the panel size has been modified by the arrival of the new options\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.panelRef.updatePosition();\n\t\t\t});\n\t\t}\n\t}\n\n\t@Input() optionComparer: (option1: TOption, option2: TOption) => boolean = (option1, option2) => JSON.stringify(option1) === JSON.stringify(option2);\n\t@Input() optionTpl?: TemplateRef<LuOptionContext<TOption>> | Type<unknown> = LuSimpleSelectDefaultOptionComponent;\n\t@Input() valueTpl?: TemplateRef<LuOptionContext<TOption>> | Type<unknown>;\n\tgrouping?: LuOptionGrouping<TOption, unknown>;\n\n\t@Output() clueChange = new EventEmitter<string>();\n\t@Output() nextPage = new EventEmitter<void>();\n\t@Output() previousPage = new EventEmitter<void>();\n\t@Output() addOption = new EventEmitter<string>();\n\n\tpublic get value(): TValue {\n\t\treturn this._value;\n\t}\n\n\tprotected set value(value: TValue) {\n\t\tthis._value = value;\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\tpublic get inputPlaceholder(): string | null {\n\t\treturn this.value ? null : this.placeholder$.value;\n\t}\n\n\tpublic clueChanged(clue: string, skipPanelOpen = false): void {\n\t\tthis.clue = clue;\n\n\t\tif (!skipPanelOpen && !this.isPanelOpen) {\n\t\t\tthis.openPanel(clue);\n\t\t} else if (this.lastEmittedClue !== clue) {\n\t\t\tthis.clueChange.emit(clue);\n\t\t\tthis.lastEmittedClue = clue;\n\t\t}\n\t}\n\n\tprotected _value?: TValue;\n\n\toptions$ = new ReplaySubject<TOption[]>(1);\n\tloading$ = new BehaviorSubject(false);\n\tclue: string | null = null;\n\t// This is the clue stored after we selected an option to know if we should emit an empty clue on open or not\n\tlastEmittedClue: string = '';\n\tclue$ = defer(() => this.clueChange.pipe(startWith(this.clue)));\n\n\taddOptionStrategy$ = new BehaviorSubject<CoreSelectAddOptionStrategy>('never');\n\tshouldDisplayAddOption$ = this.addOptionStrategy$.pipe(\n\t\tswitchMap((strategy) => {\n\t\t\tswitch (strategy) {\n\t\t\t\tcase 'always':\n\t\t\t\t\treturn of(true);\n\t\t\t\tcase 'never':\n\t\t\t\t\treturn of(false);\n\t\t\t\tcase 'if-empty-clue':\n\t\t\t\t\treturn this.clue$.pipe(map((clue) => !clue));\n\t\t\t\tcase 'if-not-empty-clue':\n\t\t\t\t\treturn this.clue$.pipe(map((clue) => !!clue));\n\t\t\t}\n\t\t}),\n\t);\n\n\tprotected onChange?: (value: TValue | null) => void;\n\tprotected onTouched?: () => void;\n\n\tpublic get panelRef(): LuSelectPanelRef<TOption, TValue> | undefined {\n\t\treturn this._panelRef;\n\t}\n\n\tprotected _panelRef?: LuSelectPanelRef<TOption, TValue>;\n\n\tprotected destroyed$ = new Subject<void>();\n\n\t@HostListener('click', ['$event'])\n\tonClickOpenPanel($event: KeyboardEvent) {\n\t\tif (!this.isPanelOpen) {\n\t\t\tthis.openPanel();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeyDownNavigation($event: KeyboardEvent): void {\n\t\tswitch ($event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\t$event.stopPropagation();\n\t\t\t\t}\n\t\t\t\tthis.panelRef?.close();\n\t\t\t\tbreak;\n\t\t\tcase 'Tab':\n\t\t\t\tthis.panelRef?.close();\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\t// Prevent form submission when selecting a value with Enter\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t\tthis.panelRef.selectCurrentlyHighlightedValue();\n\t\t\t\t} else {\n\t\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ' ':\n\t\t\tcase 'ArrowDown':\n\t\t\tcase 'ArrowUp':\n\t\t\t\t// Initial space should just open the panel, not trigger a clue change\n\t\t\t\tif (!this.clue && $event.key === ' ') {\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tif (this.isPanelOpen) {\n\t\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.openPanel();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.panelRef?.handleKeyManagerEvent($event);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tregisterOnChange(onChange: (value: TValue) => void): void {\n\t\tthis.onChange = onChange;\n\t}\n\n\tregisterOnTouched(onTouched: () => void): void {\n\t\tthis.onTouched = onTouched;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.disabled$.next(isDisabled);\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.closePanel();\n\t\tthis.destroyed$.next();\n\t\tthis.destroyed$.complete();\n\t}\n\n\tngOnInit(): void {\n\t\tif (this.labelElement) {\n\t\t\tthis.labelElement.id = this.labelId;\n\t\t}\n\t}\n\n\tclearValue(event: Event): void {\n\t\tevent.stopPropagation();\n\t\tthis.updateValue(null, true);\n\t\tthis.inputElementRef.nativeElement.focus();\n\t}\n\n\topenPanel(clue: string = ''): void {\n\t\tif (this.isPanelOpen || this.disabled$.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isPanelOpen$.next(true);\n\t\tthis.clueChanged(clue);\n\t\tthis._panelRef = this.buildPanelRef();\n\t\tthis.bindInputToPanelRefEvents();\n\t\tsetTimeout(() => this.focusInput());\n\t}\n\n\temitAddOption(): void {\n\t\tthis.addOption.emit(this.clue);\n\t\tthis.panelRef?.close();\n\t}\n\n\tprotected abstract buildPanelRef(): this['panelRef'];\n\n\tprotected bindInputToPanelRefEvents(): void {\n\t\tif (!this.panelRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.panelRef.valueChanged.subscribe((value) => this.updateValue(value));\n\n\t\tthis.#pageChanged(this.panelRef.nextPage).subscribe(() => this.nextPage.emit());\n\t\tthis.#pageChanged(this.panelRef.previousPage).subscribe(() => this.previousPage.emit());\n\n\t\tthis.panelRef.activeOptionIdChanged.subscribe((optionId) => {\n\t\t\tthis.activeDescendant$.next(optionId);\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t});\n\t\tthis.panelRef.closed.subscribe(() => this.closePanel());\n\t}\n\n\tprotected focusInput(): void {\n\t\tif (this.inputElementRef) {\n\t\t\tthis.inputElementRef.nativeElement.focus();\n\t\t}\n\t}\n\n\tprotected emptyClue(): void {\n\t\tif (this.clue) {\n\t\t\tthis.clue = null;\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t}\n\t}\n\n\tpublic closePanel(): void {\n\t\tif (!this.isPanelOpen) {\n\t\t\treturn;\n\t\t}\n\t\tthis.emptyClue();\n\t\tthis.activeDescendant$.next('');\n\t\tthis.changeDetectorRef.markForCheck();\n\t\tthis.onTouched?.();\n\t\tthis.isPanelOpen$.next(false);\n\t\tthis.panelRef.close();\n\t\tthis._panelRef = undefined;\n\t}\n\n\tpublic writeValue(value: TValue): void {\n\t\tthis.value = value;\n\t}\n\n\tpublic updateValue(value: TValue, skipPanelOpen = false): void {\n\t\tthis.value = value;\n\t\tthis.emptyClue();\n\t\tthis.clueChanged('', skipPanelOpen);\n\t\tthis.onChange?.(value);\n\t\tthis.onTouched?.();\n\t}\n\n\t// Ensure nextPage/previousPage does not emit too often\n\t#pageChanged(pageEmitter: EventEmitter<void>): Observable<void> {\n\t\treturn this.options$.pipe(switchMap(() => pageEmitter.pipe(take(1))));\n\t}\n}\n","import { Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Injectable, Provider, inject } from '@angular/core';\nimport { SELECT_ID, SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';\n\nlet selectId = 0;\n\nfunction selectIdFactory(): number {\n\treturn selectId++;\n}\n\nfunction selectLabelFactory(): HTMLLabelElement | undefined {\n\tconst elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tfunction getLabel(node: HTMLElement): HTMLLabelElement | undefined {\n\t\tif (node instanceof HTMLLabelElement) {\n\t\t\treturn node;\n\t\t}\n\n\t\tif (!node.parentElement) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn getLabel(node.parentElement);\n\t}\n\n\treturn getLabel(elementRef.nativeElement);\n}\n\nfunction selectLabelIdFactory(): string {\n\treturn inject(SELECT_LABEL)?.id || `lu-select-label-${inject(SELECT_ID)}`;\n}\n\nexport function provideLuSelectLabelsAndIds(): Provider[] {\n\treturn [\n\t\t{ provide: SELECT_ID, useFactory: selectIdFactory },\n\t\t{ provide: SELECT_LABEL, useFactory: selectLabelFactory },\n\t\t{ provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory },\n\t];\n}\n\n@Injectable()\nclass LuSelectOverlayContainer extends OverlayContainer {\n\tprivate selectLabelId = inject(SELECT_LABEL_ID);\n\tprivate selectId = inject(SELECT_ID);\n\n\tconstructor() {\n\t\tsuper(inject(DOCUMENT), inject(Platform));\n\t}\n\n\tprotected override _createContainer(): void {\n\t\tsuper._createContainer();\n\t\tthis._containerElement.setAttribute('aria-labelledby', this.selectLabelId);\n\t\tthis._containerElement.id = `lu-select-overlay-container-${this.selectId}`;\n\t}\n}\n\nexport function provideLuSelectOverlayContainer(): Provider[] {\n\treturn [\n\t\tOverlay,\n\t\t{\n\t\t\tprovide: OverlayContainer,\n\t\t\tuseClass: LuSelectOverlayContainer,\n\t\t},\n\t];\n}\n","import { EventEmitter } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport abstract class LuSelectPanelRef<TOption, TValue> {\n\tclosed = new EventEmitter<void>();\n\tpreviousPage = new EventEmitter<void>();\n\tnextPage = new EventEmitter<void>();\n\tvalueChanged = new EventEmitter<TValue>();\n\tclueChanged = new EventEmitter<string>();\n\tactiveOptionIdChanged = new EventEmitter<string>();\n\toptions$: Observable<TOption>;\n\n\tabstract updatePosition(): void;\n\n\tabstract handleKeyManagerEvent(event: KeyboardEvent): void;\n\n\tabstract emitValue(value: TValue): void;\n\n\tabstract selectCurrentlyHighlightedValue(): void;\n\n\tclose(): void {\n\t\tthis.closed.next();\n\t\tthis.closed.complete();\n\t\tthis.nextPage.complete();\n\t\tthis.previousPage.complete();\n\t\tthis.valueChanged.complete();\n\t\tthis.clueChanged.emit('');\n\t\tthis.clueChanged.complete();\n\t\tthis.activeOptionIdChanged.complete();\n\t}\n}\n","import { Observable, distinctUntilChanged, map, of, skip, startWith, switchMap, take } from 'rxjs';\n\nexport type GroupTemplateLocation = 'group-header' | 'option' | 'none';\n\n/**\n * In order to avoid a blinking when we go from empty clue to a clue\n * We need to delay the change of group displayer location by waiting for the options to be updated.\n */\nexport function getGroupTemplateLocation(hasGrouping: boolean, clueChange$: Observable<string>, options$: Observable<unknown[]>): Observable<GroupTemplateLocation> {\n\treturn hasGrouping\n\t\t? clueChange$.pipe(\n\t\t\t\tmap((clue) => !!clue),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tswitchMap((hasClue) =>\n\t\t\t\t\toptions$.pipe(\n\t\t\t\t\t\tskip(1),\n\t\t\t\t\t\ttake(1),\n\t\t\t\t\t\tmap((): GroupTemplateLocation => (hasClue ? 'option' : 'group-header')),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tstartWith('group-header' as const),\n\t\t\t)\n\t\t: of('none' as const);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, LOCALE_ID, Injectable, Inject, Optional, inject, Pipe, ViewContainerRef, Renderer2, TemplateRef, Injector, Directive, Input, ElementRef } from '@angular/core';
3
- import { FormatWidth, getLocaleDateFormat, formatDate } from '@angular/common';
3
+ import { getLocaleDateFormat, FormatWidth, formatDate } from '@angular/common';
4
4
 
5
5
  var ELuDateGranularity;
6
6
  (function (ELuDateGranularity) {
@@ -130,7 +130,7 @@ class LuNativeDateAdapter extends ALuDateAdapter {
130
130
  try {
131
131
  const { date, month, year } = this.extract(text, granularity);
132
132
  // When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends
133
- if (year >= 10000) {
133
+ if (year >= 10_000) {
134
134
  return false;
135
135
  }
136
136
  let d;
@@ -282,10 +282,10 @@ class LuNativeDateAdapter extends ALuDateAdapter {
282
282
  }
283
283
  return this.forge(year, month, date);
284
284
  }
285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuNativeDateAdapter, deps: [{ token: LOCALE_ID }, { token: LU_NATIVE_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
286
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuNativeDateAdapter }); }
285
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuNativeDateAdapter, deps: [{ token: LOCALE_ID }, { token: LU_NATIVE_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
286
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuNativeDateAdapter }); }
287
287
  }
288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuNativeDateAdapter, decorators: [{
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuNativeDateAdapter, decorators: [{
289
289
  type: Injectable
290
290
  }], ctorParameters: () => [{ type: undefined, decorators: [{
291
291
  type: Inject,
@@ -366,10 +366,10 @@ class LuStringDateAdapter extends ALuDateAdapter {
366
366
  }
367
367
  return result;
368
368
  }
369
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuStringDateAdapter, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
370
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuStringDateAdapter }); }
369
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuStringDateAdapter, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
370
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuStringDateAdapter }); }
371
371
  }
372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuStringDateAdapter, decorators: [{
372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuStringDateAdapter, decorators: [{
373
373
  type: Injectable
374
374
  }], ctorParameters: () => [{ type: undefined, decorators: [{
375
375
  type: Inject,
@@ -408,10 +408,10 @@ class IntlParamsPipe {
408
408
  return args[key]?.toString() ?? base;
409
409
  });
410
410
  }
411
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: IntlParamsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
412
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: IntlParamsPipe, isStandalone: true, name: "intlParams" }); }
411
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IntlParamsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
412
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: IntlParamsPipe, isStandalone: true, name: "intlParams" }); }
413
413
  }
414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: IntlParamsPipe, decorators: [{
414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IntlParamsPipe, decorators: [{
415
415
  type: Pipe,
416
416
  args: [{
417
417
  name: 'intlParams',
@@ -488,10 +488,10 @@ class PortalDirective {
488
488
  this.createdTextElement = null;
489
489
  }
490
490
  }
491
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: PortalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
492
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: PortalDirective, isStandalone: true, selector: "[luPortal]", inputs: { luPortal: "luPortal", luPortalContext: "luPortalContext" }, usesOnChanges: true, ngImport: i0 }); }
491
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PortalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
492
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: PortalDirective, isStandalone: true, selector: "[luPortal]", inputs: { luPortal: "luPortal", luPortalContext: "luPortalContext" }, usesOnChanges: true, ngImport: i0 }); }
493
493
  }
494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: PortalDirective, decorators: [{
494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PortalDirective, decorators: [{
495
495
  type: Directive,
496
496
  args: [{
497
497
  selector: '[luPortal]',
@@ -556,10 +556,10 @@ class LuClass {
556
556
  this.#renderer.removeClass(this.#elementRef.nativeElement, klass);
557
557
  }
558
558
  }
559
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
560
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass }); }
559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuClass, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
560
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuClass }); }
561
561
  }
562
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass, decorators: [{
562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuClass, decorators: [{
563
563
  type: Injectable
564
564
  }] });
565
565
  function normalizeToRecord(obj) {
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core.mjs","sources":["../../../packages/ng/core/date/date-granularity.enum.ts","../../../packages/ng/core/date/date-adapter.class.ts","../../../packages/ng/core/date/native/native-date.option.ts","../../../packages/ng/core/date/native/native-date.adapter.ts","../../../packages/ng/core/date/string/string-date.adapter.ts","../../../packages/ng/core/event/on-close.subscriber.ts","../../../packages/ng/core/event/on-open.subscriber.ts","../../../packages/ng/core/event/on-scroll-bottom.subscriber.ts","../../../packages/ng/core/translate/intl.model.ts","../../../packages/ng/core/translate/intl-params.pipe.ts","../../../packages/ng/core/id/id.generator.ts","../../../packages/ng/core/portal/portal-content.ts","../../../packages/ng/core/portal/portal.directive.ts","../../../packages/ng/core/tools/class.ts","../../../packages/ng/core/lucca-front-ng-core.ts"],"sourcesContent":["export enum ELuDateGranularity {\n\tday = 'day',\n\tmonth = 'month',\n\tyear = 'year',\n\tdecade = 'decade',\n}\n","import { ILuDateAdapter } from './date-adapter.interface';\nimport { ELuDateGranularity } from './date-granularity.enum';\n\nexport abstract class ALuDateAdapter<D> implements ILuDateAdapter<D> {\n\tabstract forge(year: number, month: number, date: number): D;\n\tabstract forgeToday(): D;\n\tabstract forgeInvalid(): D;\n\tabstract isValid(d: D): boolean;\n\tcompare(a: D, b: D, granularity: ELuDateGranularity): number {\n\t\tif (!a || !b || !this.isValid(a) || !this.isValid(b)) {\n\t\t\tthrow new Error('you must provide valid and not null dates to be compared');\n\t\t}\n\t\tconst aDecade = Math.floor(this.getYear(a) / 10);\n\t\tconst bDecade = Math.floor(this.getYear(b) / 10);\n\t\tif (aDecade < bDecade) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDecade > bDecade) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.decade) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aYear = this.getYear(a);\n\t\tconst bYear = this.getYear(b);\n\t\tif (aYear < bYear) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aYear > bYear) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.year) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aMonth = this.getMonth(a);\n\t\tconst bMonth = this.getMonth(b);\n\t\tif (aMonth < bMonth) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aMonth > bMonth) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.month) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aDate = this.getDate(a);\n\t\tconst bDate = this.getDate(b);\n\t\tif (aDate < bDate) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDate > bDate) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.day) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn 0;\n\t}\n\tabstract isParsable(text: string, granularity?: ELuDateGranularity): boolean;\n\tabstract parse(text: string, granularity?: ELuDateGranularity): D;\n\tabstract format(d: D, format: string): string;\n\tabstract clone(d: D): D;\n\n\tabstract getYear(d: D): number;\n\tabstract getMonth(d: D): number;\n\tabstract getDate(d: D): number;\n\tabstract getDay(d: D): number;\n\n\tabstract add(d: D, count: number, granularity: ELuDateGranularity): D;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ILuNativeDateAdapterOptions {\n\tuseUtc?: boolean;\n}\nexport const luDefaultNativeDateAdapterOptions: ILuNativeDateAdapterOptions = {\n\tuseUtc: false,\n};\nexport const LU_NATIVE_DATE_ADAPTER_OPTIONS = new InjectionToken<ILuNativeDateAdapterOptions>('Native date adapter options');\n","import { formatDate, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID, Optional } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { ELuDateGranularity } from '../date-granularity.enum';\nimport { ILuNativeDateAdapterOptions, luDefaultNativeDateAdapterOptions, LU_NATIVE_DATE_ADAPTER_OPTIONS } from './native-date.option';\n\n@Injectable()\nexport class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDateAdapter<Date> {\n\tprivate _regex = /[/,.\\-\\s]/i;\n\tprivate _order = {\n\t\tdate: 0,\n\t\tmonth: 1,\n\t\tyear: 2,\n\t};\n\tconstructor(\n\t\t@Inject(LOCALE_ID) private _locale: string,\n\t\t@Inject(LU_NATIVE_DATE_ADAPTER_OPTIONS)\n\t\t@Optional()\n\t\tprivate _options: ILuNativeDateAdapterOptions,\n\t) {\n\t\tsuper();\n\t\tthis._options = this._options || luDefaultNativeDateAdapterOptions;\n\t\tthis.initOrder();\n\t}\n\tprivate initOrder() {\n\t\tconst format = getLocaleDateFormat(this._locale, FormatWidth.Short);\n\t\tconst groups = format.split(this._regex);\n\t\tgroups.forEach((g, i) => {\n\t\t\tif (g.indexOf('d') !== -1) {\n\t\t\t\tthis._order.date = i;\n\t\t\t}\n\t\t\tif (g.indexOf('M') !== -1) {\n\t\t\t\tthis._order.month = i;\n\t\t\t}\n\t\t\tif (g.indexOf('y') !== -1) {\n\t\t\t\tthis._order.year = i;\n\t\t\t}\n\t\t});\n\t}\n\tprivate extract(text: string, granularity: ELuDateGranularity = ELuDateGranularity.day): { date: number; month: number; year: number } {\n\t\tconst groups = text.split(this._regex);\n\t\tlet date = 1,\n\t\t\tmonth = 1,\n\t\t\tyear = 1;\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 2, 0)], 10);\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth = parseInt(groups[Math.max(this._order.month - 1, 0)], 10);\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 1, 0)], 10) || new Date().getFullYear();\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\tdefault:\n\t\t\t\tdate = parseInt(groups[this._order.date], 10);\n\t\t\t\tmonth = parseInt(groups[this._order.month], 10);\n\t\t\t\tyear = parseInt(groups[this._order.year], 10) || new Date().getFullYear();\n\t\t}\n\t\treturn { date, month, year };\n\t}\n\tisParsable(text: string, granularity = ELuDateGranularity.day): boolean {\n\t\tif (!text) {\n\t\t\treturn false;\n\t\t}\n\t\tconst groups = text.split(this._regex);\n\t\tconst dayTextInvalid = granularity === ELuDateGranularity.day && groups.length !== 3;\n\t\tconst monthTextInvalid = granularity === ELuDateGranularity.month && groups.length !== 2;\n\t\tconst yearTextInvalid = granularity === ELuDateGranularity.year && groups.length !== 1;\n\t\tif (dayTextInvalid || monthTextInvalid || yearTextInvalid) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\t\t// When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends\n\t\t\tif (year >= 10_000) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet d: Date;\n\t\t\tif (this._options.useUtc) {\n\t\t\t\td = new Date(Date.UTC(year, month - 1, date));\n\t\t\t} else {\n\t\t\t\td = new Date(year, month - 1, date);\n\t\t\t}\n\t\t\t// checking if its a valid date\n\t\t\t// https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\n\t\t\tif (!(d instanceof Date)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (isNaN(d.getTime())) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// d is a valid date, but\n\t\t\t// as i can write new Date(1234, 56, 78) and mr javascript accepts it\n\t\t\t// i check now that the generated date has the same year/month/date as what i entered\n\t\t\tif (this._options.useUtc) {\n\t\t\t\tif (d.getUTCFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (d.getFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\tparse(text: string, granularity = ELuDateGranularity.day): Date {\n\t\tif (!text) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!this.isParsable(text, granularity)) {\n\t\t\treturn this.forgeInvalid();\n\t\t}\n\n\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\treturn this.forge(year, month, date);\n\t}\n\tformat(d: Date, format: string): string {\n\t\tif (this._options.useUtc) {\n\t\t\treturn formatDate(d, format, this._locale, 'UTC');\n\t\t} else {\n\t\t\treturn formatDate(d, format, this._locale);\n\t\t}\n\t}\n\tforge(year: number, month: number, date: number): Date {\n\t\tif (this._options.useUtc) {\n\t\t\treturn new Date(Date.UTC(year, month - 1, date)); // month-1 cuz 0 -> january\n\t\t} else {\n\t\t\treturn new Date(year, month - 1, date); // month-1 cuz 0 -> january\n\t\t}\n\t}\n\tforgeToday(): Date {\n\t\tif (this._options.useUtc) {\n\t\t\tconst nonUTCToday = new Date();\n\t\t\treturn new Date(Date.UTC(nonUTCToday.getFullYear(), nonUTCToday.getMonth(), nonUTCToday.getDate()));\n\t\t} else {\n\t\t\tconst today = new Date();\n\t\t\treturn new Date(today.getFullYear(), today.getMonth(), today.getDate());\n\t\t}\n\t}\n\tforgeInvalid(): Date {\n\t\treturn new Date('Invalid Date');\n\t}\n\tisValid(d: Date): boolean {\n\t\tif (!(d instanceof Date)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isNaN(d.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tclone(d: Date): Date {\n\t\treturn new Date(d);\n\t}\n\n\tgetYear(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCFullYear();\n\t\t} else {\n\t\t\treturn d.getFullYear();\n\t\t}\n\t}\n\tgetMonth(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCMonth() + 1;\n\t\t} else {\n\t\t\treturn d.getMonth() + 1;\n\t\t}\n\t}\n\tgetDate(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDate();\n\t\t} else {\n\t\t\treturn d.getDate();\n\t\t}\n\t}\n\tgetDay(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDay();\n\t\t} else {\n\t\t\treturn d.getDay();\n\t\t}\n\t}\n\n\tadd(d: Date, count: number, granularity: ELuDateGranularity): Date {\n\t\tlet year = this.getYear(d);\n\t\tlet month = this.getMonth(d);\n\t\tlet date = this.getDate(d);\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.decade:\n\t\t\t\tyear += 10 * count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\t\tdate += count;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn this.forge(year, month, date);\n\t}\n}\n","import { Injectable, Inject, LOCALE_ID } from '@angular/core';\nimport { LuNativeDateAdapter } from '../native/index';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ELuDateGranularity } from '../date-granularity.enum';\nimport { ILuDateAdapter } from '../date-adapter.interface';\n\n/** bind to a string with iso 26001 format YYYY-MM-DD */\n@Injectable()\nexport class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuDateAdapter<string> {\n\t// i'm going to implement this by doing some inheritance by composition\n\t// i'll just use the native date adapter and just parse/format to interface it with a string\n\n\tprivate _nativeAdapter: LuNativeDateAdapter;\n\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {\n\t\tsuper();\n\t\tthis._nativeAdapter = new LuNativeDateAdapter(this._locale, {\n\t\t\tuseUtc: true,\n\t\t});\n\t}\n\n\tforge(year: number, month: number, date: number): string {\n\t\treturn this.dateToString(this._nativeAdapter.forge(year, month, date));\n\t}\n\n\tforgeToday(): string {\n\t\treturn this.dateToString(this._nativeAdapter.forgeToday());\n\t}\n\n\tforgeInvalid(): string {\n\t\treturn 'Invalid Date';\n\t}\n\n\tisValid(d: string): boolean {\n\t\treturn this._nativeAdapter.isValid(this.stringToDate(d));\n\t}\n\n\toverride compare(a: string, b: string, granularity: ELuDateGranularity): number {\n\t\tconst da = this.stringToDate(a);\n\t\tconst db = this.stringToDate(b);\n\n\t\treturn this._nativeAdapter.compare(da, db, granularity);\n\t}\n\n\tisParsable(text: string): boolean {\n\t\treturn this._nativeAdapter.isParsable(text);\n\t}\n\n\tparse(text: string, granularity: ELuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.parse(text, granularity));\n\t}\n\n\tformat(d: string, format: string): string {\n\t\treturn this._nativeAdapter.format(this.stringToDate(d), format);\n\t}\n\n\tclone(d: string): string {\n\t\treturn `${d}`;\n\t}\n\n\tgetYear(d: string): number {\n\t\treturn this._nativeAdapter.getYear(this.stringToDate(d));\n\t}\n\n\tgetMonth(d: string): number {\n\t\treturn this._nativeAdapter.getMonth(this.stringToDate(d));\n\t}\n\n\tgetDate(d: string): number {\n\t\treturn this._nativeAdapter.getDate(this.stringToDate(d));\n\t}\n\n\tgetDay(d: string): number {\n\t\treturn this._nativeAdapter.getDay(this.stringToDate(d));\n\t}\n\n\tadd(d: string, count: number, granularity: ELuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity));\n\t}\n\n\tprotected stringToDate(s: string): Date {\n\t\treturn new Date(`${s}T00:00:00Z`);\n\t}\n\n\tprotected dateToString(d: Date): string {\n\t\tlet result: string;\n\n\t\tif (d === undefined) {\n\t\t\tresult = undefined;\n\t\t} else if (!this._nativeAdapter.isValid(d)) {\n\t\t\tresult = this.forgeInvalid();\n\t\t} else {\n\t\t\tresult = d.toISOString().substring(0, 10);\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","export interface ILuOnCloseSubscriber {\n\tonClose(): void;\n}\nexport abstract class ALuOnCloseSubscriber implements ILuOnCloseSubscriber {\n\tabstract onClose(): void;\n}\n","export interface ILuOnOpenSubscriber {\n\tonOpen(): void;\n}\nexport abstract class ALuOnOpenSubscriber implements ILuOnOpenSubscriber {\n\tabstract onOpen(): void;\n}\n","export interface ILuOnScrollBottomSubscriber {\n\tonScrollBottom(): void;\n}\nexport abstract class ALuOnScrollBottomSubscriber implements ILuOnScrollBottomSubscriber {\n\tabstract onScrollBottom(): void;\n}\n","import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { ILuTranslation } from './translation.model';\n\nexport type ILuIntl<T> = { [P in keyof T]: string };\n\nfunction isSupportedLang<T>(locale: string, translations: ILuTranslation<T>): locale is keyof ILuTranslation<T> {\n\treturn locale in translations;\n}\n\nexport function getIntl<T>(translationsToken: InjectionToken<ILuTranslation<T>>): T {\n\tconst locale = inject(LOCALE_ID);\n\tconst translations = inject(translationsToken);\n\n\tif (isSupportedLang(locale, translations)) {\n\t\treturn translations[locale];\n\t}\n\n\tconst shortLocale = locale.substring(0, 2);\n\tif (isSupportedLang(shortLocale, translations)) {\n\t\treturn translations[shortLocale];\n\t}\n\n\treturn translations['en'];\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'intlParams',\n\tstandalone: true,\n})\nexport class IntlParamsPipe implements PipeTransform {\n\t#matcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n\n\ttransform(value: string, args: Record<string, string | number>): string {\n\t\treturn value.replace(this.#matcher, (base, key: string) => {\n\t\t\treturn args[key]?.toString() ?? base;\n\t\t});\n\t}\n}\n","const ID_LENGTH = 8;\nconst ID_BASE = 16;\nexport function generateId(): string {\n\treturn Array(ID_LENGTH)\n\t\t.fill(0)\n\t\t.map(() => Math.floor(Math.random() * ID_BASE).toString(ID_BASE))\n\t\t.join('');\n}\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\n\nexport type PortalContent<T = unknown> = string | TemplateRef<T> | Type<unknown>;\n\nexport const PORTAL_CONTEXT = new InjectionToken<unknown>('PORTAL_CONTEXT');\n","import { Directive, inject, Injector, Input, OnChanges, OnDestroy, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { PORTAL_CONTEXT, PortalContent } from './portal-content';\n\n@Directive({\n\tselector: '[luPortal]',\n\tstandalone: true,\n})\nexport class PortalDirective<T = unknown> implements OnChanges, OnDestroy {\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate renderer = inject(Renderer2);\n\tprivate templateRef = inject(TemplateRef);\n\tprivate injector = inject(Injector);\n\n\t@Input({ required: true })\n\tpublic luPortal: PortalContent<T> = null;\n\n\t@Input()\n\tpublic luPortalContext: T | null = null;\n\n\tprivate createdTextElement: Text | null = null;\n\n\tprivate render(): void {\n\t\tthis.viewContainerRef.clear();\n\n\t\tif (typeof this.luPortal !== 'string') {\n\t\t\tthis.destroyRenderedText();\n\t\t}\n\n\t\tif (this.luPortal instanceof TemplateRef) {\n\t\t\tthis.viewContainerRef.createEmbeddedView<T>(this.luPortal, this.luPortalContext);\n\t\t} else if (typeof this.luPortal === 'string') {\n\t\t\tthis.renderText(this.luPortal);\n\t\t} else {\n\t\t\tconst injector = Injector.create({\n\t\t\t\tparent: this.injector,\n\t\t\t\tproviders: [{ provide: PORTAL_CONTEXT, useValue: this.luPortalContext }],\n\t\t\t});\n\t\t\tconst ref = this.viewContainerRef.createComponent(this.luPortal, { injector });\n\t\t\tref.changeDetectorRef.detectChanges();\n\t\t}\n\t}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['luPortal']) {\n\t\t\t// If we're here, it means that either the template ref changed or the string changed,\n\t\t\t// meaning that we need to render again\n\t\t\tthis.render();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyRenderedText();\n\t}\n\n\tprivate renderText(text: string): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.createdTextElement.textContent = text;\n\t\t} else {\n\t\t\tconst ref = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tconst container: HTMLElement = ref.rootNodes[0] as HTMLElement;\n\t\t\tconst parent = container.parentElement;\n\t\t\tthis.createdTextElement = document.createTextNode(text);\n\t\t\tthis.renderer.insertBefore(parent, this.createdTextElement, container);\n\t\t}\n\t}\n\n\tprivate destroyRenderedText(): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.renderer.removeChild(this.createdTextElement.parentNode, this.createdTextElement);\n\t\t\tthis.createdTextElement = null;\n\t\t}\n\t}\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\n\ntype LuClassSupportedTypes = string | string[] | Set<string> | { [klass: string]: boolean };\n\ninterface CssClassState {\n\tenabled: boolean;\n\tchanged: boolean;\n\ttouched: boolean;\n}\n\n@Injectable()\nexport class LuClass {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\t#renderer = inject(Renderer2);\n\n\t#state: Record<string, boolean> = {};\n\t#stateMap = new Map<string, CssClassState>();\n\n\tpublic setState(value: LuClassSupportedTypes) {\n\t\tthis.#state = normalizeToRecord(value);\n\n\t\tfor (const [klass, enabled] of Object.entries(this.#state)) {\n\t\t\tthis.#updateState(klass, enabled);\n\t\t}\n\n\t\tthis.#applyStateDiff();\n\t}\n\n\t#updateState(klass: string, nextEnabled: boolean) {\n\t\tconst state = this.#stateMap.get(klass);\n\t\tif (state !== undefined) {\n\t\t\tif (state.enabled !== nextEnabled) {\n\t\t\t\tstate.changed = true;\n\t\t\t\tstate.enabled = nextEnabled;\n\t\t\t}\n\t\t\tstate.touched = true;\n\t\t} else {\n\t\t\tthis.#stateMap.set(klass, { enabled: nextEnabled, changed: true, touched: true });\n\t\t}\n\t}\n\n\t#applyStateDiff() {\n\t\tfor (const stateEntry of this.#stateMap) {\n\t\t\tconst klass = stateEntry[0];\n\t\t\tconst state = stateEntry[1];\n\n\t\t\tif (state.changed) {\n\t\t\t\tthis.#toggleClass(klass, state.enabled);\n\t\t\t\tstate.changed = false;\n\t\t\t} else if (!state.touched) {\n\t\t\t\t// A class that was previously active got removed from the new collection of classes -\n\t\t\t\t// remove from the DOM as well.\n\t\t\t\tif (state.enabled) {\n\t\t\t\t\tthis.#toggleClass(klass, false);\n\t\t\t\t}\n\t\t\t\tthis.#stateMap.delete(klass);\n\t\t\t}\n\n\t\t\tstate.touched = false;\n\t\t}\n\t}\n\n\t#toggleClass(klass: string, enabled: boolean): void {\n\t\tif (enabled) {\n\t\t\tthis.#renderer.addClass(this.#elementRef.nativeElement, klass);\n\t\t} else {\n\t\t\tthis.#renderer.removeClass(this.#elementRef.nativeElement, klass);\n\t\t}\n\t}\n}\n\nfunction normalizeToRecord(obj: LuClassSupportedTypes): Record<string, boolean> {\n\tif (Array.isArray(obj) || obj instanceof Set) {\n\t\tconst result: Record<string, boolean> = {};\n\n\t\tfor (const item of obj) {\n\t\t\tresult[item] = true;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tif (typeof obj === 'string') {\n\t\tobj = obj.trim();\n\t\treturn obj ? { [obj]: true } : {};\n\t}\n\n\treturn obj;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core.mjs","sources":["../../../packages/ng/core/date/date-granularity.enum.ts","../../../packages/ng/core/date/date-adapter.class.ts","../../../packages/ng/core/date/native/native-date.option.ts","../../../packages/ng/core/date/native/native-date.adapter.ts","../../../packages/ng/core/date/string/string-date.adapter.ts","../../../packages/ng/core/event/on-close.subscriber.ts","../../../packages/ng/core/event/on-open.subscriber.ts","../../../packages/ng/core/event/on-scroll-bottom.subscriber.ts","../../../packages/ng/core/translate/intl.model.ts","../../../packages/ng/core/translate/intl-params.pipe.ts","../../../packages/ng/core/id/id.generator.ts","../../../packages/ng/core/portal/portal-content.ts","../../../packages/ng/core/portal/portal.directive.ts","../../../packages/ng/core/tools/class.ts","../../../packages/ng/core/lucca-front-ng-core.ts"],"sourcesContent":["export enum ELuDateGranularity {\n\tday = 'day',\n\tmonth = 'month',\n\tyear = 'year',\n\tdecade = 'decade',\n}\n","import { ILuDateAdapter } from './date-adapter.interface';\nimport { ELuDateGranularity } from './date-granularity.enum';\n\nexport abstract class ALuDateAdapter<D> implements ILuDateAdapter<D> {\n\tabstract forge(year: number, month: number, date: number): D;\n\tabstract forgeToday(): D;\n\tabstract forgeInvalid(): D;\n\tabstract isValid(d: D): boolean;\n\tcompare(a: D, b: D, granularity: ELuDateGranularity): number {\n\t\tif (!a || !b || !this.isValid(a) || !this.isValid(b)) {\n\t\t\tthrow new Error('you must provide valid and not null dates to be compared');\n\t\t}\n\t\tconst aDecade = Math.floor(this.getYear(a) / 10);\n\t\tconst bDecade = Math.floor(this.getYear(b) / 10);\n\t\tif (aDecade < bDecade) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDecade > bDecade) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.decade) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aYear = this.getYear(a);\n\t\tconst bYear = this.getYear(b);\n\t\tif (aYear < bYear) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aYear > bYear) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.year) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aMonth = this.getMonth(a);\n\t\tconst bMonth = this.getMonth(b);\n\t\tif (aMonth < bMonth) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aMonth > bMonth) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.month) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aDate = this.getDate(a);\n\t\tconst bDate = this.getDate(b);\n\t\tif (aDate < bDate) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDate > bDate) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.day) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn 0;\n\t}\n\tabstract isParsable(text: string, granularity?: ELuDateGranularity): boolean;\n\tabstract parse(text: string, granularity?: ELuDateGranularity): D;\n\tabstract format(d: D, format: string): string;\n\tabstract clone(d: D): D;\n\n\tabstract getYear(d: D): number;\n\tabstract getMonth(d: D): number;\n\tabstract getDate(d: D): number;\n\tabstract getDay(d: D): number;\n\n\tabstract add(d: D, count: number, granularity: ELuDateGranularity): D;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ILuNativeDateAdapterOptions {\n\tuseUtc?: boolean;\n}\nexport const luDefaultNativeDateAdapterOptions: ILuNativeDateAdapterOptions = {\n\tuseUtc: false,\n};\nexport const LU_NATIVE_DATE_ADAPTER_OPTIONS = new InjectionToken<ILuNativeDateAdapterOptions>('Native date adapter options');\n","import { formatDate, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID, Optional } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { ELuDateGranularity } from '../date-granularity.enum';\nimport { ILuNativeDateAdapterOptions, luDefaultNativeDateAdapterOptions, LU_NATIVE_DATE_ADAPTER_OPTIONS } from './native-date.option';\n\n@Injectable()\nexport class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDateAdapter<Date> {\n\tprivate _regex = /[/,.\\-\\s]/i;\n\tprivate _order = {\n\t\tdate: 0,\n\t\tmonth: 1,\n\t\tyear: 2,\n\t};\n\tconstructor(\n\t\t@Inject(LOCALE_ID) private _locale: string,\n\t\t@Inject(LU_NATIVE_DATE_ADAPTER_OPTIONS)\n\t\t@Optional()\n\t\tprivate _options: ILuNativeDateAdapterOptions,\n\t) {\n\t\tsuper();\n\t\tthis._options = this._options || luDefaultNativeDateAdapterOptions;\n\t\tthis.initOrder();\n\t}\n\tprivate initOrder() {\n\t\tconst format = getLocaleDateFormat(this._locale, FormatWidth.Short);\n\t\tconst groups = format.split(this._regex);\n\t\tgroups.forEach((g, i) => {\n\t\t\tif (g.indexOf('d') !== -1) {\n\t\t\t\tthis._order.date = i;\n\t\t\t}\n\t\t\tif (g.indexOf('M') !== -1) {\n\t\t\t\tthis._order.month = i;\n\t\t\t}\n\t\t\tif (g.indexOf('y') !== -1) {\n\t\t\t\tthis._order.year = i;\n\t\t\t}\n\t\t});\n\t}\n\tprivate extract(text: string, granularity: ELuDateGranularity = ELuDateGranularity.day): { date: number; month: number; year: number } {\n\t\tconst groups = text.split(this._regex);\n\t\tlet date = 1,\n\t\t\tmonth = 1,\n\t\t\tyear = 1;\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 2, 0)], 10);\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth = parseInt(groups[Math.max(this._order.month - 1, 0)], 10);\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 1, 0)], 10) || new Date().getFullYear();\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\tdefault:\n\t\t\t\tdate = parseInt(groups[this._order.date], 10);\n\t\t\t\tmonth = parseInt(groups[this._order.month], 10);\n\t\t\t\tyear = parseInt(groups[this._order.year], 10) || new Date().getFullYear();\n\t\t}\n\t\treturn { date, month, year };\n\t}\n\tisParsable(text: string, granularity = ELuDateGranularity.day): boolean {\n\t\tif (!text) {\n\t\t\treturn false;\n\t\t}\n\t\tconst groups = text.split(this._regex);\n\t\tconst dayTextInvalid = granularity === ELuDateGranularity.day && groups.length !== 3;\n\t\tconst monthTextInvalid = granularity === ELuDateGranularity.month && groups.length !== 2;\n\t\tconst yearTextInvalid = granularity === ELuDateGranularity.year && groups.length !== 1;\n\t\tif (dayTextInvalid || monthTextInvalid || yearTextInvalid) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\t\t// When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends\n\t\t\tif (year >= 10_000) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet d: Date;\n\t\t\tif (this._options.useUtc) {\n\t\t\t\td = new Date(Date.UTC(year, month - 1, date));\n\t\t\t} else {\n\t\t\t\td = new Date(year, month - 1, date);\n\t\t\t}\n\t\t\t// checking if its a valid date\n\t\t\t// https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\n\t\t\tif (!(d instanceof Date)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (isNaN(d.getTime())) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// d is a valid date, but\n\t\t\t// as i can write new Date(1234, 56, 78) and mr javascript accepts it\n\t\t\t// i check now that the generated date has the same year/month/date as what i entered\n\t\t\tif (this._options.useUtc) {\n\t\t\t\tif (d.getUTCFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (d.getFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\tparse(text: string, granularity = ELuDateGranularity.day): Date {\n\t\tif (!text) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!this.isParsable(text, granularity)) {\n\t\t\treturn this.forgeInvalid();\n\t\t}\n\n\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\treturn this.forge(year, month, date);\n\t}\n\tformat(d: Date, format: string): string {\n\t\tif (this._options.useUtc) {\n\t\t\treturn formatDate(d, format, this._locale, 'UTC');\n\t\t} else {\n\t\t\treturn formatDate(d, format, this._locale);\n\t\t}\n\t}\n\tforge(year: number, month: number, date: number): Date {\n\t\tif (this._options.useUtc) {\n\t\t\treturn new Date(Date.UTC(year, month - 1, date)); // month-1 cuz 0 -> january\n\t\t} else {\n\t\t\treturn new Date(year, month - 1, date); // month-1 cuz 0 -> january\n\t\t}\n\t}\n\tforgeToday(): Date {\n\t\tif (this._options.useUtc) {\n\t\t\tconst nonUTCToday = new Date();\n\t\t\treturn new Date(Date.UTC(nonUTCToday.getFullYear(), nonUTCToday.getMonth(), nonUTCToday.getDate()));\n\t\t} else {\n\t\t\tconst today = new Date();\n\t\t\treturn new Date(today.getFullYear(), today.getMonth(), today.getDate());\n\t\t}\n\t}\n\tforgeInvalid(): Date {\n\t\treturn new Date('Invalid Date');\n\t}\n\tisValid(d: Date): boolean {\n\t\tif (!(d instanceof Date)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isNaN(d.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tclone(d: Date): Date {\n\t\treturn new Date(d);\n\t}\n\n\tgetYear(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCFullYear();\n\t\t} else {\n\t\t\treturn d.getFullYear();\n\t\t}\n\t}\n\tgetMonth(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCMonth() + 1;\n\t\t} else {\n\t\t\treturn d.getMonth() + 1;\n\t\t}\n\t}\n\tgetDate(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDate();\n\t\t} else {\n\t\t\treturn d.getDate();\n\t\t}\n\t}\n\tgetDay(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDay();\n\t\t} else {\n\t\t\treturn d.getDay();\n\t\t}\n\t}\n\n\tadd(d: Date, count: number, granularity: ELuDateGranularity): Date {\n\t\tlet year = this.getYear(d);\n\t\tlet month = this.getMonth(d);\n\t\tlet date = this.getDate(d);\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.decade:\n\t\t\t\tyear += 10 * count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\t\tdate += count;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn this.forge(year, month, date);\n\t}\n}\n","import { Injectable, Inject, LOCALE_ID } from '@angular/core';\nimport { LuNativeDateAdapter } from '../native/index';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ELuDateGranularity } from '../date-granularity.enum';\nimport { ILuDateAdapter } from '../date-adapter.interface';\n\n/** bind to a string with iso 26001 format YYYY-MM-DD */\n@Injectable()\nexport class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuDateAdapter<string> {\n\t// i'm going to implement this by doing some inheritance by composition\n\t// i'll just use the native date adapter and just parse/format to interface it with a string\n\n\tprivate _nativeAdapter: LuNativeDateAdapter;\n\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {\n\t\tsuper();\n\t\tthis._nativeAdapter = new LuNativeDateAdapter(this._locale, {\n\t\t\tuseUtc: true,\n\t\t});\n\t}\n\n\tforge(year: number, month: number, date: number): string {\n\t\treturn this.dateToString(this._nativeAdapter.forge(year, month, date));\n\t}\n\n\tforgeToday(): string {\n\t\treturn this.dateToString(this._nativeAdapter.forgeToday());\n\t}\n\n\tforgeInvalid(): string {\n\t\treturn 'Invalid Date';\n\t}\n\n\tisValid(d: string): boolean {\n\t\treturn this._nativeAdapter.isValid(this.stringToDate(d));\n\t}\n\n\toverride compare(a: string, b: string, granularity: ELuDateGranularity): number {\n\t\tconst da = this.stringToDate(a);\n\t\tconst db = this.stringToDate(b);\n\n\t\treturn this._nativeAdapter.compare(da, db, granularity);\n\t}\n\n\tisParsable(text: string): boolean {\n\t\treturn this._nativeAdapter.isParsable(text);\n\t}\n\n\tparse(text: string, granularity: ELuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.parse(text, granularity));\n\t}\n\n\tformat(d: string, format: string): string {\n\t\treturn this._nativeAdapter.format(this.stringToDate(d), format);\n\t}\n\n\tclone(d: string): string {\n\t\treturn `${d}`;\n\t}\n\n\tgetYear(d: string): number {\n\t\treturn this._nativeAdapter.getYear(this.stringToDate(d));\n\t}\n\n\tgetMonth(d: string): number {\n\t\treturn this._nativeAdapter.getMonth(this.stringToDate(d));\n\t}\n\n\tgetDate(d: string): number {\n\t\treturn this._nativeAdapter.getDate(this.stringToDate(d));\n\t}\n\n\tgetDay(d: string): number {\n\t\treturn this._nativeAdapter.getDay(this.stringToDate(d));\n\t}\n\n\tadd(d: string, count: number, granularity: ELuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity));\n\t}\n\n\tprotected stringToDate(s: string): Date {\n\t\treturn new Date(`${s}T00:00:00Z`);\n\t}\n\n\tprotected dateToString(d: Date): string {\n\t\tlet result: string;\n\n\t\tif (d === undefined) {\n\t\t\tresult = undefined;\n\t\t} else if (!this._nativeAdapter.isValid(d)) {\n\t\t\tresult = this.forgeInvalid();\n\t\t} else {\n\t\t\tresult = d.toISOString().substring(0, 10);\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","export interface ILuOnCloseSubscriber {\n\tonClose(): void;\n}\nexport abstract class ALuOnCloseSubscriber implements ILuOnCloseSubscriber {\n\tabstract onClose(): void;\n}\n","export interface ILuOnOpenSubscriber {\n\tonOpen(): void;\n}\nexport abstract class ALuOnOpenSubscriber implements ILuOnOpenSubscriber {\n\tabstract onOpen(): void;\n}\n","export interface ILuOnScrollBottomSubscriber {\n\tonScrollBottom(): void;\n}\nexport abstract class ALuOnScrollBottomSubscriber implements ILuOnScrollBottomSubscriber {\n\tabstract onScrollBottom(): void;\n}\n","import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { ILuTranslation } from './translation.model';\n\nexport type ILuIntl<T> = { [P in keyof T]: string };\n\nfunction isSupportedLang<T>(locale: string, translations: ILuTranslation<T>): locale is keyof ILuTranslation<T> {\n\treturn locale in translations;\n}\n\nexport function getIntl<T>(translationsToken: InjectionToken<ILuTranslation<T>>): T {\n\tconst locale = inject(LOCALE_ID);\n\tconst translations = inject(translationsToken);\n\n\tif (isSupportedLang(locale, translations)) {\n\t\treturn translations[locale];\n\t}\n\n\tconst shortLocale = locale.substring(0, 2);\n\tif (isSupportedLang(shortLocale, translations)) {\n\t\treturn translations[shortLocale];\n\t}\n\n\treturn translations['en'];\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'intlParams',\n\tstandalone: true,\n})\nexport class IntlParamsPipe implements PipeTransform {\n\t#matcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n\n\ttransform(value: string, args: Record<string, string | number>): string {\n\t\treturn value.replace(this.#matcher, (base, key: string) => {\n\t\t\treturn args[key]?.toString() ?? base;\n\t\t});\n\t}\n}\n","const ID_LENGTH = 8;\nconst ID_BASE = 16;\nexport function generateId(): string {\n\treturn Array(ID_LENGTH)\n\t\t.fill(0)\n\t\t.map(() => Math.floor(Math.random() * ID_BASE).toString(ID_BASE))\n\t\t.join('');\n}\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\n\nexport type PortalContent<T = unknown> = string | TemplateRef<T> | Type<unknown>;\n\nexport const PORTAL_CONTEXT = new InjectionToken<unknown>('PORTAL_CONTEXT');\n","import { Directive, inject, Injector, Input, OnChanges, OnDestroy, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { PORTAL_CONTEXT, PortalContent } from './portal-content';\n\n@Directive({\n\tselector: '[luPortal]',\n\tstandalone: true,\n})\nexport class PortalDirective<T = unknown> implements OnChanges, OnDestroy {\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate renderer = inject(Renderer2);\n\tprivate templateRef = inject(TemplateRef);\n\tprivate injector = inject(Injector);\n\n\t@Input({ required: true })\n\tpublic luPortal: PortalContent<T> = null;\n\n\t@Input()\n\tpublic luPortalContext: T | null = null;\n\n\tprivate createdTextElement: Text | null = null;\n\n\tprivate render(): void {\n\t\tthis.viewContainerRef.clear();\n\n\t\tif (typeof this.luPortal !== 'string') {\n\t\t\tthis.destroyRenderedText();\n\t\t}\n\n\t\tif (this.luPortal instanceof TemplateRef) {\n\t\t\tthis.viewContainerRef.createEmbeddedView<T>(this.luPortal, this.luPortalContext);\n\t\t} else if (typeof this.luPortal === 'string') {\n\t\t\tthis.renderText(this.luPortal);\n\t\t} else {\n\t\t\tconst injector = Injector.create({\n\t\t\t\tparent: this.injector,\n\t\t\t\tproviders: [{ provide: PORTAL_CONTEXT, useValue: this.luPortalContext }],\n\t\t\t});\n\t\t\tconst ref = this.viewContainerRef.createComponent(this.luPortal, { injector });\n\t\t\tref.changeDetectorRef.detectChanges();\n\t\t}\n\t}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['luPortal']) {\n\t\t\t// If we're here, it means that either the template ref changed or the string changed,\n\t\t\t// meaning that we need to render again\n\t\t\tthis.render();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyRenderedText();\n\t}\n\n\tprivate renderText(text: string): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.createdTextElement.textContent = text;\n\t\t} else {\n\t\t\tconst ref = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tconst container: HTMLElement = ref.rootNodes[0] as HTMLElement;\n\t\t\tconst parent = container.parentElement;\n\t\t\tthis.createdTextElement = document.createTextNode(text);\n\t\t\tthis.renderer.insertBefore(parent, this.createdTextElement, container);\n\t\t}\n\t}\n\n\tprivate destroyRenderedText(): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.renderer.removeChild(this.createdTextElement.parentNode, this.createdTextElement);\n\t\t\tthis.createdTextElement = null;\n\t\t}\n\t}\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\n\ntype LuClassSupportedTypes = string | string[] | Set<string> | { [klass: string]: boolean };\n\ninterface CssClassState {\n\tenabled: boolean;\n\tchanged: boolean;\n\ttouched: boolean;\n}\n\n@Injectable()\nexport class LuClass {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\t#renderer = inject(Renderer2);\n\n\t#state: Record<string, boolean> = {};\n\t#stateMap = new Map<string, CssClassState>();\n\n\tpublic setState(value: LuClassSupportedTypes) {\n\t\tthis.#state = normalizeToRecord(value);\n\n\t\tfor (const [klass, enabled] of Object.entries(this.#state)) {\n\t\t\tthis.#updateState(klass, enabled);\n\t\t}\n\n\t\tthis.#applyStateDiff();\n\t}\n\n\t#updateState(klass: string, nextEnabled: boolean) {\n\t\tconst state = this.#stateMap.get(klass);\n\t\tif (state !== undefined) {\n\t\t\tif (state.enabled !== nextEnabled) {\n\t\t\t\tstate.changed = true;\n\t\t\t\tstate.enabled = nextEnabled;\n\t\t\t}\n\t\t\tstate.touched = true;\n\t\t} else {\n\t\t\tthis.#stateMap.set(klass, { enabled: nextEnabled, changed: true, touched: true });\n\t\t}\n\t}\n\n\t#applyStateDiff() {\n\t\tfor (const stateEntry of this.#stateMap) {\n\t\t\tconst klass = stateEntry[0];\n\t\t\tconst state = stateEntry[1];\n\n\t\t\tif (state.changed) {\n\t\t\t\tthis.#toggleClass(klass, state.enabled);\n\t\t\t\tstate.changed = false;\n\t\t\t} else if (!state.touched) {\n\t\t\t\t// A class that was previously active got removed from the new collection of classes -\n\t\t\t\t// remove from the DOM as well.\n\t\t\t\tif (state.enabled) {\n\t\t\t\t\tthis.#toggleClass(klass, false);\n\t\t\t\t}\n\t\t\t\tthis.#stateMap.delete(klass);\n\t\t\t}\n\n\t\t\tstate.touched = false;\n\t\t}\n\t}\n\n\t#toggleClass(klass: string, enabled: boolean): void {\n\t\tif (enabled) {\n\t\t\tthis.#renderer.addClass(this.#elementRef.nativeElement, klass);\n\t\t} else {\n\t\t\tthis.#renderer.removeClass(this.#elementRef.nativeElement, klass);\n\t\t}\n\t}\n}\n\nfunction normalizeToRecord(obj: LuClassSupportedTypes): Record<string, boolean> {\n\tif (Array.isArray(obj) || obj instanceof Set) {\n\t\tconst result: Record<string, boolean> = {};\n\n\t\tfor (const item of obj) {\n\t\t\tresult[item] = true;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tif (typeof obj === 'string') {\n\t\tobj = obj.trim();\n\t\treturn obj ? { [obj]: true } : {};\n\t}\n\n\treturn obj;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}