@wlcm/angular 17.4.0 → 17.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/core/esm2022/index.mjs +12 -0
  2. package/core/esm2022/lib/constants/_index.mjs +3 -0
  3. package/core/esm2022/lib/directives/_index.mjs +2 -0
  4. package/core/esm2022/lib/directives/icon.directive.mjs +49 -0
  5. package/core/esm2022/lib/models/_index.mjs +5 -0
  6. package/{dist/core → core}/fesm2022/wlcm-angular-core.mjs +42 -37
  7. package/core/fesm2022/wlcm-angular-core.mjs.map +1 -0
  8. package/core/index.d.ts +7 -0
  9. package/core/lib/constants/_index.d.ts +2 -0
  10. package/core/lib/directives/_index.d.ts +1 -0
  11. package/{dist/core → core}/lib/directives/icon.directive.d.ts +2 -1
  12. package/core/lib/models/_index.d.ts +4 -0
  13. package/datepicker/README.md +7 -0
  14. package/datepicker/esm2022/index.mjs +10 -0
  15. package/datepicker/esm2022/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.mjs +54 -0
  16. package/datepicker/esm2022/lib/components/range/date-range-picker/date-range-picker.component.mjs +170 -0
  17. package/{dist/date-range-picker/esm2022/lib/components → datepicker/esm2022/lib/components/range}/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +1 -1
  18. package/datepicker/esm2022/lib/components/range/date-range-picker-input/date-range-picker-input.component.mjs +122 -0
  19. package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +88 -0
  20. package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +27 -0
  21. package/datepicker/esm2022/lib/constants/datepicker.constants.mjs +20 -0
  22. package/datepicker/esm2022/lib/constants/range/date-range-picker.constants.mjs +3 -0
  23. package/datepicker/esm2022/lib/constants/range/date-range-selection-model.constants.mjs +10 -0
  24. package/datepicker/esm2022/lib/constants/range/date-range-trigger-selection-model.constants.mjs +10 -0
  25. package/datepicker/esm2022/lib/datepicker.module.mjs +33 -0
  26. package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +80 -0
  27. package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +80 -0
  28. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +77 -0
  29. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +77 -0
  30. package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +49 -0
  31. package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +46 -0
  32. package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +59 -0
  33. package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +67 -0
  34. package/datepicker/esm2022/lib/models/date-picker.models.mjs +27 -0
  35. package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +43 -0
  36. package/datepicker/esm2022/lib/models/range/date-range-picker.models.mjs +2 -0
  37. package/datepicker/esm2022/lib/models/range/date-range-validation.models.mjs +5 -0
  38. package/datepicker/esm2022/lib/utils/range/date-range-input.validators.mjs +16 -0
  39. package/datepicker/esm2022/lib/utils/range/date-range-picker-errors.mjs +9 -0
  40. package/datepicker/esm2022/wlcm-angular-datepicker.mjs +5 -0
  41. package/{dist/date-range-picker/fesm2022/wlcm-angular-date-range-picker.mjs → datepicker/fesm2022/wlcm-angular-datepicker.mjs} +761 -572
  42. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -0
  43. package/datepicker/index.d.ts +9 -0
  44. package/datepicker/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.d.ts +18 -0
  45. package/{dist/date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker/date-range-picker.component.d.ts +8 -7
  46. package/{dist/date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker-input/date-range-picker-input.component.d.ts +4 -3
  47. package/datepicker/lib/components/single/datepicker-input-container/datepicker-input-container.component.d.ts +30 -0
  48. package/datepicker/lib/components/single/datepicker-panel/datepicker-panel.component.d.ts +13 -0
  49. package/datepicker/lib/constants/datepicker.constants.d.ts +4 -0
  50. package/datepicker/lib/constants/range/date-range-picker.constants.d.ts +3 -0
  51. package/datepicker/lib/datepicker.module.d.ts +12 -0
  52. package/{dist/date-range-picker/lib/directives/date-range-picker-input-base.directive.d.ts → datepicker/lib/directives/datepicker-input.base.d.ts} +12 -15
  53. package/datepicker/lib/directives/datepicker-trigger.base.d.ts +26 -0
  54. package/{dist/date-range-picker/lib/directives → datepicker/lib/directives/ragne}/date-range-picker-input-end.directive.d.ts +5 -3
  55. package/{dist/date-range-picker/lib/directives → datepicker/lib/directives/ragne}/date-range-picker-input-start.directive.d.ts +5 -3
  56. package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +20 -0
  57. package/{dist/date-range-picker/lib/directives → datepicker/lib/directives/ragne}/left-calendar.directive.d.ts +1 -1
  58. package/{dist/date-range-picker/lib/directives → datepicker/lib/directives/ragne}/right-calendar.directive.d.ts +1 -1
  59. package/datepicker/lib/directives/single/datepicker-input.directive.d.ts +21 -0
  60. package/datepicker/lib/models/date-picker.models.d.ts +10 -0
  61. package/datepicker/lib/models/range/date-range-picker.models.d.ts +4 -0
  62. package/datepicker/lib/models/range/date-range-validation.models.d.ts +3 -0
  63. package/{dist/forms → forms}/esm2022/lib/forms/components/select/select.component.mjs +3 -3
  64. package/{dist/forms → forms}/fesm2022/wlcm-angular-forms.mjs +2 -2
  65. package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -0
  66. package/package.json +7 -60
  67. package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +125 -0
  68. package/{dist/phone-input → phone-input}/fesm2022/wlcm-angular-phone-input.mjs +1 -0
  69. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -0
  70. package/shared/calendar/esm2022/index.mjs +4 -0
  71. package/shared/calendar/esm2022/lib/calendar.module.mjs +21 -0
  72. package/shared/calendar/esm2022/lib/components/calendar-header/calendar-header.component.mjs +107 -0
  73. package/shared/calendar/esm2022/lib/directives/calendar.directive.mjs +15 -0
  74. package/shared/calendar/esm2022/wlcm-angular-calendar.mjs +5 -0
  75. package/shared/calendar/index.d.ts +3 -0
  76. package/shared/calendar/lib/calendar.module.d.ts +9 -0
  77. package/shared/calendar/lib/components/calendar-header/calendar-header.component.d.ts +22 -0
  78. package/shared/calendar/lib/directives/calendar.directive.d.ts +5 -0
  79. package/{dist/stepper → stepper}/esm2022/lib/components/step-header/step-header.component.mjs +3 -1
  80. package/{dist/stepper → stepper}/fesm2022/wlcm-angular-stepper.mjs +2 -0
  81. package/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -0
  82. package/{dist/styles/components/date-range-picker/_date-range-picker-body.scss → styles/components/calendar/_calendar.scss} +2 -9
  83. package/styles/components/calendar/index.scss +7 -0
  84. package/styles/components/date-range-picker/_date-range-picker-body.scss +13 -0
  85. package/{dist/styles → styles}/components/date-range-picker/index.scss +0 -2
  86. package/styles/components/datepicker/_datepicker-input-container.scss +11 -0
  87. package/styles/components/datepicker/_datepicker-panel.scss +15 -0
  88. package/styles/components/datepicker/index.scss +7 -0
  89. package/{dist/styles → styles}/core/_all-theme.scss +7 -3
  90. package/dist/README.md +0 -62
  91. package/dist/button/.npmignore +0 -2
  92. package/dist/core/.npmignore +0 -2
  93. package/dist/core/esm2022/index.mjs +0 -13
  94. package/dist/core/esm2022/lib/directives/icon.directive.mjs +0 -44
  95. package/dist/core/fesm2022/wlcm-angular-core.mjs.map +0 -1
  96. package/dist/core/index.d.ts +0 -11
  97. package/dist/date-range-picker/.npmignore +0 -2
  98. package/dist/date-range-picker/README.md +0 -7
  99. package/dist/date-range-picker/esm2022/index.mjs +0 -7
  100. package/dist/date-range-picker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +0 -62
  101. package/dist/date-range-picker/esm2022/lib/components/date-range-picker/date-range-picker.component.mjs +0 -157
  102. package/dist/date-range-picker/esm2022/lib/components/date-range-picker-input/date-range-picker-input.component.mjs +0 -122
  103. package/dist/date-range-picker/esm2022/lib/constants/date-range-selection-model.constants.mjs +0 -10
  104. package/dist/date-range-picker/esm2022/lib/constants/date-range-trigger-selection-model.constants.mjs +0 -10
  105. package/dist/date-range-picker/esm2022/lib/date-range-picker.module.mjs +0 -67
  106. package/dist/date-range-picker/esm2022/lib/directives/date-range-picker-input-base.directive.mjs +0 -93
  107. package/dist/date-range-picker/esm2022/lib/directives/date-range-picker-input-end.directive.mjs +0 -65
  108. package/dist/date-range-picker/esm2022/lib/directives/date-range-picker-input-start.directive.mjs +0 -65
  109. package/dist/date-range-picker/esm2022/lib/directives/date-range-picker-trigger.directive.mjs +0 -80
  110. package/dist/date-range-picker/esm2022/lib/directives/left-calendar.directive.mjs +0 -46
  111. package/dist/date-range-picker/esm2022/lib/directives/right-calendar.directive.mjs +0 -59
  112. package/dist/date-range-picker/esm2022/lib/models/data-range-calendar.models.mjs +0 -43
  113. package/dist/date-range-picker/esm2022/lib/models/date-range-validation.models.mjs +0 -5
  114. package/dist/date-range-picker/esm2022/lib/services/date-adapter.service.mjs +0 -23
  115. package/dist/date-range-picker/esm2022/lib/utils/date-range-input.validators.mjs +0 -16
  116. package/dist/date-range-picker/esm2022/lib/utils/date-range-picker-errors.mjs +0 -9
  117. package/dist/date-range-picker/esm2022/wlcm-angular-date-range-picker.mjs +0 -5
  118. package/dist/date-range-picker/fesm2022/wlcm-angular-date-range-picker.mjs.map +0 -1
  119. package/dist/date-range-picker/index.d.ts +0 -6
  120. package/dist/date-range-picker/lib/components/calendar-header/calendar-header.component.d.ts +0 -19
  121. package/dist/date-range-picker/lib/date-range-picker.module.d.ts +0 -12
  122. package/dist/date-range-picker/lib/directives/date-range-picker-trigger.directive.d.ts +0 -26
  123. package/dist/date-range-picker/lib/models/date-range-validation.models.d.ts +0 -3
  124. package/dist/date-range-picker/lib/services/date-adapter.service.d.ts +0 -7
  125. package/dist/filters/.npmignore +0 -2
  126. package/dist/forms/.npmignore +0 -2
  127. package/dist/forms/fesm2022/wlcm-angular-forms.mjs.map +0 -1
  128. package/dist/package.json +0 -92
  129. package/dist/phone-input/.npmignore +0 -2
  130. package/dist/phone-input/esm2022/lib/directives/phone-input.directive.mjs +0 -124
  131. package/dist/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +0 -1
  132. package/dist/search-field/.npmignore +0 -2
  133. package/dist/stepper/.npmignore +0 -2
  134. package/dist/stepper/fesm2022/wlcm-angular-stepper.mjs.map +0 -1
  135. /package/{dist/button → button}/README.md +0 -0
  136. /package/{dist/button → button}/esm2022/index.mjs +0 -0
  137. /package/{dist/button → button}/esm2022/lib/button.module.mjs +0 -0
  138. /package/{dist/button → button}/esm2022/lib/components/button/button.component.mjs +0 -0
  139. /package/{dist/button → button}/esm2022/lib/models/button.models.mjs +0 -0
  140. /package/{dist/button → button}/esm2022/wlcm-angular-button.mjs +0 -0
  141. /package/{dist/button → button}/fesm2022/wlcm-angular-button.mjs +0 -0
  142. /package/{dist/button → button}/fesm2022/wlcm-angular-button.mjs.map +0 -0
  143. /package/{dist/button → button}/index.d.ts +0 -0
  144. /package/{dist/button → button}/lib/button.module.d.ts +0 -0
  145. /package/{dist/button → button}/lib/components/button/button.component.d.ts +0 -0
  146. /package/{dist/button → button}/lib/models/button.models.d.ts +0 -0
  147. /package/{dist/core → core}/README.md +0 -0
  148. /package/{dist/core → core}/esm2022/lib/components/calendar-icon/calendar-icon.component.mjs +0 -0
  149. /package/{dist/core → core}/esm2022/lib/components/chevron-down-icon/chevron-down-icon.component.mjs +0 -0
  150. /package/{dist/core → core}/esm2022/lib/components/close-icon/close-icon.component.mjs +0 -0
  151. /package/{dist/core → core}/esm2022/lib/components/search-icon/search-icon.component.mjs +0 -0
  152. /package/{dist/core → core}/esm2022/lib/constants/http.constants.mjs +0 -0
  153. /package/{dist/core → core}/esm2022/lib/constants/icon.contants.mjs +0 -0
  154. /package/{dist/core → core}/esm2022/lib/models/icon.models.mjs +0 -0
  155. /package/{dist/core → core}/esm2022/lib/models/option.models.mjs +0 -0
  156. /package/{dist/core → core}/esm2022/lib/models/paginated-data.models.mjs +0 -0
  157. /package/{dist/core → core}/esm2022/lib/models/query-params.models.mjs +0 -0
  158. /package/{dist/core → core}/esm2022/lib/utils/stream.utils.mjs +0 -0
  159. /package/{dist/core → core}/esm2022/wlcm-angular-core.mjs +0 -0
  160. /package/{dist/core → core}/lib/components/calendar-icon/calendar-icon.component.d.ts +0 -0
  161. /package/{dist/core → core}/lib/components/chevron-down-icon/chevron-down-icon.component.d.ts +0 -0
  162. /package/{dist/core → core}/lib/components/close-icon/close-icon.component.d.ts +0 -0
  163. /package/{dist/core → core}/lib/components/search-icon/search-icon.component.d.ts +0 -0
  164. /package/{dist/core → core}/lib/constants/http.constants.d.ts +0 -0
  165. /package/{dist/core → core}/lib/constants/icon.contants.d.ts +0 -0
  166. /package/{dist/core → core}/lib/models/icon.models.d.ts +0 -0
  167. /package/{dist/core → core}/lib/models/option.models.d.ts +0 -0
  168. /package/{dist/core → core}/lib/models/paginated-data.models.d.ts +0 -0
  169. /package/{dist/core → core}/lib/models/query-params.models.d.ts +0 -0
  170. /package/{dist/core → core}/lib/utils/stream.utils.d.ts +0 -0
  171. /package/{dist/date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.d.ts +0 -0
  172. /package/{dist/date-range-picker/lib/constants → datepicker/lib/constants/range}/date-range-selection-model.constants.d.ts +0 -0
  173. /package/{dist/date-range-picker/lib/constants → datepicker/lib/constants/range}/date-range-trigger-selection-model.constants.d.ts +0 -0
  174. /package/{dist/date-range-picker/lib/models → datepicker/lib/models/range}/data-range-calendar.models.d.ts +0 -0
  175. /package/{dist/date-range-picker/lib/utils → datepicker/lib/utils/range}/date-range-input.validators.d.ts +0 -0
  176. /package/{dist/date-range-picker/lib/utils → datepicker/lib/utils/range}/date-range-picker-errors.d.ts +0 -0
  177. /package/{dist/filters → filters}/README.md +0 -0
  178. /package/{dist/filters → filters}/esm2022/index.mjs +0 -0
  179. /package/{dist/filters → filters}/esm2022/lib/filters/components/filters/filters.component.mjs +0 -0
  180. /package/{dist/filters → filters}/esm2022/lib/filters/components/filters-button/filters-button.component.mjs +0 -0
  181. /package/{dist/filters → filters}/esm2022/lib/filters/components/filters-panel/filters-panel.component.mjs +0 -0
  182. /package/{dist/filters → filters}/esm2022/lib/filters/components/filters-unit/filters-unit.component.mjs +0 -0
  183. /package/{dist/filters → filters}/esm2022/lib/filters/directives/filters-content.directive.mjs +0 -0
  184. /package/{dist/filters → filters}/esm2022/lib/filters/directives/filters-trigger.directive.mjs +0 -0
  185. /package/{dist/filters → filters}/esm2022/lib/filters/filters.module.mjs +0 -0
  186. /package/{dist/filters → filters}/esm2022/lib/filters/models/filters-default-selection-model.mjs +0 -0
  187. /package/{dist/filters → filters}/esm2022/lib/filters/models/filters-trigger.base.mjs +0 -0
  188. /package/{dist/filters → filters}/esm2022/lib/filters/models/filters.models.mjs +0 -0
  189. /package/{dist/filters → filters}/esm2022/lib/filters/pipes/is-filters-param-checked.pipe.mjs +0 -0
  190. /package/{dist/filters → filters}/esm2022/lib/filters/pipes/total-filters-applied.pipe.mjs +0 -0
  191. /package/{dist/filters → filters}/esm2022/lib/filters/utils/filters.utils.mjs +0 -0
  192. /package/{dist/filters → filters}/esm2022/wlcm-angular-filters.mjs +0 -0
  193. /package/{dist/filters → filters}/fesm2022/wlcm-angular-filters.mjs +0 -0
  194. /package/{dist/filters → filters}/fesm2022/wlcm-angular-filters.mjs.map +0 -0
  195. /package/{dist/filters → filters}/index.d.ts +0 -0
  196. /package/{dist/filters → filters}/lib/filters/components/filters/filters.component.d.ts +0 -0
  197. /package/{dist/filters → filters}/lib/filters/components/filters-button/filters-button.component.d.ts +0 -0
  198. /package/{dist/filters → filters}/lib/filters/components/filters-panel/filters-panel.component.d.ts +0 -0
  199. /package/{dist/filters → filters}/lib/filters/components/filters-unit/filters-unit.component.d.ts +0 -0
  200. /package/{dist/filters → filters}/lib/filters/directives/filters-content.directive.d.ts +0 -0
  201. /package/{dist/filters → filters}/lib/filters/directives/filters-trigger.directive.d.ts +0 -0
  202. /package/{dist/filters → filters}/lib/filters/filters.module.d.ts +0 -0
  203. /package/{dist/filters → filters}/lib/filters/models/filters-default-selection-model.d.ts +0 -0
  204. /package/{dist/filters → filters}/lib/filters/models/filters-trigger.base.d.ts +0 -0
  205. /package/{dist/filters → filters}/lib/filters/models/filters.models.d.ts +0 -0
  206. /package/{dist/filters → filters}/lib/filters/pipes/is-filters-param-checked.pipe.d.ts +0 -0
  207. /package/{dist/filters → filters}/lib/filters/pipes/total-filters-applied.pipe.d.ts +0 -0
  208. /package/{dist/filters → filters}/lib/filters/utils/filters.utils.d.ts +0 -0
  209. /package/{dist/forms → forms}/README.md +0 -0
  210. /package/{dist/forms → forms}/esm2022/index.mjs +0 -0
  211. /package/{dist/forms → forms}/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +0 -0
  212. /package/{dist/forms → forms}/esm2022/lib/forms/components/checkbox/checkbox.component.mjs +0 -0
  213. /package/{dist/forms → forms}/esm2022/lib/forms/components/error/error.component.mjs +0 -0
  214. /package/{dist/forms → forms}/esm2022/lib/forms/components/form-field/form-field.component.mjs +0 -0
  215. /package/{dist/forms → forms}/esm2022/lib/forms/components/index.mjs +0 -0
  216. /package/{dist/forms → forms}/esm2022/lib/forms/components/label/label.component.mjs +0 -0
  217. /package/{dist/forms → forms}/esm2022/lib/forms/constants/form-elements.constants.mjs +0 -0
  218. /package/{dist/forms → forms}/esm2022/lib/forms/constants/form-errors.constants.mjs +0 -0
  219. /package/{dist/forms → forms}/esm2022/lib/forms/constants/form-field.constants.mjs +0 -0
  220. /package/{dist/forms → forms}/esm2022/lib/forms/constants/form-state-handlers.constants.mjs +0 -0
  221. /package/{dist/forms → forms}/esm2022/lib/forms/constants/index.mjs +0 -0
  222. /package/{dist/forms → forms}/esm2022/lib/forms/directives/ac-input-binder.directive.mjs +0 -0
  223. /package/{dist/forms → forms}/esm2022/lib/forms/directives/autocomplete.directive.mjs +0 -0
  224. /package/{dist/forms → forms}/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +0 -0
  225. /package/{dist/forms → forms}/esm2022/lib/forms/directives/form-field-hint.directive.mjs +0 -0
  226. /package/{dist/forms → forms}/esm2022/lib/forms/directives/form-field-prefix.directive.mjs +0 -0
  227. /package/{dist/forms → forms}/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +0 -0
  228. /package/{dist/forms → forms}/esm2022/lib/forms/directives/input.directive.mjs +0 -0
  229. /package/{dist/forms → forms}/esm2022/lib/forms/directives/select-input-binder.directive.mjs +0 -0
  230. /package/{dist/forms → forms}/esm2022/lib/forms/forms.module.mjs +0 -0
  231. /package/{dist/forms → forms}/esm2022/lib/forms/models/_index.mjs +0 -0
  232. /package/{dist/forms → forms}/esm2022/lib/forms/models/form-errors.models.mjs +0 -0
  233. /package/{dist/forms → forms}/esm2022/lib/forms/models/form.models.mjs +0 -0
  234. /package/{dist/forms → forms}/esm2022/lib/forms/models/input.models.mjs +0 -0
  235. /package/{dist/forms → forms}/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +0 -0
  236. /package/{dist/forms → forms}/esm2022/lib/forms/services/form-state-handler.service.mjs +0 -0
  237. /package/{dist/forms → forms}/esm2022/lib/forms/services/index.mjs +0 -0
  238. /package/{dist/forms → forms}/esm2022/wlcm-angular-forms.mjs +0 -0
  239. /package/{dist/forms → forms}/index.d.ts +0 -0
  240. /package/{dist/forms → forms}/lib/forms/components/autocomplete/autocomplete.component.d.ts +0 -0
  241. /package/{dist/forms → forms}/lib/forms/components/checkbox/checkbox.component.d.ts +0 -0
  242. /package/{dist/forms → forms}/lib/forms/components/error/error.component.d.ts +0 -0
  243. /package/{dist/forms → forms}/lib/forms/components/form-field/form-field.component.d.ts +0 -0
  244. /package/{dist/forms → forms}/lib/forms/components/index.d.ts +0 -0
  245. /package/{dist/forms → forms}/lib/forms/components/label/label.component.d.ts +0 -0
  246. /package/{dist/forms → forms}/lib/forms/components/select/select.component.d.ts +0 -0
  247. /package/{dist/forms → forms}/lib/forms/constants/form-elements.constants.d.ts +0 -0
  248. /package/{dist/forms → forms}/lib/forms/constants/form-errors.constants.d.ts +0 -0
  249. /package/{dist/forms → forms}/lib/forms/constants/form-field.constants.d.ts +0 -0
  250. /package/{dist/forms → forms}/lib/forms/constants/form-state-handlers.constants.d.ts +0 -0
  251. /package/{dist/forms → forms}/lib/forms/constants/index.d.ts +0 -0
  252. /package/{dist/forms → forms}/lib/forms/directives/ac-input-binder.directive.d.ts +0 -0
  253. /package/{dist/forms → forms}/lib/forms/directives/autocomplete.directive.d.ts +0 -0
  254. /package/{dist/forms → forms}/lib/forms/directives/form-field-custom-container.directive.d.ts +0 -0
  255. /package/{dist/forms → forms}/lib/forms/directives/form-field-hint.directive.d.ts +0 -0
  256. /package/{dist/forms → forms}/lib/forms/directives/form-field-prefix.directive.d.ts +0 -0
  257. /package/{dist/forms → forms}/lib/forms/directives/form-field-suffix.directive.d.ts +0 -0
  258. /package/{dist/forms → forms}/lib/forms/directives/input.directive.d.ts +0 -0
  259. /package/{dist/forms → forms}/lib/forms/directives/select-input-binder.directive.d.ts +0 -0
  260. /package/{dist/forms → forms}/lib/forms/forms.module.d.ts +0 -0
  261. /package/{dist/forms → forms}/lib/forms/models/_index.d.ts +0 -0
  262. /package/{dist/forms → forms}/lib/forms/models/form-errors.models.d.ts +0 -0
  263. /package/{dist/forms → forms}/lib/forms/models/form.models.d.ts +0 -0
  264. /package/{dist/forms → forms}/lib/forms/models/input.models.d.ts +0 -0
  265. /package/{dist/forms → forms}/lib/forms/pipes/errors-mapper.pipe.d.ts +0 -0
  266. /package/{dist/forms → forms}/lib/forms/services/form-state-handler.service.d.ts +0 -0
  267. /package/{dist/forms → forms}/lib/forms/services/index.d.ts +0 -0
  268. /package/{dist/index.d.ts → index.d.ts} +0 -0
  269. /package/{dist/index.mjs → index.mjs} +0 -0
  270. /package/{dist/phone-input → phone-input}/README.md +0 -0
  271. /package/{dist/phone-input → phone-input}/esm2022/index.mjs +0 -0
  272. /package/{dist/phone-input → phone-input}/esm2022/lib/components/country-code-select/country-code-select.component.mjs +0 -0
  273. /package/{dist/phone-input → phone-input}/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs +0 -0
  274. /package/{dist/phone-input → phone-input}/esm2022/lib/constants/country-code-options.constants.mjs +0 -0
  275. /package/{dist/phone-input → phone-input}/esm2022/lib/constants/phone-adapter.constants.mjs +0 -0
  276. /package/{dist/phone-input → phone-input}/esm2022/lib/models/country-code.models.mjs +0 -0
  277. /package/{dist/phone-input → phone-input}/esm2022/lib/models/phone-adapter.models.mjs +0 -0
  278. /package/{dist/phone-input → phone-input}/esm2022/lib/models/phone.models.mjs +0 -0
  279. /package/{dist/phone-input → phone-input}/esm2022/lib/phone-input.module.mjs +0 -0
  280. /package/{dist/phone-input → phone-input}/esm2022/lib/pipes/phone-code.pipe.mjs +0 -0
  281. /package/{dist/phone-input → phone-input}/esm2022/wlcm-angular-phone-input.mjs +0 -0
  282. /package/{dist/phone-input → phone-input}/index.d.ts +0 -0
  283. /package/{dist/phone-input → phone-input}/lib/components/country-code-select/country-code-select.component.d.ts +0 -0
  284. /package/{dist/phone-input → phone-input}/lib/components/phone-input-container/phone-input-container.component.d.ts +0 -0
  285. /package/{dist/phone-input → phone-input}/lib/constants/country-code-options.constants.d.ts +0 -0
  286. /package/{dist/phone-input → phone-input}/lib/constants/phone-adapter.constants.d.ts +0 -0
  287. /package/{dist/phone-input → phone-input}/lib/directives/phone-input.directive.d.ts +0 -0
  288. /package/{dist/phone-input → phone-input}/lib/models/country-code.models.d.ts +0 -0
  289. /package/{dist/phone-input → phone-input}/lib/models/phone-adapter.models.d.ts +0 -0
  290. /package/{dist/phone-input → phone-input}/lib/models/phone.models.d.ts +0 -0
  291. /package/{dist/phone-input → phone-input}/lib/phone-input.module.d.ts +0 -0
  292. /package/{dist/phone-input → phone-input}/lib/pipes/phone-code.pipe.d.ts +0 -0
  293. /package/{dist/search-field → search-field}/README.md +0 -0
  294. /package/{dist/search-field → search-field}/esm2022/index.mjs +0 -0
  295. /package/{dist/search-field → search-field}/esm2022/lib/components/search-field/search-field.component.mjs +0 -0
  296. /package/{dist/search-field → search-field}/esm2022/lib/search-field.module.mjs +0 -0
  297. /package/{dist/search-field → search-field}/esm2022/wlcm-angular-search-field.mjs +0 -0
  298. /package/{dist/search-field → search-field}/fesm2022/wlcm-angular-search-field.mjs +0 -0
  299. /package/{dist/search-field → search-field}/fesm2022/wlcm-angular-search-field.mjs.map +0 -0
  300. /package/{dist/search-field → search-field}/index.d.ts +0 -0
  301. /package/{dist/search-field → search-field}/lib/components/search-field/search-field.component.d.ts +0 -0
  302. /package/{dist/search-field → search-field}/lib/search-field.module.d.ts +0 -0
  303. /package/{dist/stepper → stepper}/README.md +0 -0
  304. /package/{dist/stepper → stepper}/esm2022/index.mjs +0 -0
  305. /package/{dist/stepper → stepper}/esm2022/lib/components/step/step.component.mjs +0 -0
  306. /package/{dist/stepper → stepper}/esm2022/lib/components/stepper/stepper.component.mjs +0 -0
  307. /package/{dist/stepper → stepper}/esm2022/lib/components/stepper-header/stepper-header.component.mjs +0 -0
  308. /package/{dist/stepper → stepper}/esm2022/lib/constants/step.constants.mjs +0 -0
  309. /package/{dist/stepper → stepper}/esm2022/lib/constants/stepper.stepper.mjs +0 -0
  310. /package/{dist/stepper → stepper}/esm2022/lib/directives/load-on-active-step.directive.mjs +0 -0
  311. /package/{dist/stepper → stepper}/esm2022/lib/models/step.models.mjs +0 -0
  312. /package/{dist/stepper → stepper}/esm2022/lib/models/stepper.models.mjs +0 -0
  313. /package/{dist/stepper → stepper}/esm2022/lib/stepper.module.mjs +0 -0
  314. /package/{dist/stepper → stepper}/esm2022/wlcm-angular-stepper.mjs +0 -0
  315. /package/{dist/stepper → stepper}/index.d.ts +0 -0
  316. /package/{dist/stepper → stepper}/lib/components/step/step.component.d.ts +0 -0
  317. /package/{dist/stepper → stepper}/lib/components/step-header/step-header.component.d.ts +0 -0
  318. /package/{dist/stepper → stepper}/lib/components/stepper/stepper.component.d.ts +0 -0
  319. /package/{dist/stepper → stepper}/lib/components/stepper-header/stepper-header.component.d.ts +0 -0
  320. /package/{dist/stepper → stepper}/lib/constants/step.constants.d.ts +0 -0
  321. /package/{dist/stepper → stepper}/lib/constants/stepper.stepper.d.ts +0 -0
  322. /package/{dist/stepper → stepper}/lib/directives/load-on-active-step.directive.d.ts +0 -0
  323. /package/{dist/stepper → stepper}/lib/models/step.models.d.ts +0 -0
  324. /package/{dist/stepper → stepper}/lib/models/stepper.models.d.ts +0 -0
  325. /package/{dist/stepper → stepper}/lib/stepper.module.d.ts +0 -0
  326. /package/{dist/styles → styles}/components/button/index.scss +0 -0
  327. /package/{dist/styles/components/date-range-picker/_date-range-picker-header.scss → styles/components/calendar/_calendar-header.scss} +0 -0
  328. /package/{dist/styles → styles}/components/common/index.scss +0 -0
  329. /package/{dist/styles → styles}/components/date-range-picker/_date-range-picker-input.scss +0 -0
  330. /package/{dist/styles → styles}/components/date-range-picker/_date-range-picker-panel.scss +0 -0
  331. /package/{dist/styles → styles}/components/filters/_filters-panel.scss +0 -0
  332. /package/{dist/styles → styles}/components/filters/_filters-unit.scss +0 -0
  333. /package/{dist/styles → styles}/components/filters/index.scss +0 -0
  334. /package/{dist/styles → styles}/components/forms/_autocomplete.scss +0 -0
  335. /package/{dist/styles → styles}/components/forms/_checkbox.scss +0 -0
  336. /package/{dist/styles → styles}/components/forms/_error.scss +0 -0
  337. /package/{dist/styles → styles}/components/forms/_form-field.scss +0 -0
  338. /package/{dist/styles → styles}/components/forms/_label.scss +0 -0
  339. /package/{dist/styles → styles}/components/forms/_radio.scss +0 -0
  340. /package/{dist/styles → styles}/components/forms/_select.scss +0 -0
  341. /package/{dist/styles → styles}/components/forms/index.scss +0 -0
  342. /package/{dist/styles → styles}/components/phone-input/_country-code-select.scss +0 -0
  343. /package/{dist/styles → styles}/components/phone-input/_phone-input-container.scss +0 -0
  344. /package/{dist/styles/components/phone-input/indes.scss → styles/components/phone-input/index.scss} +0 -0
  345. /package/{dist/styles → styles}/components/search-field/index.scss +0 -0
  346. /package/{dist/styles → styles}/components/stepper/_step-header.scss +0 -0
  347. /package/{dist/styles → styles}/components/stepper/_step.scss +0 -0
  348. /package/{dist/styles → styles}/components/stepper/_stepper-header.scss +0 -0
  349. /package/{dist/styles → styles}/components/stepper/_stepper.scss +0 -0
  350. /package/{dist/styles/components/stepper/indes.scss → styles/components/stepper/index.scss} +0 -0
  351. /package/{dist/styles → styles}/components/table/_table-head-data.scss +0 -0
  352. /package/{dist/styles → styles}/components/table/_table-head.scss +0 -0
  353. /package/{dist/styles → styles}/components/table/_table-row-data.scss +0 -0
  354. /package/{dist/styles → styles}/components/table/_table-row.scss +0 -0
  355. /package/{dist/styles → styles}/components/table/_table.scss +0 -0
  356. /package/{dist/styles → styles}/components/table/index.scss +0 -0
  357. /package/{dist/styles → styles}/core/_core.scss +0 -0
  358. /package/{dist/styles → styles}/core/_utils.scss +0 -0
  359. /package/{dist/styles → styles}/wlcm.scss +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wlcm-angular-datepicker.mjs","sources":["../../../../modules/datepicker/src/lib/components/range/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.ts","../../../../modules/datepicker/src/lib/components/range/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.html","../../../../modules/datepicker/src/lib/models/range/data-range-calendar.models.ts","../../../../modules/datepicker/src/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.ts","../../../../modules/datepicker/src/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.html","../../../../modules/datepicker/src/lib/constants/range/date-range-picker.constants.ts","../../../../modules/datepicker/src/lib/constants/range/date-range-selection-model.constants.ts","../../../../modules/datepicker/src/lib/constants/range/date-range-trigger-selection-model.constants.ts","../../../../modules/datepicker/src/lib/directives/ragne/left-calendar.directive.ts","../../../../modules/datepicker/src/lib/directives/ragne/right-calendar.directive.ts","../../../../modules/datepicker/src/lib/directives/datepicker-trigger.base.ts","../../../../modules/datepicker/src/lib/components/range/date-range-picker/date-range-picker.component.ts","../../../../modules/datepicker/src/lib/components/range/date-range-picker/date-range-picker.component.html","../../../../modules/datepicker/src/lib/models/date-picker.models.ts","../../../../modules/datepicker/src/lib/directives/datepicker-input.base.ts","../../../../modules/datepicker/src/lib/directives/ragne/date-range-picker-input.base.ts","../../../../modules/datepicker/src/lib/models/range/date-range-validation.models.ts","../../../../modules/datepicker/src/lib/directives/ragne/date-range-picker-input-end.directive.ts","../../../../modules/datepicker/src/lib/directives/ragne/date-range-picker-input-start.directive.ts","../../../../modules/datepicker/src/lib/utils/range/date-range-picker-errors.ts","../../../../modules/datepicker/src/lib/components/range/date-range-picker-input/date-range-picker-input.component.ts","../../../../modules/datepicker/src/lib/components/range/date-range-picker-input/date-range-picker-input.component.html","../../../../modules/datepicker/src/lib/directives/single/datepicker-input.directive.ts","../../../../modules/datepicker/src/lib/components/single/datepicker-panel/datepicker-panel.component.ts","../../../../modules/datepicker/src/lib/components/single/datepicker-panel/datepicker-panel.component.html","../../../../modules/datepicker/src/lib/components/single/datepicker-input-container/datepicker-input-container.component.ts","../../../../modules/datepicker/src/lib/components/single/datepicker-input-container/datepicker-input-container.component.html","../../../../modules/datepicker/src/lib/utils/range/date-range-input.validators.ts","../../../../modules/datepicker/src/lib/constants/datepicker.constants.ts","../../../../modules/datepicker/src/lib/datepicker.module.ts","../../../../modules/datepicker/src/wlcm-angular-datepicker.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmDateRangePickerComponent } from '../date-range-picker/date-range-picker.component';\nimport { WlcmButtonModule } from '@wlcm/angular/button';\n\n@Component({\n selector: 'wlcm-date-range-picker-bottom-panel',\n standalone: true,\n imports: [CommonModule, WlcmButtonModule],\n templateUrl: './date-range-picker-bottom-panel.component.html',\n styleUrl: './date-range-picker-bottom-panel.component.scss',\n})\nexport class WlcmDateRangePickerBottomPanelComponent {\n constructor(protected picker: WlcmDateRangePickerComponent) {}\n}\n","<div class=\"wlcm-date-range-picker-bottom-panel\">\n <wlcm-button type=\"paddingless\" (clicked)=\"picker.reset()\">Reset</wlcm-button>\n\n <wlcm-button (clicked)=\"picker.apply()\" [isDisabled]=\"!picker.isComplete()\">\n Apply\n </wlcm-button>\n</div>\n","import { Directive, ElementRef, InputSignal, OutputEmitterRef, effect, input, output } from '@angular/core';\nimport { MatCalendar, MatCalendarView, yearsPerPage } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\n\n@Directive()\nexport class WlcmDataRangeCalendar {\n public location!: 'left' | 'right';\n\n readonly dateChange: OutputEmitterRef<Date> = output();\n\n readonly viewChange: OutputEmitterRef<MatCalendarView> = output();\n\n readonly disabled: InputSignal<boolean> = input(false);\n\n constructor(\n location: 'left' | 'right',\n public element: ElementRef<HTMLElement>,\n protected calendar: MatCalendar<Date>,\n protected dateAdapter: DateAdapter<Date>\n ) {\n this.location = location;\n\n effect(() => {\n if (this.disabled()) {\n this.element.nativeElement.classList.add('wlcm-calendar-disabled');\n } else {\n this.element.nativeElement.classList.remove('wlcm-calendar-disabled');\n }\n });\n }\n\n prevMonth(): void {\n this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.calendar.activeDate, -1));\n }\n\n nextMonth(): void {\n this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.calendar.activeDate, 1));\n }\n\n prevYear(): void {\n this.dateChange.emit(\n this.dateAdapter.addCalendarYears(\n this.calendar.activeDate,\n this.calendar.currentView == 'year' ? -1 : -yearsPerPage\n )\n );\n }\n\n nextYear(): void {\n this.dateChange.emit(\n this.dateAdapter.addCalendarYears(\n this.calendar.activeDate,\n this.calendar.currentView == 'year' ? 1 : yearsPerPage\n )\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Inject, Optional, forwardRef } from '@angular/core';\nimport { MAT_DATE_FORMATS, MatDateFormats } from '@angular/material/core';\nimport { WlcmDataRangeCalendar } from '../../../models/range/data-range-calendar.models';\nimport { WlcmIconDirective, WlcmIconName } from '@wlcm/angular/core';\nimport { WlcmCalendarModule } from '@wlcm/angular/calendar';\nimport { MatCalendar } from '@angular/material/datepicker';\n\n@Component({\n selector: 'wlcm-date-range-calendar-header',\n standalone: true,\n imports: [CommonModule, WlcmCalendarModule, WlcmIconDirective],\n templateUrl: './date-range-calendar-header.component.html',\n styleUrl: './date-range-calendar-header.component.scss',\n})\nexport class WlcmDateRangeCalendarHeaderComponent {\n readonly WlcmIconName = WlcmIconName;\n\n constructor(\n @Optional() protected rangeCalendar: WlcmDataRangeCalendar,\n @Optional() @Inject(MAT_DATE_FORMATS) protected dateFormats: MatDateFormats,\n @Inject(forwardRef(() => MatCalendar)) public calendar: MatCalendar<Date>\n ) {}\n\n previous = (): void => {\n if (this.calendar.currentView !== 'month') {\n return this.rangeCalendar.prevYear();\n }\n\n return this.rangeCalendar.prevMonth();\n };\n\n next = (): void => {\n if (this.calendar.currentView !== 'month') {\n return this.rangeCalendar.nextYear();\n }\n\n return this.rangeCalendar.nextMonth();\n };\n\n get canDisplayLeftArrow(): boolean {\n return !this.rangeCalendar || this.rangeCalendar.location === 'left' || this.calendar.currentView !== 'month';\n }\n\n get canDisplayRightArrow(): boolean {\n return !this.rangeCalendar || this.rangeCalendar.location === 'right' || this.calendar.currentView !== 'month';\n }\n}\n","<wlcm-calendar-header\n [next]=\"next\"\n [previous]=\"previous\"\n [displayLeftArrow]=\"canDisplayLeftArrow && !rangeCalendar.disabled()\"\n [displayRightArrow]=\"canDisplayRightArrow && !rangeCalendar.disabled()\"\n></wlcm-calendar-header>\n","import { InjectionToken } from '@angular/core';\nimport { WlcmDateRangePickerConfig } from '../../models/range/date-range-picker.models';\n\nexport const WLCM_DATE_RANGE_PICKER_CONFIG: InjectionToken<WlcmDateRangePickerConfig> = new InjectionToken(\n 'WLCM_DATE_RANGE_PICKER_CONFIG',\n { providedIn: 'root', factory: () => ({}) }\n);\n","import { InjectionToken, Provider } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { MatDateSelectionModel, MatRangeDateSelectionModel } from '@angular/material/datepicker';\n\nexport const WLCM_DATE_RANGE_SELECTION_MODEL: InjectionToken<MatDateSelectionModel<Date>> = new InjectionToken(\n 'WLCM_DATE_RANGE_SELECTION_MODEL'\n);\n\nexport const WLCM_DATE_RANGE_SELECTION_MODEL_PROVIDER: Provider = {\n provide: WLCM_DATE_RANGE_SELECTION_MODEL,\n useFactory: (adapter: DateAdapter<Date>) => new MatRangeDateSelectionModel(adapter),\n deps: [DateAdapter],\n};\n","import { InjectionToken, Provider } from '@angular/core';\nimport { MatDateSelectionModel, MatRangeDateSelectionModel } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\n\nexport const WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL: InjectionToken<MatDateSelectionModel<Date>> = new InjectionToken(\n 'WLCM_DATE_RANGE_SELECTION_MODEL'\n);\n\nexport const WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL_PROVIDER: Provider = {\n provide: WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL,\n useFactory: (adapter: DateAdapter<Date>) => new MatRangeDateSelectionModel(adapter),\n deps: [DateAdapter],\n};\n","import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { MatCalendar } from '@angular/material/datepicker';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmDataRangeCalendar } from '../../models/range/data-range-calendar.models';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmLeftCalendar]',\n standalone: true,\n providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmLeftCalendarDirective) }],\n})\nexport class WlcmLeftCalendarDirective extends WlcmDataRangeCalendar {\n constructor(\n public override element: ElementRef<HTMLElement>,\n protected override dateAdapter: DateAdapter<Date>,\n @Inject(forwardRef(() => MatCalendar)) protected override calendar: MatCalendar<Date>\n ) {\n super('left', element, calendar, dateAdapter);\n\n this.handleYearChange();\n\n this.handleMonthChange();\n }\n\n handleYearChange(): void {\n this.calendar.yearSelected.pipe(untilDestroyed(this)).subscribe((date: Date) => this.dateChange.emit(date));\n }\n\n handleMonthChange(): void {\n this.calendar.monthSelected.pipe(untilDestroyed(this)).subscribe((date: Date) => this.dateChange.emit(date));\n }\n}\n","import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmDataRangeCalendar } from '../../models/range/data-range-calendar.models';\nimport { MatCalendar, yearsPerPage } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmRightCalendar]',\n standalone: true,\n providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmRightCalendarDirective) }],\n})\nexport class WlcmRightCalendarDirective extends WlcmDataRangeCalendar {\n constructor(\n public override element: ElementRef<HTMLElement>,\n protected override dateAdapter: DateAdapter<Date>,\n @Inject(forwardRef(() => MatCalendar)) protected override calendar: MatCalendar<Date>\n ) {\n super('right', element, calendar, dateAdapter);\n\n this.handleYearChange();\n\n this.handleMonthChange();\n }\n\n handleYearChange(): void {\n this.calendar.yearSelected\n .pipe(untilDestroyed(this))\n .subscribe((date: Date) => this.dateChange.emit(this.dateAdapter.addCalendarMonths(date, -1)));\n }\n\n handleMonthChange(): void {\n this.calendar.monthSelected\n .pipe(untilDestroyed(this))\n .subscribe((date: Date) => this.dateChange.emit(this.dateAdapter.addCalendarMonths(date, -1)));\n }\n\n override nextMonth(): void {\n this.dateChange.emit(this.calendar.activeDate);\n }\n\n override prevYear(): void {\n this.dateChange.emit(\n this.dateAdapter.addCalendarMonths(\n this.dateAdapter.addCalendarYears(\n this.calendar.activeDate,\n this.calendar.currentView == 'year' ? -1 : -yearsPerPage\n ),\n -1\n )\n );\n }\n\n override nextYear(): void {\n this.dateChange.emit(\n this.dateAdapter.addCalendarMonths(\n this.dateAdapter.addCalendarYears(\n this.calendar.activeDate,\n this.calendar.currentView == 'year' ? 1 : yearsPerPage\n ),\n -1\n )\n );\n }\n}\n","import {\n OverlayRef,\n Overlay,\n CdkOverlayOrigin,\n FlexibleConnectedPositionStrategyOrigin,\n FlexibleConnectedPositionStrategy,\n OverlayConfig,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Directive, ElementRef, Type, ComponentRef, ViewContainerRef, Injector } from '@angular/core';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { MatDateSelectionModel } from '@angular/material/datepicker';\nimport { Observable, merge, EMPTY, filter } from 'rxjs';\n\n@UntilDestroy()\n@Directive()\nexport abstract class WlcmDatepickerTrigger<T, D = Date> {\n protected overlayRef: OverlayRef = this.overlay.create(this.createOverlayConfig());\n\n protected abstract connectedTo: ElementRef<HTMLElement>;\n\n protected abstract componentType: Type<T>;\n\n protected componentRef?: ComponentRef<T>;\n\n constructor(\n protected overlay: Overlay,\n protected viewContainerRef: ViewContainerRef,\n protected selectionModel: MatDateSelectionModel<D>\n ) {\n this.handleBackdropClick();\n }\n\n open(): void {\n const injector: Injector = Injector.create({\n providers: [{ provide: OverlayRef, useValue: this.overlayRef }],\n parent: this.viewContainerRef.injector,\n });\n\n const portal: ComponentPortal<T> = new ComponentPortal(this.componentType, this.viewContainerRef, injector);\n\n this.updatePositionStrategy();\n\n this.componentRef = this.overlayRef.attach(portal);\n }\n\n close(): void {\n this.overlayRef.detach();\n }\n\n get isOpen(): boolean {\n return this.overlayRef.hasAttached();\n }\n\n get opened(): Observable<void> {\n return merge(this.overlayRef?.attachments() || EMPTY).pipe(filter(() => this.overlayRef.hasAttached()));\n }\n\n get closed(): Observable<void> {\n return (this.overlayRef?.detachments() || EMPTY).pipe(filter(() => !this.overlayRef.hasAttached()));\n }\n\n private get overlayOrigin(): CdkOverlayOrigin {\n return new CdkOverlayOrigin(this.connectedTo);\n }\n\n private handleBackdropClick(): void {\n this.overlayRef\n .backdropClick()\n .pipe(untilDestroyed(this))\n .subscribe(() => this.close());\n }\n\n private updatePositionStrategy(): void {\n const origin: FlexibleConnectedPositionStrategyOrigin = this.overlayOrigin.elementRef;\n\n const strategy: FlexibleConnectedPositionStrategy = this.overlay.position().flexibleConnectedTo(origin);\n\n strategy.withPositions([\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 4 },\n { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -4 },\n ]);\n\n strategy.withLockedPosition(false);\n\n strategy.withDefaultOffsetY(4);\n\n this.overlayRef.updatePositionStrategy(strategy);\n }\n\n private createOverlayConfig(): OverlayConfig {\n return new OverlayConfig({\n hasBackdrop: true,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n backdropClass: 'transparent',\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Inject,\n Optional,\n Signal,\n Type,\n ViewChild,\n WritableSignal,\n computed,\n effect,\n signal,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n DateRange,\n DefaultMatCalendarRangeStrategy,\n MAT_DATE_RANGE_SELECTION_STRATEGY,\n MatCalendar,\n MatCalendarUserEvent,\n MatCalendarView,\n MatDateRangeSelectionStrategy,\n MatDateSelectionModel,\n MatDatepickerModule,\n MatMonthView,\n} from '@angular/material/datepicker';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmDateRangePickerBottomPanelComponent } from '../date-range-picker-bottom-panel/date-range-picker-bottom-panel.component';\nimport { Subject, startWith, takeUntil, tap } from 'rxjs';\nimport { DateAdapter } from '@angular/material/core';\nimport { WlcmDateRangeCalendarHeaderComponent } from '../date-range-calendar-header/date-range-calendar-header.component';\nimport { WlcmCalendarModule } from '@wlcm/angular/calendar';\nimport { WLCM_DATE_RANGE_PICKER_CONFIG } from '../../../constants/range/date-range-picker.constants';\nimport {\n WLCM_DATE_RANGE_SELECTION_MODEL_PROVIDER,\n WLCM_DATE_RANGE_SELECTION_MODEL,\n} from '../../../constants/range/date-range-selection-model.constants';\nimport { WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL } from '../../../constants/range/date-range-trigger-selection-model.constants';\nimport { WlcmLeftCalendarDirective } from '../../../directives/ragne/left-calendar.directive';\nimport { WlcmRightCalendarDirective } from '../../../directives/ragne/right-calendar.directive';\nimport { WlcmDateRangePickerConfig } from '../../../models/range/date-range-picker.models';\nimport { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-date-range-picker',\n standalone: true,\n imports: [\n CommonModule,\n WlcmCalendarModule,\n MatDatepickerModule,\n WlcmLeftCalendarDirective,\n WlcmRightCalendarDirective,\n WlcmDateRangePickerBottomPanelComponent,\n ],\n templateUrl: './date-range-picker.component.html',\n styleUrl: './date-range-picker.component.scss',\n providers: [\n {\n provide: MAT_DATE_RANGE_SELECTION_STRATEGY,\n useClass: DefaultMatCalendarRangeStrategy,\n },\n WLCM_DATE_RANGE_SELECTION_MODEL_PROVIDER,\n ],\n})\nexport class WlcmDateRangePickerComponent {\n protected headerComponent: Type<unknown> = WlcmDateRangeCalendarHeaderComponent;\n\n private _isViewInitialized = false;\n\n private _isComplete: WritableSignal<boolean> = signal(false);\n\n readonly isComplete: Signal<boolean> = computed(() => this._isComplete());\n\n constructor(\n @Optional() @Inject(WLCM_DATE_RANGE_PICKER_CONFIG) private config: WlcmDateRangePickerConfig,\n @Inject(MAT_DATE_RANGE_SELECTION_STRATEGY)\n private rangeSelectionStrategy: MatDateRangeSelectionStrategy<Date>,\n @Inject(WLCM_DATE_RANGE_SELECTION_MODEL)\n protected localSelectionModel: MatDateSelectionModel<DateRange<Date>>,\n @Inject(WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL)\n protected triggerSelectionModel: MatDateSelectionModel<DateRange<Date>>,\n protected trigger: WlcmDatepickerTrigger<WlcmDateRangePickerComponent>,\n protected dateAdapter: DateAdapter<Date>\n ) {\n this.handleSelectionChanged();\n\n this.localSelectionModel.updateSelection(this.triggerSelectionModel.selection, this);\n\n if (this.triggerSelectionModel.selection.start) {\n this.startDate.set(this.triggerSelectionModel.selection.start);\n }\n\n if (this.config.headerComponent) {\n this.headerComponent = this.config.headerComponent;\n }\n\n effect(() => {\n if (!this._isViewInitialized) return;\n\n this.leftCalendar.activeDate = this.startDate();\n\n this.rightCalendar.activeDate = this.dateAdapter.addCalendarMonths(this.startDate(), 1);\n });\n }\n\n @ViewChild(WlcmLeftCalendarDirective, { read: MatCalendar }) leftCalendar!: MatCalendar<Date>;\n\n @ViewChild(WlcmRightCalendarDirective, { read: MatCalendar }) rightCalendar!: MatCalendar<Date>;\n\n @ViewChild(WlcmLeftCalendarDirective, { read: ElementRef }) leftCalendarElement!: ElementRef<HTMLElement>;\n\n @ViewChild(MatMonthView) monthView!: MatMonthView<any>;\n\n startDate: WritableSignal<Date> = signal(new Date());\n\n leftCalendarYearViewActivated: WritableSignal<boolean> = signal(false);\n\n rightCalendarYearViewActivated: WritableSignal<boolean> = signal(false);\n\n ngAfterViewInit() {\n this._isViewInitialized = true;\n\n this.leftCalendar.viewChanged.pipe(untilDestroyed(this)).subscribe((view: MatCalendarView) => {\n this.leftCalendarYearViewActivated.set(view !== 'month');\n });\n\n this.rightCalendar.viewChanged.pipe(untilDestroyed(this)).subscribe((view: MatCalendarView) => {\n this.rightCalendarYearViewActivated.set(view !== 'month');\n });\n\n this.handleRightCalendarPreviewChange();\n }\n\n calendarSelection(event: MatCalendarUserEvent<Date | null>): void {\n const newSelection: DateRange<Date> = this.rangeSelectionStrategy.selectionFinished(\n event.value,\n this.localSelectionModel.selection,\n event.event\n );\n\n this.localSelectionModel.updateSelection(newSelection, this);\n }\n\n calendarDragDrop(event: MatCalendarUserEvent<DateRange<Date>>): void {\n this.localSelectionModel.updateSelection(event.value, this);\n }\n\n apply(): void {\n this.triggerSelectionModel.updateSelection(this.localSelectionModel.selection, this);\n\n this.trigger.close();\n }\n\n reset(): void {\n this.trigger.close();\n }\n\n get selected(): DateRange<Date> {\n return this.localSelectionModel.selection;\n }\n\n private get leftCalendarActiveCell(): HTMLElement | null {\n return this.leftCalendarElement.nativeElement.querySelector('.mat-calendar-body-active');\n }\n\n private handleSelectionChanged(): void {\n this.localSelectionModel.selectionChanged\n .pipe(untilDestroyed(this))\n .subscribe(() => this._isComplete.set(this.localSelectionModel.isComplete()));\n }\n\n private handleRightCalendarPreviewChange(): void {\n const viewChanged: Subject<void> = new Subject();\n\n this.rightCalendar.viewChanged\n .pipe(untilDestroyed(this))\n .pipe(tap(() => viewChanged.next()))\n .pipe(startWith(this.rightCalendar.currentView))\n .subscribe((view: MatCalendarView) => {\n if (view !== 'month') return;\n\n this.rightCalendar.monthView._matCalendarBody.previewChange\n .pipe(takeUntil(viewChanged), untilDestroyed(this))\n .subscribe(() => {\n if (this.leftCalendar.currentView !== 'month' || !this.leftCalendar.monthView._rangeStart) return;\n\n this.leftCalendar.monthView._previewStart = this.rightCalendar.monthView._previewStart;\n\n this.leftCalendar.monthView._previewEnd = this.rightCalendar.monthView._previewEnd;\n\n const activeCell = this.leftCalendarActiveCell;\n\n if (activeCell && activeCell === document.activeElement) activeCell.blur();\n\n this.leftCalendar.monthView._changeDetectorRef.markForCheck();\n });\n });\n }\n}\n","<div class=\"wlcm-date-range-picker-panel\">\n <div class=\"wlcm-date-range-picker-body\">\n <mat-calendar\n wlcmCalendar\n wlcmLeftCalendar\n [selected]=\"selected\"\n [disabled]=\"rightCalendarYearViewActivated()\"\n [headerComponent]=\"headerComponent\"\n (_userSelection)=\"calendarSelection($event)\"\n (_userDragDrop)=\"calendarDragDrop($event)\"\n (dateChange)=\"startDate.set($event)\"\n ></mat-calendar>\n\n <mat-calendar\n wlcmCalendar\n wlcmRightCalendar\n [selected]=\"selected\"\n [disabled]=\"leftCalendarYearViewActivated()\"\n [headerComponent]=\"headerComponent\"\n (_userSelection)=\"calendarSelection($event)\"\n (_userDragDrop)=\"calendarDragDrop($event)\"\n (dateChange)=\"startDate.set($event)\"\n ></mat-calendar>\n </div>\n\n <wlcm-date-range-picker-bottom-panel></wlcm-date-range-picker-bottom-panel>\n</div>\n","import { Injectable } from '@angular/core';\nimport { DateFnsAdapter } from '@angular/material-date-fns-adapter';\nimport { format } from 'date-fns';\n\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n@Injectable()\nexport class WlcmDateAdapter extends DateFnsAdapter {\n override getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n const formatString = style === 'long' ? 'EEEE' : 'EEEEEE';\n\n return range(7, (i) => format(new Date(2017, 0, i + 1), formatString));\n }\n}\n\nexport enum WlcmDateValidation {\n Format = 'WlcmInvalidDateFormat',\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';\nimport { DateAdapter, MatDateFormats } from '@angular/material/core';\nimport { format, isValid, parse } from 'date-fns';\nimport { WlcmDateValidation } from '../models/date-picker.models';\n\n@Directive()\nexport abstract class WlcmDatepickerInputBase implements ControlValueAccessor, Validator {\n @HostListener('blur') handleBlur() {\n this.updateSelection();\n\n this._touched?.();\n }\n\n @HostListener('input') handleInput() {\n if (this.isValidFormat(this.currentValue, this.dateFormats.parse.dateInput)) {\n this.updateSelection();\n }\n\n this._validatorChanged?.();\n }\n\n protected _changed?: (value: Date | null) => void;\n\n protected _touched?: () => void;\n\n protected _validatorChanged?: () => void;\n\n constructor(\n protected element: ElementRef,\n protected dateAdapter: DateAdapter<Date>,\n protected dateFormats: MatDateFormats\n ) {}\n\n writeValue(value: Date | null): void {\n this.updateInputValue(value);\n }\n\n registerOnChange(callback: (value: Date | null) => void): void {\n this._changed = callback;\n }\n\n registerOnTouched(callback: () => void): void {\n this._touched = callback;\n }\n\n registerOnValidatorChange(callback: () => void): void {\n this._validatorChanged = callback;\n }\n\n validate(): ValidationErrors | null {\n if (!this.currentValue) return null;\n\n const isValid: boolean = this.isValidFormat(this.currentValue, this.dateFormats.parse.dateInput);\n\n if (!isValid) {\n return {\n [WlcmDateValidation.Format]: { value: this.currentValue, format: this.dateFormats.parse.dateInput },\n required: false,\n };\n }\n\n return null;\n }\n\n parseCurrentValue(): Date | null {\n const date: Date | null = this.dateAdapter.parse(this.currentValue, this.dateFormats.parse.dateInput);\n\n return this.dateAdapter.getValidDateOrNull(date);\n }\n\n protected isValidFormat(value: string, pattern: string): boolean {\n const parsedDate = parse(value, pattern, new Date());\n\n return isValid(parsedDate) && value === format(parsedDate, pattern);\n }\n\n protected abstract updateSelection(): void;\n\n protected get inputElement(): HTMLInputElement {\n return this.element.nativeElement;\n }\n\n protected get currentValue(): string {\n return this.inputElement.value;\n }\n\n protected updateInputValue(value: Date | null): void {\n let newValue: string = '';\n\n if (value) {\n newValue = this.dateAdapter.format(value, this.dateFormats.display.dateInput);\n }\n\n this.inputElement.value = newValue;\n }\n}\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\nimport { ControlValueAccessor, Validator } from '@angular/forms';\nimport { DateAdapter, MatDateFormats } from '@angular/material/core';\nimport { WlcmDatepickerInputBase } from '../datepicker-input.base';\n\n@Directive()\nexport abstract class WlcmDateRangePickerInputBase\n extends WlcmDatepickerInputBase\n implements AfterViewInit, ControlValueAccessor, Validator\n{\n private _inputMirror: HTMLElement = this.createInputMirror();\n\n constructor(\n public override element: ElementRef<HTMLInputElement>,\n protected override dateAdapter: DateAdapter<Date>,\n protected override dateFormats: MatDateFormats\n ) {\n super(element, dateAdapter, dateFormats);\n }\n\n ngAfterViewInit(): void {\n this.inputElement.parentElement?.appendChild(this._inputMirror);\n\n this.copyInputElementStyles(this._inputMirror);\n\n document.fonts.ready.then(() => this.changeInputSize());\n }\n\n override handleInput() {\n this.changeInputSize();\n\n super.handleInput();\n }\n\n protected override updateInputValue(value: Date | null): void {\n super.updateInputValue(value);\n\n this.changeInputSize();\n }\n\n private changeInputSize(): void {\n const value: string = this.currentValue || this.inputElement.placeholder;\n\n this._inputMirror.innerHTML = value;\n\n this.inputElement.style.width = `${this._inputMirror.offsetWidth + 2}px`;\n }\n\n private createInputMirror(): HTMLElement {\n const inputMirror: HTMLElement = document.createElement('div');\n\n inputMirror.classList.add('wlcm-date-range-picker-input-field-mirror');\n\n return inputMirror;\n }\n\n private copyInputElementStyles(target: HTMLElement): void {\n const inputElementStyles: CSSStyleDeclaration = window.getComputedStyle(this.inputElement);\n\n target.style.fontSize = inputElementStyles.fontSize;\n target.style.fontFamily = inputElementStyles.fontFamily;\n target.style.letterSpacing = inputElementStyles.letterSpacing;\n }\n}\n","export enum WlcmDateRangeValidation {\n StartExceedsEnd = 'wlcmDateRangeStartExceedsEnd',\n}\n","import { Directive, ElementRef, Inject, Optional, forwardRef } from '@angular/core';\nimport { WlcmDateRangePickerInputBase } from './date-range-picker-input.base';\nimport { DateAdapter, MAT_DATE_FORMATS, MatDateFormats } from '@angular/material/core';\nimport { WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL } from '../../constants/range/date-range-trigger-selection-model.constants';\nimport { MatDateSelectionModel, DateRange } from '@angular/material/datepicker';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors } from '@angular/forms';\nimport { WlcmDateRangeValidation } from '../../models/range/date-range-validation.models';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { isValid, isAfter } from 'date-fns';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmDateRangePickerInputEnd]',\n host: { class: 'wlcm-date-range-picker-input-field' },\n standalone: true,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },\n ],\n})\nexport class DateRangePickerInputEndDirective extends WlcmDateRangePickerInputBase {\n constructor(\n public override element: ElementRef<HTMLInputElement>,\n protected override dateAdapter: DateAdapter<Date>,\n @Optional() @Inject(MAT_DATE_FORMATS) protected override dateFormats: MatDateFormats,\n @Inject(WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL)\n protected selectionModel: MatDateSelectionModel<DateRange<Date>>\n ) {\n super(element, dateAdapter, dateFormats);\n\n this.handleSelectionChange();\n }\n\n override validate(): ValidationErrors | null {\n const defaultErrors: ValidationErrors | null = super.validate();\n\n if (isValid(this.selectionModel.selection.start)) {\n const endDate: Date | null = this.parseCurrentValue();\n\n if (endDate && isAfter(this.selectionModel.selection.start!, endDate)) {\n return { [WlcmDateRangeValidation.StartExceedsEnd]: true, ...(defaultErrors ?? {}) };\n }\n }\n\n return defaultErrors;\n }\n\n override updateSelection = (): void => {\n let end: Date | null = this.parseCurrentValue();\n\n this.selectionModel.updateSelection(new DateRange(this.selectionModel.selection.start, end), this);\n };\n\n private handleSelectionChange(): void {\n this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {\n const validDate: Date | null = this.dateAdapter.getValidDateOrNull(selection.end);\n\n this._changed?.(validDate);\n\n this.updateInputValue(validDate);\n\n this._validatorChanged?.();\n });\n }\n}\n","import { Directive, ElementRef, Inject, Optional, forwardRef } from '@angular/core';\nimport { WlcmDateRangePickerInputBase } from './date-range-picker-input.base';\nimport { DateAdapter, MAT_DATE_FORMATS, MatDateFormats } from '@angular/material/core';\nimport { MatDateSelectionModel, DateRange } from '@angular/material/datepicker';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors } from '@angular/forms';\nimport { WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL } from '../../constants/range/date-range-trigger-selection-model.constants';\nimport { WlcmDateRangeValidation } from '../../models/range/date-range-validation.models';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { isAfter, isValid } from 'date-fns';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmDateRangePickerInputStart]',\n host: { class: 'wlcm-date-range-picker-input-field' },\n standalone: true,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },\n ],\n})\nexport class DateRangePickerInputStartDirective extends WlcmDateRangePickerInputBase {\n constructor(\n public override element: ElementRef<HTMLInputElement>,\n protected override dateAdapter: DateAdapter<Date>,\n @Optional() @Inject(MAT_DATE_FORMATS) protected override dateFormats: MatDateFormats,\n @Inject(WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL)\n protected selectionModel: MatDateSelectionModel<DateRange<Date>>\n ) {\n super(element, dateAdapter, dateFormats);\n\n this.handleSelectionChange();\n }\n\n override validate(): ValidationErrors | null {\n const defaultErrors: ValidationErrors | null = super.validate();\n\n if (this.selectionModel.isComplete() && isValid(this.selectionModel.selection.end)) {\n const startDate: Date | null = this.parseCurrentValue();\n\n if (startDate && isAfter(startDate, this.selectionModel.selection.end!)) {\n return { [WlcmDateRangeValidation.StartExceedsEnd]: true, ...(defaultErrors ?? {}) };\n }\n }\n\n return defaultErrors;\n }\n\n override updateSelection = (): void => {\n let start: Date | null = this.parseCurrentValue();\n\n this.selectionModel.updateSelection(new DateRange(start, this.selectionModel.selection.end), this);\n };\n\n private handleSelectionChange(): void {\n this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {\n const validDate: Date | null = this.dateAdapter.getValidDateOrNull(selection.start);\n\n this._changed?.(validDate);\n\n this.updateInputValue(validDate);\n\n this._validatorChanged?.();\n });\n }\n}\n","export class DateRangePickerErrors {\n static throwNoStartInputError() {\n throw new Error('The input element with the wlcmDateRangePickerInputStart directive is missing');\n }\n\n static throwNoEndInputError() {\n throw new Error('The input element with the wlcmDateRangePickerInputEnd directive is missing');\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n Host,\n Inject,\n Type,\n ViewContainerRef,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DateRange, MatDateSelectionModel } from '@angular/material/datepicker';\nimport {\n WLCM_FORM_CONTROL_PROVIDER,\n WLCM_FORM_FIELD,\n WLCM_INPUT_BINDER,\n WlcmFormField,\n WlcmFormFieldInput,\n WlcmFormsModule,\n} from '@wlcm/angular/forms';\n\nimport { BehaviorSubject, EMPTY, Observable, fromEvent, map, merge, switchMap } from 'rxjs';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { WlcmDateRangePickerComponent } from '../date-range-picker/date-range-picker.component';\nimport { ControlContainer, FormGroup } from '@angular/forms';\nimport {\n WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL_PROVIDER,\n WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL,\n} from '../../../constants/range/date-range-trigger-selection-model.constants';\nimport { DateRangePickerInputEndDirective } from '../../../directives/ragne/date-range-picker-input-end.directive';\nimport { DateRangePickerInputStartDirective } from '../../../directives/ragne/date-range-picker-input-start.directive';\nimport { DateRangePickerErrors } from '../../../utils/range/date-range-picker-errors';\nimport { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';\n\n@Component({\n selector: 'wlcm-date-range-picker-input',\n host: { class: 'wlcm-date-range-picker-input' },\n exportAs: 'wlcmDateRangePickerInput',\n standalone: true,\n imports: [CommonModule, WlcmFormsModule, DateRangePickerInputStartDirective, DateRangePickerInputEndDirective],\n templateUrl: './date-range-picker-input.component.html',\n styleUrl: './date-range-picker-input.component.scss',\n providers: [\n WLCM_FORM_CONTROL_PROVIDER,\n WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL_PROVIDER,\n {\n provide: WLCM_INPUT_BINDER,\n useFactory: () => {\n const input = inject(WlcmDateRangePickerInputComponent, { self: true });\n\n return { bind: () => input };\n },\n },\n { provide: WlcmDatepickerTrigger, useExisting: forwardRef(() => WlcmDateRangePickerInputComponent) },\n ],\n})\nexport class WlcmDateRangePickerInputComponent\n extends WlcmDatepickerTrigger<WlcmDateRangePickerComponent, DateRange<Date>>\n implements WlcmFormFieldInput, AfterContentInit, AfterViewInit\n{\n private readonly _focusStream$: BehaviorSubject<Observable<void>> = new BehaviorSubject(EMPTY as Observable<void>);\n\n private readonly _blurStream$: BehaviorSubject<Observable<void>> = new BehaviorSubject(EMPTY as Observable<void>);\n\n focus$: Observable<unknown> = this._focusStream$.pipe(switchMap((stream: Observable<unknown>) => stream));\n\n blur$: Observable<unknown> = this._blurStream$.pipe(switchMap((stream: Observable<unknown>) => stream));\n\n @ContentChild(DateRangePickerInputStartDirective) private startInput!: DateRangePickerInputStartDirective;\n\n @ContentChild(DateRangePickerInputEndDirective) private endInput!: DateRangePickerInputEndDirective;\n\n override componentType: Type<WlcmDateRangePickerComponent> = WlcmDateRangePickerComponent;\n\n protected override connectedTo!: ElementRef<HTMLElement>;\n\n constructor(\n protected override overlay: Overlay,\n protected override viewContainerRef: ViewContainerRef,\n @Inject(WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL)\n protected override selectionModel: MatDateSelectionModel<DateRange<Date>>,\n @Host() @Inject(WLCM_FORM_FIELD) private formField: WlcmFormField,\n @Host() @Inject(ControlContainer) private controlContainer: ControlContainer\n ) {\n super(overlay, viewContainerRef, selectionModel);\n }\n\n ngAfterContentInit(): void {\n this.checkInputs();\n\n this.attachFocusBlurListeners();\n }\n\n ngAfterViewInit(): void {\n this.connectedTo = this.formField.inputContainer;\n }\n\n isFocused(): boolean {\n return (\n this.startInputElement === document.activeElement ||\n this.endInputElement === document.activeElement ||\n this.isOpen\n );\n }\n\n focus(): void {\n if (!this.isFocused()) this.startInputElement.focus();\n }\n\n private get control(): FormGroup | null {\n return this.controlContainer?.control as FormGroup;\n }\n\n private get startInputElement(): HTMLElement {\n return this.startInput.element.nativeElement;\n }\n\n private get endInputElement(): HTMLElement {\n return this.endInput.element.nativeElement;\n }\n\n private checkInputs(): void {\n if (!this.startInput) DateRangePickerErrors.throwNoStartInputError();\n\n if (!this.endInput) DateRangePickerErrors.throwNoEndInputError();\n }\n\n private attachFocusBlurListeners(): void {\n const voidFn = () => {};\n\n const startInputFocus: Observable<Event> = fromEvent(this.startInputElement, 'focus');\n\n const endInputFocus: Observable<Event> = fromEvent(this.endInputElement, 'focus');\n\n const startInputBlur: Observable<Event> = fromEvent(this.startInputElement, 'blur');\n\n const endInputBlur: Observable<Event> = fromEvent(this.endInputElement, 'blur');\n\n const focusObservables: Observable<unknown>[] = [startInputFocus, endInputFocus, this.opened];\n\n const blurObservables: Observable<unknown>[] = [startInputBlur, endInputBlur, this.closed];\n\n this._focusStream$.next(merge(...focusObservables).pipe(map(voidFn)));\n\n this._blurStream$.next(merge(...blurObservables).pipe(map(() => this.control?.markAsTouched())));\n }\n}\n","<div class=\"wlcm-date-range-picker-inputs-container\">\n <div class=\"wlcm-date-range-picker-input-field-wrapper\">\n <ng-content select=\"[wlcmDateRangePickerInputStart]\"></ng-content>\n </div>\n\n <div class=\"wlcm-date-range-picker-input-dash\"></div>\n\n <div class=\"wlcm-date-range-picker-input-field-wrapper\">\n <ng-content select=\"[wlcmDateRangePickerInputEnd]\"></ng-content>\n </div>\n</div>\n","import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS, MatDateFormats } from '@angular/material/core';\nimport { WlcmDatepickerPanelComponent } from '../../components/single/datepicker-panel/datepicker-panel.component';\nimport { MatDateSelectionModel } from '@angular/material/datepicker';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmDatepickerInputBase } from '../datepicker-input.base';\nimport { WlcmDatepickerTrigger } from '../datepicker-trigger.base';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmDatepickerInput]',\n exportAs: 'wlcmDatepickerInput',\n host: { class: 'wlcm-form-field-input' },\n standalone: true,\n providers: [\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },\n ],\n})\nexport class WlcmDatepickerInputDirective extends WlcmDatepickerInputBase implements ControlValueAccessor, Validator {\n constructor(\n protected override element: ElementRef,\n protected override dateAdapter: DateAdapter<Date>,\n @Inject(MAT_DATE_FORMATS) protected override dateFormats: MatDateFormats,\n protected selectionModel: MatDateSelectionModel<Date | null>,\n protected trigger: WlcmDatepickerTrigger<WlcmDatepickerPanelComponent>\n ) {\n super(element, dateAdapter, dateFormats);\n\n this.handleSelectionChange();\n\n this.handleClosePanel();\n }\n\n override updateSelection(): void {\n let date: Date | null = this.parseCurrentValue();\n\n this.selectionModel.updateSelection(date, this);\n }\n\n private handleClosePanel(): void {\n this.trigger.closed.pipe(untilDestroyed(this)).subscribe(() => this._touched?.());\n }\n\n private handleSelectionChange(): void {\n this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {\n this.updateInputValue(selection);\n\n this._changed?.(selection);\n\n this._touched?.();\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDateSelectionModel, MatDatepickerModule } from '@angular/material/datepicker';\nimport { WlcmCalendarHeaderComponent, WlcmCalendarModule } from '@wlcm/angular/calendar';\nimport { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';\n\n@Component({\n selector: 'wlcm-datepicker-panel',\n host: { class: 'wlcm-datepicker-panel' },\n standalone: true,\n imports: [CommonModule, MatDatepickerModule, WlcmCalendarModule],\n templateUrl: './datepicker-panel.component.html',\n styleUrl: './datepicker-panel.component.scss',\n})\nexport class WlcmDatepickerPanelComponent {\n protected headerComponent = WlcmCalendarHeaderComponent;\n\n constructor(\n protected selectionModel: MatDateSelectionModel<Date>,\n protected trigger: WlcmDatepickerTrigger<WlcmDatepickerPanelComponent>\n ) {}\n\n select(date: Date): void {\n this.selectionModel.updateSelection(date, this);\n\n this.trigger.close();\n }\n}\n","<mat-calendar\n wlcmCalendar\n [startAt]=\"selectionModel.selection\"\n [selected]=\"selectionModel.selection\"\n [headerComponent]=\"headerComponent\"\n (selectedChange)=\"select($event)\"\n></mat-calendar>\n","import {\n AfterContentInit,\n Component,\n ElementRef,\n Host,\n Inject,\n Signal,\n ViewContainerRef,\n contentChild,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { MatDateSelectionModel, MatSingleDateSelectionModel } from '@angular/material/datepicker';\nimport { WLCM_FORM_FIELD, WLCM_INPUT_BINDER, WlcmFormField, WlcmFormFieldInput } from '@wlcm/angular/forms';\nimport { WlcmDatepickerInputDirective } from '../../../directives/single/datepicker-input.directive';\nimport { WlcmDatepickerPanelComponent } from '../datepicker-panel/datepicker-panel.component';\nimport { BehaviorSubject, Observable, EMPTY, switchMap, fromEvent, merge, map } from 'rxjs';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';\nimport { CommonModule } from '@angular/common';\nimport { Overlay } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'wlcm-datepicker-input-container',\n host: { class: 'wlcm-datepicker-input-container' },\n exportAs: 'wlcmDatepicker',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './datepicker-input-container.component.html',\n styleUrl: './datepicker-input-container.component.scss',\n providers: [\n {\n provide: WLCM_INPUT_BINDER,\n useFactory: () => {\n const input = inject(WlcmDatepickerInputContainerComponent, { self: true });\n\n return { bind: () => input };\n },\n },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent), multi: true },\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent), multi: true },\n { provide: WlcmDatepickerTrigger, useExisting: forwardRef(() => WlcmDatepickerInputContainerComponent) },\n { provide: MatDateSelectionModel, useClass: MatSingleDateSelectionModel },\n ],\n})\nexport class WlcmDatepickerInputContainerComponent\n extends WlcmDatepickerTrigger<WlcmDatepickerPanelComponent>\n implements WlcmFormFieldInput, AfterContentInit\n{\n private readonly _focusStream$: BehaviorSubject<Observable<void>> = new BehaviorSubject(EMPTY as Observable<void>);\n\n private readonly _blurStream$: BehaviorSubject<Observable<void>> = new BehaviorSubject(EMPTY as Observable<void>);\n\n focus$: Observable<unknown> = this._focusStream$.pipe(switchMap((stream: Observable<unknown>) => stream));\n\n blur$: Observable<unknown> = this._blurStream$.pipe(switchMap((stream: Observable<unknown>) => stream));\n\n inputRef: Signal<ElementRef<HTMLInputElement> | undefined> = contentChild(WlcmDatepickerInputDirective, {\n read: ElementRef,\n });\n\n protected override componentType = WlcmDatepickerPanelComponent;\n\n protected override connectedTo!: ElementRef<HTMLElement>;\n\n constructor(\n protected override overlay: Overlay,\n protected override viewContainerRef: ViewContainerRef,\n protected override selectionModel: MatDateSelectionModel<Date>,\n @Host() @Inject(WLCM_FORM_FIELD) private formField: WlcmFormField\n ) {\n super(overlay, viewContainerRef, selectionModel);\n }\n\n ngAfterContentInit(): void {\n this.attachFocusBlurListeners();\n }\n\n ngAfterViewInit(): void {\n this.connectedTo = this.formField.inputContainer;\n }\n\n focus = (): void => this.inputElement?.focus();\n\n isFocused = (): boolean => {\n return this.inputElement === document.activeElement || this.isOpen;\n };\n\n private get inputElement(): HTMLInputElement | undefined {\n return this.inputRef()?.nativeElement;\n }\n\n private attachFocusBlurListeners(): void {\n const voidFn = () => {};\n\n const inputFocus: Observable<Event> = fromEvent(this.inputElement!, 'focus');\n\n const inputBlur: Observable<Event> = fromEvent(this.inputElement!, 'blur');\n\n const focusObservables: Observable<unknown>[] = [inputFocus, this.opened];\n\n const blurObservables: Observable<unknown>[] = [inputBlur, this.closed];\n\n this._focusStream$.next(merge(...focusObservables).pipe(map(voidFn)));\n\n this._blurStream$.next(merge(...blurObservables).pipe(map(voidFn)));\n }\n}\n","<ng-content select=\"[wlcmDatepickerInput]\"></ng-content>\n","import { AbstractControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { WlcmDateValidation } from '../../models/date-picker.models';\n\nexport function WlcmDateRangeInputValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const formGroup: FormGroup = control as FormGroup;\n\n let errors: ValidationErrors | null = {};\n\n for (const childControl of Object.values(formGroup.controls)) {\n errors = { ...errors, ...childControl.errors };\n }\n\n errors = Object.keys(errors).length > 0 ? errors : null;\n\n if (errors instanceof Object && errors[WlcmDateValidation.Format] && errors['required']) {\n errors['required'] = false;\n }\n\n return errors;\n };\n}\n","import { Provider } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\n\nimport { WlcmDateAdapter } from '../models/date-picker.models';\nimport { enUS } from 'date-fns/locale';\n\nexport const WLCM_DEFAULT_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'MMM/dd/yyyy',\n },\n display: {\n dateInput: 'MMM/dd/yyyy',\n monthYearLabel: 'MMMM yyyy',\n dateA11yLabel: 'MMM/dd/yyyy',\n monthYearA11yLabel: 'MMM yyyy',\n },\n};\n\nexport const WLCM_DEFAULT_DATEPICKER_PROVIDERS: Provider[] = [\n { provide: MAT_DATE_LOCALE, useValue: enUS },\n { provide: MAT_DATE_FORMATS, useValue: WLCM_DEFAULT_DATE_FORMATS },\n { provide: DateAdapter, useClass: WlcmDateAdapter, deps: [MAT_DATE_LOCALE] },\n];\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmDatepickerInputContainerComponent } from './components/single/datepicker-input-container/datepicker-input-container.component';\nimport { WlcmDateRangePickerInputComponent } from './components/range/date-range-picker-input/date-range-picker-input.component';\nimport { DateRangePickerInputStartDirective } from './directives/ragne/date-range-picker-input-start.directive';\nimport { DateRangePickerInputEndDirective } from './directives/ragne/date-range-picker-input-end.directive';\nimport { WlcmDatepickerInputDirective } from './directives/single/datepicker-input.directive';\nimport { WLCM_DEFAULT_DATEPICKER_PROVIDERS } from './constants/datepicker.constants';\n\nconst publicComponents: Type<unknown>[] = [WlcmDatepickerInputContainerComponent, WlcmDateRangePickerInputComponent];\n\nconst publicDirectives: Type<unknown>[] = [\n WlcmDatepickerInputDirective,\n DateRangePickerInputStartDirective,\n DateRangePickerInputEndDirective,\n];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n providers: [...WLCM_DEFAULT_DATEPICKER_PROVIDERS],\n})\nexport class WlcmDatepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.WlcmDateRangePickerComponent","i1.WlcmDataRangeCalendar","i2","i1","i1.WlcmDatepickerTrigger","i4","i3.WlcmDatepickerTrigger","i2.WlcmDatepickerTrigger"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export { WlcmDateRangePickerInputComponent } from './lib/components/range/date-range-picker-input/date-range-picker-input.component';
2
+ export { WlcmDatepickerInputContainerComponent } from './lib/components/single/datepicker-input-container/datepicker-input-container.component';
3
+ export { DateRangePickerInputEndDirective } from './lib/directives/ragne/date-range-picker-input-end.directive';
4
+ export { DateRangePickerInputStartDirective } from './lib/directives/ragne/date-range-picker-input-start.directive';
5
+ export { WlcmDatepickerInputDirective } from './lib/directives/single/datepicker-input.directive';
6
+ export { WlcmDateRangeValidation } from './lib/models/range/date-range-validation.models';
7
+ export { WlcmDateRangeInputValidator } from './lib/utils/range/date-range-input.validators';
8
+ export { WlcmDateValidation } from './lib/models/date-picker.models';
9
+ export { WlcmDatepickerModule } from './lib/datepicker.module';
@@ -0,0 +1,18 @@
1
+ import { MatDateFormats } from '@angular/material/core';
2
+ import { WlcmDataRangeCalendar } from '../../../models/range/data-range-calendar.models';
3
+ import { WlcmIconName } from '@wlcm/angular/core';
4
+ import { MatCalendar } from '@angular/material/datepicker';
5
+ import * as i0 from "@angular/core";
6
+ export declare class WlcmDateRangeCalendarHeaderComponent {
7
+ protected rangeCalendar: WlcmDataRangeCalendar;
8
+ protected dateFormats: MatDateFormats;
9
+ calendar: MatCalendar<Date>;
10
+ readonly WlcmIconName: typeof WlcmIconName;
11
+ constructor(rangeCalendar: WlcmDataRangeCalendar, dateFormats: MatDateFormats, calendar: MatCalendar<Date>);
12
+ previous: () => void;
13
+ next: () => void;
14
+ get canDisplayLeftArrow(): boolean;
15
+ get canDisplayRightArrow(): boolean;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDateRangeCalendarHeaderComponent, [{ optional: true; }, { optional: true; }, null]>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmDateRangeCalendarHeaderComponent, "wlcm-date-range-calendar-header", never, {}, {}, never, never, true, never>;
18
+ }
@@ -1,20 +1,21 @@
1
- import { ElementRef, Signal, WritableSignal } from '@angular/core';
1
+ import { ElementRef, Signal, Type, WritableSignal } from '@angular/core';
2
2
  import { DateRange, MatCalendar, MatCalendarUserEvent, MatDateRangeSelectionStrategy, MatDateSelectionModel, MatMonthView } from '@angular/material/datepicker';
3
- import { WlcmCalendarHeaderComponent } from '../calendar-header/calendar-header.component';
4
- import { WlcmDateRangePickerTrigger } from '../../directives/date-range-picker-trigger.directive';
5
3
  import { DateAdapter } from '@angular/material/core';
4
+ import { WlcmDateRangePickerConfig } from '../../../models/range/date-range-picker.models';
5
+ import { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class WlcmDateRangePickerComponent {
8
+ private config;
8
9
  private rangeSelectionStrategy;
9
10
  protected localSelectionModel: MatDateSelectionModel<DateRange<Date>>;
10
11
  protected triggerSelectionModel: MatDateSelectionModel<DateRange<Date>>;
12
+ protected trigger: WlcmDatepickerTrigger<WlcmDateRangePickerComponent>;
11
13
  protected dateAdapter: DateAdapter<Date>;
12
- protected trigger: WlcmDateRangePickerTrigger;
13
- readonly WlcmCalendarHeaderComponent: typeof WlcmCalendarHeaderComponent;
14
+ protected headerComponent: Type<unknown>;
14
15
  private _isViewInitialized;
15
16
  private _isComplete;
16
17
  readonly isComplete: Signal<boolean>;
17
- constructor(rangeSelectionStrategy: MatDateRangeSelectionStrategy<Date>, localSelectionModel: MatDateSelectionModel<DateRange<Date>>, triggerSelectionModel: MatDateSelectionModel<DateRange<Date>>, dateAdapter: DateAdapter<Date>, trigger: WlcmDateRangePickerTrigger);
18
+ constructor(config: WlcmDateRangePickerConfig, rangeSelectionStrategy: MatDateRangeSelectionStrategy<Date>, localSelectionModel: MatDateSelectionModel<DateRange<Date>>, triggerSelectionModel: MatDateSelectionModel<DateRange<Date>>, trigger: WlcmDatepickerTrigger<WlcmDateRangePickerComponent>, dateAdapter: DateAdapter<Date>);
18
19
  leftCalendar: MatCalendar<Date>;
19
20
  rightCalendar: MatCalendar<Date>;
20
21
  leftCalendarElement: ElementRef<HTMLElement>;
@@ -31,6 +32,6 @@ export declare class WlcmDateRangePickerComponent {
31
32
  private get leftCalendarActiveCell();
32
33
  private handleSelectionChanged;
33
34
  private handleRightCalendarPreviewChange;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDateRangePickerComponent, never>;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDateRangePickerComponent, [{ optional: true; }, null, null, null, null, null]>;
35
36
  static ɵcmp: i0.ɵɵComponentDeclaration<WlcmDateRangePickerComponent, "wlcm-date-range-picker", never, {}, {}, never, never, true, never>;
36
37
  }
@@ -1,13 +1,13 @@
1
- import { AfterContentInit, AfterViewInit, Type, ViewContainerRef } from '@angular/core';
2
- import { WlcmDateRangePickerTrigger } from '../../directives/date-range-picker-trigger.directive';
1
+ import { AfterContentInit, AfterViewInit, ElementRef, Type, ViewContainerRef } from '@angular/core';
3
2
  import { DateRange, MatDateSelectionModel } from '@angular/material/datepicker';
4
3
  import { WlcmFormField, WlcmFormFieldInput } from '@wlcm/angular/forms';
5
4
  import { Observable } from 'rxjs';
6
5
  import { Overlay } from '@angular/cdk/overlay';
7
6
  import { WlcmDateRangePickerComponent } from '../date-range-picker/date-range-picker.component';
8
7
  import { ControlContainer } from '@angular/forms';
8
+ import { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';
9
9
  import * as i0 from "@angular/core";
10
- export declare class WlcmDateRangePickerInputComponent extends WlcmDateRangePickerTrigger implements WlcmFormFieldInput, AfterContentInit, AfterViewInit {
10
+ export declare class WlcmDateRangePickerInputComponent extends WlcmDatepickerTrigger<WlcmDateRangePickerComponent, DateRange<Date>> implements WlcmFormFieldInput, AfterContentInit, AfterViewInit {
11
11
  protected overlay: Overlay;
12
12
  protected viewContainerRef: ViewContainerRef;
13
13
  protected selectionModel: MatDateSelectionModel<DateRange<Date>>;
@@ -20,6 +20,7 @@ export declare class WlcmDateRangePickerInputComponent extends WlcmDateRangePick
20
20
  private startInput;
21
21
  private endInput;
22
22
  componentType: Type<WlcmDateRangePickerComponent>;
23
+ protected connectedTo: ElementRef<HTMLElement>;
23
24
  constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, selectionModel: MatDateSelectionModel<DateRange<Date>>, formField: WlcmFormField, controlContainer: ControlContainer);
24
25
  ngAfterContentInit(): void;
25
26
  ngAfterViewInit(): void;
@@ -0,0 +1,30 @@
1
+ import { AfterContentInit, ElementRef, Signal, ViewContainerRef } from '@angular/core';
2
+ import { MatDateSelectionModel } from '@angular/material/datepicker';
3
+ import { WlcmFormField, WlcmFormFieldInput } from '@wlcm/angular/forms';
4
+ import { WlcmDatepickerPanelComponent } from '../datepicker-panel/datepicker-panel.component';
5
+ import { Observable } from 'rxjs';
6
+ import { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';
7
+ import { Overlay } from '@angular/cdk/overlay';
8
+ import * as i0 from "@angular/core";
9
+ export declare class WlcmDatepickerInputContainerComponent extends WlcmDatepickerTrigger<WlcmDatepickerPanelComponent> implements WlcmFormFieldInput, AfterContentInit {
10
+ protected overlay: Overlay;
11
+ protected viewContainerRef: ViewContainerRef;
12
+ protected selectionModel: MatDateSelectionModel<Date>;
13
+ private formField;
14
+ private readonly _focusStream$;
15
+ private readonly _blurStream$;
16
+ focus$: Observable<unknown>;
17
+ blur$: Observable<unknown>;
18
+ inputRef: Signal<ElementRef<HTMLInputElement> | undefined>;
19
+ protected componentType: typeof WlcmDatepickerPanelComponent;
20
+ protected connectedTo: ElementRef<HTMLElement>;
21
+ constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, selectionModel: MatDateSelectionModel<Date>, formField: WlcmFormField);
22
+ ngAfterContentInit(): void;
23
+ ngAfterViewInit(): void;
24
+ focus: () => void;
25
+ isFocused: () => boolean;
26
+ private get inputElement();
27
+ private attachFocusBlurListeners;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDatepickerInputContainerComponent, [null, null, null, { host: true; }]>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmDatepickerInputContainerComponent, "wlcm-datepicker-input-container", ["wlcmDatepicker"], {}, {}, ["inputRef"], ["[wlcmDatepickerInput]"], true, never>;
30
+ }
@@ -0,0 +1,13 @@
1
+ import { MatDateSelectionModel } from '@angular/material/datepicker';
2
+ import { WlcmCalendarHeaderComponent } from '@wlcm/angular/calendar';
3
+ import { WlcmDatepickerTrigger } from '../../../directives/datepicker-trigger.base';
4
+ import * as i0 from "@angular/core";
5
+ export declare class WlcmDatepickerPanelComponent {
6
+ protected selectionModel: MatDateSelectionModel<Date>;
7
+ protected trigger: WlcmDatepickerTrigger<WlcmDatepickerPanelComponent>;
8
+ protected headerComponent: typeof WlcmCalendarHeaderComponent;
9
+ constructor(selectionModel: MatDateSelectionModel<Date>, trigger: WlcmDatepickerTrigger<WlcmDatepickerPanelComponent>);
10
+ select(date: Date): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDatepickerPanelComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmDatepickerPanelComponent, "wlcm-datepicker-panel", never, {}, {}, never, never, true, never>;
13
+ }
@@ -0,0 +1,4 @@
1
+ import { Provider } from '@angular/core';
2
+ import { MatDateFormats } from '@angular/material/core';
3
+ export declare const WLCM_DEFAULT_DATE_FORMATS: MatDateFormats;
4
+ export declare const WLCM_DEFAULT_DATEPICKER_PROVIDERS: Provider[];
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { WlcmDateRangePickerConfig } from '../../models/range/date-range-picker.models';
3
+ export declare const WLCM_DATE_RANGE_PICKER_CONFIG: InjectionToken<WlcmDateRangePickerConfig>;
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "./components/single/datepicker-input-container/datepicker-input-container.component";
4
+ import * as i3 from "./components/range/date-range-picker-input/date-range-picker-input.component";
5
+ import * as i4 from "./directives/single/datepicker-input.directive";
6
+ import * as i5 from "./directives/ragne/date-range-picker-input-start.directive";
7
+ import * as i6 from "./directives/ragne/date-range-picker-input-end.directive";
8
+ export declare class WlcmDatepickerModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDatepickerModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmDatepickerModule, never, [typeof i1.CommonModule, typeof i2.WlcmDatepickerInputContainerComponent, typeof i3.WlcmDateRangePickerInputComponent, typeof i4.WlcmDatepickerInputDirective, typeof i5.DateRangePickerInputStartDirective, typeof i6.DateRangePickerInputEndDirective], [typeof i2.WlcmDatepickerInputContainerComponent, typeof i3.WlcmDateRangePickerInputComponent, typeof i4.WlcmDatepickerInputDirective, typeof i5.DateRangePickerInputStartDirective, typeof i6.DateRangePickerInputEndDirective]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<WlcmDatepickerModule>;
12
+ }
@@ -1,31 +1,28 @@
1
- import { AfterViewInit, ElementRef } from '@angular/core';
1
+ import { ElementRef } from '@angular/core';
2
2
  import { ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
3
3
  import { DateAdapter, MatDateFormats } from '@angular/material/core';
4
4
  import * as i0 from "@angular/core";
5
- export declare class DateRangePickerInputBase implements AfterViewInit, ControlValueAccessor, Validator {
6
- element: ElementRef<HTMLInputElement>;
5
+ export declare abstract class WlcmDatepickerInputBase implements ControlValueAccessor, Validator {
6
+ protected element: ElementRef;
7
7
  protected dateAdapter: DateAdapter<Date>;
8
8
  protected dateFormats: MatDateFormats;
9
- handleBlur: () => void;
10
- handleInput: () => void;
9
+ handleBlur(): void;
10
+ handleInput(): void;
11
11
  protected _changed?: (value: Date | null) => void;
12
12
  protected _touched?: () => void;
13
13
  protected _validatorChanged?: () => void;
14
- private _inputMirror;
15
- constructor(element: ElementRef<HTMLInputElement>, dateAdapter: DateAdapter<Date>, dateFormats: MatDateFormats);
16
- ngAfterViewInit(): void;
14
+ constructor(element: ElementRef, dateAdapter: DateAdapter<Date>, dateFormats: MatDateFormats);
17
15
  writeValue(value: Date | null): void;
18
- validate(): ValidationErrors | null;
19
16
  registerOnChange(callback: (value: Date | null) => void): void;
20
17
  registerOnTouched(callback: () => void): void;
21
18
  registerOnValidatorChange(callback: () => void): void;
19
+ validate(): ValidationErrors | null;
22
20
  parseCurrentValue(): Date | null;
23
- protected updateInputValue(value: Date | null): void;
24
- private changeInputSize;
25
- private createInputMirror;
26
- private copyInputElementStyles;
21
+ protected isValidFormat(value: string, pattern: string): boolean;
22
+ protected abstract updateSelection(): void;
27
23
  protected get inputElement(): HTMLInputElement;
28
24
  protected get currentValue(): string;
29
- static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePickerInputBase, never>;
30
- static ɵdir: i0.ɵɵDirectiveDeclaration<DateRangePickerInputBase, never, never, {}, {}, never, never, false, never>;
25
+ protected updateInputValue(value: Date | null): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDatepickerInputBase, never>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDatepickerInputBase, never, never, {}, {}, never, never, false, never>;
31
28
  }
@@ -0,0 +1,26 @@
1
+ import { OverlayRef, Overlay } from '@angular/cdk/overlay';
2
+ import { ElementRef, Type, ComponentRef, ViewContainerRef } from '@angular/core';
3
+ import { MatDateSelectionModel } from '@angular/material/datepicker';
4
+ import { Observable } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ export declare abstract class WlcmDatepickerTrigger<T, D = Date> {
7
+ protected overlay: Overlay;
8
+ protected viewContainerRef: ViewContainerRef;
9
+ protected selectionModel: MatDateSelectionModel<D>;
10
+ protected overlayRef: OverlayRef;
11
+ protected abstract connectedTo: ElementRef<HTMLElement>;
12
+ protected abstract componentType: Type<T>;
13
+ protected componentRef?: ComponentRef<T>;
14
+ constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, selectionModel: MatDateSelectionModel<D>);
15
+ open(): void;
16
+ close(): void;
17
+ get isOpen(): boolean;
18
+ get opened(): Observable<void>;
19
+ get closed(): Observable<void>;
20
+ private get overlayOrigin();
21
+ private handleBackdropClick;
22
+ private updatePositionStrategy;
23
+ private createOverlayConfig;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDatepickerTrigger<any, any>, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDatepickerTrigger<any, any>, never, never, {}, {}, never, never, false, never>;
26
+ }
@@ -1,15 +1,17 @@
1
1
  import { ElementRef } from '@angular/core';
2
- import { DateRangePickerInputBase } from './date-range-picker-input-base.directive';
2
+ import { WlcmDateRangePickerInputBase } from './date-range-picker-input.base';
3
3
  import { DateAdapter, MatDateFormats } from '@angular/material/core';
4
4
  import { MatDateSelectionModel, DateRange } from '@angular/material/datepicker';
5
+ import { ValidationErrors } from '@angular/forms';
5
6
  import * as i0 from "@angular/core";
6
- export declare class DateRangePickerInputEndDirective extends DateRangePickerInputBase {
7
+ export declare class DateRangePickerInputEndDirective extends WlcmDateRangePickerInputBase {
7
8
  element: ElementRef<HTMLInputElement>;
8
9
  protected dateAdapter: DateAdapter<Date>;
9
10
  protected dateFormats: MatDateFormats;
10
11
  protected selectionModel: MatDateSelectionModel<DateRange<Date>>;
11
12
  constructor(element: ElementRef<HTMLInputElement>, dateAdapter: DateAdapter<Date>, dateFormats: MatDateFormats, selectionModel: MatDateSelectionModel<DateRange<Date>>);
12
- handleBlur: () => void;
13
+ validate(): ValidationErrors | null;
14
+ updateSelection: () => void;
13
15
  private handleSelectionChange;
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePickerInputEndDirective, [null, null, { optional: true; }, null]>;
15
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<DateRangePickerInputEndDirective, "[wlcmDateRangePickerInputEnd]", never, {}, {}, never, never, true, never>;
@@ -1,15 +1,17 @@
1
1
  import { ElementRef } from '@angular/core';
2
- import { DateRangePickerInputBase } from './date-range-picker-input-base.directive';
2
+ import { WlcmDateRangePickerInputBase } from './date-range-picker-input.base';
3
3
  import { DateAdapter, MatDateFormats } from '@angular/material/core';
4
4
  import { MatDateSelectionModel, DateRange } from '@angular/material/datepicker';
5
+ import { ValidationErrors } from '@angular/forms';
5
6
  import * as i0 from "@angular/core";
6
- export declare class DateRangePickerInputStartDirective extends DateRangePickerInputBase {
7
+ export declare class DateRangePickerInputStartDirective extends WlcmDateRangePickerInputBase {
7
8
  element: ElementRef<HTMLInputElement>;
8
9
  protected dateAdapter: DateAdapter<Date>;
9
10
  protected dateFormats: MatDateFormats;
10
11
  protected selectionModel: MatDateSelectionModel<DateRange<Date>>;
11
12
  constructor(element: ElementRef<HTMLInputElement>, dateAdapter: DateAdapter<Date>, dateFormats: MatDateFormats, selectionModel: MatDateSelectionModel<DateRange<Date>>);
12
- handleBlur: () => void;
13
+ validate(): ValidationErrors | null;
14
+ updateSelection: () => void;
13
15
  private handleSelectionChange;
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePickerInputStartDirective, [null, null, { optional: true; }, null]>;
15
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<DateRangePickerInputStartDirective, "[wlcmDateRangePickerInputStart]", never, {}, {}, never, never, true, never>;
@@ -0,0 +1,20 @@
1
+ import { AfterViewInit, ElementRef } from '@angular/core';
2
+ import { ControlValueAccessor, Validator } from '@angular/forms';
3
+ import { DateAdapter, MatDateFormats } from '@angular/material/core';
4
+ import { WlcmDatepickerInputBase } from '../datepicker-input.base';
5
+ import * as i0 from "@angular/core";
6
+ export declare abstract class WlcmDateRangePickerInputBase extends WlcmDatepickerInputBase implements AfterViewInit, ControlValueAccessor, Validator {
7
+ element: ElementRef<HTMLInputElement>;
8
+ protected dateAdapter: DateAdapter<Date>;
9
+ protected dateFormats: MatDateFormats;
10
+ private _inputMirror;
11
+ constructor(element: ElementRef<HTMLInputElement>, dateAdapter: DateAdapter<Date>, dateFormats: MatDateFormats);
12
+ ngAfterViewInit(): void;
13
+ handleInput(): void;
14
+ protected updateInputValue(value: Date | null): void;
15
+ private changeInputSize;
16
+ private createInputMirror;
17
+ private copyInputElementStyles;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDateRangePickerInputBase, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDateRangePickerInputBase, never, never, {}, {}, never, never, false, never>;
20
+ }
@@ -1,7 +1,7 @@
1
1
  import { ElementRef } from '@angular/core';
2
- import { WlcmDataRangeCalendar } from '../models/data-range-calendar.models';
3
2
  import { DateAdapter } from '@angular/material/core';
4
3
  import { MatCalendar } from '@angular/material/datepicker';
4
+ import { WlcmDataRangeCalendar } from '../../models/range/data-range-calendar.models';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class WlcmLeftCalendarDirective extends WlcmDataRangeCalendar {
7
7
  element: ElementRef<HTMLElement>;
@@ -1,5 +1,5 @@
1
1
  import { ElementRef } from '@angular/core';
2
- import { WlcmDataRangeCalendar } from '../models/data-range-calendar.models';
2
+ import { WlcmDataRangeCalendar } from '../../models/range/data-range-calendar.models';
3
3
  import { MatCalendar } from '@angular/material/datepicker';
4
4
  import { DateAdapter } from '@angular/material/core';
5
5
  import * as i0 from "@angular/core";
@@ -0,0 +1,21 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { ControlValueAccessor, Validator } from '@angular/forms';
3
+ import { DateAdapter, MatDateFormats } from '@angular/material/core';
4
+ import { WlcmDatepickerPanelComponent } from '../../components/single/datepicker-panel/datepicker-panel.component';
5
+ import { MatDateSelectionModel } from '@angular/material/datepicker';
6
+ import { WlcmDatepickerInputBase } from '../datepicker-input.base';
7
+ import { WlcmDatepickerTrigger } from '../datepicker-trigger.base';
8
+ import * as i0 from "@angular/core";
9
+ export declare class WlcmDatepickerInputDirective extends WlcmDatepickerInputBase implements ControlValueAccessor, Validator {
10
+ protected element: ElementRef;
11
+ protected dateAdapter: DateAdapter<Date>;
12
+ protected dateFormats: MatDateFormats;
13
+ protected selectionModel: MatDateSelectionModel<Date | null>;
14
+ protected trigger: WlcmDatepickerTrigger<WlcmDatepickerPanelComponent>;
15
+ constructor(element: ElementRef, dateAdapter: DateAdapter<Date>, dateFormats: MatDateFormats, selectionModel: MatDateSelectionModel<Date | null>, trigger: WlcmDatepickerTrigger<WlcmDatepickerPanelComponent>);
16
+ updateSelection(): void;
17
+ private handleClosePanel;
18
+ private handleSelectionChange;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDatepickerInputDirective, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmDatepickerInputDirective, "[wlcmDatepickerInput]", ["wlcmDatepickerInput"], {}, {}, never, never, true, never>;
21
+ }
@@ -0,0 +1,10 @@
1
+ import { DateFnsAdapter } from '@angular/material-date-fns-adapter';
2
+ import * as i0 from "@angular/core";
3
+ export declare class WlcmDateAdapter extends DateFnsAdapter {
4
+ getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDateAdapter, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<WlcmDateAdapter>;
7
+ }
8
+ export declare enum WlcmDateValidation {
9
+ Format = "WlcmInvalidDateFormat"
10
+ }
@@ -0,0 +1,4 @@
1
+ import { Type } from '@angular/core';
2
+ export interface WlcmDateRangePickerConfig {
3
+ headerComponent?: Type<unknown>;
4
+ }