@lucca-front/ng 18.3.3 → 19.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 (840) hide show
  1. package/core-select/api/api.directive.d.ts +1 -1
  2. package/core-select/input/select-input.component.d.ts +1 -1
  3. package/dialog/dialog-routing/dialog-routing.component.d.ts +1 -1
  4. package/dropdown/item/dropdown-item.directive.d.ts +1 -1
  5. package/dropdown/item/dropdown-item.module.d.ts +4 -1
  6. package/dropdown/panel/dropdown-panel.component.d.ts +1 -1
  7. package/dropdown/panel/dropdown-panel.module.d.ts +4 -2
  8. package/dropdown/trigger/dropdown-trigger.directive.d.ts +1 -1
  9. package/dropdown/trigger/dropdown-trigger.module.d.ts +4 -2
  10. package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
  11. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-api.mjs +48 -48
  14. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-button.mjs +3 -3
  16. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-callout.mjs +21 -21
  18. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-comment.mjs +9 -9
  20. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  22. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
  24. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  26. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-user.mjs +15 -15
  28. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select.mjs +36 -36
  30. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core.mjs +16 -16
  32. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-date.mjs +48 -48
  34. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-date2.mjs +14 -14
  36. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-department.mjs +28 -28
  38. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-dialog-testing.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-dialog.mjs +39 -31
  41. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-dropdown.mjs +39 -35
  43. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-empty-state.mjs +6 -6
  45. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-establishment.mjs +49 -49
  47. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-form-field.mjs +6 -6
  49. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-formly.mjs +81 -79
  51. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +10 -10
  53. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-forms.mjs +45 -62
  55. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-icon.mjs +4 -4
  57. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  61. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  63. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-multi-select.mjs +44 -44
  65. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  67. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-number-format.mjs +7 -7
  69. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  71. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
  73. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-option.mjs +154 -154
  75. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
  77. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-popover.mjs +31 -26
  79. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-popover2.mjs +9 -9
  81. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-popup-employee.mjs +41 -26
  83. package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  85. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-qualification.mjs +15 -15
  87. package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-safe-content.mjs +13 -12
  89. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
  91. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  93. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  95. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-simple-select.mjs +14 -14
  97. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-skeleton.mjs +9 -9
  99. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-tag.mjs +3 -3
  101. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-time.mjs +18 -17
  103. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  105. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-toast.mjs +12 -12
  107. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  108. package/fesm2022/lucca-front-ng-tooltip.mjs +23 -23
  109. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-user.mjs +94 -85
  111. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  112. package/forms/number-input/number-input.component.d.ts +10 -13
  113. package/modal/modal-panel.component.d.ts +1 -1
  114. package/option/picker/option-picker-advanced.component.d.ts +1 -1
  115. package/option/picker/option-picker.component.d.ts +1 -1
  116. package/option/picker/tree-option-picker-advanced.component.d.ts +1 -1
  117. package/option/picker/tree-option-picker.component.d.ts +1 -1
  118. package/package.json +38 -149
  119. package/popup-employee/popup-employee.translate.d.ts +2 -0
  120. package/popup-employee/translations.d.ts +16 -0
  121. package/safe-content/safe-content.module.d.ts +3 -0
  122. package/safe-content/safe-html.pipe.d.ts +0 -1
  123. package/schematics/action-icon/index.js +3 -2
  124. package/schematics/action-icon/migration.js +2 -3
  125. package/schematics/empty-state-title/index.js +2 -1
  126. package/schematics/lib/angular-template.js +6 -7
  127. package/schematics/lib/css-mapper.js +4 -4
  128. package/schematics/lib/file-update.js +2 -3
  129. package/schematics/lib/html-ast.js +4 -4
  130. package/schematics/lib/local-deps/installer.js +1 -2
  131. package/schematics/lib/local-deps/package-lock.json +30 -30
  132. package/schematics/lib/local-deps/package.json +2 -2
  133. package/schematics/lib/local-deps/postcss-selector-parser.js +1 -0
  134. package/schematics/lib/local-deps/postcss-value-parser.js +1 -0
  135. package/schematics/lib/migration-test.js +4 -5
  136. package/schematics/lib/schematics.js +1 -2
  137. package/schematics/lib/scss-ast.js +10 -11
  138. package/schematics/lib/typescript-ast.js +1 -2
  139. package/schematics/new-icons/index.js +4 -3
  140. package/schematics/new-icons/migration.js +3 -4
  141. package/schematics/ng-add/index.js +1 -2
  142. package/schematics/ng-add/tasks.js +4 -5
  143. package/schematics/palettes/index.js +1 -0
  144. package/schematics/tokens-spacing/index.js +1 -0
  145. package/select/input/select-input.component.d.ts +1 -1
  146. package/src/components/cdk/_overlay.scss +4 -0
  147. package/time/core/base-picker.component.d.ts +1 -1
  148. package/time/core/date.utils.d.ts +4 -4
  149. package/time/core/misc.utils.d.ts +1 -1
  150. package/user/picture/user-picture.component.d.ts +1 -1
  151. package/user/picture/user-picture.module.d.ts +4 -3
  152. package/user/tile/user-tile.component.d.ts +1 -1
  153. package/user/tile/user-tile.module.d.ts +4 -4
  154. package/esm2022/a11y/lucca-front-ng-a11y.mjs +0 -5
  155. package/esm2022/a11y/public-api.mjs +0 -3
  156. package/esm2022/a11y/skip-links/skip-links.component.mjs +0 -24
  157. package/esm2022/a11y/skip-links/skip-links.translate.mjs +0 -9
  158. package/esm2022/a11y/skip-links/translations.mjs +0 -51
  159. package/esm2022/animations/animation.factory.mjs +0 -15
  160. package/esm2022/animations/fade.animation.mjs +0 -8
  161. package/esm2022/animations/lucca-front-ng-animations.mjs +0 -5
  162. package/esm2022/animations/public-api.mjs +0 -5
  163. package/esm2022/animations/scale.animation.mjs +0 -126
  164. package/esm2022/animations/slide.animation.mjs +0 -110
  165. package/esm2022/api/api.model.mjs +0 -2
  166. package/esm2022/api/api.module.mjs +0 -16
  167. package/esm2022/api/lucca-front-ng-api.mjs +0 -5
  168. package/esm2022/api/public-api.mjs +0 -5
  169. package/esm2022/api/select/api-select.module.mjs +0 -19
  170. package/esm2022/api/select/feeder/api-feeder.component.mjs +0 -93
  171. package/esm2022/api/select/feeder/api-feeder.model.mjs +0 -11
  172. package/esm2022/api/select/feeder/api-feeder.module.mjs +0 -16
  173. package/esm2022/api/select/feeder/index.mjs +0 -4
  174. package/esm2022/api/select/index.mjs +0 -6
  175. package/esm2022/api/select/input/api-select-input.component.mjs +0 -52
  176. package/esm2022/api/select/input/api-select-input.module.mjs +0 -16
  177. package/esm2022/api/select/input/index.mjs +0 -3
  178. package/esm2022/api/select/pager/api-pager.component.mjs +0 -99
  179. package/esm2022/api/select/pager/api-pager.model.mjs +0 -56
  180. package/esm2022/api/select/pager/api-pager.module.mjs +0 -16
  181. package/esm2022/api/select/pager/index.mjs +0 -4
  182. package/esm2022/api/select/searcher/api-searcher.component.mjs +0 -235
  183. package/esm2022/api/select/searcher/api-searcher.model.mjs +0 -67
  184. package/esm2022/api/select/searcher/api-searcher.module.mjs +0 -16
  185. package/esm2022/api/select/searcher/index.mjs +0 -4
  186. package/esm2022/api/service/api-hybrid.service.mjs +0 -65
  187. package/esm2022/api/service/api-service.model.mjs +0 -3
  188. package/esm2022/api/service/api-v3.service.mjs +0 -72
  189. package/esm2022/api/service/api-v4.service.mjs +0 -71
  190. package/esm2022/api/service/index.mjs +0 -5
  191. package/esm2022/button/button.component.mjs +0 -90
  192. package/esm2022/button/lucca-front-ng-button.mjs +0 -5
  193. package/esm2022/button/public-api.mjs +0 -2
  194. package/esm2022/callout/callout/callout.component.mjs +0 -88
  195. package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +0 -59
  196. package/esm2022/callout/callout-feedback-item/callout-feedback-item.component.mjs +0 -25
  197. package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +0 -22
  198. package/esm2022/callout/callout-icon.pipe.mjs +0 -23
  199. package/esm2022/callout/callout-popover/callout-popover.component.mjs +0 -182
  200. package/esm2022/callout/callout-state.mjs +0 -16
  201. package/esm2022/callout/callout.translate.mjs +0 -7
  202. package/esm2022/callout/callout.utils.mjs +0 -20
  203. package/esm2022/callout/lucca-front-ng-callout.mjs +0 -5
  204. package/esm2022/callout/public-api.mjs +0 -7
  205. package/esm2022/callout/translations.mjs +0 -27
  206. package/esm2022/comment/comment/comment.component.mjs +0 -54
  207. package/esm2022/comment/comment-block/comment-block.component.mjs +0 -60
  208. package/esm2022/comment/comment-chat/comment-chat.component.mjs +0 -22
  209. package/esm2022/comment/lucca-front-ng-comment.mjs +0 -5
  210. package/esm2022/comment/public-api.mjs +0 -4
  211. package/esm2022/comment/token.mjs +0 -4
  212. package/esm2022/core/date/date-adapter.class.mjs +0 -54
  213. package/esm2022/core/date/date-adapter.interface.mjs +0 -2
  214. package/esm2022/core/date/date-granularity.enum.mjs +0 -8
  215. package/esm2022/core/date/index.mjs +0 -6
  216. package/esm2022/core/date/native/index.mjs +0 -3
  217. package/esm2022/core/date/native/native-date.adapter.mjs +0 -235
  218. package/esm2022/core/date/native/native-date.option.mjs +0 -6
  219. package/esm2022/core/date/string/index.mjs +0 -2
  220. package/esm2022/core/date/string/string-date.adapter.mjs +0 -83
  221. package/esm2022/core/event/index.mjs +0 -4
  222. package/esm2022/core/event/on-close.subscriber.mjs +0 -3
  223. package/esm2022/core/event/on-open.subscriber.mjs +0 -3
  224. package/esm2022/core/event/on-scroll-bottom.subscriber.mjs +0 -3
  225. package/esm2022/core/group/group.interface.mjs +0 -2
  226. package/esm2022/core/group/index.mjs +0 -2
  227. package/esm2022/core/id/id.generator.mjs +0 -9
  228. package/esm2022/core/id/index.mjs +0 -2
  229. package/esm2022/core/lucca-front-ng-core.mjs +0 -5
  230. package/esm2022/core/portal/index.mjs +0 -3
  231. package/esm2022/core/portal/portal-content.mjs +0 -3
  232. package/esm2022/core/portal/portal.directive.mjs +0 -107
  233. package/esm2022/core/public-api.mjs +0 -11
  234. package/esm2022/core/signal.mjs +0 -22
  235. package/esm2022/core/tools/class.mjs +0 -75
  236. package/esm2022/core/translate/index.mjs +0 -4
  237. package/esm2022/core/translate/intl-params.pipe.mjs +0 -20
  238. package/esm2022/core/translate/intl.model.mjs +0 -14
  239. package/esm2022/core/translate/translation.model.mjs +0 -2
  240. package/esm2022/core/tree/index.mjs +0 -2
  241. package/esm2022/core/tree/tree.model.mjs +0 -2
  242. package/esm2022/core/type/enum.mjs +0 -2
  243. package/esm2022/core/type/index.mjs +0 -3
  244. package/esm2022/core/type/style.mjs +0 -2
  245. package/esm2022/core-select/api/api-v3.directive.mjs +0 -81
  246. package/esm2022/core-select/api/api-v4.directive.mjs +0 -70
  247. package/esm2022/core-select/api/api.directive.mjs +0 -53
  248. package/esm2022/core-select/api/lucca-front-ng-core-select-api.mjs +0 -5
  249. package/esm2022/core-select/api/public-api.mjs +0 -4
  250. package/esm2022/core-select/displayer/displayer.directive.mjs +0 -26
  251. package/esm2022/core-select/displayer/index.mjs +0 -2
  252. package/esm2022/core-select/establishment/establishment-grouping.component.mjs +0 -21
  253. package/esm2022/core-select/establishment/establishment-grouping.service.mjs +0 -22
  254. package/esm2022/core-select/establishment/establishments.directive.mjs +0 -96
  255. package/esm2022/core-select/establishment/lucca-front-ng-core-select-establishment.mjs +0 -5
  256. package/esm2022/core-select/establishment/models.mjs +0 -2
  257. package/esm2022/core-select/establishment/public-api.mjs +0 -4
  258. package/esm2022/core-select/input/index.mjs +0 -4
  259. package/esm2022/core-select/input/select-input.component.mjs +0 -312
  260. package/esm2022/core-select/input/select-input.models.mjs +0 -37
  261. package/esm2022/core-select/input/total-count.directive.mjs +0 -33
  262. package/esm2022/core-select/job-qualification/job-qualification-grouping.component.mjs +0 -21
  263. package/esm2022/core-select/job-qualification/job-qualifications.directive.mjs +0 -78
  264. package/esm2022/core-select/job-qualification/lucca-front-ng-core-select-job-qualification.mjs +0 -5
  265. package/esm2022/core-select/job-qualification/models.mjs +0 -2
  266. package/esm2022/core-select/job-qualification/public-api.mjs +0 -3
  267. package/esm2022/core-select/lucca-front-ng-core-select.mjs +0 -5
  268. package/esm2022/core-select/option/default-option.component.mjs +0 -22
  269. package/esm2022/core-select/option/disabled.directive.mjs +0 -26
  270. package/esm2022/core-select/option/group.directive.mjs +0 -29
  271. package/esm2022/core-select/option/group.pipe.mjs +0 -43
  272. package/esm2022/core-select/option/index.mjs +0 -9
  273. package/esm2022/core-select/option/option-outlet.directive.mjs +0 -73
  274. package/esm2022/core-select/option/option.component.mjs +0 -89
  275. package/esm2022/core-select/option/option.directive.mjs +0 -26
  276. package/esm2022/core-select/option/option.token.mjs +0 -22
  277. package/esm2022/core-select/panel/index.mjs +0 -5
  278. package/esm2022/core-select/panel/key-manager.mjs +0 -79
  279. package/esm2022/core-select/panel/panel-header-template.directive.mjs +0 -25
  280. package/esm2022/core-select/panel/panel.models.mjs +0 -22
  281. package/esm2022/core-select/panel/panel.utils.mjs +0 -15
  282. package/esm2022/core-select/public-api.mjs +0 -8
  283. package/esm2022/core-select/select.model.mjs +0 -6
  284. package/esm2022/core-select/select.translate.mjs +0 -7
  285. package/esm2022/core-select/select.utils.mjs +0 -2
  286. package/esm2022/core-select/translations.mjs +0 -27
  287. package/esm2022/core-select/user/former-employees.component.mjs +0 -34
  288. package/esm2022/core-select/user/lucca-front-ng-core-select-user.mjs +0 -5
  289. package/esm2022/core-select/user/me.provider.mjs +0 -9
  290. package/esm2022/core-select/user/public-api.mjs +0 -5
  291. package/esm2022/core-select/user/translations.mjs +0 -35
  292. package/esm2022/core-select/user/user-displayer.component.mjs +0 -32
  293. package/esm2022/core-select/user/user-homonym.service.mjs +0 -63
  294. package/esm2022/core-select/user/user-option.component.mjs +0 -46
  295. package/esm2022/core-select/user/user-option.model.mjs +0 -2
  296. package/esm2022/core-select/user/user.translate.mjs +0 -7
  297. package/esm2022/core-select/user/users.directive.mjs +0 -149
  298. package/esm2022/date/adapter/date-adapter.module.mjs +0 -16
  299. package/esm2022/date/adapter/date-adapter.pipe.mjs +0 -25
  300. package/esm2022/date/adapter/index.mjs +0 -3
  301. package/esm2022/date/calendar/calendar-input.component.mjs +0 -332
  302. package/esm2022/date/calendar/calendar-input.module.mjs +0 -16
  303. package/esm2022/date/calendar/calendar-item.class.mjs +0 -43
  304. package/esm2022/date/calendar/calendar-item.factory.mjs +0 -37
  305. package/esm2022/date/calendar/calendar-item.interface.mjs +0 -2
  306. package/esm2022/date/calendar/index.mjs +0 -3
  307. package/esm2022/date/date.module.mjs +0 -20
  308. package/esm2022/date/humanize/humanize.formatter.mjs +0 -14
  309. package/esm2022/date/humanize/humanize.model.mjs +0 -2
  310. package/esm2022/date/humanize/humanize.pipe.mjs +0 -21
  311. package/esm2022/date/humanize/humanize.utils.mjs +0 -79
  312. package/esm2022/date/humanize/index.mjs +0 -5
  313. package/esm2022/date/input/date-input.directive.mjs +0 -137
  314. package/esm2022/date/input/date-input.module.mjs +0 -16
  315. package/esm2022/date/input/date-input.translate.mjs +0 -7
  316. package/esm2022/date/input/index.mjs +0 -4
  317. package/esm2022/date/input/translations.mjs +0 -43
  318. package/esm2022/date/lucca-front-ng-date.mjs +0 -5
  319. package/esm2022/date/picker/date-picker.component.mjs +0 -109
  320. package/esm2022/date/picker/date-picker.module.mjs +0 -16
  321. package/esm2022/date/picker/index.mjs +0 -3
  322. package/esm2022/date/public-api.mjs +0 -8
  323. package/esm2022/date/select/date-select-input.component.mjs +0 -106
  324. package/esm2022/date/select/date-select-input.module.mjs +0 -16
  325. package/esm2022/date/select/date-select-input.translate.mjs +0 -7
  326. package/esm2022/date/select/index.mjs +0 -4
  327. package/esm2022/date/select/translations.mjs +0 -43
  328. package/esm2022/date2/calendar.token.mjs +0 -22
  329. package/esm2022/date2/calendar2/calendar-cell-info.mjs +0 -2
  330. package/esm2022/date2/calendar2/calendar-mode.mjs +0 -2
  331. package/esm2022/date2/calendar2/calendar2-cell.directive.mjs +0 -111
  332. package/esm2022/date2/calendar2/calendar2.component.mjs +0 -279
  333. package/esm2022/date2/calendar2/calendar2.tokens.mjs +0 -4
  334. package/esm2022/date2/calendar2/cell-status.mjs +0 -2
  335. package/esm2022/date2/calendar2/date-range.mjs +0 -2
  336. package/esm2022/date2/date-format.mjs +0 -16
  337. package/esm2022/date2/date-input/date-input.component.mjs +0 -281
  338. package/esm2022/date2/date2.translate.mjs +0 -7
  339. package/esm2022/date2/lucca-front-ng-date2.mjs +0 -5
  340. package/esm2022/date2/public-api.mjs +0 -5
  341. package/esm2022/date2/repeat-times.directive.mjs +0 -27
  342. package/esm2022/date2/translations.mjs +0 -17
  343. package/esm2022/date2/utils.mjs +0 -24
  344. package/esm2022/department/department.model.mjs +0 -2
  345. package/esm2022/department/department.module.mjs +0 -16
  346. package/esm2022/department/lucca-front-ng-department.mjs +0 -5
  347. package/esm2022/department/public-api.mjs +0 -5
  348. package/esm2022/department/select/department-select.module.mjs +0 -17
  349. package/esm2022/department/select/feeder/department-feeder.component.mjs +0 -82
  350. package/esm2022/department/select/feeder/department-feeder.module.mjs +0 -16
  351. package/esm2022/department/select/feeder/index.mjs +0 -3
  352. package/esm2022/department/select/index.mjs +0 -4
  353. package/esm2022/department/select/input/department-select-input.component.mjs +0 -68
  354. package/esm2022/department/select/input/department-select-input.module.mjs +0 -16
  355. package/esm2022/department/select/input/department-select-input.translate.mjs +0 -7
  356. package/esm2022/department/select/input/index.mjs +0 -4
  357. package/esm2022/department/select/input/translations.mjs +0 -27
  358. package/esm2022/department/service/department-service.model.mjs +0 -4
  359. package/esm2022/department/service/department-v3.service.mjs +0 -46
  360. package/esm2022/department/service/department-v4.service.mjs +0 -46
  361. package/esm2022/department/service/index.mjs +0 -4
  362. package/esm2022/dialog/dialog/dialog.component.mjs +0 -31
  363. package/esm2022/dialog/dialog-content/dialog-content.component.mjs +0 -20
  364. package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +0 -13
  365. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +0 -45
  366. package/esm2022/dialog/dialog-header/dialog-header.translate.mjs +0 -7
  367. package/esm2022/dialog/dialog-header/translations.mjs +0 -27
  368. package/esm2022/dialog/dialog-routing/dialog-routing.component.mjs +0 -100
  369. package/esm2022/dialog/dialog-routing/dialog-routing.models.mjs +0 -2
  370. package/esm2022/dialog/dialog-routing/dialog-routing.utils.mjs +0 -46
  371. package/esm2022/dialog/dialog-routing/index.mjs +0 -4
  372. package/esm2022/dialog/dialog.providers.mjs +0 -10
  373. package/esm2022/dialog/dialog.service.mjs +0 -75
  374. package/esm2022/dialog/directives/dialog-close.directive.mjs +0 -22
  375. package/esm2022/dialog/directives/dialog-dismiss.directive.mjs +0 -22
  376. package/esm2022/dialog/directives/dialog-open.directive.mjs +0 -35
  377. package/esm2022/dialog/lucca-front-ng-dialog.mjs +0 -5
  378. package/esm2022/dialog/model/dialog-config.mjs +0 -4
  379. package/esm2022/dialog/model/dialog-ref.mjs +0 -49
  380. package/esm2022/dialog/model/index.mjs +0 -4
  381. package/esm2022/dialog/model/injectors.mjs +0 -10
  382. package/esm2022/dialog/public-api.mjs +0 -13
  383. package/esm2022/dialog/testing/lucca-front-ng-dialog-testing.mjs +0 -5
  384. package/esm2022/dialog/testing/providers.mjs +0 -8
  385. package/esm2022/dialog/testing/public-api.mjs +0 -2
  386. package/esm2022/dropdown/dropdown.module.mjs +0 -18
  387. package/esm2022/dropdown/item/dropdown-item.directive.mjs +0 -55
  388. package/esm2022/dropdown/item/dropdown-item.model.mjs +0 -3
  389. package/esm2022/dropdown/item/dropdown-item.module.mjs +0 -17
  390. package/esm2022/dropdown/item/index.mjs +0 -4
  391. package/esm2022/dropdown/lucca-front-ng-dropdown.mjs +0 -5
  392. package/esm2022/dropdown/panel/dropdown-panel.component.mjs +0 -111
  393. package/esm2022/dropdown/panel/dropdown-panel.model.mjs +0 -2
  394. package/esm2022/dropdown/panel/dropdown-panel.module.mjs +0 -18
  395. package/esm2022/dropdown/panel/index.mjs +0 -4
  396. package/esm2022/dropdown/public-api.mjs +0 -5
  397. package/esm2022/dropdown/trigger/dropdown-trigger.directive.mjs +0 -121
  398. package/esm2022/dropdown/trigger/dropdown-trigger.module.mjs +0 -18
  399. package/esm2022/dropdown/trigger/index.mjs +0 -3
  400. package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +0 -62
  401. package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +0 -43
  402. package/esm2022/empty-state/lucca-front-ng-empty-state.mjs +0 -5
  403. package/esm2022/empty-state/public-api.mjs +0 -3
  404. package/esm2022/establishment/establishment.model.mjs +0 -2
  405. package/esm2022/establishment/establishment.module.mjs +0 -19
  406. package/esm2022/establishment/lucca-front-ng-establishment.mjs +0 -5
  407. package/esm2022/establishment/public-api.mjs +0 -5
  408. package/esm2022/establishment/select/establishment-select.module.mjs +0 -23
  409. package/esm2022/establishment/select/establishment-select.token.mjs +0 -4
  410. package/esm2022/establishment/select/for-legal-units/for-legal-units.directive.mjs +0 -47
  411. package/esm2022/establishment/select/for-legal-units/for-legal-units.module.mjs +0 -16
  412. package/esm2022/establishment/select/for-legal-units/index.mjs +0 -3
  413. package/esm2022/establishment/select/index.mjs +0 -7
  414. package/esm2022/establishment/select/input/establishment-select-input.component.mjs +0 -126
  415. package/esm2022/establishment/select/input/establishment-select-input.module.mjs +0 -16
  416. package/esm2022/establishment/select/input/establishment-select-input.translate.mjs +0 -7
  417. package/esm2022/establishment/select/input/index.mjs +0 -4
  418. package/esm2022/establishment/select/input/translations.mjs +0 -27
  419. package/esm2022/establishment/select/legal-unit-selector/index.mjs +0 -3
  420. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +0 -103
  421. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.module.mjs +0 -16
  422. package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +0 -146
  423. package/esm2022/establishment/select/searcher/establishment-searcher.module.mjs +0 -16
  424. package/esm2022/establishment/select/searcher/index.mjs +0 -3
  425. package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +0 -94
  426. package/esm2022/establishment/select/select-all/establishment-select-all.module.mjs +0 -16
  427. package/esm2022/establishment/select/select-all/index.mjs +0 -3
  428. package/esm2022/establishment/service/establishment-service.model.mjs +0 -4
  429. package/esm2022/establishment/service/establishment.service.mjs +0 -37
  430. package/esm2022/establishment/service/index.mjs +0 -5
  431. package/esm2022/establishment/service/legal-unit-service.model.mjs +0 -4
  432. package/esm2022/establishment/service/legal-unit.service.mjs +0 -37
  433. package/esm2022/form-field/form-field-size.mjs +0 -2
  434. package/esm2022/form-field/form-field.component.mjs +0 -248
  435. package/esm2022/form-field/form-field.token.mjs +0 -3
  436. package/esm2022/form-field/form-field.translate.mjs +0 -7
  437. package/esm2022/form-field/input.directive.mjs +0 -36
  438. package/esm2022/form-field/lucca-front-ng-form-field.mjs +0 -5
  439. package/esm2022/form-field/public-api.mjs +0 -6
  440. package/esm2022/form-field/translations.mjs +0 -27
  441. package/esm2022/formly/formly.config.mjs +0 -79
  442. package/esm2022/formly/formly.module.mjs +0 -108
  443. package/esm2022/formly/formly.utils.mjs +0 -10
  444. package/esm2022/formly/lucca-front-ng-formly.mjs +0 -5
  445. package/esm2022/formly/public-api.mjs +0 -5
  446. package/esm2022/formly/types/api.mjs +0 -37
  447. package/esm2022/formly/types/checkbox.mjs +0 -22
  448. package/esm2022/formly/types/date.mjs +0 -22
  449. package/esm2022/formly/types/department.mjs +0 -22
  450. package/esm2022/formly/types/establishment.mjs +0 -22
  451. package/esm2022/formly/types/index.mjs +0 -12
  452. package/esm2022/formly/types/input.mjs +0 -26
  453. package/esm2022/formly/types/qualification.mjs +0 -22
  454. package/esm2022/formly/types/radios.mjs +0 -25
  455. package/esm2022/formly/types/select.mjs +0 -28
  456. package/esm2022/formly/types/textarea.mjs +0 -22
  457. package/esm2022/formly/types/user.mjs +0 -22
  458. package/esm2022/formly/wrappers/checkbox-layout.mjs +0 -30
  459. package/esm2022/formly/wrappers/error.mjs +0 -57
  460. package/esm2022/formly/wrappers/helper.mjs +0 -19
  461. package/esm2022/formly/wrappers/icon.mjs +0 -19
  462. package/esm2022/formly/wrappers/index.mjs +0 -8
  463. package/esm2022/formly/wrappers/radiosfield-layout.mjs +0 -30
  464. package/esm2022/formly/wrappers/suffix.mjs +0 -19
  465. package/esm2022/formly/wrappers/textfield-layout.mjs +0 -39
  466. package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +0 -34
  467. package/esm2022/forms/form-field-id.directive.mjs +0 -52
  468. package/esm2022/forms/inject-ng-control.mjs +0 -25
  469. package/esm2022/forms/lucca-front-ng-forms.mjs +0 -5
  470. package/esm2022/forms/multilanguage-input/model/multilanguage-translation.mjs +0 -2
  471. package/esm2022/forms/multilanguage-input/multilanguage-input.component.mjs +0 -95
  472. package/esm2022/forms/multilanguage-input/multilanguage-input.translate.mjs +0 -6
  473. package/esm2022/forms/multilanguage-input/translations.mjs +0 -13
  474. package/esm2022/forms/multilanguage-input/validators.mjs +0 -7
  475. package/esm2022/forms/noop-value-accessor.directive.mjs +0 -35
  476. package/esm2022/forms/number-format-input/number-format-input.component.mjs +0 -92
  477. package/esm2022/forms/number-format-input/number-format-input.translate.mjs +0 -7
  478. package/esm2022/forms/number-format-input/translations.mjs +0 -27
  479. package/esm2022/forms/number-input/number-input.component.mjs +0 -55
  480. package/esm2022/forms/number-input/number-input.translate.mjs +0 -7
  481. package/esm2022/forms/number-input/translations.mjs +0 -27
  482. package/esm2022/forms/phone-number-input/formatter.mjs +0 -7
  483. package/esm2022/forms/phone-number-input/lucca-front-ng-forms-phone-number-input.mjs +0 -5
  484. package/esm2022/forms/phone-number-input/phone-number-format.pipe.mjs +0 -18
  485. package/esm2022/forms/phone-number-input/phone-number-input.component.mjs +0 -186
  486. package/esm2022/forms/phone-number-input/public-api.mjs +0 -6
  487. package/esm2022/forms/phone-number-input/types.mjs +0 -2
  488. package/esm2022/forms/phone-number-input/validators.mjs +0 -17
  489. package/esm2022/forms/public-api.mjs +0 -17
  490. package/esm2022/forms/radio-group-input/radio/radio.component.mjs +0 -54
  491. package/esm2022/forms/radio-group-input/radio-group-input.component.mjs +0 -45
  492. package/esm2022/forms/radio-group-input/radio-group-token.mjs +0 -3
  493. package/esm2022/forms/switch-input/switch-input.component.mjs +0 -26
  494. package/esm2022/forms/text-input/text-input-addon.mjs +0 -2
  495. package/esm2022/forms/text-input/text-input.component.mjs +0 -82
  496. package/esm2022/forms/text-input/text-input.translate.mjs +0 -7
  497. package/esm2022/forms/text-input/translations.mjs +0 -35
  498. package/esm2022/forms/textarea-input/textarea-input.component.mjs +0 -53
  499. package/esm2022/icon/icon.component.mjs +0 -29
  500. package/esm2022/icon/lucca-front-ng-icon.mjs +0 -5
  501. package/esm2022/icon/public-api.mjs +0 -2
  502. package/esm2022/inline-message/inline-message-state.mjs +0 -2
  503. package/esm2022/inline-message/inline-message.component.mjs +0 -33
  504. package/esm2022/inline-message/lucca-front-ng-inline-message.mjs +0 -5
  505. package/esm2022/inline-message/public-api.mjs +0 -3
  506. package/esm2022/input/clearer/clearer.component.mjs +0 -35
  507. package/esm2022/input/clearer/clearer.model.mjs +0 -3
  508. package/esm2022/input/clearer/clearer.module.mjs +0 -16
  509. package/esm2022/input/clearer/index.mjs +0 -4
  510. package/esm2022/input/displayer/index.mjs +0 -4
  511. package/esm2022/input/displayer/input-displayer.directive.mjs +0 -59
  512. package/esm2022/input/displayer/input-displayer.model.mjs +0 -6
  513. package/esm2022/input/displayer/input-displayer.module.mjs +0 -16
  514. package/esm2022/input/input.directive.mjs +0 -42
  515. package/esm2022/input/input.model.mjs +0 -54
  516. package/esm2022/input/input.module.mjs +0 -18
  517. package/esm2022/input/lucca-front-ng-input.mjs +0 -5
  518. package/esm2022/input/public-api.mjs +0 -6
  519. package/esm2022/lucca-front-ng.mjs +0 -5
  520. package/esm2022/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.mjs +0 -100
  521. package/esm2022/modal/dialog-adapter/dialog-ref-adapter.mjs +0 -19
  522. package/esm2022/modal/lucca-front-ng-modal.mjs +0 -5
  523. package/esm2022/modal/modal-config.default.mjs +0 -17
  524. package/esm2022/modal/modal-config.model.mjs +0 -5
  525. package/esm2022/modal/modal-panel.component.mjs +0 -123
  526. package/esm2022/modal/modal-ref.factory.mjs +0 -60
  527. package/esm2022/modal/modal-ref.model.mjs +0 -11
  528. package/esm2022/modal/modal.model.mjs +0 -2
  529. package/esm2022/modal/modal.module.mjs +0 -28
  530. package/esm2022/modal/modal.service.mjs +0 -42
  531. package/esm2022/modal/modal.token.mjs +0 -9
  532. package/esm2022/modal/modal.translate.mjs +0 -7
  533. package/esm2022/modal/modal.utils.mjs +0 -9
  534. package/esm2022/modal/public-api.mjs +0 -12
  535. package/esm2022/modal/translations.mjs +0 -43
  536. package/esm2022/multi-select/displayer/counter-displayer/counter-displayer.component.mjs +0 -78
  537. package/esm2022/multi-select/displayer/default-displayer.component.mjs +0 -95
  538. package/esm2022/multi-select/displayer/default-displayer.translate.mjs +0 -7
  539. package/esm2022/multi-select/displayer/displayer-input.directive.mjs +0 -101
  540. package/esm2022/multi-select/displayer/displayer.directive.mjs +0 -26
  541. package/esm2022/multi-select/displayer/index.mjs +0 -6
  542. package/esm2022/multi-select/displayer/translations.mjs +0 -51
  543. package/esm2022/multi-select/input/index.mjs +0 -3
  544. package/esm2022/multi-select/input/panel-ref.factory.mjs +0 -119
  545. package/esm2022/multi-select/input/panel.model.mjs +0 -4
  546. package/esm2022/multi-select/input/select-all/index.mjs +0 -2
  547. package/esm2022/multi-select/input/select-all/multi-select-all-displayer.component.mjs +0 -99
  548. package/esm2022/multi-select/input/select-all/multi-select-all-header.component.mjs +0 -36
  549. package/esm2022/multi-select/input/select-all/select-all.models.mjs +0 -3
  550. package/esm2022/multi-select/input/select-all/with-select-all.directive.mjs +0 -160
  551. package/esm2022/multi-select/input/select-input.component.mjs +0 -111
  552. package/esm2022/multi-select/lucca-front-ng-multi-select.mjs +0 -5
  553. package/esm2022/multi-select/panel/index.mjs +0 -2
  554. package/esm2022/multi-select/panel/option-group-context.pipe.mjs +0 -24
  555. package/esm2022/multi-select/panel/option-selected.pipe.mjs +0 -19
  556. package/esm2022/multi-select/panel/panel.component.mjs +0 -109
  557. package/esm2022/multi-select/panel/selected-chip.directive.mjs +0 -26
  558. package/esm2022/multi-select/public-api.mjs +0 -5
  559. package/esm2022/multi-select/select.model.mjs +0 -23
  560. package/esm2022/multi-select/select.translate.mjs +0 -7
  561. package/esm2022/multi-select/select.utils.mjs +0 -32
  562. package/esm2022/multi-select/translations.mjs +0 -107
  563. package/esm2022/new-badge/lucca-front-ng-new-badge.mjs +0 -5
  564. package/esm2022/new-badge/new-badge.component.mjs +0 -20
  565. package/esm2022/new-badge/public-api.mjs +0 -2
  566. package/esm2022/number/lucca-front-ng-number.mjs +0 -5
  567. package/esm2022/number/number.module.mjs +0 -16
  568. package/esm2022/number/number.pipe.mjs +0 -36
  569. package/esm2022/number/public-api.mjs +0 -3
  570. package/esm2022/number-format/lucca-front-ng-number-format.mjs +0 -5
  571. package/esm2022/number-format/number-format.directive.mjs +0 -91
  572. package/esm2022/number-format/number-format.mjs +0 -175
  573. package/esm2022/number-format/number-format.models.mjs +0 -7
  574. package/esm2022/number-format/number-format.pipe.mjs +0 -18
  575. package/esm2022/number-format/public-api.mjs +0 -5
  576. package/esm2022/numeric-badge/lucca-front-ng-numeric-badge.mjs +0 -5
  577. package/esm2022/numeric-badge/numeric-badge.component.mjs +0 -43
  578. package/esm2022/numeric-badge/public-api.mjs +0 -2
  579. package/esm2022/option/item/index.mjs +0 -8
  580. package/esm2022/option/item/option-item.component.mjs +0 -76
  581. package/esm2022/option/item/option-item.model.mjs +0 -3
  582. package/esm2022/option/item/option-item.module.mjs +0 -16
  583. package/esm2022/option/item/translations.mjs +0 -35
  584. package/esm2022/option/item/tree-option-item.component.mjs +0 -136
  585. package/esm2022/option/item/tree-option-item.model.mjs +0 -7
  586. package/esm2022/option/item/tree-option-item.module.mjs +0 -16
  587. package/esm2022/option/item/tree-option-item.translate.mjs +0 -7
  588. package/esm2022/option/lucca-front-ng-option.mjs +0 -5
  589. package/esm2022/option/operator/feeder/index.mjs +0 -5
  590. package/esm2022/option/operator/feeder/option-feeder.component.mjs +0 -33
  591. package/esm2022/option/operator/feeder/option-feeder.module.mjs +0 -16
  592. package/esm2022/option/operator/feeder/tree-option-feeder.component.mjs +0 -33
  593. package/esm2022/option/operator/feeder/tree-option-feeder.module.mjs +0 -16
  594. package/esm2022/option/operator/for-groups/for-groups.directive.mjs +0 -89
  595. package/esm2022/option/operator/for-groups/for-groups.module.mjs +0 -16
  596. package/esm2022/option/operator/for-groups/index.mjs +0 -3
  597. package/esm2022/option/operator/for-options/for-options.directive.mjs +0 -50
  598. package/esm2022/option/operator/for-options/for-options.module.mjs +0 -16
  599. package/esm2022/option/operator/for-options/for-tree-options.directive.mjs +0 -29
  600. package/esm2022/option/operator/for-options/for-tree-options.module.mjs +0 -16
  601. package/esm2022/option/operator/for-options/index.mjs +0 -5
  602. package/esm2022/option/operator/index.mjs +0 -10
  603. package/esm2022/option/operator/option-operator.model.mjs +0 -3
  604. package/esm2022/option/operator/option-operator.module.mjs +0 -20
  605. package/esm2022/option/operator/pager/index.mjs +0 -5
  606. package/esm2022/option/operator/pager/option-pager.component.mjs +0 -53
  607. package/esm2022/option/operator/pager/option-pager.module.mjs +0 -16
  608. package/esm2022/option/operator/pager/tree-option-pager.component.mjs +0 -71
  609. package/esm2022/option/operator/pager/tree-option-pager.module.mjs +0 -16
  610. package/esm2022/option/operator/searcher/index.mjs +0 -5
  611. package/esm2022/option/operator/searcher/option-searcher.component.mjs +0 -66
  612. package/esm2022/option/operator/searcher/option-searcher.module.mjs +0 -16
  613. package/esm2022/option/operator/searcher/tree-option-searcher.component.mjs +0 -83
  614. package/esm2022/option/operator/searcher/tree-option-searcher.module.mjs +0 -16
  615. package/esm2022/option/operator/tree-option-operator.model.mjs +0 -4
  616. package/esm2022/option/operator/tree-option-operator.module.mjs +0 -19
  617. package/esm2022/option/option.module.mjs +0 -63
  618. package/esm2022/option/picker/index.mjs +0 -9
  619. package/esm2022/option/picker/option-picker-advanced.component.mjs +0 -150
  620. package/esm2022/option/picker/option-picker.component.mjs +0 -319
  621. package/esm2022/option/picker/option-picker.model.mjs +0 -69
  622. package/esm2022/option/picker/option-picker.module.mjs +0 -18
  623. package/esm2022/option/picker/tree-option-picker-advanced.component.mjs +0 -140
  624. package/esm2022/option/picker/tree-option-picker.component.mjs +0 -173
  625. package/esm2022/option/picker/tree-option-picker.model.mjs +0 -4
  626. package/esm2022/option/picker/tree-option-picker.module.mjs +0 -21
  627. package/esm2022/option/placeholder/index.mjs +0 -4
  628. package/esm2022/option/placeholder/option-placeholder.component.mjs +0 -23
  629. package/esm2022/option/placeholder/option-placeholder.module.mjs +0 -16
  630. package/esm2022/option/placeholder/option-placeholder.translate.mjs +0 -7
  631. package/esm2022/option/placeholder/translations.mjs +0 -35
  632. package/esm2022/option/public-api.mjs +0 -8
  633. package/esm2022/option/selector/all/index.mjs +0 -6
  634. package/esm2022/option/selector/all/select-all.component.mjs +0 -64
  635. package/esm2022/option/selector/all/select-all.module.mjs +0 -16
  636. package/esm2022/option/selector/all/select-all.translate.mjs +0 -7
  637. package/esm2022/option/selector/all/translations.mjs +0 -35
  638. package/esm2022/option/selector/all/tree-select-all.component.mjs +0 -67
  639. package/esm2022/option/selector/all/tree-select-all.module.mjs +0 -16
  640. package/esm2022/option/selector/index.mjs +0 -6
  641. package/esm2022/option/selector/option-selector.model.mjs +0 -3
  642. package/esm2022/option/selector/option-selector.module.mjs +0 -16
  643. package/esm2022/option/selector/tree-option-selector.model.mjs +0 -4
  644. package/esm2022/option/selector/tree-option-selector.module.mjs +0 -16
  645. package/esm2022/option/tree-option.module.mjs +0 -19
  646. package/esm2022/picker/input-picker.model.mjs +0 -4
  647. package/esm2022/picker/lucca-front-ng-picker.mjs +0 -5
  648. package/esm2022/picker/public-api.mjs +0 -2
  649. package/esm2022/plg-push/lucca-front-ng-plg-push.mjs +0 -5
  650. package/esm2022/plg-push/plg-push.component.mjs +0 -17
  651. package/esm2022/plg-push/public-api.mjs +0 -2
  652. package/esm2022/popover/animation/index.mjs +0 -2
  653. package/esm2022/popover/animation/popover.animation.mjs +0 -16
  654. package/esm2022/popover/lucca-front-ng-popover.mjs +0 -5
  655. package/esm2022/popover/panel/index.mjs +0 -4
  656. package/esm2022/popover/panel/popover-panel.component.mjs +0 -126
  657. package/esm2022/popover/panel/popover-panel.model.mjs +0 -120
  658. package/esm2022/popover/panel/popover-panel.module.mjs +0 -16
  659. package/esm2022/popover/popover.module.mjs +0 -18
  660. package/esm2022/popover/public-api.mjs +0 -6
  661. package/esm2022/popover/target/index.mjs +0 -4
  662. package/esm2022/popover/target/popover-target.directive.mjs +0 -53
  663. package/esm2022/popover/target/popover-target.model.mjs +0 -65
  664. package/esm2022/popover/target/popover-target.module.mjs +0 -16
  665. package/esm2022/popover/trigger/index.mjs +0 -4
  666. package/esm2022/popover/trigger/popover-trigger.directive.mjs +0 -186
  667. package/esm2022/popover/trigger/popover-trigger.model.mjs +0 -470
  668. package/esm2022/popover/trigger/popover-trigger.module.mjs +0 -17
  669. package/esm2022/popover2/content/popover-content/popover-content.component.mjs +0 -78
  670. package/esm2022/popover2/lucca-front-ng-popover2.mjs +0 -5
  671. package/esm2022/popover2/popover-focus-trap.mjs +0 -24
  672. package/esm2022/popover2/popover-tokens.mjs +0 -3
  673. package/esm2022/popover2/popover.directive.mjs +0 -257
  674. package/esm2022/popover2/popover.providers.mjs +0 -6
  675. package/esm2022/popover2/popover.translate.mjs +0 -7
  676. package/esm2022/popover2/popover2.translate.mjs +0 -19
  677. package/esm2022/popover2/public-api.mjs +0 -4
  678. package/esm2022/popover2/translations.mjs +0 -27
  679. package/esm2022/popup/lucca-front-ng-popup.mjs +0 -5
  680. package/esm2022/popup/popup-config.default.mjs +0 -9
  681. package/esm2022/popup/popup-config.model.mjs +0 -2
  682. package/esm2022/popup/popup-ref.factory.mjs +0 -28
  683. package/esm2022/popup/popup-ref.model.mjs +0 -139
  684. package/esm2022/popup/popup.module.mjs +0 -21
  685. package/esm2022/popup/popup.service.mjs +0 -21
  686. package/esm2022/popup/popup.token.mjs +0 -8
  687. package/esm2022/popup/public-api.mjs +0 -8
  688. package/esm2022/popup-employee/card/panel/user-popover-panel.component.mjs +0 -153
  689. package/esm2022/popup-employee/card/panel/user-popover-panel.model.mjs +0 -2
  690. package/esm2022/popup-employee/card/pipe/inject-parameter.pipe.mjs +0 -18
  691. package/esm2022/popup-employee/card/pipe/is-future.pipe.mjs +0 -32
  692. package/esm2022/popup-employee/card/pipe/leave-ends-display.pipe.mjs +0 -44
  693. package/esm2022/popup-employee/card/trigger/user-popover-trigger.directive.mjs +0 -178
  694. package/esm2022/popup-employee/lucca-front-ng-popup-employee.mjs +0 -5
  695. package/esm2022/popup-employee/popup-employee.translate.mjs +0 -7
  696. package/esm2022/popup-employee/public-api.mjs +0 -5
  697. package/esm2022/popup-employee/service/user-popover-service.model.mjs +0 -2
  698. package/esm2022/popup-employee/service/user-popover.store.mjs +0 -59
  699. package/esm2022/popup-employee/translations.mjs +0 -107
  700. package/esm2022/popup-employee/user-popover.model.mjs +0 -2
  701. package/esm2022/popup-employee/user-popover.providers.mjs +0 -14
  702. package/esm2022/public_api.mjs +0 -2
  703. package/esm2022/qualification/lucca-front-ng-qualification.mjs +0 -5
  704. package/esm2022/qualification/public-api.mjs +0 -4
  705. package/esm2022/qualification/qualification.model.mjs +0 -2
  706. package/esm2022/qualification/qualification.module.mjs +0 -19
  707. package/esm2022/qualification/select/index.mjs +0 -3
  708. package/esm2022/qualification/select/input/index.mjs +0 -4
  709. package/esm2022/qualification/select/input/qualification-select-input.component.mjs +0 -60
  710. package/esm2022/qualification/select/input/qualification-select-input.module.mjs +0 -19
  711. package/esm2022/qualification/select/input/qualification-select-input.translate.mjs +0 -7
  712. package/esm2022/qualification/select/input/translations.mjs +0 -27
  713. package/esm2022/qualification/select/qualification-select.module.mjs +0 -19
  714. package/esm2022/safe-content/lucca-front-ng-safe-content.mjs +0 -5
  715. package/esm2022/safe-content/public-api.mjs +0 -4
  716. package/esm2022/safe-content/safe-content.module.mjs +0 -18
  717. package/esm2022/safe-content/safe-external-svg.pipe.mjs +0 -42
  718. package/esm2022/safe-content/safe-html.pipe.mjs +0 -19
  719. package/esm2022/scroll/lucca-front-ng-scroll.mjs +0 -5
  720. package/esm2022/scroll/public-api.mjs +0 -4
  721. package/esm2022/scroll/scroll.directive.mjs +0 -77
  722. package/esm2022/scroll/scroll.model.mjs +0 -2
  723. package/esm2022/scroll/scroll.module.mjs +0 -16
  724. package/esm2022/select/input/index.mjs +0 -4
  725. package/esm2022/select/input/select-input.component.mjs +0 -249
  726. package/esm2022/select/input/select-input.model.mjs +0 -179
  727. package/esm2022/select/input/select-input.module.mjs +0 -19
  728. package/esm2022/select/lucca-front-ng-select.mjs +0 -5
  729. package/esm2022/select/public-api.mjs +0 -3
  730. package/esm2022/select/select.module.mjs +0 -19
  731. package/esm2022/sidepanel/lucca-front-ng-sidepanel.mjs +0 -5
  732. package/esm2022/sidepanel/public-api.mjs +0 -4
  733. package/esm2022/sidepanel/sidepanel.model.mjs +0 -32
  734. package/esm2022/sidepanel/sidepanel.module.mjs +0 -20
  735. package/esm2022/sidepanel/sidepanel.service.mjs +0 -25
  736. package/esm2022/simple-select/api/api-v3.directive.mjs +0 -6
  737. package/esm2022/simple-select/api/api-v4.directive.mjs +0 -6
  738. package/esm2022/simple-select/api/api.directive.mjs +0 -6
  739. package/esm2022/simple-select/api/lucca-front-ng-simple-select-api.mjs +0 -5
  740. package/esm2022/simple-select/api/public-api.mjs +0 -4
  741. package/esm2022/simple-select/input/index.mjs +0 -2
  742. package/esm2022/simple-select/input/panel-ref.factory.mjs +0 -106
  743. package/esm2022/simple-select/input/select-input.component.mjs +0 -60
  744. package/esm2022/simple-select/lucca-front-ng-simple-select.mjs +0 -5
  745. package/esm2022/simple-select/panel/index.mjs +0 -2
  746. package/esm2022/simple-select/panel/option-selected.pipe.mjs +0 -17
  747. package/esm2022/simple-select/panel/panel.component.mjs +0 -70
  748. package/esm2022/simple-select/public-api.mjs +0 -4
  749. package/esm2022/simple-select/select.model.mjs +0 -3
  750. package/esm2022/simple-select/select.translate.mjs +0 -7
  751. package/esm2022/simple-select/translations.mjs +0 -59
  752. package/esm2022/skeleton/lucca-front-ng-skeleton.mjs +0 -5
  753. package/esm2022/skeleton/public-api.mjs +0 -4
  754. package/esm2022/skeleton/skeleton-button/skeleton-button.component.mjs +0 -17
  755. package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +0 -17
  756. package/esm2022/skeleton/skeleton-header/skeleton-header.component.mjs +0 -17
  757. package/esm2022/tag/lucca-front-ng-tag.mjs +0 -5
  758. package/esm2022/tag/public-api.mjs +0 -2
  759. package/esm2022/tag/tag.component.mjs +0 -61
  760. package/esm2022/time/core/base-picker.component.mjs +0 -47
  761. package/esm2022/time/core/date-primitives.mjs +0 -2
  762. package/esm2022/time/core/date.utils.mjs +0 -54
  763. package/esm2022/time/core/duration.utils.mjs +0 -55
  764. package/esm2022/time/core/math.utils.mjs +0 -17
  765. package/esm2022/time/core/misc.utils.mjs +0 -3
  766. package/esm2022/time/core/repeat-on-hold.directive.mjs +0 -73
  767. package/esm2022/time/core/time-picker-part.component.mjs +0 -148
  768. package/esm2022/time/duration-picker/duration-picker.component.mjs +0 -197
  769. package/esm2022/time/duration-picker/duration-picker.model.mjs +0 -2
  770. package/esm2022/time/duration-picker/duration-picker.translate.mjs +0 -7
  771. package/esm2022/time/duration-picker/translations.mjs +0 -43
  772. package/esm2022/time/lucca-front-ng-time.mjs +0 -5
  773. package/esm2022/time/public-api.mjs +0 -5
  774. package/esm2022/time/time-picker/time-picker.component.mjs +0 -230
  775. package/esm2022/time/time-picker/time-picker.model.mjs +0 -3
  776. package/esm2022/time/time-picker/time-picker.translate.mjs +0 -7
  777. package/esm2022/time/time-picker/translations.mjs +0 -43
  778. package/esm2022/title/lucca-front-ng-title.mjs +0 -5
  779. package/esm2022/title/public-api.mjs +0 -6
  780. package/esm2022/title/title-translate.service.mjs +0 -3
  781. package/esm2022/title/title.model.mjs +0 -2
  782. package/esm2022/title/title.module.mjs +0 -20
  783. package/esm2022/title/title.service.mjs +0 -55
  784. package/esm2022/title/title.strategy.mjs +0 -60
  785. package/esm2022/toast/lucca-front-ng-toast.mjs +0 -5
  786. package/esm2022/toast/public-api.mjs +0 -9
  787. package/esm2022/toast/toasts.component.mjs +0 -62
  788. package/esm2022/toast/toasts.model.mjs +0 -2
  789. package/esm2022/toast/toasts.module.mjs +0 -16
  790. package/esm2022/toast/toasts.service.mjs +0 -37
  791. package/esm2022/toast/toasts.translate.mjs +0 -7
  792. package/esm2022/toast/translations.mjs +0 -27
  793. package/esm2022/tooltip/animation/index.mjs +0 -2
  794. package/esm2022/tooltip/animation/tooltip.animation.mjs +0 -16
  795. package/esm2022/tooltip/lucca-front-ng-tooltip.mjs +0 -5
  796. package/esm2022/tooltip/panel/index.mjs +0 -3
  797. package/esm2022/tooltip/panel/tooltip-panel.component.mjs +0 -44
  798. package/esm2022/tooltip/panel/tooltip-panel.module.mjs +0 -16
  799. package/esm2022/tooltip/public-api.mjs +0 -5
  800. package/esm2022/tooltip/tooltip.module.mjs +0 -17
  801. package/esm2022/tooltip/trigger/ellipsis.ruler.mjs +0 -81
  802. package/esm2022/tooltip/trigger/index.mjs +0 -3
  803. package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +0 -310
  804. package/esm2022/tooltip/trigger/tooltip-trigger.module.mjs +0 -17
  805. package/esm2022/user/display/display-format.model.mjs +0 -25
  806. package/esm2022/user/display/index.mjs +0 -4
  807. package/esm2022/user/display/user-display.module.mjs +0 -17
  808. package/esm2022/user/display/user-display.pipe.mjs +0 -72
  809. package/esm2022/user/lucca-front-ng-user.mjs +0 -5
  810. package/esm2022/user/picture/index.mjs +0 -3
  811. package/esm2022/user/picture/user-picture.component.mjs +0 -85
  812. package/esm2022/user/picture/user-picture.module.mjs +0 -19
  813. package/esm2022/user/public-api.mjs +0 -8
  814. package/esm2022/user/select/homonyms/index.mjs +0 -4
  815. package/esm2022/user/select/homonyms/user-homonyms.component.mjs +0 -72
  816. package/esm2022/user/select/homonyms/user-homonyms.module.mjs +0 -16
  817. package/esm2022/user/select/homonyms/user-homonyms.service.mjs +0 -53
  818. package/esm2022/user/select/index.mjs +0 -6
  819. package/esm2022/user/select/input/index.mjs +0 -4
  820. package/esm2022/user/select/input/translations.mjs +0 -35
  821. package/esm2022/user/select/input/user-select-input.component.mjs +0 -89
  822. package/esm2022/user/select/input/user-select-input.module.mjs +0 -19
  823. package/esm2022/user/select/input/user-select-input.translate.mjs +0 -7
  824. package/esm2022/user/select/me/index.mjs +0 -3
  825. package/esm2022/user/select/me/me-option.directive.mjs +0 -123
  826. package/esm2022/user/select/me/me-option.module.mjs +0 -16
  827. package/esm2022/user/select/searcher/index.mjs +0 -4
  828. package/esm2022/user/select/searcher/translations.mjs +0 -27
  829. package/esm2022/user/select/searcher/user-searcher.component.mjs +0 -187
  830. package/esm2022/user/select/searcher/user-searcher.module.mjs +0 -16
  831. package/esm2022/user/select/searcher/user-searcher.translate.mjs +0 -7
  832. package/esm2022/user/select/user-select.module.mjs +0 -22
  833. package/esm2022/user/service/index.mjs +0 -3
  834. package/esm2022/user/service/user-service.model.mjs +0 -4
  835. package/esm2022/user/service/user-v3.service.mjs +0 -51
  836. package/esm2022/user/tile/index.mjs +0 -3
  837. package/esm2022/user/tile/user-tile.component.mjs +0 -63
  838. package/esm2022/user/tile/user-tile.module.mjs +0 -20
  839. package/esm2022/user/user.model.mjs +0 -2
  840. package/esm2022/user/user.module.mjs +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-date2.mjs","sources":["../../../packages/ng/date2/calendar.token.ts","../../../packages/ng/date2/translations.ts","../../../packages/ng/date2/date2.translate.ts","../../../packages/ng/date2/repeat-times.directive.ts","../../../packages/ng/date2/utils.ts","../../../packages/ng/date2/calendar2/calendar2.tokens.ts","../../../packages/ng/date2/calendar2/calendar2-cell.directive.ts","../../../packages/ng/date2/calendar2/calendar2.component.ts","../../../packages/ng/date2/calendar2/calendar2.component.html","../../../packages/ng/date2/date-format.ts","../../../packages/ng/date2/date-input/date-input.component.ts","../../../packages/ng/date2/date-input/date-input.component.html","../../../packages/ng/date2/lucca-front-ng-date2.ts"],"sourcesContent":["import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { getLocaleFirstDayOfWeek, getLocaleWeekEndRange } from '@angular/common';\n\nexport type CalendarWeekDay = 1 | 2 | 3 | 4 | 5 | 6 | 7;\n\nexport interface CalendarWeekInfo {\n\tfirstDay: CalendarWeekDay;\n\tweekend: CalendarWeekDay[];\n}\n\nexport const WEEK_INFO = new InjectionToken<CalendarWeekInfo>('Calendar2:WeekInfo', {\n\tfactory: () => {\n\t\tconst locale = inject(LOCALE_ID);\n\t\t// TODO find a reliable way to obtain this, Angular has a deprecated method, date-fns can't get locale from string, Intl's weekDay isn't in firefox\n\t\tconst [weekendStart, weekendEnd] = getLocaleWeekEndRange(locale);\n\t\tconst weekend: number[] = [];\n\t\tlet weekDay: number = weekendStart;\n\t\twhile (weekDay != weekendEnd) {\n\t\t\t// Sunday is 0 in Angular but 7 in Intl\n\t\t\tweekend.push(weekDay || 7);\n\t\t\tweekDay = (weekDay + 1) % 7;\n\t\t}\n\t\tweekend.push(weekDay || 7);\n\t\treturn {\n\t\t\tfirstDay: (getLocaleFirstDayOfWeek(locale) + 7) % 7,\n\t\t\tweekend,\n\t\t} as CalendarWeekInfo;\n\t},\n});\n","export const Translations = {\n\tfr: {\n\t\tdirectionKeysTip: 'Les touches directionnelles servent à parcourir les dates.',\n\t\tpickDate: 'Choisir une date dans le calendrier',\n\t\tprevious: 'Précédent',\n\t\tnext: 'Suivant',\n\t\tclear: 'Vider ce champ',\n\t},\n\ten: {\n\t\tdirectionKeysTip: 'The arrow keys are used to navigate through dates.',\n\t\tpickDate: 'Pick a date in calendar',\n\t\tprevious: 'Previous',\n\t\tnext: 'Next',\n\t\tclear: 'Clear',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DATE2_TRANSLATIONS = new InjectionToken('LuDate2Translations', {\n\tfactory: () => luDate2Translations,\n});\n\nexport interface Date2Translate {\n\tdirectionKeysTip: string;\n\tpickDate: string;\n\tprevious: string;\n\tnext: string;\n\tclear: string;\n}\n\nexport const luDate2Translations: LuTranslation<Date2Translate> = Translations;\n","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n\tselector: '[luRepeatTimes]',\n\tstandalone: true,\n})\nexport class RepeatTimesDirective {\n\tprivate templateRef = inject<TemplateRef<void>>(TemplateRef);\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\n\t@Input('luRepeatTimes')\n\tpublic set repeatTimes(times: number) {\n\t\tthis.viewContainerRef.clear();\n\n\t\tfor (let i = 0; i < times; i++) {\n\t\t\tthis.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t}\n\t}\n}\n","import { CalendarWeekDay, CalendarWeekInfo } from './calendar.token';\nimport { Day, isSameDay, isSameMonth, isSameYear, startOfDay, startOfMonth, startOfYear } from 'date-fns';\nimport { CalendarMode } from './calendar2/calendar-mode';\n\nexport function getIntlWeekDay(date: Date): CalendarWeekDay {\n\treturn (date.getDay() || 7) as CalendarWeekDay;\n}\n\nexport function getJSFirstDayOfWeek(weekInfo: CalendarWeekInfo): Day {\n\treturn (weekInfo.firstDay % 7) as Day;\n}\n\nconst modeToComparator: Record<CalendarMode, (a: Date, b: Date) => boolean> = {\n\tday: isSameDay,\n\tmonth: isSameMonth,\n\tyear: isSameYear,\n};\n\nconst modeToPeriodStart: Record<CalendarMode, (date: Date) => Date> = {\n\tday: startOfDay,\n\tmonth: startOfMonth,\n\tyear: startOfYear,\n};\n\nexport function comparePeriods(mode: CalendarMode, a: Date, b: Date): boolean {\n\treturn modeToComparator[mode](a, b);\n}\n\nexport function startOfPeriod(mode: CalendarMode, date: Date): Date {\n\treturn modeToPeriodStart[mode](date);\n}\n","import { InjectionToken, Signal, WritableSignal } from '@angular/core';\nimport { Calendar2CellDirective } from './calendar2-cell.directive';\n\nexport const CALENDAR_CELLS = new InjectionToken<Signal<Calendar2CellDirective[]>>('Calendar2:Calendar2Cells');\nexport const CALENDAR_TABBABLE_DATE = new InjectionToken<WritableSignal<Date>>('Calendar2:TabbableDate');\n","import { computed, Directive, ElementRef, HostBinding, HostListener, inject, input } from '@angular/core';\nimport { CALENDAR_TABBABLE_DATE } from './calendar2.tokens';\nimport { CalendarMode } from './calendar-mode';\nimport { add, addMonths, addYears, endOfWeek, startOfWeek, sub, subMonths, subYears } from 'date-fns';\nimport type { Duration } from 'date-fns/types';\nimport { WEEK_INFO } from '../calendar.token';\nimport { comparePeriods, getJSFirstDayOfWeek } from '../utils';\n\nconst modeToDurationKey: Record<CalendarMode, keyof Duration> = {\n\tday: 'days',\n\tmonth: 'months',\n\tyear: 'years',\n};\n\n@Directive({\n\tselector: '[luCalendar2Cell]',\n\tstandalone: true,\n})\nexport class Calendar2CellDirective {\n\t#host = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\t#tabbableDate = inject(CALENDAR_TABBABLE_DATE);\n\t#weekInfo = inject(WEEK_INFO);\n\n\t// Index of this day in the current week display row, not depending on locale, 0 is first day of week and 6 is last\n\tluCalendar2Cell = input.required<number>();\n\n\tluCalendar2Mode = input.required<CalendarMode>();\n\n\tluCalendar2Date = input.required<Date>();\n\n\t@HostBinding('tabindex')\n\tget tabindex(): 0 | -1 {\n\t\treturn this.isTabbableDate() ? 0 : -1;\n\t}\n\n\tisTabbableDate = computed(() => {\n\t\treturn comparePeriods(this.luCalendar2Mode(), this.luCalendar2Date(), this.#tabbableDate());\n\t});\n\n\t@HostListener('keydown', ['$event'])\n\tkeydown($event: KeyboardEvent): void {\n\t\t// See https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/examples/datepicker-dialog/#ex_label for keyboard\n\t\t// navigation standards on date pickers\n\t\tconst cellsPerRow = this.luCalendar2Mode() === 'day' ? 7 : 3;\n\t\tconst datePropertyToEdit = modeToDurationKey[this.luCalendar2Mode()];\n\t\tswitch ($event.key) {\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis.#tabbableDate.set(add(this.luCalendar2Date(), { [datePropertyToEdit]: 1 }));\n\t\t\t\t$event.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis.#tabbableDate.set(sub(this.luCalendar2Date(), { [datePropertyToEdit]: 1 }));\n\t\t\t\t$event.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tthis.#tabbableDate.set(add(this.luCalendar2Date(), { [datePropertyToEdit]: cellsPerRow }));\n\t\t\t\t$event.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tthis.#tabbableDate.set(sub(this.luCalendar2Date(), { [datePropertyToEdit]: cellsPerRow }));\n\t\t\t\t$event.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tif (this.luCalendar2Mode() === 'day') {\n\t\t\t\t\tthis.#tabbableDate.set(startOfWeek(this.luCalendar2Date(), { weekStartsOn: getJSFirstDayOfWeek(this.#weekInfo) }));\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tif (this.luCalendar2Mode() === 'day') {\n\t\t\t\t\tthis.#tabbableDate.set(endOfWeek(this.luCalendar2Date(), { weekStartsOn: getJSFirstDayOfWeek(this.#weekInfo) }));\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'PageUp':\n\t\t\t\tif (this.luCalendar2Mode() === 'day') {\n\t\t\t\t\tif ($event.shiftKey) {\n\t\t\t\t\t\tthis.#tabbableDate.set(subYears(this.luCalendar2Date(), 1));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.#tabbableDate.set(subMonths(this.luCalendar2Date(), 1));\n\t\t\t\t\t}\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'PageDown':\n\t\t\t\tif (this.luCalendar2Mode() === 'day') {\n\t\t\t\t\tif ($event.shiftKey) {\n\t\t\t\t\t\tthis.#tabbableDate.set(addYears(this.luCalendar2Date(), 1));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.#tabbableDate.set(addMonths(this.luCalendar2Date(), 1));\n\t\t\t\t\t}\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tfocus(): void {\n\t\tthis.#host.nativeElement.focus();\n\t}\n\n\tblur(): void {\n\t\tthis.#host.nativeElement.blur();\n\t}\n}\n","import { NgClass } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, LOCALE_ID, model, OnInit, output, viewChildren, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { CalloutComponent } from '@lucca-front/ng/callout';\nimport {\n\taddMonths,\n\taddYears,\n\teachDayOfInterval,\n\teachMonthOfInterval,\n\teachYearOfInterval,\n\tendOfDecade,\n\tendOfMonth,\n\tendOfWeek,\n\tendOfYear,\n\tisSameDay,\n\tisSameMonth,\n\tisSameYear,\n\tisWithinInterval,\n\tlastDayOfMonth,\n\tstartOfDay,\n\tstartOfDecade,\n\tstartOfMonth,\n\tstartOfWeek,\n\tstartOfYear,\n\tsubMonths,\n\tsubYears,\n\tWeekOptions,\n} from 'date-fns';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { WEEK_INFO } from '../calendar.token';\nimport { LU_DATE2_TRANSLATIONS } from '../date2.translate';\nimport { RepeatTimesDirective } from '../repeat-times.directive';\nimport { getIntlWeekDay, getJSFirstDayOfWeek } from '../utils';\nimport { CalendarCellInfo, CalendarMonthInfo, CalendarYearInfo } from './calendar-cell-info';\nimport { CalendarMode } from './calendar-mode';\nimport { Calendar2CellDirective } from './calendar2-cell.directive';\nimport { CALENDAR_CELLS, CALENDAR_TABBABLE_DATE } from './calendar2.tokens';\nimport { CellStatus } from './cell-status';\nimport { DateRange } from './date-range';\n\nconst MODE_HIERARCHY: CalendarMode[] = ['day', 'month', 'year'];\n\n@Component({\n\tselector: 'lu-calendar2',\n\tstandalone: true,\n\timports: [RepeatTimesDirective, ButtonComponent, Calendar2CellDirective, NgClass, CalloutComponent, LuTooltipTriggerDirective],\n\ttemplateUrl: './calendar2.component.html',\n\tstyleUrl: './calendar2.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: CALENDAR_CELLS,\n\t\t\tuseFactory: () => inject(Calendar2Component).calendar2CellInstances,\n\t\t},\n\t\t{\n\t\t\tprovide: CALENDAR_TABBABLE_DATE,\n\t\t\tuseFactory: () => inject(Calendar2Component).tabbableDate,\n\t\t},\n\t],\n})\nexport class Calendar2Component implements OnInit {\n\t#locale = inject(LOCALE_ID);\n\t#weekInfo = inject(WEEK_INFO);\n\treadonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#intlDateFormat = new Intl.DateTimeFormat(this.#locale, { month: 'long' });\n\t#intlDateYear = new Intl.DateTimeFormat(this.#locale, { year: 'numeric' });\n\n\t#intlDaysLong = new Intl.DateTimeFormat(this.#locale, { weekday: 'long' });\n\t#intlDaysShort = new Intl.DateTimeFormat(this.#locale, { weekday: 'short' });\n\t#intlRelativeDay = new Intl.RelativeTimeFormat(this.#locale, { numeric: 'auto' });\n\n\t#intlMonthsLong = new Intl.DateTimeFormat(this.#locale, { month: 'long' });\n\t#intlMonthsShort = new Intl.DateTimeFormat(this.#locale, { month: 'short' });\n\n\t#weekOptions: WeekOptions = { weekStartsOn: getJSFirstDayOfWeek(this.#weekInfo) };\n\n\tintl = getIntl(LU_DATE2_TRANSLATIONS);\n\n\tshowOverflow = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\tenableOverflow = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\thideToday = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\thasTodayButton = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\thideWeekend = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\t// Date used to init the component and as internal focus model\n\tdate = model.required<Date>();\n\n\ttabbableDate = model<Date | null>(null);\n\n\tmode = model<CalendarMode>('day');\n\n\tdisplayMode = model<CalendarMode>('year');\n\n\tranges = input<DateRange[]>([]);\n\n\tgetCellInfo = input<(date: Date, displayMode: CalendarMode) => CellStatus>((_date: Date) => ({\n\t\tclasses: [],\n\t\tdisabled: false,\n\t}));\n\n\tmonth = computed(() => startOfMonth(this.date()));\n\n\tyear = computed(() => startOfYear(this.date()));\n\n\tdecade = computed(() => startOfDecade(this.date()));\n\n\tpreviousMonth = computed(() => subMonths(this.month(), 1));\n\n\tnextMonth = computed(() => addMonths(this.month(), 1));\n\n\tnextPage = output();\n\n\tpreviousPage = output();\n\n\tdateClicked = output<Date>();\n\n\ttodayLabel = this.#intlRelativeDay.format(0, 'day');\n\tthisMonthLabel = this.#intlRelativeDay.format(0, 'month');\n\tthisYearLabel = this.#intlRelativeDay.format(0, 'year');\n\n\tcalendar2CellInstances = viewChildren(Calendar2CellDirective);\n\n\tdaysOfWeek = eachDayOfInterval({\n\t\tstart: startOfWeek(new Date(), this.#weekOptions),\n\t\tend: endOfWeek(new Date(), this.#weekOptions),\n\t}).map((day) => ({\n\t\tlong: this.#intlDaysLong.format(day),\n\t\tshort: this.#intlDaysShort.format(day),\n\t}));\n\n\tmonthGridDisplay = computed(() => {\n\t\tconst daysOfMonth: CalendarCellInfo[] = eachDayOfInterval({\n\t\t\tstart: this.month(),\n\t\t\tend: endOfMonth(this.month()),\n\t\t}).map((date) => this.dateToCellInfo(date));\n\t\tconst daysByWeek = daysOfMonth.reduce<Record<number, CalendarCellInfo[]>>((acc, day) => {\n\t\t\tconst key = startOfWeek(day.date, this.#weekOptions).getTime();\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[key]: [...(acc[key] || []), day],\n\t\t\t};\n\t\t}, {});\n\t\t// If we want to show days before and after this month\n\t\tif (this.showOverflow()) {\n\t\t\t// Use last week of previous month\n\t\t\tconst startOfPreviousOverflow = startOfWeek(lastDayOfMonth(this.previousMonth()), this.#weekOptions);\n\t\t\tconst previousOverflow = eachDayOfInterval({\n\t\t\t\tstart: startOfPreviousOverflow,\n\t\t\t\tend: endOfMonth(this.previousMonth()),\n\t\t\t}).map((date) => this.dateToCellInfo(date, true));\n\t\t\tif (daysByWeek[startOfPreviousOverflow.getTime()]) {\n\t\t\t\tdaysByWeek[startOfPreviousOverflow.getTime()] = [...previousOverflow, ...daysByWeek[startOfPreviousOverflow.getTime()]];\n\t\t\t}\n\t\t\t// Use first week of next month\n\t\t\tconst startOfNextMonthOverflow = startOfWeek(startOfMonth(this.nextMonth()), this.#weekOptions);\n\t\t\tconst endOfNextMonthOverflow = endOfWeek(startOfMonth(this.nextMonth()), this.#weekOptions);\n\t\t\tconst nextOverflow = eachDayOfInterval({\n\t\t\t\tstart: startOfMonth(this.nextMonth()),\n\t\t\t\tend: endOfNextMonthOverflow,\n\t\t\t}).map((date) => this.dateToCellInfo(date, true));\n\t\t\tif (daysByWeek[startOfNextMonthOverflow.getTime()]) {\n\t\t\t\tdaysByWeek[startOfNextMonthOverflow.getTime()] = [...daysByWeek[startOfNextMonthOverflow.getTime()], ...nextOverflow];\n\t\t\t}\n\t\t}\n\t\treturn Object.keys(daysByWeek)\n\t\t\t.sort()\n\t\t\t.map((weekStart) => daysByWeek[+weekStart]);\n\t});\n\n\tyearGridDisplay = computed(() => {\n\t\tconst monthsOfYear: Date[] = eachMonthOfInterval({\n\t\t\tstart: this.year(),\n\t\t\tend: endOfYear(this.year()),\n\t\t});\n\t\treturn monthsOfYear\n\t\t\t.map((month) => {\n\t\t\t\treturn {\n\t\t\t\t\tdate: month,\n\t\t\t\t\tshort: this.#intlMonthsShort.format(month),\n\t\t\t\t\tlong: this.#intlMonthsLong.format(month),\n\t\t\t\t\tisCurrent: isSameMonth(new Date(), month),\n\t\t\t\t\tstatus: this.getCellInfo()(month, this.displayMode()),\n\t\t\t\t} as CalendarMonthInfo;\n\t\t\t})\n\t\t\t.reduce<CalendarMonthInfo[][]>((all, one, i) => {\n\t\t\t\tconst ch = Math.floor(i / 3);\n\t\t\t\tall[ch] = [...(all[ch] || []), one];\n\t\t\t\treturn all;\n\t\t\t}, []);\n\t});\n\n\tdecadeGridDisplay = computed(() => {\n\t\tconst yearsOfDecade: Date[] = eachYearOfInterval({\n\t\t\tstart: subYears(this.decade(), 1),\n\t\t\tend: addYears(endOfDecade(this.decade()), 1),\n\t\t});\n\t\treturn yearsOfDecade\n\t\t\t.map((year) => {\n\t\t\t\treturn {\n\t\t\t\t\tdate: year,\n\t\t\t\t\tlabel: this.#intlDateYear.format(year),\n\t\t\t\t\tisCurrent: isSameYear(new Date(), year),\n\t\t\t\t\tstatus: this.getCellInfo()(year, this.displayMode()),\n\t\t\t\t};\n\t\t\t})\n\t\t\t.reduce<CalendarYearInfo[][]>((all, one, i) => {\n\t\t\t\tconst ch = Math.floor(i / 3);\n\t\t\t\tall[ch] = [...(all[ch] || []), one];\n\t\t\t\treturn all;\n\t\t\t}, []);\n\t});\n\n\tcurrentMonthLabel = computed(() => {\n\t\treturn this.#intlDateFormat.format(this.date());\n\t});\n\n\tcurrentYearLabel = computed(() => {\n\t\treturn this.#intlDateYear.format(this.date());\n\t});\n\n\tcurrentDecadeLabel = computed(() => {\n\t\t// eslint-disable-next-line no-irregular-whitespace\n\t\treturn `${this.#intlDateYear.format(startOfDecade(this.decade()))} – ${this.#intlDateYear.format(endOfDecade(this.decade()))}`;\n\t});\n\n\tconstructor() {\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tif (this.tabbableDate() === null) {\n\t\t\t\t\tthis.tabbableDate.set(this.date());\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\n\t\t);\n\t}\n\n\tfocusTabbableDate(): void {\n\t\tthis.calendar2CellInstances()\n\t\t\t.find((cell) => cell.isTabbableDate())\n\t\t\t?.focus();\n\t}\n\n\tblurTabbableDate(): void {\n\t\tthis.calendar2CellInstances()\n\t\t\t.find((cell) => cell.isTabbableDate())\n\t\t\t?.blur();\n\t}\n\n\tclickToday() {\n\t\tthis.onCellClicked(startOfDay(new Date()));\n\t}\n\n\tngOnInit(): void {\n\t\t// On init, set display mode to the mode specified by component consumer\n\t\tthis.displayMode.set(this.mode());\n\t}\n\n\tonCellClicked(date: Date): void {\n\t\t// On cell clicked, if display mode is same as mode, emit value\n\t\t// Else, zoom in to new mode\n\t\tif (this.displayMode() === this.mode()) {\n\t\t\tthis.dateClicked.emit(date);\n\t\t} else {\n\t\t\t// Check that we are able to zoom in\n\t\t\tconst maxZoomLevel = MODE_HIERARCHY.indexOf(this.mode());\n\t\t\tconst currentZoomLevel = MODE_HIERARCHY.indexOf(this.displayMode());\n\t\t\tconst targetZoomLevel = currentZoomLevel - 1;\n\t\t\tif (targetZoomLevel >= 0 && targetZoomLevel >= maxZoomLevel) {\n\t\t\t\tconst newZoomLevel = MODE_HIERARCHY[targetZoomLevel];\n\t\t\t\tswitch (newZoomLevel) {\n\t\t\t\t\tcase 'year':\n\t\t\t\t\t\tthis.date.set(startOfDecade(date));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'month':\n\t\t\t\t\t\tthis.date.set(startOfYear(date));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'day':\n\t\t\t\t\t\tthis.date.set(startOfMonth(date));\n\t\t\t\t}\n\t\t\t\tthis.displayMode.set(newZoomLevel);\n\t\t\t}\n\t\t}\n\t}\n\n\tdateToCellInfo(date: Date, isOverflow = false): CalendarCellInfo {\n\t\tconst status = this.getCellInfo()(date, this.displayMode());\n\n\t\tconst classes: string[] = status?.classes || [];\n\n\t\tconst rangeInfo = this.getRangeInfo(date, 'day');\n\n\t\tif (rangeInfo?.class) {\n\t\t\tclasses.push(rangeInfo.class);\n\t\t}\n\n\t\treturn {\n\t\t\tday: date.getDate(),\n\t\t\tisWeekend: this.#weekInfo.weekend.includes(getIntlWeekDay(date)) && !this.hideWeekend(),\n\t\t\tisOverflow,\n\t\t\tstatus,\n\t\t\tlabel: status.label || rangeInfo?.label,\n\t\t\tdate,\n\t\t\tclasses,\n\t\t\tisCurrent: isSameDay(new Date(), date) && !this.hideToday(),\n\t\t\trangeInfo,\n\t\t\tdisabled: status?.disabled || (isOverflow && !this.enableOverflow()),\n\t\t};\n\t}\n\n\tgetRangeInfo(date: Date, scope: CalendarMode) {\n\t\tconst range: DateRange | undefined = this.ranges().find((range: DateRange) => {\n\t\t\treturn (\n\t\t\t\t(range.scope || 'day') === scope &&\n\t\t\t\tisWithinInterval(date, {\n\t\t\t\t\tstart: startOfDay(range.start),\n\t\t\t\t\tend: range.end || endOfMonth(date),\n\t\t\t\t})\n\t\t\t);\n\t\t});\n\t\tif (!range) {\n\t\t\treturn null;\n\t\t}\n\t\tconst isStart: boolean = range && isSameDay(date, range.start);\n\t\tconst isEnd: boolean = range && range.end && isSameDay(date, range.end);\n\t\treturn {\n\t\t\trange,\n\t\t\tisStart,\n\t\t\tisEnd,\n\t\t\tlabel: range?.label,\n\t\t\tclass: range?.class,\n\t\t};\n\t}\n}\n","<div class=\"calendar\">\n\t@switch (displayMode()) { @case ('day') {\n\t<div class=\"calendar-name\" id=\"calendar-name\" aria-live=\"polite\">\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('month')\">{{ currentMonthLabel() }}</button>&ngsp;\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('year')\">{{ currentYearLabel() }}</button>\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-name\">\n\t\t<thead class=\"calendar-table-head\">\n\t\t\t<tr class=\"calendar-table-head-row\">\n\t\t\t\t@for (day of daysOfWeek; track day.long) {\n\t\t\t\t<th class=\"calendar-table-head-row-cell\" scope=\"col\" [attr.data-content-after]=\"day.short.substring(0, 1)\">\n\t\t\t\t\t<span class=\"u-mask\">{{ day.long }}</span>\n\t\t\t\t</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (week of monthGridDisplay(); track $index; let isFirstWeek = $first; let isLastWeek = $last) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t<td class=\"calendar-table-body-row-cell is-overflow\" *luRepeatTimes=\"isFirstWeek ? 7 - week.length : 0\"></td>\n\t\t\t\t@for (day of week; track dayIndex; let dayIndex = $index) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-daysOff]=\"day.isWeekend\"\n\t\t\t\t\t[class.is-overflow]=\"day.isOverflow\"\n\t\t\t\t\t[class.is-current]=\"day.isCurrent\"\n\t\t\t\t\t[attr.aria-selected]=\"day.status.selected || !!day.rangeInfo?.range\"\n\t\t\t\t\t[class.is-start]=\"day.rangeInfo?.isStart || day.status.selected\"\n\t\t\t\t\t[class.is-end]=\"day.rangeInfo?.isEnd || day.status.selected\"\n\t\t\t\t\t[class.is-selected]=\"day.rangeInfo?.range || day.status.selected\"\n\t\t\t\t\t[ngClass]=\"day.classes\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\t[luCalendar2Cell]=\"dayIndex\"\n\t\t\t\t\t\t[luCalendar2Date]=\"day.date\"\n\t\t\t\t\t\tluCalendar2Mode=\"day\"\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[attr.aria-disabled]=\"day.disabled ? 'true' : null\"\n\t\t\t\t\t\t(click)=\"day.disabled?null:onCellClicked(day.date)\"\n\t\t\t\t\t\t[luTooltip]=\"day.label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ day.day }} @if (day.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ todayLabel }})</span>\n\t\t\t\t\t\t} @if (day.isWeekend) {\n\t\t\t\t\t\t<svg class=\"calendar-table-body-row-cell-action-stripes\">\n\t\t\t\t\t\t\t<use href=\"#calendar-stripes-symbol\"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t\t<td class=\"calendar-table-body-row-cell is-overflow\" *luRepeatTimes=\"isLastWeek ? 7 - week.length : 0\"></td>\n\t\t\t</tr>\n\t\t\t}\n\t\t\t<tr class=\"calendar-table-body-row\" *luRepeatTimes=\"6 - monthGridDisplay().length\">\n\t\t\t\t<td class=\"calendar-table-body-row-cell\" *luRepeatTimes=\"7\"></td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n\t@if (hasTodayButton()) {\n\t<div class=\"calendar-divider divider\"></div>\n\t<button class=\"calendar-todayLink link\" type=\"button\" (click)=\"clickToday()\">{{ todayLabel }}</button>\n\t}\n\t<svg class=\"calendar-stripes\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" aria-hidden=\"true\">\n\t\t<symbol id=\"calendar-stripes-symbol\" viewBox=\"0 0 60 60\">\n\t\t\t<path\n\t\t\t\tclass=\"calendar-stripes-symbol-path\"\n\t\t\t\td=\"m-41.82 43.03 84.85-84.85.53.53-84.85 84.85zm2.12 2.12L45.15-39.7l.53.53-84.85 84.85zm2.12 2.12\n\t\t\t84.85-84.85.53.53-84.85 84.85zm2.12 2.13L49.4-35.47l.53.53-84.85 84.85zm2.12 2.11\n\t\t\t84.85-84.85.54.53-84.86 84.86zm2.12 2.13 84.86-84.86.53.53-84.86 84.86zm2.12\n\t\t\t2.12L55.76-29.1l.53.53-84.86 84.86zm2.13 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12L60-24.85l.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12L64.24-20.6l.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.13L68.5-16.37l.53.53-84.86 84.86zm2.12 2.11 84.86-84.85.53.53-84.86 84.86zm2.13 2.13\n\t\t\t84.85-84.85.53.53-84.85 84.85zm2.12 2.12L74.85-10l.53.53-84.85 84.85zm2.12\n\t\t\t2.12L76.97-7.88l.53.53L-7.35 77.5zm2.12 2.13L79.09-5.77l.53.53-84.85 84.85zm2.12\n\t\t\t2.11L81.21-3.64l.53.53L-3.1 81.74zm2.12 2.12L83.33-1.52l.53.53L-.99\n\t\t\t83.86zM.6 85.46 85.46.6l.53.53L1.13 86zm2.12 2.12L87.58 2.72l.53.53L3.25 88.11zm2.13 2.12L89.7\n\t\t\t4.85l.53.53L5.38 90.23zm2.12 2.12L91.82 6.97l.53.53L7.5 92.35zm2.12 2.12L93.94 9.1l.53.53L9.62\n\t\t\t94.47zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12 84.86-84.85.53.53-84.86 84.86z\"\n\t\t\t/>\n\t\t</symbol>\n\t</svg>\n\t} @case ('month') {\n\t<div class=\"calendar-name\" id=\"calendar-year-name\">\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('year')\">{{ currentYearLabel() }}</button>\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-year-name\">\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (quarter of yearGridDisplay(); track $index) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t@for (month of quarter; track month.date.getTime(); let index = $index) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-current]=\"month.isCurrent\"\n\t\t\t\t\t[class.is-selected]=\"month.status.selected\"\n\t\t\t\t\t[ngClass]=\"month.status.classes\"\n\t\t\t\t\t[attr.aria-selected]=\"month.status.selected\"\n\t\t\t\t\t[class.is-start]=\"month.status.selected\"\n\t\t\t\t\t[class.is-end]=\"month.status.selected\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[attr.data-content-after]=\"month.short\"\n\t\t\t\t\t\t[luCalendar2Cell]=\"index\"\n\t\t\t\t\t\t[luCalendar2Date]=\"month.date\"\n\t\t\t\t\t\t[disabled]=\"month.status.disabled\"\n\t\t\t\t\t\t(click)=\"onCellClicked(month.date)\"\n\t\t\t\t\t\tluCalendar2Mode=\"month\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"u-mask\">{{ month.long }}</span>\n\t\t\t\t\t\t@if (month.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ thisMonthLabel }})</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n\t} @case ('year') {\n\t<div class=\"calendar-name\" id=\"calendar-decade-name\">\n\t\t{{ currentDecadeLabel() }}\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-decade-name\">\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (row of decadeGridDisplay(); track $index; let firstRow = $first; let lastRow = $last) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t@for (year of row; track year.date.getTime(); let index = $index; let firstCell = $first; let lastCell = $last) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-overflow]=\"(firstRow && firstCell) || (lastRow && lastCell)\"\n\t\t\t\t\t[class.is-current]=\"year.isCurrent\"\n\t\t\t\t\t[class.is-selected]=\"year.status.selected\"\n\t\t\t\t\t[attr.aria-selected]=\"year.status.selected\"\n\t\t\t\t\t[ngClass]=\"year.status.classes\"\n\t\t\t\t\t[class.is-start]=\"year.status.selected\"\n\t\t\t\t\t[class.is-end]=\"year.status.selected\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[luCalendar2Cell]=\"index\"\n\t\t\t\t\t\t[disabled]=\"year.status.disabled\"\n\t\t\t\t\t\t[luCalendar2Date]=\"year.date\"\n\t\t\t\t\t\tluCalendar2Mode=\"year\"\n\t\t\t\t\t\t(click)=\"onCellClicked(year.date)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ year.label }} @if (year.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ thisYearLabel }})</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n\t} }\n</div>\n","export function getDateFormat(locale: string): string {\n\treturn new Intl.DateTimeFormat(locale).formatToParts(new Date('01/01/2024')).reduce((acc, part) => {\n\t\tswitch (part.type) {\n\t\t\tcase 'day':\n\t\t\t\treturn `${acc}${'d'.repeat(part.value.length)}`;\n\t\t\tcase 'month':\n\t\t\t\treturn `${acc}${'M'.repeat(part.value.length)}`;\n\t\t\tcase 'year':\n\t\t\t\treturn `${acc}${'y'.repeat(part.value.length)}`;\n\t\t\tcase 'literal':\n\t\t\t\treturn `${acc}${part.value}`;\n\t\t}\n\t\treturn acc;\n\t}, '');\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\teffect,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tLOCALE_ID,\n\tsignal,\n\tuntracked,\n\tviewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { getIntl, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { addMonths, addYears, isAfter, isBefore, isSameDay, parse, startOfDay, startOfMonth } from 'date-fns';\nimport { CalendarMode } from '../calendar2/calendar-mode';\nimport { Calendar2Component } from '../calendar2/calendar2.component';\nimport { CellStatus } from '../calendar2/cell-status';\nimport { DateRange } from '../calendar2/date-range';\nimport { getDateFormat } from '../date-format';\nimport { LU_DATE2_TRANSLATIONS } from '../date2.translate';\nimport { comparePeriods, startOfPeriod } from '../utils';\n\n@Component({\n\tselector: 'lu-date-input',\n\tstandalone: true,\n\timports: [PopoverDirective, Calendar2Component, IconComponent, InputDirective],\n\ttemplateUrl: './date-input.component.html',\n\tstyleUrl: './date-input.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => DateInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: NG_VALIDATORS,\n\t\t\tuseExisting: forwardRef(() => DateInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class DateInputComponent implements ControlValueAccessor, Validator {\n\t#locale = inject(LOCALE_ID);\n\n\t#intlDateTimeFormat = new Intl.DateTimeFormat(this.#locale);\n\n\t#intlDateTimeFormatMonth = new Intl.DateTimeFormat(this.#locale, { month: 'numeric', year: 'numeric' });\n\t#intlDateTimeFormatYear = new Intl.DateTimeFormat(this.#locale, { year: 'numeric' });\n\n\t// Contains the current date format (like dd/mm/yy etc) based on current locale\n\t#dateFormat = getDateFormat(this.#locale);\n\n\tintl = getIntl(LU_DATE2_TRANSLATIONS);\n\n\t// CVA stuff\n\t#onChange?: (value: Date) => void;\n\tonTouched?: () => void;\n\tdisabled = false;\n\n\tmin = input<Date>(new Date('1/1/1000'));\n\tmax = input<Date | null>(null);\n\n\tranges = input<DateRange[]>([]);\n\n\tdisableOverflow = input<boolean, boolean>(false, { transform: booleanAttribute });\n\thideOverflow = input<boolean, boolean>(false, { transform: booleanAttribute });\n\thideToday = input<boolean, boolean>(false, { transform: booleanAttribute });\n\thasTodayButton = input<boolean, boolean>(false, { transform: booleanAttribute });\n\tclearable = input<boolean, boolean>(false, { transform: booleanAttribute });\n\tplaceholder = input<string>();\n\n\tmode = input<CalendarMode>('day');\n\thideWeekend = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\tgetCellInfo = input<((day: Date, mode: CalendarMode) => CellStatus) | null>();\n\n\tpopoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }, 16, 6),\n\t\tnew ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }, 16, 6),\n\t];\n\n\tcalendarMode = signal<CalendarMode>('day');\n\n\tinputFocused = signal(false);\n\n\tprotected currentDate = signal(startOfMonth(new Date()));\n\n\tprotected tabbableDate = signal<Date | null>(null);\n\n\tselectedDate = signal<Date | null>(null);\n\n\tdateFromWriteValue = signal<Date | null>(null);\n\n\tcalendar = viewChild(Calendar2Component);\n\n\tdisplayValue = computed(() => {\n\t\tif (this.selectedDate() && this.isValidDate(this.selectedDate())) {\n\t\t\tlet formatter: Intl.DateTimeFormat;\n\t\t\tswitch (this.mode()) {\n\t\t\t\tcase 'day':\n\t\t\t\t\tformatter = this.#intlDateTimeFormat;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'month':\n\t\t\t\t\tformatter = this.#intlDateTimeFormatMonth;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'year':\n\t\t\t\t\tformatter = this.#intlDateTimeFormatYear;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn formatter.format(this.selectedDate());\n\t\t}\n\t\treturn this.userTextInput();\n\t});\n\n\tuserTextInput = signal<string>('');\n\n\tcombinedGetCellInfo = (date: Date, mode: CalendarMode): CellStatus => {\n\t\tconst infoFromInput = this.getCellInfo()?.(date, mode);\n\t\treturn {\n\t\t\tclasses: [...(infoFromInput?.classes || [])],\n\t\t\tdisabled: infoFromInput?.disabled || !this.isInMinMax(date, mode),\n\t\t\tselected: this.selectedDate() && this.calendarMode() === mode && comparePeriods(mode, date, this.selectedDate()),\n\t\t\tlabel: infoFromInput?.label,\n\t\t};\n\t};\n\n\tpreviousButton = viewChild<ElementRef<Element>>('previousButtonRef');\n\n\tnextButton = viewChild<ElementRef<Element>>('nextButtonRef');\n\n\tget isNavigationButtonFocused(): boolean {\n\t\treturn [this.previousButton()?.nativeElement, this.nextButton()?.nativeElement].includes(document.activeElement);\n\t}\n\n\tconstructor() {\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tconst inputValue = this.userTextInput();\n\t\t\t\tif (inputValue.length > 0) {\n\t\t\t\t\tlet parsed: Date;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tparsed = parse(inputValue, this.#dateFormat, startOfDay(new Date()));\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t/* not a correct date */\n\t\t\t\t\t}\n\t\t\t\t\tif (parsed instanceof Date && parsed.getFullYear() > 999) {\n\t\t\t\t\t\tthis.selectedDate.set(startOfDay(parsed));\n\t\t\t\t\t\tthis.currentDate.set(startOfDay(parsed));\n\t\t\t\t\t\tthis.tabbableDate.set(startOfDay(parsed));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.selectedDate.set(parsed);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\n\t\t);\n\n\t\teffect(() => {\n\t\t\tif (!this.#safeCompareDate(untracked(this.dateFromWriteValue), this.selectedDate())) {\n\t\t\t\tthis.#onChange?.(this.selectedDate());\n\t\t\t}\n\t\t});\n\n\t\tɵeffectWithDeps([this.calendarMode, this.tabbableDate], (calendarMode, tabbableDate) => {\n\t\t\tif (tabbableDate && !comparePeriods(calendarMode, tabbableDate, this.currentDate())) {\n\t\t\t\tthis.currentDate.set(startOfPeriod(calendarMode, tabbableDate));\n\t\t\t}\n\t\t\tif (!this.isNavigationButtonFocused && !this.inputFocused()) {\n\t\t\t\tthis.calendar()?.blurTabbableDate();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.calendar()?.focusTabbableDate();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t#safeCompareDate(a: Date, b: Date): boolean {\n\t\treturn a === b || (!!a && !!b && isSameDay(a, b));\n\t}\n\n\topenPopover(ref: PopoverDirective): void {\n\t\tref.openPopover(true, true);\n\t\t// Once popover is opened, aka in the next CD cycle, focus current tabbable date\n\t\tsetTimeout(() => {\n\t\t\tthis.calendar()?.focusTabbableDate();\n\t\t});\n\t}\n\n\tarrowDown(popoverRef: PopoverDirective) {\n\t\tif (popoverRef.opened()) {\n\t\t\tthis.calendar()?.focusTabbableDate();\n\t\t} else {\n\t\t\tthis.openPopover(popoverRef);\n\t\t}\n\t}\n\n\tvalidate(control: AbstractControl<Date, Date>): ValidationErrors {\n\t\t// null is not an error but means we'll skip everything else, we'll let the presence of a\n\t\t// Validators.required (or not) decide if it's an error.\n\t\tif (control.value === null || control.value === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\t// try to parse the display value cause formControl.value is undefined if date is not parsable\n\t\ttry {\n\t\t\tparse(this.displayValue(), this.#dateFormat, startOfDay(new Date()));\n\t\t} catch (error) {\n\t\t\t/* not a correct date */\n\t\t\treturn { date: true };\n\t\t}\n\t\t// Check date validity\n\t\tif (!this.isValidDate(control.value)) {\n\t\t\treturn { date: true };\n\t\t}\n\t\t// Check min and max\n\t\tif (this.min() && isBefore(control.value, this.min())) {\n\t\t\treturn { min: true };\n\t\t} else if (this.max() && isAfter(control.value, this.max())) {\n\t\t\treturn { max: true };\n\t\t}\n\t\t// Everything is valid\n\t\treturn null;\n\t}\n\n\tisValidDate(date: Date): boolean {\n\t\treturn !isNaN(date?.getTime());\n\t}\n\n\tisInMinMax(date: Date, mode: CalendarMode): boolean {\n\t\tlet result = true;\n\t\tif (this.min()) {\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'day':\n\t\t\t\t\tresult = result && this.min().getTime() <= date.getTime();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'month':\n\t\t\t\t\tresult = result && startOfMonth(this.min()).getTime() <= startOfMonth(date).getTime();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'year':\n\t\t\t\t\tresult = result && this.min().getFullYear() <= date.getFullYear();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (this.max()) {\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'day':\n\t\t\t\t\tresult = result && this.max().getTime() >= date.getTime();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'month':\n\t\t\t\t\tresult = result && startOfMonth(this.max()).getTime() >= startOfMonth(date).getTime();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'year':\n\t\t\t\t\tresult = result && this.max().getFullYear() >= date.getFullYear();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\twriteValue(date: Date): void {\n\t\tif (date) {\n\t\t\tconst start = startOfDay(date);\n\t\t\tthis.dateFromWriteValue.set(start);\n\t\t\tthis.selectedDate.set(start);\n\t\t\tthis.currentDate.set(start);\n\t\t}\n\t}\n\n\tregisterOnChange(fn: (value: Date) => void): void {\n\t\tthis.#onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState?(isDisabled: boolean): void {\n\t\tthis.disabled = isDisabled;\n\t}\n\n\tprev() {\n\t\tthis.move(-1);\n\t}\n\n\tnext() {\n\t\tthis.move(1);\n\t}\n\n\tclear(input: HTMLInputElement) {\n\t\tinput.value = '';\n\t\tthis.selectedDate.set(null);\n\t\tthis.onTouched?.();\n\t}\n\n\tcurrentDateChangeFromCalendar(date: Date): void {\n\t\tthis.tabbableDate.set(date);\n\t\tthis.currentDate.set(date);\n\t}\n\n\tmove(direction: 1 | -1): void {\n\t\tswitch (this.calendarMode()) {\n\t\t\tcase 'year':\n\t\t\t\tthis.currentDate.set(addYears(this.currentDate(), direction * 10));\n\t\t\t\tthis.tabbableDate.set(addYears(this.tabbableDate(), direction * 10));\n\t\t\t\tbreak;\n\t\t\tcase 'month':\n\t\t\t\tthis.currentDate.set(addYears(this.currentDate(), direction));\n\t\t\t\tthis.tabbableDate.set(addYears(this.tabbableDate(), direction));\n\t\t\t\tbreak;\n\t\t\tcase 'day':\n\t\t\t\tthis.currentDate.set(addMonths(this.currentDate(), direction));\n\t\t\t\tthis.tabbableDate.set(addMonths(this.tabbableDate(), direction));\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n","<div class=\"textField\">\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\ttype=\"text\"\n\t\t\tid=\"date\"\n\t\t\t#date\n\t\t\tluInput\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[value]=\"displayValue()\"\n\t\t\t(input)=\"userTextInput.set(date.value)\"\n\t\t\t(blur)=\"onTouched?.();inputFocused.set(false)\"\n\t\t\t(focus)=\"inputFocused.set(true)\"\n\t\t\t[attr.placeholder]=\"placeholder()\"\n\t\t\taria-haspopup=\"true\"\n\t\t\trole=\"combobox\"\n\t\t\t(click)=\"popoverRef.openPopover(true, true)\"\n\t\t\t(keyup.arrowDown)=\"arrowDown(popoverRef)\"\n\t\t\t(keyup.space)=\" popoverRef.opened() ? popoverRef.focusBackToContent($event) : openPopover(popoverRef)\"\n\t\t\t(keyup.escape)=\"popoverRef.close()\"\n\t\t\t[disabled]=\"disabled\"\n\t\t/>\n\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (clearable() && date.value !== '') {\n\t\t\t<button class=\"textField-input-affix-clear clear\" type=\"button\" (click)=\"clear(date)\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signClose\"></span>\n\t\t\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t\t\t</button>\n\t\t\t}\n\t\t\t<button\n\t\t\t\t[luPopover2]=\"calendar\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t\t#popoverRef=\"luPopover2\"\n\t\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"button mod-onlyIcon mod-text textField-input-affix-toggle\"\n\t\t\t>\n\t\t\t\t<lu-icon [icon]=\"'calendarDate'\" [alt]=\"intl.pickDate\"></lu-icon>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #calendar>\n\t<div class=\"calendarWrapper\">\n\t\t<div class=\"calendarWrapper-navigation mod-prev\">\n\t\t\t<button class=\"calendarWrapper-navigation-button button\" type=\"button\" (click)=\"prev()\" #previousButtonRef>\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-chevronLeft\"></span><span class=\"u-mask\">{{ intl.previous }}</span>\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"calendarWrapper-navigation mod-next\">\n\t\t\t<button class=\"calendarWrapper-navigation-button button\" type=\"button\" (click)=\"next()\" #nextButtonRef>\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-chevronRight\"></span><span class=\"u-mask\"> {{ intl.next }}</span>\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"calendarWrapper-content\" tabindex=\"-1\">\n\t\t\t<lu-calendar2\n\t\t\t\t[enableOverflow]=\"!disableOverflow()\"\n\t\t\t\t[showOverflow]=\"!hideOverflow()\"\n\t\t\t\t[hideToday]=\"hideToday()\"\n\t\t\t\t[hasTodayButton]=\"hasTodayButton()\"\n\t\t\t\t[date]=\"currentDate()\"\n\t\t\t\t(dateChange)=\"currentDateChangeFromCalendar($event)\"\n\t\t\t\t[(tabbableDate)]=\"tabbableDate\"\n\t\t\t\t[getCellInfo]=\"combinedGetCellInfo\"\n\t\t\t\t[ranges]=\"ranges()\"\n\t\t\t\t(dateClicked)=\"selectedDate.set($event);currentDate.set($event);popoverRef.close();date.focus()\"\n\t\t\t\t(nextPage)=\"move(1)\"\n\t\t\t\t(previousPage)=\"move(-1)\"\n\t\t\t\t[(displayMode)]=\"calendarMode\"\n\t\t\t\t[mode]=\"mode()\"\n\t\t\t\t[hideWeekend]=\"hideWeekend()\"\n\t\t\t></lu-calendar2>\n\t\t</div>\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-date2.mjs","sources":["../../../packages/ng/date2/calendar.token.ts","../../../packages/ng/date2/translations.ts","../../../packages/ng/date2/date2.translate.ts","../../../packages/ng/date2/repeat-times.directive.ts","../../../packages/ng/date2/utils.ts","../../../packages/ng/date2/calendar2/calendar2.tokens.ts","../../../packages/ng/date2/calendar2/calendar2-cell.directive.ts","../../../packages/ng/date2/calendar2/calendar2.component.ts","../../../packages/ng/date2/calendar2/calendar2.component.html","../../../packages/ng/date2/date-format.ts","../../../packages/ng/date2/date-input/date-input.component.ts","../../../packages/ng/date2/date-input/date-input.component.html","../../../packages/ng/date2/lucca-front-ng-date2.ts"],"sourcesContent":["import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { getLocaleFirstDayOfWeek, getLocaleWeekEndRange } from '@angular/common';\n\nexport type CalendarWeekDay = 1 | 2 | 3 | 4 | 5 | 6 | 7;\n\nexport interface CalendarWeekInfo {\n\tfirstDay: CalendarWeekDay;\n\tweekend: CalendarWeekDay[];\n}\n\nexport const WEEK_INFO = new InjectionToken<CalendarWeekInfo>('Calendar2:WeekInfo', {\n\tfactory: () => {\n\t\tconst locale = inject(LOCALE_ID);\n\t\t// TODO find a reliable way to obtain this, Angular has a deprecated method, date-fns can't get locale from string, Intl's weekDay isn't in firefox\n\t\tconst [weekendStart, weekendEnd] = getLocaleWeekEndRange(locale);\n\t\tconst weekend: number[] = [];\n\t\tlet weekDay: number = weekendStart;\n\t\twhile (weekDay != weekendEnd) {\n\t\t\t// Sunday is 0 in Angular but 7 in Intl\n\t\t\tweekend.push(weekDay || 7);\n\t\t\tweekDay = (weekDay + 1) % 7;\n\t\t}\n\t\tweekend.push(weekDay || 7);\n\t\treturn {\n\t\t\tfirstDay: (getLocaleFirstDayOfWeek(locale) + 7) % 7,\n\t\t\tweekend,\n\t\t} as CalendarWeekInfo;\n\t},\n});\n","export const Translations = {\n\tfr: {\n\t\tdirectionKeysTip: 'Les touches directionnelles servent à parcourir les dates.',\n\t\tpickDate: 'Choisir une date dans le calendrier',\n\t\tprevious: 'Précédent',\n\t\tnext: 'Suivant',\n\t\tclear: 'Vider ce champ',\n\t},\n\ten: {\n\t\tdirectionKeysTip: 'The arrow keys are used to navigate through dates.',\n\t\tpickDate: 'Pick a date in calendar',\n\t\tprevious: 'Previous',\n\t\tnext: 'Next',\n\t\tclear: 'Clear',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DATE2_TRANSLATIONS = new InjectionToken('LuDate2Translations', {\n\tfactory: () => luDate2Translations,\n});\n\nexport interface Date2Translate {\n\tdirectionKeysTip: string;\n\tpickDate: string;\n\tprevious: string;\n\tnext: string;\n\tclear: string;\n}\n\nexport const luDate2Translations: LuTranslation<Date2Translate> = Translations;\n","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n\tselector: '[luRepeatTimes]',\n\tstandalone: true,\n})\nexport class RepeatTimesDirective {\n\tprivate templateRef = inject<TemplateRef<void>>(TemplateRef);\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\n\t@Input('luRepeatTimes')\n\tpublic set repeatTimes(times: number) {\n\t\tthis.viewContainerRef.clear();\n\n\t\tfor (let i = 0; i < times; i++) {\n\t\t\tthis.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t}\n\t}\n}\n","import { CalendarWeekDay, CalendarWeekInfo } from './calendar.token';\nimport { Day, isSameDay, isSameMonth, isSameYear, startOfDay, startOfMonth, startOfYear } from 'date-fns';\nimport { CalendarMode } from './calendar2/calendar-mode';\n\nexport function getIntlWeekDay(date: Date): CalendarWeekDay {\n\treturn (date.getDay() || 7) as CalendarWeekDay;\n}\n\nexport function getJSFirstDayOfWeek(weekInfo: CalendarWeekInfo): Day {\n\treturn (weekInfo.firstDay % 7) as Day;\n}\n\nconst modeToComparator: Record<CalendarMode, (a: Date, b: Date) => boolean> = {\n\tday: isSameDay,\n\tmonth: isSameMonth,\n\tyear: isSameYear,\n};\n\nconst modeToPeriodStart: Record<CalendarMode, (date: Date) => Date> = {\n\tday: startOfDay,\n\tmonth: startOfMonth,\n\tyear: startOfYear,\n};\n\nexport function comparePeriods(mode: CalendarMode, a: Date, b: Date): boolean {\n\treturn modeToComparator[mode](a, b);\n}\n\nexport function startOfPeriod(mode: CalendarMode, date: Date): Date {\n\treturn modeToPeriodStart[mode](date);\n}\n","import { InjectionToken, Signal, WritableSignal } from '@angular/core';\nimport { Calendar2CellDirective } from './calendar2-cell.directive';\n\nexport const CALENDAR_CELLS = new InjectionToken<Signal<Calendar2CellDirective[]>>('Calendar2:Calendar2Cells');\nexport const CALENDAR_TABBABLE_DATE = new InjectionToken<WritableSignal<Date>>('Calendar2:TabbableDate');\n","import { computed, Directive, ElementRef, HostBinding, HostListener, inject, input } from '@angular/core';\nimport { CALENDAR_TABBABLE_DATE } from './calendar2.tokens';\nimport { CalendarMode } from './calendar-mode';\nimport { add, addMonths, addYears, endOfWeek, startOfWeek, sub, subMonths, subYears } from 'date-fns';\nimport type { Duration } from 'date-fns/types';\nimport { WEEK_INFO } from '../calendar.token';\nimport { comparePeriods, getJSFirstDayOfWeek } from '../utils';\n\nconst modeToDurationKey: Record<CalendarMode, keyof Duration> = {\n\tday: 'days',\n\tmonth: 'months',\n\tyear: 'years',\n};\n\n@Directive({\n\tselector: '[luCalendar2Cell]',\n\tstandalone: true,\n})\nexport class Calendar2CellDirective {\n\t#host = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\t#tabbableDate = inject(CALENDAR_TABBABLE_DATE);\n\t#weekInfo = inject(WEEK_INFO);\n\n\t// Index of this day in the current week display row, not depending on locale, 0 is first day of week and 6 is last\n\tluCalendar2Cell = input.required<number>();\n\n\tluCalendar2Mode = input.required<CalendarMode>();\n\n\tluCalendar2Date = input.required<Date>();\n\n\t@HostBinding('tabindex')\n\tget tabindex(): 0 | -1 {\n\t\treturn this.isTabbableDate() ? 0 : -1;\n\t}\n\n\tisTabbableDate = computed(() => {\n\t\treturn comparePeriods(this.luCalendar2Mode(), this.luCalendar2Date(), this.#tabbableDate());\n\t});\n\n\t@HostListener('keydown', ['$event'])\n\tkeydown($event: KeyboardEvent): void {\n\t\t// See https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/examples/datepicker-dialog/#ex_label for keyboard\n\t\t// navigation standards on date pickers\n\t\tconst cellsPerRow = this.luCalendar2Mode() === 'day' ? 7 : 3;\n\t\tconst datePropertyToEdit = modeToDurationKey[this.luCalendar2Mode()];\n\t\tswitch ($event.key) {\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis.#tabbableDate.set(add(this.luCalendar2Date(), { [datePropertyToEdit]: 1 }));\n\t\t\t\t$event.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis.#tabbableDate.set(sub(this.luCalendar2Date(), { [datePropertyToEdit]: 1 }));\n\t\t\t\t$event.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tthis.#tabbableDate.set(add(this.luCalendar2Date(), { [datePropertyToEdit]: cellsPerRow }));\n\t\t\t\t$event.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tthis.#tabbableDate.set(sub(this.luCalendar2Date(), { [datePropertyToEdit]: cellsPerRow }));\n\t\t\t\t$event.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tif (this.luCalendar2Mode() === 'day') {\n\t\t\t\t\tthis.#tabbableDate.set(startOfWeek(this.luCalendar2Date(), { weekStartsOn: getJSFirstDayOfWeek(this.#weekInfo) }));\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tif (this.luCalendar2Mode() === 'day') {\n\t\t\t\t\tthis.#tabbableDate.set(endOfWeek(this.luCalendar2Date(), { weekStartsOn: getJSFirstDayOfWeek(this.#weekInfo) }));\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'PageUp':\n\t\t\t\tif (this.luCalendar2Mode() === 'day') {\n\t\t\t\t\tif ($event.shiftKey) {\n\t\t\t\t\t\tthis.#tabbableDate.set(subYears(this.luCalendar2Date(), 1));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.#tabbableDate.set(subMonths(this.luCalendar2Date(), 1));\n\t\t\t\t\t}\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'PageDown':\n\t\t\t\tif (this.luCalendar2Mode() === 'day') {\n\t\t\t\t\tif ($event.shiftKey) {\n\t\t\t\t\t\tthis.#tabbableDate.set(addYears(this.luCalendar2Date(), 1));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.#tabbableDate.set(addMonths(this.luCalendar2Date(), 1));\n\t\t\t\t\t}\n\t\t\t\t\t$event.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tfocus(): void {\n\t\tthis.#host.nativeElement.focus();\n\t}\n\n\tblur(): void {\n\t\tthis.#host.nativeElement.blur();\n\t}\n}\n","import { NgClass } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, LOCALE_ID, model, OnInit, output, viewChildren, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { CalloutComponent } from '@lucca-front/ng/callout';\nimport {\n\taddMonths,\n\taddYears,\n\teachDayOfInterval,\n\teachMonthOfInterval,\n\teachYearOfInterval,\n\tendOfDecade,\n\tendOfMonth,\n\tendOfWeek,\n\tendOfYear,\n\tisSameDay,\n\tisSameMonth,\n\tisSameYear,\n\tisWithinInterval,\n\tlastDayOfMonth,\n\tstartOfDay,\n\tstartOfDecade,\n\tstartOfMonth,\n\tstartOfWeek,\n\tstartOfYear,\n\tsubMonths,\n\tsubYears,\n\tWeekOptions,\n} from 'date-fns';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { WEEK_INFO } from '../calendar.token';\nimport { LU_DATE2_TRANSLATIONS } from '../date2.translate';\nimport { RepeatTimesDirective } from '../repeat-times.directive';\nimport { getIntlWeekDay, getJSFirstDayOfWeek } from '../utils';\nimport { CalendarCellInfo, CalendarMonthInfo, CalendarYearInfo } from './calendar-cell-info';\nimport { CalendarMode } from './calendar-mode';\nimport { Calendar2CellDirective } from './calendar2-cell.directive';\nimport { CALENDAR_CELLS, CALENDAR_TABBABLE_DATE } from './calendar2.tokens';\nimport { CellStatus } from './cell-status';\nimport { DateRange } from './date-range';\n\nconst MODE_HIERARCHY: CalendarMode[] = ['day', 'month', 'year'];\n\n@Component({\n\tselector: 'lu-calendar2',\n\tstandalone: true,\n\timports: [RepeatTimesDirective, ButtonComponent, Calendar2CellDirective, NgClass, CalloutComponent, LuTooltipTriggerDirective],\n\ttemplateUrl: './calendar2.component.html',\n\tstyleUrl: './calendar2.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: CALENDAR_CELLS,\n\t\t\tuseFactory: () => inject(Calendar2Component).calendar2CellInstances,\n\t\t},\n\t\t{\n\t\t\tprovide: CALENDAR_TABBABLE_DATE,\n\t\t\tuseFactory: () => inject(Calendar2Component).tabbableDate,\n\t\t},\n\t],\n})\nexport class Calendar2Component implements OnInit {\n\t#locale = inject(LOCALE_ID);\n\t#weekInfo = inject(WEEK_INFO);\n\treadonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#intlDateFormat = new Intl.DateTimeFormat(this.#locale, { month: 'long' });\n\t#intlDateYear = new Intl.DateTimeFormat(this.#locale, { year: 'numeric' });\n\n\t#intlDaysLong = new Intl.DateTimeFormat(this.#locale, { weekday: 'long' });\n\t#intlDaysShort = new Intl.DateTimeFormat(this.#locale, { weekday: 'short' });\n\t#intlRelativeDay = new Intl.RelativeTimeFormat(this.#locale, { numeric: 'auto' });\n\n\t#intlMonthsLong = new Intl.DateTimeFormat(this.#locale, { month: 'long' });\n\t#intlMonthsShort = new Intl.DateTimeFormat(this.#locale, { month: 'short' });\n\n\t#weekOptions: WeekOptions = { weekStartsOn: getJSFirstDayOfWeek(this.#weekInfo) };\n\n\tintl = getIntl(LU_DATE2_TRANSLATIONS);\n\n\tshowOverflow = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\tenableOverflow = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\thideToday = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\thasTodayButton = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\thideWeekend = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\t// Date used to init the component and as internal focus model\n\tdate = model.required<Date>();\n\n\ttabbableDate = model<Date | null>(null);\n\n\tmode = model<CalendarMode>('day');\n\n\tdisplayMode = model<CalendarMode>('year');\n\n\tranges = input<DateRange[]>([]);\n\n\tgetCellInfo = input<(date: Date, displayMode: CalendarMode) => CellStatus>((_date: Date) => ({\n\t\tclasses: [],\n\t\tdisabled: false,\n\t}));\n\n\tmonth = computed(() => startOfMonth(this.date()));\n\n\tyear = computed(() => startOfYear(this.date()));\n\n\tdecade = computed(() => startOfDecade(this.date()));\n\n\tpreviousMonth = computed(() => subMonths(this.month(), 1));\n\n\tnextMonth = computed(() => addMonths(this.month(), 1));\n\n\tnextPage = output();\n\n\tpreviousPage = output();\n\n\tdateClicked = output<Date>();\n\n\ttodayLabel = this.#intlRelativeDay.format(0, 'day');\n\tthisMonthLabel = this.#intlRelativeDay.format(0, 'month');\n\tthisYearLabel = this.#intlRelativeDay.format(0, 'year');\n\n\tcalendar2CellInstances = viewChildren(Calendar2CellDirective);\n\n\tdaysOfWeek = eachDayOfInterval({\n\t\tstart: startOfWeek(new Date(), this.#weekOptions),\n\t\tend: endOfWeek(new Date(), this.#weekOptions),\n\t}).map((day) => ({\n\t\tlong: this.#intlDaysLong.format(day),\n\t\tshort: this.#intlDaysShort.format(day),\n\t}));\n\n\tmonthGridDisplay = computed(() => {\n\t\tconst daysOfMonth: CalendarCellInfo[] = eachDayOfInterval({\n\t\t\tstart: this.month(),\n\t\t\tend: endOfMonth(this.month()),\n\t\t}).map((date) => this.dateToCellInfo(date));\n\t\tconst daysByWeek = daysOfMonth.reduce<Record<number, CalendarCellInfo[]>>((acc, day) => {\n\t\t\tconst key = startOfWeek(day.date, this.#weekOptions).getTime();\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[key]: [...(acc[key] || []), day],\n\t\t\t};\n\t\t}, {});\n\t\t// If we want to show days before and after this month\n\t\tif (this.showOverflow()) {\n\t\t\t// Use last week of previous month\n\t\t\tconst startOfPreviousOverflow = startOfWeek(lastDayOfMonth(this.previousMonth()), this.#weekOptions);\n\t\t\tconst previousOverflow = eachDayOfInterval({\n\t\t\t\tstart: startOfPreviousOverflow,\n\t\t\t\tend: endOfMonth(this.previousMonth()),\n\t\t\t}).map((date) => this.dateToCellInfo(date, true));\n\t\t\tif (daysByWeek[startOfPreviousOverflow.getTime()]) {\n\t\t\t\tdaysByWeek[startOfPreviousOverflow.getTime()] = [...previousOverflow, ...daysByWeek[startOfPreviousOverflow.getTime()]];\n\t\t\t}\n\t\t\t// Use first week of next month\n\t\t\tconst startOfNextMonthOverflow = startOfWeek(startOfMonth(this.nextMonth()), this.#weekOptions);\n\t\t\tconst endOfNextMonthOverflow = endOfWeek(startOfMonth(this.nextMonth()), this.#weekOptions);\n\t\t\tconst nextOverflow = eachDayOfInterval({\n\t\t\t\tstart: startOfMonth(this.nextMonth()),\n\t\t\t\tend: endOfNextMonthOverflow,\n\t\t\t}).map((date) => this.dateToCellInfo(date, true));\n\t\t\tif (daysByWeek[startOfNextMonthOverflow.getTime()]) {\n\t\t\t\tdaysByWeek[startOfNextMonthOverflow.getTime()] = [...daysByWeek[startOfNextMonthOverflow.getTime()], ...nextOverflow];\n\t\t\t}\n\t\t}\n\t\treturn Object.keys(daysByWeek)\n\t\t\t.sort()\n\t\t\t.map((weekStart) => daysByWeek[+weekStart]);\n\t});\n\n\tyearGridDisplay = computed(() => {\n\t\tconst monthsOfYear: Date[] = eachMonthOfInterval({\n\t\t\tstart: this.year(),\n\t\t\tend: endOfYear(this.year()),\n\t\t});\n\t\treturn monthsOfYear\n\t\t\t.map((month) => {\n\t\t\t\treturn {\n\t\t\t\t\tdate: month,\n\t\t\t\t\tshort: this.#intlMonthsShort.format(month),\n\t\t\t\t\tlong: this.#intlMonthsLong.format(month),\n\t\t\t\t\tisCurrent: isSameMonth(new Date(), month),\n\t\t\t\t\tstatus: this.getCellInfo()(month, this.displayMode()),\n\t\t\t\t} as CalendarMonthInfo;\n\t\t\t})\n\t\t\t.reduce<CalendarMonthInfo[][]>((all, one, i) => {\n\t\t\t\tconst ch = Math.floor(i / 3);\n\t\t\t\tall[ch] = [...(all[ch] || []), one];\n\t\t\t\treturn all;\n\t\t\t}, []);\n\t});\n\n\tdecadeGridDisplay = computed(() => {\n\t\tconst yearsOfDecade: Date[] = eachYearOfInterval({\n\t\t\tstart: subYears(this.decade(), 1),\n\t\t\tend: addYears(endOfDecade(this.decade()), 1),\n\t\t});\n\t\treturn yearsOfDecade\n\t\t\t.map((year) => {\n\t\t\t\treturn {\n\t\t\t\t\tdate: year,\n\t\t\t\t\tlabel: this.#intlDateYear.format(year),\n\t\t\t\t\tisCurrent: isSameYear(new Date(), year),\n\t\t\t\t\tstatus: this.getCellInfo()(year, this.displayMode()),\n\t\t\t\t};\n\t\t\t})\n\t\t\t.reduce<CalendarYearInfo[][]>((all, one, i) => {\n\t\t\t\tconst ch = Math.floor(i / 3);\n\t\t\t\tall[ch] = [...(all[ch] || []), one];\n\t\t\t\treturn all;\n\t\t\t}, []);\n\t});\n\n\tcurrentMonthLabel = computed(() => {\n\t\treturn this.#intlDateFormat.format(this.date());\n\t});\n\n\tcurrentYearLabel = computed(() => {\n\t\treturn this.#intlDateYear.format(this.date());\n\t});\n\n\tcurrentDecadeLabel = computed(() => {\n\t\t// eslint-disable-next-line no-irregular-whitespace\n\t\treturn `${this.#intlDateYear.format(startOfDecade(this.decade()))} – ${this.#intlDateYear.format(endOfDecade(this.decade()))}`;\n\t});\n\n\tconstructor() {\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tif (this.tabbableDate() === null) {\n\t\t\t\t\tthis.tabbableDate.set(this.date());\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\n\t\t);\n\t}\n\n\tfocusTabbableDate(): void {\n\t\tthis.calendar2CellInstances()\n\t\t\t.find((cell) => cell.isTabbableDate())\n\t\t\t?.focus();\n\t}\n\n\tblurTabbableDate(): void {\n\t\tthis.calendar2CellInstances()\n\t\t\t.find((cell) => cell.isTabbableDate())\n\t\t\t?.blur();\n\t}\n\n\tclickToday() {\n\t\tthis.onCellClicked(startOfDay(new Date()));\n\t}\n\n\tngOnInit(): void {\n\t\t// On init, set display mode to the mode specified by component consumer\n\t\tthis.displayMode.set(this.mode());\n\t}\n\n\tonCellClicked(date: Date): void {\n\t\t// On cell clicked, if display mode is same as mode, emit value\n\t\t// Else, zoom in to new mode\n\t\tif (this.displayMode() === this.mode()) {\n\t\t\tthis.dateClicked.emit(date);\n\t\t} else {\n\t\t\t// Check that we are able to zoom in\n\t\t\tconst maxZoomLevel = MODE_HIERARCHY.indexOf(this.mode());\n\t\t\tconst currentZoomLevel = MODE_HIERARCHY.indexOf(this.displayMode());\n\t\t\tconst targetZoomLevel = currentZoomLevel - 1;\n\t\t\tif (targetZoomLevel >= 0 && targetZoomLevel >= maxZoomLevel) {\n\t\t\t\tconst newZoomLevel = MODE_HIERARCHY[targetZoomLevel];\n\t\t\t\tswitch (newZoomLevel) {\n\t\t\t\t\tcase 'year':\n\t\t\t\t\t\tthis.date.set(startOfDecade(date));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'month':\n\t\t\t\t\t\tthis.date.set(startOfYear(date));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'day':\n\t\t\t\t\t\tthis.date.set(startOfMonth(date));\n\t\t\t\t}\n\t\t\t\tthis.displayMode.set(newZoomLevel);\n\t\t\t}\n\t\t}\n\t}\n\n\tdateToCellInfo(date: Date, isOverflow = false): CalendarCellInfo {\n\t\tconst status = this.getCellInfo()(date, this.displayMode());\n\n\t\tconst classes: string[] = status?.classes || [];\n\n\t\tconst rangeInfo = this.getRangeInfo(date, 'day');\n\n\t\tif (rangeInfo?.class) {\n\t\t\tclasses.push(rangeInfo.class);\n\t\t}\n\n\t\treturn {\n\t\t\tday: date.getDate(),\n\t\t\tisWeekend: this.#weekInfo.weekend.includes(getIntlWeekDay(date)) && !this.hideWeekend(),\n\t\t\tisOverflow,\n\t\t\tstatus,\n\t\t\tlabel: status.label || rangeInfo?.label,\n\t\t\tdate,\n\t\t\tclasses,\n\t\t\tisCurrent: isSameDay(new Date(), date) && !this.hideToday(),\n\t\t\trangeInfo,\n\t\t\tdisabled: status?.disabled || (isOverflow && !this.enableOverflow()),\n\t\t};\n\t}\n\n\tgetRangeInfo(date: Date, scope: CalendarMode) {\n\t\tconst range: DateRange | undefined = this.ranges().find((range: DateRange) => {\n\t\t\treturn (\n\t\t\t\t(range.scope || 'day') === scope &&\n\t\t\t\tisWithinInterval(date, {\n\t\t\t\t\tstart: startOfDay(range.start),\n\t\t\t\t\tend: range.end || endOfMonth(date),\n\t\t\t\t})\n\t\t\t);\n\t\t});\n\t\tif (!range) {\n\t\t\treturn null;\n\t\t}\n\t\tconst isStart: boolean = range && isSameDay(date, range.start);\n\t\tconst isEnd: boolean = range && range.end && isSameDay(date, range.end);\n\t\treturn {\n\t\t\trange,\n\t\t\tisStart,\n\t\t\tisEnd,\n\t\t\tlabel: range?.label,\n\t\t\tclass: range?.class,\n\t\t};\n\t}\n}\n","<div class=\"calendar\">\n\t@switch (displayMode()) { @case ('day') {\n\t<div class=\"calendar-name\" id=\"calendar-name\" aria-live=\"polite\">\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('month')\">{{ currentMonthLabel() }}</button>&ngsp;\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('year')\">{{ currentYearLabel() }}</button>\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-name\">\n\t\t<thead class=\"calendar-table-head\">\n\t\t\t<tr class=\"calendar-table-head-row\">\n\t\t\t\t@for (day of daysOfWeek; track day.long) {\n\t\t\t\t<th class=\"calendar-table-head-row-cell\" scope=\"col\" [attr.data-content-after]=\"day.short.substring(0, 1)\">\n\t\t\t\t\t<span class=\"u-mask\">{{ day.long }}</span>\n\t\t\t\t</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (week of monthGridDisplay(); track $index; let isFirstWeek = $first; let isLastWeek = $last) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t<td class=\"calendar-table-body-row-cell is-overflow\" *luRepeatTimes=\"isFirstWeek ? 7 - week.length : 0\"></td>\n\t\t\t\t@for (day of week; track dayIndex; let dayIndex = $index) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-daysOff]=\"day.isWeekend\"\n\t\t\t\t\t[class.is-overflow]=\"day.isOverflow\"\n\t\t\t\t\t[class.is-current]=\"day.isCurrent\"\n\t\t\t\t\t[attr.aria-selected]=\"day.status.selected || !!day.rangeInfo?.range\"\n\t\t\t\t\t[class.is-start]=\"day.rangeInfo?.isStart || day.status.selected\"\n\t\t\t\t\t[class.is-end]=\"day.rangeInfo?.isEnd || day.status.selected\"\n\t\t\t\t\t[class.is-selected]=\"day.rangeInfo?.range || day.status.selected\"\n\t\t\t\t\t[ngClass]=\"day.classes\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\t[luCalendar2Cell]=\"dayIndex\"\n\t\t\t\t\t\t[luCalendar2Date]=\"day.date\"\n\t\t\t\t\t\tluCalendar2Mode=\"day\"\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[attr.aria-disabled]=\"day.disabled ? 'true' : null\"\n\t\t\t\t\t\t(click)=\"day.disabled?null:onCellClicked(day.date)\"\n\t\t\t\t\t\t[luTooltip]=\"day.label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ day.day }} @if (day.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ todayLabel }})</span>\n\t\t\t\t\t\t} @if (day.isWeekend) {\n\t\t\t\t\t\t<svg class=\"calendar-table-body-row-cell-action-stripes\">\n\t\t\t\t\t\t\t<use href=\"#calendar-stripes-symbol\"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t\t<td class=\"calendar-table-body-row-cell is-overflow\" *luRepeatTimes=\"isLastWeek ? 7 - week.length : 0\"></td>\n\t\t\t</tr>\n\t\t\t}\n\t\t\t<tr class=\"calendar-table-body-row\" *luRepeatTimes=\"6 - monthGridDisplay().length\">\n\t\t\t\t<td class=\"calendar-table-body-row-cell\" *luRepeatTimes=\"7\"></td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n\t@if (hasTodayButton()) {\n\t<div class=\"calendar-divider divider\"></div>\n\t<button class=\"calendar-todayLink link\" type=\"button\" (click)=\"clickToday()\">{{ todayLabel }}</button>\n\t}\n\t<svg class=\"calendar-stripes\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" aria-hidden=\"true\">\n\t\t<symbol id=\"calendar-stripes-symbol\" viewBox=\"0 0 60 60\">\n\t\t\t<path\n\t\t\t\tclass=\"calendar-stripes-symbol-path\"\n\t\t\t\td=\"m-41.82 43.03 84.85-84.85.53.53-84.85 84.85zm2.12 2.12L45.15-39.7l.53.53-84.85 84.85zm2.12 2.12\n\t\t\t84.85-84.85.53.53-84.85 84.85zm2.12 2.13L49.4-35.47l.53.53-84.85 84.85zm2.12 2.11\n\t\t\t84.85-84.85.54.53-84.86 84.86zm2.12 2.13 84.86-84.86.53.53-84.86 84.86zm2.12\n\t\t\t2.12L55.76-29.1l.53.53-84.86 84.86zm2.13 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12L60-24.85l.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12L64.24-20.6l.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.13L68.5-16.37l.53.53-84.86 84.86zm2.12 2.11 84.86-84.85.53.53-84.86 84.86zm2.13 2.13\n\t\t\t84.85-84.85.53.53-84.85 84.85zm2.12 2.12L74.85-10l.53.53-84.85 84.85zm2.12\n\t\t\t2.12L76.97-7.88l.53.53L-7.35 77.5zm2.12 2.13L79.09-5.77l.53.53-84.85 84.85zm2.12\n\t\t\t2.11L81.21-3.64l.53.53L-3.1 81.74zm2.12 2.12L83.33-1.52l.53.53L-.99\n\t\t\t83.86zM.6 85.46 85.46.6l.53.53L1.13 86zm2.12 2.12L87.58 2.72l.53.53L3.25 88.11zm2.13 2.12L89.7\n\t\t\t4.85l.53.53L5.38 90.23zm2.12 2.12L91.82 6.97l.53.53L7.5 92.35zm2.12 2.12L93.94 9.1l.53.53L9.62\n\t\t\t94.47zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12 84.86-84.85.53.53-84.86 84.86z\"\n\t\t\t/>\n\t\t</symbol>\n\t</svg>\n\t} @case ('month') {\n\t<div class=\"calendar-name\" id=\"calendar-year-name\">\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('year')\">{{ currentYearLabel() }}</button>\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-year-name\">\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (quarter of yearGridDisplay(); track $index) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t@for (month of quarter; track month.date.getTime(); let index = $index) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-current]=\"month.isCurrent\"\n\t\t\t\t\t[class.is-selected]=\"month.status.selected\"\n\t\t\t\t\t[ngClass]=\"month.status.classes\"\n\t\t\t\t\t[attr.aria-selected]=\"month.status.selected\"\n\t\t\t\t\t[class.is-start]=\"month.status.selected\"\n\t\t\t\t\t[class.is-end]=\"month.status.selected\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[attr.data-content-after]=\"month.short\"\n\t\t\t\t\t\t[luCalendar2Cell]=\"index\"\n\t\t\t\t\t\t[luCalendar2Date]=\"month.date\"\n\t\t\t\t\t\t[disabled]=\"month.status.disabled\"\n\t\t\t\t\t\t(click)=\"onCellClicked(month.date)\"\n\t\t\t\t\t\tluCalendar2Mode=\"month\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"u-mask\">{{ month.long }}</span>\n\t\t\t\t\t\t@if (month.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ thisMonthLabel }})</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n\t} @case ('year') {\n\t<div class=\"calendar-name\" id=\"calendar-decade-name\">\n\t\t{{ currentDecadeLabel() }}\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-decade-name\">\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (row of decadeGridDisplay(); track $index; let firstRow = $first; let lastRow = $last) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t@for (year of row; track year.date.getTime(); let index = $index; let firstCell = $first; let lastCell = $last) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-overflow]=\"(firstRow && firstCell) || (lastRow && lastCell)\"\n\t\t\t\t\t[class.is-current]=\"year.isCurrent\"\n\t\t\t\t\t[class.is-selected]=\"year.status.selected\"\n\t\t\t\t\t[attr.aria-selected]=\"year.status.selected\"\n\t\t\t\t\t[ngClass]=\"year.status.classes\"\n\t\t\t\t\t[class.is-start]=\"year.status.selected\"\n\t\t\t\t\t[class.is-end]=\"year.status.selected\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[luCalendar2Cell]=\"index\"\n\t\t\t\t\t\t[disabled]=\"year.status.disabled\"\n\t\t\t\t\t\t[luCalendar2Date]=\"year.date\"\n\t\t\t\t\t\tluCalendar2Mode=\"year\"\n\t\t\t\t\t\t(click)=\"onCellClicked(year.date)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ year.label }} @if (year.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ thisYearLabel }})</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n\t} }\n</div>\n","export function getDateFormat(locale: string): string {\n\treturn new Intl.DateTimeFormat(locale).formatToParts(new Date('01/01/2024')).reduce((acc, part) => {\n\t\tswitch (part.type) {\n\t\t\tcase 'day':\n\t\t\t\treturn `${acc}${'d'.repeat(part.value.length)}`;\n\t\t\tcase 'month':\n\t\t\t\treturn `${acc}${'M'.repeat(part.value.length)}`;\n\t\t\tcase 'year':\n\t\t\t\treturn `${acc}${'y'.repeat(part.value.length)}`;\n\t\t\tcase 'literal':\n\t\t\t\treturn `${acc}${part.value}`;\n\t\t}\n\t\treturn acc;\n\t}, '');\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\teffect,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tLOCALE_ID,\n\tsignal,\n\tuntracked,\n\tviewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { getIntl, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { addMonths, addYears, isAfter, isBefore, isSameDay, parse, startOfDay, startOfMonth } from 'date-fns';\nimport { CalendarMode } from '../calendar2/calendar-mode';\nimport { Calendar2Component } from '../calendar2/calendar2.component';\nimport { CellStatus } from '../calendar2/cell-status';\nimport { DateRange } from '../calendar2/date-range';\nimport { getDateFormat } from '../date-format';\nimport { LU_DATE2_TRANSLATIONS } from '../date2.translate';\nimport { comparePeriods, startOfPeriod } from '../utils';\n\n@Component({\n\tselector: 'lu-date-input',\n\tstandalone: true,\n\timports: [PopoverDirective, Calendar2Component, IconComponent, InputDirective],\n\ttemplateUrl: './date-input.component.html',\n\tstyleUrl: './date-input.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => DateInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: NG_VALIDATORS,\n\t\t\tuseExisting: forwardRef(() => DateInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class DateInputComponent implements ControlValueAccessor, Validator {\n\t#locale = inject(LOCALE_ID);\n\n\t#intlDateTimeFormat = new Intl.DateTimeFormat(this.#locale);\n\n\t#intlDateTimeFormatMonth = new Intl.DateTimeFormat(this.#locale, { month: 'numeric', year: 'numeric' });\n\t#intlDateTimeFormatYear = new Intl.DateTimeFormat(this.#locale, { year: 'numeric' });\n\n\t// Contains the current date format (like dd/mm/yy etc) based on current locale\n\t#dateFormat = getDateFormat(this.#locale);\n\n\tintl = getIntl(LU_DATE2_TRANSLATIONS);\n\n\t// CVA stuff\n\t#onChange?: (value: Date) => void;\n\tonTouched?: () => void;\n\tdisabled = false;\n\n\tmin = input<Date>(new Date('1/1/1000'));\n\tmax = input<Date | null>(null);\n\n\tranges = input<DateRange[]>([]);\n\n\tdisableOverflow = input<boolean, boolean>(false, { transform: booleanAttribute });\n\thideOverflow = input<boolean, boolean>(false, { transform: booleanAttribute });\n\thideToday = input<boolean, boolean>(false, { transform: booleanAttribute });\n\thasTodayButton = input<boolean, boolean>(false, { transform: booleanAttribute });\n\tclearable = input<boolean, boolean>(false, { transform: booleanAttribute });\n\tplaceholder = input<string>();\n\n\tmode = input<CalendarMode>('day');\n\thideWeekend = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\tgetCellInfo = input<((day: Date, mode: CalendarMode) => CellStatus) | null>();\n\n\tpopoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }, 16, 6),\n\t\tnew ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }, 16, 6),\n\t];\n\n\tcalendarMode = signal<CalendarMode>('day');\n\n\tinputFocused = signal(false);\n\n\tprotected currentDate = signal(startOfMonth(new Date()));\n\n\tprotected tabbableDate = signal<Date | null>(null);\n\n\tselectedDate = signal<Date | null>(null);\n\n\tdateFromWriteValue = signal<Date | null>(null);\n\n\tcalendar = viewChild(Calendar2Component);\n\n\tdisplayValue = computed(() => {\n\t\tif (this.selectedDate() && this.isValidDate(this.selectedDate())) {\n\t\t\tlet formatter: Intl.DateTimeFormat;\n\t\t\tswitch (this.mode()) {\n\t\t\t\tcase 'day':\n\t\t\t\t\tformatter = this.#intlDateTimeFormat;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'month':\n\t\t\t\t\tformatter = this.#intlDateTimeFormatMonth;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'year':\n\t\t\t\t\tformatter = this.#intlDateTimeFormatYear;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn formatter.format(this.selectedDate());\n\t\t}\n\t\treturn this.userTextInput();\n\t});\n\n\tuserTextInput = signal<string>('');\n\n\tcombinedGetCellInfo = (date: Date, mode: CalendarMode): CellStatus => {\n\t\tconst infoFromInput = this.getCellInfo()?.(date, mode);\n\t\treturn {\n\t\t\tclasses: [...(infoFromInput?.classes || [])],\n\t\t\tdisabled: infoFromInput?.disabled || !this.isInMinMax(date, mode),\n\t\t\tselected: this.selectedDate() && this.calendarMode() === mode && comparePeriods(mode, date, this.selectedDate()),\n\t\t\tlabel: infoFromInput?.label,\n\t\t};\n\t};\n\n\tpreviousButton = viewChild<ElementRef<Element>>('previousButtonRef');\n\n\tnextButton = viewChild<ElementRef<Element>>('nextButtonRef');\n\n\tget isNavigationButtonFocused(): boolean {\n\t\treturn [this.previousButton()?.nativeElement, this.nextButton()?.nativeElement].includes(document.activeElement);\n\t}\n\n\tconstructor() {\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tconst inputValue = this.userTextInput();\n\t\t\t\tif (inputValue.length > 0) {\n\t\t\t\t\tlet parsed: Date;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tparsed = parse(inputValue, this.#dateFormat, startOfDay(new Date()));\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t/* not a correct date */\n\t\t\t\t\t}\n\t\t\t\t\tif (parsed instanceof Date && parsed.getFullYear() > 999) {\n\t\t\t\t\t\tthis.selectedDate.set(startOfDay(parsed));\n\t\t\t\t\t\tthis.currentDate.set(startOfDay(parsed));\n\t\t\t\t\t\tthis.tabbableDate.set(startOfDay(parsed));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.selectedDate.set(parsed);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\n\t\t);\n\n\t\teffect(() => {\n\t\t\tif (!this.#safeCompareDate(untracked(this.dateFromWriteValue), this.selectedDate())) {\n\t\t\t\tthis.#onChange?.(this.selectedDate());\n\t\t\t}\n\t\t});\n\n\t\tɵeffectWithDeps([this.calendarMode, this.tabbableDate], (calendarMode, tabbableDate) => {\n\t\t\tif (tabbableDate && !comparePeriods(calendarMode, tabbableDate, this.currentDate())) {\n\t\t\t\tthis.currentDate.set(startOfPeriod(calendarMode, tabbableDate));\n\t\t\t}\n\t\t\tif (!this.isNavigationButtonFocused && !this.inputFocused()) {\n\t\t\t\tthis.calendar()?.blurTabbableDate();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.calendar()?.focusTabbableDate();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t#safeCompareDate(a: Date, b: Date): boolean {\n\t\treturn a === b || (!!a && !!b && isSameDay(a, b));\n\t}\n\n\topenPopover(ref: PopoverDirective): void {\n\t\tref.openPopover(true, true);\n\t\t// Once popover is opened, aka in the next CD cycle, focus current tabbable date\n\t\tsetTimeout(() => {\n\t\t\tthis.calendar()?.focusTabbableDate();\n\t\t});\n\t}\n\n\tarrowDown(popoverRef: PopoverDirective) {\n\t\tif (popoverRef.opened()) {\n\t\t\tthis.calendar()?.focusTabbableDate();\n\t\t} else {\n\t\t\tthis.openPopover(popoverRef);\n\t\t}\n\t}\n\n\tvalidate(control: AbstractControl<Date, Date>): ValidationErrors {\n\t\t// null is not an error but means we'll skip everything else, we'll let the presence of a\n\t\t// Validators.required (or not) decide if it's an error.\n\t\tif (control.value === null || control.value === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\t// try to parse the display value cause formControl.value is undefined if date is not parsable\n\t\ttry {\n\t\t\tparse(this.displayValue(), this.#dateFormat, startOfDay(new Date()));\n\t\t} catch {\n\t\t\t/* not a correct date */\n\t\t\treturn { date: true };\n\t\t}\n\t\t// Check date validity\n\t\tif (!this.isValidDate(control.value)) {\n\t\t\treturn { date: true };\n\t\t}\n\t\t// Check min and max\n\t\tif (this.min() && isBefore(control.value, this.min())) {\n\t\t\treturn { min: true };\n\t\t} else if (this.max() && isAfter(control.value, this.max())) {\n\t\t\treturn { max: true };\n\t\t}\n\t\t// Everything is valid\n\t\treturn null;\n\t}\n\n\tisValidDate(date: Date): boolean {\n\t\treturn !isNaN(date?.getTime());\n\t}\n\n\tisInMinMax(date: Date, mode: CalendarMode): boolean {\n\t\tlet result = true;\n\t\tif (this.min()) {\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'day':\n\t\t\t\t\tresult = result && this.min().getTime() <= date.getTime();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'month':\n\t\t\t\t\tresult = result && startOfMonth(this.min()).getTime() <= startOfMonth(date).getTime();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'year':\n\t\t\t\t\tresult = result && this.min().getFullYear() <= date.getFullYear();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (this.max()) {\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'day':\n\t\t\t\t\tresult = result && this.max().getTime() >= date.getTime();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'month':\n\t\t\t\t\tresult = result && startOfMonth(this.max()).getTime() >= startOfMonth(date).getTime();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'year':\n\t\t\t\t\tresult = result && this.max().getFullYear() >= date.getFullYear();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\twriteValue(date: Date): void {\n\t\tif (date) {\n\t\t\tconst start = startOfDay(date);\n\t\t\tthis.dateFromWriteValue.set(start);\n\t\t\tthis.selectedDate.set(start);\n\t\t\tthis.currentDate.set(start);\n\t\t}\n\t}\n\n\tregisterOnChange(fn: (value: Date) => void): void {\n\t\tthis.#onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState?(isDisabled: boolean): void {\n\t\tthis.disabled = isDisabled;\n\t}\n\n\tprev() {\n\t\tthis.move(-1);\n\t}\n\n\tnext() {\n\t\tthis.move(1);\n\t}\n\n\tclear(input: HTMLInputElement) {\n\t\tinput.value = '';\n\t\tthis.selectedDate.set(null);\n\t\tthis.onTouched?.();\n\t}\n\n\tcurrentDateChangeFromCalendar(date: Date): void {\n\t\tthis.tabbableDate.set(date);\n\t\tthis.currentDate.set(date);\n\t}\n\n\tmove(direction: 1 | -1): void {\n\t\tswitch (this.calendarMode()) {\n\t\t\tcase 'year':\n\t\t\t\tthis.currentDate.set(addYears(this.currentDate(), direction * 10));\n\t\t\t\tthis.tabbableDate.set(addYears(this.tabbableDate(), direction * 10));\n\t\t\t\tbreak;\n\t\t\tcase 'month':\n\t\t\t\tthis.currentDate.set(addYears(this.currentDate(), direction));\n\t\t\t\tthis.tabbableDate.set(addYears(this.tabbableDate(), direction));\n\t\t\t\tbreak;\n\t\t\tcase 'day':\n\t\t\t\tthis.currentDate.set(addMonths(this.currentDate(), direction));\n\t\t\t\tthis.tabbableDate.set(addMonths(this.tabbableDate(), direction));\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n","<div class=\"textField\">\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\ttype=\"text\"\n\t\t\tid=\"date\"\n\t\t\t#date\n\t\t\tluInput\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[value]=\"displayValue()\"\n\t\t\t(input)=\"userTextInput.set(date.value)\"\n\t\t\t(blur)=\"onTouched?.();inputFocused.set(false)\"\n\t\t\t(focus)=\"inputFocused.set(true)\"\n\t\t\t[attr.placeholder]=\"placeholder()\"\n\t\t\taria-haspopup=\"true\"\n\t\t\trole=\"combobox\"\n\t\t\t(click)=\"popoverRef.openPopover(true, true)\"\n\t\t\t(keyup.arrowDown)=\"arrowDown(popoverRef)\"\n\t\t\t(keyup.space)=\" popoverRef.opened() ? popoverRef.focusBackToContent($event) : openPopover(popoverRef)\"\n\t\t\t(keyup.escape)=\"popoverRef.close()\"\n\t\t\t[disabled]=\"disabled\"\n\t\t/>\n\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (clearable() && date.value !== '') {\n\t\t\t<button class=\"textField-input-affix-clear clear\" type=\"button\" (click)=\"clear(date)\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signClose\"></span>\n\t\t\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t\t\t</button>\n\t\t\t}\n\t\t\t<button\n\t\t\t\t[luPopover2]=\"calendar\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t\t#popoverRef=\"luPopover2\"\n\t\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"button mod-onlyIcon mod-text textField-input-affix-toggle\"\n\t\t\t>\n\t\t\t\t<lu-icon [icon]=\"'calendarDate'\" [alt]=\"intl.pickDate\"></lu-icon>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #calendar>\n\t<div class=\"calendarWrapper\">\n\t\t<div class=\"calendarWrapper-navigation mod-prev\">\n\t\t\t<button class=\"calendarWrapper-navigation-button button\" type=\"button\" (click)=\"prev()\" #previousButtonRef>\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-chevronLeft\"></span><span class=\"u-mask\">{{ intl.previous }}</span>\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"calendarWrapper-navigation mod-next\">\n\t\t\t<button class=\"calendarWrapper-navigation-button button\" type=\"button\" (click)=\"next()\" #nextButtonRef>\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-chevronRight\"></span><span class=\"u-mask\"> {{ intl.next }}</span>\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"calendarWrapper-content\" tabindex=\"-1\">\n\t\t\t<lu-calendar2\n\t\t\t\t[enableOverflow]=\"!disableOverflow()\"\n\t\t\t\t[showOverflow]=\"!hideOverflow()\"\n\t\t\t\t[hideToday]=\"hideToday()\"\n\t\t\t\t[hasTodayButton]=\"hasTodayButton()\"\n\t\t\t\t[date]=\"currentDate()\"\n\t\t\t\t(dateChange)=\"currentDateChangeFromCalendar($event)\"\n\t\t\t\t[(tabbableDate)]=\"tabbableDate\"\n\t\t\t\t[getCellInfo]=\"combinedGetCellInfo\"\n\t\t\t\t[ranges]=\"ranges()\"\n\t\t\t\t(dateClicked)=\"selectedDate.set($event);currentDate.set($event);popoverRef.close();date.focus()\"\n\t\t\t\t(nextPage)=\"move(1)\"\n\t\t\t\t(previousPage)=\"move(-1)\"\n\t\t\t\t[(displayMode)]=\"calendarMode\"\n\t\t\t\t[mode]=\"mode()\"\n\t\t\t\t[hideWeekend]=\"hideWeekend()\"\n\t\t\t></lu-calendar2>\n\t\t</div>\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
@@ -52,10 +52,10 @@ class LuDepartmentV3Service extends LuApiV3Service {
52
52
  format(t) {
53
53
  return { value: t.node, children: t.children.map((c) => this.format(c)) };
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentV3Service, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
56
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentV3Service }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentV3Service, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
56
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentV3Service }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentV3Service, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentV3Service, decorators: [{
59
59
  type: Injectable
60
60
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
61
61
 
@@ -94,10 +94,10 @@ class LuDepartmentV4Service {
94
94
  format(t) {
95
95
  return { value: t.node, children: t.children.map((c) => this.format(c)) };
96
96
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentV4Service, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentV4Service }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentV4Service, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentV4Service }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentV4Service, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentV4Service, decorators: [{
101
101
  type: Injectable
102
102
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
103
103
 
@@ -120,8 +120,8 @@ class LuDepartmentFeederComponent extends ALuTreeOptionOperator {
120
120
  onOpen() {
121
121
  this._service.getTrees().subscribe((trees) => this._out$.next(trees));
122
122
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentFeederComponent, deps: [{ token: ALuDepartmentService, optional: true, skipSelf: true }, { token: ALuDepartmentService, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LuDepartmentFeederComponent, isStandalone: true, selector: "lu-department-feeder", inputs: { appInstanceId: "appInstanceId", operations: "operations", filters: "filters" }, providers: [
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentFeederComponent, deps: [{ token: ALuDepartmentService, optional: true, skipSelf: true }, { token: ALuDepartmentService, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: LuDepartmentFeederComponent, isStandalone: true, selector: "lu-department-feeder", inputs: { appInstanceId: "appInstanceId", operations: "operations", filters: "filters" }, providers: [
125
125
  {
126
126
  provide: ALuTreeOptionOperator,
127
127
  useExisting: forwardRef(() => LuDepartmentFeederComponent),
@@ -138,7 +138,7 @@ class LuDepartmentFeederComponent extends ALuTreeOptionOperator {
138
138
  },
139
139
  ], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
140
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentFeederComponent, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentFeederComponent, decorators: [{
142
142
  type: Component,
143
143
  args: [{ selector: 'lu-department-feeder', template: '', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, providers: [
144
144
  {
@@ -177,11 +177,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
177
177
  }] } });
178
178
 
179
179
  class LuDepartmentFeederModule {
180
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentFeederModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
181
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentFeederModule, imports: [LuDepartmentFeederComponent], exports: [LuDepartmentFeederComponent] }); }
182
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentFeederModule }); }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentFeederModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
181
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentFeederModule, imports: [LuDepartmentFeederComponent], exports: [LuDepartmentFeederComponent] }); }
182
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentFeederModule }); }
183
183
  }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentFeederModule, decorators: [{
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentFeederModule, decorators: [{
185
185
  type: NgModule,
186
186
  args: [{
187
187
  imports: [LuDepartmentFeederComponent],
@@ -236,8 +236,8 @@ class LuDepartmentSelectInputComponent extends ALuSelectInputComponent {
236
236
  searchFn(o, c) {
237
237
  return o.name.toLowerCase().includes(c.toLowerCase());
238
238
  }
239
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
240
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LuDepartmentSelectInputComponent, isStandalone: true, selector: "lu-department-select", inputs: { appInstanceId: "appInstanceId", operations: "operations", filters: "filters" }, providers: [
239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
240
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: LuDepartmentSelectInputComponent, isStandalone: true, selector: "lu-department-select", inputs: { appInstanceId: "appInstanceId", operations: "operations", filters: "filters" }, providers: [
241
241
  {
242
242
  provide: NG_VALUE_ACCESSOR,
243
243
  useExisting: forwardRef(() => LuDepartmentSelectInputComponent),
@@ -245,7 +245,7 @@ class LuDepartmentSelectInputComponent extends ALuSelectInputComponent {
245
245
  },
246
246
  ], 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 #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.departments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-tree-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\" [class.mod-multiple]=\"multiple\">\n\t\t<lu-department-feeder [appInstanceId]=\"appInstanceId\" [operations]=\"operations\" [filters]=\"filters\"></lu-department-feeder>\n\t\t<lu-tree-option-searcher [searchFn]=\"searchFn\"></lu-tree-option-searcher>\n\t\t<lu-tree-option-select-all class=\"option-selector\"></lu-tree-option-select-all>\n\t</header>\n\t<!-- <lu-tree-option-pager></lu-tree-option-pager> -->\n\t<lu-tree-option *luForTreeOptions=\"let option\" [tree]=\"option\">\n\t\t<ng-container *luDisplayer=\"let value\">{{ value.name }}</ng-container>\n\t</lu-tree-option>\n</lu-tree-option-picker-advanced>\n", styles: ["@charset \"UTF-8\";:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-product-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}:host{--components-select-input-padding-horizontal: var(--pr-t-spacings-100);--components-select-input-padding-vertical: var(--pr-t-spacings-100);--components-select-framed-color: var(--palettes-neutral-500);--components-select-framed-color50: var(--palettes-neutral-50);--components-select-framed-see-through: var(--palettes-neutral-50);--components-select-framed-text: var(--palettes-neutral-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--pr-t-spacings-200);--components-select-framed-top-padding: var(--pr-t-spacings-400);--components-select-framed-bottom-padding: var(--pr-t-spacings-200);--components-select-framed-label-top-offset: var(--pr-t-spacings-100);cursor:pointer;outline:none;padding:0;gap:0}:host:after{--icon-content: \"\\e97c\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-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}: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-neutral-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:var(--pr-t-spacings-150);right:2.25rem}::ng-deep .lu-select-value .chip{vertical-align:baseline;max-width:100%;margin:0 var(--pr-t-spacings-50) var(--pr-t-spacings-50) 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(--pr-t-spacings-100)}: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 .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize);padding-left:var(--pr-t-spacings-50);padding-right:var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50)}: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-neutral-500);bottom:var(--components-select-framed-bottom-padding);right:var(--pr-t-spacings-100)}: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-neutral-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(--pr-t-spacings-200);color:var(--palettes-neutral-800)}:host-context(.textfield.mod-material):after{color:var(--palettes-neutral-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(--pr-t-spacings-50) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-neutral-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-neutral-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,.textfield-input.is-invalid,.textfield-input.ng-invalid.ng-touched) .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)}.lu-picker-header .option-selector{display:none}.lu-picker-header.mod-multiple .option-selector{display:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: A11yModule }, { kind: "component", type: LuInputClearerComponent, selector: "lu-input-clearer", outputs: ["onClear"], exportAs: ["luClearer"] }, { kind: "component", type: LuTreeOptionPickerAdvancedComponent, selector: "lu-tree-option-picker-advanced", exportAs: ["LuOptionPicker"] }, { kind: "component", type: LuDepartmentFeederComponent, selector: "lu-department-feeder", inputs: ["appInstanceId", "operations", "filters"] }, { kind: "component", type: LuTreeOptionSearcherComponent, selector: "lu-tree-option-searcher", inputs: ["searchFn"] }, { kind: "component", type: LuTreeOptionSelectAllComponent, selector: "lu-tree-option-select-all" }, { kind: "component", type: LuTreeOptionItemComponent, selector: "lu-tree-option", inputs: ["tree", "selected", "highlighted"], outputs: ["onSelect", "onSelectSelf", "onSelectChildren"] }, { kind: "directive", type: LuForTreeOptionsDirective, selector: "[luForTreeOptions]" }, { kind: "directive", type: LuInputDisplayerDirective, selector: "[luDisplayer]", inputs: ["luDisplayerMultiple", "multiple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectInputComponent, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectInputComponent, decorators: [{
249
249
  type: Component,
250
250
  args: [{ selector: 'lu-department-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
251
251
  CommonModule,
@@ -276,11 +276,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
276
276
  }] } });
277
277
 
278
278
  class LuDepartmentSelectInputModule {
279
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
280
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectInputModule, imports: [LuDepartmentSelectInputComponent], exports: [LuDepartmentSelectInputComponent] }); }
281
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectInputModule, imports: [LuDepartmentSelectInputComponent] }); }
279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
280
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectInputModule, imports: [LuDepartmentSelectInputComponent], exports: [LuDepartmentSelectInputComponent] }); }
281
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectInputModule, imports: [LuDepartmentSelectInputComponent] }); }
282
282
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectInputModule, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectInputModule, decorators: [{
284
284
  type: NgModule,
285
285
  args: [{
286
286
  imports: [LuDepartmentSelectInputComponent],
@@ -289,11 +289,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
289
289
  }] });
