@sebgroup/green-angular 0.0.0-v-angular-20250113082841

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 (838) hide show
  1. package/README.md +68 -0
  2. package/esm2022/index.mjs +18 -0
  3. package/esm2022/lib/accordion/accordion-list-item.component.mjs +50 -0
  4. package/esm2022/lib/accordion/accordion.component.mjs +72 -0
  5. package/esm2022/lib/accordion/accordion.module.mjs +19 -0
  6. package/esm2022/lib/accordion/index.mjs +4 -0
  7. package/esm2022/lib/badge/badge.component.mjs +80 -0
  8. package/esm2022/lib/badge/badge.module.mjs +18 -0
  9. package/esm2022/lib/badge/index.mjs +3 -0
  10. package/esm2022/lib/button/button.component.mjs +28 -0
  11. package/esm2022/lib/button/button.module.mjs +18 -0
  12. package/esm2022/lib/button/index.mjs +3 -0
  13. package/esm2022/lib/cell-table/cell-table-item.component.mjs +91 -0
  14. package/esm2022/lib/cell-table/cell-table.component.mjs +97 -0
  15. package/esm2022/lib/cell-table/cell-table.module.mjs +26 -0
  16. package/esm2022/lib/cell-table/cell-table.types.mjs +7 -0
  17. package/esm2022/lib/cell-table/cell-underline.directive.mjs +55 -0
  18. package/esm2022/lib/cell-table/index.mjs +4 -0
  19. package/esm2022/lib/context-menu/context-menu.component.mjs +73 -0
  20. package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
  21. package/esm2022/lib/context-menu/index.mjs +3 -0
  22. package/esm2022/lib/datepicker/datepicker.component.mjs +138 -0
  23. package/esm2022/lib/datepicker/datepicker.module.mjs +20 -0
  24. package/esm2022/lib/datepicker/index.mjs +3 -0
  25. package/esm2022/lib/dropdown/dropdown-button.directive.mjs +16 -0
  26. package/esm2022/lib/dropdown/dropdown-option.directive.mjs +16 -0
  27. package/esm2022/lib/dropdown/dropdown.component.mjs +222 -0
  28. package/esm2022/lib/dropdown/dropdown.module.mjs +34 -0
  29. package/esm2022/lib/dropdown/index.mjs +5 -0
  30. package/esm2022/lib/green-angular.module.mjs +72 -0
  31. package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +61 -0
  32. package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
  33. package/esm2022/lib/in-page-wizard/index.mjs +3 -0
  34. package/esm2022/lib/modal/index.mjs +5 -0
  35. package/esm2022/lib/modal/modal-footer.directive.mjs +16 -0
  36. package/esm2022/lib/modal/modal-header.directive.mjs +16 -0
  37. package/esm2022/lib/modal/modal.component.mjs +309 -0
  38. package/esm2022/lib/modal/modal.module.mjs +41 -0
  39. package/esm2022/lib/pagination/index.mjs +3 -0
  40. package/esm2022/lib/pagination/pagination.component.mjs +175 -0
  41. package/esm2022/lib/pagination/pagination.module.mjs +18 -0
  42. package/esm2022/lib/progress-circle/index.mjs +3 -0
  43. package/esm2022/lib/progress-circle/progress-circle.component.mjs +41 -0
  44. package/esm2022/lib/progress-circle/progress-circle.module.mjs +18 -0
  45. package/esm2022/lib/segmented-control/index.mjs +3 -0
  46. package/esm2022/lib/segmented-control/segmented-control.component.mjs +35 -0
  47. package/esm2022/lib/segmented-control/segmented-control.module.mjs +19 -0
  48. package/esm2022/lib/shared/core-element/core-element.directive.mjs +33 -0
  49. package/esm2022/lib/shared/core-element/core-element.module.mjs +18 -0
  50. package/esm2022/lib/shared/core-element/index.mjs +3 -0
  51. package/esm2022/lib/shared/index.mjs +4 -0
  52. package/esm2022/lib/shared/on-scroll.directive.mjs +47 -0
  53. package/esm2022/lib/shared/shared.module.mjs +18 -0
  54. package/esm2022/lib/slider/index.mjs +3 -0
  55. package/esm2022/lib/slider/slider.component.mjs +113 -0
  56. package/esm2022/lib/slider/slider.module.mjs +19 -0
  57. package/esm2022/lib/sortable-list/index.mjs +3 -0
  58. package/esm2022/lib/sortable-list/sortable-list.component.mjs +181 -0
  59. package/esm2022/lib/sortable-list/sortable-list.module.mjs +20 -0
  60. package/esm2022/sebgroup-green-angular.mjs +5 -0
  61. package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +50 -0
  62. package/esm2022/src/lib/accordion/accordion.component.mjs +72 -0
  63. package/esm2022/src/lib/accordion/accordion.module.mjs +19 -0
  64. package/esm2022/src/lib/accordion/index.mjs +4 -0
  65. package/esm2022/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +5 -0
  66. package/esm2022/src/lib/badge/badge.component.mjs +80 -0
  67. package/esm2022/src/lib/badge/badge.module.mjs +18 -0
  68. package/esm2022/src/lib/badge/index.mjs +3 -0
  69. package/esm2022/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +5 -0
  70. package/esm2022/src/lib/button/button.component.mjs +28 -0
  71. package/esm2022/src/lib/button/button.module.mjs +18 -0
  72. package/esm2022/src/lib/button/index.mjs +3 -0
  73. package/esm2022/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +5 -0
  74. package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +91 -0
  75. package/esm2022/src/lib/cell-table/cell-table.component.mjs +97 -0
  76. package/esm2022/src/lib/cell-table/cell-table.module.mjs +26 -0
  77. package/esm2022/src/lib/cell-table/cell-table.types.mjs +7 -0
  78. package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +55 -0
  79. package/esm2022/src/lib/cell-table/index.mjs +4 -0
  80. package/esm2022/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +5 -0
  81. package/esm2022/src/lib/context-menu/context-menu.component.mjs +73 -0
  82. package/esm2022/src/lib/context-menu/context-menu.module.mjs +20 -0
  83. package/esm2022/src/lib/context-menu/index.mjs +3 -0
  84. package/esm2022/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +5 -0
  85. package/esm2022/src/lib/datepicker/datepicker.component.mjs +138 -0
  86. package/esm2022/src/lib/datepicker/datepicker.module.mjs +20 -0
  87. package/esm2022/src/lib/datepicker/index.mjs +3 -0
  88. package/esm2022/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +5 -0
  89. package/esm2022/src/lib/dropdown/dropdown-button.directive.mjs +16 -0
  90. package/esm2022/src/lib/dropdown/dropdown-option.directive.mjs +16 -0
  91. package/esm2022/src/lib/dropdown/dropdown.component.mjs +222 -0
  92. package/esm2022/src/lib/dropdown/dropdown.module.mjs +34 -0
  93. package/esm2022/src/lib/dropdown/index.mjs +5 -0
  94. package/esm2022/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +5 -0
  95. package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +61 -0
  96. package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
  97. package/esm2022/src/lib/in-page-wizard/index.mjs +3 -0
  98. package/esm2022/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +5 -0
  99. package/esm2022/src/lib/modal/index.mjs +5 -0
  100. package/esm2022/src/lib/modal/modal-footer.directive.mjs +16 -0
  101. package/esm2022/src/lib/modal/modal-header.directive.mjs +16 -0
  102. package/esm2022/src/lib/modal/modal.component.mjs +309 -0
  103. package/esm2022/src/lib/modal/modal.module.mjs +41 -0
  104. package/esm2022/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +5 -0
  105. package/esm2022/src/lib/pagination/index.mjs +3 -0
  106. package/esm2022/src/lib/pagination/pagination.component.mjs +175 -0
  107. package/esm2022/src/lib/pagination/pagination.module.mjs +18 -0
  108. package/esm2022/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +5 -0
  109. package/esm2022/src/lib/progress-circle/index.mjs +3 -0
  110. package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +41 -0
  111. package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +18 -0
  112. package/esm2022/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +5 -0
  113. package/esm2022/src/lib/segmented-control/index.mjs +3 -0
  114. package/esm2022/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +5 -0
  115. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +35 -0
  116. package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +19 -0
  117. package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +33 -0
  118. package/esm2022/src/lib/shared/core-element/core-element.module.mjs +18 -0
  119. package/esm2022/src/lib/shared/core-element/index.mjs +3 -0
  120. package/esm2022/src/lib/shared/index.mjs +4 -0
  121. package/esm2022/src/lib/shared/on-scroll.directive.mjs +47 -0
  122. package/esm2022/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +5 -0
  123. package/esm2022/src/lib/shared/shared.module.mjs +18 -0
  124. package/esm2022/src/lib/slider/index.mjs +3 -0
  125. package/esm2022/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +5 -0
  126. package/esm2022/src/lib/slider/slider.component.mjs +113 -0
  127. package/esm2022/src/lib/slider/slider.module.mjs +19 -0
  128. package/esm2022/src/lib/sortable-list/index.mjs +3 -0
  129. package/esm2022/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +5 -0
  130. package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +181 -0
  131. package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +20 -0
  132. package/esm2022/src/v-angular/account-number/account-number.module.mjs +18 -0
  133. package/esm2022/src/v-angular/account-number/account-number.pipe.mjs +54 -0
  134. package/esm2022/src/v-angular/account-number/index.mjs +3 -0
  135. package/esm2022/src/v-angular/account-number/sebgroup-green-angular-src-v-angular-account-number.mjs +5 -0
  136. package/esm2022/src/v-angular/alert/alert.component.mjs +47 -0
  137. package/esm2022/src/v-angular/alert/alert.models.mjs +8 -0
  138. package/esm2022/src/v-angular/alert/alert.module.mjs +18 -0
  139. package/esm2022/src/v-angular/alert/index.mjs +4 -0
  140. package/esm2022/src/v-angular/alert/sebgroup-green-angular-src-v-angular-alert.mjs +5 -0
  141. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +297 -0
  142. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +17 -0
  143. package/esm2022/src/v-angular/base-control-value-accessor/index.mjs +3 -0
  144. package/esm2022/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +5 -0
  145. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +25 -0
  146. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +20 -0
  147. package/esm2022/src/v-angular/breadcrumbs/index.mjs +3 -0
  148. package/esm2022/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +5 -0
  149. package/esm2022/src/v-angular/button/button.component.mjs +108 -0
  150. package/esm2022/src/v-angular/button/button.module.mjs +20 -0
  151. package/esm2022/src/v-angular/button/index.mjs +3 -0
  152. package/esm2022/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.mjs +5 -0
  153. package/esm2022/src/v-angular/card/card.component.mjs +11 -0
  154. package/esm2022/src/v-angular/card/card.module.mjs +18 -0
  155. package/esm2022/src/v-angular/card/index.mjs +3 -0
  156. package/esm2022/src/v-angular/card/sebgroup-green-angular-src-v-angular-card.mjs +5 -0
  157. package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +51 -0
  158. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +18 -0
  159. package/esm2022/src/v-angular/character-countdown/index.mjs +3 -0
  160. package/esm2022/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.mjs +5 -0
  161. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +74 -0
  162. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +21 -0
  163. package/esm2022/src/v-angular/checkbox/index.mjs +3 -0
  164. package/esm2022/src/v-angular/checkbox/sebgroup-green-angular-src-v-angular-checkbox.mjs +5 -0
  165. package/esm2022/src/v-angular/core/core.globals.mjs +20 -0
  166. package/esm2022/src/v-angular/core/core.utils.mjs +62 -0
  167. package/esm2022/src/v-angular/core/index.mjs +3 -0
  168. package/esm2022/src/v-angular/core/sebgroup-green-angular-src-v-angular-core.mjs +5 -0
  169. package/esm2022/src/v-angular/datepicker/components/calendar/calendar.component.mjs +200 -0
  170. package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +115 -0
  171. package/esm2022/src/v-angular/datepicker/components/date-input/date-input.component.mjs +203 -0
  172. package/esm2022/src/v-angular/datepicker/components/datepicker/datepicker.component.mjs +135 -0
  173. package/esm2022/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +408 -0
  174. package/esm2022/src/v-angular/datepicker/datepicker.globals.mjs +20 -0
  175. package/esm2022/src/v-angular/datepicker/datepicker.models.mjs +56 -0
  176. package/esm2022/src/v-angular/datepicker/datepicker.module.mjs +63 -0
  177. package/esm2022/src/v-angular/datepicker/datepicker.utils.mjs +196 -0
  178. package/esm2022/src/v-angular/datepicker/directives/calendar-date.directive.mjs +47 -0
  179. package/esm2022/src/v-angular/datepicker/index.mjs +17 -0
  180. package/esm2022/src/v-angular/datepicker/models/dates.mjs +291 -0
  181. package/esm2022/src/v-angular/datepicker/pipes/date-thook.pipe.mjs +30 -0
  182. package/esm2022/src/v-angular/datepicker/pipes/is-disabled.pipe.mjs +37 -0
  183. package/esm2022/src/v-angular/datepicker/pipes/matches.pipe.mjs +17 -0
  184. package/esm2022/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.mjs +5 -0
  185. package/esm2022/src/v-angular/drag-drop/drag-drop.component.mjs +496 -0
  186. package/esm2022/src/v-angular/drag-drop/drag-drop.models.mjs +2 -0
  187. package/esm2022/src/v-angular/drag-drop/drag-drop.module.mjs +49 -0
  188. package/esm2022/src/v-angular/drag-drop/drag-drop.pipes.mjs +70 -0
  189. package/esm2022/src/v-angular/drag-drop/drag-drop.utils.mjs +75 -0
  190. package/esm2022/src/v-angular/drag-drop/index.mjs +5 -0
  191. package/esm2022/src/v-angular/drag-drop/sebgroup-green-angular-src-v-angular-drag-drop.mjs +5 -0
  192. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +271 -0
  193. package/esm2022/src/v-angular/dropdown/dropdown-list/index.mjs +2 -0
  194. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +246 -0
  195. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +38 -0
  196. package/esm2022/src/v-angular/dropdown/index.mjs +6 -0
  197. package/esm2022/src/v-angular/dropdown/sebgroup-green-angular-src-v-angular-dropdown.mjs +5 -0
  198. package/esm2022/src/v-angular/dropdown/typeahead/index.mjs +6 -0
  199. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +98 -0
  200. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +85 -0
  201. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +132 -0
  202. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +177 -0
  203. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +33 -0
  204. package/esm2022/src/v-angular/external-link/external-link.directive.mjs +37 -0
  205. package/esm2022/src/v-angular/external-link/external-link.module.mjs +18 -0
  206. package/esm2022/src/v-angular/external-link/index.mjs +3 -0
  207. package/esm2022/src/v-angular/external-link/sebgroup-green-angular-src-v-angular-external-link.mjs +5 -0
  208. package/esm2022/src/v-angular/i18n/i18n.json +12 -0
  209. package/esm2022/src/v-angular/i18n/i18n.module.mjs +89 -0
  210. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +89 -0
  211. package/esm2022/src/v-angular/i18n/index.mjs +3 -0
  212. package/esm2022/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.mjs +5 -0
  213. package/esm2022/src/v-angular/info-circle/index.mjs +3 -0
  214. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +28 -0
  215. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +21 -0
  216. package/esm2022/src/v-angular/info-circle/sebgroup-green-angular-src-v-angular-info-circle.mjs +5 -0
  217. package/esm2022/src/v-angular/input/index.mjs +3 -0
  218. package/esm2022/src/v-angular/input/input.component.mjs +218 -0
  219. package/esm2022/src/v-angular/input/input.module.mjs +41 -0
  220. package/esm2022/src/v-angular/input/sebgroup-green-angular-src-v-angular-input.mjs +5 -0
  221. package/esm2022/src/v-angular/input-mask/config.mjs +9 -0
  222. package/esm2022/src/v-angular/input-mask/constants.mjs +2 -0
  223. package/esm2022/src/v-angular/input-mask/index.mjs +6 -0
  224. package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +21 -0
  225. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +165 -0
  226. package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +35 -0
  227. package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +2 -0
  228. package/esm2022/src/v-angular/input-mask/sebgroup-green-angular-src-v-angular-input-mask.mjs +5 -0
  229. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +217 -0
  230. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +157 -0
  231. package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +19 -0
  232. package/esm2022/src/v-angular/modal/fold-out/keyboard-key.enum.mjs +9 -0
  233. package/esm2022/src/v-angular/modal/index.mjs +6 -0
  234. package/esm2022/src/v-angular/modal/modal.globals.mjs +20 -0
  235. package/esm2022/src/v-angular/modal/modal.module.mjs +53 -0
  236. package/esm2022/src/v-angular/modal/modal.types.mjs +2 -0
  237. package/esm2022/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.mjs +5 -0
  238. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +253 -0
  239. package/esm2022/src/v-angular/pagination/index.mjs +3 -0
  240. package/esm2022/src/v-angular/pagination/pagination.component.mjs +144 -0
  241. package/esm2022/src/v-angular/pagination/pagination.module.mjs +37 -0
  242. package/esm2022/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.mjs +5 -0
  243. package/esm2022/src/v-angular/radio/index.mjs +3 -0
  244. package/esm2022/src/v-angular/radio/radio.component.mjs +132 -0
  245. package/esm2022/src/v-angular/radio/radio.module.mjs +21 -0
  246. package/esm2022/src/v-angular/radio/sebgroup-green-angular-src-v-angular-radio.mjs +5 -0
  247. package/esm2022/src/v-angular/slug/index.mjs +3 -0
  248. package/esm2022/src/v-angular/slug/sebgroup-green-angular-src-v-angular-slug.mjs +5 -0
  249. package/esm2022/src/v-angular/slug/slug.module.mjs +18 -0
  250. package/esm2022/src/v-angular/slug/slug.pipe.mjs +27 -0
  251. package/esm2022/src/v-angular/table/index.mjs +9 -0
  252. package/esm2022/src/v-angular/table/sebgroup-green-angular-src-v-angular-table.mjs +5 -0
  253. package/esm2022/src/v-angular/table/table.component.mjs +387 -0
  254. package/esm2022/src/v-angular/table/table.directive.mjs +110 -0
  255. package/esm2022/src/v-angular/table/table.models.mjs +2 -0
  256. package/esm2022/src/v-angular/table/table.module.mjs +40 -0
  257. package/esm2022/src/v-angular/table/table.tools.mjs +29 -0
  258. package/esm2022/src/v-angular/table/tr-thook.pipe.mjs +22 -0
  259. package/esm2022/src/v-angular/tabs/index.mjs +8 -0
  260. package/esm2022/src/v-angular/tabs/sebgroup-green-angular-src-v-angular-tabs.mjs +5 -0
  261. package/esm2022/src/v-angular/tabs/tab.directive.mjs +81 -0
  262. package/esm2022/src/v-angular/tabs/tabs.component.mjs +260 -0
  263. package/esm2022/src/v-angular/tabs/tabs.models.mjs +2 -0
  264. package/esm2022/src/v-angular/tabs/tabs.module.mjs +21 -0
  265. package/esm2022/src/v-angular/textarea/index.mjs +3 -0
  266. package/esm2022/src/v-angular/textarea/sebgroup-green-angular-src-v-angular-textarea.mjs +5 -0
  267. package/esm2022/src/v-angular/textarea/textarea.component.mjs +105 -0
  268. package/esm2022/src/v-angular/textarea/textarea.module.mjs +34 -0
  269. package/esm2022/src/v-angular/toast/index.mjs +8 -0
  270. package/esm2022/src/v-angular/toast/sebgroup-green-angular-src-v-angular-toast.mjs +5 -0
  271. package/esm2022/src/v-angular/toast/toast-message.service.mjs +63 -0
  272. package/esm2022/src/v-angular/toast/toast.component.mjs +70 -0
  273. package/esm2022/src/v-angular/toast/toast.models.mjs +8 -0
  274. package/esm2022/src/v-angular/toast/toast.module.mjs +21 -0
  275. package/esm2022/src/v-angular/tooltip/index.mjs +3 -0
  276. package/esm2022/src/v-angular/tooltip/sebgroup-green-angular-src-v-angular-tooltip.mjs +5 -0
  277. package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +293 -0
  278. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +18 -0
  279. package/esm2022/src/v-angular/tooltip/tooltip.styles.mjs +60 -0
  280. package/esm2022/v-angular/alert/alert.component.mjs +47 -0
  281. package/esm2022/v-angular/alert/alert.models.mjs +8 -0
  282. package/esm2022/v-angular/alert/alert.module.mjs +18 -0
  283. package/esm2022/v-angular/alert/index.mjs +4 -0
  284. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +297 -0
  285. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +17 -0
  286. package/esm2022/v-angular/base-control-value-accessor/index.mjs +3 -0
  287. package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +25 -0
  288. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +20 -0
  289. package/esm2022/v-angular/breadcrumbs/index.mjs +3 -0
  290. package/esm2022/v-angular/button/button.component.mjs +108 -0
  291. package/esm2022/v-angular/button/button.module.mjs +20 -0
  292. package/esm2022/v-angular/button/index.mjs +3 -0
  293. package/esm2022/v-angular/card/card.component.mjs +11 -0
  294. package/esm2022/v-angular/card/card.module.mjs +18 -0
  295. package/esm2022/v-angular/card/index.mjs +3 -0
  296. package/esm2022/v-angular/character-countdown/character-countdown.directive.mjs +51 -0
  297. package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +18 -0
  298. package/esm2022/v-angular/character-countdown/index.mjs +3 -0
  299. package/esm2022/v-angular/checkbox/checkbox.component.mjs +74 -0
  300. package/esm2022/v-angular/checkbox/checkbox.module.mjs +21 -0
  301. package/esm2022/v-angular/checkbox/index.mjs +3 -0
  302. package/esm2022/v-angular/datepicker/components/calendar/calendar.component.mjs +200 -0
  303. package/esm2022/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +115 -0
  304. package/esm2022/v-angular/datepicker/components/date-input/date-input.component.mjs +203 -0
  305. package/esm2022/v-angular/datepicker/components/datepicker/datepicker.component.mjs +135 -0
  306. package/esm2022/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +408 -0
  307. package/esm2022/v-angular/datepicker/datepicker.globals.mjs +20 -0
  308. package/esm2022/v-angular/datepicker/datepicker.models.mjs +56 -0
  309. package/esm2022/v-angular/datepicker/datepicker.module.mjs +63 -0
  310. package/esm2022/v-angular/datepicker/datepicker.utils.mjs +196 -0
  311. package/esm2022/v-angular/datepicker/directives/calendar-date.directive.mjs +47 -0
  312. package/esm2022/v-angular/datepicker/index.mjs +17 -0
  313. package/esm2022/v-angular/datepicker/models/dates.mjs +291 -0
  314. package/esm2022/v-angular/datepicker/pipes/date-thook.pipe.mjs +30 -0
  315. package/esm2022/v-angular/datepicker/pipes/is-disabled.pipe.mjs +37 -0
  316. package/esm2022/v-angular/datepicker/pipes/matches.pipe.mjs +17 -0
  317. package/esm2022/v-angular/drag-drop/drag-drop.component.mjs +496 -0
  318. package/esm2022/v-angular/drag-drop/drag-drop.models.mjs +2 -0
  319. package/esm2022/v-angular/drag-drop/drag-drop.module.mjs +49 -0
  320. package/esm2022/v-angular/drag-drop/drag-drop.pipes.mjs +70 -0
  321. package/esm2022/v-angular/drag-drop/drag-drop.utils.mjs +75 -0
  322. package/esm2022/v-angular/drag-drop/index.mjs +5 -0
  323. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +271 -0
  324. package/esm2022/v-angular/dropdown/dropdown-list/index.mjs +2 -0
  325. package/esm2022/v-angular/dropdown/dropdown.component.mjs +246 -0
  326. package/esm2022/v-angular/dropdown/dropdown.module.mjs +38 -0
  327. package/esm2022/v-angular/dropdown/index.mjs +6 -0
  328. package/esm2022/v-angular/dropdown/typeahead/index.mjs +6 -0
  329. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +98 -0
  330. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +85 -0
  331. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +132 -0
  332. package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +177 -0
  333. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +33 -0
  334. package/esm2022/v-angular/external-link/external-link.directive.mjs +37 -0
  335. package/esm2022/v-angular/external-link/external-link.module.mjs +18 -0
  336. package/esm2022/v-angular/external-link/index.mjs +3 -0
  337. package/esm2022/v-angular/i18n/i18n.json +12 -0
  338. package/esm2022/v-angular/i18n/i18n.module.mjs +89 -0
  339. package/esm2022/v-angular/i18n/i18n.test.module.mjs +89 -0
  340. package/esm2022/v-angular/i18n/index.mjs +3 -0
  341. package/esm2022/v-angular/index.mjs +27 -0
  342. package/esm2022/v-angular/info-circle/index.mjs +3 -0
  343. package/esm2022/v-angular/info-circle/info-circle.component.mjs +28 -0
  344. package/esm2022/v-angular/info-circle/info-circle.module.mjs +21 -0
  345. package/esm2022/v-angular/input/index.mjs +3 -0
  346. package/esm2022/v-angular/input/input.component.mjs +218 -0
  347. package/esm2022/v-angular/input/input.module.mjs +41 -0
  348. package/esm2022/v-angular/input-mask/config.mjs +9 -0
  349. package/esm2022/v-angular/input-mask/constants.mjs +2 -0
  350. package/esm2022/v-angular/input-mask/index.mjs +6 -0
  351. package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +21 -0
  352. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +165 -0
  353. package/esm2022/v-angular/input-mask/input-mask.module.mjs +35 -0
  354. package/esm2022/v-angular/input-mask/input-mask.types.mjs +2 -0
  355. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +217 -0
  356. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +157 -0
  357. package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +19 -0
  358. package/esm2022/v-angular/modal/fold-out/keyboard-key.enum.mjs +9 -0
  359. package/esm2022/v-angular/modal/index.mjs +6 -0
  360. package/esm2022/v-angular/modal/modal.globals.mjs +20 -0
  361. package/esm2022/v-angular/modal/modal.module.mjs +53 -0
  362. package/esm2022/v-angular/modal/modal.types.mjs +2 -0
  363. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +253 -0
  364. package/esm2022/v-angular/pagination/index.mjs +3 -0
  365. package/esm2022/v-angular/pagination/pagination.component.mjs +144 -0
  366. package/esm2022/v-angular/pagination/pagination.module.mjs +37 -0
  367. package/esm2022/v-angular/radio/index.mjs +3 -0
  368. package/esm2022/v-angular/radio/radio.component.mjs +132 -0
  369. package/esm2022/v-angular/radio/radio.module.mjs +21 -0
  370. package/esm2022/v-angular/sebgroup-green-angular-v-angular.mjs +5 -0
  371. package/esm2022/v-angular/slug/index.mjs +3 -0
  372. package/esm2022/v-angular/slug/slug.module.mjs +18 -0
  373. package/esm2022/v-angular/slug/slug.pipe.mjs +27 -0
  374. package/esm2022/v-angular/table/index.mjs +9 -0
  375. package/esm2022/v-angular/table/table.component.mjs +387 -0
  376. package/esm2022/v-angular/table/table.directive.mjs +110 -0
  377. package/esm2022/v-angular/table/table.models.mjs +2 -0
  378. package/esm2022/v-angular/table/table.module.mjs +40 -0
  379. package/esm2022/v-angular/table/table.tools.mjs +29 -0
  380. package/esm2022/v-angular/table/tr-thook.pipe.mjs +22 -0
  381. package/esm2022/v-angular/tabs/index.mjs +8 -0
  382. package/esm2022/v-angular/tabs/tab.directive.mjs +81 -0
  383. package/esm2022/v-angular/tabs/tabs.component.mjs +260 -0
  384. package/esm2022/v-angular/tabs/tabs.models.mjs +2 -0
  385. package/esm2022/v-angular/tabs/tabs.module.mjs +21 -0
  386. package/esm2022/v-angular/textarea/index.mjs +3 -0
  387. package/esm2022/v-angular/textarea/textarea.component.mjs +105 -0
  388. package/esm2022/v-angular/textarea/textarea.module.mjs +34 -0
  389. package/esm2022/v-angular/toast/index.mjs +8 -0
  390. package/esm2022/v-angular/toast/toast-message.service.mjs +63 -0
  391. package/esm2022/v-angular/toast/toast.component.mjs +70 -0
  392. package/esm2022/v-angular/toast/toast.models.mjs +8 -0
  393. package/esm2022/v-angular/toast/toast.module.mjs +21 -0
  394. package/esm2022/v-angular/tooltip/index.mjs +3 -0
  395. package/esm2022/v-angular/tooltip/tooltip.directive.mjs +293 -0
  396. package/esm2022/v-angular/tooltip/tooltip.module.mjs +18 -0
  397. package/esm2022/v-angular/tooltip/tooltip.styles.mjs +60 -0
  398. package/esm2022/v-angular/v-angular.module.mjs +120 -0
  399. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +141 -0
  400. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
  401. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs +102 -0
  402. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  403. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs +50 -0
  404. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
  405. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs +270 -0
  406. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
  407. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +97 -0
  408. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
  409. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +162 -0
  410. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
  411. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +284 -0
  412. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
  413. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs +83 -0
  414. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
  415. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +377 -0
  416. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  417. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
  418. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
  419. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
  420. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
  421. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
  422. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  423. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +113 -0
  424. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
  425. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs +135 -0
  426. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
  427. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
  428. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
  429. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs +76 -0
  430. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs.map +1 -0
  431. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +76 -0
  432. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -0
  433. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +318 -0
  434. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -0
  435. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +49 -0
  436. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -0
  437. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +131 -0
  438. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -0
  439. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +33 -0
  440. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -0
  441. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +73 -0
  442. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -0
  443. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +98 -0
  444. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -0
  445. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +88 -0
  446. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -0
  447. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs +1759 -0
  448. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs.map +1 -0
  449. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs +685 -0
  450. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs.map +1 -0
  451. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +1037 -0
  452. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -0
  453. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +58 -0
  454. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -0
  455. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +198 -0
  456. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -0
  457. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +53 -0
  458. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -0
  459. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +227 -0
  460. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -0
  461. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +262 -0
  462. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -0
  463. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +717 -0
  464. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -0
  465. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs +185 -0
  466. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs.map +1 -0
  467. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +156 -0
  468. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -0
  469. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +49 -0
  470. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -0
  471. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +585 -0
  472. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +1 -0
  473. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs +365 -0
  474. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs.map +1 -0
  475. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +141 -0
  476. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -0
  477. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs +166 -0
  478. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs.map +1 -0
  479. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +374 -0
  480. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -0
  481. package/fesm2022/sebgroup-green-angular-v-angular.mjs +7538 -0
  482. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -0
  483. package/fesm2022/sebgroup-green-angular.mjs +2229 -0
  484. package/fesm2022/sebgroup-green-angular.mjs.map +1 -0
  485. package/index.d.ts +17 -0
  486. package/lib/accordion/accordion-list-item.component.d.ts +16 -0
  487. package/lib/accordion/accordion.component.d.ts +16 -0
  488. package/lib/accordion/accordion.module.d.ts +9 -0
  489. package/lib/accordion/index.d.ts +3 -0
  490. package/lib/badge/badge.component.d.ts +25 -0
  491. package/lib/badge/badge.module.d.ts +8 -0
  492. package/lib/badge/index.d.ts +2 -0
  493. package/lib/button/button.component.d.ts +9 -0
  494. package/lib/button/button.module.d.ts +8 -0
  495. package/lib/button/index.d.ts +2 -0
  496. package/lib/cell-table/cell-table-item.component.d.ts +14 -0
  497. package/lib/cell-table/cell-table.component.d.ts +44 -0
  498. package/lib/cell-table/cell-table.module.d.ts +10 -0
  499. package/lib/cell-table/cell-table.types.d.ts +34 -0
  500. package/lib/cell-table/cell-underline.directive.d.ts +14 -0
  501. package/lib/cell-table/index.d.ts +3 -0
  502. package/lib/context-menu/context-menu.component.d.ts +44 -0
  503. package/lib/context-menu/context-menu.module.d.ts +9 -0
  504. package/lib/context-menu/index.d.ts +2 -0
  505. package/lib/datepicker/datepicker.component.d.ts +59 -0
  506. package/lib/datepicker/datepicker.module.d.ts +9 -0
  507. package/lib/datepicker/index.d.ts +2 -0
  508. package/lib/dropdown/dropdown-button.directive.d.ts +8 -0
  509. package/lib/dropdown/dropdown-option.directive.d.ts +8 -0
  510. package/lib/dropdown/dropdown.component.d.ts +78 -0
  511. package/lib/dropdown/dropdown.module.d.ts +11 -0
  512. package/lib/dropdown/index.d.ts +4 -0
  513. package/lib/green-angular.module.d.ts +21 -0
  514. package/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +19 -0
  515. package/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
  516. package/lib/in-page-wizard/index.d.ts +2 -0
  517. package/lib/modal/index.d.ts +4 -0
  518. package/lib/modal/modal-footer.directive.d.ts +8 -0
  519. package/lib/modal/modal-header.directive.d.ts +8 -0
  520. package/lib/modal/modal.component.d.ts +67 -0
  521. package/lib/modal/modal.module.d.ts +11 -0
  522. package/lib/pagination/index.d.ts +2 -0
  523. package/lib/pagination/pagination.component.d.ts +42 -0
  524. package/lib/pagination/pagination.module.d.ts +8 -0
  525. package/lib/progress-circle/index.d.ts +2 -0
  526. package/lib/progress-circle/progress-circle.component.d.ts +14 -0
  527. package/lib/progress-circle/progress-circle.module.d.ts +8 -0
  528. package/lib/segmented-control/index.d.ts +2 -0
  529. package/lib/segmented-control/segmented-control.component.d.ts +11 -0
  530. package/lib/segmented-control/segmented-control.module.d.ts +9 -0
  531. package/lib/shared/core-element/core-element.directive.d.ts +13 -0
  532. package/lib/shared/core-element/core-element.module.d.ts +8 -0
  533. package/lib/shared/core-element/index.d.ts +2 -0
  534. package/lib/shared/index.d.ts +3 -0
  535. package/lib/shared/on-scroll.directive.d.ts +14 -0
  536. package/lib/shared/shared.module.d.ts +8 -0
  537. package/lib/slider/index.d.ts +2 -0
  538. package/lib/slider/slider.component.d.ts +38 -0
  539. package/lib/slider/slider.module.d.ts +9 -0
  540. package/lib/sortable-list/index.d.ts +2 -0
  541. package/lib/sortable-list/sortable-list.component.d.ts +91 -0
  542. package/lib/sortable-list/sortable-list.module.d.ts +10 -0
  543. package/package.json +308 -0
  544. package/src/lib/accordion/accordion-list-item.component.d.ts +16 -0
  545. package/src/lib/accordion/accordion.component.d.ts +16 -0
  546. package/src/lib/accordion/accordion.module.d.ts +9 -0
  547. package/src/lib/accordion/index.d.ts +3 -0
  548. package/src/lib/badge/badge.component.d.ts +25 -0
  549. package/src/lib/badge/badge.module.d.ts +8 -0
  550. package/src/lib/badge/index.d.ts +2 -0
  551. package/src/lib/button/button.component.d.ts +9 -0
  552. package/src/lib/button/button.module.d.ts +8 -0
  553. package/src/lib/button/index.d.ts +2 -0
  554. package/src/lib/cell-table/cell-table-item.component.d.ts +14 -0
  555. package/src/lib/cell-table/cell-table.component.d.ts +44 -0
  556. package/src/lib/cell-table/cell-table.module.d.ts +10 -0
  557. package/src/lib/cell-table/cell-table.types.d.ts +34 -0
  558. package/src/lib/cell-table/cell-underline.directive.d.ts +14 -0
  559. package/src/lib/cell-table/index.d.ts +3 -0
  560. package/src/lib/context-menu/context-menu.component.d.ts +44 -0
  561. package/src/lib/context-menu/context-menu.module.d.ts +9 -0
  562. package/src/lib/context-menu/index.d.ts +2 -0
  563. package/src/lib/datepicker/datepicker.component.d.ts +59 -0
  564. package/src/lib/datepicker/datepicker.module.d.ts +9 -0
  565. package/src/lib/datepicker/index.d.ts +2 -0
  566. package/src/lib/dropdown/dropdown-button.directive.d.ts +8 -0
  567. package/src/lib/dropdown/dropdown-option.directive.d.ts +8 -0
  568. package/src/lib/dropdown/dropdown.component.d.ts +78 -0
  569. package/src/lib/dropdown/dropdown.module.d.ts +11 -0
  570. package/src/lib/dropdown/index.d.ts +4 -0
  571. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +19 -0
  572. package/src/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
  573. package/src/lib/in-page-wizard/index.d.ts +2 -0
  574. package/src/lib/modal/index.d.ts +4 -0
  575. package/src/lib/modal/modal-footer.directive.d.ts +8 -0
  576. package/src/lib/modal/modal-header.directive.d.ts +8 -0
  577. package/src/lib/modal/modal.component.d.ts +67 -0
  578. package/src/lib/modal/modal.module.d.ts +11 -0
  579. package/src/lib/pagination/index.d.ts +2 -0
  580. package/src/lib/pagination/pagination.component.d.ts +42 -0
  581. package/src/lib/pagination/pagination.module.d.ts +8 -0
  582. package/src/lib/progress-circle/index.d.ts +2 -0
  583. package/src/lib/progress-circle/progress-circle.component.d.ts +14 -0
  584. package/src/lib/progress-circle/progress-circle.module.d.ts +8 -0
  585. package/src/lib/segmented-control/index.d.ts +2 -0
  586. package/src/lib/segmented-control/segmented-control.component.d.ts +11 -0
  587. package/src/lib/segmented-control/segmented-control.module.d.ts +9 -0
  588. package/src/lib/shared/core-element/core-element.directive.d.ts +13 -0
  589. package/src/lib/shared/core-element/core-element.module.d.ts +8 -0
  590. package/src/lib/shared/core-element/index.d.ts +2 -0
  591. package/src/lib/shared/index.d.ts +3 -0
  592. package/src/lib/shared/on-scroll.directive.d.ts +14 -0
  593. package/src/lib/shared/shared.module.d.ts +8 -0
  594. package/src/lib/slider/index.d.ts +2 -0
  595. package/src/lib/slider/slider.component.d.ts +38 -0
  596. package/src/lib/slider/slider.module.d.ts +9 -0
  597. package/src/lib/sortable-list/index.d.ts +2 -0
  598. package/src/lib/sortable-list/sortable-list.component.d.ts +91 -0
  599. package/src/lib/sortable-list/sortable-list.module.d.ts +10 -0
  600. package/src/v-angular/account-number/README.md +70 -0
  601. package/src/v-angular/account-number/account-number.module.d.ts +8 -0
  602. package/src/v-angular/account-number/account-number.pipe.d.ts +32 -0
  603. package/src/v-angular/account-number/index.d.ts +2 -0
  604. package/src/v-angular/alert/alert.component.d.ts +19 -0
  605. package/src/v-angular/alert/alert.models.d.ts +13 -0
  606. package/src/v-angular/alert/alert.module.d.ts +8 -0
  607. package/src/v-angular/alert/index.d.ts +3 -0
  608. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +130 -0
  609. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +7 -0
  610. package/src/v-angular/base-control-value-accessor/index.d.ts +2 -0
  611. package/src/v-angular/breadcrumbs/breadcrumbs.component.d.ts +18 -0
  612. package/src/v-angular/breadcrumbs/breadcrumbs.module.d.ts +10 -0
  613. package/src/v-angular/breadcrumbs/index.d.ts +2 -0
  614. package/src/v-angular/button/button.component.d.ts +62 -0
  615. package/src/v-angular/button/button.module.d.ts +10 -0
  616. package/src/v-angular/button/index.d.ts +2 -0
  617. package/src/v-angular/card/card.component.d.ts +5 -0
  618. package/src/v-angular/card/card.module.d.ts +8 -0
  619. package/src/v-angular/card/index.d.ts +2 -0
  620. package/src/v-angular/character-countdown/character-countdown.directive.d.ts +17 -0
  621. package/src/v-angular/character-countdown/character-countdown.module.d.ts +8 -0
  622. package/src/v-angular/character-countdown/index.d.ts +2 -0
  623. package/src/v-angular/checkbox/checkbox.component.d.ts +28 -0
  624. package/src/v-angular/checkbox/checkbox.module.d.ts +10 -0
  625. package/src/v-angular/checkbox/index.d.ts +2 -0
  626. package/src/v-angular/core/core.globals.d.ts +13 -0
  627. package/src/v-angular/core/core.utils.d.ts +23 -0
  628. package/src/v-angular/core/index.d.ts +2 -0
  629. package/src/v-angular/datepicker/components/calendar/calendar.component.d.ts +36 -0
  630. package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +30 -0
  631. package/src/v-angular/datepicker/components/date-input/date-input.component.d.ts +102 -0
  632. package/src/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +62 -0
  633. package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +165 -0
  634. package/src/v-angular/datepicker/datepicker.globals.d.ts +13 -0
  635. package/src/v-angular/datepicker/datepicker.models.d.ts +50 -0
  636. package/src/v-angular/datepicker/datepicker.module.d.ts +19 -0
  637. package/src/v-angular/datepicker/datepicker.utils.d.ts +39 -0
  638. package/src/v-angular/datepicker/directives/calendar-date.directive.d.ts +21 -0
  639. package/src/v-angular/datepicker/index.d.ts +13 -0
  640. package/src/v-angular/datepicker/models/dates.d.ts +15 -0
  641. package/src/v-angular/datepicker/pipes/date-thook.pipe.d.ts +8 -0
  642. package/src/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +8 -0
  643. package/src/v-angular/datepicker/pipes/matches.pipe.d.ts +7 -0
  644. package/src/v-angular/drag-drop/drag-drop.component.d.ts +131 -0
  645. package/src/v-angular/drag-drop/drag-drop.models.d.ts +49 -0
  646. package/src/v-angular/drag-drop/drag-drop.module.d.ts +13 -0
  647. package/src/v-angular/drag-drop/drag-drop.pipes.d.ts +40 -0
  648. package/src/v-angular/drag-drop/drag-drop.utils.d.ts +33 -0
  649. package/src/v-angular/drag-drop/index.d.ts +4 -0
  650. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +96 -0
  651. package/src/v-angular/dropdown/dropdown-list/index.d.ts +1 -0
  652. package/src/v-angular/dropdown/dropdown.component.d.ts +103 -0
  653. package/src/v-angular/dropdown/dropdown.module.d.ts +13 -0
  654. package/src/v-angular/dropdown/index.d.ts +5 -0
  655. package/src/v-angular/dropdown/typeahead/index.d.ts +5 -0
  656. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +34 -0
  657. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +34 -0
  658. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +59 -0
  659. package/src/v-angular/dropdown/typeahead/typeahead.directive.d.ts +76 -0
  660. package/src/v-angular/dropdown/typeahead/typeahead.module.d.ts +11 -0
  661. package/src/v-angular/external-link/external-link.directive.d.ts +17 -0
  662. package/src/v-angular/external-link/external-link.module.d.ts +8 -0
  663. package/src/v-angular/external-link/index.d.ts +2 -0
  664. package/src/v-angular/i18n/i18n.module.d.ts +15 -0
  665. package/src/v-angular/i18n/i18n.test.module.d.ts +27 -0
  666. package/src/v-angular/i18n/index.d.ts +2 -0
  667. package/src/v-angular/info-circle/index.d.ts +2 -0
  668. package/src/v-angular/info-circle/info-circle.component.d.ts +16 -0
  669. package/src/v-angular/info-circle/info-circle.module.d.ts +10 -0
  670. package/src/v-angular/input/index.d.ts +2 -0
  671. package/src/v-angular/input/input.component.d.ts +85 -0
  672. package/src/v-angular/input/input.module.d.ts +13 -0
  673. package/src/v-angular/input-mask/config.d.ts +6 -0
  674. package/src/v-angular/input-mask/constants.d.ts +2 -0
  675. package/src/v-angular/input-mask/index.d.ts +5 -0
  676. package/src/v-angular/input-mask/input-mask-format.pipe.d.ts +8 -0
  677. package/src/v-angular/input-mask/input-mask.directive.d.ts +39 -0
  678. package/src/v-angular/input-mask/input-mask.module.d.ts +11 -0
  679. package/src/v-angular/input-mask/input-mask.types.d.ts +20 -0
  680. package/src/v-angular/modal/dialog/dialog.component.d.ts +64 -0
  681. package/src/v-angular/modal/fold-out/fold-out.component.d.ts +47 -0
  682. package/src/v-angular/modal/fold-out/fold-out.directive.d.ts +6 -0
  683. package/src/v-angular/modal/fold-out/keyboard-key.enum.d.ts +7 -0
  684. package/src/v-angular/modal/index.d.ts +5 -0
  685. package/src/v-angular/modal/modal.globals.d.ts +13 -0
  686. package/src/v-angular/modal/modal.module.d.ts +15 -0
  687. package/src/v-angular/modal/modal.types.d.ts +5 -0
  688. package/src/v-angular/modal/slide-out/slide-out.component.d.ts +83 -0
  689. package/src/v-angular/pagination/index.d.ts +2 -0
  690. package/src/v-angular/pagination/pagination.component.d.ts +64 -0
  691. package/src/v-angular/pagination/pagination.module.d.ts +12 -0
  692. package/src/v-angular/radio/index.d.ts +2 -0
  693. package/src/v-angular/radio/radio.component.d.ts +49 -0
  694. package/src/v-angular/radio/radio.module.d.ts +10 -0
  695. package/src/v-angular/slug/index.d.ts +2 -0
  696. package/src/v-angular/slug/slug.module.d.ts +8 -0
  697. package/src/v-angular/slug/slug.pipe.d.ts +12 -0
  698. package/src/v-angular/table/index.d.ts +5 -0
  699. package/src/v-angular/table/table.component.d.ts +229 -0
  700. package/src/v-angular/table/table.directive.d.ts +36 -0
  701. package/src/v-angular/table/table.models.d.ts +62 -0
  702. package/src/v-angular/table/table.module.d.ts +12 -0
  703. package/src/v-angular/table/table.tools.d.ts +5 -0
  704. package/src/v-angular/table/tr-thook.pipe.d.ts +7 -0
  705. package/src/v-angular/tabs/index.d.ts +4 -0
  706. package/src/v-angular/tabs/tab.directive.d.ts +37 -0
  707. package/src/v-angular/tabs/tabs.component.d.ts +65 -0
  708. package/src/v-angular/tabs/tabs.models.d.ts +25 -0
  709. package/src/v-angular/tabs/tabs.module.d.ts +11 -0
  710. package/src/v-angular/textarea/index.d.ts +2 -0
  711. package/src/v-angular/textarea/textarea.component.d.ts +45 -0
  712. package/src/v-angular/textarea/textarea.module.d.ts +12 -0
  713. package/src/v-angular/toast/index.d.ts +4 -0
  714. package/src/v-angular/toast/toast-message.service.d.ts +17 -0
  715. package/src/v-angular/toast/toast.component.d.ts +22 -0
  716. package/src/v-angular/toast/toast.models.d.ts +15 -0
  717. package/src/v-angular/toast/toast.module.d.ts +10 -0
  718. package/src/v-angular/tooltip/index.d.ts +2 -0
  719. package/src/v-angular/tooltip/tooltip.directive.d.ts +108 -0
  720. package/src/v-angular/tooltip/tooltip.module.d.ts +8 -0
  721. package/src/v-angular/tooltip/tooltip.styles.d.ts +11 -0
  722. package/v-angular/alert/alert.component.d.ts +19 -0
  723. package/v-angular/alert/alert.models.d.ts +13 -0
  724. package/v-angular/alert/alert.module.d.ts +8 -0
  725. package/v-angular/alert/index.d.ts +3 -0
  726. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +130 -0
  727. package/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +7 -0
  728. package/v-angular/base-control-value-accessor/index.d.ts +2 -0
  729. package/v-angular/breadcrumbs/breadcrumbs.component.d.ts +18 -0
  730. package/v-angular/breadcrumbs/breadcrumbs.module.d.ts +10 -0
  731. package/v-angular/breadcrumbs/index.d.ts +2 -0
  732. package/v-angular/button/button.component.d.ts +62 -0
  733. package/v-angular/button/button.module.d.ts +10 -0
  734. package/v-angular/button/index.d.ts +2 -0
  735. package/v-angular/card/card.component.d.ts +5 -0
  736. package/v-angular/card/card.module.d.ts +8 -0
  737. package/v-angular/card/index.d.ts +2 -0
  738. package/v-angular/character-countdown/character-countdown.directive.d.ts +17 -0
  739. package/v-angular/character-countdown/character-countdown.module.d.ts +8 -0
  740. package/v-angular/character-countdown/index.d.ts +2 -0
  741. package/v-angular/checkbox/checkbox.component.d.ts +28 -0
  742. package/v-angular/checkbox/checkbox.module.d.ts +10 -0
  743. package/v-angular/checkbox/index.d.ts +2 -0
  744. package/v-angular/datepicker/components/calendar/calendar.component.d.ts +36 -0
  745. package/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +30 -0
  746. package/v-angular/datepicker/components/date-input/date-input.component.d.ts +102 -0
  747. package/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +62 -0
  748. package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +165 -0
  749. package/v-angular/datepicker/datepicker.globals.d.ts +13 -0
  750. package/v-angular/datepicker/datepicker.models.d.ts +50 -0
  751. package/v-angular/datepicker/datepicker.module.d.ts +19 -0
  752. package/v-angular/datepicker/datepicker.utils.d.ts +39 -0
  753. package/v-angular/datepicker/directives/calendar-date.directive.d.ts +21 -0
  754. package/v-angular/datepicker/index.d.ts +13 -0
  755. package/v-angular/datepicker/models/dates.d.ts +15 -0
  756. package/v-angular/datepicker/pipes/date-thook.pipe.d.ts +8 -0
  757. package/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +8 -0
  758. package/v-angular/datepicker/pipes/matches.pipe.d.ts +7 -0
  759. package/v-angular/drag-drop/drag-drop.component.d.ts +131 -0
  760. package/v-angular/drag-drop/drag-drop.models.d.ts +49 -0
  761. package/v-angular/drag-drop/drag-drop.module.d.ts +13 -0
  762. package/v-angular/drag-drop/drag-drop.pipes.d.ts +40 -0
  763. package/v-angular/drag-drop/drag-drop.utils.d.ts +33 -0
  764. package/v-angular/drag-drop/index.d.ts +4 -0
  765. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +96 -0
  766. package/v-angular/dropdown/dropdown-list/index.d.ts +1 -0
  767. package/v-angular/dropdown/dropdown.component.d.ts +103 -0
  768. package/v-angular/dropdown/dropdown.module.d.ts +13 -0
  769. package/v-angular/dropdown/index.d.ts +5 -0
  770. package/v-angular/dropdown/typeahead/index.d.ts +5 -0
  771. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +34 -0
  772. package/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +34 -0
  773. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +59 -0
  774. package/v-angular/dropdown/typeahead/typeahead.directive.d.ts +76 -0
  775. package/v-angular/dropdown/typeahead/typeahead.module.d.ts +11 -0
  776. package/v-angular/external-link/external-link.directive.d.ts +17 -0
  777. package/v-angular/external-link/external-link.module.d.ts +8 -0
  778. package/v-angular/external-link/index.d.ts +2 -0
  779. package/v-angular/i18n/i18n.module.d.ts +15 -0
  780. package/v-angular/i18n/i18n.test.module.d.ts +27 -0
  781. package/v-angular/i18n/index.d.ts +2 -0
  782. package/v-angular/index.d.ts +26 -0
  783. package/v-angular/info-circle/index.d.ts +2 -0
  784. package/v-angular/info-circle/info-circle.component.d.ts +16 -0
  785. package/v-angular/info-circle/info-circle.module.d.ts +10 -0
  786. package/v-angular/input/index.d.ts +2 -0
  787. package/v-angular/input/input.component.d.ts +85 -0
  788. package/v-angular/input/input.module.d.ts +13 -0
  789. package/v-angular/input-mask/config.d.ts +6 -0
  790. package/v-angular/input-mask/constants.d.ts +2 -0
  791. package/v-angular/input-mask/index.d.ts +5 -0
  792. package/v-angular/input-mask/input-mask-format.pipe.d.ts +8 -0
  793. package/v-angular/input-mask/input-mask.directive.d.ts +39 -0
  794. package/v-angular/input-mask/input-mask.module.d.ts +11 -0
  795. package/v-angular/input-mask/input-mask.types.d.ts +20 -0
  796. package/v-angular/modal/dialog/dialog.component.d.ts +64 -0
  797. package/v-angular/modal/fold-out/fold-out.component.d.ts +47 -0
  798. package/v-angular/modal/fold-out/fold-out.directive.d.ts +6 -0
  799. package/v-angular/modal/fold-out/keyboard-key.enum.d.ts +7 -0
  800. package/v-angular/modal/index.d.ts +5 -0
  801. package/v-angular/modal/modal.globals.d.ts +13 -0
  802. package/v-angular/modal/modal.module.d.ts +15 -0
  803. package/v-angular/modal/modal.types.d.ts +5 -0
  804. package/v-angular/modal/slide-out/slide-out.component.d.ts +83 -0
  805. package/v-angular/pagination/index.d.ts +2 -0
  806. package/v-angular/pagination/pagination.component.d.ts +64 -0
  807. package/v-angular/pagination/pagination.module.d.ts +12 -0
  808. package/v-angular/radio/index.d.ts +2 -0
  809. package/v-angular/radio/radio.component.d.ts +49 -0
  810. package/v-angular/radio/radio.module.d.ts +10 -0
  811. package/v-angular/slug/index.d.ts +2 -0
  812. package/v-angular/slug/slug.module.d.ts +8 -0
  813. package/v-angular/slug/slug.pipe.d.ts +12 -0
  814. package/v-angular/table/index.d.ts +5 -0
  815. package/v-angular/table/table.component.d.ts +229 -0
  816. package/v-angular/table/table.directive.d.ts +36 -0
  817. package/v-angular/table/table.models.d.ts +62 -0
  818. package/v-angular/table/table.module.d.ts +12 -0
  819. package/v-angular/table/table.tools.d.ts +5 -0
  820. package/v-angular/table/tr-thook.pipe.d.ts +7 -0
  821. package/v-angular/tabs/index.d.ts +4 -0
  822. package/v-angular/tabs/tab.directive.d.ts +37 -0
  823. package/v-angular/tabs/tabs.component.d.ts +65 -0
  824. package/v-angular/tabs/tabs.models.d.ts +25 -0
  825. package/v-angular/tabs/tabs.module.d.ts +11 -0
  826. package/v-angular/textarea/index.d.ts +2 -0
  827. package/v-angular/textarea/textarea.component.d.ts +45 -0
  828. package/v-angular/textarea/textarea.module.d.ts +12 -0
  829. package/v-angular/toast/index.d.ts +4 -0
  830. package/v-angular/toast/toast-message.service.d.ts +17 -0
  831. package/v-angular/toast/toast.component.d.ts +22 -0
  832. package/v-angular/toast/toast.models.d.ts +15 -0
  833. package/v-angular/toast/toast.module.d.ts +10 -0
  834. package/v-angular/tooltip/index.d.ts +2 -0
  835. package/v-angular/tooltip/tooltip.directive.d.ts +108 -0
  836. package/v-angular/tooltip/tooltip.module.d.ts +8 -0
  837. package/v-angular/tooltip/tooltip.styles.d.ts +11 -0
  838. package/v-angular/v-angular.module.d.ts +33 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-v-angular-datepicker.mjs","sources":["../../../../libs/angular/src/v-angular/datepicker/models/dates.ts","../../../../libs/angular/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.ts","../../../../libs/angular/src/v-angular/datepicker/datepicker.utils.ts","../../../../libs/angular/src/v-angular/datepicker/directives/calendar-date.directive.ts","../../../../libs/angular/src/v-angular/datepicker/pipes/is-disabled.pipe.ts","../../../../libs/angular/src/v-angular/datepicker/pipes/date-thook.pipe.ts","../../../../libs/angular/src/v-angular/datepicker/pipes/matches.pipe.ts","../../../../libs/angular/src/v-angular/datepicker/components/calendar/calendar.component.ts","../../../../libs/angular/src/v-angular/datepicker/components/calendar/calendar.component.html","../../../../libs/angular/src/v-angular/datepicker/datepicker.models.ts","../../../../libs/angular/src/v-angular/datepicker/components/calendar-control/calendar-control.component.ts","../../../../libs/angular/src/v-angular/datepicker/components/calendar-control/calendar-control.component.html","../../../../libs/angular/src/v-angular/datepicker/datepicker.globals.ts","../../../../libs/angular/src/v-angular/datepicker/components/datepicker/datepicker.component.ts","../../../../libs/angular/src/v-angular/datepicker/components/datepicker/datepicker.component.html","../../../../libs/angular/src/v-angular/datepicker/components/date-input/date-input.component.ts","../../../../libs/angular/src/v-angular/datepicker/components/date-input/date-input.component.html","../../../../libs/angular/src/v-angular/datepicker/datepicker.module.ts","../../../../libs/angular/src/v-angular/datepicker/index.ts","../../../../libs/angular/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.ts"],"sourcesContent":["import {\n createMask,\n InputmaskOptions,\n} from '@sebgroup/green-angular/src/v-angular/input-mask'\n\n/**\n * Helper function to generate InputmaskOptions by requested locale.\n * @param locale - requested locale. If not given, it'll use the browsers locale\n * @returns InputmaskOptions with date settings\n */\nexport const getLocaleDateMask = (\n dateCharacters?: DateCharacters,\n locale?: string,\n): InputmaskOptions<Date> => {\n // If no locale has been passed, use browser language\n if (!locale) locale = navigator.language\n\n const format = getLocaleDateString(locale).toLowerCase()\n\n return getFormatDateMask(format, dateCharacters)\n}\n\nexport const getLocaleDateString = (locale?: string) =>\n locale && dateFormats[locale] ? dateFormats[locale] : 'yyyy-MM-dd'\nconst dateFormats: Record<string, string> = {\n 'af-ZA': 'yyyy/MM/dd',\n 'am-ET': 'dd/MM/yyyy',\n 'ar-AE': 'dd/MM/yyyy',\n 'ar-BH': 'dd/MM/yyyy',\n 'ar-DZ': 'dd-MM-yyyy',\n 'ar-EG': 'dd/MM/yyyy',\n 'ar-IQ': 'dd/MM/yyyy',\n 'ar-JO': 'dd/MM/yyyy',\n 'ar-KW': 'dd/MM/yyyy',\n 'ar-LB': 'dd/MM/yyyy',\n 'ar-LY': 'dd/MM/yyyy',\n 'ar-MA': 'dd-MM-yyyy',\n 'ar-OM': 'dd/MM/yyyy',\n 'ar-QA': 'dd/MM/yyyy',\n 'ar-SA': 'dd/MM/yyyy',\n 'ar-SY': 'dd/MM/yyyy',\n 'ar-TN': 'dd-MM-yyyy',\n 'ar-YE': 'dd/MM/yyyy',\n 'arn-CL': 'dd-MM-yyyy',\n 'as-IN': 'dd-MM-yyyy',\n 'az-Cyrl-AZ': 'dd.MM.yyyy',\n 'az-Latn-AZ': 'dd.MM.yyyy',\n 'ba-RU': 'dd.MM.yyyy',\n 'be-BY': 'dd.MM.yyyy',\n 'bg-BG': 'dd.MM.yyyy',\n 'bn-BD': 'dd-MM-yyyy',\n 'bn-IN': 'dd-MM-yyyy',\n 'bo-CN': 'yyyy/MM/dd',\n 'br-FR': 'dd/MM/yyyy',\n 'bs-Cyrl-BA': 'dd.MM.yyyy',\n 'bs-Latn-BA': 'dd.MM.yyyy',\n 'ca-ES': 'dd/MM/yyyy',\n 'co-FR': 'dd/MM/yyyy',\n 'cs-CZ': 'dd.MM.yyyy',\n 'cy-GB': 'dd/MM/yyyy',\n 'da-DK': 'dd.MM.yyyy',\n 'de-AT': 'dd.MM.yyyy',\n 'de-CH': 'dd.MM.yyyy',\n 'de-DE': 'dd.MM.yyyy',\n 'de-LI': 'dd.MM.yyyy',\n 'de-LU': 'dd.MM.yyyy',\n 'dsb-DE': 'dd.MM.yyyy',\n 'dv-MV': 'dd/MM/yyyy',\n 'el-GR': 'dd/MM/yyyy',\n en: 'MM/dd/yyyy',\n 'en-029': 'MM/dd/yyyy',\n 'en-AU': 'dd/MM/yyyy',\n 'en-BZ': 'dd/MM/yyyy',\n 'en-CA': 'dd/MM/yyyy',\n 'en-GB': 'dd/MM/yyyy',\n 'en-IE': 'dd/MM/yyyy',\n 'en-IN': 'dd-MM-yyyy',\n 'en-JM': 'dd/MM/yyyy',\n 'en-MY': 'dd/MM/yyyy',\n 'en-NZ': 'dd/MM/yyyy',\n 'en-PH': 'MM/dd/yyyy',\n 'en-SG': 'dd/MM/yyyy',\n 'en-TT': 'dd/MM/yyyy',\n 'en-US': 'MM/dd/yyyy',\n 'en-ZA': 'yyyy/MM/dd',\n 'en-ZW': 'MM/dd/yyyy',\n 'es-AR': 'dd/MM/yyyy',\n 'es-BO': 'dd/MM/yyyy',\n 'es-CL': 'dd-MM-yyyy',\n 'es-CO': 'dd/MM/yyyy',\n 'es-CR': 'dd/MM/yyyy',\n 'es-DO': 'dd/MM/yyyy',\n 'es-EC': 'dd/MM/yyyy',\n 'es-ES': 'dd/MM/yyyy',\n 'es-GT': 'dd/MM/yyyy',\n 'es-HN': 'dd/MM/yyyy',\n 'es-MX': 'dd/MM/yyyy',\n 'es-NI': 'dd/MM/yyyy',\n 'es-PA': 'MM/dd/yyyy',\n 'es-PE': 'dd/MM/yyyy',\n 'es-PR': 'dd/MM/yyyy',\n 'es-PY': 'dd/MM/yyyy',\n 'es-SV': 'dd/MM/yyyy',\n 'es-US': 'MM/dd/yyyy',\n 'es-UY': 'dd/MM/yyyy',\n 'es-VE': 'dd/MM/yyyy',\n 'et-EE': 'dd.MM.yyyy',\n 'eu-ES': 'yyyy/MM/dd',\n 'fa-IR': 'MM/dd/yyyy',\n 'fi-FI': 'dd.MM.yyyy',\n 'fil-PH': 'MM/dd/yyyy',\n 'fo-FO': 'dd-MM-yyyy',\n 'fr-BE': 'dd/MM/yyyy',\n 'fr-CA': 'yyyy-MM-dd',\n 'fr-CH': 'dd.MM.yyyy',\n 'fr-FR': 'dd/MM/yyyy',\n 'fr-LU': 'dd/MM/yyyy',\n 'fr-MC': 'dd/MM/yyyy',\n 'fy-NL': 'dd-MM-yyyy',\n 'ga-IE': 'dd/MM/yyyy',\n 'gd-GB': 'dd/MM/yyyy',\n 'gl-ES': 'dd/MM/yyyy',\n 'gsw-FR': 'dd/MM/yyyy',\n 'gu-IN': 'dd-MM-yyyy',\n 'ha-Latn-NG': 'dd/MM/yyyy',\n 'he-IL': 'dd/MM/yyyy',\n 'hi-IN': 'dd-MM-yyyy',\n 'hr-BA': 'dd.MM.yyyy.',\n 'hr-HR': 'dd.MM.yyyy',\n 'hsb-DE': 'dd.MM.yyyy',\n 'hu-HU': 'yyyy.MM.dd.',\n 'hy-AM': 'dd.MM.yyyy',\n 'id-ID': 'dd/MM/yyyy',\n 'ig-NG': 'dd/MM/yyyy',\n 'ii-CN': 'yyyy/MM/dd',\n 'is-IS': 'dd.MM.yyyy',\n 'it-CH': 'dd.MM.yyyy',\n 'it-IT': 'dd/MM/yyyy',\n 'iu-Cans-CA': 'dd/MM/yyyy',\n 'iu-Latn-CA': 'dd/MM/yyyy',\n 'ja-JP': 'yyyy/MM/dd',\n 'ka-GE': 'dd.MM.yyyy',\n 'kk-KZ': 'dd.MM.yyyy',\n 'kl-GL': 'dd-MM-yyyy',\n 'km-KH': 'yyyy-MM-dd',\n 'kn-IN': 'dd-MM-yyyy',\n 'ko-KR': 'yyyy.MM.dd',\n 'kok-IN': 'dd-MM-yyyy',\n 'ky-KG': 'dd.MM.yyyy',\n 'lb-LU': 'dd/MM/yyyy',\n 'lo-LA': 'dd/MM/yyyy',\n 'lt-LT': 'yyyy.MM.dd',\n 'lv-LV': 'yyyy.MM.dd.',\n 'mi-NZ': 'dd/MM/yyyy',\n 'mk-MK': 'dd.MM.yyyy',\n 'ml-IN': 'dd-MM-yyyy',\n 'mn-MN': 'yyyy.MM.dd',\n 'mn-Mong-CN': 'yyyy/MM/dd',\n 'moh-CA': 'MM/dd/yyyy',\n 'mr-IN': 'dd-MM-yyyy',\n 'ms-BN': 'dd/MM/yyyy',\n 'ms-MY': 'dd/MM/yyyy',\n 'mt-MT': 'dd/MM/yyyy',\n 'nb-NO': 'dd.MM.yyyy',\n 'ne-NP': 'MM/dd/yyyy',\n 'nl-BE': 'dd/MM/yyyy',\n 'nl-NL': 'dd-MM-yyyy',\n 'nn-NO': 'dd.MM.yyyy',\n 'nso-ZA': 'yyyy/MM/dd',\n 'oc-FR': 'dd/MM/yyyy',\n 'or-IN': 'dd-MM-yyyy',\n 'pa-IN': 'dd-MM-yyyy',\n 'pl-PL': 'dd.MM.yyyy',\n 'prs-AF': 'dd/MM/yyyy',\n 'ps-AF': 'dd/MM/yyyy',\n 'pt-BR': 'dd/MM/yyyy',\n 'pt-PT': 'dd-MM-yyyy',\n 'qut-GT': 'dd/MM/yyyy',\n 'quz-BO': 'dd/MM/yyyy',\n 'quz-EC': 'dd/MM/yyyy',\n 'quz-PE': 'dd/MM/yyyy',\n 'rm-CH': 'dd/MM/yyyy',\n 'ro-RO': 'dd.MM.yyyy',\n 'ru-RU': 'dd.MM.yyyy',\n 'rw-RW': 'MM/dd/yyyy',\n 'sa-IN': 'dd-MM-yyyy',\n 'sah-RU': 'MM.dd.yyyy',\n se: 'yyyy-MM-dd',\n 'se-FI': 'dd.MM.yyyy',\n 'se-NO': 'dd.MM.yyyy',\n 'se-SE': 'yyyy-MM-dd',\n 'si-LK': 'yyyy-MM-dd',\n 'sk-SK': 'dd.MM.yyyy',\n 'sl-SI': 'dd.MM.yyyy',\n 'sma-NO': 'dd.MM.yyyy',\n 'sma-SE': 'yyyy-MM-dd',\n 'smj-NO': 'dd.MM.yyyy',\n 'smj-SE': 'yyyy-MM-dd',\n 'smn-FI': 'dd.MM.yyyy',\n 'sms-FI': 'dd.MM.yyyy',\n 'sq-AL': 'yyyy-MM-dd',\n 'sr-Cyrl-BA': 'dd.MM.yyyy',\n 'sr-Cyrl-CS': 'dd.MM.yyyy',\n 'sr-Cyrl-ME': 'dd.MM.yyyy',\n 'sr-Cyrl-RS': 'dd.MM.yyyy',\n 'sr-Latn-BA': 'dd.MM.yyyy',\n 'sr-Latn-CS': 'dd.MM.yyyy',\n 'sr-Latn-ME': 'dd.MM.yyyy',\n 'sr-Latn-RS': 'dd.MM.yyyy',\n sv: 'yyyy-MM-dd',\n 'sv-FI': 'dd.MM.yyyy',\n 'sv-SE': 'yyyy-MM-dd',\n 'sw-KE': 'MM/dd/yyyy',\n 'syr-SY': 'dd/MM/yyyy',\n 'ta-IN': 'dd-MM-yyyy',\n 'te-IN': 'dd-MM-yyyy',\n 'tg-Cyrl-TJ': 'dd.MM.yyyy',\n 'th-TH': 'dd/MM/yyyy',\n 'tk-TM': 'dd.MM.yyyy',\n 'tn-ZA': 'yyyy/MM/dd',\n 'tr-TR': 'dd.MM.yyyy',\n 'tt-RU': 'dd.MM.yyyy',\n 'tzm-Latn-DZ': 'dd-MM-yyyy',\n 'ug-CN': 'yyyy-MM-dd',\n 'uk-UA': 'dd.MM.yyyy',\n 'ur-PK': 'dd/MM/yyyy',\n 'uz-Cyrl-UZ': 'dd.MM.yyyy',\n 'uz-Latn-UZ': 'dd/MM yyyy',\n 'vi-VN': 'dd/MM/yyyy',\n 'wo-SN': 'dd/MM/yyyy',\n 'xh-ZA': 'yyyy/MM/dd',\n 'yo-NG': 'dd/MM/yyyy',\n 'zh-CN': 'yyyy/MM/dd',\n 'zh-HK': 'dd/MM/yyyy',\n 'zh-MO': 'dd/MM/yyyy',\n 'zh-SG': 'dd/MM/yyyy',\n 'zh-TW': 'yyyy/MM/dd',\n 'zu-ZA': 'yyyy/MM/dd',\n}\nexport const getFormatDateMask = (\n format: string,\n dateCharacters?: DateCharacters,\n) => {\n const separators = [' ', '.', '-', '/']\n const separator =\n separators.find((operator) => format.indexOf(operator) > -1) ?? '-'\n const dateObjects = format.split(separator)\n const year: { key: string; index: number } = { key: 'year', index: 0 },\n month: { key: string; index: number } = { key: 'month', index: 1 },\n day: { key: string; index: number } = { key: 'day', index: 2 }\n\n dateObjects.forEach((dateObject, index) => {\n switch (dateObject[0]) {\n case 'y':\n year.index = index\n break\n case 'm':\n month.index = index\n break\n case 'd':\n day.index = index\n break\n }\n })\n const placeholder = setDateFormatCharacters(format, dateCharacters)\n\n return createMask<Date>({\n alias: 'datetime',\n inputFormat: format,\n placeholder,\n parser: (value: string) => {\n const values = value.split(separator)\n const y = +values[year.index]\n const m = +values[month.index] - 1\n const d = +values[day.index]\n return new Date(y, m, d)\n },\n onBeforeMask(initialValue: string) {\n if (!initialValue || typeof initialValue !== 'string') return ''\n // If initialValues is in dateTime format, remove seconds that present after the \"T\"\n if (initialValue.includes('T')) initialValue = initialValue.split('T')[0]\n // initialValue should always be in yyyy-mm-dd no matter if set from control, via datepicker or manually with keyboard\n const values = initialValue.split('-')\n const datePartsInOrder = [year, month, day].sort(\n (a, b) => a.index - b.index,\n )\n // \"Insert\" correct values for the year/month/day, then join to string with separator\n return datePartsInOrder\n .map(({ key }) => {\n const [yearValue, monthValue, dateValue] = values\n if (key === 'year') return yearValue\n if (key === 'month') return monthValue\n return dateValue\n })\n .join(separator)\n },\n })\n}\n\nexport interface DateCharacters {\n year: string\n month: string\n day: string\n}\nexport const setDateFormatCharacters = (\n format: string,\n dateCharacters?: DateCharacters,\n) => {\n if (!dateCharacters) return format\n format = format.replace(/y/g, dateCharacters.year)\n format = format.replace(/m/g, dateCharacters.month)\n format = format.replace(/d/g, dateCharacters.day)\n return format\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core'\nimport {\n AbstractControl,\n ControlValueAccessor,\n NgControl,\n ValidationErrors,\n Validator,\n Validators,\n} from '@angular/forms'\nimport {\n TRANSLOCO_SCOPE,\n TranslocoScope,\n TranslocoService,\n} from '@jsverse/transloco'\nimport { Observable, Subject } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nimport type { InputmaskOptions } from '@sebgroup/green-angular/src/v-angular/input-mask'\n\nimport {\n DateCharacters,\n getFormatDateMask,\n getLocaleDateMask,\n getLocaleDateString,\n setDateFormatCharacters,\n} from '../models/dates'\n\n@Directive() // Required with Angular ivy compiler\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport abstract class DateControlValueAccessorComponent\n implements\n AfterViewInit,\n OnInit,\n OnChanges,\n OnDestroy,\n ControlValueAccessor,\n Validator\n{\n /** Custom template for displaying the content of the label.\n * Specified by nesting an `<ng-template #labelTpl>Custom Label</ng-template>`.\n */\n @ContentChild('labelTpl', { read: TemplateRef })\n labelContentTpl?: TemplateRef<undefined>\n\n /** Reference to the native child input element. */\n @ViewChild('input', { read: ElementRef }) inputRef?: ElementRef\n\n /* ATTRIBUTES */\n\n /** Id of the host element and is accessible by the children, automatically generated if not provided. */\n @HostBinding('attr.id') @Input() id = (window as any).ngv?.nextId(\n 'datepicker',\n )\n /** Name of the child input element. */\n @Input() name?: string\n /** Label of the child input element using the default template.\n * Can be overwritten by specifying an `<ng-template #labelTpl>Custom Label</ng-template>`.\n */\n @Input() label?: string\n /** Text shown before input has a written value. Default current date format by locale of transloco */\n @Input() set placeholder(value: string | undefined) {\n this._placeholder = value\n ? setDateFormatCharacters(value, this.dateCharacters)\n : value\n this.defaultPlaceholder = value\n ? setDateFormatCharacters(value, this.dateCharacters)\n : value\n }\n get placeholder() {\n return this._placeholder\n }\n private _placeholder: string | undefined\n defaultPlaceholder?: string\n /** What characters to use in date placeholder, e.g. {year: 'Y', month: 'M', day: 'D'} */\n @Input() dateCharacters?: DateCharacters\n /** Role of the child input element. https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles */\n @Input() role?: string\n /** Value of the child input element. Mostly used in conjunction with radio and checkboxes. */\n @Input() value: any\n /** An error string to be shown under invalid inputs. Overwrites any form errors. */\n @Input() error?: string\n /** A list of errors string to be shown under invalid inputs. Overwrites any form errors. */\n @Input() errorList?: string[]\n /** Adds an icon before each error message. */\n @Input() withErrorIcon?: boolean = false\n /** Description of the child input element. Both visibly and as `aria-label`. */\n @Input() description?: string\n /** If set to true, the browser will try to automatically set focus to the child input element. */\n @Input() autofocus = false\n /** Default value of the child input element. */\n @Input() defaultValue?: any\n /** If passed, the component will listen for updates and will reset its value. */\n @Input() reset?: Observable<any>\n /** Adds (Optional) to input label. */\n @Input() optional?: boolean | null | undefined\n /**\n * Settings for input mask for dates based on locale\n * @see {@link getLocaleDateMask} use this tool to generate settings for `dateInputMask`\n */\n @Input() set dateInputMask(dateMask: InputmaskOptions<Date>) {\n // Hide input field\n this.showInputDateSrc.next(false)\n this.cdr.detectChanges()\n this._dateInputMask = dateMask\n\n // Show input field to reload input-mask settings upon update\n setTimeout(() => {\n this.showInputDateSrc.next(true)\n this.cdr.detectChanges()\n }, 200)\n }\n get dateInputMask(): InputmaskOptions<Date> {\n return this._dateInputMask\n }\n private _dateInputMask!: InputmaskOptions<Date>\n\n private _locked: boolean | null | undefined = undefined\n /** Hides the input borders and displays current value as a text. */\n @Input() set locked(value: boolean | null | undefined) {\n this._locked = value\n this.cdr.detectChanges()\n }\n get locked(): boolean | null | undefined {\n return this._locked\n }\n /** If set to true, using a controls disabled state will display input as locked. */\n @Input() displayDisabledAsLocked?: boolean | null | undefined\n\n /* STATES */\n\n private _required: boolean | null | undefined = undefined\n /** Override the required flag of the component. */\n @Input() set required(value: boolean | null | undefined) {\n this._required = value\n }\n /** Child input element is considered required and changes default label template accordingly. */\n get required(): boolean | null | undefined {\n // if required is set => return required\n if (this._required !== undefined) return this._required\n\n // if required can be determined from the control => return control.required\n if (this.ngControl?.control?.validator) {\n const validator = this.ngControl?.control?.validator(\n {} as AbstractControl,\n )\n return validator && validator.required\n }\n\n return\n }\n\n private _invalid: boolean | undefined = undefined\n /** Override the invalid state of the component. */\n @Input() set invalid(value: boolean) {\n this._invalid = value\n }\n /** The component has the invalid state, usually decorating the elements red and shows the first error. */\n get invalid(): boolean {\n if (this._invalid === true || this._invalid === false) return this._invalid\n return (\n !!this.ngControl?.control?.invalid && this.ngControl?.control?.touched\n )\n }\n\n private _valid: boolean | undefined = undefined\n /** Override the valid state of the component. */\n @Input() set valid(value: boolean) {\n this._valid = value\n }\n /** The component has the valid state, usually decorating the elements green. */\n get valid(): boolean {\n if (this._valid === true || this._valid === false) return this._valid\n return !!this.ngControl?.control?.valid && this.ngControl?.control?.touched\n }\n\n /** The component has the focused state, updated by the child input element's focus state. */\n @Input() focused = false\n /** The component has the disabled state, usually muting the colors and removes interaction. */\n @Input() disabled = false\n /** Locale for using correct language in the datepicker. */\n @Input() locale: string | undefined\n /** Date format used for placeholder and input mask. Should be in lower case {year: 'y', month: 'm', day: 'd'} */\n @Input() dateFormat: string | undefined\n /** Date locale used for placeholder and input mask. */\n @Input() dateLocale: string | undefined\n\n /** Toggler for showing or hiding the input field */\n protected showInputDateSrc = new Subject<boolean>()\n\n /* TRIGGERS */\n\n /** Emits focus events triggered by the child elements. */\n @Output() readonly ngvFocus = new EventEmitter()\n /** Emits focus events triggered by the child elements. */\n @Output() readonly ngvBlur = new EventEmitter()\n\n /* VALUE HANDLERS */\n /** @internal */\n protected onChange = (_: any): void => {} // eslint-disable-line @typescript-eslint/no-empty-function\n /** @internal */\n protected onTouched = (): void => {} // eslint-disable-line @typescript-eslint/no-empty-function\n /** @internal */\n protected onValidatorChange: () => void = () => null\n private _state: any = null\n\n /* OTHER VARIABLES */\n scope: string | undefined\n /** @internal */\n // warningIcon = faTriangleExclamation;\n\n /* LIFE CYCLE VARIABLES */\n private _onDestroy$ = new Subject<true>()\n\n /**\n * Creates a new BaseControlValueAccessorComponent.\n * @param ngControl optional FormControl provided when component is used in a form, through dependency injection.\n */\n constructor(\n @Self() @Optional() public ngControl: NgControl,\n @Optional()\n @Inject(TRANSLOCO_SCOPE)\n protected translocoScope: TranslocoScope,\n protected elementRef: ElementRef,\n protected cdr: ChangeDetectorRef,\n private _transloco: TranslocoService,\n ) {\n if (this.ngControl) {\n // Note: we provide the value accessor through here, instead of\n // the `providers` to avoid running into a circular import.\n this.ngControl.valueAccessor = this\n }\n\n if (this.translocoScope) this.scope = this.translocoScope.toString()\n }\n\n static parseDateLike(value: any): null | undefined | string {\n try {\n // if value is type of string,\n if (value && typeof value === 'string') value = new Date(value)\n switch (true) {\n // remove instances where the value will not correctly be parsed to a date string\n case value == null:\n case value?.toString() === 'Invalid Date':\n return null\n // if value-as-date is a valid date object, parse the value to YYYY-MM-DD format\n case typeof value?.getMonth === 'function':\n return new Intl.DateTimeFormat('sv-SE').format(value)\n default:\n return value as string\n }\n } catch (_e) {\n return\n }\n }\n\n // eslint-disable-next-line @angular-eslint/contextual-lifecycle\n ngOnInit(): void {\n if (this.ngControl && this.ngControl.control) {\n this.ngControl.control.setValidators(\n Validators.compose([this.ngControl.control.validator, this.validate]),\n )\n }\n\n this._transloco.langChanges$.pipe(takeUntil(this._onDestroy$)).subscribe({\n next: () => {\n if (!this.locale && !this.dateFormat) {\n return this.updatePlaceholderAndMask()\n }\n },\n })\n\n // if reset observable has been passed, subscribe after updates\n this.reset?.pipe(takeUntil(this._onDestroy$)).subscribe({\n next: () => {\n // reset value of controller\n this.updateValue('')\n },\n })\n }\n\n // eslint-disable-next-line @angular-eslint/contextual-lifecycle\n ngAfterViewInit(): void {\n // if default value is set, then don't alter it. Otherwise, use\n // current value of controller after initiation as default value\n this.defaultValue = this.defaultValue ?? this.ngControl?.value\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.defaultValue?.currentValue) {\n this.updateValue(changes.defaultValue.currentValue)\n }\n\n if (\n changes.locale?.currentValue &&\n !this.dateFormat &&\n !changes.dateFormat?.currentValue\n ) {\n this.updatePlaceholderAndMask()\n }\n\n if (changes.dateFormat?.currentValue) {\n this.updateFormat()\n }\n\n if (changes.dateCharacters?.currentValue) {\n if (this.dateFormat) {\n this.updateFormat()\n } else {\n this.updatePlaceholderAndMask()\n }\n }\n\n if (!!changes.dateLocale?.currentValue && !this.dateFormat) {\n this.updatePlaceholderAndMask()\n }\n }\n\n ngOnDestroy(): void {\n this._onDestroy$.next(true)\n this._onDestroy$.complete()\n }\n\n /** @internal */\n onFocus(event: Event) {\n event.stopPropagation\n ? event.stopPropagation()\n : (event.cancelBubble = true)\n this.focused = true\n this.ngvFocus.emit(event)\n }\n\n /** @internal */\n onBlur(event: Event) {\n event.stopPropagation\n ? event.stopPropagation()\n : (event.cancelBubble = true)\n this.onTouched()\n this.focused = false\n this.ngvBlur.emit(event)\n }\n\n detectChanges(): void {\n this.cdr.detectChanges()\n }\n\n /** Sets the focus on the actual input element. */\n setFocus() {\n if (this.inputRef) this.inputRef.nativeElement.focus()\n }\n\n /**\n * @internal\n * Update placeholder and input mask to match locale.\n * Order if choice for locale:\n * 1. dateLocale - Used for specifying which locale to be used for formatting date\n * 2. locale - Unless dateLocale is not provided, use locale form current translation\n * 3. transloco.getActiveLang - as last resort, get active language form trnasloco\n * If locale is undefined, transloco.activeLang will be used instead.\n */\n updatePlaceholderAndMask() {\n const locale =\n this.dateLocale ?? this.locale ?? this._transloco.getActiveLang()\n\n this._placeholder = this.defaultPlaceholder\n ? setDateFormatCharacters(this.defaultPlaceholder, this.dateCharacters)\n : setDateFormatCharacters(\n getLocaleDateString(locale).toLowerCase(),\n this.dateCharacters,\n )\n this.dateInputMask = getLocaleDateMask(this.dateCharacters, locale)\n }\n\n updateFormat() {\n if (this.dateFormat) {\n this._placeholder = this.defaultPlaceholder\n ? setDateFormatCharacters(this.defaultPlaceholder, this.dateCharacters)\n : setDateFormatCharacters(\n this.dateFormat.toLowerCase(),\n this.dateCharacters,\n )\n this.dateInputMask = getFormatDateMask(\n this.dateFormat,\n this.dateCharacters,\n )\n }\n }\n\n // ----------------------------------------------------------------------------\n // CONTROL VALUE ACCESSOR\n // ----------------------------------------------------------------------------\n\n /** Internal state/value that the native input element has. */\n get state() {\n return this._state\n }\n\n /**\n * Internal state/value that the native input element has.\n */\n set state(value) {\n this._state = value\n }\n\n /** Writes a new value to the child input element. */\n writeValue(value: any): void {\n this.state = value\n this.onChange(this.state)\n }\n\n /** Registers a callback function that is called when the child input element's value changes. */\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = (value) => {\n // ensure emitted value is a string | null | undefined\n const emitValue = DateControlValueAccessorComponent.parseDateLike(value)\n fn(emitValue)\n }\n }\n\n /** Registers a callback function that is called when the child input element triggers on blur. */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n }\n\n /** Function that is called by the forms API when the control status changes to or from 'DISABLED'. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n\n // if displayDisabledAsLocked is enabled - update locked state based on disabled state\n if (this.displayDisabledAsLocked) {\n this.locked = isDisabled\n }\n }\n\n // ----------------------------------------------------------------------------\n // VALIDATORS\n // ----------------------------------------------------------------------------\n\n /** Method that performs synchronous validation against the provided control. Used for internal validation. */\n validate(_control: AbstractControl): { [name: string]: any } | null {\n return null\n }\n\n /** Registers a callback function to call when the validator inputs change. */\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn\n }\n\n // ----------------------------------------------------------------------------\n // HELPERS\n // ----------------------------------------------------------------------------\n\n /** Returns the first entry in an error object. */\n get firstError(): { code: string; params: Record<string, any> } | null {\n const errors: ValidationErrors | null = this.ngControl.errors\n if (!errors) return null\n const code = Object.keys(errors)[0]\n return { code, params: errors[code] }\n }\n\n private updateValue(value = this.defaultValue) {\n this.state = value\n this.onChange(this.state)\n this.cdr.detectChanges()\n }\n}\n","import { WeekDay } from '@angular/common'\n\nconst weekdays: WeekDay[] = [\n WeekDay.Monday,\n WeekDay.Tuesday,\n WeekDay.Wednesday,\n WeekDay.Thursday,\n WeekDay.Friday,\n WeekDay.Saturday,\n WeekDay.Sunday,\n]\n\nexport const sortWeekDays = (firstDayOfWeek: WeekDay): WeekDay[] => {\n const firstDayIndex = weekdays.indexOf(firstDayOfWeek)\n const weekStart = weekdays.slice(firstDayIndex)\n const weekEnd = weekdays.slice(0, firstDayIndex)\n return weekStart.concat(weekEnd)\n}\n\n/** Sets labels and sort weekday arrays based off of first day of week. */\nexport const getSortedWeekDays = (\n firstDayOfWeek: WeekDay,\n startDate?: Date,\n): Date[] => {\n if (startDate === undefined) startDate = new Date()\n\n // sort weekdays according to firstDayOfWeek\n const sortedWeekdays: WeekDay[] = sortWeekDays(firstDayOfWeek)\n\n // get the date object for the first day of week\n const startDayIndex = sortedWeekdays.indexOf(startDate.getDay())\n const firstOfWeek = new Date(startDate)\n firstOfWeek.setDate(startDate.getDate() - startDayIndex)\n\n // map each day in array to a date object\n return sortedWeekdays.map((_: WeekDay, offset: number) => {\n // set appropriate date\n const weekdayDate = new Date(firstOfWeek)\n weekdayDate.setDate(weekdayDate.getDate() + offset)\n\n // and return value\n return weekdayDate\n })\n}\n\n/** Generate a matrix of dates used to visualize a calendar month. */\nexport const generateDateMatrix = (\n month: number,\n year: number,\n minWeeks = 5,\n firstDayOfWeek: WeekDay,\n): Date[][] => {\n // generate a new matrix with 5 or 6 rows (depending on number of days in that month)\n const matrix: Date[][] = new Array<Date[]>(minWeeks)\n matrix.fill([])\n\n const monthStr = `${month + 1}`.padStart(2, '0')\n const date = new Date(`${year}-${monthStr}-01`)\n const firstDate = firstCalendarDate(date, firstDayOfWeek)\n\n // for each week in that month\n const dateMatrix = matrix.map((_: Date[], weekOffset: number) => {\n const offset = weekOffset * 7\n // update the date with the offset for that week\n const firstOfWeek = new Date(firstDate)\n firstOfWeek.setDate(firstDate.getDate() + offset)\n return getSortedWeekDays(firstDayOfWeek, firstOfWeek)\n })\n\n // check if another row needs to be added (if last dates of month are missing)\n const lastAdded = dateMatrix.slice(-1)[0].slice(-1)[0]\n const lastOfMonth = new Date(lastAdded)\n lastOfMonth.setMonth(month + 1)\n lastOfMonth.setDate(0)\n\n if (isBefore(lastAdded, lastOfMonth)) {\n // add another week row\n const firstOfWeek = new Date(lastAdded)\n firstOfWeek.setDate(lastAdded.getDate() + 1)\n dateMatrix.push(getSortedWeekDays(firstDayOfWeek, firstOfWeek))\n }\n // return final datematrix\n return dateMatrix\n}\n\n/** Returns the first date used in the calendars first button. */\nexport const firstCalendarDate = (\n date: Date,\n firstDayOfWeek: WeekDay,\n): Date => {\n // sort weekdays according to firstDayOfWeek\n const sortedWeekdays: WeekDay[] = sortWeekDays(firstDayOfWeek)\n\n // set date to the first of month\n const firstOfMonth = new Date(date)\n firstOfMonth.setDate(1)\n\n // get the offset\n const offset = sortedWeekdays.indexOf(firstOfMonth.getDay())\n const firstOfWeek = new Date(firstOfMonth)\n // use offset to set date\n firstOfWeek.setDate(1 - offset)\n return firstOfWeek\n}\n\nexport const getDayOffset = (\n from: WeekDay,\n to: WeekDay,\n firstDayOfWeek: WeekDay,\n direction?: 'forward' | 'back',\n): number => {\n const sortedWeekdays: WeekDay[] = sortWeekDays(firstDayOfWeek)\n\n const fromIndex = sortedWeekdays.indexOf(from)\n const toIndex = sortedWeekdays.indexOf(to)\n\n const offset = toIndex - fromIndex\n\n if (direction === 'forward' && offset < 0) return offset + 6\n if (direction === 'back' && offset > 0) return offset - 6\n return offset\n}\n\n/** Returns an array of Dates for each of month. */\nexport const getMonthArray = (): Date[] => {\n const firstDayOfYear = new Date()\n firstDayOfYear.setMonth(0)\n firstDayOfYear.setDate(1)\n\n // create a new array of length 12,\n // and fill it with date objects of 1:st of january\n const monthArray: Date[] = new Array(12).fill(firstDayOfYear)\n\n // map through the array,\n // and create a new instance of the date,\n // changing the month based on index (0 - 11)\n return monthArray.map((d: Date, index: number) => {\n const date = new Date(d)\n date.setMonth(index)\n return date\n })\n}\n\n/** Returns an array of Dates for the current year and the next. */\nexport const getYearArray = (): Date[] => {\n const currentYear = new Date()\n currentYear.setMonth(0)\n currentYear.setDate(1)\n const nextYear = new Date(currentYear)\n nextYear.setFullYear(currentYear.getFullYear() + 1)\n return [currentYear, nextYear]\n}\n\n/** Returns true if the two dates have the same year, month and date values. */\nexport const match = (a: Date | undefined, b: Date | undefined): boolean => {\n if (!a || !b) return false\n if (a.getDate() !== b.getDate()) return false\n if (a.getMonth() !== b.getMonth()) return false\n if (a.getFullYear() !== b.getFullYear()) return false\n return true\n}\n\nexport const afterClosingHours = (closingHours: Date | undefined): boolean => {\n if (!closingHours) return false\n return Date.now() >= closingHours.getTime()\n}\n\n/**\n * Checks if a date is before control date, regardless of time.\n *\n * @param date - comparison date\n * @param controlDate - date to compare against\n * @returns - true if the comparison date is before the control date\n */\nexport const isBefore = (date: Date, controlDate: Date): boolean => {\n // if year values are dissimilar\n if (date.getFullYear() !== controlDate.getFullYear()) {\n return date.getFullYear() < controlDate.getFullYear()\n }\n // if month values are dissimilar\n if (date.getMonth() !== controlDate.getMonth()) {\n return date.getMonth() < controlDate.getMonth()\n }\n // if year and month are equal, check the date\n return date.getDate() < controlDate.getDate()\n}\n\n/**\n * Checks if a date is after control date, regardless of time.\n *\n * @param date - comparison date\n * @param controlDate - date to compare against\n * @returns - true if the comparison date is before the control date\n */\nexport const isAfter = (date: Date, controlDate: Date): boolean => {\n // if year values are dissimilar\n if (date.getFullYear() !== controlDate.getFullYear()) {\n return date.getFullYear() > controlDate.getFullYear()\n }\n // if month values are dissimilar\n if (date.getMonth() !== controlDate.getMonth()) {\n return date.getMonth() > controlDate.getMonth()\n }\n // if year and month are equal, check the date\n return date.getDate() > controlDate.getDate()\n}\n\n/**\n * Checks if a value can be used to initiate a new Date object.\n *\n * @param value any value\n * @returns - true if value can be coersed to a Date.\n */\nexport const isValid = (value: any): boolean => {\n // if value is type of string and can be parsed to a Date\n const date =\n value && typeof value === 'string' && !isNaN(Date.parse(value))\n ? new Date(value)\n : null\n\n switch (true) {\n // if date or value is a valid date object - return valid\n case typeof value?.getMonth === 'function':\n case typeof date?.getMonth === 'function':\n return true\n // if date or value is not a valid date object - return invalid\n case value == null:\n case date?.toString() === 'Invalid Date':\n return false\n default:\n return false\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n} from '@angular/core'\n\nimport { match } from '../datepicker.utils'\n\nexport const enum DateCss {\n notWithinMonth = 'not-within-month',\n selected = 'selected',\n today = 'today',\n}\n\n@Directive({\n selector: '[calendarDate]', // eslint-disable-line @angular-eslint/directive-selector\n})\nexport class CalendarDateDirective implements OnInit, OnChanges {\n @Input() calendarDate!: Date\n @HostBinding('class.' + DateCss.selected) @Input() selected!: boolean\n @HostBinding('class.' + DateCss.notWithinMonth)\n @Input()\n notWithinMonth!: boolean\n @HostBinding('class.' + DateCss.today) isToday = false\n @Input() disabled!: boolean\n\n get nativeElement(): HTMLElement {\n return this.elementRef.nativeElement\n }\n\n constructor(private elementRef: ElementRef) {}\n\n ngOnInit() {\n this.isToday = match(new Date(), this.calendarDate)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.disabled?.currentValue) {\n ;(this.nativeElement as HTMLButtonElement).disabled = this.disabled\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { DisableDateConfig } from '../datepicker.models'\nimport {\n afterClosingHours,\n isAfter,\n isBefore,\n match,\n} from '../datepicker.utils'\n\nconst TODAY = new Date()\n\n@Pipe({ name: 'isDisabled' })\nexport class IsDisabledPipe implements PipeTransform {\n // transform(value: Date, firstValid: Date | undefined, lastValid: Date | undefined, excludeDates: Date[] | undefined, excludeDays: WeekDay[] | undefined): boolean {\n transform(value: Date, config: DisableDateConfig = {}): boolean {\n const { fromDate, toDate, excludeDates, excludeDays, closingTime } = config\n\n // if closingHours was provided and the date matches today - check closingHours (including timezone)\n if (closingTime && match(value, TODAY) && afterClosingHours(closingTime))\n return true\n\n // if fromDate was provided and the date occurs before fromDate date\n if (fromDate && !match(value, fromDate) && isBefore(value, fromDate))\n return true\n\n // if toDate was provided and the date occurs after toDate date\n if (toDate && !match(value, toDate) && isAfter(value, toDate)) return true\n\n // if a list of disallowed days is provided and value matches\n if (\n excludeDays &&\n excludeDays.length &&\n excludeDays.indexOf(value.getDay()) !== -1\n )\n return true\n\n // if a list of disallowed dates is provided\n if (excludeDates && excludeDates.length) {\n return !!excludeDates.find((d: Date) => match(value, d))\n }\n\n // otherwise show date as not disabled\n return false\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({ name: 'dateThook' })\nexport class DateThookPipe implements PipeTransform {\n get today(): Date {\n const tmp = new Date()\n const today = new Date(tmp.setHours(0, 0, 0, 0))\n return today\n }\n\n transform(date: Date, isDisabled: boolean): string {\n if (!!date && !isDisabled) {\n // Reset time for target date\n const dateTmp = new Date(date.setHours(0, 0, 0, 0))\n\n // To calculate the time difference of two dates\n const differenceInTime = dateTmp.getTime() - this.today.getTime()\n\n // To calculate the no. of days between two dates\n const differenceInDays = differenceInTime / (1000 * 3600 * 24)\n const absoluteDifferenceInDays = Math.abs(differenceInDays)\n\n const differentiator =\n differenceInDays < 0 ? '-' : differenceInDays === 0 ? '' : '+'\n\n return `today${differentiator}${absoluteDifferenceInDays === 0 ? '' : absoluteDifferenceInDays}`\n }\n\n return 'disabled-date'\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { match } from '../datepicker.utils'\n\n@Pipe({\n name: 'matches',\n})\nexport class MatchesPipe implements PipeTransform {\n transform(value: Date, selected: Date | undefined): boolean {\n return match(value, selected)\n }\n}\n","import { WeekDay } from '@angular/common'\nimport {\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n ViewChildren,\n} from '@angular/core'\n\nimport {\n generateDateMatrix,\n getDayOffset,\n sortWeekDays,\n} from '../../datepicker.utils'\nimport { CalendarDateDirective } from '../../directives/calendar-date.directive'\n\nimport type { CalendarType, DisableDateConfig } from '../../datepicker.models'\n\n@Component({\n selector: 'nggv-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n})\nexport class CalendarComponent implements OnChanges {\n @Output() dateClick = new EventEmitter<Date>()\n\n @ViewChildren(CalendarDateDirective)\n dateButtonRefs!: QueryList<CalendarDateDirective>\n\n @Input() year!: number\n @Input() month!: number\n @Input() selected: Date | undefined\n\n // inputs that configure display behaviour\n @Input() locale: string | undefined\n @Input() minCalendarRows = 5\n @Input() firstDayOfWeek: WeekDay = WeekDay.Monday\n @Input() type: CalendarType = 'normal'\n\n // inputs that affects which dates in the calendar should be grayed out\n @Input() set disableDates(value: Date[] | undefined) {\n this.updateDisableDateConfig({ excludeDates: value ?? [] })\n }\n @Input() set disableWeekDays(value: WeekDay[] | undefined) {\n this.updateDisableDateConfig({ excludeDays: value })\n }\n @Input() set firstValid(value: Date | undefined) {\n this.updateDisableDateConfig({ fromDate: value })\n }\n @Input() set lastValid(value: Date | undefined) {\n this.updateDisableDateConfig({ toDate: value })\n }\n @Input() set closingTime(value: Date | undefined) {\n this.updateDisableDateConfig({ closingTime: value })\n }\n\n dateMatrix: Date[][] = [[]]\n disableDateConfig: DisableDateConfig = {}\n\n private lastDayOfWeek: WeekDay = WeekDay.Sunday\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected?.currentValue) {\n this.selected = new Date(changes.selected.currentValue)\n }\n\n if (changes.firstDayOfWeek?.currentValue) {\n this.lastDayOfWeek = sortWeekDays(\n changes.firstDayOfWeek.currentValue,\n ).pop() as WeekDay\n }\n\n if (\n (changes.month?.currentValue !== undefined &&\n changes.month?.currentValue !== null) ||\n !!changes.year?.currentValue ||\n !!changes.firstDayOfWeek?.currentValue ||\n !!changes.minCalendarRows?.currentValue\n ) {\n this.dateMatrix = generateDateMatrix(\n this.month,\n this.year,\n this.minCalendarRows,\n this.firstDayOfWeek,\n )\n }\n }\n\n clickDate(date: Date): void {\n this.dateClick.emit(date)\n }\n\n @HostListener('keydown', ['$event'])\n keyNavigation(event: KeyboardEvent): void {\n let activeElement: HTMLElement | undefined\n if (event.key !== 'Tab')\n activeElement = document.activeElement as HTMLElement\n if (event.key === 'ArrowRight') {\n const nextFocusable = this.getNextFocusable(activeElement)\n if (nextFocusable) nextFocusable.focus()\n }\n\n if (event.key === 'ArrowLeft') {\n const nextFocusable = this.getPreviousFocusable(activeElement)\n if (nextFocusable) nextFocusable.focus()\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n const nextFocusable = this.getElementWithOffset(activeElement, -7)\n if (nextFocusable) nextFocusable.focus()\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n const nextFocusable = this.getElementWithOffset(activeElement, 7)\n if (nextFocusable) nextFocusable.focus()\n }\n\n if (event.key === 'Enter' || event.key === 'Space') {\n if (activeElement) {\n const dateRef = this.dateButtonRefs.find(\n (ref) => ref.nativeElement === activeElement,\n )\n if (!dateRef?.disabled) {\n this.dateClick.emit(dateRef?.calendarDate)\n }\n }\n }\n\n if (event.key === 'Home') {\n event.preventDefault()\n const nextFocusable = this.firstDayOfWeekElement()\n if (nextFocusable) nextFocusable.focus()\n }\n\n if (event.key === 'End') {\n event.preventDefault()\n const nextFocusable = this.lastDayOfWeekElement()\n if (nextFocusable) nextFocusable.focus()\n }\n }\n\n getElementWithOffset(\n fromElement: HTMLElement | undefined,\n offsetDays: number,\n returnOnlyEnabled = true,\n ): HTMLElement | undefined {\n if (!fromElement) return\n const fromIndex = this.dateButtonRefs\n .toArray()\n .map((ref) => ref.nativeElement)\n .indexOf(fromElement)\n const next = this.dateButtonRefs.get(fromIndex + offsetDays)\n if (!next) return\n if (returnOnlyEnabled && next.disabled)\n return this.getElementWithOffset(next.nativeElement, offsetDays)\n return next.nativeElement\n }\n\n getNextFocusable(\n fromElement: HTMLElement | undefined,\n ): HTMLElement | undefined {\n if (!fromElement) return\n return this.getElementWithOffset(fromElement, 1)\n }\n\n getPreviousFocusable(\n fromElement: HTMLElement | undefined,\n ): HTMLElement | undefined {\n if (!fromElement) return\n return this.getElementWithOffset(fromElement, -1)\n }\n\n firstDayOfWeekElement(): HTMLElement | undefined {\n const activeElement = document.activeElement as HTMLElement\n if (!activeElement) return\n const dateRef = this.dateButtonRefs.find(\n (ref) => ref.nativeElement === activeElement,\n ) as CalendarDateDirective\n if (dateRef.calendarDate.getDay() === this.firstDayOfWeek) return\n const offset = this.getDayOffset(\n dateRef.calendarDate.getDay(),\n this.firstDayOfWeek,\n 'back',\n )\n const targetElement = this.getElementWithOffset(\n activeElement,\n offset,\n false,\n ) as HTMLButtonElement\n if (targetElement && targetElement.disabled)\n return this.getNextFocusable(targetElement)\n return targetElement\n }\n\n lastDayOfWeekElement(): HTMLElement | undefined {\n const activeElement = document.activeElement as HTMLElement\n if (!activeElement) return\n const dateRef = this.dateButtonRefs.find(\n (ref) => ref.nativeElement === activeElement,\n ) as CalendarDateDirective\n if (dateRef.calendarDate.getDay() === this.lastDayOfWeek) return\n const offset = this.getDayOffset(\n dateRef.calendarDate.getDay(),\n this.lastDayOfWeek,\n 'forward',\n )\n const targetElement = this.getElementWithOffset(\n activeElement,\n offset,\n false,\n ) as HTMLButtonElement\n if (targetElement && targetElement.disabled)\n return this.getPreviousFocusable(targetElement)\n return targetElement\n }\n\n getDayOffset(\n from: WeekDay,\n to: WeekDay,\n direction?: 'forward' | 'back',\n ): number {\n return getDayOffset(from, to, this.firstDayOfWeek, direction)\n }\n\n private updateDisableDateConfig(config: Partial<DisableDateConfig>): void {\n this.disableDateConfig = {\n ...this.disableDateConfig,\n ...config,\n }\n }\n}\n","<ng-container *ngFor=\"let weekRow of dateMatrix\">\n <div class=\"nggv-calendar-row\">\n <button\n *ngFor=\"let date of weekRow\"\n class=\"gds-button gds-button-alternative\"\n [attr.data-thook]=\"\n date | dateThook: (date | isDisabled: disableDateConfig)\n \"\n [attr.aria-label]=\"date\"\n [calendarDate]=\"date\"\n [notWithinMonth]=\"!(month === date?.getMonth())\"\n [selected]=\"date | matches: selected\"\n [disabled]=\"date | isDisabled: disableDateConfig\"\n (click)=\"clickDate(date)\"\n >\n {{ date | date: 'd' : undefined : locale }}\n </button>\n </div>\n</ng-container>\n","import { formatDate, WeekDay } from '@angular/common'\nimport { Injectable } from '@angular/core'\n\nexport type CalendarType = 'normal' | 'extended'\n\nexport const enum Month {\n January,\n February,\n March,\n April,\n May,\n June,\n July,\n August,\n September,\n October,\n November,\n December,\n}\n\nexport interface DisableDateConfig {\n fromDate?: Date | undefined\n toDate?: Date | undefined\n excludeDates?: Date[] | undefined\n excludeDays?: WeekDay[] | undefined\n closingTime?: Date | undefined\n}\n\n@Injectable()\nexport class CalendarMonth {\n year: number\n month: number\n id: string\n _date: Date\n\n constructor(date?: Date) {\n this._date = date ? new Date(date) : new Date()\n this._date.setDate(1)\n this._date.setHours(0, 0, 0, 0)\n this.year = this._date.getFullYear()\n this.month = this._date.getMonth()\n this.id = formatDate(this._date, 'yyyyMM', 'en')\n }\n\n /** Creates an instance based of input year and month. */\n static fromObject(obj: { year: number; month: number }): CalendarMonth {\n const objectDate = new Date(obj.year, obj.month, 1)\n return new CalendarMonth(objectDate)\n }\n\n /** Returns a Date representation for the instance. */\n get date(): Date {\n return new Date(this._date)\n }\n\n /** Returns the string id representing the instance in form of 'yyyyMM'. */\n valueOf() {\n return this.id\n }\n\n /** Returns a new instance for next month. */\n nextMonth(): CalendarMonth {\n const next = this.date\n next.setMonth(this.month + 1)\n return new CalendarMonth(next)\n }\n\n /** Returns a new instance for previous month. */\n previousMonth(): CalendarMonth {\n const previous = this.date\n previous.setMonth(this.month - 1)\n return new CalendarMonth(previous)\n }\n\n /** Returns a new instance for next year. */\n nextYear(): CalendarMonth {\n const nextYear = this.date\n nextYear.setFullYear(nextYear.getFullYear() + 1)\n return new CalendarMonth(nextYear)\n }\n\n /** Returns a new instance for previous year. */\n previousYear(): CalendarMonth {\n const previousYear = this.date\n previousYear.setFullYear(previousYear.getFullYear() - 1)\n return new CalendarMonth(previousYear)\n }\n}\n","import {\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core'\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'\nimport { Subscription } from 'rxjs'\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators'\n\nimport { CalendarMonth } from '../../datepicker.models'\nimport { getMonthArray, getYearArray } from '../../datepicker.utils'\n\nimport type { CalendarType } from '../../datepicker.models'\n\nimport '@sebgroup/green-core/components/icon/icons/chevron-left.js'\nimport '@sebgroup/green-core/components/icon/icons/chevron-right.js'\n\n@Component({\n selector: 'nggv-calendar-control',\n templateUrl: './calendar-control.component.html',\n styleUrls: ['./calendar-control.component.scss'],\n})\nexport class CalendarControlComponent implements OnInit, OnChanges, OnDestroy {\n // nextIcon: IconDefinition = faChevronRight\n // previousIcon: IconDefinition = faChevronLeft\n\n @Output() calendarChange = new EventEmitter<CalendarMonth>()\n\n @Input() activeCalendar!: CalendarMonth\n @Input() locale: string | undefined\n @Input() type: CalendarType = 'normal'\n\n monthArray: Date[] = [] // array used for month dropdown\n yearArray: Date[] = [] // array used for year dropdown\n selectedCalendar: UntypedFormGroup // dropdown form group\n\n private subs: Subscription[] = []\n\n constructor(private fb: UntypedFormBuilder) {\n // initiate form group for dropdown menus\n this.selectedCalendar = this.fb.group({\n year: [],\n month: [],\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (\n changes.activeCalendar &&\n !changes.activeCalendar.isFirstChange() &&\n changes.activeCalendar.currentValue.valueOf() !==\n this.selectedCalendar.value.id\n ) {\n this.selectedCalendar.patchValue(changes.activeCalendar.currentValue)\n }\n }\n\n ngOnInit() {\n // populate drowdowns and labels with data\n this.monthArray = getMonthArray()\n this.yearArray = getYearArray()\n\n // subscribe to year and month changes, and emit event to datepicker\n this.subscribeToFormChanges()\n\n // update control to initial value\n if (this.activeCalendar)\n this.selectedCalendar.patchValue(this.activeCalendar)\n }\n\n ngOnDestroy() {\n this.subs.forEach((sub) => sub.unsubscribe())\n }\n\n viewPreviousMonth() {\n const previousMonth = CalendarMonth.fromObject(\n this.selectedCalendar.value,\n ).previousMonth()\n this.selectedCalendar.patchValue(previousMonth)\n }\n\n viewNextMonth() {\n const nextMonth = CalendarMonth.fromObject(\n this.selectedCalendar.value,\n ).nextMonth()\n this.selectedCalendar.patchValue(nextMonth)\n }\n\n viewPreviousYear() {\n const previousYear = CalendarMonth.fromObject(\n this.selectedCalendar.value,\n ).previousYear()\n this.selectedCalendar.patchValue(previousYear)\n }\n\n viewNextYear() {\n const nextYear = CalendarMonth.fromObject(\n this.selectedCalendar.value,\n ).nextYear()\n this.selectedCalendar.patchValue(nextYear)\n }\n\n @HostListener('keydown', ['$event'])\n keyNavigation(event: KeyboardEvent): void {\n if (event.key !== 'PageUp' && event.key !== 'PageDown') return\n event.preventDefault()\n if (event.shiftKey) {\n if (event.key === 'PageUp') return this.viewPreviousYear()\n if (event.key === 'PageDown') return this.viewNextYear()\n }\n if (event.key === 'PageUp') return this.viewPreviousMonth()\n if (event.key === 'PageDown') return this.viewNextMonth()\n }\n\n private subscribeToFormChanges(): void {\n // used to quickly check if the yearsArray needs years appended to it\n let existingYears = this.yearArray.map((e) => e.getFullYear())\n const changes = this.selectedCalendar.valueChanges.pipe(\n debounceTime(1), // added due to this issue: https://github.com/angular/angular/issues/13129\n map((value: { year: number; month: number }) =>\n CalendarMonth.fromObject(value),\n ),\n distinctUntilChanged(\n (prev: CalendarMonth, curr: CalendarMonth) =>\n prev.valueOf() === curr.valueOf(),\n ),\n )\n this.subs.push(\n changes.subscribe({\n next: (value: CalendarMonth) => {\n // if you need to append to year array\n if (existingYears.indexOf(value.year) === -1) {\n this.yearArray.push(value.date)\n this.yearArray.sort((a, b) => a.getFullYear() - b.getFullYear())\n existingYears = this.yearArray.map((e) => e.getFullYear())\n }\n this.calendarChange.emit(value)\n },\n }),\n )\n }\n}\n","<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"previous-month\"\n class=\"nggv-prev-button\"\n (click)=\"viewPreviousMonth()\"\n>\n <gds-icon-chevron-left *nggCoreElement></gds-icon-chevron-left>\n</button>\n\n<ng-container [formGroup]=\"selectedCalendar\">\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-month\"\n formControlName=\"month\"\n >\n <option\n *ngFor=\"let month of monthArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"month.getMonth()\"\n >\n {{ month | date: 'MMMM' : undefined : locale }}\n </option>\n </select>\n\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-year\"\n formControlName=\"year\"\n >\n <option\n *ngFor=\"let year of yearArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"year.getFullYear()\"\n >\n {{ year | date: 'yyyy' : undefined : locale }}\n </option>\n </select>\n</ng-container>\n\n<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"next-month\"\n class=\"nggv-next-button\"\n (click)=\"viewNextMonth()\"\n>\n <gds-icon-chevron-right *nggCoreElement></gds-icon-chevron-right>\n</button>\n","// We must force tsc to interpret this file as a module, resolves\n// \"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.\"\nexport {}\n\ndeclare global {\n interface Window {\n /** Counter for unique identifiers */\n ngv: {\n ids: { [namespace: string]: number; default: number }\n nextId: (namespace?: string) => string\n }\n }\n}\n\n;(() => {\n // Make sure there is an incremental ID each component can use\n if (typeof window !== 'undefined' && !window.ngv) {\n window.ngv = {\n ids: { default: -1 },\n nextId(namespace = 'default'): string {\n let id = this.ids[namespace] || 0\n if (typeof this.ids[namespace] === 'number') id++\n this.ids[namespace] = id\n return namespace === 'default'\n ? `nggv-${id}`\n : `nggv-${namespace}-${id}`\n },\n }\n }\n})()\n","import { WeekDay } from '@angular/common'\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core'\nimport { Subscription } from 'rxjs'\n\nimport { CalendarMonth } from '../../datepicker.models'\nimport { getSortedWeekDays, isValid } from '../../datepicker.utils'\n\nimport type { CalendarType } from '../../datepicker.models'\n\n@Component({\n selector: 'nggv-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n})\nexport class DatepickerComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('calendarTemplate') calendarTemplate: TemplateRef<any> | null =\n null\n\n /** Emits a Date upon selection. */\n @Output() ngvDateChange = new EventEmitter<Date>()\n\n /** Sets first day of week in calendar. Defaults to Monday. */\n @Input() firstDayOfWeek: WeekDay = WeekDay.Monday\n /** Bank holidays. */\n @Input() disableDates: (string | Date)[] = []\n /** Other non selectable dates. */\n @Input() disableWeekDays: WeekDay[] = []\n /** Minimum number of calendar rows shown. */\n @Input() minCalendarRows = 5\n /** Initial date set as selected. */\n @Input() selected: Date | undefined\n /** Set locale for date format. */\n @Input() locale: string | undefined = 'en-US'\n /** Set type of calendar. */\n @Input() type: CalendarType = 'normal'\n /** Sets a from date of which all dates before will be invalid. */\n @Input() firstValid: Date | undefined\n /** Sets a to date of which all dates after will be invalid. */\n @Input() lastValid: Date | undefined\n /** Sets a closing time for today to toggle availability for today's date. */\n @Input() closingTime: Date | undefined\n\n /** @internal */\n activeCalendar!: CalendarMonth /* = new CalendarMonth(new Date()) */\n /** @internal */\n\n /** @internal */\n weekdayArray: Date[] = []\n\n /** @internal */\n disabledDatesForActiveMonth: Date[] = []\n\n private subs: Subscription[] = []\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes.selected &&\n !!changes.selected.currentValue &&\n !changes.selected.isFirstChange()\n ) {\n // set active calendar to match selected date\n const activeCalendar = new CalendarMonth(\n new Date(changes.selected.currentValue),\n )\n this.changeActiveCalendar(activeCalendar)\n }\n\n if (changes.disableDates && !changes.disableDates.isFirstChange()) {\n this.disabledDatesForActiveMonth = this.getDisabledDatesFor(\n this.activeCalendar,\n changes.disableDates.currentValue || [],\n )\n }\n }\n\n ngOnInit(): void {\n // initiate week label row\n this.weekdayArray = getSortedWeekDays(this.firstDayOfWeek)\n\n // initiate calendar\n const initDate =\n !!this.selected && isValid(this.selected)\n ? new Date(this.selected)\n : new Date()\n this.activeCalendar = new CalendarMonth(initDate)\n }\n\n ngOnDestroy() {\n this.subs.forEach((sub) => sub.unsubscribe())\n }\n\n /**\n * @internal\n * Update local calendar variable and changes displayed calendar.\n */\n changeActiveCalendar(calendar: CalendarMonth): void {\n this.activeCalendar = calendar\n this.disabledDatesForActiveMonth = this.getDisabledDatesFor(\n calendar,\n this.disableDates,\n )\n }\n\n /**\n * @internal\n * Returns a subset of all disabled dates.\n *\n * @param month current month to filter from\n * @param disableDates master list of all disabled dates\n * @returns a subset with current and adjacent months disabled dates\n */\n getDisabledDatesFor(\n calendar: CalendarMonth,\n disableDates?: (string | Date)[],\n ): Date[] {\n if (!disableDates) disableDates = []\n // sets month to target month\n const targetMonth = calendar.date\n\n // gets previous month from target month\n const previousMonth = calendar.previousMonth().date\n\n // gets next month from target month\n const nextMonth = calendar.nextMonth().date\n\n // checks if two dates are within the same year and month\n const withinSameMonth = (a: Date, b: Date): boolean =>\n a.getMonth() === b.getMonth() && a.getFullYear() === b.getFullYear()\n\n // filter out disabled dates for current and adjacent months\n return disableDates\n .map((d: Date | string) => new Date(d))\n .filter(\n (d: Date) =>\n withinSameMonth(d, previousMonth) ||\n withinSameMonth(d, targetMonth) ||\n withinSameMonth(d, nextMonth),\n )\n }\n\n /**\n * Handles date-clicks from calendar compoentn. Emits event or changes calendar.\n * @param date date clicked in calendar\n */\n dateClickHandler(date: Date): void {\n // if a date is clicked within the active month, emit date\n if (date.getMonth() === this.activeCalendar.month)\n return this.ngvDateChange.emit(date)\n // else, change active calendar to match the date clicked\n this.selected = date\n this.changeActiveCalendar(new CalendarMonth(date))\n }\n}\n","<!-- control for changing displayed calendar -->\n<nggv-calendar-control\n [activeCalendar]=\"activeCalendar\"\n [locale]=\"locale\"\n [type]=\"type\"\n (calendarChange)=\"changeActiveCalendar($event)\"\n>\n</nggv-calendar-control>\n\n<!-- label row for week -->\n<div class=\"nggv-weekday-row\">\n <span *ngFor=\"let weekday of weekdayArray\">{{\n weekday | date: 'EEE' : undefined : locale\n }}</span>\n</div>\n\n<!-- outlet for active calendar -->\n<div class=\"nggv-calendar-view-container\">\n <ng-container\n *ngTemplateOutlet=\"\n calendarTemplate;\n context: {\n calendar: activeCalendar,\n disableDates: disabledDatesForActiveMonth,\n }\n \"\n >\n </ng-container>\n</div>\n\n<div *ngIf=\"type === 'extended'\" class=\"gds-datepicker__controls\">\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #calendarTemplate\n let-calendar=\"calendar\"\n let-disableDates=\"disableDates\"\n>\n <nggv-calendar\n [year]=\"calendar.year\"\n [month]=\"calendar.month\"\n [type]=\"type\"\n [locale]=\"locale\"\n [disableDates]=\"disableDates\"\n [selected]=\"selected\"\n [lastValid]=\"lastValid\"\n [firstValid]=\"firstValid\"\n [closingTime]=\"closingTime\"\n [disableWeekDays]=\"disableWeekDays\"\n [minCalendarRows]=\"minCalendarRows\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n (dateClick)=\"dateClickHandler($event)\"\n >\n </nggv-calendar>\n</ng-template>\n","import '../../datepicker.globals'\n\nimport { WeekDay } from '@angular/common'\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core'\nimport { NgControl } from '@angular/forms'\n// import { faCalendarDays, IconDefinition } from '@fortawesome/pro-regular-svg-icons';\nimport {\n TRANSLOCO_SCOPE,\n TranslocoScope,\n TranslocoService,\n} from '@jsverse/transloco'\nimport { fromEvent, Observable, Subject } from 'rxjs'\nimport { startWith, takeUntil } from 'rxjs/operators'\n\nimport { DateControlValueAccessorComponent } from '../../date-control-value-accessor/date-control-value-accessor.component'\n\nimport type { CalendarType } from '../../datepicker.models'\n\nimport '@sebgroup/green-core/components/icon/icons/calendar.js'\nimport '@sebgroup/green-core/components/icon/icons/triangle-exclamation.js'\n\n/**\n * Date pickers simplify the task of selecting a date in a visual representation of a calendar.\n * https://designlibrary.sebgroup.com/components/component-datepicker\n *\n * Selector: `nggv-dateinput`\n *\n * When focusing an date element, the calendar allows for navigation using both tab and arrow keys.\n * Pressing 'esc' will close the calendar.\n *\n * Requires TranslocoLocale, but in turn allows for setting locale dynamically:\n * https://jsverse.github.io/transloco/docs/plugins/locale/#manually-setting-locale\n *\n * To configure TranslocoLocale, follow this guide:\n * https://jsverse.github.io/transloco/docs/plugins/locale/#setup\n */\n@Component({\n selector: 'nggv-dateinput,nggv-input[type=date]',\n templateUrl: './date-input.component.html',\n styleUrls: ['./date-input.component.scss'],\n})\nexport class DateInputComponent\n extends DateControlValueAccessorComponent\n implements OnDestroy\n{\n @ViewChild('toggleCalendarButton')\n toggleButtonRef?: ElementRef<HTMLButtonElement>\n /** Special property used for selecting DOM elements during automated UI testing. */\n @HostBinding('attr.data-thook') @Input() thook: string | null | undefined =\n 'date-input'\n /** Set type of calendar: either 'normal' or 'expanded'. Default is 'normal'. */\n @Input() type: CalendarType = 'normal'\n /** If set to true, the value will not be editable. */\n @Input() readonly = false\n /**\n * An array of Dates or parsable strings that corresponds with dates that should not be selectable in the calendar.\n * I.e. bank holidays.\n */\n @Input() disableDates: (string | Date)[] = []\n /**\n * An array of weekdays that should not be selectable in the calendar.\n * Can be used together with or instead of @Input() disableDates.\n */\n @Input() disableWeekDays: WeekDay[] = []\n /** Mininum number of rows shown in the calendar. */\n @Input() minRows = 5\n /** Sets a from-date of which all dates before will be invalid. */\n @Input() firstValid: Date | undefined\n /** Sets a to-date of which all dates after will be invalid. */\n @Input() lastValid: Date | undefined\n /** Sets a closing time for today to toggle availability for today's date. */\n @Input() closingTime: Date | undefined\n /** Sets first day of week in calendar. Defaults to Monday. */\n @Input() firstDayOfWeek: WeekDay = WeekDay.Monday\n /** If set to true, it will allow to close the calendar on escape button click. */\n @Input() closeCalendarOnEscape = true\n\n /** @internal */\n // calendarIcon: IconDefinition = faCalendarDays;\n\n /** @internal */\n shown = false\n\n /** @internal */\n showInput$ = this.showInputDateSrc.asObservable().pipe(startWith(true))\n\n /** Observable for listening to clicks outside of the datepicker. */\n private documentClick$: Observable<Event> = fromEvent(document, 'click')\n /** Subject used for unsubscribe pattern on above observable. */\n private datepickerClosed$ = new Subject<boolean>()\n\n constructor(\n @Self() @Optional() public ngControl: NgControl,\n @Optional()\n @Inject(TRANSLOCO_SCOPE)\n protected translocoScope: TranslocoScope,\n protected transloco: TranslocoService,\n protected elementRef: ElementRef,\n protected cdr: ChangeDetectorRef,\n ) {\n super(ngControl, translocoScope, elementRef, cdr, transloco)\n // this.showInput$ = this.showInputDateSrc.asObservable()\n }\n\n ngOnDestroy(): void {\n this.datepickerClosed$.next(true)\n this.datepickerClosed$.complete()\n }\n\n /**\n * @internal\n * Called from the datepicker-component when a date button is clicked in the calendar.\n *\n * @param date date object emitted when selecting a date in the datepicker.\n */\n onDateChange(date: Date): void {\n // control value accessor will ensure correct formatting of state\n this.state = DateControlValueAccessorComponent.parseDateLike(date)\n // emit state\n this.onChange(this.state)\n // close datepicker and move focus to datepicker button\n this.setShown(false)\n setTimeout(() => this.toggleButtonRef?.nativeElement.focus(), 1)\n }\n\n /**\n * @internal\n * Called when entering date manually in input field.\n */\n onValueChange(eventTarget: any): void {\n // Will be in the format selected in inputMask\n const value = `${eventTarget.inputmask.undoValue}` ?? ''\n\n // Use parserfunction from inputMask to parse to a date object since value can be in multiple formats\n // Then ontrol value accessor will ensure correct formatting of state\n const parsedDate = DateControlValueAccessorComponent.parseDateLike(\n this.dateInputMask.parser!(value),\n )\n\n this.state = parsedDate\n\n // emit parsed date\n this.onChange(parsedDate)\n this.onTouched()\n }\n\n /**\n * @internal\n * Listen to 'esc' keypress and closes datepicker if open.\n */\n @HostListener('keydown', ['$event'])\n keyListener(event: KeyboardEvent): void {\n if (this.closeCalendarOnEscape && event.key === 'Escape')\n this.setShown(false)\n }\n\n /** @internal */\n toggleDatepicker(): void {\n this.setShown(!this.shown)\n }\n\n /** To externally trigger the datepicker to close. */\n close(): void {\n this.setShown(false)\n }\n\n /**\n * Set the shown state of the datepicker popup. If true the popup will be visible.\n * If the state is set to false, call onTouched to notify any state listeners\n * @param state the shown state which to set.\n */\n private setShown(state = true): void {\n this.shown = state\n if (!this.shown) {\n // if shown is set to false, stop listening to clicks\n this.datepickerClosed$.next(true)\n return this.onTouched()\n }\n // if shown is set to true, reset unsubscribe variable\n this.datepickerClosed$.next(false)\n // start listening for clicks outside the component\n this.documentClick$.pipe(takeUntil(this.datepickerClosed$)).subscribe({\n next: (event: Event) => {\n // clicking on a gray date causes the datepicker to reload the calendar dates,\n // and the button element clicked will no longer be considered as a child of the datepicker.\n // but the event target path will still contain the parent element\n // if target has datepicker parent, keep listening\n const eventPath = event.composedPath()\n const hasDatepickerParent = !!eventPath.find(\n (e) => e === this.elementRef.nativeElement,\n )\n if (hasDatepickerParent) return\n // else the click is considered to be outside, close datepicker\n return this.setShown(false)\n },\n })\n }\n}\n","<!-- LABEL -->\n<ng-container *transloco=\"let t; read: scope\">\n <label\n [id]=\"id + '-label'\"\n class=\"gds-field-label hide-if-empty\"\n [attr.for]=\"id + '-input'\"\n >\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"gds-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n </label>\n\n <!-- DESCRIPTION -->\n <div class=\"gds-field-label--small description hide-if-empty\">\n {{ description }}\n </div>\n\n <!-- LOCKED INPUT -->\n <ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-input'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n {{ state | nggvInputMaskFormat: dateInputMask }}\n </ng-container>\n </div>\n </ng-container>\n\n <!-- INPUT WRAPPER -->\n <ng-container *ngIf=\"!locked\">\n <div class=\"field-wrap\" *ngIf=\"showInput$ | async\">\n <!-- INPUT FIELD -->\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"nggv-field-date\"\n [class.nggv-field--error]=\"invalid\"\n type=\"text\"\n autocomplete=\"off\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [disabled]=\"disabled\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [nggvInputMask]=\"dateInputMask\"\n [value]=\"state\"\n title=\"\"\n (change)=\"onValueChange($event.target)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n\n <button\n aria-label=\"toggle calendar\"\n #toggleCalendarButton\n class=\"nggv-button-date\"\n [class.nggv-field--error]=\"invalid\"\n type=\"button\"\n data-thook=\"toggle-calendar-button\"\n (click)=\"toggleDatepicker()\"\n [disabled]=\"disabled\"\n >\n <gds-icon-calendar\n *nggCoreElement\n width=\"20\"\n height=\"20\"\n ></gds-icon-calendar>\n </button>\n </div>\n\n <!-- DATEPICKER -->\n <div class=\"nggv-datepicker\" *ngIf=\"shown\">\n <nggv-datepicker\n #input\n [type]=\"type\"\n [disableDates]=\"disableDates\"\n [disableWeekDays]=\"disableWeekDays\"\n [selected]=\"state\"\n [locale]=\"locale\"\n [minCalendarRows]=\"minRows\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [firstValid]=\"firstValid\"\n [lastValid]=\"lastValid\"\n [closingTime]=\"closingTime\"\n (ngvDateChange)=\"onDateChange($event)\"\n >\n <ng-content></ng-content>\n </nggv-datepicker>\n </div>\n\n <!-- ERRORS -->\n <ng-container\n *ngIf=\"\n invalid &&\n (error || ngControl?.invalid) &&\n (!errorList || !errorList.length)\n \"\n >\n <label\n class=\"gds-field-notice gds-field-notice--error\"\n [attr.for]=\"id + '-input'\"\n >\n <span class=\"error-item\">\n <span class=\"error-item--icon\" *ngIf=\"withErrorIcon\">\n <gds-icon-triangle-exclamation\n *nggCoreElement\n width=\"20\"\n height=\"20\"\n ></gds-icon-triangle-exclamation>\n </span>\n <span\n *ngIf=\"error; else errorsRef\"\n class=\"error-item--text\"\n [attr.data-thook]=\"thook + '-errorlabel'\"\n >{{ error }}</span\n >\n <ng-template #errorsRef>\n <span\n *ngIf=\"firstError as error\"\n class=\"error-item--text\"\n [attr.data-thook]=\"thook + '-errorlabel'\"\n >\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n </label>\n </ng-container>\n\n <ng-container *ngFor=\"let error of errorList ?? []\">\n <label\n class=\"gds-field-notice gds-field-notice--error\"\n [attr.for]=\"id + '-input'\"\n *ngIf=\"invalid && error\"\n >\n <span class=\"error-item\">\n <span class=\"error-item--icon\" *ngIf=\"withErrorIcon\">\n <gds-icon-triangle-exclamation\n *nggCoreElement\n width=\"20\"\n height=\"20\"\n ></gds-icon-triangle-exclamation>\n </span>\n <span\n class=\"error-item--text\"\n [attr.data-thook]=\"thook + '-errorlabel'\"\n >{{ error }}</span\n >\n </span>\n </label>\n </ng-container>\n </ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { TranslocoModule } from '@jsverse/transloco'\n\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\nimport { NggvInputMaskModule } from '@sebgroup/green-angular/src/v-angular/input-mask'\nimport { CalendarControlComponent } from './components/calendar-control/calendar-control.component'\nimport { CalendarComponent } from './components/calendar/calendar.component'\nimport { DateInputComponent } from './components/date-input/date-input.component'\nimport { DatepickerComponent } from './components/datepicker/datepicker.component'\nimport { CalendarDateDirective } from './directives/calendar-date.directive'\nimport { DateThookPipe } from './pipes/date-thook.pipe'\nimport { IsDisabledPipe } from './pipes/is-disabled.pipe'\nimport { MatchesPipe } from './pipes/matches.pipe'\n\n@NgModule({\n declarations: [\n CalendarComponent,\n CalendarDateDirective,\n IsDisabledPipe,\n DateThookPipe,\n CalendarControlComponent,\n DatepickerComponent,\n DateInputComponent,\n MatchesPipe,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslocoModule,\n NggvInputMaskModule,\n NggCoreWrapperModule,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n exports: [DateInputComponent, DatepickerComponent],\n})\nexport class NggvDatepickerModule {}\n","/*\n * Public API Surface of date-picker\n */\nexport * from './date-control-value-accessor/date-control-value-accessor.component'\nexport * from './components/calendar/calendar.component'\nexport * from './components/calendar-control/calendar-control.component'\nexport * from './components/date-input/date-input.component'\nexport * from './components/datepicker/datepicker.component'\nexport * from './directives/calendar-date.directive'\nexport * from './pipes/is-disabled.pipe'\nexport * from './pipes/matches.pipe'\nexport * from './models/dates'\nexport * from './datepicker.models'\nexport * from './datepicker.globals'\nexport * from './datepicker.module'\nexport * from './datepicker.utils'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.CalendarDateDirective","i3.IsDisabledPipe","i4.DateThookPipe","i5.MatchesPipe","i2","i2.CalendarComponent","i3.CalendarControlComponent","i3","i5","i6.DatepickerComponent"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA;;;;AAIG;MACU,iBAAiB,GAAG,CAC/B,cAA+B,EAC/B,MAAe,KACW;;AAE1B,IAAA,IAAI,CAAC,MAAM;AAAE,QAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAA;IAExC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;AAExD,IAAA,OAAO,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAClD,EAAC;AAEY,MAAA,mBAAmB,GAAG,CAAC,MAAe,KACjD,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,aAAY;AACpE,MAAM,WAAW,GAA2B;AAC1C,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,YAAY;AACtB,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"}