@lucca-front/ng 16.5.1 → 17.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 (294) hide show
  1. package/esm2022/a11y/skip-links/skip-links.component.mjs +7 -8
  2. package/esm2022/api/api.module.mjs +6 -7
  3. package/esm2022/api/select/api-select.module.mjs +6 -7
  4. package/esm2022/api/select/feeder/api-feeder.component.mjs +7 -8
  5. package/esm2022/api/select/feeder/api-feeder.module.mjs +6 -7
  6. package/esm2022/api/select/input/api-select-input.component.mjs +6 -7
  7. package/esm2022/api/select/input/api-select-input.module.mjs +6 -7
  8. package/esm2022/api/select/pager/api-pager.component.mjs +7 -8
  9. package/esm2022/api/select/pager/api-pager.module.mjs +6 -7
  10. package/esm2022/api/select/searcher/api-searcher.component.mjs +13 -15
  11. package/esm2022/api/select/searcher/api-searcher.module.mjs +6 -7
  12. package/esm2022/api/service/api-hybrid.service.mjs +6 -7
  13. package/esm2022/api/service/api-v3.service.mjs +6 -7
  14. package/esm2022/api/service/api-v4.service.mjs +6 -7
  15. package/esm2022/button/button.component.mjs +5 -6
  16. package/esm2022/callout/callout/callout.component.mjs +5 -6
  17. package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +5 -6
  18. package/esm2022/callout/callout-feedback-item/callout-feedback-item.component.mjs +5 -6
  19. package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +5 -6
  20. package/esm2022/callout/callout-popover/callout-popover.component.mjs +5 -6
  21. package/esm2022/core/date/native/native-date.adapter.mjs +7 -8
  22. package/esm2022/core/date/string/string-date.adapter.mjs +7 -8
  23. package/esm2022/core/portal/portal.directive.mjs +5 -6
  24. package/esm2022/core/tools/ng-clazz.directive.mjs +7 -7
  25. package/esm2022/core-select/displayer/displayer.directive.mjs +6 -7
  26. package/esm2022/core-select/input/select-input.component.mjs +5 -6
  27. package/esm2022/core-select/input/select-input.models.mjs +4 -4
  28. package/esm2022/core-select/option/default-option.component.mjs +5 -6
  29. package/esm2022/core-select/option/disabled.directive.mjs +5 -6
  30. package/esm2022/core-select/option/option-outlet.directive.mjs +5 -6
  31. package/esm2022/core-select/option/option.component.mjs +5 -6
  32. package/esm2022/core-select/option/option.directive.mjs +6 -7
  33. package/esm2022/date/adapter/date-adapter.module.mjs +6 -7
  34. package/esm2022/date/adapter/date-adapter.pipe.mjs +6 -7
  35. package/esm2022/date/calendar/calendar-input.component.mjs +7 -8
  36. package/esm2022/date/calendar/calendar-input.module.mjs +6 -7
  37. package/esm2022/date/calendar/calendar-item.factory.mjs +6 -7
  38. package/esm2022/date/date.module.mjs +6 -7
  39. package/esm2022/date/input/date-input.directive.mjs +6 -7
  40. package/esm2022/date/input/date-input.module.mjs +6 -7
  41. package/esm2022/date/picker/date-picker.component.mjs +6 -7
  42. package/esm2022/date/picker/date-picker.module.mjs +6 -7
  43. package/esm2022/date/select/date-select-input.component.mjs +6 -7
  44. package/esm2022/date/select/date-select-input.module.mjs +6 -7
  45. package/esm2022/department/department.module.mjs +6 -7
  46. package/esm2022/department/select/department-select.module.mjs +6 -7
  47. package/esm2022/department/select/feeder/department-feeder.component.mjs +7 -8
  48. package/esm2022/department/select/feeder/department-feeder.module.mjs +6 -7
  49. package/esm2022/department/select/input/department-select-input.component.mjs +6 -7
  50. package/esm2022/department/select/input/department-select-input.module.mjs +6 -7
  51. package/esm2022/department/service/department-v3.service.mjs +6 -7
  52. package/esm2022/dropdown/dropdown.module.mjs +6 -7
  53. package/esm2022/dropdown/item/dropdown-item.directive.mjs +6 -7
  54. package/esm2022/dropdown/item/dropdown-item.module.mjs +6 -7
  55. package/esm2022/dropdown/panel/dropdown-panel.component.mjs +6 -7
  56. package/esm2022/dropdown/panel/dropdown-panel.module.mjs +6 -7
  57. package/esm2022/dropdown/trigger/dropdown-trigger.directive.mjs +6 -7
  58. package/esm2022/dropdown/trigger/dropdown-trigger.module.mjs +6 -7
  59. package/esm2022/establishment/establishment.module.mjs +6 -7
  60. package/esm2022/establishment/select/establishment-select.module.mjs +6 -7
  61. package/esm2022/establishment/select/for-legal-units/for-legal-units.directive.mjs +6 -7
  62. package/esm2022/establishment/select/for-legal-units/for-legal-units.module.mjs +6 -7
  63. package/esm2022/establishment/select/input/establishment-select-input.component.mjs +7 -8
  64. package/esm2022/establishment/select/input/establishment-select-input.module.mjs +6 -7
  65. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +7 -8
  66. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.module.mjs +6 -7
  67. package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +7 -8
  68. package/esm2022/establishment/select/searcher/establishment-searcher.module.mjs +6 -7
  69. package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +7 -8
  70. package/esm2022/establishment/select/select-all/establishment-select-all.module.mjs +6 -7
  71. package/esm2022/establishment/service/establishment.service.mjs +6 -7
  72. package/esm2022/establishment/service/legal-unit.service.mjs +6 -7
  73. package/esm2022/form-field/form-field.component.mjs +5 -6
  74. package/esm2022/form-field/input.directive.mjs +5 -6
  75. package/esm2022/formly/formly.module.mjs +6 -7
  76. package/esm2022/formly/types/api.mjs +6 -6
  77. package/esm2022/formly/types/checkbox.mjs +6 -6
  78. package/esm2022/formly/types/date.mjs +6 -6
  79. package/esm2022/formly/types/department.mjs +6 -6
  80. package/esm2022/formly/types/establishment.mjs +6 -6
  81. package/esm2022/formly/types/input.mjs +6 -6
  82. package/esm2022/formly/types/qualification.mjs +6 -6
  83. package/esm2022/formly/types/radios.mjs +6 -6
  84. package/esm2022/formly/types/select.mjs +6 -6
  85. package/esm2022/formly/types/textarea.mjs +6 -6
  86. package/esm2022/formly/types/user.mjs +6 -6
  87. package/esm2022/formly/wrappers/checkbox-layout.mjs +6 -6
  88. package/esm2022/formly/wrappers/error.mjs +11 -11
  89. package/esm2022/formly/wrappers/helper.mjs +6 -6
  90. package/esm2022/formly/wrappers/icon.mjs +6 -6
  91. package/esm2022/formly/wrappers/radiosfield-layout.mjs +6 -6
  92. package/esm2022/formly/wrappers/suffix.mjs +6 -6
  93. package/esm2022/formly/wrappers/textfield-layout.mjs +6 -6
  94. package/esm2022/forms/abstract-field-component.mjs +5 -6
  95. package/esm2022/forms/checkboxfield/checkboxfield.component.mjs +5 -6
  96. package/esm2022/forms/form-field-id.directive.mjs +6 -7
  97. package/esm2022/forms/noop-value-accessor.directive.mjs +5 -6
  98. package/esm2022/forms/switchfield/switchfield.component.mjs +5 -6
  99. package/esm2022/forms/textfield/textfield.component.mjs +5 -6
  100. package/esm2022/icon/icon.component.mjs +5 -6
  101. package/esm2022/inline-message/inline-message.component.mjs +5 -6
  102. package/esm2022/input/clearer/clearer.component.mjs +5 -6
  103. package/esm2022/input/clearer/clearer.module.mjs +6 -7
  104. package/esm2022/input/displayer/input-displayer.directive.mjs +6 -7
  105. package/esm2022/input/displayer/input-displayer.module.mjs +6 -7
  106. package/esm2022/input/input.directive.mjs +6 -7
  107. package/esm2022/input/input.module.mjs +6 -7
  108. package/esm2022/modal/modal-panel.component.mjs +17 -19
  109. package/esm2022/modal/modal-ref.factory.mjs +6 -7
  110. package/esm2022/modal/modal.module.mjs +6 -7
  111. package/esm2022/modal/modal.service.mjs +5 -6
  112. package/esm2022/multi-select/displayer/default-displayer.component.mjs +5 -6
  113. package/esm2022/multi-select/displayer/displayer.directive.mjs +6 -7
  114. package/esm2022/multi-select/input/panel-ref.factory.mjs +5 -6
  115. package/esm2022/multi-select/input/select-input.component.mjs +5 -6
  116. package/esm2022/multi-select/panel/option-selected.pipe.mjs +5 -6
  117. package/esm2022/multi-select/panel/panel.component.mjs +5 -6
  118. package/esm2022/multi-select/panel/selected-chip.directive.mjs +5 -6
  119. package/esm2022/new-badge/new-badge.component.mjs +5 -6
  120. package/esm2022/number/number.module.mjs +6 -7
  121. package/esm2022/number/number.pipe.mjs +7 -8
  122. package/esm2022/numeric-badge/numeric-badge.component.mjs +5 -6
  123. package/esm2022/option/item/option-item.component.mjs +6 -7
  124. package/esm2022/option/item/option-item.module.mjs +6 -7
  125. package/esm2022/option/item/tree-option-item.component.mjs +6 -7
  126. package/esm2022/option/item/tree-option-item.module.mjs +6 -7
  127. package/esm2022/option/operator/feeder/option-feeder.component.mjs +5 -6
  128. package/esm2022/option/operator/feeder/option-feeder.module.mjs +6 -7
  129. package/esm2022/option/operator/feeder/tree-option-feeder.component.mjs +5 -6
  130. package/esm2022/option/operator/feeder/tree-option-feeder.module.mjs +6 -7
  131. package/esm2022/option/operator/for-groups/for-groups.directive.mjs +6 -7
  132. package/esm2022/option/operator/for-groups/for-groups.module.mjs +6 -7
  133. package/esm2022/option/operator/for-options/for-options.directive.mjs +6 -7
  134. package/esm2022/option/operator/for-options/for-options.module.mjs +6 -7
  135. package/esm2022/option/operator/for-options/for-tree-options.directive.mjs +5 -6
  136. package/esm2022/option/operator/for-options/for-tree-options.module.mjs +6 -7
  137. package/esm2022/option/operator/option-operator.module.mjs +6 -7
  138. package/esm2022/option/operator/pager/option-pager.component.mjs +5 -6
  139. package/esm2022/option/operator/pager/option-pager.module.mjs +6 -7
  140. package/esm2022/option/operator/pager/tree-option-pager.component.mjs +5 -6
  141. package/esm2022/option/operator/pager/tree-option-pager.module.mjs +6 -7
  142. package/esm2022/option/operator/searcher/option-searcher.component.mjs +5 -6
  143. package/esm2022/option/operator/searcher/option-searcher.module.mjs +6 -7
  144. package/esm2022/option/operator/searcher/tree-option-searcher.component.mjs +5 -6
  145. package/esm2022/option/operator/searcher/tree-option-searcher.module.mjs +6 -7
  146. package/esm2022/option/operator/tree-option-operator.module.mjs +6 -7
  147. package/esm2022/option/option.module.mjs +6 -7
  148. package/esm2022/option/picker/option-picker-advanced.component.mjs +13 -15
  149. package/esm2022/option/picker/option-picker.component.mjs +13 -15
  150. package/esm2022/option/picker/option-picker.module.mjs +6 -7
  151. package/esm2022/option/picker/tree-option-picker-advanced.component.mjs +13 -15
  152. package/esm2022/option/picker/tree-option-picker.component.mjs +13 -15
  153. package/esm2022/option/picker/tree-option-picker.module.mjs +6 -7
  154. package/esm2022/option/placeholder/option-placeholder.component.mjs +5 -6
  155. package/esm2022/option/placeholder/option-placeholder.module.mjs +6 -7
  156. package/esm2022/option/selector/all/select-all.component.mjs +5 -6
  157. package/esm2022/option/selector/all/select-all.module.mjs +6 -7
  158. package/esm2022/option/selector/all/tree-select-all.component.mjs +5 -6
  159. package/esm2022/option/selector/all/tree-select-all.module.mjs +6 -7
  160. package/esm2022/option/selector/option-selector.module.mjs +6 -7
  161. package/esm2022/option/selector/tree-option-selector.module.mjs +6 -7
  162. package/esm2022/option/tree-option.module.mjs +6 -7
  163. package/esm2022/popover/panel/popover-panel.component.mjs +6 -7
  164. package/esm2022/popover/panel/popover-panel.module.mjs +6 -7
  165. package/esm2022/popover/popover.module.mjs +6 -7
  166. package/esm2022/popover/target/popover-target.directive.mjs +6 -7
  167. package/esm2022/popover/target/popover-target.module.mjs +6 -7
  168. package/esm2022/popover/trigger/popover-trigger.directive.mjs +6 -7
  169. package/esm2022/popover/trigger/popover-trigger.module.mjs +6 -7
  170. package/esm2022/popup/popup-ref.factory.mjs +6 -7
  171. package/esm2022/popup/popup.module.mjs +6 -7
  172. package/esm2022/popup/popup.service.mjs +5 -6
  173. package/esm2022/qualification/qualification.module.mjs +6 -7
  174. package/esm2022/qualification/select/input/qualification-select-input.component.mjs +6 -7
  175. package/esm2022/qualification/select/input/qualification-select-input.module.mjs +6 -7
  176. package/esm2022/qualification/select/qualification-select.module.mjs +6 -7
  177. package/esm2022/safe-content/safe-content.module.mjs +6 -7
  178. package/esm2022/safe-content/safe-html.pipe.mjs +6 -7
  179. package/esm2022/scroll/scroll.directive.mjs +6 -7
  180. package/esm2022/scroll/scroll.module.mjs +6 -7
  181. package/esm2022/select/input/select-input.component.mjs +11 -13
  182. package/esm2022/select/input/select-input.module.mjs +6 -7
  183. package/esm2022/select/select.module.mjs +6 -7
  184. package/esm2022/sidepanel/sidepanel.module.mjs +6 -7
  185. package/esm2022/sidepanel/sidepanel.service.mjs +5 -6
  186. package/esm2022/simple-select/api/api-v3.directive.mjs +5 -6
  187. package/esm2022/simple-select/api/api-v4.directive.mjs +5 -6
  188. package/esm2022/simple-select/api/api.directive.mjs +5 -6
  189. package/esm2022/simple-select/input/panel-ref.factory.mjs +5 -6
  190. package/esm2022/simple-select/input/select-input.component.mjs +5 -6
  191. package/esm2022/simple-select/panel/panel.component.mjs +5 -6
  192. package/esm2022/title/title.module.mjs +6 -7
  193. package/esm2022/title/title.service.mjs +7 -8
  194. package/esm2022/title/title.strategy.mjs +7 -8
  195. package/esm2022/toast/toasts.component.mjs +6 -7
  196. package/esm2022/toast/toasts.module.mjs +6 -7
  197. package/esm2022/toast/toasts.service.mjs +5 -6
  198. package/esm2022/tooltip/panel/tooltip-panel.component.mjs +6 -7
  199. package/esm2022/tooltip/panel/tooltip-panel.module.mjs +6 -7
  200. package/esm2022/tooltip/tooltip.module.mjs +6 -7
  201. package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +6 -7
  202. package/esm2022/tooltip/trigger/tooltip-trigger.module.mjs +6 -7
  203. package/esm2022/user/display/user-display.module.mjs +6 -7
  204. package/esm2022/user/display/user-display.pipe.mjs +5 -6
  205. package/esm2022/user/picture/user-picture.component.mjs +6 -7
  206. package/esm2022/user/picture/user-picture.module.mjs +6 -7
  207. package/esm2022/user/select/homonyms/user-homonyms.component.mjs +7 -8
  208. package/esm2022/user/select/homonyms/user-homonyms.module.mjs +6 -7
  209. package/esm2022/user/select/homonyms/user-homonyms.service.mjs +6 -7
  210. package/esm2022/user/select/input/user-select-input.component.mjs +6 -7
  211. package/esm2022/user/select/input/user-select-input.module.mjs +6 -7
  212. package/esm2022/user/select/me/me-option.directive.mjs +7 -8
  213. package/esm2022/user/select/me/me-option.module.mjs +6 -7
  214. package/esm2022/user/select/searcher/user-searcher.component.mjs +7 -8
  215. package/esm2022/user/select/searcher/user-searcher.module.mjs +6 -7
  216. package/esm2022/user/select/user-select.module.mjs +6 -7
  217. package/esm2022/user/service/user-v3.service.mjs +6 -7
  218. package/esm2022/user/tile/user-tile.component.mjs +6 -7
  219. package/esm2022/user/tile/user-tile.module.mjs +6 -7
  220. package/esm2022/user/user.module.mjs +6 -7
  221. package/fesm2022/lucca-front-ng-a11y.mjs +5 -5
  222. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  223. package/fesm2022/lucca-front-ng-animations.mjs +1 -1
  224. package/fesm2022/lucca-front-ng-api.mjs +60 -60
  225. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  226. package/fesm2022/lucca-front-ng-button.mjs +3 -3
  227. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  228. package/fesm2022/lucca-front-ng-callout.mjs +16 -16
  229. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  230. package/fesm2022/lucca-front-ng-core-select.mjs +28 -28
  231. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  232. package/fesm2022/lucca-front-ng-core.mjs +19 -18
  233. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  234. package/fesm2022/lucca-front-ng-date.mjs +52 -50
  235. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  236. package/fesm2022/lucca-front-ng-department.mjs +29 -29
  237. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  238. package/fesm2022/lucca-front-ng-dropdown.mjs +28 -28
  239. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  240. package/fesm2022/lucca-front-ng-establishment.mjs +61 -61
  241. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  242. package/fesm2022/lucca-front-ng-form-field.mjs +7 -7
  243. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  244. package/fesm2022/lucca-front-ng-formly.mjs +80 -61
  245. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  246. package/fesm2022/lucca-front-ng-forms.mjs +21 -20
  247. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  248. package/fesm2022/lucca-front-ng-icon.mjs +3 -3
  249. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  250. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  251. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  252. package/fesm2022/lucca-front-ng-input.mjs +23 -23
  253. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  254. package/fesm2022/lucca-front-ng-modal.mjs +25 -24
  255. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  256. package/fesm2022/lucca-front-ng-multi-select.mjs +24 -24
  257. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  258. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  259. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  260. package/fesm2022/lucca-front-ng-number.mjs +10 -10
  261. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  262. package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
  263. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  264. package/fesm2022/lucca-front-ng-option.mjs +175 -175
  265. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  266. package/fesm2022/lucca-front-ng-popover.mjs +29 -29
  267. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  268. package/fesm2022/lucca-front-ng-popup.mjs +11 -11
  269. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  270. package/fesm2022/lucca-front-ng-qualification.mjs +16 -16
  271. package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
  272. package/fesm2022/lucca-front-ng-safe-content.mjs +8 -8
  273. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  274. package/fesm2022/lucca-front-ng-scroll.mjs +8 -8
  275. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  276. package/fesm2022/lucca-front-ng-select.mjs +16 -16
  277. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  278. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  279. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  280. package/fesm2022/lucca-front-ng-simple-select-api.mjs +10 -10
  281. package/fesm2022/lucca-front-ng-simple-select-api.mjs.map +1 -1
  282. package/fesm2022/lucca-front-ng-simple-select.mjs +10 -10
  283. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  284. package/fesm2022/lucca-front-ng-title.mjs +15 -15
  285. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  286. package/fesm2022/lucca-front-ng-toast.mjs +11 -11
  287. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  288. package/fesm2022/lucca-front-ng-tooltip.mjs +21 -21
  289. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  290. package/fesm2022/lucca-front-ng-user.mjs +75 -75
  291. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  292. package/package.json +31 -31
  293. package/schematics/lib/local-deps/package.json +0 -23
  294. /package/{dockerRegistry-42781e58-2adb-4149-b8aa-04ec1df56c6b.env → dockerRegistry-a64fee7f-1bfc-49ea-b07d-9ccbdbf6fd83.env} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-select.mjs","sources":["../../../packages/ng/select/input/select-input.model.ts","../../../packages/ng/select/input/select-input.component.ts","../../../packages/ng/select/input/select-input.component.html","../../../packages/ng/select/input/select-input.module.ts","../../../packages/ng/select/select.module.ts","../../../packages/ng/select/lucca-front-ng-select.ts"],"sourcesContent":["import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ViewRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { ILuClearer, ILuInput, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ILuInputWithPicker, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';\nimport { Subscription } from 'rxjs';\n\nexport abstract class ALuSelectInput<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuPopoverTrigger<TPicker> implements ControlValueAccessor, ILuInputWithPicker<T>, ILuInput {\n\tprotected _subs = new Subscription();\n\tconstructor(\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected _renderer: Renderer2,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget();\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis.target.position = 'below';\n\t\tthis.target.alignment = 'left';\n\t}\n\tprotected _isContentInitialized = false;\n\tprotected _placeholder: string;\n\tget placeholder() {\n\t\treturn this._placeholder;\n\t}\n\tset placeholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\t/**\n\t * contriol value accessor interface implementation\n\t */\n\tprotected _value: T | T[];\n\tsetValue(value: T | T[]) {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.value = value;\n\t\tthis._cvaOnChange(value);\n\t\tthis._onTouched();\n\t}\n\tget value(): T | T[] {\n\t\treturn this._value;\n\t}\n\tset value(value: T | T[]) {\n\t\tthis._value = value;\n\t\tthis.render();\n\t\tthis.applyClasses();\n\t\tif (this._picker) {\n\t\t\tthis._picker.setValue(value);\n\t\t}\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\t// From ControlValueAccessor interface\n\twriteValue(value: T | T[]) {\n\t\tthis.value = value;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _cvaOnChange = (v: T | T[]) => void v;\n\tregisterOnChange(fn: (v: T | T[]) => unknown) {\n\t\tthis._cvaOnChange = fn;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _onTouched = () => void {};\n\tregisterOnTouched(fn: () => unknown) {\n\t\tthis._onTouched = fn;\n\t}\n\toverride set disabled(d) {\n\t\tthis._disabled = d;\n\t}\n\toverride get disabled() {\n\t\treturn this._disabled;\n\t}\n\tsetDisabledState(disabled: boolean) {\n\t\tthis.disabled = disabled;\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\tprotected isEmpty() {\n\t\tconst isEmptyArray = Array.isArray(this.value) && this.value.length === 0;\n\t\treturn this.value === null || this.value === undefined || isEmptyArray;\n\t}\n\tprotected applyClasses() {\n\t\tif (this.isEmpty()) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\t/**\n\t * popover trigger class extension\n\t */\n\tprotected set _picker(picker: TPicker) {\n\t\tthis.panel = picker;\n\t\tpicker.multiple = this._multiple;\n\t\tthis.subToPickerEvts();\n\t}\n\tprotected get _picker() {\n\t\treturn this.panel;\n\t}\n\tprotected set _clearer(clearer: ILuClearer<T>) {\n\t\tif (!!clearer && !!clearer.onClear) {\n\t\t\tthis._subs.add(clearer.onClear.subscribe(() => this.setValue(this._multiple ? [] : undefined)));\n\t\t}\n\t}\n\tprotected subToPickerEvts() {\n\t\tif (this.panel) {\n\t\t\tthis._subs.add(this.panel.onSelectValue.subscribe((value) => this.setValue(value)));\n\t\t}\n\t}\n\n\toverride closePopover() {\n\t\tthis._onTouched();\n\t\tsuper.closePopover();\n\t}\n\n\tonDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis._subs.unsubscribe();\n\t\tthis._cleanUpSubscriptions();\n\t}\n\n\tprotected override _getOverlayConfig(): OverlayConfig {\n\t\tconst config = super._getOverlayConfig();\n\t\tconst clientRect = this._elementRef.nativeElement.getBoundingClientRect();\n\t\tconfig.minWidth = `${Math.max(185, clientRect.width)}px`; // might become min/maxWidth\n\t\treturn config;\n\t}\n\n\t/* Rendering via a inpt displayer */\n\tprotected _displayer: ILuInputDisplayer<T>;\n\tprotected _displayContainer: ViewContainerRef;\n\tprotected set displayer(d: ILuInputDisplayer<T>) {\n\t\tthis._displayer = d;\n\t\tthis.render();\n\t}\n\tprotected set displayContainer(vcr: ViewContainerRef) {\n\t\tthis._displayContainer = vcr;\n\t}\n\tprotected render() {\n\t\tif (!this._displayer || !this._isContentInitialized) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.useMultipleViews()) {\n\t\t\tthis.renderMultipleViews();\n\t\t} else {\n\t\t\tthis.renderSingleView();\n\t\t}\n\t}\n\tprotected useMultipleViews() {\n\t\treturn this._multiple && !!this._displayer && !this._displayer.multiple;\n\t}\n\n\tprotected renderSingleView() {\n\t\tthis.clearDisplay();\n\t\tif (this.value !== null && this.value !== undefined) {\n\t\t\tconst newView = this.getView(this.value);\n\t\t\tthis.displayView(newView);\n\t\t}\n\t}\n\tprotected clearDisplay() {\n\t\tthis._displayContainer.clear();\n\t}\n\tprotected getView(value: T | T[]) {\n\t\tif (this._displayer) {\n\t\t\treturn this._displayer.getViewRef(value);\n\t\t}\n\t\treturn undefined;\n\t}\n\tprotected displayView(view: ViewRef) {\n\t\tif (view) {\n\t\t\tthis._displayContainer.insert(view);\n\t\t}\n\t}\n\n\tprotected renderMultipleViews() {\n\t\tthis.clearDisplay();\n\t\tconst values = <T[]>this.value || [];\n\t\tconst views = values.map((value) => this.getView(value));\n\t\tviews.forEach((view) => this.displayView(view));\n\t}\n\t// multiple\n\tprotected _multiple = false;\n\tset multiple(m: boolean) {\n\t\tthis._multiple = m;\n\t\tif (this._picker) {\n\t\t\tthis._picker.multiple = m;\n\t\t}\n\t}\n\tget multiple() {\n\t\treturn this._multiple;\n\t}\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tRenderer2,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ALuClearer, ALuInputDisplayer, ILuClearer, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuSelectInput } from './select-input.model';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuSelectInput<T, TPicker> implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\t@ViewChild('display', { read: ViewContainerRef, static: true })\n\tprotected set _vcDisplayContainer(vcr: ViewContainerRef) {\n\t\tthis.displayContainer = vcr;\n\t}\n\n\t@HostBinding('tabindex') tabindex = 0;\n\n\t@Input('pickerOverlap') set overlapInput(o: boolean) {\n\t\tthis.target.overlap = o;\n\t}\n\n\t@Input('placeholder') set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\n\t\tif (m === '') {\n\t\t\t// allows to have multiple = true when writing\n\t\t\t// <lu-select multiple>\n\t\t\tthis.multiple = true;\n\t\t} else {\n\t\t\tthis.multiple = !!m;\n\t\t}\n\t}\n\t/** Event emitted when the associated popover is opened. */\n\t@Output() onOpen = new EventEmitter<void>();\n\t/** Event emitted when the associated popover is closed. */\n\t@Output() onClose = new EventEmitter<void>();\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\t@HostBinding('class.is-disabled')\n\tget isDisabled() {\n\t\treturn this.disabled;\n\t}\n\t@Input('disabled') set inputDisabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\t@HostBinding('class.is-focused')\n\tget isFocused() {\n\t\treturn this._popoverOpen && !this.target.overlap;\n\t}\n\t@HostBinding('class.mod-multiple')\n\tget modMultiple() {\n\t\treturn this._multiple;\n\t}\n\n\t@HostBinding('class.is-clearable')\n\tget isClearable() {\n\t\treturn !!this._clearer;\n\t}\n\t/**\n\t * popover trigger class extension\n\t */\n\t@ContentChild(ALuPickerPanel, { static: true }) ccPicker: TPicker;\n\t@ViewChild(ALuPickerPanel, { static: true }) vcPicker: TPicker;\n\n\t@ContentChild(ALuInputDisplayer, { static: true })\n\tccDisplayer: ILuInputDisplayer<T>;\n\t@ViewChild(ALuInputDisplayer, { static: true })\n\tvcDisplayer: ILuInputDisplayer<T>;\n\n\t@ContentChild(ALuClearer, { static: true }) ccClearer: ILuClearer<T>;\n\t@ViewChild(ALuClearer, { static: true }) vcClearer: ILuClearer<T>;\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\t@HostListener('keydown.space', ['$event'])\n\t@HostListener('keydown.enter', ['$event'])\n\tonKeydown($event: KeyboardEvent) {\n\t\tif (!this._popoverOpen) {\n\t\t\tthis.openPopover();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._isContentInitialized = true;\n\n\t\t// init picker and displayer and clearer\n\t\tconst picker = this.ccPicker || this.vcPicker;\n\t\tif (picker) {\n\t\t\tthis._picker = picker;\n\t\t}\n\t\tconst displayer = this.ccDisplayer || this.vcDisplayer;\n\t\tif (displayer) {\n\t\t\tthis._displayer = displayer;\n\t\t}\n\t\tconst clearer = this.ccClearer || this.vcClearer;\n\t\tif (clearer) {\n\t\t\tthis._clearer = clearer;\n\t\t}\n\n\t\tthis.render();\n\t\tthis._picker.setValue(this.value);\n\n\t\t// strange bug where the view renderred in the displayer was only injected after a hover\n\t\t// no matter how many cdr.markforchack i added\n\t\t// but with a timeout it works\n\t\t// shrug emoji\n\t\tsetTimeout(() => {\n\t\t\tthis._changeDetectorRef.markForCheck();\n\t\t}, 1);\n\t}\n\n\tngOnDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis.onDestroy();\n\t}\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n\n/**\n * select input\n */\n@Component({\n\tselector: 'lu-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuSelectInputComponent<T> extends ALuSelectInputComponent<T> implements AfterViewInit {\n\t@HostBinding('class.mod-multipleView')\n\tget modMultipleView() {\n\t\treturn this.useMultipleViews();\n\t}\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\t// display clearer\n\t@ContentChild(ALuClearer, { read: ElementRef, static: false })\n\tclearerEltRef: ElementRef<HTMLElement>;\n\t@ViewChild('suffix', { read: ElementRef, static: true })\n\tsuffixEltRef: ElementRef<HTMLElement>;\n\tdisplayClearer() {\n\t\tif (this.clearerEltRef) {\n\t\t\tthis._renderer.appendChild(this.suffixEltRef.nativeElement, this.clearerEltRef.nativeElement);\n\t\t}\n\t}\n\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.displayClearer(); // dont keep\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div #suffix class=\"lu-select-suffix\"></div>\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputComponent } from './select-input.component';\n\n@NgModule({\n\timports: [LuSelectInputComponent],\n\texports: [LuSelectInputComponent],\n})\nexport class LuSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputModule } from './input/index';\n\n@NgModule({\n\timports: [LuSelectInputModule],\n\texports: [LuSelectInputModule],\n})\nexport class LuSelectModule {}\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-select.mjs","sources":["../../../packages/ng/select/input/select-input.model.ts","../../../packages/ng/select/input/select-input.component.ts","../../../packages/ng/select/input/select-input.component.html","../../../packages/ng/select/input/select-input.module.ts","../../../packages/ng/select/select.module.ts","../../../packages/ng/select/lucca-front-ng-select.ts"],"sourcesContent":["import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ViewRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { ILuClearer, ILuInput, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ILuInputWithPicker, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';\nimport { Subscription } from 'rxjs';\n\nexport abstract class ALuSelectInput<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuPopoverTrigger<TPicker> implements ControlValueAccessor, ILuInputWithPicker<T>, ILuInput {\n\tprotected _subs = new Subscription();\n\tconstructor(\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected _renderer: Renderer2,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget();\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis.target.position = 'below';\n\t\tthis.target.alignment = 'left';\n\t}\n\tprotected _isContentInitialized = false;\n\tprotected _placeholder: string;\n\tget placeholder() {\n\t\treturn this._placeholder;\n\t}\n\tset placeholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\t/**\n\t * contriol value accessor interface implementation\n\t */\n\tprotected _value: T | T[];\n\tsetValue(value: T | T[]) {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.value = value;\n\t\tthis._cvaOnChange(value);\n\t\tthis._onTouched();\n\t}\n\tget value(): T | T[] {\n\t\treturn this._value;\n\t}\n\tset value(value: T | T[]) {\n\t\tthis._value = value;\n\t\tthis.render();\n\t\tthis.applyClasses();\n\t\tif (this._picker) {\n\t\t\tthis._picker.setValue(value);\n\t\t}\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\t// From ControlValueAccessor interface\n\twriteValue(value: T | T[]) {\n\t\tthis.value = value;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _cvaOnChange = (v: T | T[]) => void v;\n\tregisterOnChange(fn: (v: T | T[]) => unknown) {\n\t\tthis._cvaOnChange = fn;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _onTouched = () => void {};\n\tregisterOnTouched(fn: () => unknown) {\n\t\tthis._onTouched = fn;\n\t}\n\toverride set disabled(d) {\n\t\tthis._disabled = d;\n\t}\n\toverride get disabled() {\n\t\treturn this._disabled;\n\t}\n\tsetDisabledState(disabled: boolean) {\n\t\tthis.disabled = disabled;\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\tprotected isEmpty() {\n\t\tconst isEmptyArray = Array.isArray(this.value) && this.value.length === 0;\n\t\treturn this.value === null || this.value === undefined || isEmptyArray;\n\t}\n\tprotected applyClasses() {\n\t\tif (this.isEmpty()) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\t/**\n\t * popover trigger class extension\n\t */\n\tprotected set _picker(picker: TPicker) {\n\t\tthis.panel = picker;\n\t\tpicker.multiple = this._multiple;\n\t\tthis.subToPickerEvts();\n\t}\n\tprotected get _picker() {\n\t\treturn this.panel;\n\t}\n\tprotected set _clearer(clearer: ILuClearer<T>) {\n\t\tif (!!clearer && !!clearer.onClear) {\n\t\t\tthis._subs.add(clearer.onClear.subscribe(() => this.setValue(this._multiple ? [] : undefined)));\n\t\t}\n\t}\n\tprotected subToPickerEvts() {\n\t\tif (this.panel) {\n\t\t\tthis._subs.add(this.panel.onSelectValue.subscribe((value) => this.setValue(value)));\n\t\t}\n\t}\n\n\toverride closePopover() {\n\t\tthis._onTouched();\n\t\tsuper.closePopover();\n\t}\n\n\tonDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis._subs.unsubscribe();\n\t\tthis._cleanUpSubscriptions();\n\t}\n\n\tprotected override _getOverlayConfig(): OverlayConfig {\n\t\tconst config = super._getOverlayConfig();\n\t\tconst clientRect = this._elementRef.nativeElement.getBoundingClientRect();\n\t\tconfig.minWidth = `${Math.max(185, clientRect.width)}px`; // might become min/maxWidth\n\t\treturn config;\n\t}\n\n\t/* Rendering via a inpt displayer */\n\tprotected _displayer: ILuInputDisplayer<T>;\n\tprotected _displayContainer: ViewContainerRef;\n\tprotected set displayer(d: ILuInputDisplayer<T>) {\n\t\tthis._displayer = d;\n\t\tthis.render();\n\t}\n\tprotected set displayContainer(vcr: ViewContainerRef) {\n\t\tthis._displayContainer = vcr;\n\t}\n\tprotected render() {\n\t\tif (!this._displayer || !this._isContentInitialized) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.useMultipleViews()) {\n\t\t\tthis.renderMultipleViews();\n\t\t} else {\n\t\t\tthis.renderSingleView();\n\t\t}\n\t}\n\tprotected useMultipleViews() {\n\t\treturn this._multiple && !!this._displayer && !this._displayer.multiple;\n\t}\n\n\tprotected renderSingleView() {\n\t\tthis.clearDisplay();\n\t\tif (this.value !== null && this.value !== undefined) {\n\t\t\tconst newView = this.getView(this.value);\n\t\t\tthis.displayView(newView);\n\t\t}\n\t}\n\tprotected clearDisplay() {\n\t\tthis._displayContainer.clear();\n\t}\n\tprotected getView(value: T | T[]) {\n\t\tif (this._displayer) {\n\t\t\treturn this._displayer.getViewRef(value);\n\t\t}\n\t\treturn undefined;\n\t}\n\tprotected displayView(view: ViewRef) {\n\t\tif (view) {\n\t\t\tthis._displayContainer.insert(view);\n\t\t}\n\t}\n\n\tprotected renderMultipleViews() {\n\t\tthis.clearDisplay();\n\t\tconst values = <T[]>this.value || [];\n\t\tconst views = values.map((value) => this.getView(value));\n\t\tviews.forEach((view) => this.displayView(view));\n\t}\n\t// multiple\n\tprotected _multiple = false;\n\tset multiple(m: boolean) {\n\t\tthis._multiple = m;\n\t\tif (this._picker) {\n\t\t\tthis._picker.multiple = m;\n\t\t}\n\t}\n\tget multiple() {\n\t\treturn this._multiple;\n\t}\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tRenderer2,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ALuClearer, ALuInputDisplayer, ILuClearer, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuSelectInput } from './select-input.model';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuSelectInput<T, TPicker> implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\t@ViewChild('display', { read: ViewContainerRef, static: true })\n\tprotected set _vcDisplayContainer(vcr: ViewContainerRef) {\n\t\tthis.displayContainer = vcr;\n\t}\n\n\t@HostBinding('tabindex') tabindex = 0;\n\n\t@Input('pickerOverlap') set overlapInput(o: boolean) {\n\t\tthis.target.overlap = o;\n\t}\n\n\t@Input('placeholder') set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\n\t\tif (m === '') {\n\t\t\t// allows to have multiple = true when writing\n\t\t\t// <lu-select multiple>\n\t\t\tthis.multiple = true;\n\t\t} else {\n\t\t\tthis.multiple = !!m;\n\t\t}\n\t}\n\t/** Event emitted when the associated popover is opened. */\n\t@Output() onOpen = new EventEmitter<void>();\n\t/** Event emitted when the associated popover is closed. */\n\t@Output() onClose = new EventEmitter<void>();\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\t@HostBinding('class.is-disabled')\n\tget isDisabled() {\n\t\treturn this.disabled;\n\t}\n\t@Input('disabled') set inputDisabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\t@HostBinding('class.is-focused')\n\tget isFocused() {\n\t\treturn this._popoverOpen && !this.target.overlap;\n\t}\n\t@HostBinding('class.mod-multiple')\n\tget modMultiple() {\n\t\treturn this._multiple;\n\t}\n\n\t@HostBinding('class.is-clearable')\n\tget isClearable() {\n\t\treturn !!this._clearer;\n\t}\n\t/**\n\t * popover trigger class extension\n\t */\n\t@ContentChild(ALuPickerPanel, { static: true }) ccPicker: TPicker;\n\t@ViewChild(ALuPickerPanel, { static: true }) vcPicker: TPicker;\n\n\t@ContentChild(ALuInputDisplayer, { static: true })\n\tccDisplayer: ILuInputDisplayer<T>;\n\t@ViewChild(ALuInputDisplayer, { static: true })\n\tvcDisplayer: ILuInputDisplayer<T>;\n\n\t@ContentChild(ALuClearer, { static: true }) ccClearer: ILuClearer<T>;\n\t@ViewChild(ALuClearer, { static: true }) vcClearer: ILuClearer<T>;\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\t@HostListener('keydown.space', ['$event'])\n\t@HostListener('keydown.enter', ['$event'])\n\tonKeydown($event: KeyboardEvent) {\n\t\tif (!this._popoverOpen) {\n\t\t\tthis.openPopover();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._isContentInitialized = true;\n\n\t\t// init picker and displayer and clearer\n\t\tconst picker = this.ccPicker || this.vcPicker;\n\t\tif (picker) {\n\t\t\tthis._picker = picker;\n\t\t}\n\t\tconst displayer = this.ccDisplayer || this.vcDisplayer;\n\t\tif (displayer) {\n\t\t\tthis._displayer = displayer;\n\t\t}\n\t\tconst clearer = this.ccClearer || this.vcClearer;\n\t\tif (clearer) {\n\t\t\tthis._clearer = clearer;\n\t\t}\n\n\t\tthis.render();\n\t\tthis._picker.setValue(this.value);\n\n\t\t// strange bug where the view renderred in the displayer was only injected after a hover\n\t\t// no matter how many cdr.markforchack i added\n\t\t// but with a timeout it works\n\t\t// shrug emoji\n\t\tsetTimeout(() => {\n\t\t\tthis._changeDetectorRef.markForCheck();\n\t\t}, 1);\n\t}\n\n\tngOnDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis.onDestroy();\n\t}\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n\n/**\n * select input\n */\n@Component({\n\tselector: 'lu-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuSelectInputComponent<T> extends ALuSelectInputComponent<T> implements AfterViewInit {\n\t@HostBinding('class.mod-multipleView')\n\tget modMultipleView() {\n\t\treturn this.useMultipleViews();\n\t}\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\t// display clearer\n\t@ContentChild(ALuClearer, { read: ElementRef, static: false })\n\tclearerEltRef: ElementRef<HTMLElement>;\n\t@ViewChild('suffix', { read: ElementRef, static: true })\n\tsuffixEltRef: ElementRef<HTMLElement>;\n\tdisplayClearer() {\n\t\tif (this.clearerEltRef) {\n\t\t\tthis._renderer.appendChild(this.suffixEltRef.nativeElement, this.clearerEltRef.nativeElement);\n\t\t}\n\t}\n\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.displayClearer(); // dont keep\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div #suffix class=\"lu-select-suffix\"></div>\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputComponent } from './select-input.component';\n\n@NgModule({\n\timports: [LuSelectInputComponent],\n\texports: [LuSelectInputComponent],\n})\nexport class LuSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputModule } from './input/index';\n\n@NgModule({\n\timports: [LuSelectInputModule],\n\texports: [LuSelectInputModule],\n})\nexport class LuSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAQM,MAAgB,cAAyE,SAAQ,iBAA0B,CAAA;IAEhI,WACW,CAAA,kBAAqC,EAC5B,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EAC5C,SAAoB,EAAA;AAE9B,QAAA,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QANtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QAC5B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;QACjB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QACpC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;QAC5C,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AANrB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QAc3B,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;;QAqC9B,IAAY,CAAA,YAAA,GAAG,CAAC,CAAU,KAAK,KAAK,CAAC,CAAC;;AAKtC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,KAAK,EAAE,CAAC;;QAyH3B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAxK3B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;AAC1C,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;KAC/B;AAGD,IAAA,IAAI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;KACzB;IACD,IAAI,WAAW,CAAC,CAAS,EAAA;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;KACtB;AAKD,IAAA,QAAQ,CAAC,KAAc,EAAA;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;KAClB;AACD,IAAA,IAAI,KAAK,GAAA;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;KACnB;IACD,IAAI,KAAK,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACvC;;AAED,IAAA,UAAU,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACnB;AAGD,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC3C,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACvB;AAGD,IAAA,iBAAiB,CAAC,EAAiB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACrB;IACD,IAAa,QAAQ,CAAC,CAAC,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;KACnB;AACD,IAAA,IAAa,QAAQ,GAAA;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;AACD,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACvC;IACS,OAAO,GAAA;AAChB,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC1E,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC;KACvE;IACS,YAAY,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACxE,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACrE,SAAA;KACD;AACD;;AAEG;IACH,IAAc,OAAO,CAAC,MAAe,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;AACpB,QAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;KACvB;AACD,IAAA,IAAc,OAAO,GAAA;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC;KAClB;IACD,IAAc,QAAQ,CAAC,OAAsB,EAAA;QAC5C,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;AACnC,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAChG,SAAA;KACD;IACS,eAAe,GAAA;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpF,SAAA;KACD;IAEQ,YAAY,GAAA;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,YAAY,EAAE,CAAC;KACrB;IAED,SAAS,GAAA;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,SAAA;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC7B;IAEkB,iBAAiB,GAAA;AACnC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAC1E,QAAA,MAAM,CAAC,QAAQ,GAAG,CAAG,EAAA,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAI,EAAA,CAAA,CAAC;AACzD,QAAA,OAAO,MAAM,CAAC;KACd;IAKD,IAAc,SAAS,CAAC,CAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;KACd;IACD,IAAc,gBAAgB,CAAC,GAAqB,EAAA;AACnD,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;KAC7B;IACS,MAAM,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACpD,OAAO;AACP,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,SAAA;KACD;IACS,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;KACxE;IAES,gBAAgB,GAAA;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC1B,SAAA;KACD;IACS,YAAY,GAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;KAC/B;AACS,IAAA,OAAO,CAAC,KAAc,EAAA;QAC/B,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzC,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACjB;AACS,IAAA,WAAW,CAAC,IAAa,EAAA;AAClC,QAAA,IAAI,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,SAAA;KACD;IAES,mBAAmB,GAAA;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;AACrC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;KAChD;IAGD,IAAI,QAAQ,CAAC,CAAU,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC1B,SAAA;KACD;AACD,IAAA,IAAI,QAAQ,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;AACD;;ACzKK,MAAgB,uBAAkF,SAAQ,cAA0B,CAAA;IACzI,IACc,mBAAmB,CAAC,GAAqB,EAAA;AACtD,QAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;KAC5B;IAID,IAA4B,YAAY,CAAC,CAAU,EAAA;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;KACxB;IAED,IAA0B,gBAAgB,CAAC,CAAS,EAAA;AACnD,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;KACtB;IACD,IAAuB,aAAa,CAAC,CAAmB,EAAA;QACvD,IAAI,CAAC,KAAK,EAAE,EAAE;;;AAGb,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,SAAA;KACD;IAMD,WACoB,CAAA,kBAAqC,EACrC,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EACnC,SAAoB,EAAA;QAEvC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAN5D,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QACrC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;QACjB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QACpC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;QACnC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QA5Bf,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;;AAmB5B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;;AAElC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAQ,CAAC;KAU5C;AACD,IAAA,IACI,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;KACrB;IACD,IAAuB,aAAa,CAAC,CAAU,EAAA;AAC9C,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;KACnB;AACD,IAAA,IACI,SAAS,GAAA;QACZ,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;KACjD;AACD,IAAA,IACI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;AAED,IAAA,IACI,WAAW,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;KACvB;IAgBQ,OAAO,GAAA;QACf,KAAK,CAAC,OAAO,EAAE,CAAC;KAChB;IAEQ,YAAY,GAAA;QACpB,KAAK,CAAC,YAAY,EAAE,CAAC;KACrB;IAEQ,YAAY,GAAA;QACpB,KAAK,CAAC,YAAY,EAAE,CAAC;KACrB;IAEQ,OAAO,GAAA;QACf,KAAK,CAAC,OAAO,EAAE,CAAC;KAChB;IAEQ,MAAM,GAAA;QACd,KAAK,CAAC,MAAM,EAAE,CAAC;KACf;AAGD,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,cAAc,EAAE,CAAC;AACxB,SAAA;KACD;IAED,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;;QAGlC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;AAC9C,QAAA,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,SAAA;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;AACvD,QAAA,IAAI,SAAS,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,SAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;AACjD,QAAA,IAAI,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,SAAA;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;QAMlC,UAAU,CAAC,MAAK;AACf,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACvC,EAAE,CAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;QACV,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,SAAA;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;KACjB;IACS,SAAS,GAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACnB;IACS,UAAU,GAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACpB;8GA/IoB,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EA6D9B,MAAA,EAAA,EAAA,YAAA,EAAA,CAAA,eAAA,EAAA,cAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,aAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,aAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,cAAc,EAGd,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,iBAAiB,EAKjB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAU,EApEM,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAgB,EA6DnC,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,cAAc,EAId,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,iBAAiB,0FAIjB,UAAU,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAtEA,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAD5C,SAAS;4LAGK,mBAAmB,EAAA,CAAA;sBADhC,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAKrC,QAAQ,EAAA,CAAA;sBAAhC,WAAW;uBAAC,UAAU,CAAA;gBAEK,YAAY,EAAA,CAAA;sBAAvC,KAAK;uBAAC,eAAe,CAAA;gBAII,gBAAgB,EAAA,CAAA;sBAAzC,KAAK;uBAAC,aAAa,CAAA;gBAGG,aAAa,EAAA,CAAA;sBAAnC,KAAK;uBAAC,UAAU,CAAA;gBAUP,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAEG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAYH,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,mBAAmB,CAAA;gBAIT,aAAa,EAAA,CAAA;sBAAnC,KAAK;uBAAC,UAAU,CAAA;gBAIb,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,kBAAkB,CAAA;gBAK3B,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,oBAAoB,CAAA;gBAM7B,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,oBAAoB,CAAA;gBAOe,QAAQ,EAAA,CAAA;sBAAvD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACD,QAAQ,EAAA,CAAA;sBAApD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAG3C,WAAW,EAAA,CAAA;sBADV,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAGjD,WAAW,EAAA,CAAA;sBADV,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAGF,SAAS,EAAA,CAAA;sBAApD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACD,SAAS,EAAA,CAAA;sBAAjD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAG9B,OAAO,EAAA,CAAA;sBADf,YAAY;uBAAC,OAAO,CAAA;gBAKZ,YAAY,EAAA,CAAA;sBADpB,YAAY;uBAAC,YAAY,CAAA;gBAKjB,YAAY,EAAA,CAAA;sBADpB,YAAY;uBAAC,YAAY,CAAA;gBAKjB,OAAO,EAAA,CAAA;sBADf,YAAY;uBAAC,OAAO,CAAA;gBAKZ,MAAM,EAAA,CAAA;sBADd,YAAY;uBAAC,MAAM,CAAA;gBAMpB,SAAS,EAAA,CAAA;sBAFR,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBACxC,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;AAqD1C;;AAEG;AAeG,MAAO,sBAA0B,SAAQ,uBAA0B,CAAA;AACxE,IAAA,IACI,eAAe,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC/B;IACD,WACoB,CAAA,kBAAqC,EACrC,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EACnC,SAAoB,EAAA;QAEvC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAN5D,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QACrC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;QACjB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QACpC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;QACnC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAGvC;IAMD,cAAc,GAAA;QACb,IAAI,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAC9F,SAAA;KACD;IAEQ,eAAe,GAAA;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,cAAc,EAAE,CAAC;KACtB;8GA5BW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EARvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAiBa,UAAU,EAAU,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,EAEf,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,kEC/MxC,4PAOA,EAAA,MAAA,EAAA,CAAA,g+PAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDuLa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,mBAGJ,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,4PAAA,EAAA,MAAA,EAAA,CAAA,g+PAAA,CAAA,EAAA,CAAA;4LAIG,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,wBAAwB,CAAA;gBAerC,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAG7D,YAAY,EAAA,CAAA;sBADX,SAAS;uBAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MExM3C,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAnB,mBAAmB,EAAA,OAAA,EAAA,CAHrB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CACtB,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEpB,mBAAmB,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,iBAAA,CAAA;;;MCCY,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAd,cAAc,EAAA,OAAA,EAAA,CAHhB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEjB,cAAc,EAAA,OAAA,EAAA,CAHhB,mBAAmB,EACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEjB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
@@ -42,10 +42,10 @@ class LuSidepanel extends LuModal {
42
42
  open(component, data = undefined, config = {}) {
43
43
  return super.open(component, data, config);
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSidepanel, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSidepanel }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSidepanel, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSidepanel }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSidepanel, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSidepanel, decorators: [{
49
49
  type: Injectable
50
50
  }] });
