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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
  2. package/fesm2022/lucca-front-ng-activity-feed.mjs +12 -17
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-api.mjs +122 -202
  5. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  6. package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
  7. package/fesm2022/lucca-front-ng-box.mjs +3 -3
  8. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
  9. package/fesm2022/lucca-front-ng-bubble-icon.mjs +4 -10
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +5 -10
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-callout.mjs +36 -36
  14. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-chip.mjs +4 -10
  16. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-clear.mjs +9 -15
  18. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-code.mjs +4 -4
  20. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-color.mjs +4 -9
  22. package/fesm2022/lucca-front-ng-color.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-comment.mjs +12 -17
  24. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-container.mjs +4 -9
  26. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-api.mjs +29 -45
  28. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-department.mjs +13 -11
  30. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
  32. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  34. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
  36. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core-select-user.mjs +42 -42
  38. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-core-select.mjs +204 -270
  40. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-core.mjs +37 -21
  42. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-data-table.mjs +61 -60
  44. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-date.mjs +144 -164
  46. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-date2.mjs +147 -150
  48. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-department.mjs +26 -24
  50. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-dialog.mjs +92 -68
  52. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-divider.mjs +7 -14
  54. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-dropdown.mjs +69 -72
  56. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-empty-state.mjs +15 -20
  58. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-error-page.mjs +4 -9
  60. package/fesm2022/lucca-front-ng-error-page.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-establishment.mjs +81 -115
  62. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-fancy-box.mjs +5 -10
  64. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-file-upload.mjs +33 -52
  66. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-filter-pills.mjs +41 -24
  68. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-footer.mjs +4 -10
  70. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-form-field.mjs +43 -64
  72. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-form-header.mjs +4 -9
  74. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-form-label.mjs +4 -9
  76. package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-form.mjs +6 -9
  78. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-formly.mjs +60 -59
  80. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +53 -53
  82. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +18 -16
  84. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +9 -8
  86. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +8 -6
  88. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +64 -57
  90. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-forms.mjs +51 -109
  92. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
  94. package/fesm2022/lucca-front-ng-grid.mjs +9 -21
  95. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-highlight-data.mjs +5 -27
  97. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +15 -160
  99. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-index-table.mjs +38 -44
  101. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-inline-message.mjs +4 -11
  103. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-input.mjs +28 -26
  105. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-link.mjs +6 -6
  107. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  108. package/fesm2022/lucca-front-ng-listbox.mjs +10 -15
  109. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-listing.mjs +8 -8
  111. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  112. package/fesm2022/lucca-front-ng-loading.mjs +4 -9
  113. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  114. package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
  115. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -4
  116. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-modal.mjs +36 -40
  118. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-multi-select.mjs +174 -203
  120. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  122. package/fesm2022/lucca-front-ng-number-format.mjs +22 -25
  123. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  124. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  125. package/fesm2022/lucca-front-ng-numeric-badge.mjs +4 -9
  126. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-option.mjs +159 -162
  128. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
  130. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-pagination.mjs +5 -10
  132. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-plg-push.mjs +5 -5
  134. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-popover.mjs +144 -255
  136. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-popover2.mjs +41 -69
  138. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-popup.mjs +11 -11
  140. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-progress-bar.mjs +4 -9
  142. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-progress-stepper.mjs +7 -12
  144. package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
  145. package/fesm2022/lucca-front-ng-read-more.mjs +5 -10
  146. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-resource-card.mjs +13 -19
  148. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  150. package/fesm2022/lucca-front-ng-scroll-box.mjs +3 -3
  151. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  152. package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
  153. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  154. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +8 -14
  155. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  156. package/fesm2022/lucca-front-ng-segmented-control.mjs +6 -6
  157. package/fesm2022/lucca-front-ng-select.mjs +92 -138
  158. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  159. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  160. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  161. package/fesm2022/lucca-front-ng-simple-select.mjs +43 -41
  162. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  163. package/fesm2022/lucca-front-ng-skeleton.mjs +28 -50
  164. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  165. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
  166. package/fesm2022/lucca-front-ng-software-icon.mjs +25 -29
  167. package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
  168. package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
  169. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  170. package/fesm2022/lucca-front-ng-status-badge.mjs +4 -9
  171. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  172. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  173. package/fesm2022/lucca-front-ng-tag.mjs +5 -10
  174. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  175. package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
  176. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  177. package/fesm2022/lucca-front-ng-time.mjs +68 -316
  178. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  179. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  180. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  181. package/fesm2022/lucca-front-ng-toast.mjs +11 -11
  182. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  183. package/fesm2022/lucca-front-ng-tooltip.mjs +17 -17
  184. package/fesm2022/lucca-front-ng-tree-select.mjs +17 -16
  185. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  186. package/fesm2022/lucca-front-ng-user-popover.mjs +27 -32
  187. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  188. package/fesm2022/lucca-front-ng-user.mjs +139 -195
  189. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  190. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
  191. package/package.json +5 -13
  192. package/schematics/lib/local-deps/package-lock.json +79 -17
  193. package/schematics/lib/local-deps/package.json +1 -1
  194. package/schematics/palettes/index.js +1 -12
  195. package/src/components/_picker.scss +1 -2
  196. package/types/lucca-front-ng-activity-feed.d.ts +1 -8
  197. package/types/lucca-front-ng-api.d.ts +75 -81
  198. package/types/lucca-front-ng-bubble-icon.d.ts +1 -10
  199. package/types/lucca-front-ng-bubble-illustration.d.ts +4 -10
  200. package/types/lucca-front-ng-callout.d.ts +12 -20
  201. package/types/lucca-front-ng-chip.d.ts +1 -10
  202. package/types/lucca-front-ng-clear.d.ts +6 -11
  203. package/types/lucca-front-ng-color.d.ts +1 -8
  204. package/types/lucca-front-ng-comment.d.ts +1 -8
  205. package/types/lucca-front-ng-container.d.ts +1 -8
  206. package/types/lucca-front-ng-core-select-api.d.ts +28 -28
  207. package/types/lucca-front-ng-core-select-department.d.ts +10 -10
  208. package/types/lucca-front-ng-core-select-establishment.d.ts +12 -12
  209. package/types/lucca-front-ng-core-select-job-qualification.d.ts +6 -6
  210. package/types/lucca-front-ng-core-select-occupation-category.d.ts +6 -6
  211. package/types/lucca-front-ng-core-select-user.d.ts +20 -21
  212. package/types/lucca-front-ng-core-select.d.ts +186 -185
  213. package/types/lucca-front-ng-core.d.ts +16 -10
  214. package/types/lucca-front-ng-data-table.d.ts +41 -52
  215. package/types/lucca-front-ng-date.d.ts +30 -28
  216. package/types/lucca-front-ng-date2.d.ts +98 -106
  217. package/types/lucca-front-ng-department.d.ts +2 -2
  218. package/types/lucca-front-ng-dialog.d.ts +13 -13
  219. package/types/lucca-front-ng-divider.d.ts +2 -9
  220. package/types/lucca-front-ng-dropdown.d.ts +5 -4
  221. package/types/lucca-front-ng-empty-state.d.ts +7 -15
  222. package/types/lucca-front-ng-error-page.d.ts +4 -9
  223. package/types/lucca-front-ng-establishment.d.ts +26 -27
  224. package/types/lucca-front-ng-fancy-box.d.ts +1 -8
  225. package/types/lucca-front-ng-file-upload.d.ts +24 -39
  226. package/types/lucca-front-ng-filter-pills.d.ts +37 -32
  227. package/types/lucca-front-ng-footer.d.ts +2 -11
  228. package/types/lucca-front-ng-form-field.d.ts +27 -45
  229. package/types/lucca-front-ng-form-header.d.ts +1 -8
  230. package/types/lucca-front-ng-form-label.d.ts +1 -8
  231. package/types/lucca-front-ng-form.d.ts +0 -2
  232. package/types/lucca-front-ng-forms-phone-number-input.d.ts +19 -26
  233. package/types/lucca-front-ng-forms-rich-text-input.d.ts +15 -14
  234. package/types/lucca-front-ng-forms.d.ts +54 -95
  235. package/types/lucca-front-ng-grid.d.ts +8 -23
  236. package/types/lucca-front-ng-highlight-data.d.ts +1 -16
  237. package/types/lucca-front-ng-horizontal-navigation.d.ts +3 -40
  238. package/types/lucca-front-ng-index-table.d.ts +40 -49
  239. package/types/lucca-front-ng-inline-message.d.ts +4 -11
  240. package/types/lucca-front-ng-input.d.ts +8 -8
  241. package/types/lucca-front-ng-link.d.ts +4 -4
  242. package/types/lucca-front-ng-listbox.d.ts +1 -8
  243. package/types/lucca-front-ng-loading.d.ts +1 -8
  244. package/types/lucca-front-ng-mobile-push.d.ts +1 -1
  245. package/types/lucca-front-ng-modal.d.ts +12 -12
  246. package/types/lucca-front-ng-multi-select.d.ts +55 -58
  247. package/types/lucca-front-ng-number-format.d.ts +2 -2
  248. package/types/lucca-front-ng-numeric-badge.d.ts +1 -8
  249. package/types/lucca-front-ng-option.d.ts +26 -26
  250. package/types/lucca-front-ng-page-header.d.ts +1 -1
  251. package/types/lucca-front-ng-pagination.d.ts +1 -8
  252. package/types/lucca-front-ng-popover.d.ts +53 -47
  253. package/types/lucca-front-ng-popover2.d.ts +33 -31
  254. package/types/lucca-front-ng-popup.d.ts +8 -8
  255. package/types/lucca-front-ng-progress-bar.d.ts +1 -8
  256. package/types/lucca-front-ng-progress-stepper.d.ts +1 -8
  257. package/types/lucca-front-ng-read-more.d.ts +7 -14
  258. package/types/lucca-front-ng-resource-card.d.ts +1 -10
  259. package/types/lucca-front-ng-scroll-box.d.ts +3 -3
  260. package/types/lucca-front-ng-segmented-control-tabs.d.ts +1 -3
  261. package/types/lucca-front-ng-segmented-control.d.ts +2 -4
  262. package/types/lucca-front-ng-select.d.ts +34 -32
  263. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  264. package/types/lucca-front-ng-simple-select.d.ts +16 -17
  265. package/types/lucca-front-ng-skeleton.d.ts +10 -26
  266. package/types/lucca-front-ng-software-icon.d.ts +5 -10
  267. package/types/lucca-front-ng-sortable-list.d.ts +8 -8
  268. package/types/lucca-front-ng-status-badge.d.ts +1 -8
  269. package/types/lucca-front-ng-tag.d.ts +1 -8
  270. package/types/lucca-front-ng-time.d.ts +25 -103
  271. package/types/lucca-front-ng-title.d.ts +5 -5
  272. package/types/lucca-front-ng-toast.d.ts +1 -1
  273. package/types/lucca-front-ng-tree-select.d.ts +11 -11
  274. package/types/lucca-front-ng-user-popover.d.ts +10 -9
  275. package/types/lucca-front-ng-user.d.ts +31 -45
  276. package/fesm2022/lucca-front-ng-highlight-text.mjs +0 -26
  277. package/fesm2022/lucca-front-ng-highlight-text.mjs.map +0 -1
  278. package/fesm2022/lucca-front-ng-impersonation.mjs +0 -119
  279. package/fesm2022/lucca-front-ng-impersonation.mjs.map +0 -1
  280. package/schematics/package.json +0 -3
  281. package/types/lucca-front-ng-highlight-text.d.ts +0 -12
  282. package/types/lucca-front-ng-impersonation.d.ts +0 -33