290
290
 
291
291
  class LuDepartmentSelectModule {
292
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
293
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectModule, imports: [LuDepartmentFeederComponent, LuDepartmentSelectInputComponent], exports: [LuDepartmentFeederComponent, LuDepartmentSelectInputComponent] }); }
294
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectModule, imports: [LuDepartmentSelectInputComponent] }); }
292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
293
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectModule, imports: [LuDepartmentFeederComponent, LuDepartmentSelectInputComponent], exports: [LuDepartmentFeederComponent, LuDepartmentSelectInputComponent] }); }
294
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectModule, imports: [LuDepartmentSelectInputComponent] }); }
295
295
  }
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentSelectModule, decorators: [{
296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentSelectModule, decorators: [{
297
297
  type: NgModule,
298
298
  args: [{
299
299
  imports: [LuDepartmentFeederComponent, LuDepartmentSelectInputComponent],
@@ -302,11 +302,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
302
302
  }] });
303
303
 
304
304
  class LuDepartmentModule {
305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
306
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentModule, imports: [LuDepartmentSelectModule], exports: [LuDepartmentSelectModule] }); }
307
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentModule, imports: [LuDepartmentSelectModule, LuDepartmentSelectModule] }); }
305
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
306
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentModule, imports: [LuDepartmentSelectModule], exports: [LuDepartmentSelectModule] }); }
307
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentModule, imports: [LuDepartmentSelectModule, LuDepartmentSelectModule] }); }
308
308
  }
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDepartmentModule, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDepartmentModule, decorators: [{
310
310
  type: NgModule,
311
311
  args: [{
312
312
  imports: [LuDepartmentSelectModule],