51
51
 
@@ -53,11 +53,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
53
53
  * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.
54
54
  */
55
55
  class LuSidepanelModule {
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSidepanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
57
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: LuSidepanelModule, imports: [LuModalModule] }); }
58
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSidepanelModule, providers: [LuSidepanel], imports: [LuModalModule] }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSidepanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
57
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: LuSidepanelModule, imports: [LuModalModule] }); }
58
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSidepanelModule, providers: [LuSidepanel], imports: [LuModalModule] }); }
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSidepanelModule, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSidepanelModule, decorators: [{
61
61
  type: NgModule,
62
62
  args: [{
63
63
  imports: [LuModalModule],
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-sidepanel.mjs","sources":["../../../packages/ng/sidepanel/sidepanel.model.ts","../../../packages/ng/sidepanel/sidepanel.service.ts","../../../packages/ng/sidepanel/sidepanel.module.ts","../../../packages/ng/sidepanel/lucca-front-ng-sidepanel.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\nimport { ALuModalRef as ALuSidepanelRef, ILuModalContent, ILuModalLabel, ILuModalRef, luDefaultSidepanelConfig, LuModalConfig, luModalTranslations, LU_MODAL_DATA } from '@lucca-front/ng/modal';\n\n/**\n * For backward compatibility, we re-export modal tokens as sidepanel tokens.\n * We should remove all sidepanel related files in the next major version (16+).\n */\n\n/**\n * @deprecated Use LU_MODAL_CONFIG from @lucca-front/ng/modal instead.\n */\nexport const LU_SIDEPANEL_CONFIG = new InjectionToken<LuSidepanelConfig>('LuSidepanelDefaultConfig', {\n\tfactory: () => luDefaultSidepanelConfig,\n});\n\n/**\n * @deprecated Use LU_MODAL_DATA from @lucca-front/ng/modal instead.\n */\nexport const LU_SIDEPANEL_DATA = LU_MODAL_DATA;\n\n/**\n * @deprecated Use LU_MODAL_TRANSLATIONS from @lucca-front/ng/modal instead.\n */\nexport const LU_SIDEPANEL_TRANSLATIONS = new InjectionToken('LuSidepanelTranslations', {\n\tfactory: () => luSidepanelTranslations,\n});\n\n/**\n * @deprecated Use ILuModalLabel from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelLabel = ILuModalLabel;\n\n/**\n * @deprecated Use luModalTranslations from @lucca-front/ng/modal instead.\n */\nexport const luSidepanelTranslations: ILuTranslation<ILuSidepanelLabel> = luModalTranslations;\n\n/**\n * @deprecated Use LuModalConfig from @lucca-front/ng/modal instead.\n */\nexport type LuSidepanelConfig = LuModalConfig;\n\n/**\n * @deprecated Use LuModalConfig from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelConfig = LuModalConfig;\n\n/**\n * @deprecated Use ILuModalContent from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelContent<T = unknown> = ILuModalContent<T>;\n\n/**\n * @deprecated Use ILuModalRef from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelRef<D = unknown, R = unknown> = ILuModalRef<D, R>;\n\nexport {\n\t/**\n\t * @deprecated Use ALuModalRef from @lucca-front/ng/modal instead.\n\t */\n\tALuSidepanelRef,\n};\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject, Injectable } from '@angular/core';\nimport { ILuModalContent, LuModal, LuModalContentResult } from '@lucca-front/ng/modal';\nimport { ILuSidepanelRef, LuSidepanelConfig, LU_SIDEPANEL_CONFIG } from './sidepanel.model';\n\n/**\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n */\n@Injectable()\nexport class LuSidepanel extends LuModal {\n\tprotected override _config = inject(LU_SIDEPANEL_CONFIG);\n\n\t/**\n\t * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n\t */\n\toverride open<T extends ILuModalContent, D>(component: ComponentType<T>, data: D = undefined, config: Partial<LuSidepanelConfig> = {}): ILuSidepanelRef<D, LuModalContentResult<T>> {\n\t\treturn super.open(component, data, config);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuModalModule } from '@lucca-front/ng/modal';\nimport { LuSidepanel } from './sidepanel.service';\n\n/**\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n */\n@NgModule({\n\timports: [LuModalModule],\n\tproviders: [LuSidepanel],\n})\nexport class LuSidepanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAIA;;;AAGG;AAEH;;AAEG;MACU,mBAAmB,GAAG,IAAI,cAAc,CAAoB,0BAA0B,EAAE;AACpG,IAAA,OAAO,EAAE,MAAM,wBAAwB;AACvC,CAAA,EAAE;AAEH;;AAEG;AACI,MAAM,iBAAiB,GAAG,cAAc;AAE/C;;AAEG;MACU,yBAAyB,GAAG,IAAI,cAAc,CAAC,yBAAyB,EAAE;AACtF,IAAA,OAAO,EAAE,MAAM,uBAAuB;AACtC,CAAA,EAAE;AAOH;;AAEG;AACI,MAAM,uBAAuB,GAAsC;;AC/B1E;;AAEG;AACH,MACa,WAAY,SAAQ,OAAO,CAAA;AADxC,IAAA,WAAA,GAAA;;AAEoB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAQzD,KAAA;AANA;;AAEG;AACM,IAAA,IAAI,CAA+B,SAA2B,EAAE,OAAU,SAAS,EAAE,SAAqC,EAAE,EAAA;QACpI,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;KAC3C;8GARW,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAX,WAAW,EAAA,CAAA,CAAA,EAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;;;ACJX;;AAEG;AACH,MAIa,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHnB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAFlB,SAAA,EAAA,CAAC,WAAW,CAAC,YADd,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE,CAAC,WAAW,CAAC;AACxB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-sidepanel.mjs","sources":["../../../packages/ng/sidepanel/sidepanel.model.ts","../../../packages/ng/sidepanel/sidepanel.service.ts","../../../packages/ng/sidepanel/sidepanel.module.ts","../../../packages/ng/sidepanel/lucca-front-ng-sidepanel.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\nimport { ALuModalRef as ALuSidepanelRef, ILuModalContent, ILuModalLabel, ILuModalRef, luDefaultSidepanelConfig, LuModalConfig, luModalTranslations, LU_MODAL_DATA } from '@lucca-front/ng/modal';\n\n/**\n * For backward compatibility, we re-export modal tokens as sidepanel tokens.\n * We should remove all sidepanel related files in the next major version (16+).\n */\n\n/**\n * @deprecated Use LU_MODAL_CONFIG from @lucca-front/ng/modal instead.\n */\nexport const LU_SIDEPANEL_CONFIG = new InjectionToken<LuSidepanelConfig>('LuSidepanelDefaultConfig', {\n\tfactory: () => luDefaultSidepanelConfig,\n});\n\n/**\n * @deprecated Use LU_MODAL_DATA from @lucca-front/ng/modal instead.\n */\nexport const LU_SIDEPANEL_DATA = LU_MODAL_DATA;\n\n/**\n * @deprecated Use LU_MODAL_TRANSLATIONS from @lucca-front/ng/modal instead.\n */\nexport const LU_SIDEPANEL_TRANSLATIONS = new InjectionToken('LuSidepanelTranslations', {\n\tfactory: () => luSidepanelTranslations,\n});\n\n/**\n * @deprecated Use ILuModalLabel from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelLabel = ILuModalLabel;\n\n/**\n * @deprecated Use luModalTranslations from @lucca-front/ng/modal instead.\n */\nexport const luSidepanelTranslations: ILuTranslation<ILuSidepanelLabel> = luModalTranslations;\n\n/**\n * @deprecated Use LuModalConfig from @lucca-front/ng/modal instead.\n */\nexport type LuSidepanelConfig = LuModalConfig;\n\n/**\n * @deprecated Use LuModalConfig from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelConfig = LuModalConfig;\n\n/**\n * @deprecated Use ILuModalContent from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelContent<T = unknown> = ILuModalContent<T>;\n\n/**\n * @deprecated Use ILuModalRef from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelRef<D = unknown, R = unknown> = ILuModalRef<D, R>;\n\nexport {\n\t/**\n\t * @deprecated Use ALuModalRef from @lucca-front/ng/modal instead.\n\t */\n\tALuSidepanelRef,\n};\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject, Injectable } from '@angular/core';\nimport { ILuModalContent, LuModal, LuModalContentResult } from '@lucca-front/ng/modal';\nimport { ILuSidepanelRef, LuSidepanelConfig, LU_SIDEPANEL_CONFIG } from './sidepanel.model';\n\n/**\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n */\n@Injectable()\nexport class LuSidepanel extends LuModal {\n\tprotected override _config = inject(LU_SIDEPANEL_CONFIG);\n\n\t/**\n\t * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n\t */\n\toverride open<T extends ILuModalContent, D>(component: ComponentType<T>, data: D = undefined, config: Partial<LuSidepanelConfig> = {}): ILuSidepanelRef<D, LuModalContentResult<T>> {\n\t\treturn super.open(component, data, config);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuModalModule } from '@lucca-front/ng/modal';\nimport { LuSidepanel } from './sidepanel.service';\n\n/**\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n */\n@NgModule({\n\timports: [LuModalModule],\n\tproviders: [LuSidepanel],\n})\nexport class LuSidepanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAIA;;;AAGG;AAEH;;AAEG;MACU,mBAAmB,GAAG,IAAI,cAAc,CAAoB,0BAA0B,EAAE;AACpG,IAAA,OAAO,EAAE,MAAM,wBAAwB;AACvC,CAAA,EAAE;AAEH;;AAEG;AACI,MAAM,iBAAiB,GAAG,cAAc;AAE/C;;AAEG;MACU,yBAAyB,GAAG,IAAI,cAAc,CAAC,yBAAyB,EAAE;AACtF,IAAA,OAAO,EAAE,MAAM,uBAAuB;AACtC,CAAA,EAAE;AAOH;;AAEG;AACI,MAAM,uBAAuB,GAAsC;;AC/B1E;;AAEG;AAEG,MAAO,WAAY,SAAQ,OAAO,CAAA;AADxC,IAAA,WAAA,GAAA;;AAEoB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAQzD,KAAA;AANA;;AAEG;AACM,IAAA,IAAI,CAA+B,SAA2B,EAAE,OAAU,SAAS,EAAE,SAAqC,EAAE,EAAA;QACpI,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;KAC3C;8GARW,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAX,WAAW,EAAA,CAAA,CAAA,EAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;;;ACJX;;AAEG;MAKU,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHnB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAFlB,SAAA,EAAA,CAAC,WAAW,CAAC,YADd,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE,CAAC,WAAW,CAAC;AACxB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Directive, Input } from '@angular/core';
4
- import { Subject, scan, startWith, debounceTime, BehaviorSubject, takeUntil, combineLatest, switchMap, concatMap, catchError, of, tap, takeWhile, ReplaySubject, map, take } from 'rxjs';
4
+ import { Subject, scan, startWith, debounceTime, BehaviorSubject, takeUntil, of, catchError, tap, concatMap, takeWhile, switchMap, combineLatest, ReplaySubject, map, take } from 'rxjs';
5
5
  import { ALuSelectInputComponent } from '@lucca-front/ng/core-select';
6
6
 
7
7
  const MAGIC_PAGE_SIZE = 20;
@@ -33,10 +33,10 @@ class ALuSimpleSelectApiDirective {
33
33
  this.destroy$.next();
34
34
  this.destroy$.complete();
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ALuSimpleSelectApiDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.3", type: ALuSimpleSelectApiDirective, ngImport: i0 }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ALuSimpleSelectApiDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: ALuSimpleSelectApiDirective, ngImport: i0 }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ALuSimpleSelectApiDirective, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ALuSimpleSelectApiDirective, decorators: [{
40
40
  type: Directive
41
41
  }] });