@@ -283,10 +283,10 @@ class LuNativeDateAdapter extends ALuDateAdapter {
283
283
  }
284
284
  return this.forge(year, month, date);
285
285
  }
286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuNativeDateAdapter, deps: [{ token: LOCALE_ID }, { token: LU_NATIVE_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
287
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuNativeDateAdapter }); }
286
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuNativeDateAdapter, deps: [{ token: LOCALE_ID }, { token: LU_NATIVE_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
287
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuNativeDateAdapter }); }
288
288
  }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuNativeDateAdapter, decorators: [{
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuNativeDateAdapter, decorators: [{
290
290
  type: Injectable
291
291
  }], ctorParameters: () => [{ type: undefined, decorators: [{
292
292
  type: Inject,
@@ -308,10 +308,10 @@ class LuStringDateAdapter extends ALuDateAdapter {
308
308
  });
309
309
  }
310
310
  forge(year, month, date) {
311
- return this.dateToString(this._nativeAdapter.forge(year, month, date));
311
+ return this.dateToString(this._nativeAdapter.forge(year, month, date)) ?? '';
312
312
  }
313
313
  forgeToday() {
314
- return this.dateToString(this._nativeAdapter.forgeToday());
314
+ return this.dateToString(this._nativeAdapter.forgeToday()) ?? '';
315
315
  }
316
316
  forgeInvalid() {
317
317
  return 'Invalid Date';
@@ -328,7 +328,7 @@ class LuStringDateAdapter extends ALuDateAdapter {
328
328
  return this._nativeAdapter.isParsable(text);
329
329
  }
330
330
  parse(text, granularity) {
331
- return this.dateToString(this._nativeAdapter.parse(text, granularity));
331
+ return this.dateToString(this._nativeAdapter.parse(text, granularity)) ?? '';
332
332
  }
333
333
  format(d, format) {
334
334
  return this._nativeAdapter.format(this.stringToDate(d), format);
@@ -349,7 +349,7 @@ class LuStringDateAdapter extends ALuDateAdapter {
349
349
  return this._nativeAdapter.getDay(this.stringToDate(d));
350
350
  }
351
351
  add(d, count, granularity) {
352
- return this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity));
352
+ return this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity)) ?? '';
353
353
  }
354
354
  stringToDate(s) {
355
355
  return new Date(`${s}T00:00:00Z`);
@@ -357,7 +357,7 @@ class LuStringDateAdapter extends ALuDateAdapter {
357
357
  dateToString(d) {
358
358
  let result;
359
359
  if (d === undefined) {
360
- result = undefined;
360
+ return undefined;
361
361
  }
362
362
  else if (!this._nativeAdapter.isValid(d)) {
363
363
  result = this.forgeInvalid();
@@ -367,10 +367,10 @@ class LuStringDateAdapter extends ALuDateAdapter {
367
367
  }
368
368
  return result;
369
369
  }
370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuStringDateAdapter, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
371
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuStringDateAdapter }); }
370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuStringDateAdapter, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
371
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuStringDateAdapter }); }
372
372
  }