42
42
 
@@ -76,10 +76,10 @@ class LuSimpleSelectApiV3Directive extends ALuSimpleSelectApiDirective {
76
76
  },
77
77
  })), map((res) => res.data.items));
78
78
  }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectApiV3Directive, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
80
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.3", type: LuSimpleSelectApiV3Directive, isStandalone: true, selector: "lu-simple-select[apiV3],lu-multi-select[apiV3]", inputs: { apiV3: "apiV3", fields: "fields", orderBy: "orderBy", filters: "filters" }, usesInheritance: true, ngImport: i0 }); }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectApiV3Directive, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
80
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: LuSimpleSelectApiV3Directive, isStandalone: true, selector: "lu-simple-select[apiV3],lu-multi-select[apiV3]", inputs: { apiV3: "apiV3", fields: "fields", orderBy: "orderBy", filters: "filters" }, usesInheritance: true, ngImport: i0 }); }
81
81
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectApiV3Directive, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectApiV3Directive, decorators: [{
83
83
  type: Directive,
84
84
  args: [{
85
85
  // The attribute is already prefixed with "lu-simple-select"
@@ -129,10 +129,10 @@ class LuSimpleSelectApiV4Directive extends ALuSimpleSelectApiDirective {
129
129
  },
130
130
  })), map((res) => (Array.isArray(res) ? res : res?.items) ?? []));
131
131
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectApiV4Directive, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
133
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.3", type: LuSimpleSelectApiV4Directive, isStandalone: true, selector: "lu-simple-select[apiV4],lu-multi-select[apiV4]", inputs: { apiV4: "apiV4", sort: "sort", filters: "filters" }, usesInheritance: true, ngImport: i0 }); }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectApiV4Directive, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
133
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: LuSimpleSelectApiV4Directive, isStandalone: true, selector: "lu-simple-select[apiV4],lu-multi-select[apiV4]", inputs: { apiV4: "apiV4", sort: "sort", filters: "filters" }, usesInheritance: true, ngImport: i0 }); }
134
134
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectApiV4Directive, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectApiV4Directive, decorators: [{
136
136
  type: Directive,
137
137
  args: [{
138
138
  // The attribute is already prefixed with "lu-simple-select"
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-simple-select-api.mjs","sources":["../../../packages/ng/simple-select/api/api.directive.ts","../../../packages/ng/simple-select/api/api-v3.directive.ts","../../../packages/ng/simple-select/api/api-v4.directive.ts","../../../packages/ng/simple-select/api/lucca-front-ng-simple-select-api.ts"],"sourcesContent":["import { Directive, inject, OnDestroy, OnInit } from '@angular/core';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/core-select';\nimport { BehaviorSubject, catchError, combineLatest, concatMap, debounceTime, Observable, of, scan, startWith, Subject, switchMap, takeUntil, takeWhile, tap } from 'rxjs';\n\nexport const MAGIC_PAGE_SIZE = 20;\nexport const MAGIC_DEBOUNCE_DURATION = 250;\n\n@Directive()\nexport abstract class ALuSimpleSelectApiDirective<TOption, TParams = Record<string, string | number | boolean>> implements OnDestroy, OnInit {\n\tprotected destroy$ = new Subject<void>();\n\tprotected pageSize = MAGIC_PAGE_SIZE;\n\tprotected debounceDuration = MAGIC_DEBOUNCE_DURATION;\n\n\tprotected select = inject<ALuSelectInputComponent<TOption, unknown>>(ALuSelectInputComponent);\n\n\tprotected page$ = this.select.nextPage.pipe(\n\t\tscan((page) => page + 1, 0),\n\t\tstartWith(0),\n\t);\n\n\tprotected clue$ = this.select.clueChange.pipe(startWith(''), debounceTime(this.debounceDuration));\n\n\t/**\n\t * Create an object that will be used as params for the api call\n\t */\n\tprotected abstract params$: Observable<TParams>;\n\n\t/**\n\t * Compare two options to know if they are the same. For example, compare by id or by JSON\n\t */\n\tprotected abstract optionComparer: (a: TOption, b: TOption) => boolean;\n\n\t/**\n\t * Return the options for the given params and page\n\t */\n\tprotected abstract getOptions(params: TParams, page: number): Observable<TOption[]>;\n\n\tprotected loading$ = new BehaviorSubject(false);\n\tpublic ngOnInit(): void {\n\t\tthis.select.optionComparer = this.optionComparer;\n\t\tthis.buildOptions().pipe(takeUntil(this.destroy$)).subscribe(this.select.options$);\n\t\tthis.loading$.pipe(debounceTime(0), takeUntil(this.destroy$)).subscribe(this.select.loading$);\n\t}\n\n\tprotected buildOptions(): Observable<TOption[]> {\n\t\treturn combineLatest([this.params$.pipe(debounceTime(0)), this.select.isPanelOpen$]).pipe(\n\t\t\tswitchMap(([params, isOpened]) =>\n\t\t\t\tisOpened\n\t\t\t\t\t? this.page$.pipe(\n\t\t\t\t\t\t\tconcatMap((page) => {\n\t\t\t\t\t\t\t\tthis.loading$.next(true);\n\t\t\t\t\t\t\t\treturn this.getOptions(params, page).pipe(\n\t\t\t\t\t\t\t\t\tcatchError(() => of([] as TOption[])),\n\t\t\t\t\t\t\t\t\ttap(() => this.loading$.next(false)),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\ttakeWhile((items) => items.length === this.pageSize, true),\n\t\t\t\t\t\t\tscan((acc, items) => [...acc, ...items], [] as TOption[]),\n\t\t\t\t\t )\n\t\t\t\t\t: of([] as TOption[]),\n\t\t\t),\n\t\t);\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.destroy$.next();\n\t\tthis.destroy$.complete();\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, inject, Input } from '@angular/core';\nimport { ILuApiCollectionResponse, ILuApiItem } from '@lucca-front/ng/api';\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\nimport { ALuSimpleSelectApiDirective } from './api.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[apiV3],lu-multi-select[apiV3]',\n\tstandalone: true,\n})\nexport class LuSimpleSelectApiV3Directive<T extends ILuApiItem> extends ALuSimpleSelectApiDirective<T> {\n\t@Input()\n\tpublic set apiV3(value: string) {\n\t\tthis.url$.next(value);\n\t}\n\n\t@Input()\n\tpublic set fields(value: string) {\n\t\tthis.fields$.next(value);\n\t}\n\n\t@Input()\n\tpublic set orderBy(value: string | null) {\n\t\tthis.orderBy$.next(value);\n\t}\n\n\t@Input()\n\tpublic set filters(value: Record<string, string | number | boolean>) {\n\t\tthis.filters$.next(value);\n\t}\n\n\tprotected url$ = new ReplaySubject<string>(1);\n\tprotected fields$ = new BehaviorSubject<string>('id,name');\n\tprotected orderBy$ = new BehaviorSubject<string | null>('name,asc');\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\n\n\tprotected httpClient = inject(HttpClient);\n\n\tprotected override params$ = combineLatest([this.fields$, this.filters$, this.orderBy$, this.clue$]).pipe(\n\t\tmap(([fields, filters, orderBy, clue]) => ({\n\t\t\t...filters,\n\t\t\tfields,\n\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t...(clue ? { name: `like,${clue}` } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.url$.pipe(\n\t\t\ttake(1),\n\t\t\tswitchMap((url) =>\n\t\t\t\tthis.httpClient.get<ILuApiCollectionResponse<T>>(url, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((res) => res.data.items),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, inject, Input } from '@angular/core';\nimport { ILuApiItem } from '@lucca-front/ng/api';\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\nimport { ALuSimpleSelectApiDirective } from './api.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[apiV4],lu-multi-select[apiV4]',\n\tstandalone: true,\n})\nexport class LuSimpleSelectApiV4Directive<T extends ILuApiItem> extends ALuSimpleSelectApiDirective<T> {\n\t@Input()\n\tpublic set apiV4(value: string) {\n\t\tthis.url$.next(value);\n\t}\n\n\t@Input()\n\tpublic set sort(value: string | null) {\n\t\tthis.sort$.next(value);\n\t}\n\n\t@Input()\n\tpublic set filters(value: Record<string, string | number | boolean>) {\n\t\tthis.filters$.next(value);\n\t}\n\n\tprotected url$ = new ReplaySubject<string>(1);\n\tprotected sort$ = new BehaviorSubject<string | null>('+name');\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\n\n\tprotected httpClient = inject(HttpClient);\n\n\tprotected override params$ = combineLatest([this.filters$, this.sort$, this.clue$]).pipe(\n\t\tmap(([filters, sort, clue]) => ({\n\t\t\t...filters,\n\t\t\t...(sort ? { sort } : {}),\n\t\t\t...(clue ? { search: clue } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.url$.pipe(\n\t\t\ttake(1),\n\t\t\tswitchMap((url) =>\n\t\t\t\tthis.httpClient.get<T[] | { items: T[] }>(url, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\tpage: page + 1,\n\t\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((res) => (Array.isArray(res) ? res : res?.items) ?? []),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\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-simple-select-api.mjs","sources":["../../../packages/ng/simple-select/api/api.directive.ts","../../../packages/ng/simple-select/api/api-v3.directive.ts","../../../packages/ng/simple-select/api/api-v4.directive.ts","../../../packages/ng/simple-select/api/lucca-front-ng-simple-select-api.ts"],"sourcesContent":["import { Directive, inject, OnDestroy, OnInit } from '@angular/core';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/core-select';\nimport { BehaviorSubject, catchError, combineLatest, concatMap, debounceTime, Observable, of, scan, startWith, Subject, switchMap, takeUntil, takeWhile, tap } from 'rxjs';\n\nexport const MAGIC_PAGE_SIZE = 20;\nexport const MAGIC_DEBOUNCE_DURATION = 250;\n\n@Directive()\nexport abstract class ALuSimpleSelectApiDirective<TOption, TParams = Record<string, string | number | boolean>> implements OnDestroy, OnInit {\n\tprotected destroy$ = new Subject<void>();\n\tprotected pageSize = MAGIC_PAGE_SIZE;\n\tprotected debounceDuration = MAGIC_DEBOUNCE_DURATION;\n\n\tprotected select = inject<ALuSelectInputComponent<TOption, unknown>>(ALuSelectInputComponent);\n\n\tprotected page$ = this.select.nextPage.pipe(\n\t\tscan((page) => page + 1, 0),\n\t\tstartWith(0),\n\t);\n\n\tprotected clue$ = this.select.clueChange.pipe(startWith(''), debounceTime(this.debounceDuration));\n\n\t/**\n\t * Create an object that will be used as params for the api call\n\t */\n\tprotected abstract params$: Observable<TParams>;\n\n\t/**\n\t * Compare two options to know if they are the same. For example, compare by id or by JSON\n\t */\n\tprotected abstract optionComparer: (a: TOption, b: TOption) => boolean;\n\n\t/**\n\t * Return the options for the given params and page\n\t */\n\tprotected abstract getOptions(params: TParams, page: number): Observable<TOption[]>;\n\n\tprotected loading$ = new BehaviorSubject(false);\n\tpublic ngOnInit(): void {\n\t\tthis.select.optionComparer = this.optionComparer;\n\t\tthis.buildOptions().pipe(takeUntil(this.destroy$)).subscribe(this.select.options$);\n\t\tthis.loading$.pipe(debounceTime(0), takeUntil(this.destroy$)).subscribe(this.select.loading$);\n\t}\n\n\tprotected buildOptions(): Observable<TOption[]> {\n\t\treturn combineLatest([this.params$.pipe(debounceTime(0)), this.select.isPanelOpen$]).pipe(\n\t\t\tswitchMap(([params, isOpened]) =>\n\t\t\t\tisOpened\n\t\t\t\t\t? this.page$.pipe(\n\t\t\t\t\t\t\tconcatMap((page) => {\n\t\t\t\t\t\t\t\tthis.loading$.next(true);\n\t\t\t\t\t\t\t\treturn this.getOptions(params, page).pipe(\n\t\t\t\t\t\t\t\t\tcatchError(() => of([] as TOption[])),\n\t\t\t\t\t\t\t\t\ttap(() => this.loading$.next(false)),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\ttakeWhile((items) => items.length === this.pageSize, true),\n\t\t\t\t\t\t\tscan((acc, items) => [...acc, ...items], [] as TOption[]),\n\t\t\t\t\t )\n\t\t\t\t\t: of([] as TOption[]),\n\t\t\t),\n\t\t);\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.destroy$.next();\n\t\tthis.destroy$.complete();\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, inject, Input } from '@angular/core';\nimport { ILuApiCollectionResponse, ILuApiItem } from '@lucca-front/ng/api';\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\nimport { ALuSimpleSelectApiDirective } from './api.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[apiV3],lu-multi-select[apiV3]',\n\tstandalone: true,\n})\nexport class LuSimpleSelectApiV3Directive<T extends ILuApiItem> extends ALuSimpleSelectApiDirective<T> {\n\t@Input()\n\tpublic set apiV3(value: string) {\n\t\tthis.url$.next(value);\n\t}\n\n\t@Input()\n\tpublic set fields(value: string) {\n\t\tthis.fields$.next(value);\n\t}\n\n\t@Input()\n\tpublic set orderBy(value: string | null) {\n\t\tthis.orderBy$.next(value);\n\t}\n\n\t@Input()\n\tpublic set filters(value: Record<string, string | number | boolean>) {\n\t\tthis.filters$.next(value);\n\t}\n\n\tprotected url$ = new ReplaySubject<string>(1);\n\tprotected fields$ = new BehaviorSubject<string>('id,name');\n\tprotected orderBy$ = new BehaviorSubject<string | null>('name,asc');\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\n\n\tprotected httpClient = inject(HttpClient);\n\n\tprotected override params$ = combineLatest([this.fields$, this.filters$, this.orderBy$, this.clue$]).pipe(\n\t\tmap(([fields, filters, orderBy, clue]) => ({\n\t\t\t...filters,\n\t\t\tfields,\n\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t...(clue ? { name: `like,${clue}` } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.url$.pipe(\n\t\t\ttake(1),\n\t\t\tswitchMap((url) =>\n\t\t\t\tthis.httpClient.get<ILuApiCollectionResponse<T>>(url, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((res) => res.data.items),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, inject, Input } from '@angular/core';\nimport { ILuApiItem } from '@lucca-front/ng/api';\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\nimport { ALuSimpleSelectApiDirective } from './api.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[apiV4],lu-multi-select[apiV4]',\n\tstandalone: true,\n})\nexport class LuSimpleSelectApiV4Directive<T extends ILuApiItem> extends ALuSimpleSelectApiDirective<T> {\n\t@Input()\n\tpublic set apiV4(value: string) {\n\t\tthis.url$.next(value);\n\t}\n\n\t@Input()\n\tpublic set sort(value: string | null) {\n\t\tthis.sort$.next(value);\n\t}\n\n\t@Input()\n\tpublic set filters(value: Record<string, string | number | boolean>) {\n\t\tthis.filters$.next(value);\n\t}\n\n\tprotected url$ = new ReplaySubject<string>(1);\n\tprotected sort$ = new BehaviorSubject<string | null>('+name');\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\n\n\tprotected httpClient = inject(HttpClient);\n\n\tprotected override params$ = combineLatest([this.filters$, this.sort$, this.clue$]).pipe(\n\t\tmap(([filters, sort, clue]) => ({\n\t\t\t...filters,\n\t\t\t...(sort ? { sort } : {}),\n\t\t\t...(clue ? { search: clue } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.url$.pipe(\n\t\t\ttake(1),\n\t\t\tswitchMap((url) =>\n\t\t\t\tthis.httpClient.get<T[] | { items: T[] }>(url, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\tpage: page + 1,\n\t\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((res) => (Array.isArray(res) ? res : res?.items) ?? []),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
7
7
  import { getIntl } from '@lucca-front/ng/core';
8
8
  import { LuSelectPanelRef, SELECT_ID, ɵLuOptionComponent, ALuSelectInputComponent, provideLuSelectOverlayContainer, provideLuSelectLabelsAndIds, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';
9
9
  import { ComponentPortal } from '@angular/cdk/portal';
10
- import { observeOn, asyncScheduler, map, filter, take, takeUntil } from 'rxjs';
10
+ import { asyncScheduler, observeOn, map, filter, take, takeUntil } from 'rxjs';
11
11
  import * as i1 from '@angular/cdk/a11y';
12
12
  import { ActiveDescendantKeyManager, A11yModule } from '@angular/cdk/a11y';
13
13
  import { IconComponent } from '@lucca-front/ng/icon';
@@ -114,10 +114,10 @@ class LuSelectPanelComponent {
114
114
  this.panelRef.clueChanged.emit(clue);
115
115
  setTimeout(() => this.keyManager.setFirstItemActive());
116
116
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSelectPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: LuSelectPanelComponent, isStandalone: true, selector: "lu-select-panel", host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "optionsQL", predicate: ɵLuOptionComponent, descendants: true }], ngImport: i0, template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\trole=\"dialog\"\n\tcdkTrapFocus\n\t*ngIf=\"{ options: options$ | async } as ctx\"\n\t[cdkTrapFocusAutoCapture]=\"true\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *ngIf=\"searchable\">\n\t\t\t<div class=\"panel-search textfield mod-search\">\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<lu-select-option\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\n\t\t\t\t[option]=\"option\"\n\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t[isSelected]=\"option === selected\"\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t></lu-select-option>\n\t\t</div>\n\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\n\t</div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}.panel-search{position:sticky;top:0;box-shadow:0 -4px 0 var(--spacings-XS) var(--colors-white-color)}.panel-loading:after{box-shadow:0 0 0 .25rem var(--colors-white-color),inset 0 0 0 .5rem var(--colors-white-color)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ɵLuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "isSelected", "option", "optionIndex", "scrollIntoViewOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSelectPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: LuSelectPanelComponent, isStandalone: true, selector: "lu-select-panel", host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "optionsQL", predicate: ɵLuOptionComponent, descendants: true }], ngImport: i0, template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\trole=\"dialog\"\n\tcdkTrapFocus\n\t*ngIf=\"{ options: options$ | async } as ctx\"\n\t[cdkTrapFocusAutoCapture]=\"true\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *ngIf=\"searchable\">\n\t\t\t<div class=\"panel-search textfield mod-search\">\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<lu-select-option\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\n\t\t\t\t[option]=\"option\"\n\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t[isSelected]=\"option === selected\"\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t></lu-select-option>\n\t\t</div>\n\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\n\t</div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}.panel-search{position:sticky;top:0;box-shadow:0 -4px 0 var(--spacings-XS) var(--colors-white-color)}.panel-loading:after{box-shadow:0 0 0 .25rem var(--colors-white-color),inset 0 0 0 .5rem var(--colors-white-color)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ɵLuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "isSelected", "option", "optionIndex", "scrollIntoViewOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSelectPanelComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSelectPanelComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'lu-select-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, ɵLuOptionComponent], template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\trole=\"dialog\"\n\tcdkTrapFocus\n\t*ngIf=\"{ options: options$ | async } as ctx\"\n\t[cdkTrapFocusAutoCapture]=\"true\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *ngIf=\"searchable\">\n\t\t\t<div class=\"panel-search textfield mod-search\">\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<lu-select-option\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\n\t\t\t\t[option]=\"option\"\n\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t[isSelected]=\"option === selected\"\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t></lu-select-option>\n\t\t</div>\n\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\n\t</div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}.panel-search{position:sticky;top:0;box-shadow:0 -4px 0 var(--spacings-XS) var(--colors-white-color)}.panel-loading:after{box-shadow:0 0 0 .25rem var(--colors-white-color),inset 0 0 0 .5rem var(--colors-white-color)}\n"] }]
123
123
  }], propDecorators: { searchInput: [{
@@ -207,10 +207,10 @@ class LuSimpleSelectPanelRefFactory {
207
207
  overlayConfig.maxWidth = '100vw';
208
208
  return overlayConfig;
209
209
  }
210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectPanelRefFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
211
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectPanelRefFactory }); }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectPanelRefFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
211
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectPanelRefFactory }); }
212
212
  }
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectPanelRefFactory, decorators: [{
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectPanelRefFactory, decorators: [{
214
214
  type: Injectable
215
215
  }] });
216
216
 
@@ -233,8 +233,8 @@ class LuSimpleSelectInputComponent extends ALuSelectInputComponent {
233
233
  get hasValue() {
234
234
  return this.value !== null && this.value !== undefined;
235
235
  }
236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
237
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: LuSimpleSelectInputComponent, isStandalone: true, selector: "lu-simple-select", providers: [
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
237
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: LuSimpleSelectInputComponent, isStandalone: true, selector: "lu-simple-select", providers: [
238
238
  {
239
239
  provide: NG_VALUE_ACCESSOR,
240
240
  useExisting: forwardRef(() => LuSimpleSelectInputComponent),
@@ -249,7 +249,7 @@ class LuSimpleSelectInputComponent extends ALuSelectInputComponent {
249
249
  provideLuSelectLabelsAndIds(),
250
250
  ], usesInheritance: true, ngImport: i0, template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\n\t</div>\n</div>\n<a *ngIf=\"clearable && hasValue\" class=\"clear lu-select-clearer\" role=\"button\" (click)=\"clearValue($event)\">\n\t<span class=\"u-mask\">{{intl.clear}}</span>\n</a>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host{--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0;gap:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-grey-600);bottom:var(--components-select-input-padding-vertical);font-size:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal);transition:transform var(--commons-animations-durations-standard) ease}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-grey-400);line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;bottom:.75rem;right:2.25rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{vertical-align:baseline;max-width:100%;margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S){padding:0}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{bottom:var(--spacings-XS)}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{bottom:.5rem;right:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize);padding-left:var(--spacings-XXS);padding-right:var(--spacings-XXS);gap:var(--spacings-XXS)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:flex-start}:host-context(.textfield .textfield-input.is-focused):after{transform:rotate(-180deg)}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none}:host-context(.textfield-input.is-filled){display:block}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}.lu-select-value{padding-right:2rem}:host.is-disabled{display:inline-block!important}\n"], dependencies: [{ kind: "directive", type: ɵLuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: OverlayModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
251
251
  }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectInputComponent, decorators: [{
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuSimpleSelectInputComponent, decorators: [{
253
253
  type: Component,
254
254
  args: [{ selector: 'lu-simple-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [AsyncPipe, ɵLuOptionOutletDirective, NgIf, OverlayModule, IconComponent], providers: [
255
255
  {
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-simple-select.mjs","sources":["../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {\n\tfactory: () => luSimpleSelectTranslations,\n});\n\nexport interface ILuSimpleSelectLabel {\n\tplaceholder: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n}\n\nexport const luSimpleSelectTranslations: ILuTranslation<ILuSimpleSelectLabel> = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'No results',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche löschen',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tclear: 'Borrar',\n\t\tclearSearch: 'Borrar búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t},\n};\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { LuOptionContext } from '@lucca-front/ng/core-select';\nimport { Observable } from 'rxjs';\n\nexport interface ILuSimpleSelectPanelData<T> {\n\toptions$: Observable<T[]>;\n\tloading$: Observable<boolean>;\n\toptionComparer: (option1: T, option2: T) => boolean;\n\tinitialValue: T | undefined;\n\toptionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown>;\n\tsearchable: boolean;\n}\n\nexport const SIMPLE_SELECT_PANEL_DATA = new InjectionToken<ILuSimpleSelectPanelData<unknown>>('SimpleSelectPanelData');\n","import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, HostListener, inject, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuSelectPanelRef, SELECT_ID, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { asyncScheduler, filter, map, observeOn, take, takeUntil } from 'rxjs';\nimport { ILuSimpleSelectPanelData, SIMPLE_SELECT_PANEL_DATA } from '../select.model';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, ɵLuOptionComponent],\n})\nexport class LuSelectPanelComponent<T> implements AfterViewInit {\n\tprotected panelData = inject<ILuSimpleSelectPanelData<T>>(SIMPLE_SELECT_PANEL_DATA);\n\tpublic panelRef = inject<LuSelectPanelRef<T, T>>(LuSelectPanelRef);\n\tpublic selectId = inject(SELECT_ID);\n\tpublic intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\toptions$ = this.panelData.options$;\n\tloading$ = this.panelData.loading$;\n\toptionComparer = this.panelData.optionComparer;\n\tinitialValue: T | undefined = this.panelData.initialValue;\n\toptionTpl = this.panelData.optionTpl;\n\tsearchable = this.panelData.searchable;\n\n\t@ViewChild('searchInput')\n\tpublic set searchInput(input: ElementRef<HTMLInputElement> | undefined) {\n\t\tif (!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => input.nativeElement.focus());\n\t}\n\n\t@ViewChildren(ɵLuOptionComponent) optionsQL: QueryList<ɵLuOptionComponent<T>>;\n\tprivate keyManager: ActiveDescendantKeyManager<ɵLuOptionComponent<T>>;\n\n\tsearch: string | null = null;\n\n\tpublic get selected(): T | undefined {\n\t\treturn this.keyManager?.activeItem?.option;\n\t}\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (!this.optionsQL) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyManager = new ActiveDescendantKeyManager(this.optionsQL).withHomeAndEnd();\n\n\t\tif (this.initialValue) {\n\t\t\tthis.options$\n\t\t\t\t?.pipe(\n\t\t\t\t\tobserveOn(asyncScheduler),\n\t\t\t\t\tmap((options) => options.findIndex((o) => this.optionComparer(o, this.initialValue))),\n\t\t\t\t\tfilter((index) => index !== -1),\n\t\t\t\t\ttake(1),\n\t\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t\t)\n\t\t\t\t.subscribe((selectedIndex) => this.keyManager.setActiveItem(selectedIndex));\n\t\t}\n\n\t\tthis.keyManager.change\n\t\t\t.pipe(\n\t\t\t\tmap(() => this.keyManager.activeItem?.id),\n\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t)\n\t\t\t.subscribe((activeDescendant) => this.panelRef.activeOptionIdChanged.emit(activeDescendant));\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeyDown($event: KeyboardEvent): void {\n\t\tswitch ($event.key) {\n\t\t\tcase 'Escape':\n\t\t\tcase 'Tab':\n\t\t\t\treturn this.panelRef.close();\n\t\t\tcase 'Enter':\n\t\t\t\treturn this.panelRef.emitValue(this.selected);\n\t\t\tdefault:\n\t\t\t\tthis.keyManager?.onKeydown($event);\n\t\t}\n\t}\n\n\tupdateClue(clue: string | null): void {\n\t\tthis.search = clue;\n\t\tthis.panelRef.clueChanged.emit(clue);\n\n\t\tsetTimeout(() => this.keyManager.setFirstItemActive());\n\t}\n}\n","<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\trole=\"dialog\"\n\tcdkTrapFocus\n\t*ngIf=\"{ options: options$ | async } as ctx\"\n\t[cdkTrapFocusAutoCapture]=\"true\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *ngIf=\"searchable\">\n\t\t\t<div class=\"panel-search textfield mod-search\">\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<lu-select-option\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\n\t\t\t\t[option]=\"option\"\n\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t[isSelected]=\"option === selected\"\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t></lu-select-option>\n\t\t</div>\n\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\n\t</div>\n</div>\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector } from '@angular/core';\nimport { LuSelectPanelRef } from '@lucca-front/ng/core-select';\nimport { takeUntil } from 'rxjs';\nimport { LuSelectPanelComponent } from '../panel';\nimport { ILuSimpleSelectPanelData, SIMPLE_SELECT_PANEL_DATA } from '../select.model';\n\nclass SelectPanelRef<T> extends LuSelectPanelRef<T, T> {\n\tinstance: LuSelectPanelComponent<T>;\n\tprivate panelRef: ComponentRef<LuSelectPanelComponent<T>>;\n\tprivate portalRef: ComponentPortal<LuSelectPanelComponent<T>>;\n\n\tconstructor(private overlayRef: OverlayRef, parentInjector: Injector, panelData: ILuSimpleSelectPanelData<T>) {\n\t\tsuper();\n\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: SIMPLE_SELECT_PANEL_DATA, useValue: panelData },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\n\t\tthis.portalRef = new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, injector);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\temitValue(value: T): void {\n\t\tthis.valueChanged.emit(value);\n\t\tthis.close();\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t}\n}\n\n@Injectable()\nexport class LuSimpleSelectPanelRefFactory {\n\tprotected overlay = inject(Overlay);\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected positionBuilder = inject(OverlayPositionBuilder);\n\tprotected scrollStrategies = inject(ScrollStrategyOptions);\n\tprotected parentInjector = inject(Injector);\n\n\tbuildPanelRef<T>(panelData: ILuSimpleSelectPanelData<T>, overlayConfigOverride: OverlayConfig = {}): LuSelectPanelRef<T, T> {\n\t\tconst overlayConfig = this.buildOverlayConfig(overlayConfigOverride);\n\t\tconst overlayRef = this.overlay.create(overlayConfig);\n\n\t\treturn new SelectPanelRef(overlayRef, this.parentInjector, panelData);\n\t}\n\n\tprotected buildOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = overlayConfigOverride || {};\n\t\toverlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxHeight = '100vh';\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuSelectPanelRef, provideLuSelectLabelsAndIds, provideLuSelectOverlayContainer, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuSimpleSelectPanelRefFactory } from './panel-ref.factory';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, ɵLuOptionOutletDirective, NgIf, OverlayModule, IconComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t\tLuSimpleSelectPanelRefFactory,\n\t\tprovideLuSelectOverlayContainer(),\n\t\tprovideLuSelectLabelsAndIds(),\n\t],\n})\nexport class LuSimpleSelectInputComponent<T> extends ALuSelectInputComponent<T, T> implements ControlValueAccessor {\n\tintl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\tprotected panelRefFactory = inject(LuSimpleSelectPanelRefFactory);\n\n\tprotected buildPanelRef(): LuSelectPanelRef<T, T> {\n\t\treturn this.panelRefFactory.buildPanelRef(\n\t\t\t{\n\t\t\t\tinitialValue: this.value,\n\t\t\t\toptionComparer: this.optionComparer,\n\t\t\t\toptions$: this.options$,\n\t\t\t\tloading$: this.loading$,\n\t\t\t\tsearchable: this.searchable,\n\t\t\t\toptionTpl: this.optionTpl,\n\t\t\t},\n\t\t\tthis.overlayConfig,\n\t\t);\n\t}\n\n\tprotected get hasValue(): boolean {\n\t\treturn this.value !== null && this.value !== undefined;\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\n\t</div>\n</div>\n<a *ngIf=\"clearable && hasValue\" class=\"clear lu-select-clearer\" role=\"button\" (click)=\"clearValue($event)\">\n\t<span class=\"u-mask\">{{intl.clear}}</span>\n</a>\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-simple-select.mjs","sources":["../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {\n\tfactory: () => luSimpleSelectTranslations,\n});\n\nexport interface ILuSimpleSelectLabel {\n\tplaceholder: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n}\n\nexport const luSimpleSelectTranslations: ILuTranslation<ILuSimpleSelectLabel> = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'No results',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche löschen',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tclear: 'Borrar',\n\t\tclearSearch: 'Borrar búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t},\n};\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { LuOptionContext } from '@lucca-front/ng/core-select';\nimport { Observable } from 'rxjs';\n\nexport interface ILuSimpleSelectPanelData<T> {\n\toptions$: Observable<T[]>;\n\tloading$: Observable<boolean>;\n\toptionComparer: (option1: T, option2: T) => boolean;\n\tinitialValue: T | undefined;\n\toptionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown>;\n\tsearchable: boolean;\n}\n\nexport const SIMPLE_SELECT_PANEL_DATA = new InjectionToken<ILuSimpleSelectPanelData<unknown>>('SimpleSelectPanelData');\n","import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, HostListener, inject, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuSelectPanelRef, SELECT_ID, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { asyncScheduler, filter, map, observeOn, take, takeUntil } from 'rxjs';\nimport { ILuSimpleSelectPanelData, SIMPLE_SELECT_PANEL_DATA } from '../select.model';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, ɵLuOptionComponent],\n})\nexport class LuSelectPanelComponent<T> implements AfterViewInit {\n\tprotected panelData = inject<ILuSimpleSelectPanelData<T>>(SIMPLE_SELECT_PANEL_DATA);\n\tpublic panelRef = inject<LuSelectPanelRef<T, T>>(LuSelectPanelRef);\n\tpublic selectId = inject(SELECT_ID);\n\tpublic intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\toptions$ = this.panelData.options$;\n\tloading$ = this.panelData.loading$;\n\toptionComparer = this.panelData.optionComparer;\n\tinitialValue: T | undefined = this.panelData.initialValue;\n\toptionTpl = this.panelData.optionTpl;\n\tsearchable = this.panelData.searchable;\n\n\t@ViewChild('searchInput')\n\tpublic set searchInput(input: ElementRef<HTMLInputElement> | undefined) {\n\t\tif (!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => input.nativeElement.focus());\n\t}\n\n\t@ViewChildren(ɵLuOptionComponent) optionsQL: QueryList<ɵLuOptionComponent<T>>;\n\tprivate keyManager: ActiveDescendantKeyManager<ɵLuOptionComponent<T>>;\n\n\tsearch: string | null = null;\n\n\tpublic get selected(): T | undefined {\n\t\treturn this.keyManager?.activeItem?.option;\n\t}\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (!this.optionsQL) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyManager = new ActiveDescendantKeyManager(this.optionsQL).withHomeAndEnd();\n\n\t\tif (this.initialValue) {\n\t\t\tthis.options$\n\t\t\t\t?.pipe(\n\t\t\t\t\tobserveOn(asyncScheduler),\n\t\t\t\t\tmap((options) => options.findIndex((o) => this.optionComparer(o, this.initialValue))),\n\t\t\t\t\tfilter((index) => index !== -1),\n\t\t\t\t\ttake(1),\n\t\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t\t)\n\t\t\t\t.subscribe((selectedIndex) => this.keyManager.setActiveItem(selectedIndex));\n\t\t}\n\n\t\tthis.keyManager.change\n\t\t\t.pipe(\n\t\t\t\tmap(() => this.keyManager.activeItem?.id),\n\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t)\n\t\t\t.subscribe((activeDescendant) => this.panelRef.activeOptionIdChanged.emit(activeDescendant));\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeyDown($event: KeyboardEvent): void {\n\t\tswitch ($event.key) {\n\t\t\tcase 'Escape':\n\t\t\tcase 'Tab':\n\t\t\t\treturn this.panelRef.close();\n\t\t\tcase 'Enter':\n\t\t\t\treturn this.panelRef.emitValue(this.selected);\n\t\t\tdefault:\n\t\t\t\tthis.keyManager?.onKeydown($event);\n\t\t}\n\t}\n\n\tupdateClue(clue: string | null): void {\n\t\tthis.search = clue;\n\t\tthis.panelRef.clueChanged.emit(clue);\n\n\t\tsetTimeout(() => this.keyManager.setFirstItemActive());\n\t}\n}\n","<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\trole=\"dialog\"\n\tcdkTrapFocus\n\t*ngIf=\"{ options: options$ | async } as ctx\"\n\t[cdkTrapFocusAutoCapture]=\"true\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *ngIf=\"searchable\">\n\t\t\t<div class=\"panel-search textfield mod-search\">\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<lu-select-option\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\n\t\t\t\t[option]=\"option\"\n\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t[isSelected]=\"option === selected\"\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t></lu-select-option>\n\t\t</div>\n\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\n\t</div>\n</div>\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector } from '@angular/core';\nimport { LuSelectPanelRef } from '@lucca-front/ng/core-select';\nimport { takeUntil } from 'rxjs';\nimport { LuSelectPanelComponent } from '../panel';\nimport { ILuSimpleSelectPanelData, SIMPLE_SELECT_PANEL_DATA } from '../select.model';\n\nclass SelectPanelRef<T> extends LuSelectPanelRef<T, T> {\n\tinstance: LuSelectPanelComponent<T>;\n\tprivate panelRef: ComponentRef<LuSelectPanelComponent<T>>;\n\tprivate portalRef: ComponentPortal<LuSelectPanelComponent<T>>;\n\n\tconstructor(private overlayRef: OverlayRef, parentInjector: Injector, panelData: ILuSimpleSelectPanelData<T>) {\n\t\tsuper();\n\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: SIMPLE_SELECT_PANEL_DATA, useValue: panelData },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\n\t\tthis.portalRef = new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, injector);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\temitValue(value: T): void {\n\t\tthis.valueChanged.emit(value);\n\t\tthis.close();\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t}\n}\n\n@Injectable()\nexport class LuSimpleSelectPanelRefFactory {\n\tprotected overlay = inject(Overlay);\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected positionBuilder = inject(OverlayPositionBuilder);\n\tprotected scrollStrategies = inject(ScrollStrategyOptions);\n\tprotected parentInjector = inject(Injector);\n\n\tbuildPanelRef<T>(panelData: ILuSimpleSelectPanelData<T>, overlayConfigOverride: OverlayConfig = {}): LuSelectPanelRef<T, T> {\n\t\tconst overlayConfig = this.buildOverlayConfig(overlayConfigOverride);\n\t\tconst overlayRef = this.overlay.create(overlayConfig);\n\n\t\treturn new SelectPanelRef(overlayRef, this.parentInjector, panelData);\n\t}\n\n\tprotected buildOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = overlayConfigOverride || {};\n\t\toverlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxHeight = '100vh';\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuSelectPanelRef, provideLuSelectLabelsAndIds, provideLuSelectOverlayContainer, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuSimpleSelectPanelRefFactory } from './panel-ref.factory';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, ɵLuOptionOutletDirective, NgIf, OverlayModule, IconComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t\tLuSimpleSelectPanelRefFactory,\n\t\tprovideLuSelectOverlayContainer(),\n\t\tprovideLuSelectLabelsAndIds(),\n\t],\n})\nexport class LuSimpleSelectInputComponent<T> extends ALuSelectInputComponent<T, T> implements ControlValueAccessor {\n\tintl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\tprotected panelRefFactory = inject(LuSimpleSelectPanelRefFactory);\n\n\tprotected buildPanelRef(): LuSelectPanelRef<T, T> {\n\t\treturn this.panelRefFactory.buildPanelRef(\n\t\t\t{\n\t\t\t\tinitialValue: this.value,\n\t\t\t\toptionComparer: this.optionComparer,\n\t\t\t\toptions$: this.options$,\n\t\t\t\tloading$: this.loading$,\n\t\t\t\tsearchable: this.searchable,\n\t\t\t\toptionTpl: this.optionTpl,\n\t\t\t},\n\t\t\tthis.overlayConfig,\n\t\t);\n\t}\n\n\tprotected get hasValue(): boolean {\n\t\treturn this.value !== null && this.value !== undefined;\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\n\t</div>\n</div>\n<a *ngIf=\"clearable && hasValue\" class=\"clear lu-select-clearer\" role=\"button\" (click)=\"clearValue($event)\">\n\t<span class=\"u-mask\">{{intl.clear}}</span>\n</a>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}