373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuStringDateAdapter, decorators: [{
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuStringDateAdapter, decorators: [{
374
374
  type: Injectable
375
375
  }], ctorParameters: () => [{ type: undefined, decorators: [{
376
376
  type: Inject,
@@ -397,6 +397,11 @@ function generateId() {
397
397
 
398
398
  const isNil = (value) => typeof value === 'undefined' || value === null;
399
399
  const isNotNil = (value) => !isNil(value);
400
+ function assertNotNil(input, errorMessage = '[assertNotNil] Unexpected null or undefined value.') {
401
+ if (isNil(input)) {
402
+ throw new Error(errorMessage);
403
+ }
404
+ }
400
405
  const isNilOrEmptyString = (str) => isNil(str) || str === '';
401
406
  const isNotNilOrEmptyString = (str) => !isNilOrEmptyString(str);
402
407
 
@@ -500,10 +505,10 @@ class PortalDirective {
500
505
  static ngTemplateContextGuard(_dir, _ctx) {
501
506
  return true;
502
507
  }
503
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: PortalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
504
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.15", type: PortalDirective, isStandalone: true, selector: "[luPortal]", inputs: { luPortal: { classPropertyName: "luPortal", publicName: "luPortal", isSignal: true, isRequired: true, transformFunction: null }, luPortalContext: { classPropertyName: "luPortalContext", publicName: "luPortalContext", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
508
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PortalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
509
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: PortalDirective, isStandalone: true, selector: "[luPortal]", inputs: { luPortal: { classPropertyName: "luPortal", publicName: "luPortal", isSignal: true, isRequired: true, transformFunction: null }, luPortalContext: { classPropertyName: "luPortalContext", publicName: "luPortalContext", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
505
510
  }
506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: PortalDirective, decorators: [{
511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PortalDirective, decorators: [{
507
512
  type: Directive,
508
513
  args: [{
509
514
  selector: '[luPortal]',
@@ -526,6 +531,17 @@ function ɵeffectWithDeps(dependencies, action, options) {
526
531
  untracked(() => action(...deps, onCleanup));
527
532
  }, options);
528
533
  }
534
+ /**
535
+ * Utilitaire pour synchroniser un input signal avec une props via un setter.
536
+ * Évite la répétition des ɵeffectWithDeps + isNotNil.
537
+ */
538
+ function syncInputSignal(signal, setter) {
539
+ ɵeffectWithDeps([signal], (value) => {
540
+ if (isNotNil(value)) {
541
+ setter(value);
542
+ }
543
+ });
544
+ }
529
545
  function readTupleOfSignalValues(signals) {
530
546
  return signals.map((signal) => signal());
531
547
  }
@@ -568,10 +584,10 @@ class IntlParamsPipe {
568
584
  return args[key]?.toString() ?? base;
569
585
  });
570
586
  }
571
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: IntlParamsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
572
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.15", ngImport: i0, type: IntlParamsPipe, isStandalone: true, name: "intlParams" }); }
587
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: IntlParamsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
588
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: IntlParamsPipe, isStandalone: true, name: "intlParams" }); }
573
589
  }
574
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: IntlParamsPipe, decorators: [{
590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: IntlParamsPipe, decorators: [{
575
591
  type: Pipe,
576
592
  args: [{
577
593
  name: 'intlParams',
@@ -582,10 +598,10 @@ class LuTypeGuardPipe {
582
598
  transform(obj, typeGuardFn) {
583
599
  return typeGuardFn(obj);
584
600
  }
585
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuTypeGuardPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
586
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.15", ngImport: i0, type: LuTypeGuardPipe, isStandalone: true, name: "luTypeGuard" }); }
601
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTypeGuardPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
602
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: LuTypeGuardPipe, isStandalone: true, name: "luTypeGuard" }); }
587
603
  }
588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: LuTypeGuardPipe, decorators: [{
604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTypeGuardPipe, decorators: [{
589
605
  type: Pipe,
590
606
  args: [{
591
607
  name: 'luTypeGuard',
@@ -614,5 +630,5 @@ const defaultBreakpoints = {
614
630
  * Generated bundle index. Do not edit.
615
631
  */
616
632
 
617
- export { ALuDateAdapter, ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ELuDateGranularity, IntlParamsPipe, LU_NATIVE_DATE_ADAPTER_OPTIONS, LuNativeDateAdapter, LuStringDateAdapter, LuTypeGuardPipe, PORTAL_CONTEXT, PortalDirective, defaultBreakpoints, generateId, getIntl, intlInputOptions, isNil, isNilOrEmptyString, isNotNil, isNotNilOrEmptyString, isRouterLinkParam, luDefaultNativeDateAdapterOptions, ɵeffectWithDeps };
633
+ export { ALuDateAdapter, ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ELuDateGranularity, IntlParamsPipe, LU_NATIVE_DATE_ADAPTER_OPTIONS, LuNativeDateAdapter, LuStringDateAdapter, LuTypeGuardPipe, PORTAL_CONTEXT, PortalDirective, assertNotNil, defaultBreakpoints, generateId, getIntl, intlInputOptions, isNil, isNilOrEmptyString, isNotNil, isNotNilOrEmptyString, isRouterLinkParam, luDefaultNativeDateAdapterOptions, syncInputSignal, ɵeffectWithDeps };
618
634
  //# sourceMappingURL=lucca-front-ng-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core.mjs","sources":["../../../packages/ng/core/date/date-granularity.enum.ts","../../../packages/ng/core/date/date-adapter.class.ts","../../../packages/ng/core/date/native/native-date.option.ts","../../../packages/ng/core/date/native/native-date.adapter.ts","../../../packages/ng/core/date/string/string-date.adapter.ts","../../../packages/ng/core/event/on-close.subscriber.ts","../../../packages/ng/core/event/on-open.subscriber.ts","../../../packages/ng/core/event/on-scroll-bottom.subscriber.ts","../../../packages/ng/core/id/id.generator.ts","../../../packages/ng/core/misc.ts","../../../packages/ng/core/portal/portal-content.ts","../../../packages/ng/core/portal/portal.directive.ts","../../../packages/ng/core/route/route.utils.ts","../../../packages/ng/core/signal.ts","../../../packages/ng/core/translate/intl.model.ts","../../../packages/ng/core/translate/intl-params.pipe.ts","../../../packages/ng/core/type/pipe.ts","../../../packages/ng/core/type/responsive.ts","../../../packages/ng/core/lucca-front-ng-core.ts"],"sourcesContent":["import { EnumValue } from '../type';\n\nexport enum ELuDateGranularity {\n\tday = 'day',\n\tmonth = 'month',\n\tyear = 'year',\n\tdecade = 'decade',\n}\n\nexport type LuDateGranularity = EnumValue<ELuDateGranularity>;\n","import { ILuDateAdapter } from './date-adapter.interface';\nimport { ELuDateGranularity, LuDateGranularity } from './date-granularity.enum';\n\nexport abstract class ALuDateAdapter<D> implements ILuDateAdapter<D> {\n\tabstract forge(year: number, month: number, date: number): D;\n\tabstract forgeToday(): D;\n\tabstract forgeInvalid(): D;\n\tabstract isValid(d: D): boolean;\n\tcompare(a: D, b: D, granularity: LuDateGranularity): number {\n\t\tif (!a || !b || !this.isValid(a) || !this.isValid(b)) {\n\t\t\tthrow new Error('you must provide valid and not null dates to be compared');\n\t\t}\n\t\tconst aDecade = Math.floor(this.getYear(a) / 10);\n\t\tconst bDecade = Math.floor(this.getYear(b) / 10);\n\t\tif (aDecade < bDecade) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDecade > bDecade) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.decade) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aYear = this.getYear(a);\n\t\tconst bYear = this.getYear(b);\n\t\tif (aYear < bYear) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aYear > bYear) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.year) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aMonth = this.getMonth(a);\n\t\tconst bMonth = this.getMonth(b);\n\t\tif (aMonth < bMonth) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aMonth > bMonth) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.month) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aDate = this.getDate(a);\n\t\tconst bDate = this.getDate(b);\n\t\tif (aDate < bDate) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDate > bDate) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.day) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn 0;\n\t}\n\tabstract isParsable(text: string, granularity?: LuDateGranularity): boolean;\n\tabstract parse(text: string, granularity?: LuDateGranularity): D;\n\tabstract format(d: D, format: string): string;\n\tabstract clone(d: D): D;\n\n\tabstract getYear(d: D): number;\n\tabstract getMonth(d: D): number;\n\tabstract getDate(d: D): number;\n\tabstract getDay(d: D): number;\n\n\tabstract add(d: D, count: number, granularity: LuDateGranularity): D;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ILuNativeDateAdapterOptions {\n\tuseUtc?: boolean;\n}\nexport const luDefaultNativeDateAdapterOptions: ILuNativeDateAdapterOptions = {\n\tuseUtc: false,\n};\nexport const LU_NATIVE_DATE_ADAPTER_OPTIONS = new InjectionToken<ILuNativeDateAdapterOptions>('Native date adapter options');\n","import { formatDate, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID, Optional } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { ELuDateGranularity, LuDateGranularity } from '../date-granularity.enum';\nimport { ILuNativeDateAdapterOptions, LU_NATIVE_DATE_ADAPTER_OPTIONS, luDefaultNativeDateAdapterOptions } from './native-date.option';\n\n@Injectable()\nexport class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDateAdapter<Date> {\n\tprivate _regex = /[/,.\\-\\s]/i;\n\tprivate _order = {\n\t\tdate: 0,\n\t\tmonth: 1,\n\t\tyear: 2,\n\t};\n\tconstructor(\n\t\t@Inject(LOCALE_ID) private _locale: string,\n\t\t@Inject(LU_NATIVE_DATE_ADAPTER_OPTIONS)\n\t\t@Optional()\n\t\tprivate _options: ILuNativeDateAdapterOptions,\n\t) {\n\t\tsuper();\n\t\tthis._options = this._options || luDefaultNativeDateAdapterOptions;\n\t\tthis.initOrder();\n\t}\n\tprivate initOrder() {\n\t\tconst format = getLocaleDateFormat(this._locale, FormatWidth.Short);\n\t\tconst groups = format.split(this._regex);\n\t\tgroups.forEach((g, i) => {\n\t\t\tif (g.indexOf('d') !== -1) {\n\t\t\t\tthis._order.date = i;\n\t\t\t}\n\t\t\tif (g.indexOf('M') !== -1) {\n\t\t\t\tthis._order.month = i;\n\t\t\t}\n\t\t\tif (g.indexOf('y') !== -1) {\n\t\t\t\tthis._order.year = i;\n\t\t\t}\n\t\t});\n\t}\n\tprivate extract(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): { date: number; month: number; year: number } {\n\t\tconst groups = text.split(this._regex);\n\t\tlet date = 1,\n\t\t\tmonth = 1,\n\t\t\tyear = 1;\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 2, 0)], 10);\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth = parseInt(groups[Math.max(this._order.month - 1, 0)], 10);\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 1, 0)], 10) || new Date().getFullYear();\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\tdefault:\n\t\t\t\tdate = parseInt(groups[this._order.date], 10);\n\t\t\t\tmonth = parseInt(groups[this._order.month], 10);\n\t\t\t\tyear = parseInt(groups[this._order.year], 10) || new Date().getFullYear();\n\t\t}\n\t\treturn { date, month, year };\n\t}\n\tisParsable(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): boolean {\n\t\tif (!text) {\n\t\t\treturn false;\n\t\t}\n\t\tconst groups = text.split(this._regex);\n\t\tconst dayTextInvalid = granularity === ELuDateGranularity.day && groups.length !== 3;\n\t\tconst monthTextInvalid = granularity === ELuDateGranularity.month && groups.length !== 2;\n\t\tconst yearTextInvalid = granularity === ELuDateGranularity.year && groups.length !== 1;\n\t\tif (dayTextInvalid || monthTextInvalid || yearTextInvalid) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\t\t// When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends\n\t\t\tif (year >= 10_000) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet d: Date;\n\t\t\tif (this._options.useUtc) {\n\t\t\t\td = new Date(Date.UTC(year, month - 1, date));\n\t\t\t} else {\n\t\t\t\td = new Date(year, month - 1, date);\n\t\t\t}\n\t\t\t// checking if its a valid date\n\t\t\t// https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\n\t\t\tif (!(d instanceof Date)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (isNaN(d.getTime())) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// d is a valid date, but\n\t\t\t// as i can write new Date(1234, 56, 78) and mr javascript accepts it\n\t\t\t// i check now that the generated date has the same year/month/date as what i entered\n\t\t\tif (this._options.useUtc) {\n\t\t\t\tif (d.getUTCFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (d.getFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\tparse(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): Date {\n\t\tif (!text) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!this.isParsable(text, granularity)) {\n\t\t\treturn this.forgeInvalid();\n\t\t}\n\n\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\treturn this.forge(year, month, date);\n\t}\n\tformat(d: Date, format: string): string {\n\t\tif (this._options.useUtc) {\n\t\t\treturn formatDate(d, format, this._locale, 'UTC');\n\t\t} else {\n\t\t\treturn formatDate(d, format, this._locale);\n\t\t}\n\t}\n\tforge(year: number, month: number, date: number): Date {\n\t\tif (this._options.useUtc) {\n\t\t\treturn new Date(Date.UTC(year, month - 1, date)); // month-1 cuz 0 -> january\n\t\t} else {\n\t\t\treturn new Date(year, month - 1, date); // month-1 cuz 0 -> january\n\t\t}\n\t}\n\tforgeToday(): Date {\n\t\tif (this._options.useUtc) {\n\t\t\tconst nonUTCToday = new Date();\n\t\t\treturn new Date(Date.UTC(nonUTCToday.getFullYear(), nonUTCToday.getMonth(), nonUTCToday.getDate()));\n\t\t} else {\n\t\t\tconst today = new Date();\n\t\t\treturn new Date(today.getFullYear(), today.getMonth(), today.getDate());\n\t\t}\n\t}\n\tforgeInvalid(): Date {\n\t\treturn new Date('Invalid Date');\n\t}\n\tisValid(d: Date): boolean {\n\t\tif (!(d instanceof Date)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isNaN(d.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tclone(d: Date): Date {\n\t\treturn new Date(d);\n\t}\n\n\tgetYear(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCFullYear();\n\t\t} else {\n\t\t\treturn d.getFullYear();\n\t\t}\n\t}\n\tgetMonth(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCMonth() + 1;\n\t\t} else {\n\t\t\treturn d.getMonth() + 1;\n\t\t}\n\t}\n\tgetDate(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDate();\n\t\t} else {\n\t\t\treturn d.getDate();\n\t\t}\n\t}\n\tgetDay(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDay();\n\t\t} else {\n\t\t\treturn d.getDay();\n\t\t}\n\t}\n\n\tadd(d: Date, count: number, granularity: LuDateGranularity): Date {\n\t\tlet year = this.getYear(d);\n\t\tlet month = this.getMonth(d);\n\t\tlet date = this.getDate(d);\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.decade:\n\t\t\t\tyear += 10 * count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\t\tdate += count;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn this.forge(year, month, date);\n\t}\n}\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { LuDateGranularity } from '../date-granularity.enum';\nimport { LuNativeDateAdapter } from '../native/index';\n\n/** bind to a string with iso 26001 format YYYY-MM-DD */\n@Injectable()\nexport class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuDateAdapter<string> {\n\t// i'm going to implement this by doing some inheritance by composition\n\t// i'll just use the native date adapter and just parse/format to interface it with a string\n\n\tprivate _nativeAdapter: LuNativeDateAdapter;\n\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {\n\t\tsuper();\n\t\tthis._nativeAdapter = new LuNativeDateAdapter(this._locale, {\n\t\t\tuseUtc: true,\n\t\t});\n\t}\n\n\tforge(year: number, month: number, date: number): string {\n\t\treturn this.dateToString(this._nativeAdapter.forge(year, month, date));\n\t}\n\n\tforgeToday(): string {\n\t\treturn this.dateToString(this._nativeAdapter.forgeToday());\n\t}\n\n\tforgeInvalid(): string {\n\t\treturn 'Invalid Date';\n\t}\n\n\tisValid(d: string): boolean {\n\t\treturn this._nativeAdapter.isValid(this.stringToDate(d));\n\t}\n\n\toverride compare(a: string, b: string, granularity: LuDateGranularity): number {\n\t\tconst da = this.stringToDate(a);\n\t\tconst db = this.stringToDate(b);\n\n\t\treturn this._nativeAdapter.compare(da, db, granularity);\n\t}\n\n\tisParsable(text: string): boolean {\n\t\treturn this._nativeAdapter.isParsable(text);\n\t}\n\n\tparse(text: string, granularity: LuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.parse(text, granularity));\n\t}\n\n\tformat(d: string, format: string): string {\n\t\treturn this._nativeAdapter.format(this.stringToDate(d), format);\n\t}\n\n\tclone(d: string): string {\n\t\treturn `${d}`;\n\t}\n\n\tgetYear(d: string): number {\n\t\treturn this._nativeAdapter.getYear(this.stringToDate(d));\n\t}\n\n\tgetMonth(d: string): number {\n\t\treturn this._nativeAdapter.getMonth(this.stringToDate(d));\n\t}\n\n\tgetDate(d: string): number {\n\t\treturn this._nativeAdapter.getDate(this.stringToDate(d));\n\t}\n\n\tgetDay(d: string): number {\n\t\treturn this._nativeAdapter.getDay(this.stringToDate(d));\n\t}\n\n\tadd(d: string, count: number, granularity: LuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity));\n\t}\n\n\tprotected stringToDate(s: string): Date {\n\t\treturn new Date(`${s}T00:00:00Z`);\n\t}\n\n\tprotected dateToString(d: Date): string {\n\t\tlet result: string;\n\n\t\tif (d === undefined) {\n\t\t\tresult = undefined;\n\t\t} else if (!this._nativeAdapter.isValid(d)) {\n\t\t\tresult = this.forgeInvalid();\n\t\t} else {\n\t\t\tresult = d.toISOString().substring(0, 10);\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","export interface ILuOnCloseSubscriber {\n\tonClose(): void;\n}\nexport abstract class ALuOnCloseSubscriber implements ILuOnCloseSubscriber {\n\tabstract onClose(): void;\n}\n","export interface ILuOnOpenSubscriber {\n\tonOpen(): void;\n}\nexport abstract class ALuOnOpenSubscriber implements ILuOnOpenSubscriber {\n\tabstract onOpen(): void;\n}\n","export interface ILuOnScrollBottomSubscriber {\n\tonScrollBottom(): void;\n}\nexport abstract class ALuOnScrollBottomSubscriber implements ILuOnScrollBottomSubscriber {\n\tabstract onScrollBottom(): void;\n}\n","const ID_LENGTH = 8;\nconst ID_BASE = 16;\nexport function generateId(): string {\n\treturn Array(ID_LENGTH)\n\t\t.fill(0)\n\t\t.map(() => Math.floor(Math.random() * ID_BASE).toString(ID_BASE))\n\t\t.join('');\n}\n","type Nil = null | undefined;\n\nexport const isNil = <T>(value: T | Nil): value is Nil => typeof value === 'undefined' || value === null;\n\nexport const isNotNil = <T>(value: T): value is NonNullable<T> => !isNil(value);\n\nexport const isNilOrEmptyString = (str: string | Nil): str is Nil | '' => isNil(str) || str === '';\n\nexport const isNotNilOrEmptyString = (str: string | Nil): str is string => !isNilOrEmptyString(str);\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\n\nexport type PortalContent<T = unknown> = string | TemplateRef<T> | Type<unknown>;\n\nexport const PORTAL_CONTEXT = new InjectionToken<unknown>('PORTAL_CONTEXT');\n","import { ComponentRef, Directive, effect, EmbeddedViewRef, inject, Injector, input, OnDestroy, Renderer2, TemplateRef, untracked, ViewContainerRef } from '@angular/core';\nimport { PORTAL_CONTEXT, PortalContent } from './portal-content';\n\n@Directive({\n\tselector: '[luPortal]',\n})\nexport class PortalDirective<T = unknown> implements OnDestroy {\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate renderer = inject(Renderer2);\n\tprivate templateRef = inject(TemplateRef);\n\tprivate injector = inject(Injector);\n\n\tluPortal = input.required<PortalContent<T>>();\n\n\tluPortalContext = input<T | null>(null);\n\n\tprivate createdTextElement: Text | null = null;\n\tprivate embeddedViewRef?: EmbeddedViewRef<T>;\n\tprivate componentRef?: ComponentRef<unknown>;\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst portal = this.luPortal();\n\t\t\tuntracked(() => {\n\t\t\t\tif (portal) {\n\t\t\t\t\tthis.render(portal, this.luPortalContext());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\teffect(() => {\n\t\t\tconst ctx = this.luPortalContext();\n\t\t\tuntracked(() => {\n\t\t\t\tif (this.embeddedViewRef && ctx) {\n\t\t\t\t\tthis.updateEmbeddedViewContext(ctx);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate render(luPortal: PortalContent<T>, ctx: T | null): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.embeddedViewRef = undefined;\n\t\tthis.componentRef = undefined;\n\n\t\tif (typeof luPortal !== 'string') {\n\t\t\tthis.destroyRenderedText();\n\t\t}\n\n\t\tif (!luPortal) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (luPortal instanceof TemplateRef) {\n\t\t\tconst context = Object.assign({}, ctx);\n\t\t\tthis.embeddedViewRef = this.viewContainerRef.createEmbeddedView<T>(luPortal, context, { injector: this.injector });\n\t\t} else if (typeof luPortal === 'string') {\n\t\t\tthis.renderText(luPortal);\n\t\t} else {\n\t\t\tconst injector = Injector.create({\n\t\t\t\tparent: this.injector,\n\t\t\t\tproviders: [{ provide: PORTAL_CONTEXT, useValue: ctx }],\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tthis.componentRef = this.viewContainerRef.createComponent(luPortal, { injector });\n\t\t\t\tthis.componentRef.changeDetectorRef.detectChanges();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e);\n\t\t\t\tthrow new Error('[LuPortal] Angular failed to create component, make sure you are not giving LuPortal an Object that is not a Type<>');\n\t\t\t}\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyRenderedText();\n\t\tthis.embeddedViewRef?.destroy();\n\t\tthis.componentRef?.destroy();\n\t}\n\n\tprivate renderText(text: string): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.createdTextElement.textContent = text;\n\t\t} else {\n\t\t\tconst ref = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tconst container: HTMLElement = ref.rootNodes[0] as HTMLElement;\n\t\t\tconst parent = container.parentElement;\n\t\t\tthis.createdTextElement = document.createTextNode(text);\n\t\t\tthis.renderer.insertBefore(parent, this.createdTextElement, container);\n\t\t}\n\t}\n\n\tprivate destroyRenderedText(): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.renderer.removeChild(this.createdTextElement.parentNode, this.createdTextElement);\n\t\t\tthis.createdTextElement = null;\n\t\t}\n\t}\n\n\t/**\n\t * Embeded view context should not be overwritten, but updated.\n\t * @see https://github.com/angular/angular/pull/51887\n\t */\n\tprivate updateEmbeddedViewContext(context: T): void {\n\t\tif (this.embeddedViewRef) {\n\t\t\tconst props = Object.keys(context);\n\n\t\t\tfor (const prop of props) {\n\t\t\t\tdelete this.embeddedViewRef.context[prop];\n\t\t\t}\n\n\t\t\tObject.assign(this.embeddedViewRef.context, context);\n\t\t\tthis.embeddedViewRef.detectChanges();\n\t\t}\n\t}\n\n\tpublic static ngTemplateContextGuard<T>(_dir: PortalDirective<T>, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n","import { UrlTree } from '@angular/router';\nimport { isNotNil } from '../misc';\nimport { RouterLinkParam } from './route.model';\n\n// Check routerLinkParam is a RouterLinkParam object typed\nexport function isRouterLinkParam(routerLinkParam: RouterLinkParam | string | readonly string[] | UrlTree | null | undefined): routerLinkParam is RouterLinkParam {\n\treturn isNotNil(routerLinkParam) && typeof routerLinkParam === 'object' && 'commands' in routerLinkParam;\n}\n","import { CreateEffectOptions, effect, EffectCleanupRegisterFn, EffectRef, Signal, untracked } from '@angular/core';\n\ntype SignalsValue<T> = T extends readonly unknown[] ? TupleOfSignalValues<T> : [RecordOfSignalValues<T>];\n\ntype TupleOfSignalValues<T> = T extends readonly [Signal<infer U>, ...infer R] ? [U, ...TupleOfSignalValues<R>] : [];\ntype RecordOfSignalValues<T> = { [K in keyof T]: T[K] extends Signal<infer U> ? U : never };\n\nexport type EffectWithDepsInput = ReadonlyArray<Signal<unknown>> | Record<string, Signal<unknown>>;\n\n/**\n * Effect peut être dangereux car l'action accomplie peut elle-même déclencher des écritures dans des signaux.\n * C'est une mauvaise pratique, interdite par défaut par Angular.\n * La plupart du temps, seule la lecture des signaux est intéressante à tracker, pas les actions qui en découlent.\n */\nexport function ɵeffectWithDeps<const T extends EffectWithDepsInput>(\n\tdependencies: T,\n\taction: (...values: [...SignalsValue<T>, EffectCleanupRegisterFn]) => unknown,\n\toptions?: CreateEffectOptions,\n): EffectRef {\n\treturn effect((onCleanup) => {\n\t\tconst deps = isReadonlyArray(dependencies) ? readTupleOfSignalValues(dependencies) : [readRecordOfSignalValues(dependencies)];\n\n\t\tuntracked(() => action(...(deps as SignalsValue<T>), onCleanup));\n\t}, options);\n}\n\nfunction readTupleOfSignalValues<T extends readonly Signal<unknown>[]>(signals: T): TupleOfSignalValues<T> {\n\treturn signals.map((signal) => signal()) as TupleOfSignalValues<T>;\n}\n\nfunction readRecordOfSignalValues<T extends Record<string, Signal<unknown>>>(signals: T): RecordOfSignalValues<T> {\n\treturn Object.fromEntries(Object.entries(signals).map(([key, signal]) => [key, signal()])) as RecordOfSignalValues<T>;\n}\n\nfunction isReadonlyArray(input: EffectWithDepsInput): input is ReadonlyArray<Signal<unknown>> {\n\treturn Array.isArray(input);\n}\n","import { inject, InjectionToken, InputOptionsWithTransform, LOCALE_ID } from '@angular/core';\nimport { ILuTranslation, LuTranslation } from './translation.model';\n\nexport function getIntl<T>(translationsToken: InjectionToken<LuTranslation<T>> | InjectionToken<ILuTranslation<T>>): T {\n\tconst locale = inject(LOCALE_ID);\n\tconst translations = inject(translationsToken);\n\n\tif (locale in translations) {\n\t\treturn translations[locale];\n\t}\n\n\tconst shortLocale = locale.substring(0, 2);\n\tif (shortLocale in translations) {\n\t\treturn translations[shortLocale];\n\t}\n\n\treturn translations['en'] ?? translations['en-GB'] ?? translations['en-US'];\n}\n\n/**\n * Creates configuration for an Angular signal input that supports internationalization with optional overrides.\n *\n * This function merges translations from one or more injection tokens and returns a tuple\n * compatible with Angular's `input()` function. Users can override specific translations\n * via the component's `[intl]` input while inheriting defaults from the provided tokens.\n *\n * @example\n * ```typescript\n * // In a component\n * intl = input(...intlInputOptions(LU_SOME_COMPONENT_TRANSLATIONS));\n *\n * // Usage in template\n * <lu-some-component [intl]=\"{ stuff: 'Some custom stuff' }\" />\n * ```\n *\n * @param tokens - One or more injection tokens containing locale-based translations\n * @returns A tuple of [defaultValue, inputOptions] to spread into Angular's `input()` function\n */\nexport function intlInputOptions<T1>(token1: InjectionToken<LuTranslation<T1>>): [T1, InputOptionsWithTransform<T1, Partial<T1>>];\nexport function intlInputOptions<T1, T2>(token1: InjectionToken<LuTranslation<T1>>, token2: InjectionToken<LuTranslation<T2>>): [T1 & T2, InputOptionsWithTransform<T1 & T2, Partial<T1 & T2>>];\nexport function intlInputOptions<T>(...tokens: InjectionToken<LuTranslation<T>>[]): [T, InputOptionsWithTransform<T, Partial<T>>] {\n\tconst base = tokens.reduce((acc, token) => ({ ...acc, ...getIntl(token) }), {} as T);\n\treturn [\n\t\tbase,\n\t\t{\n\t\t\ttransform: (patch: Partial<T>): T => ({\n\t\t\t\t...base,\n\t\t\t\t...patch,\n\t\t\t}),\n\t\t},\n\t];\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'intlParams',\n})\nexport class IntlParamsPipe implements PipeTransform {\n\t#matcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n\n\ttransform(value: string, args: Record<string, string | number>): string {\n\t\treturn value.replace(this.#matcher, (base, key: string) => {\n\t\t\treturn args[key]?.toString() ?? base;\n\t\t});\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'luTypeGuard',\n\tstandalone: true,\n})\nexport class LuTypeGuardPipe implements PipeTransform {\n\ttransform<T, U extends T>(obj: T, typeGuardFn: (arg: T) => arg is U): obj is U {\n\t\treturn typeGuardFn(obj);\n\t}\n}\n","export type At = 'media' | 'container';\nexport type Breakpoint = 'XXXS' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'XXXL';\n\n/**\n * Breakpoints in em, useful for media queries\n *\n * Equivalent of `$breakpoints` (from scss/src/commons/config.scss)\n */\nexport const defaultBreakpoints = {\n\tXXXS: `${320 / 16}em`,\n\tXXS: `${480 / 16}em`,\n\tXS: `${640 / 16}em`,\n\tS: `${800 / 16}em`,\n\tM: `${1024 / 16}em`,\n\tL: `${1280 / 16}em`,\n\tXL: `${1366 / 16}em`,\n\tXXL: `${1600 / 16}em`,\n\tXXXL: `${1920 / 16}em`,\n} as const satisfies Record<Breakpoint, `${number}em`>;\n\nexport type ResponsiveConfig<T extends string, V> = Partial<Record<ResponsiveProperty<T>, V>>;\nexport type ResponsiveProperty<T extends string> = `${T}At${Capitalize<At>}Min${Breakpoint}`;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core.mjs","sources":["../../../packages/ng/core/date/date-granularity.enum.ts","../../../packages/ng/core/date/date-adapter.class.ts","../../../packages/ng/core/date/native/native-date.option.ts","../../../packages/ng/core/date/native/native-date.adapter.ts","../../../packages/ng/core/date/string/string-date.adapter.ts","../../../packages/ng/core/event/on-close.subscriber.ts","../../../packages/ng/core/event/on-open.subscriber.ts","../../../packages/ng/core/event/on-scroll-bottom.subscriber.ts","../../../packages/ng/core/id/id.generator.ts","../../../packages/ng/core/misc.ts","../../../packages/ng/core/portal/portal-content.ts","../../../packages/ng/core/portal/portal.directive.ts","../../../packages/ng/core/route/route.utils.ts","../../../packages/ng/core/signal.ts","../../../packages/ng/core/translate/intl.model.ts","../../../packages/ng/core/translate/intl-params.pipe.ts","../../../packages/ng/core/type/pipe.ts","../../../packages/ng/core/type/responsive.ts","../../../packages/ng/core/lucca-front-ng-core.ts"],"sourcesContent":["import { EnumValue } from '../type';\n\nexport enum ELuDateGranularity {\n\tday = 'day',\n\tmonth = 'month',\n\tyear = 'year',\n\tdecade = 'decade',\n}\n\nexport type LuDateGranularity = EnumValue<ELuDateGranularity>;\n","import { ILuDateAdapter } from './date-adapter.interface';\nimport { ELuDateGranularity, LuDateGranularity } from './date-granularity.enum';\n\nexport abstract class ALuDateAdapter<D> implements ILuDateAdapter<D> {\n\tabstract forge(year: number, month: number, date: number): D;\n\tabstract forgeToday(): D;\n\tabstract forgeInvalid(): D;\n\tabstract isValid(d: D): boolean;\n\tcompare(a: D, b: D, granularity: LuDateGranularity): number {\n\t\tif (!a || !b || !this.isValid(a) || !this.isValid(b)) {\n\t\t\tthrow new Error('you must provide valid and not null dates to be compared');\n\t\t}\n\t\tconst aDecade = Math.floor(this.getYear(a) / 10);\n\t\tconst bDecade = Math.floor(this.getYear(b) / 10);\n\t\tif (aDecade < bDecade) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDecade > bDecade) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.decade) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aYear = this.getYear(a);\n\t\tconst bYear = this.getYear(b);\n\t\tif (aYear < bYear) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aYear > bYear) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.year) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aMonth = this.getMonth(a);\n\t\tconst bMonth = this.getMonth(b);\n\t\tif (aMonth < bMonth) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aMonth > bMonth) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.month) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aDate = this.getDate(a);\n\t\tconst bDate = this.getDate(b);\n\t\tif (aDate < bDate) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDate > bDate) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.day) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn 0;\n\t}\n\tabstract isParsable(text: string, granularity?: LuDateGranularity): boolean;\n\tabstract parse(text: string, granularity?: LuDateGranularity): D | undefined;\n\tabstract format(d: D, format: string): string;\n\tabstract clone(d: D): D;\n\n\tabstract getYear(d: D): number;\n\tabstract getMonth(d: D): number;\n\tabstract getDate(d: D): number;\n\tabstract getDay(d: D): number;\n\n\tabstract add(d: D, count: number, granularity: LuDateGranularity): D;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ILuNativeDateAdapterOptions {\n\tuseUtc?: boolean;\n}\nexport const luDefaultNativeDateAdapterOptions: ILuNativeDateAdapterOptions = {\n\tuseUtc: false,\n};\nexport const LU_NATIVE_DATE_ADAPTER_OPTIONS = new InjectionToken<ILuNativeDateAdapterOptions>('Native date adapter options');\n","import { formatDate, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID, Optional } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { ELuDateGranularity, LuDateGranularity } from '../date-granularity.enum';\nimport { ILuNativeDateAdapterOptions, LU_NATIVE_DATE_ADAPTER_OPTIONS, luDefaultNativeDateAdapterOptions } from './native-date.option';\n\n@Injectable()\nexport class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDateAdapter<Date> {\n\tprivate _regex = /[/,.\\-\\s]/i;\n\tprivate _order = {\n\t\tdate: 0,\n\t\tmonth: 1,\n\t\tyear: 2,\n\t};\n\tconstructor(\n\t\t@Inject(LOCALE_ID) private _locale: string,\n\t\t@Inject(LU_NATIVE_DATE_ADAPTER_OPTIONS)\n\t\t@Optional()\n\t\tprivate _options: ILuNativeDateAdapterOptions,\n\t) {\n\t\tsuper();\n\t\tthis._options = this._options || luDefaultNativeDateAdapterOptions;\n\t\tthis.initOrder();\n\t}\n\tprivate initOrder() {\n\t\tconst format = getLocaleDateFormat(this._locale, FormatWidth.Short);\n\t\tconst groups = format.split(this._regex);\n\t\tgroups.forEach((g, i) => {\n\t\t\tif (g.indexOf('d') !== -1) {\n\t\t\t\tthis._order.date = i;\n\t\t\t}\n\t\t\tif (g.indexOf('M') !== -1) {\n\t\t\t\tthis._order.month = i;\n\t\t\t}\n\t\t\tif (g.indexOf('y') !== -1) {\n\t\t\t\tthis._order.year = i;\n\t\t\t}\n\t\t});\n\t}\n\tprivate extract(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): { date: number; month: number; year: number } {\n\t\tconst groups = text.split(this._regex);\n\t\tlet date = 1,\n\t\t\tmonth = 1,\n\t\t\tyear = 1;\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 2, 0)], 10);\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth = parseInt(groups[Math.max(this._order.month - 1, 0)], 10);\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 1, 0)], 10) || new Date().getFullYear();\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\tdefault:\n\t\t\t\tdate = parseInt(groups[this._order.date], 10);\n\t\t\t\tmonth = parseInt(groups[this._order.month], 10);\n\t\t\t\tyear = parseInt(groups[this._order.year], 10) || new Date().getFullYear();\n\t\t}\n\t\treturn { date, month, year };\n\t}\n\tisParsable(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): boolean {\n\t\tif (!text) {\n\t\t\treturn false;\n\t\t}\n\t\tconst groups = text.split(this._regex);\n\t\tconst dayTextInvalid = granularity === ELuDateGranularity.day && groups.length !== 3;\n\t\tconst monthTextInvalid = granularity === ELuDateGranularity.month && groups.length !== 2;\n\t\tconst yearTextInvalid = granularity === ELuDateGranularity.year && groups.length !== 1;\n\t\tif (dayTextInvalid || monthTextInvalid || yearTextInvalid) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\t\t// When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends\n\t\t\tif (year >= 10_000) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet d: Date;\n\t\t\tif (this._options.useUtc) {\n\t\t\t\td = new Date(Date.UTC(year, month - 1, date));\n\t\t\t} else {\n\t\t\t\td = new Date(year, month - 1, date);\n\t\t\t}\n\t\t\t// checking if its a valid date\n\t\t\t// https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\n\t\t\tif (!(d instanceof Date)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (isNaN(d.getTime())) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// d is a valid date, but\n\t\t\t// as i can write new Date(1234, 56, 78) and mr javascript accepts it\n\t\t\t// i check now that the generated date has the same year/month/date as what i entered\n\t\t\tif (this._options.useUtc) {\n\t\t\t\tif (d.getUTCFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (d.getFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\tparse(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): Date | undefined {\n\t\tif (!text) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!this.isParsable(text, granularity)) {\n\t\t\treturn this.forgeInvalid();\n\t\t}\n\n\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\treturn this.forge(year, month, date);\n\t}\n\tformat(d: Date, format: string): string {\n\t\tif (this._options.useUtc) {\n\t\t\treturn formatDate(d, format, this._locale, 'UTC');\n\t\t} else {\n\t\t\treturn formatDate(d, format, this._locale);\n\t\t}\n\t}\n\tforge(year: number, month: number, date: number): Date {\n\t\tif (this._options.useUtc) {\n\t\t\treturn new Date(Date.UTC(year, month - 1, date)); // month-1 cuz 0 -> january\n\t\t} else {\n\t\t\treturn new Date(year, month - 1, date); // month-1 cuz 0 -> january\n\t\t}\n\t}\n\tforgeToday(): Date {\n\t\tif (this._options.useUtc) {\n\t\t\tconst nonUTCToday = new Date();\n\t\t\treturn new Date(Date.UTC(nonUTCToday.getFullYear(), nonUTCToday.getMonth(), nonUTCToday.getDate()));\n\t\t} else {\n\t\t\tconst today = new Date();\n\t\t\treturn new Date(today.getFullYear(), today.getMonth(), today.getDate());\n\t\t}\n\t}\n\tforgeInvalid(): Date {\n\t\treturn new Date('Invalid Date');\n\t}\n\tisValid(d: Date): boolean {\n\t\tif (!(d instanceof Date)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isNaN(d.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tclone(d: Date): Date {\n\t\treturn new Date(d);\n\t}\n\n\tgetYear(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCFullYear();\n\t\t} else {\n\t\t\treturn d.getFullYear();\n\t\t}\n\t}\n\tgetMonth(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCMonth() + 1;\n\t\t} else {\n\t\t\treturn d.getMonth() + 1;\n\t\t}\n\t}\n\tgetDate(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDate();\n\t\t} else {\n\t\t\treturn d.getDate();\n\t\t}\n\t}\n\tgetDay(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDay();\n\t\t} else {\n\t\t\treturn d.getDay();\n\t\t}\n\t}\n\n\tadd(d: Date, count: number, granularity: LuDateGranularity): Date {\n\t\tlet year = this.getYear(d);\n\t\tlet month = this.getMonth(d);\n\t\tlet date = this.getDate(d);\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.decade:\n\t\t\t\tyear += 10 * count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\t\tdate += count;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn this.forge(year, month, date);\n\t}\n}\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { LuDateGranularity } from '../date-granularity.enum';\nimport { LuNativeDateAdapter } from '../native/index';\n\n/** bind to a string with iso 26001 format YYYY-MM-DD */\n@Injectable()\nexport class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuDateAdapter<string> {\n\t// i'm going to implement this by doing some inheritance by composition\n\t// i'll just use the native date adapter and just parse/format to interface it with a string\n\n\tprivate _nativeAdapter: LuNativeDateAdapter;\n\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {\n\t\tsuper();\n\t\tthis._nativeAdapter = new LuNativeDateAdapter(this._locale, {\n\t\t\tuseUtc: true,\n\t\t});\n\t}\n\n\tforge(year: number, month: number, date: number): string {\n\t\treturn this.dateToString(this._nativeAdapter.forge(year, month, date)) ?? '';\n\t}\n\n\tforgeToday(): string {\n\t\treturn this.dateToString(this._nativeAdapter.forgeToday()) ?? '';\n\t}\n\n\tforgeInvalid(): string {\n\t\treturn 'Invalid Date';\n\t}\n\n\tisValid(d: string): boolean {\n\t\treturn this._nativeAdapter.isValid(this.stringToDate(d));\n\t}\n\n\toverride compare(a: string, b: string, granularity: LuDateGranularity): number {\n\t\tconst da = this.stringToDate(a);\n\t\tconst db = this.stringToDate(b);\n\n\t\treturn this._nativeAdapter.compare(da, db, granularity);\n\t}\n\n\tisParsable(text: string): boolean {\n\t\treturn this._nativeAdapter.isParsable(text);\n\t}\n\n\tparse(text: string, granularity: LuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.parse(text, granularity)) ?? '';\n\t}\n\n\tformat(d: string, format: string): string {\n\t\treturn this._nativeAdapter.format(this.stringToDate(d), format);\n\t}\n\n\tclone(d: string): string {\n\t\treturn `${d}`;\n\t}\n\n\tgetYear(d: string): number {\n\t\treturn this._nativeAdapter.getYear(this.stringToDate(d));\n\t}\n\n\tgetMonth(d: string): number {\n\t\treturn this._nativeAdapter.getMonth(this.stringToDate(d));\n\t}\n\n\tgetDate(d: string): number {\n\t\treturn this._nativeAdapter.getDate(this.stringToDate(d));\n\t}\n\n\tgetDay(d: string): number {\n\t\treturn this._nativeAdapter.getDay(this.stringToDate(d));\n\t}\n\n\tadd(d: string, count: number, granularity: LuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity)) ?? '';\n\t}\n\n\tprotected stringToDate(s: string): Date {\n\t\treturn new Date(`${s}T00:00:00Z`);\n\t}\n\n\tprotected dateToString(d: Date | undefined): string | undefined {\n\t\tlet result: string;\n\n\t\tif (d === undefined) {\n\t\t\treturn undefined;\n\t\t} else if (!this._nativeAdapter.isValid(d)) {\n\t\t\tresult = this.forgeInvalid();\n\t\t} else {\n\t\t\tresult = d.toISOString().substring(0, 10);\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","export interface ILuOnCloseSubscriber {\n\tonClose(): void;\n}\nexport abstract class ALuOnCloseSubscriber implements ILuOnCloseSubscriber {\n\tabstract onClose(): void;\n}\n","export interface ILuOnOpenSubscriber {\n\tonOpen(): void;\n}\nexport abstract class ALuOnOpenSubscriber implements ILuOnOpenSubscriber {\n\tabstract onOpen(): void;\n}\n","export interface ILuOnScrollBottomSubscriber {\n\tonScrollBottom(): void;\n}\nexport abstract class ALuOnScrollBottomSubscriber implements ILuOnScrollBottomSubscriber {\n\tabstract onScrollBottom(): void;\n}\n","const ID_LENGTH = 8;\nconst ID_BASE = 16;\nexport function generateId(): string {\n\treturn Array(ID_LENGTH)\n\t\t.fill(0)\n\t\t.map(() => Math.floor(Math.random() * ID_BASE).toString(ID_BASE))\n\t\t.join('');\n}\n","type Nil = null | undefined;\n\nexport const isNil = <T>(value: T | Nil): value is Nil => typeof value === 'undefined' || value === null;\n\nexport const isNotNil = <T>(value: T): value is NonNullable<T> => !isNil(value);\n\nexport function assertNotNil<T>(input: T, errorMessage = '[assertNotNil] Unexpected null or undefined value.'): asserts input is NonNullable<T> {\n\tif (isNil(input)) {\n\t\tthrow new Error(errorMessage);\n\t}\n}\n\nexport const isNilOrEmptyString = (str: string | Nil): str is Nil | '' => isNil(str) || str === '';\n\nexport const isNotNilOrEmptyString = (str: string | Nil): str is string => !isNilOrEmptyString(str);\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\n\nexport type PortalContent<T = unknown> = string | TemplateRef<T> | Type<unknown>;\n\nexport const PORTAL_CONTEXT = new InjectionToken<unknown>('PORTAL_CONTEXT');\n","import { ComponentRef, Directive, effect, EmbeddedViewRef, inject, Injector, input, OnDestroy, Renderer2, TemplateRef, untracked, ViewContainerRef } from '@angular/core';\nimport { PORTAL_CONTEXT, PortalContent } from './portal-content';\n\n@Directive({\n\tselector: '[luPortal]',\n})\nexport class PortalDirective<T extends object = object> implements OnDestroy {\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate renderer = inject(Renderer2);\n\tprivate templateRef = inject(TemplateRef);\n\tprivate injector = inject(Injector);\n\n\treadonly luPortal = input.required<PortalContent<T>>();\n\n\treadonly luPortalContext = input<T | null>(null);\n\n\tprivate createdTextElement: Text | null = null;\n\tprivate embeddedViewRef?: EmbeddedViewRef<T>;\n\tprivate componentRef?: ComponentRef<unknown>;\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst portal = this.luPortal();\n\t\t\tuntracked(() => {\n\t\t\t\tif (portal) {\n\t\t\t\t\tthis.render(portal, this.luPortalContext());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\teffect(() => {\n\t\t\tconst ctx = this.luPortalContext();\n\t\t\tuntracked(() => {\n\t\t\t\tif (this.embeddedViewRef && ctx) {\n\t\t\t\t\tthis.updateEmbeddedViewContext(ctx);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate render(luPortal: PortalContent<T>, ctx: T | null): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.embeddedViewRef = undefined;\n\t\tthis.componentRef = undefined;\n\n\t\tif (typeof luPortal !== 'string') {\n\t\t\tthis.destroyRenderedText();\n\t\t}\n\n\t\tif (!luPortal) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (luPortal instanceof TemplateRef) {\n\t\t\tconst context = Object.assign({}, ctx);\n\t\t\tthis.embeddedViewRef = this.viewContainerRef.createEmbeddedView<T>(luPortal, context, { injector: this.injector });\n\t\t} else if (typeof luPortal === 'string') {\n\t\t\tthis.renderText(luPortal);\n\t\t} else {\n\t\t\tconst injector = Injector.create({\n\t\t\t\tparent: this.injector,\n\t\t\t\tproviders: [{ provide: PORTAL_CONTEXT, useValue: ctx }],\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tthis.componentRef = this.viewContainerRef.createComponent(luPortal, { injector });\n\t\t\t\tthis.componentRef.changeDetectorRef.detectChanges();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e);\n\t\t\t\tthrow new Error('[LuPortal] Angular failed to create component, make sure you are not giving LuPortal an Object that is not a Type<>');\n\t\t\t}\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyRenderedText();\n\t\tthis.embeddedViewRef?.destroy();\n\t\tthis.componentRef?.destroy();\n\t}\n\n\tprivate renderText(text: string): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.createdTextElement.textContent = text;\n\t\t} else {\n\t\t\tconst ref = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tconst container: HTMLElement = ref.rootNodes[0] as HTMLElement;\n\t\t\tconst parent = container.parentElement;\n\t\t\tthis.createdTextElement = document.createTextNode(text);\n\t\t\tthis.renderer.insertBefore(parent, this.createdTextElement, container);\n\t\t}\n\t}\n\n\tprivate destroyRenderedText(): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.renderer.removeChild(this.createdTextElement.parentNode, this.createdTextElement);\n\t\t\tthis.createdTextElement = null;\n\t\t}\n\t}\n\n\t/**\n\t * Embeded view context should not be overwritten, but updated.\n\t * @see https://github.com/angular/angular/pull/51887\n\t */\n\tprivate updateEmbeddedViewContext(context: T): void {\n\t\tif (this.embeddedViewRef) {\n\t\t\tconst props = Object.keys(context);\n\n\t\t\tfor (const prop of props) {\n\t\t\t\tdelete this.embeddedViewRef.context[prop];\n\t\t\t}\n\n\t\t\tObject.assign(this.embeddedViewRef.context, context);\n\t\t\tthis.embeddedViewRef.detectChanges();\n\t\t}\n\t}\n\n\tpublic static ngTemplateContextGuard<T extends object>(_dir: PortalDirective<T>, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n","import { UrlTree } from '@angular/router';\nimport { isNotNil } from '../misc';\nimport { RouterLinkParam } from './route.model';\n\n// Check routerLinkParam is a RouterLinkParam object typed\nexport function isRouterLinkParam(routerLinkParam: RouterLinkParam | string | readonly string[] | UrlTree | null | undefined): routerLinkParam is RouterLinkParam {\n\treturn isNotNil(routerLinkParam) && typeof routerLinkParam === 'object' && 'commands' in routerLinkParam;\n}\n","import { CreateEffectOptions, effect, EffectCleanupRegisterFn, EffectRef, input, Signal, untracked } from '@angular/core';\nimport { isNotNil } from './misc';\n\ntype SignalsValue<T> = T extends readonly unknown[] ? TupleOfSignalValues<T> : [RecordOfSignalValues<T>];\n\ntype TupleOfSignalValues<T> = T extends readonly [Signal<infer U>, ...infer R] ? [U, ...TupleOfSignalValues<R>] : [];\ntype RecordOfSignalValues<T> = { [K in keyof T]: T[K] extends Signal<infer U> ? U : never };\n\nexport type EffectWithDepsInput = ReadonlyArray<Signal<unknown>> | Record<string, Signal<unknown>>;\n\n/**\n * Effect peut être dangereux car l'action accomplie peut elle-même déclencher des écritures dans des signaux.\n * C'est une mauvaise pratique, interdite par défaut par Angular.\n * La plupart du temps, seule la lecture des signaux est intéressante à tracker, pas les actions qui en découlent.\n */\nexport function ɵeffectWithDeps<const T extends EffectWithDepsInput>(\n\tdependencies: T,\n\taction: (...values: [...SignalsValue<T>, EffectCleanupRegisterFn]) => unknown,\n\toptions?: CreateEffectOptions,\n): EffectRef {\n\treturn effect((onCleanup) => {\n\t\tconst deps = isReadonlyArray(dependencies) ? readTupleOfSignalValues(dependencies) : [readRecordOfSignalValues(dependencies)];\n\n\t\tuntracked(() => action(...(deps as SignalsValue<T>), onCleanup));\n\t}, options);\n}\n\n/**\n * Utilitaire pour synchroniser un input signal avec une props via un setter.\n * Évite la répétition des ɵeffectWithDeps + isNotNil.\n */\nexport function syncInputSignal<T>(signal: ReturnType<typeof input<T>>, setter: (value: T) => void): void {\n\tɵeffectWithDeps([signal], (value) => {\n\t\tif (isNotNil(value)) {\n\t\t\tsetter(value);\n\t\t}\n\t});\n}\n\nfunction readTupleOfSignalValues<T extends readonly Signal<unknown>[]>(signals: T): TupleOfSignalValues<T> {\n\treturn signals.map((signal) => signal()) as TupleOfSignalValues<T>;\n}\n\nfunction readRecordOfSignalValues<T extends Record<string, Signal<unknown>>>(signals: T): RecordOfSignalValues<T> {\n\treturn Object.fromEntries(Object.entries(signals).map(([key, signal]) => [key, signal()])) as RecordOfSignalValues<T>;\n}\n\nfunction isReadonlyArray(input: EffectWithDepsInput): input is ReadonlyArray<Signal<unknown>> {\n\treturn Array.isArray(input);\n}\n","import { inject, InjectionToken, InputOptionsWithTransform, LOCALE_ID } from '@angular/core';\nimport { ILuTranslation, LuTranslation } from './translation.model';\n\nexport function getIntl<T>(translationsToken: InjectionToken<LuTranslation<T>> | InjectionToken<ILuTranslation<T>>): T {\n\tconst locale = inject(LOCALE_ID);\n\tconst translations = inject(translationsToken);\n\n\tif (locale in translations) {\n\t\treturn translations[locale];\n\t}\n\n\tconst shortLocale = locale.substring(0, 2);\n\tif (shortLocale in translations) {\n\t\treturn translations[shortLocale];\n\t}\n\n\treturn translations['en'] ?? translations['en-GB'] ?? translations['en-US'];\n}\n\n/**\n * Creates configuration for an Angular signal input that supports internationalization with optional overrides.\n *\n * This function merges translations from one or more injection tokens and returns a tuple\n * compatible with Angular's `input()` function. Users can override specific translations\n * via the component's `[intl]` input while inheriting defaults from the provided tokens.\n *\n * @example\n * ```typescript\n * // In a component\n * intl = input(...intlInputOptions(LU_SOME_COMPONENT_TRANSLATIONS));\n *\n * // Usage in template\n * <lu-some-component [intl]=\"{ stuff: 'Some custom stuff' }\" />\n * ```\n *\n * @param tokens - One or more injection tokens containing locale-based translations\n * @returns A tuple of [defaultValue, inputOptions] to spread into Angular's `input()` function\n */\nexport function intlInputOptions<T1>(token1: InjectionToken<LuTranslation<T1>>): [T1, InputOptionsWithTransform<T1, Partial<T1>>];\nexport function intlInputOptions<T1, T2>(token1: InjectionToken<LuTranslation<T1>>, token2: InjectionToken<LuTranslation<T2>>): [T1 & T2, InputOptionsWithTransform<T1 & T2, Partial<T1 & T2>>];\nexport function intlInputOptions<T>(...tokens: InjectionToken<LuTranslation<T>>[]): [T, InputOptionsWithTransform<T, Partial<T>>] {\n\tconst base = tokens.reduce((acc, token) => ({ ...acc, ...getIntl(token) }), {} as T);\n\treturn [\n\t\tbase,\n\t\t{\n\t\t\ttransform: (patch: Partial<T>): T => ({\n\t\t\t\t...base,\n\t\t\t\t...patch,\n\t\t\t}),\n\t\t},\n\t];\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'intlParams',\n})\nexport class IntlParamsPipe implements PipeTransform {\n\t#matcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n\n\ttransform(value: string, args: Record<string, string | number>): string {\n\t\treturn value.replace(this.#matcher, (base, key: string) => {\n\t\t\treturn args[key]?.toString() ?? base;\n\t\t});\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'luTypeGuard',\n\tstandalone: true,\n})\nexport class LuTypeGuardPipe implements PipeTransform {\n\ttransform<T, U extends T>(obj: T, typeGuardFn: (arg: T) => arg is U): obj is U {\n\t\treturn typeGuardFn(obj);\n\t}\n}\n","export type At = 'media' | 'container';\nexport type Breakpoint = 'XXXS' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'XXXL';\n\n/**\n * Breakpoints in em, useful for media queries\n *\n * Equivalent of `$breakpoints` (from scss/src/commons/config.scss)\n */\nexport const defaultBreakpoints = {\n\tXXXS: `${320 / 16}em`,\n\tXXS: `${480 / 16}em`,\n\tXS: `${640 / 16}em`,\n\tS: `${800 / 16}em`,\n\tM: `${1024 / 16}em`,\n\tL: `${1280 / 16}em`,\n\tXL: `${1366 / 16}em`,\n\tXXL: `${1600 / 16}em`,\n\tXXXL: `${1920 / 16}em`,\n} as const satisfies Record<Breakpoint, `${number}em`>;\n\nexport type ResponsiveConfig<T extends string, V> = Partial<Record<ResponsiveProperty<T>, V>>;\nexport type ResponsiveProperty<T extends string> = `${T}At${Capitalize<At>}Min${Breakpoint}`;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}