@sebgroup/green-angular 6.8.0 → 7.0.0-rc.20251125130141487

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 (516) hide show
  1. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +13 -13
  2. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
  3. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs +9 -8
  4. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -1
  5. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs +9 -8
  6. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +1 -1
  7. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs +17 -15
  8. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
  9. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +9 -9
  10. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
  11. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +9 -9
  12. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
  13. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +17 -15
  14. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
  15. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs +9 -9
  16. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
  17. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +30 -28
  18. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -1
  19. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs +9 -9
  20. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
  21. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs +9 -9
  22. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
  23. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs +9 -9
  24. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -1
  25. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +43 -38
  26. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
  27. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs +9 -9
  28. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
  29. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +9 -9
  30. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
  31. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs +7 -7
  32. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs.map +1 -1
  33. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +9 -9
  34. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -1
  35. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +13 -10
  36. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -1
  37. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +9 -9
  38. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -1
  39. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +9 -9
  40. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -1
  41. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +8 -8
  42. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -1
  43. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +9 -8
  44. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -1
  45. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +9 -9
  46. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -1
  47. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +3 -3
  48. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -1
  49. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs +52 -43
  50. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs.map +1 -1
  51. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs +19 -16
  52. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs.map +1 -1
  53. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +32 -32
  54. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
  55. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +9 -8
  56. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -1
  57. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +19 -16
  58. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -1
  59. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +9 -9
  60. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -1
  61. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +13 -11
  62. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -1
  63. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +9 -9
  64. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
  65. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +22 -21
  66. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
  67. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs +9 -9
  68. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs.map +1 -1
  69. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +16 -16
  70. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -1
  71. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +8 -7
  72. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -1
  73. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +28 -24
  74. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +1 -1
  75. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs +13 -12
  76. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs.map +1 -1
  77. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +9 -9
  78. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
  79. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs +12 -12
  80. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs.map +1 -1
  81. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +9 -8
  82. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -1
  83. package/fesm2022/sebgroup-green-angular-v-angular.mjs +347 -317
  84. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
  85. package/fesm2022/sebgroup-green-angular.mjs +201 -188
  86. package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
  87. package/package.json +8 -94
  88. package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +1 -1
  89. package/src/v-angular/drag-drop/drag-drop.component.d.ts +3 -3
  90. package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +1 -1
  91. package/v-angular/drag-drop/drag-drop.component.d.ts +3 -3
  92. package/esm2022/index.mjs +0 -18
  93. package/esm2022/lib/accordion/accordion-list-item.component.mjs +0 -50
  94. package/esm2022/lib/accordion/accordion.component.mjs +0 -77
  95. package/esm2022/lib/accordion/accordion.module.mjs +0 -24
  96. package/esm2022/lib/accordion/index.mjs +0 -4
  97. package/esm2022/lib/badge/badge.component.mjs +0 -85
  98. package/esm2022/lib/badge/badge.module.mjs +0 -23
  99. package/esm2022/lib/badge/index.mjs +0 -3
  100. package/esm2022/lib/button/button.component.mjs +0 -28
  101. package/esm2022/lib/button/button.module.mjs +0 -18
  102. package/esm2022/lib/button/index.mjs +0 -3
  103. package/esm2022/lib/cell-table/cell-table-item.component.mjs +0 -91
  104. package/esm2022/lib/cell-table/cell-table.component.mjs +0 -97
  105. package/esm2022/lib/cell-table/cell-table.module.mjs +0 -26
  106. package/esm2022/lib/cell-table/cell-table.types.mjs +0 -7
  107. package/esm2022/lib/cell-table/cell-underline.directive.mjs +0 -55
  108. package/esm2022/lib/cell-table/index.mjs +0 -4
  109. package/esm2022/lib/context-menu/context-menu.component.mjs +0 -79
  110. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -37
  111. package/esm2022/lib/context-menu/index.mjs +0 -3
  112. package/esm2022/lib/datepicker/datepicker.component.mjs +0 -144
  113. package/esm2022/lib/datepicker/datepicker.module.mjs +0 -37
  114. package/esm2022/lib/datepicker/index.mjs +0 -3
  115. package/esm2022/lib/dropdown/dropdown-button.directive.mjs +0 -16
  116. package/esm2022/lib/dropdown/dropdown-option.directive.mjs +0 -16
  117. package/esm2022/lib/dropdown/dropdown.component.mjs +0 -248
  118. package/esm2022/lib/dropdown/dropdown.module.mjs +0 -51
  119. package/esm2022/lib/dropdown/index.mjs +0 -5
  120. package/esm2022/lib/green-angular.module.mjs +0 -72
  121. package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +0 -61
  122. package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +0 -18
  123. package/esm2022/lib/in-page-wizard/index.mjs +0 -3
  124. package/esm2022/lib/modal/index.mjs +0 -5
  125. package/esm2022/lib/modal/modal-footer.directive.mjs +0 -16
  126. package/esm2022/lib/modal/modal-header.directive.mjs +0 -16
  127. package/esm2022/lib/modal/modal.component.mjs +0 -317
  128. package/esm2022/lib/modal/modal.module.mjs +0 -44
  129. package/esm2022/lib/pagination/index.mjs +0 -3
  130. package/esm2022/lib/pagination/pagination.component.mjs +0 -175
  131. package/esm2022/lib/pagination/pagination.module.mjs +0 -18
  132. package/esm2022/lib/progress-circle/index.mjs +0 -3
  133. package/esm2022/lib/progress-circle/progress-circle.component.mjs +0 -41
  134. package/esm2022/lib/progress-circle/progress-circle.module.mjs +0 -18
  135. package/esm2022/lib/segmented-control/index.mjs +0 -3
  136. package/esm2022/lib/segmented-control/segmented-control.component.mjs +0 -38
  137. package/esm2022/lib/segmented-control/segmented-control.module.mjs +0 -22
  138. package/esm2022/lib/shared/core-control/core-checkbox.directive.mjs +0 -39
  139. package/esm2022/lib/shared/core-control/core-control.directive.mjs +0 -94
  140. package/esm2022/lib/shared/core-control/core-control.module.mjs +0 -20
  141. package/esm2022/lib/shared/core-control/index.mjs +0 -4
  142. package/esm2022/lib/shared/core-element/core-element.directive.mjs +0 -34
  143. package/esm2022/lib/shared/core-element/core-element.module.mjs +0 -18
  144. package/esm2022/lib/shared/core-element/index.mjs +0 -3
  145. package/esm2022/lib/shared/core-renderer/core-renderer.mjs +0 -152
  146. package/esm2022/lib/shared/core-renderer/index.mjs +0 -2
  147. package/esm2022/lib/shared/core-router-link/core-router-link.directive.mjs +0 -53
  148. package/esm2022/lib/shared/core-router-link/core-router-link.module.mjs +0 -16
  149. package/esm2022/lib/shared/core-router-link/index.mjs +0 -3
  150. package/esm2022/lib/shared/index.mjs +0 -7
  151. package/esm2022/lib/shared/on-scroll.directive.mjs +0 -47
  152. package/esm2022/lib/shared/scope-resolver.mjs +0 -9
  153. package/esm2022/lib/shared/shared.module.mjs +0 -19
  154. package/esm2022/lib/slider/index.mjs +0 -3
  155. package/esm2022/lib/slider/slider.component.mjs +0 -116
  156. package/esm2022/lib/slider/slider.module.mjs +0 -19
  157. package/esm2022/lib/sortable-list/index.mjs +0 -3
  158. package/esm2022/lib/sortable-list/sortable-list.component.mjs +0 -181
  159. package/esm2022/lib/sortable-list/sortable-list.module.mjs +0 -20
  160. package/esm2022/sebgroup-green-angular.mjs +0 -5
  161. package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +0 -50
  162. package/esm2022/src/lib/accordion/accordion.component.mjs +0 -77
  163. package/esm2022/src/lib/accordion/accordion.module.mjs +0 -24
  164. package/esm2022/src/lib/accordion/index.mjs +0 -4
  165. package/esm2022/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +0 -5
  166. package/esm2022/src/lib/badge/badge.component.mjs +0 -85
  167. package/esm2022/src/lib/badge/badge.module.mjs +0 -23
  168. package/esm2022/src/lib/badge/index.mjs +0 -3
  169. package/esm2022/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +0 -5
  170. package/esm2022/src/lib/button/button.component.mjs +0 -28
  171. package/esm2022/src/lib/button/button.module.mjs +0 -18
  172. package/esm2022/src/lib/button/index.mjs +0 -3
  173. package/esm2022/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +0 -5
  174. package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +0 -91
  175. package/esm2022/src/lib/cell-table/cell-table.component.mjs +0 -97
  176. package/esm2022/src/lib/cell-table/cell-table.module.mjs +0 -26
  177. package/esm2022/src/lib/cell-table/cell-table.types.mjs +0 -7
  178. package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +0 -55
  179. package/esm2022/src/lib/cell-table/index.mjs +0 -4
  180. package/esm2022/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +0 -5
  181. package/esm2022/src/lib/context-menu/context-menu.component.mjs +0 -79
  182. package/esm2022/src/lib/context-menu/context-menu.module.mjs +0 -37
  183. package/esm2022/src/lib/context-menu/index.mjs +0 -3
  184. package/esm2022/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +0 -5
  185. package/esm2022/src/lib/datepicker/datepicker.component.mjs +0 -144
  186. package/esm2022/src/lib/datepicker/datepicker.module.mjs +0 -37
  187. package/esm2022/src/lib/datepicker/index.mjs +0 -3
  188. package/esm2022/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +0 -5
  189. package/esm2022/src/lib/dropdown/dropdown-button.directive.mjs +0 -16
  190. package/esm2022/src/lib/dropdown/dropdown-option.directive.mjs +0 -16
  191. package/esm2022/src/lib/dropdown/dropdown.component.mjs +0 -248
  192. package/esm2022/src/lib/dropdown/dropdown.module.mjs +0 -51
  193. package/esm2022/src/lib/dropdown/index.mjs +0 -5
  194. package/esm2022/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +0 -5
  195. package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +0 -61
  196. package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +0 -18
  197. package/esm2022/src/lib/in-page-wizard/index.mjs +0 -3
  198. package/esm2022/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -5
  199. package/esm2022/src/lib/modal/index.mjs +0 -5
  200. package/esm2022/src/lib/modal/modal-footer.directive.mjs +0 -16
  201. package/esm2022/src/lib/modal/modal-header.directive.mjs +0 -16
  202. package/esm2022/src/lib/modal/modal.component.mjs +0 -317
  203. package/esm2022/src/lib/modal/modal.module.mjs +0 -44
  204. package/esm2022/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +0 -5
  205. package/esm2022/src/lib/pagination/index.mjs +0 -3
  206. package/esm2022/src/lib/pagination/pagination.component.mjs +0 -175
  207. package/esm2022/src/lib/pagination/pagination.module.mjs +0 -18
  208. package/esm2022/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +0 -5
  209. package/esm2022/src/lib/progress-circle/index.mjs +0 -3
  210. package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +0 -41
  211. package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +0 -18
  212. package/esm2022/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -5
  213. package/esm2022/src/lib/segmented-control/index.mjs +0 -3
  214. package/esm2022/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -5
  215. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +0 -38
  216. package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +0 -22
  217. package/esm2022/src/lib/shared/core-control/core-checkbox.directive.mjs +0 -39
  218. package/esm2022/src/lib/shared/core-control/core-control.directive.mjs +0 -94
  219. package/esm2022/src/lib/shared/core-control/core-control.module.mjs +0 -20
  220. package/esm2022/src/lib/shared/core-control/index.mjs +0 -4
  221. package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +0 -34
  222. package/esm2022/src/lib/shared/core-element/core-element.module.mjs +0 -18
  223. package/esm2022/src/lib/shared/core-element/index.mjs +0 -3
  224. package/esm2022/src/lib/shared/core-renderer/core-renderer.mjs +0 -152
  225. package/esm2022/src/lib/shared/core-renderer/index.mjs +0 -2
  226. package/esm2022/src/lib/shared/core-router-link/core-router-link.directive.mjs +0 -53
  227. package/esm2022/src/lib/shared/core-router-link/core-router-link.module.mjs +0 -16
  228. package/esm2022/src/lib/shared/core-router-link/index.mjs +0 -3
  229. package/esm2022/src/lib/shared/index.mjs +0 -7
  230. package/esm2022/src/lib/shared/on-scroll.directive.mjs +0 -47
  231. package/esm2022/src/lib/shared/scope-resolver.mjs +0 -9
  232. package/esm2022/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +0 -5
  233. package/esm2022/src/lib/shared/shared.module.mjs +0 -19
  234. package/esm2022/src/lib/slider/index.mjs +0 -3
  235. package/esm2022/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +0 -5
  236. package/esm2022/src/lib/slider/slider.component.mjs +0 -116
  237. package/esm2022/src/lib/slider/slider.module.mjs +0 -19
  238. package/esm2022/src/lib/sortable-list/index.mjs +0 -3
  239. package/esm2022/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -5
  240. package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +0 -181
  241. package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +0 -20
  242. package/esm2022/src/v-angular/account-number/account-number.module.mjs +0 -18
  243. package/esm2022/src/v-angular/account-number/account-number.pipe.mjs +0 -55
  244. package/esm2022/src/v-angular/account-number/index.mjs +0 -3
  245. package/esm2022/src/v-angular/account-number/sebgroup-green-angular-src-v-angular-account-number.mjs +0 -5
  246. package/esm2022/src/v-angular/alert/alert.component.mjs +0 -49
  247. package/esm2022/src/v-angular/alert/alert.models.mjs +0 -8
  248. package/esm2022/src/v-angular/alert/alert.module.mjs +0 -18
  249. package/esm2022/src/v-angular/alert/index.mjs +0 -4
  250. package/esm2022/src/v-angular/alert/sebgroup-green-angular-src-v-angular-alert.mjs +0 -5
  251. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +0 -300
  252. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +0 -17
  253. package/esm2022/src/v-angular/base-control-value-accessor/index.mjs +0 -3
  254. package/esm2022/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +0 -5
  255. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +0 -25
  256. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +0 -20
  257. package/esm2022/src/v-angular/breadcrumbs/index.mjs +0 -3
  258. package/esm2022/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +0 -5
  259. package/esm2022/src/v-angular/button/button.component.mjs +0 -108
  260. package/esm2022/src/v-angular/button/button.module.mjs +0 -20
  261. package/esm2022/src/v-angular/button/index.mjs +0 -3
  262. package/esm2022/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.mjs +0 -5
  263. package/esm2022/src/v-angular/card/card.component.mjs +0 -11
  264. package/esm2022/src/v-angular/card/card.module.mjs +0 -18
  265. package/esm2022/src/v-angular/card/index.mjs +0 -3
  266. package/esm2022/src/v-angular/card/sebgroup-green-angular-src-v-angular-card.mjs +0 -5
  267. package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +0 -51
  268. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +0 -18
  269. package/esm2022/src/v-angular/character-countdown/index.mjs +0 -3
  270. package/esm2022/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.mjs +0 -5
  271. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +0 -94
  272. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +0 -21
  273. package/esm2022/src/v-angular/checkbox/index.mjs +0 -3
  274. package/esm2022/src/v-angular/checkbox/sebgroup-green-angular-src-v-angular-checkbox.mjs +0 -5
  275. package/esm2022/src/v-angular/core/core.globals.mjs +0 -20
  276. package/esm2022/src/v-angular/core/core.utils.mjs +0 -62
  277. package/esm2022/src/v-angular/core/index.mjs +0 -3
  278. package/esm2022/src/v-angular/core/sebgroup-green-angular-src-v-angular-core.mjs +0 -5
  279. package/esm2022/src/v-angular/datepicker/components/calendar/calendar.component.mjs +0 -200
  280. package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +0 -115
  281. package/esm2022/src/v-angular/datepicker/components/date-input/date-input.component.mjs +0 -238
  282. package/esm2022/src/v-angular/datepicker/components/datepicker/datepicker.component.mjs +0 -192
  283. package/esm2022/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +0 -411
  284. package/esm2022/src/v-angular/datepicker/datepicker.globals.mjs +0 -20
  285. package/esm2022/src/v-angular/datepicker/datepicker.models.mjs +0 -56
  286. package/esm2022/src/v-angular/datepicker/datepicker.module.mjs +0 -63
  287. package/esm2022/src/v-angular/datepicker/datepicker.utils.mjs +0 -196
  288. package/esm2022/src/v-angular/datepicker/directives/calendar-date.directive.mjs +0 -47
  289. package/esm2022/src/v-angular/datepicker/index.mjs +0 -17
  290. package/esm2022/src/v-angular/datepicker/models/dates.mjs +0 -291
  291. package/esm2022/src/v-angular/datepicker/pipes/date-thook.pipe.mjs +0 -30
  292. package/esm2022/src/v-angular/datepicker/pipes/is-disabled.pipe.mjs +0 -37
  293. package/esm2022/src/v-angular/datepicker/pipes/matches.pipe.mjs +0 -17
  294. package/esm2022/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.mjs +0 -5
  295. package/esm2022/src/v-angular/drag-drop/drag-drop.component.mjs +0 -497
  296. package/esm2022/src/v-angular/drag-drop/drag-drop.models.mjs +0 -2
  297. package/esm2022/src/v-angular/drag-drop/drag-drop.module.mjs +0 -49
  298. package/esm2022/src/v-angular/drag-drop/drag-drop.pipes.mjs +0 -70
  299. package/esm2022/src/v-angular/drag-drop/drag-drop.utils.mjs +0 -76
  300. package/esm2022/src/v-angular/drag-drop/index.mjs +0 -5
  301. package/esm2022/src/v-angular/drag-drop/sebgroup-green-angular-src-v-angular-drag-drop.mjs +0 -5
  302. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +0 -380
  303. package/esm2022/src/v-angular/dropdown/dropdown-list/index.mjs +0 -2
  304. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +0 -303
  305. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +0 -38
  306. package/esm2022/src/v-angular/dropdown/index.mjs +0 -6
  307. package/esm2022/src/v-angular/dropdown/sebgroup-green-angular-src-v-angular-dropdown.mjs +0 -5
  308. package/esm2022/src/v-angular/dropdown/typeahead/index.mjs +0 -6
  309. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +0 -110
  310. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +0 -85
  311. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +0 -138
  312. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +0 -186
  313. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +0 -33
  314. package/esm2022/src/v-angular/external-link/external-link.directive.mjs +0 -37
  315. package/esm2022/src/v-angular/external-link/external-link.module.mjs +0 -18
  316. package/esm2022/src/v-angular/external-link/index.mjs +0 -3
  317. package/esm2022/src/v-angular/external-link/sebgroup-green-angular-src-v-angular-external-link.mjs +0 -5
  318. package/esm2022/src/v-angular/i18n/i18n.json +0 -13
  319. package/esm2022/src/v-angular/i18n/i18n.module.mjs +0 -89
  320. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +0 -89
  321. package/esm2022/src/v-angular/i18n/index.mjs +0 -3
  322. package/esm2022/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.mjs +0 -5
  323. package/esm2022/src/v-angular/info-circle/index.mjs +0 -3
  324. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +0 -28
  325. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +0 -21
  326. package/esm2022/src/v-angular/info-circle/sebgroup-green-angular-src-v-angular-info-circle.mjs +0 -5
  327. package/esm2022/src/v-angular/input/index.mjs +0 -3
  328. package/esm2022/src/v-angular/input/input.component.mjs +0 -248
  329. package/esm2022/src/v-angular/input/input.module.mjs +0 -41
  330. package/esm2022/src/v-angular/input/sebgroup-green-angular-src-v-angular-input.mjs +0 -5
  331. package/esm2022/src/v-angular/input-mask/config.mjs +0 -9
  332. package/esm2022/src/v-angular/input-mask/constants.mjs +0 -2
  333. package/esm2022/src/v-angular/input-mask/index.mjs +0 -6
  334. package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +0 -21
  335. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +0 -165
  336. package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +0 -35
  337. package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +0 -2
  338. package/esm2022/src/v-angular/input-mask/sebgroup-green-angular-src-v-angular-input-mask.mjs +0 -5
  339. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +0 -242
  340. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +0 -167
  341. package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +0 -19
  342. package/esm2022/src/v-angular/modal/fold-out/keyboard-key.enum.mjs +0 -10
  343. package/esm2022/src/v-angular/modal/index.mjs +0 -6
  344. package/esm2022/src/v-angular/modal/modal.globals.mjs +0 -20
  345. package/esm2022/src/v-angular/modal/modal.module.mjs +0 -53
  346. package/esm2022/src/v-angular/modal/modal.types.mjs +0 -2
  347. package/esm2022/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.mjs +0 -5
  348. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +0 -253
  349. package/esm2022/src/v-angular/pagination/index.mjs +0 -3
  350. package/esm2022/src/v-angular/pagination/pagination.component.mjs +0 -144
  351. package/esm2022/src/v-angular/pagination/pagination.module.mjs +0 -37
  352. package/esm2022/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.mjs +0 -5
  353. package/esm2022/src/v-angular/radio/index.mjs +0 -4
  354. package/esm2022/src/v-angular/radio/radio-group/radio-group.component.mjs +0 -86
  355. package/esm2022/src/v-angular/radio/radio.component.mjs +0 -153
  356. package/esm2022/src/v-angular/radio/radio.module.mjs +0 -22
  357. package/esm2022/src/v-angular/radio/sebgroup-green-angular-src-v-angular-radio.mjs +0 -5
  358. package/esm2022/src/v-angular/slug/index.mjs +0 -3
  359. package/esm2022/src/v-angular/slug/sebgroup-green-angular-src-v-angular-slug.mjs +0 -5
  360. package/esm2022/src/v-angular/slug/slug.module.mjs +0 -18
  361. package/esm2022/src/v-angular/slug/slug.pipe.mjs +0 -27
  362. package/esm2022/src/v-angular/table/index.mjs +0 -9
  363. package/esm2022/src/v-angular/table/sebgroup-green-angular-src-v-angular-table.mjs +0 -5
  364. package/esm2022/src/v-angular/table/table.component.mjs +0 -426
  365. package/esm2022/src/v-angular/table/table.directive.mjs +0 -110
  366. package/esm2022/src/v-angular/table/table.models.mjs +0 -2
  367. package/esm2022/src/v-angular/table/table.module.mjs +0 -40
  368. package/esm2022/src/v-angular/table/table.tools.mjs +0 -29
  369. package/esm2022/src/v-angular/table/tr-thook.pipe.mjs +0 -22
  370. package/esm2022/src/v-angular/tabs/index.mjs +0 -8
  371. package/esm2022/src/v-angular/tabs/sebgroup-green-angular-src-v-angular-tabs.mjs +0 -5
  372. package/esm2022/src/v-angular/tabs/tab.directive.mjs +0 -81
  373. package/esm2022/src/v-angular/tabs/tabs.component.mjs +0 -262
  374. package/esm2022/src/v-angular/tabs/tabs.models.mjs +0 -2
  375. package/esm2022/src/v-angular/tabs/tabs.module.mjs +0 -21
  376. package/esm2022/src/v-angular/textarea/index.mjs +0 -3
  377. package/esm2022/src/v-angular/textarea/sebgroup-green-angular-src-v-angular-textarea.mjs +0 -5
  378. package/esm2022/src/v-angular/textarea/textarea.component.mjs +0 -129
  379. package/esm2022/src/v-angular/textarea/textarea.module.mjs +0 -34
  380. package/esm2022/src/v-angular/toast/index.mjs +0 -8
  381. package/esm2022/src/v-angular/toast/sebgroup-green-angular-src-v-angular-toast.mjs +0 -5
  382. package/esm2022/src/v-angular/toast/toast-message.service.mjs +0 -82
  383. package/esm2022/src/v-angular/toast/toast.component.mjs +0 -66
  384. package/esm2022/src/v-angular/toast/toast.models.mjs +0 -8
  385. package/esm2022/src/v-angular/toast/toast.module.mjs +0 -21
  386. package/esm2022/src/v-angular/tooltip/index.mjs +0 -3
  387. package/esm2022/src/v-angular/tooltip/sebgroup-green-angular-src-v-angular-tooltip.mjs +0 -5
  388. package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +0 -293
  389. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +0 -18
  390. package/esm2022/src/v-angular/tooltip/tooltip.styles.mjs +0 -60
  391. package/esm2022/v-angular/account-number/account-number.module.mjs +0 -18
  392. package/esm2022/v-angular/account-number/account-number.pipe.mjs +0 -55
  393. package/esm2022/v-angular/account-number/index.mjs +0 -3
  394. package/esm2022/v-angular/alert/alert.component.mjs +0 -49
  395. package/esm2022/v-angular/alert/alert.models.mjs +0 -8
  396. package/esm2022/v-angular/alert/alert.module.mjs +0 -18
  397. package/esm2022/v-angular/alert/index.mjs +0 -4
  398. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +0 -300
  399. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +0 -17
  400. package/esm2022/v-angular/base-control-value-accessor/index.mjs +0 -3
  401. package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +0 -25
  402. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +0 -20
  403. package/esm2022/v-angular/breadcrumbs/index.mjs +0 -3
  404. package/esm2022/v-angular/button/button.component.mjs +0 -108
  405. package/esm2022/v-angular/button/button.module.mjs +0 -20
  406. package/esm2022/v-angular/button/index.mjs +0 -3
  407. package/esm2022/v-angular/card/card.component.mjs +0 -11
  408. package/esm2022/v-angular/card/card.module.mjs +0 -18
  409. package/esm2022/v-angular/card/index.mjs +0 -3
  410. package/esm2022/v-angular/character-countdown/character-countdown.directive.mjs +0 -51
  411. package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +0 -18
  412. package/esm2022/v-angular/character-countdown/index.mjs +0 -3
  413. package/esm2022/v-angular/checkbox/checkbox.component.mjs +0 -94
  414. package/esm2022/v-angular/checkbox/checkbox.module.mjs +0 -21
  415. package/esm2022/v-angular/checkbox/index.mjs +0 -3
  416. package/esm2022/v-angular/core/core.globals.mjs +0 -20
  417. package/esm2022/v-angular/core/core.utils.mjs +0 -62
  418. package/esm2022/v-angular/core/index.mjs +0 -3
  419. package/esm2022/v-angular/datepicker/components/calendar/calendar.component.mjs +0 -200
  420. package/esm2022/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +0 -115
  421. package/esm2022/v-angular/datepicker/components/date-input/date-input.component.mjs +0 -238
  422. package/esm2022/v-angular/datepicker/components/datepicker/datepicker.component.mjs +0 -192
  423. package/esm2022/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +0 -411
  424. package/esm2022/v-angular/datepicker/datepicker.globals.mjs +0 -20
  425. package/esm2022/v-angular/datepicker/datepicker.models.mjs +0 -56
  426. package/esm2022/v-angular/datepicker/datepicker.module.mjs +0 -63
  427. package/esm2022/v-angular/datepicker/datepicker.utils.mjs +0 -196
  428. package/esm2022/v-angular/datepicker/directives/calendar-date.directive.mjs +0 -47
  429. package/esm2022/v-angular/datepicker/index.mjs +0 -17
  430. package/esm2022/v-angular/datepicker/models/dates.mjs +0 -291
  431. package/esm2022/v-angular/datepicker/pipes/date-thook.pipe.mjs +0 -30
  432. package/esm2022/v-angular/datepicker/pipes/is-disabled.pipe.mjs +0 -37
  433. package/esm2022/v-angular/datepicker/pipes/matches.pipe.mjs +0 -17
  434. package/esm2022/v-angular/drag-drop/drag-drop.component.mjs +0 -497
  435. package/esm2022/v-angular/drag-drop/drag-drop.models.mjs +0 -2
  436. package/esm2022/v-angular/drag-drop/drag-drop.module.mjs +0 -49
  437. package/esm2022/v-angular/drag-drop/drag-drop.pipes.mjs +0 -70
  438. package/esm2022/v-angular/drag-drop/drag-drop.utils.mjs +0 -76
  439. package/esm2022/v-angular/drag-drop/index.mjs +0 -5
  440. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +0 -380
  441. package/esm2022/v-angular/dropdown/dropdown-list/index.mjs +0 -2
  442. package/esm2022/v-angular/dropdown/dropdown.component.mjs +0 -303
  443. package/esm2022/v-angular/dropdown/dropdown.module.mjs +0 -38
  444. package/esm2022/v-angular/dropdown/index.mjs +0 -6
  445. package/esm2022/v-angular/dropdown/typeahead/index.mjs +0 -6
  446. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +0 -110
  447. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +0 -85
  448. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +0 -138
  449. package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +0 -186
  450. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +0 -33
  451. package/esm2022/v-angular/external-link/external-link.directive.mjs +0 -37
  452. package/esm2022/v-angular/external-link/external-link.module.mjs +0 -18
  453. package/esm2022/v-angular/external-link/index.mjs +0 -3
  454. package/esm2022/v-angular/i18n/i18n.json +0 -13
  455. package/esm2022/v-angular/i18n/i18n.module.mjs +0 -89
  456. package/esm2022/v-angular/i18n/i18n.test.module.mjs +0 -89
  457. package/esm2022/v-angular/i18n/index.mjs +0 -3
  458. package/esm2022/v-angular/index.mjs +0 -29
  459. package/esm2022/v-angular/info-circle/index.mjs +0 -3
  460. package/esm2022/v-angular/info-circle/info-circle.component.mjs +0 -28
  461. package/esm2022/v-angular/info-circle/info-circle.module.mjs +0 -21
  462. package/esm2022/v-angular/input/index.mjs +0 -3
  463. package/esm2022/v-angular/input/input.component.mjs +0 -248
  464. package/esm2022/v-angular/input/input.module.mjs +0 -41
  465. package/esm2022/v-angular/input-mask/config.mjs +0 -9
  466. package/esm2022/v-angular/input-mask/constants.mjs +0 -2
  467. package/esm2022/v-angular/input-mask/index.mjs +0 -6
  468. package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +0 -21
  469. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +0 -165
  470. package/esm2022/v-angular/input-mask/input-mask.module.mjs +0 -35
  471. package/esm2022/v-angular/input-mask/input-mask.types.mjs +0 -2
  472. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +0 -242
  473. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +0 -167
  474. package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +0 -19
  475. package/esm2022/v-angular/modal/fold-out/keyboard-key.enum.mjs +0 -10
  476. package/esm2022/v-angular/modal/index.mjs +0 -6
  477. package/esm2022/v-angular/modal/modal.globals.mjs +0 -20
  478. package/esm2022/v-angular/modal/modal.module.mjs +0 -53
  479. package/esm2022/v-angular/modal/modal.types.mjs +0 -2
  480. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +0 -253
  481. package/esm2022/v-angular/pagination/index.mjs +0 -3
  482. package/esm2022/v-angular/pagination/pagination.component.mjs +0 -144
  483. package/esm2022/v-angular/pagination/pagination.module.mjs +0 -37
  484. package/esm2022/v-angular/radio/index.mjs +0 -4
  485. package/esm2022/v-angular/radio/radio-group/radio-group.component.mjs +0 -86
  486. package/esm2022/v-angular/radio/radio.component.mjs +0 -153
  487. package/esm2022/v-angular/radio/radio.module.mjs +0 -22
  488. package/esm2022/v-angular/sebgroup-green-angular-v-angular.mjs +0 -5
  489. package/esm2022/v-angular/slug/index.mjs +0 -3
  490. package/esm2022/v-angular/slug/slug.module.mjs +0 -18
  491. package/esm2022/v-angular/slug/slug.pipe.mjs +0 -27
  492. package/esm2022/v-angular/table/index.mjs +0 -9
  493. package/esm2022/v-angular/table/table.component.mjs +0 -426
  494. package/esm2022/v-angular/table/table.directive.mjs +0 -110
  495. package/esm2022/v-angular/table/table.models.mjs +0 -2
  496. package/esm2022/v-angular/table/table.module.mjs +0 -40
  497. package/esm2022/v-angular/table/table.tools.mjs +0 -29
  498. package/esm2022/v-angular/table/tr-thook.pipe.mjs +0 -22
  499. package/esm2022/v-angular/tabs/index.mjs +0 -8
  500. package/esm2022/v-angular/tabs/tab.directive.mjs +0 -81
  501. package/esm2022/v-angular/tabs/tabs.component.mjs +0 -262
  502. package/esm2022/v-angular/tabs/tabs.models.mjs +0 -2
  503. package/esm2022/v-angular/tabs/tabs.module.mjs +0 -21
  504. package/esm2022/v-angular/textarea/index.mjs +0 -3
  505. package/esm2022/v-angular/textarea/textarea.component.mjs +0 -129
  506. package/esm2022/v-angular/textarea/textarea.module.mjs +0 -34
  507. package/esm2022/v-angular/toast/index.mjs +0 -8
  508. package/esm2022/v-angular/toast/toast-message.service.mjs +0 -82
  509. package/esm2022/v-angular/toast/toast.component.mjs +0 -66
  510. package/esm2022/v-angular/toast/toast.models.mjs +0 -8
  511. package/esm2022/v-angular/toast/toast.module.mjs +0 -21
  512. package/esm2022/v-angular/tooltip/index.mjs +0 -3
  513. package/esm2022/v-angular/tooltip/tooltip.directive.mjs +0 -293
  514. package/esm2022/v-angular/tooltip/tooltip.module.mjs +0 -18
  515. package/esm2022/v-angular/tooltip/tooltip.styles.mjs +0 -60
  516. package/esm2022/v-angular/v-angular.module.mjs +0 -132
@@ -1,196 +0,0 @@
1
- import { WeekDay } from '@angular/common';
2
- const weekdays = [
3
- WeekDay.Monday,
4
- WeekDay.Tuesday,
5
- WeekDay.Wednesday,
6
- WeekDay.Thursday,
7
- WeekDay.Friday,
8
- WeekDay.Saturday,
9
- WeekDay.Sunday,
10
- ];
11
- export const sortWeekDays = (firstDayOfWeek) => {
12
- const firstDayIndex = weekdays.indexOf(firstDayOfWeek);
13
- const weekStart = weekdays.slice(firstDayIndex);
14
- const weekEnd = weekdays.slice(0, firstDayIndex);
15
- return weekStart.concat(weekEnd);
16
- };
17
- /** Sets labels and sort weekday arrays based off of first day of week. */
18
- export const getSortedWeekDays = (firstDayOfWeek, startDate) => {
19
- if (startDate === undefined)
20
- startDate = new Date();
21
- // sort weekdays according to firstDayOfWeek
22
- const sortedWeekdays = sortWeekDays(firstDayOfWeek);
23
- // get the date object for the first day of week
24
- const startDayIndex = sortedWeekdays.indexOf(startDate.getDay());
25
- const firstOfWeek = new Date(startDate);
26
- firstOfWeek.setDate(startDate.getDate() - startDayIndex);
27
- // map each day in array to a date object
28
- return sortedWeekdays.map((_, offset) => {
29
- // set appropriate date
30
- const weekdayDate = new Date(firstOfWeek);
31
- weekdayDate.setDate(weekdayDate.getDate() + offset);
32
- // and return value
33
- return weekdayDate;
34
- });
35
- };
36
- /** Generate a matrix of dates used to visualize a calendar month. */
37
- export const generateDateMatrix = (month, year, minWeeks = 5, firstDayOfWeek) => {
38
- // generate a new matrix with 5 or 6 rows (depending on number of days in that month)
39
- const matrix = new Array(minWeeks);
40
- matrix.fill([]);
41
- const monthStr = `${month + 1}`.padStart(2, '0');
42
- const date = new Date(`${year}-${monthStr}-01`);
43
- const firstDate = firstCalendarDate(date, firstDayOfWeek);
44
- // for each week in that month
45
- const dateMatrix = matrix.map((_, weekOffset) => {
46
- const offset = weekOffset * 7;
47
- // update the date with the offset for that week
48
- const firstOfWeek = new Date(firstDate);
49
- firstOfWeek.setDate(firstDate.getDate() + offset);
50
- return getSortedWeekDays(firstDayOfWeek, firstOfWeek);
51
- });
52
- // check if another row needs to be added (if last dates of month are missing)
53
- const lastAdded = dateMatrix.slice(-1)[0].slice(-1)[0];
54
- const lastOfMonth = new Date(lastAdded);
55
- lastOfMonth.setMonth(month + 1);
56
- lastOfMonth.setDate(0);
57
- if (isBefore(lastAdded, lastOfMonth)) {
58
- // add another week row
59
- const firstOfWeek = new Date(lastAdded);
60
- firstOfWeek.setDate(lastAdded.getDate() + 1);
61
- dateMatrix.push(getSortedWeekDays(firstDayOfWeek, firstOfWeek));
62
- }
63
- // return final datematrix
64
- return dateMatrix;
65
- };
66
- /** Returns the first date used in the calendars first button. */
67
- export const firstCalendarDate = (date, firstDayOfWeek) => {
68
- // sort weekdays according to firstDayOfWeek
69
- const sortedWeekdays = sortWeekDays(firstDayOfWeek);
70
- // set date to the first of month
71
- const firstOfMonth = new Date(date);
72
- firstOfMonth.setDate(1);
73
- // get the offset
74
- const offset = sortedWeekdays.indexOf(firstOfMonth.getDay());
75
- const firstOfWeek = new Date(firstOfMonth);
76
- // use offset to set date
77
- firstOfWeek.setDate(1 - offset);
78
- return firstOfWeek;
79
- };
80
- export const getDayOffset = (from, to, firstDayOfWeek, direction) => {
81
- const sortedWeekdays = sortWeekDays(firstDayOfWeek);
82
- const fromIndex = sortedWeekdays.indexOf(from);
83
- const toIndex = sortedWeekdays.indexOf(to);
84
- const offset = toIndex - fromIndex;
85
- if (direction === 'forward' && offset < 0)
86
- return offset + 6;
87
- if (direction === 'back' && offset > 0)
88
- return offset - 6;
89
- return offset;
90
- };
91
- /** Returns an array of Dates for each of month. */
92
- export const getMonthArray = () => {
93
- const firstDayOfYear = new Date();
94
- firstDayOfYear.setMonth(0);
95
- firstDayOfYear.setDate(1);
96
- // create a new array of length 12,
97
- // and fill it with date objects of 1:st of january
98
- const monthArray = new Array(12).fill(firstDayOfYear);
99
- // map through the array,
100
- // and create a new instance of the date,
101
- // changing the month based on index (0 - 11)
102
- return monthArray.map((d, index) => {
103
- const date = new Date(d);
104
- date.setMonth(index);
105
- return date;
106
- });
107
- };
108
- /** Returns an array of Dates for the current year and the next. */
109
- export const getYearArray = () => {
110
- const currentYear = new Date();
111
- currentYear.setMonth(0);
112
- currentYear.setDate(1);
113
- const nextYear = new Date(currentYear);
114
- nextYear.setFullYear(currentYear.getFullYear() + 1);
115
- return [currentYear, nextYear];
116
- };
117
- /** Returns true if the two dates have the same year, month and date values. */
118
- export const match = (a, b) => {
119
- if (!a || !b)
120
- return false;
121
- if (a.getDate() !== b.getDate())
122
- return false;
123
- if (a.getMonth() !== b.getMonth())
124
- return false;
125
- if (a.getFullYear() !== b.getFullYear())
126
- return false;
127
- return true;
128
- };
129
- export const afterClosingHours = (closingHours) => {
130
- if (!closingHours)
131
- return false;
132
- return Date.now() >= closingHours.getTime();
133
- };
134
- /**
135
- * Checks if a date is before control date, regardless of time.
136
- *
137
- * @param date - comparison date
138
- * @param controlDate - date to compare against
139
- * @returns - true if the comparison date is before the control date
140
- */
141
- export const isBefore = (date, controlDate) => {
142
- // if year values are dissimilar
143
- if (date.getFullYear() !== controlDate.getFullYear()) {
144
- return date.getFullYear() < controlDate.getFullYear();
145
- }
146
- // if month values are dissimilar
147
- if (date.getMonth() !== controlDate.getMonth()) {
148
- return date.getMonth() < controlDate.getMonth();
149
- }
150
- // if year and month are equal, check the date
151
- return date.getDate() < controlDate.getDate();
152
- };
153
- /**
154
- * Checks if a date is after control date, regardless of time.
155
- *
156
- * @param date - comparison date
157
- * @param controlDate - date to compare against
158
- * @returns - true if the comparison date is before the control date
159
- */
160
- export const isAfter = (date, controlDate) => {
161
- // if year values are dissimilar
162
- if (date.getFullYear() !== controlDate.getFullYear()) {
163
- return date.getFullYear() > controlDate.getFullYear();
164
- }
165
- // if month values are dissimilar
166
- if (date.getMonth() !== controlDate.getMonth()) {
167
- return date.getMonth() > controlDate.getMonth();
168
- }
169
- // if year and month are equal, check the date
170
- return date.getDate() > controlDate.getDate();
171
- };
172
- /**
173
- * Checks if a value can be used to initiate a new Date object.
174
- *
175
- * @param value any value
176
- * @returns - true if value can be coersed to a Date.
177
- */
178
- export const isValid = (value) => {
179
- // if value is type of string and can be parsed to a Date
180
- const date = value && typeof value === 'string' && !isNaN(Date.parse(value))
181
- ? new Date(value)
182
- : null;
183
- switch (true) {
184
- // if date or value is a valid date object - return valid
185
- case typeof value?.getMonth === 'function':
186
- case typeof date?.getMonth === 'function':
187
- return true;
188
- // if date or value is not a valid date object - return invalid
189
- case value == null:
190
- case date?.toString() === 'Invalid Date':
191
- return false;
192
- default:
193
- return false;
194
- }
195
- };
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFekMsTUFBTSxRQUFRLEdBQWM7SUFDMUIsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLE1BQU07Q0FDZixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsY0FBdUIsRUFBYSxFQUFFO0lBQ2pFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdEQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUMvQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNoRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDbEMsQ0FBQyxDQUFBO0FBRUQsMEVBQTBFO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLGNBQXVCLEVBQ3ZCLFNBQWdCLEVBQ1IsRUFBRTtJQUNWLElBQUksU0FBUyxLQUFLLFNBQVM7UUFBRSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUVuRCw0Q0FBNEM7SUFDNUMsTUFBTSxjQUFjLEdBQWMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRTlELGdEQUFnRDtJQUNoRCxN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QUN6RCxLQUFLLE9BQU8sS0FBSyxFQUFFLFFBQVEsS0FBSyxVQUFVLENBQUM7UUFDM0MsS0FBSyxPQUFPLElBQUksRUFBRSxRQUFRLEtBQUssVUFBVTtZQUN2QyxPQUFPLElBQUksQ0FBQTtRQUNiLCtEQUErRDtRQUMvRCxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDbkIsS0FBSyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssY0FBYztZQUN0QyxPQUFPLEtBQUssQ0FBQTtRQUNkO1lBQ0UsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlZWtEYXkgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbmNvbnN0IHdlZWtkYXlzOiBXZWVrRGF5W10gPSBbXG4gIFdlZWtEYXkuTW9uZGF5LFxuICBXZWVrRGF5LlR1ZXNkYXksXG4gIFdlZWtEYXkuV2VkbmVzZGF5LFxuICBXZWVrRGF5LlRodXJzZGF5LFxuICBXZWVrRGF5LkZyaWRheSxcbiAgV2Vla0RheS5TYXR1cmRheSxcbiAgV2Vla0RheS5TdW5kYXksXG5dXG5cbmV4cG9ydCBjb25zdCBzb3J0V2Vla0RheXMgPSAoZmlyc3REYXlPZldlZWs6IFdlZWtEYXkpOiBXZWVrRGF5W10gPT4ge1xuICBjb25zdCBmaXJzdERheUluZGV4ID0gd2Vla2RheXMuaW5kZXhPZihmaXJzdERheU9mV2VlaylcbiAgY29uc3Qgd2Vla1N0YXJ0ID0gd2Vla2RheXMuc2xpY2UoZmlyc3REYXlJbmRleClcbiAgY29uc3Qgd2Vla0VuZCA9IHdlZWtkYXlzLnNsaWNlKDAsIGZpcnN0RGF5SW5kZXgpXG4gIHJldHVybiB3ZWVrU3RhcnQuY29uY2F0KHdlZWtFbmQpXG59XG5cbi8qKiBTZXRzIGxhYmVscyBhbmQgc29ydCB3ZWVrZGF5IGFycmF5cyBiYXNlZCBvZmYgb2YgZmlyc3QgZGF5IG9mIHdlZWsuICovXG5leHBvcnQgY29uc3QgZ2V0U29ydGVkV2Vla0RheXMgPSAoXG4gIGZpcnN0RGF5T2ZXZWVrOiBXZWVrRGF5LFxuICBzdGFydERhdGU/OiBEYXRlLFxuKTogRGF0ZVtdID0+IHtcbiAgaWYgKHN0YXJ0RGF0ZSA9PT0gdW5kZWZpbmVkKSBzdGFydERhdGUgPSBuZXcgRGF0ZSgpXG5cbiAgLy8gc29ydCB3ZWVrZGF5cyBhY2NvcmRpbmcgdG8gZmlyc3REYXlPZldlZWtcbiAgY29uc3Qgc29ydGVkV2Vla2RheXM6IFdlZWtEYXlbXSA9IHNvcnRXZWVrRGF5cyhmaXJzdERheU9mV2VlaylcblxuICAvLyBnZXQgdGhlIGRhdGUgb2JqZWN0IGZvciB0aGUgZmlyc3QgZGF5IG9mIHdlZWtcbiAgY29uc3Qgc3RhcnREYXlJbmRleCA9IHNvcnRlZFdlZWtkYXlzLmluZGV4T2Yoc3RhcnREYXRlLmdldERheSgpKVxuICBjb25zdCBmaXJzdE9mV2VlayA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSlcbiAgZmlyc3RPZldlZWsuc2V0RGF0ZShzdGFydERhdGUuZ2V0RGF0ZSgpIC0gc3RhcnREYXlJbmRleClcblxuICAvLyBtYXAgZWFjaCBkYXkgaW4gYXJyYXkgdG8gYSBkYXRlIG9iamVjdFxuICByZXR1cm4gc29ydGVkV2Vla2RheXMubWFwKChfOiBXZWVrRGF5LCBvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgIC8vIHNldCBhcHByb3ByaWF0ZSBkYXRlXG4gICAgY29uc3Qgd2Vla2RheURhdGUgPSBuZXcgRGF0ZShmaXJzdE9mV2VlaylcbiAgICB3ZWVrZGF5RGF0ZS5zZXREYXRlKHdlZWtkYXlEYXRlLmdldERhdGUoKSArIG9mZnNldClcblxuICAgIC8vIGFuZCByZXR1cm4gdmFsdWVcbiAgICByZXR1cm4gd2Vla2RheURhdGVcbiAgfSlcbn1cblxuLyoqIEdlbmVyYXRlIGEgbWF0cml4IG9mIGRhdGVzIHVzZWQgdG8gdmlzdWFsaXplIGEgY2FsZW5kYXIgbW9udGguICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVEYXRlTWF0cml4ID0gKFxuICBtb250aDogbnVtYmVyLFxuICB5ZWFyOiBudW1iZXIsXG4gIG1pbldlZWtzID0gNSxcbiAgZmlyc3REYXlPZldlZWs6IFdlZWtEYXksXG4pOiBEYXRlW11bXSA9PiB7XG4gIC8vIGdlbmVyYXRlIGEgbmV3IG1hdHJpeCB3aXRoIDUgb3IgNiByb3dzIChkZXBlbmRpbmcgb24gbnVtYmVyIG9mIGRheXMgaW4gdGhhdCBtb250aClcbiAgY29uc3QgbWF0cml4OiBEYXRlW11bXSA9IG5ldyBBcnJheTxEYXRlW10+KG1pbldlZWtzKVxuICBtYXRyaXguZmlsbChbXSlcblxuICBjb25zdCBtb250aFN0ciA9IGAke21vbnRoICsgMX1gLnBhZFN0YXJ0KDIsICcwJylcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGAke3llYXJ9LSR7bW9udGhTdHJ9LTAxYClcbiAgY29uc3QgZmlyc3REYXRlID0gZmlyc3RDYWxlbmRhckRhdGUoZGF0ZSwgZmlyc3REYXlPZldlZWspXG5cbiAgLy8gZm9yIGVhY2ggd2VlayBpbiB0aGF0IG1vbnRoXG4gIGNvbnN0IGRhdGVNYXRyaXggPSBtYXRyaXgubWFwKChfOiBEYXRlW10sIHdlZWtPZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9IHdlZWtPZmZzZXQgKiA3XG4gICAgLy8gdXBkYXRlIHRoZSBkYXRlIHdpdGggdGhlIG9mZnNldCBmb3IgdGhhdCB3ZWVrXG4gICAgY29uc3QgZmlyc3RPZldlZWsgPSBuZXcgRGF0ZShmaXJzdERhdGUpXG4gICAgZmlyc3RPZldlZWsuc2V0RGF0ZShmaXJzdERhdGUuZ2V0RGF0ZSgpICsgb2Zmc2V0KVxuICAgIHJldHVybiBnZXRTb3J0ZWRXZWVrRGF5cyhmaXJzdERheU9mV2VlaywgZmlyc3RPZldlZWspXG4gIH0pXG5cbiAgLy8gY2hlY2sgaWYgYW5vdGhlciByb3cgbmVlZHMgdG8gYmUgYWRkZWQgKGlmIGxhc3QgZGF0ZXMgb2YgbW9udGggYXJlIG1pc3NpbmcpXG4gIGNvbnN0IGxhc3RBZGRlZCA9IGRhdGVNYXRyaXguc2xpY2UoLTEpWzBdLnNsaWNlKC0xKVswXVxuICBjb25zdCBsYXN0T2ZNb250aCA9IG5ldyBEYXRlKGxhc3RBZGRlZClcbiAgbGFzdE9mTW9udGguc2V0TW9udGgobW9udGggKyAxKVxuICBsYXN0T2ZNb250aC5zZXREYXRlKDApXG5cbiAgaWYgKGlzQmVmb3JlKGxhc3RBZGRlZCwgbGFzdE9mTW9udGgpKSB7XG4gICAgLy8gYWRkIGFub3RoZXIgd2VlayByb3dcbiAgICBjb25zdCBmaXJzdE9mV2VlayA9IG5ldyBEYXRlKGxhc3RBZGRlZClcbiAgICBmaXJzdE9mV2Vlay5zZXREYXRlKGxhc3RBZGRlZC5nZXREYXRlKCkgKyAxKVxuICAgIGRhdGVNYXRyaXgucHVzaChnZXRTb3J0ZWRXZWVrRGF5cyhmaXJzdERheU9mV2VlaywgZmlyc3RPZldlZWspKVxuICB9XG4gIC8vIHJldHVybiBmaW5hbCBkYXRlbWF0cml4XG4gIHJldHVybiBkYXRlTWF0cml4XG59XG5cbi8qKiBSZXR1cm5zIHRoZSBmaXJzdCBkYXRlIHVzZWQgaW4gdGhlIGNhbGVuZGFycyBmaXJzdCBidXR0b24uICovXG5leHBvcnQgY29uc3QgZmlyc3RDYWxlbmRhckRhdGUgPSAoXG4gIGRhdGU6IERhdGUsXG4gIGZpcnN0RGF5T2ZXZWVrOiBXZWVrRGF5LFxuKTogRGF0ZSA9PiB7XG4gIC8vIHNvcnQgd2Vla2RheXMgYWNjb3JkaW5nIHRvIGZpcnN0RGF5T2ZXZWVrXG4gIGNvbnN0IHNvcnRlZFdlZWtkYXlzOiBXZWVrRGF5W10gPSBzb3J0V2Vla0RheXMoZmlyc3REYXlPZldlZWspXG5cbiAgLy8gc2V0IGRhdGUgdG8gdGhlIGZpcnN0IG9mIG1vbnRoXG4gIGNvbnN0IGZpcnN0T2ZNb250aCA9IG5ldyBEYXRlKGRhdGUpXG4gIGZpcnN0T2ZNb250aC5zZXREYXRlKDEpXG5cbiAgLy8gZ2V0IHRoZSBvZmZzZXRcbiAgY29uc3Qgb2Zmc2V0ID0gc29ydGVkV2Vla2RheXMuaW5kZXhPZihmaXJzdE9mTW9udGguZ2V0RGF5KCkpXG4gIGNvbnN0IGZpcnN0T2ZXZWVrID0gbmV3IERhdGUoZmlyc3RPZk1vbnRoKVxuICAvLyB1c2Ugb2Zmc2V0IHRvIHNldCBkYXRlXG4gIGZpcnN0T2ZXZWVrLnNldERhdGUoMSAtIG9mZnNldClcbiAgcmV0dXJuIGZpcnN0T2ZXZWVrXG59XG5cbmV4cG9ydCBjb25zdCBnZXREYXlPZmZzZXQgPSAoXG4gIGZyb206IFdlZWtEYXksXG4gIHRvOiBXZWVrRGF5LFxuICBmaXJzdERheU9mV2VlazogV2Vla0RheSxcbiAgZGlyZWN0aW9uPzogJ2ZvcndhcmQnIHwgJ2JhY2snLFxuKTogbnVtYmVyID0+IHtcbiAgY29uc3Qgc29ydGVkV2Vla2RheXM6IFdlZWtEYXlbXSA9IHNvcnRXZWVrRGF5cyhmaXJzdERheU9mV2VlaylcblxuICBjb25zdCBmcm9tSW5kZXggPSBzb3J0ZWRXZWVrZGF5cy5pbmRleE9mKGZyb20pXG4gIGNvbnN0IHRvSW5kZXggPSBzb3J0ZWRXZWVrZGF5cy5pbmRleE9mKHRvKVxuXG4gIGNvbnN0IG9mZnNldCA9IHRvSW5kZXggLSBmcm9tSW5kZXhcblxuICBpZiAoZGlyZWN0aW9uID09PSAnZm9yd2FyZCcgJiYgb2Zmc2V0IDwgMCkgcmV0dXJuIG9mZnNldCArIDZcbiAgaWYgKGRpcmVjdGlvbiA9PT0gJ2JhY2snICYmIG9mZnNldCA+IDApIHJldHVybiBvZmZzZXQgLSA2XG4gIHJldHVybiBvZmZzZXRcbn1cblxuLyoqIFJldHVybnMgYW4gYXJyYXkgb2YgRGF0ZXMgZm9yIGVhY2ggb2YgbW9udGguICovXG5leHBvcnQgY29uc3QgZ2V0TW9udGhBcnJheSA9ICgpOiBEYXRlW10gPT4ge1xuICBjb25zdCBmaXJzdERheU9mWWVhciA9IG5ldyBEYXRlKClcbiAgZmlyc3REYXlPZlllYXIuc2V0TW9udGgoMClcbiAgZmlyc3REYXlPZlllYXIuc2V0RGF0ZSgxKVxuXG4gIC8vIGNyZWF0ZSBhIG5ldyBhcnJheSBvZiBsZW5ndGggMTIsXG4gIC8vIGFuZCBmaWxsIGl0IHdpdGggZGF0ZSBvYmplY3RzIG9mIDE6c3Qgb2YgamFudWFyeVxuICBjb25zdCBtb250aEFycmF5OiBEYXRlW10gPSBuZXcgQXJyYXkoMTIpLmZpbGwoZmlyc3REYXlPZlllYXIpXG5cbiAgLy8gbWFwIHRocm91Z2ggdGhlIGFycmF5LFxuICAvLyBhbmQgY3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBkYXRlLFxuICAvLyBjaGFuZ2luZyB0aGUgbW9udGggYmFzZWQgb24gaW5kZXggKDAgLSAxMSlcbiAgcmV0dXJuIG1vbnRoQXJyYXkubWFwKChkOiBEYXRlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGQpXG4gICAgZGF0ZS5zZXRNb250aChpbmRleClcbiAgICByZXR1cm4gZGF0ZVxuICB9KVxufVxuXG4vKiogUmV0dXJucyBhbiBhcnJheSBvZiBEYXRlcyBmb3IgdGhlIGN1cnJlbnQgeWVhciBhbmQgdGhlIG5leHQuICovXG5leHBvcnQgY29uc3QgZ2V0WWVhckFycmF5ID0gKCk6IERhdGVbXSA9PiB7XG4gIGNvbnN0IGN1cnJlbnRZZWFyID0gbmV3IERhdGUoKVxuICBjdXJyZW50WWVhci5zZXRNb250aCgwKVxuICBjdXJyZW50WWVhci5zZXREYXRlKDEpXG4gIGNvbnN0IG5leHRZZWFyID0gbmV3IERhdGUoY3VycmVudFllYXIpXG4gIG5leHRZZWFyLnNldEZ1bGxZZWFyKGN1cnJlbnRZZWFyLmdldEZ1bGxZZWFyKCkgKyAxKVxuICByZXR1cm4gW2N1cnJlbnRZZWFyLCBuZXh0WWVhcl1cbn1cblxuLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHdvIGRhdGVzIGhhdmUgdGhlIHNhbWUgeWVhciwgbW9udGggYW5kIGRhdGUgdmFsdWVzLiAqL1xuZXhwb3J0IGNvbnN0IG1hdGNoID0gKGE6IERhdGUgfCB1bmRlZmluZWQsIGI6IERhdGUgfCB1bmRlZmluZWQpOiBib29sZWFuID0+IHtcbiAgaWYgKCFhIHx8ICFiKSByZXR1cm4gZmFsc2VcbiAgaWYgKGEuZ2V0RGF0ZSgpICE9PSBiLmdldERhdGUoKSkgcmV0dXJuIGZhbHNlXG4gIGlmIChhLmdldE1vbnRoKCkgIT09IGIuZ2V0TW9udGgoKSkgcmV0dXJuIGZhbHNlXG4gIGlmIChhLmdldEZ1bGxZZWFyKCkgIT09IGIuZ2V0RnVsbFllYXIoKSkgcmV0dXJuIGZhbHNlXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBhZnRlckNsb3NpbmdIb3VycyA9IChjbG9zaW5nSG91cnM6IERhdGUgfCB1bmRlZmluZWQpOiBib29sZWFuID0+IHtcbiAgaWYgKCFjbG9zaW5nSG91cnMpIHJldHVybiBmYWxzZVxuICByZXR1cm4gRGF0ZS5ub3coKSA+PSBjbG9zaW5nSG91cnMuZ2V0VGltZSgpXG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZGF0ZSBpcyBiZWZvcmUgY29udHJvbCBkYXRlLCByZWdhcmRsZXNzIG9mIHRpbWUuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBjb21wYXJpc29uIGRhdGVcbiAqIEBwYXJhbSBjb250cm9sRGF0ZSAtIGRhdGUgdG8gY29tcGFyZSBhZ2FpbnN0XG4gKiBAcmV0dXJucyAtIHRydWUgaWYgdGhlIGNvbXBhcmlzb24gZGF0ZSBpcyBiZWZvcmUgdGhlIGNvbnRyb2wgZGF0ZVxuICovXG5leHBvcnQgY29uc3QgaXNCZWZvcmUgPSAoZGF0ZTogRGF0ZSwgY29udHJvbERhdGU6IERhdGUpOiBib29sZWFuID0+IHtcbiAgLy8gaWYgeWVhciB2YWx1ZXMgYXJlIGRpc3NpbWlsYXJcbiAgaWYgKGRhdGUuZ2V0RnVsbFllYXIoKSAhPT0gY29udHJvbERhdGUuZ2V0RnVsbFllYXIoKSkge1xuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgPCBjb250cm9sRGF0ZS5nZXRGdWxsWWVhcigpXG4gIH1cbiAgLy8gaWYgbW9udGggdmFsdWVzIGFyZSBkaXNzaW1pbGFyXG4gIGlmIChkYXRlLmdldE1vbnRoKCkgIT09IGNvbnRyb2xEYXRlLmdldE1vbnRoKCkpIHtcbiAgICByZXR1cm4gZGF0ZS5nZXRNb250aCgpIDwgY29udHJvbERhdGUuZ2V0TW9udGgoKVxuICB9XG4gIC8vIGlmIHllYXIgYW5kIG1vbnRoIGFyZSBlcXVhbCwgY2hlY2sgdGhlIGRhdGVcbiAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpIDwgY29udHJvbERhdGUuZ2V0RGF0ZSgpXG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZGF0ZSBpcyBhZnRlciBjb250cm9sIGRhdGUsIHJlZ2FyZGxlc3Mgb2YgdGltZS5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIGNvbXBhcmlzb24gZGF0ZVxuICogQHBhcmFtIGNvbnRyb2xEYXRlIC0gZGF0ZSB0byBjb21wYXJlIGFnYWluc3RcbiAqIEByZXR1cm5zIC0gdHJ1ZSBpZiB0aGUgY29tcGFyaXNvbiBkYXRlIGlzIGJlZm9yZSB0aGUgY29udHJvbCBkYXRlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0FmdGVyID0gKGRhdGU6IERhdGUsIGNvbnRyb2xEYXRlOiBEYXRlKTogYm9vbGVhbiA9PiB7XG4gIC8vIGlmIHllYXIgdmFsdWVzIGFyZSBkaXNzaW1pbGFyXG4gIGlmIChkYXRlLmdldEZ1bGxZZWFyKCkgIT09IGNvbnRyb2xEYXRlLmdldEZ1bGxZZWFyKCkpIHtcbiAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpID4gY29udHJvbERhdGUuZ2V0RnVsbFllYXIoKVxuICB9XG4gIC8vIGlmIG1vbnRoIHZhbHVlcyBhcmUgZGlzc2ltaWxhclxuICBpZiAoZGF0ZS5nZXRNb250aCgpICE9PSBjb250cm9sRGF0ZS5nZXRNb250aCgpKSB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0TW9udGgoKSA+IGNvbnRyb2xEYXRlLmdldE1vbnRoKClcbiAgfVxuICAvLyBpZiB5ZWFyIGFuZCBtb250aCBhcmUgZXF1YWwsIGNoZWNrIHRoZSBkYXRlXG4gIHJldHVybiBkYXRlLmdldERhdGUoKSA+IGNvbnRyb2xEYXRlLmdldERhdGUoKVxufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHZhbHVlIGNhbiBiZSB1c2VkIHRvIGluaXRpYXRlIGEgbmV3IERhdGUgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBhbnkgdmFsdWVcbiAqIEByZXR1cm5zIC0gdHJ1ZSBpZiB2YWx1ZSBjYW4gYmUgY29lcnNlZCB0byBhIERhdGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkID0gKHZhbHVlOiBhbnkpOiBib29sZWFuID0+IHtcbiAgLy8gaWYgdmFsdWUgaXMgdHlwZSBvZiBzdHJpbmcgYW5kIGNhbiBiZSBwYXJzZWQgdG8gYSBEYXRlXG4gIGNvbnN0IGRhdGUgPVxuICAgIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIWlzTmFOKERhdGUucGFyc2UodmFsdWUpKVxuICAgICAgPyBuZXcgRGF0ZSh2YWx1ZSlcbiAgICAgIDogbnVsbFxuXG4gIHN3aXRjaCAodHJ1ZSkge1xuICAgIC8vIGlmIGRhdGUgb3IgdmFsdWUgaXMgYSB2YWxpZCBkYXRlIG9iamVjdCAtIHJldHVybiB2YWxpZFxuICAgIGNhc2UgdHlwZW9mIHZhbHVlPy5nZXRNb250aCA9PT0gJ2Z1bmN0aW9uJzpcbiAgICBjYXNlIHR5cGVvZiBkYXRlPy5nZXRNb250aCA9PT0gJ2Z1bmN0aW9uJzpcbiAgICAgIHJldHVybiB0cnVlXG4gICAgLy8gaWYgZGF0ZSBvciB2YWx1ZSBpcyBub3QgYSB2YWxpZCBkYXRlIG9iamVjdCAtIHJldHVybiBpbnZhbGlkXG4gICAgY2FzZSB2YWx1ZSA9PSBudWxsOlxuICAgIGNhc2UgZGF0ZT8udG9TdHJpbmcoKSA9PT0gJ0ludmFsaWQgRGF0ZSc6XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { Directive, ElementRef, HostBinding, Input, } from '@angular/core';
2
- import { match } from '../datepicker.utils';
3
- import * as i0 from "@angular/core";
4
- export class CalendarDateDirective {
5
- get nativeElement() {
6
- return this.elementRef.nativeElement;
7
- }
8
- constructor(elementRef) {
9
- this.elementRef = elementRef;
10
- this.isToday = false;
11
- }
12
- ngOnInit() {
13
- this.isToday = match(new Date(), this.calendarDate);
14
- }
15
- ngOnChanges(changes) {
16
- if (changes.disabled?.currentValue) {
17
- ;
18
- this.nativeElement.disabled = this.disabled;
19
- }
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarDateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
22
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: CalendarDateDirective, selector: "[calendarDate]", inputs: { calendarDate: "calendarDate", selected: "selected", notWithinMonth: "notWithinMonth", disabled: "disabled" }, host: { properties: { "class.selected": "this.selected", "class.not-within-month": "this.notWithinMonth", "class.today": "this.isToday" } }, usesOnChanges: true, ngImport: i0 }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarDateDirective, decorators: [{
25
- type: Directive,
26
- args: [{
27
- selector: '[calendarDate]', // eslint-disable-line @angular-eslint/directive-selector
28
- }]
29
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { calendarDate: [{
30
- type: Input
31
- }], selected: [{
32
- type: HostBinding,
33
- args: ['class.' + "selected" /* DateCss.selected */]
34
- }, {
35
- type: Input
36
- }], notWithinMonth: [{
37
- type: HostBinding,
38
- args: ['class.' + "not-within-month" /* DateCss.notWithinMonth */]
39
- }, {
40
- type: Input
41
- }], isToday: [{
42
- type: HostBinding,
43
- args: ['class.' + "today" /* DateCss.today */]
44
- }], disabled: [{
45
- type: Input
46
- }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kYXRlcGlja2VyL2RpcmVjdGl2ZXMvY2FsZW5kYXItZGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7O0FBVzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFTaEMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVBILFlBQU8sR0FBRyxLQUFLLENBQUE7SUFPVCxDQUFDO0lBRTlDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUNuQyxDQUFDO1lBQUMsSUFBSSxDQUFDLGFBQW1DLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDckUsQ0FBQztJQUNILENBQUM7K0dBdkJVLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSx5REFBeUQ7aUJBQ3RGOytFQUVVLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQzZDLFFBQVE7c0JBQTFELFdBQVc7dUJBQUMsUUFBUSxvQ0FBbUI7O3NCQUFHLEtBQUs7Z0JBR2hELGNBQWM7c0JBRmIsV0FBVzt1QkFBQyxRQUFRLGtEQUF5Qjs7c0JBQzdDLEtBQUs7Z0JBRWlDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsUUFBUSw4QkFBZ0I7Z0JBQzVCLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IG1hdGNoIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci51dGlscydcblxuZXhwb3J0IGNvbnN0IGVudW0gRGF0ZUNzcyB7XG4gIG5vdFdpdGhpbk1vbnRoID0gJ25vdC13aXRoaW4tbW9udGgnLFxuICBzZWxlY3RlZCA9ICdzZWxlY3RlZCcsXG4gIHRvZGF5ID0gJ3RvZGF5Jyxcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NhbGVuZGFyRGF0ZV0nLCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3Jcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJEYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjYWxlbmRhckRhdGUhOiBEYXRlXG4gIEBIb3N0QmluZGluZygnY2xhc3MuJyArIERhdGVDc3Muc2VsZWN0ZWQpIEBJbnB1dCgpIHNlbGVjdGVkITogYm9vbGVhblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLicgKyBEYXRlQ3NzLm5vdFdpdGhpbk1vbnRoKVxuICBASW5wdXQoKVxuICBub3RXaXRoaW5Nb250aCE6IGJvb2xlYW5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy4nICsgRGF0ZUNzcy50b2RheSkgaXNUb2RheSA9IGZhbHNlXG4gIEBJbnB1dCgpIGRpc2FibGVkITogYm9vbGVhblxuXG4gIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmlzVG9kYXkgPSBtYXRjaChuZXcgRGF0ZSgpLCB0aGlzLmNhbGVuZGFyRGF0ZSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5kaXNhYmxlZD8uY3VycmVudFZhbHVlKSB7XG4gICAgICA7KHRoaXMubmF0aXZlRWxlbWVudCBhcyBIVE1MQnV0dG9uRWxlbWVudCkuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- /*
2
- * Public API Surface of date-picker
3
- */
4
- export * from './date-control-value-accessor/date-control-value-accessor.component';
5
- export * from './components/calendar/calendar.component';
6
- export * from './components/calendar-control/calendar-control.component';
7
- export * from './components/date-input/date-input.component';
8
- export * from './components/datepicker/datepicker.component';
9
- export * from './directives/calendar-date.directive';
10
- export * from './pipes/is-disabled.pipe';
11
- export * from './pipes/matches.pipe';
12
- export * from './models/dates';
13
- export * from './datepicker.models';
14
- export * from './datepicker.globals';
15
- export * from './datepicker.module';
16
- export * from './datepicker.utils';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kYXRlcGlja2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxxRUFBcUUsQ0FBQTtBQUNuRixjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMERBQTBELENBQUE7QUFDeEUsY0FBYyw4Q0FBOEMsQ0FBQTtBQUM1RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZGF0ZS1waWNrZXJcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IvZGF0ZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY2FsZW5kYXItY29udHJvbC9jYWxlbmRhci1jb250cm9sLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvY2FsZW5kYXItZGF0ZS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2lzLWRpc2FibGVkLnBpcGUnXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL21hdGNoZXMucGlwZSdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2RhdGVzJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcGlja2VyLm1vZGVscydcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlci5nbG9iYWxzJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcGlja2VyLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlci51dGlscydcbiJdfQ==
@@ -1,291 +0,0 @@
1
- import { createMask, } from '@sebgroup/green-angular/src/v-angular/input-mask';
2
- /**
3
- * Helper function to generate InputmaskOptions by requested locale.
4
- * @param locale - requested locale. If not given, it'll use the browsers locale
5
- * @returns InputmaskOptions with date settings
6
- */
7
- export const getLocaleDateMask = (dateCharacters, locale) => {
8
- // If no locale has been passed, use browser language
9
- if (!locale)
10
- locale = navigator.language;
11
- const format = getLocaleDateString(locale).toLowerCase();
12
- return getFormatDateMask(format, dateCharacters);
13
- };
14
- export const getLocaleDateString = (locale) => locale && dateFormats[locale] ? dateFormats[locale] : 'yyyy-MM-dd';
15
- const dateFormats = {
16
- 'af-ZA': 'yyyy/MM/dd',
17
- 'am-ET': 'dd/MM/yyyy',
18
- 'ar-AE': 'dd/MM/yyyy',
19
- 'ar-BH': 'dd/MM/yyyy',
20
- 'ar-DZ': 'dd-MM-yyyy',
21
- 'ar-EG': 'dd/MM/yyyy',
22
- 'ar-IQ': 'dd/MM/yyyy',
23
- 'ar-JO': 'dd/MM/yyyy',
24
- 'ar-KW': 'dd/MM/yyyy',
25
- 'ar-LB': 'dd/MM/yyyy',
26
- 'ar-LY': 'dd/MM/yyyy',
27
- 'ar-MA': 'dd-MM-yyyy',
28
- 'ar-OM': 'dd/MM/yyyy',
29
- 'ar-QA': 'dd/MM/yyyy',
30
- 'ar-SA': 'dd/MM/yyyy',
31
- 'ar-SY': 'dd/MM/yyyy',
32
- 'ar-TN': 'dd-MM-yyyy',
33
- 'ar-YE': 'dd/MM/yyyy',
34
- 'arn-CL': 'dd-MM-yyyy',
35
- 'as-IN': 'dd-MM-yyyy',
36
- 'az-Cyrl-AZ': 'dd.MM.yyyy',
37
- 'az-Latn-AZ': 'dd.MM.yyyy',
38
- 'ba-RU': 'dd.MM.yyyy',
39
- 'be-BY': 'dd.MM.yyyy',
40
- 'bg-BG': 'dd.MM.yyyy',
41
- 'bn-BD': 'dd-MM-yyyy',
42
- 'bn-IN': 'dd-MM-yyyy',
43
- 'bo-CN': 'yyyy/MM/dd',
44
- 'br-FR': 'dd/MM/yyyy',
45
- 'bs-Cyrl-BA': 'dd.MM.yyyy',
46
- 'bs-Latn-BA': 'dd.MM.yyyy',
47
- 'ca-ES': 'dd/MM/yyyy',
48
- 'co-FR': 'dd/MM/yyyy',
49
- 'cs-CZ': 'dd.MM.yyyy',
50
- 'cy-GB': 'dd/MM/yyyy',
51
- 'da-DK': 'dd.MM.yyyy',
52
- 'de-AT': 'dd.MM.yyyy',
53
- 'de-CH': 'dd.MM.yyyy',
54
- 'de-DE': 'dd.MM.yyyy',
55
- 'de-LI': 'dd.MM.yyyy',
56
- 'de-LU': 'dd.MM.yyyy',
57
- 'dsb-DE': 'dd.MM.yyyy',
58
- 'dv-MV': 'dd/MM/yyyy',
59
- 'el-GR': 'dd/MM/yyyy',
60
- en: 'MM/dd/yyyy',
61
- 'en-029': 'MM/dd/yyyy',
62
- 'en-AU': 'dd/MM/yyyy',
63
- 'en-BZ': 'dd/MM/yyyy',
64
- 'en-CA': 'dd/MM/yyyy',
65
- 'en-GB': 'dd/MM/yyyy',
66
- 'en-IE': 'dd/MM/yyyy',
67
- 'en-IN': 'dd-MM-yyyy',
68
- 'en-JM': 'dd/MM/yyyy',
69
- 'en-MY': 'dd/MM/yyyy',
70
- 'en-NZ': 'dd/MM/yyyy',
71
- 'en-PH': 'MM/dd/yyyy',
72
- 'en-SG': 'dd/MM/yyyy',
73
- 'en-TT': 'dd/MM/yyyy',
74
- 'en-US': 'MM/dd/yyyy',
75
- 'en-ZA': 'yyyy/MM/dd',
76
- 'en-ZW': 'MM/dd/yyyy',
77
- 'es-AR': 'dd/MM/yyyy',
78
- 'es-BO': 'dd/MM/yyyy',
79
- 'es-CL': 'dd-MM-yyyy',
80
- 'es-CO': 'dd/MM/yyyy',
81
- 'es-CR': 'dd/MM/yyyy',
82
- 'es-DO': 'dd/MM/yyyy',
83
- 'es-EC': 'dd/MM/yyyy',
84
- 'es-ES': 'dd/MM/yyyy',
85
- 'es-GT': 'dd/MM/yyyy',
86
- 'es-HN': 'dd/MM/yyyy',
87
- 'es-MX': 'dd/MM/yyyy',
88
- 'es-NI': 'dd/MM/yyyy',
89
- 'es-PA': 'MM/dd/yyyy',
90
- 'es-PE': 'dd/MM/yyyy',
91
- 'es-PR': 'dd/MM/yyyy',
92
- 'es-PY': 'dd/MM/yyyy',
93
- 'es-SV': 'dd/MM/yyyy',
94
- 'es-US': 'MM/dd/yyyy',
95
- 'es-UY': 'dd/MM/yyyy',
96
- 'es-VE': 'dd/MM/yyyy',
97
- 'et-EE': 'dd.MM.yyyy',
98
- 'eu-ES': 'yyyy/MM/dd',
99
- 'fa-IR': 'MM/dd/yyyy',
100
- 'fi-FI': 'dd.MM.yyyy',
101
- 'fil-PH': 'MM/dd/yyyy',
102
- 'fo-FO': 'dd-MM-yyyy',
103
- 'fr-BE': 'dd/MM/yyyy',
104
- 'fr-CA': 'yyyy-MM-dd',
105
- 'fr-CH': 'dd.MM.yyyy',
106
- 'fr-FR': 'dd/MM/yyyy',
107
- 'fr-LU': 'dd/MM/yyyy',
108
- 'fr-MC': 'dd/MM/yyyy',
109
- 'fy-NL': 'dd-MM-yyyy',
110
- 'ga-IE': 'dd/MM/yyyy',
111
- 'gd-GB': 'dd/MM/yyyy',
112
- 'gl-ES': 'dd/MM/yyyy',
113
- 'gsw-FR': 'dd/MM/yyyy',
114
- 'gu-IN': 'dd-MM-yyyy',
115
- 'ha-Latn-NG': 'dd/MM/yyyy',
116
- 'he-IL': 'dd/MM/yyyy',
117
- 'hi-IN': 'dd-MM-yyyy',
118
- 'hr-BA': 'dd.MM.yyyy.',
119
- 'hr-HR': 'dd.MM.yyyy',
120
- 'hsb-DE': 'dd.MM.yyyy',
121
- 'hu-HU': 'yyyy.MM.dd.',
122
- 'hy-AM': 'dd.MM.yyyy',
123
- 'id-ID': 'dd/MM/yyyy',
124
- 'ig-NG': 'dd/MM/yyyy',
125
- 'ii-CN': 'yyyy/MM/dd',
126
- 'is-IS': 'dd.MM.yyyy',
127
- 'it-CH': 'dd.MM.yyyy',
128
- 'it-IT': 'dd/MM/yyyy',
129
- 'iu-Cans-CA': 'dd/MM/yyyy',
130
- 'iu-Latn-CA': 'dd/MM/yyyy',
131
- 'ja-JP': 'yyyy/MM/dd',
132
- 'ka-GE': 'dd.MM.yyyy',
133
- 'kk-KZ': 'dd.MM.yyyy',
134
- 'kl-GL': 'dd-MM-yyyy',
135
- 'km-KH': 'yyyy-MM-dd',
136
- 'kn-IN': 'dd-MM-yyyy',
137
- 'ko-KR': 'yyyy.MM.dd',
138
- 'kok-IN': 'dd-MM-yyyy',
139
- 'ky-KG': 'dd.MM.yyyy',
140
- 'lb-LU': 'dd/MM/yyyy',
141
- 'lo-LA': 'dd/MM/yyyy',
142
- 'lt-LT': 'yyyy.MM.dd',
143
- 'lv-LV': 'yyyy.MM.dd.',
144
- 'mi-NZ': 'dd/MM/yyyy',
145
- 'mk-MK': 'dd.MM.yyyy',
146
- 'ml-IN': 'dd-MM-yyyy',
147
- 'mn-MN': 'yyyy.MM.dd',
148
- 'mn-Mong-CN': 'yyyy/MM/dd',
149
- 'moh-CA': 'MM/dd/yyyy',
150
- 'mr-IN': 'dd-MM-yyyy',
151
- 'ms-BN': 'dd/MM/yyyy',
152
- 'ms-MY': 'dd/MM/yyyy',
153
- 'mt-MT': 'dd/MM/yyyy',
154
- 'nb-NO': 'dd.MM.yyyy',
155
- 'ne-NP': 'MM/dd/yyyy',
156
- 'nl-BE': 'dd/MM/yyyy',
157
- 'nl-NL': 'dd-MM-yyyy',
158
- 'nn-NO': 'dd.MM.yyyy',
159
- 'nso-ZA': 'yyyy/MM/dd',
160
- 'oc-FR': 'dd/MM/yyyy',
161
- 'or-IN': 'dd-MM-yyyy',
162
- 'pa-IN': 'dd-MM-yyyy',
163
- 'pl-PL': 'dd.MM.yyyy',
164
- 'prs-AF': 'dd/MM/yyyy',
165
- 'ps-AF': 'dd/MM/yyyy',
166
- 'pt-BR': 'dd/MM/yyyy',
167
- 'pt-PT': 'dd-MM-yyyy',
168
- 'qut-GT': 'dd/MM/yyyy',
169
- 'quz-BO': 'dd/MM/yyyy',
170
- 'quz-EC': 'dd/MM/yyyy',
171
- 'quz-PE': 'dd/MM/yyyy',
172
- 'rm-CH': 'dd/MM/yyyy',
173
- 'ro-RO': 'dd.MM.yyyy',
174
- 'ru-RU': 'dd.MM.yyyy',
175
- 'rw-RW': 'MM/dd/yyyy',
176
- 'sa-IN': 'dd-MM-yyyy',
177
- 'sah-RU': 'MM.dd.yyyy',
178
- se: 'yyyy-MM-dd',
179
- 'se-FI': 'dd.MM.yyyy',
180
- 'se-NO': 'dd.MM.yyyy',
181
- 'se-SE': 'yyyy-MM-dd',
182
- 'si-LK': 'yyyy-MM-dd',
183
- 'sk-SK': 'dd.MM.yyyy',
184
- 'sl-SI': 'dd.MM.yyyy',
185
- 'sma-NO': 'dd.MM.yyyy',
186
- 'sma-SE': 'yyyy-MM-dd',
187
- 'smj-NO': 'dd.MM.yyyy',
188
- 'smj-SE': 'yyyy-MM-dd',
189
- 'smn-FI': 'dd.MM.yyyy',
190
- 'sms-FI': 'dd.MM.yyyy',
191
- 'sq-AL': 'yyyy-MM-dd',
192
- 'sr-Cyrl-BA': 'dd.MM.yyyy',
193
- 'sr-Cyrl-CS': 'dd.MM.yyyy',
194
- 'sr-Cyrl-ME': 'dd.MM.yyyy',
195
- 'sr-Cyrl-RS': 'dd.MM.yyyy',
196
- 'sr-Latn-BA': 'dd.MM.yyyy',
197
- 'sr-Latn-CS': 'dd.MM.yyyy',
198
- 'sr-Latn-ME': 'dd.MM.yyyy',
199
- 'sr-Latn-RS': 'dd.MM.yyyy',
200
- sv: 'yyyy-MM-dd',
201
- 'sv-FI': 'dd.MM.yyyy',
202
- 'sv-SE': 'yyyy-MM-dd',
203
- 'sw-KE': 'MM/dd/yyyy',
204
- 'syr-SY': 'dd/MM/yyyy',
205
- 'ta-IN': 'dd-MM-yyyy',
206
- 'te-IN': 'dd-MM-yyyy',
207
- 'tg-Cyrl-TJ': 'dd.MM.yyyy',
208
- 'th-TH': 'dd/MM/yyyy',
209
- 'tk-TM': 'dd.MM.yyyy',
210
- 'tn-ZA': 'yyyy/MM/dd',
211
- 'tr-TR': 'dd.MM.yyyy',
212
- 'tt-RU': 'dd.MM.yyyy',
213
- 'tzm-Latn-DZ': 'dd-MM-yyyy',
214
- 'ug-CN': 'yyyy-MM-dd',
215
- 'uk-UA': 'dd.MM.yyyy',
216
- 'ur-PK': 'dd/MM/yyyy',
217
- 'uz-Cyrl-UZ': 'dd.MM.yyyy',
218
- 'uz-Latn-UZ': 'dd/MM yyyy',
219
- 'vi-VN': 'dd/MM/yyyy',
220
- 'wo-SN': 'dd/MM/yyyy',
221
- 'xh-ZA': 'yyyy/MM/dd',
222
- 'yo-NG': 'dd/MM/yyyy',
223
- 'zh-CN': 'yyyy/MM/dd',
224
- 'zh-HK': 'dd/MM/yyyy',
225
- 'zh-MO': 'dd/MM/yyyy',
226
- 'zh-SG': 'dd/MM/yyyy',
227
- 'zh-TW': 'yyyy/MM/dd',
228
- 'zu-ZA': 'yyyy/MM/dd',
229
- };
230
- export const getFormatDateMask = (format, dateCharacters) => {
231
- const separators = [' ', '.', '-', '/'];
232
- const separator = separators.find((operator) => format.indexOf(operator) > -1) ?? '-';
233
- const dateObjects = format.split(separator);
234
- const year = { key: 'year', index: 0 }, month = { key: 'month', index: 1 }, day = { key: 'day', index: 2 };
235
- dateObjects.forEach((dateObject, index) => {
236
- switch (dateObject[0]) {
237
- case 'y':
238
- year.index = index;
239
- break;
240
- case 'm':
241
- month.index = index;
242
- break;
243
- case 'd':
244
- day.index = index;
245
- break;
246
- }
247
- });
248
- const placeholder = setDateFormatCharacters(format, dateCharacters);
249
- return createMask({
250
- alias: 'datetime',
251
- inputFormat: format,
252
- placeholder,
253
- parser: (value) => {
254
- const values = value.split(separator);
255
- const y = +values[year.index];
256
- const m = +values[month.index] - 1;
257
- const d = +values[day.index];
258
- return new Date(y, m, d);
259
- },
260
- onBeforeMask(initialValue) {
261
- if (!initialValue || typeof initialValue !== 'string')
262
- return '';
263
- // If initialValues is in dateTime format, remove seconds that present after the "T"
264
- if (initialValue.includes('T'))
265
- initialValue = initialValue.split('T')[0];
266
- // initialValue should always be in yyyy-mm-dd no matter if set from control, via datepicker or manually with keyboard
267
- const values = initialValue.split('-');
268
- const datePartsInOrder = [year, month, day].sort((a, b) => a.index - b.index);
269
- // "Insert" correct values for the year/month/day, then join to string with separator
270
- return datePartsInOrder
271
- .map(({ key }) => {
272
- const [yearValue, monthValue, dateValue] = values;
273
- if (key === 'year')
274
- return yearValue;
275
- if (key === 'month')
276
- return monthValue;
277
- return dateValue;
278
- })
279
- .join(separator);
280
- },
281
- });
282
- };
283
- export const setDateFormatCharacters = (format, dateCharacters) => {
284
- if (!dateCharacters)
285
- return format;
286
- format = format.replace(/y/g, dateCharacters.year);
287
- format = format.replace(/m/g, dateCharacters.month);
288
- format = format.replace(/d/g, dateCharacters.day);
289
- return format;
290
- };
291
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kYXRlcGlja2VyL21vZGVscy9kYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxHQUVYLE1BQU0sa0RBQWtELENBQUE7QUFFekQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLGNBQStCLEVBQy9CLE1BQWUsRUFDUyxFQUFFO0lBQzFCLHFEQUFxRDtJQUNyRCxJQUFJLENBQUMsTUFBTTtRQUFFLE1BQU0sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFBO0lBRXhDLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBRXhELE9BQU8saUJBQWlCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUUsQ0FDckQsTUFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUE7QUFDcEUsTUFBTSxXQUFXLEdBQTJCO0lBQzFDLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLEVBQUUsRUFBRSxZQUFZO0lBQ2hCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFlBQVksRUFBRSxZQUFZO0lBQzFCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLEVBQUUsRUFBRSxZQUFZO0lBQ2hCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFlB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O0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBT0QsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FDckMsTUFBYyxFQUNkLGNBQStCLEVBQy9CLEVBQUU7SUFDRixJQUFJLENBQUMsY0FBYztRQUFFLE9BQU8sTUFBTSxDQUFBO0lBQ2xDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNuRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2pELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlTWFzayxcbiAgSW5wdXRtYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9pbnB1dC1tYXNrJ1xuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBnZW5lcmF0ZSBJbnB1dG1hc2tPcHRpb25zIGJ5IHJlcXVlc3RlZCBsb2NhbGUuXG4gKiBAcGFyYW0gbG9jYWxlIC0gcmVxdWVzdGVkIGxvY2FsZS4gSWYgbm90IGdpdmVuLCBpdCdsbCB1c2UgdGhlIGJyb3dzZXJzIGxvY2FsZVxuICogQHJldHVybnMgSW5wdXRtYXNrT3B0aW9ucyB3aXRoIGRhdGUgc2V0dGluZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExvY2FsZURhdGVNYXNrID0gKFxuICBkYXRlQ2hhcmFjdGVycz86IERhdGVDaGFyYWN0ZXJzLFxuICBsb2NhbGU/OiBzdHJpbmcsXG4pOiBJbnB1dG1hc2tPcHRpb25zPERhdGU+ID0+IHtcbiAgLy8gSWYgbm8gbG9jYWxlIGhhcyBiZWVuIHBhc3NlZCwgdXNlIGJyb3dzZXIgbGFuZ3VhZ2VcbiAgaWYgKCFsb2NhbGUpIGxvY2FsZSA9IG5hdmlnYXRvci5sYW5ndWFnZVxuXG4gIGNvbnN0IGZvcm1hdCA9IGdldExvY2FsZURhdGVTdHJpbmcobG9jYWxlKS50b0xvd2VyQ2FzZSgpXG5cbiAgcmV0dXJuIGdldEZvcm1hdERhdGVNYXNrKGZvcm1hdCwgZGF0ZUNoYXJhY3RlcnMpXG59XG5cbmV4cG9ydCBjb25zdCBnZXRMb2NhbGVEYXRlU3RyaW5nID0gKGxvY2FsZT86IHN0cmluZykgPT5cbiAgbG9jYWxlICYmIGRhdGVGb3JtYXRzW2xvY2FsZV0gPyBkYXRlRm9ybWF0c1tsb2NhbGVdIDogJ3l5eXktTU0tZGQnXG5jb25zdCBkYXRlRm9ybWF0czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgJ2FmLVpBJzogJ3l5eXkvTU0vZGQnLFxuICAnYW0tRVQnOiAnZGQvTU0veXl5eScsXG4gICdhci1BRSc6ICdkZC9NTS95eXl5JyxcbiAgJ2FyLUJIJzogJ2RkL01NL3l5eXknLFxuICAnYXItRFonOiAnZGQtTU0teXl5eScsXG4gICdhci1FRyc6ICdkZC9NTS95eXl5JyxcbiAgJ2FyLUlRJzogJ2RkL01NL3l5eXknLFxuICAnYXItSk8nOiAnZGQvTU0veXl5eScsXG4gICdhci1LVyc6ICdkZC9NTS95eXl5JyxcbiAgJ2FyLUxCJzogJ2RkL01NL3l5eXknLFxuICAnYXItTFknOiAnZGQvTU0veXl5eScsXG4gICdhci1NQSc6ICdkZC1NTS15eXl5JyxcbiAgJ2FyLU9NJzogJ2RkL01NL3l5eXknLFxuICAnYXItUUEnOiAnZGQvTU0veXl5eScsXG4gICdhci1TQSc6ICdkZC9NTS95eXl5JyxcbiAgJ2FyLVNZJzogJ2RkL01NL3l5eXknLFxuICAnYXItVE4nOiAnZGQtTU0teXl5eScsXG4gICdhci1ZRSc6ICdkZC9NTS95eXl5JyxcbiAgJ2Fybi1DTCc6ICdkZC1NTS15eXl5JyxcbiAgJ2FzLUlOJzogJ2RkLU1NLXl5eXknLFxuICAnYXotQ3lybC1BWic6ICdkZC5NTS55eXl5JyxcbiAgJ2F6LUxhdG4tQVonOiAnZGQuTU0ueXl5eScsXG4gICdiYS1SVSc6ICdkZC5NTS55eXl5JyxcbiAgJ2JlLUJZJzogJ2RkLk1NLnl5eXknLFxuICAnYmctQkcnOiAnZGQuTU0ueXl5eScsXG4gICdibi1CRCc6ICdkZC1NTS15eXl5JyxcbiAgJ2JuLUlOJzogJ2RkLU1NLXl5eXknLFxuICAnYm8tQ04nOiAneXl5eS9NTS9kZCcsXG4gICdici1GUic6ICdkZC9NTS95eXl5JyxcbiAgJ2JzLUN5cmwtQkEnOiAnZGQuTU0ueXl5eScsXG4gICdicy1MYXRuLUJBJzogJ2RkLk1NLnl5eXknLFxuICAnY2EtRVMnOiAnZGQvTU0veXl5eScsXG4gICdjby1GUic6ICdkZC9NTS95eXl5JyxcbiAgJ2NzLUNaJzogJ2RkLk1NLnl5eXknLFxuICAnY3ktR0InOiAnZGQvTU0veXl5eScsXG4gICdkYS1ESyc6ICdkZC5NTS55eXl5JyxcbiAgJ2RlLUFUJzogJ2RkLk1NLnl5eXknLFxuICAnZGUtQ0gnOiAnZGQuTU0ueXl5eScsXG4gICdkZS1ERSc6ICdkZC5NTS55eXl5JyxcbiAgJ2RlLUxJJzogJ2RkLk1NLnl5eXknLFxuICAnZGUtTFUnOiAnZGQuTU0ueXl5eScsXG4gICdkc2ItREUnOiAnZGQuTU0ueXl5eScsXG4gICdkdi1NVic6ICdkZC9NTS95eXl5JyxcbiAgJ2VsLUdSJzogJ2RkL01NL3l5eXknLFxuICBlbjogJ01NL2RkL3l5eXknLFxuICAnZW4tMDI5JzogJ01NL2RkL3l5eXknLFxuICAnZW4tQVUnOiAnZGQvTU0veXl5eScsXG4gICdlbi1CWic6ICdkZC9NTS95eXl5JyxcbiAgJ2VuLUNBJzogJ2RkL01NL3l5eXknLFxuICAnZW4tR0InOiAnZGQvTU0veXl5eScsXG4gICdlbi1JRSc6ICdkZC9NTS95eXl5JyxcbiAgJ2VuLUlOJzogJ2RkLU1NLXl5eXknLFxuICAnZW4tSk0nOiAnZGQvTU0veXl5eScsXG4gICdlbi1NWSc6ICdkZC9NTS95eXl5JyxcbiAgJ2VuLU5aJzogJ2RkL01NL3l5eXknLFxuICAnZW4tUEgnOiAnTU0vZGQveXl5eScsXG4gICdlbi1TRyc6ICdkZC9NTS95eXl5JyxcbiAgJ2VuLVRUJzogJ2RkL01NL3l5eXknLFxuICAnZW4tVVMnOiAnTU0vZGQveXl5eScsXG4gICdlbi1aQSc6ICd5eXl5L01NL2RkJyxcbiAgJ2VuLVpXJzogJ01NL2RkL3l5eXknLFxuICAnZXMtQVInOiAnZGQvTU0veXl5eScsXG4gICdlcy1CTyc6ICdkZC9NTS95eXl5JyxcbiAgJ2VzLUNMJzogJ2RkLU1NLXl5eXknLFxuICAnZXMtQ08nOiAnZGQvTU0veXl5eScsXG4gICdlcy1DUic6ICdkZC9NTS95eXl5JyxcbiAgJ2VzLURPJzogJ2RkL01NL3l5eXknLFxuICAnZXMtRUMnOiAnZGQvTU0veXl5eScsXG4gICdlcy1FUyc6ICdkZC9NTS95eXl5JyxcbiAgJ2VzLUdUJzogJ2RkL01NL3l5eXknLFxuICAnZXMtSE4nOiAnZGQvTU0veXl5eScsXG4gICdlcy1NWCc6ICdkZC9NTS95eXl5JyxcbiAgJ2VzLU5JJzogJ2RkL01NL3l5eXknLFxuICAnZXMtUEEnOiAnTU0vZGQveXl5eScsXG4gICdlcy1QRSc6ICdkZC9NTS95eXl5JyxcbiAgJ2VzLVBSJzogJ2RkL01NL3l5eXknLFxuICAnZXMtUFknOiAnZGQvTU0veXl5eScsXG4gICdlcy1TVic6ICdkZC9NTS95eXl5JyxcbiAgJ2VzLVVTJzogJ01NL2RkL3l5eXknLFxuICAnZXMtVVknOiAnZGQvTU0veXl5eScsXG4gICdlcy1WRSc6ICdkZC9NTS95eXl5JyxcbiAgJ2V0LUVFJzogJ2RkLk1NLnl5eXknLFxuICAnZXUtRVMnOiAneXl5eS9NTS9kZCcsXG4gICdmYS1JUic6ICdNTS9kZC95eXl5JyxcbiAgJ2ZpLUZJJzogJ2RkLk1NLnl5eXknLFxuICAnZmlsLVBIJzogJ01NL2RkL3l5eXknLFxuICAnZm8tRk8nOiAnZGQtTU0teXl5eScsXG4gICdmci1CRSc6ICdkZC9NTS95eXl5JyxcbiAgJ2ZyLUNBJzogJ3l5eXktTU0tZGQnLFxuICAnZnItQ0gnOiAnZGQuTU0ueXl5eScsXG4gICdmci1GUic6ICdkZC9NTS95eXl5JyxcbiAgJ2ZyLUxVJzogJ2RkL01NL3l5eXknLFxuICAnZnItTUMnOiAnZGQvTU0veXl5eScsXG4gICdmeS1OTCc6ICdkZC1NTS15eXl5JyxcbiAgJ2dhLUlFJzogJ2RkL01NL3l5eXknLFxuICAnZ2QtR0InOiAnZGQvTU0veXl5eScsXG4gICdnbC1FUyc6ICdkZC9NTS95eXl5JyxcbiAgJ2dzdy1GUic6ICdkZC9NTS95eXl5JyxcbiAgJ2d1LUlOJzogJ2RkLU1NLXl5eXknLFxuICAnaGEtTGF0bi1ORyc6ICdkZC9NTS95eXl5JyxcbiAgJ2hlLUlMJzogJ2RkL01NL3l5eXknLFxuICAnaGktSU4nOiAnZGQtTU0teXl5eScsXG4gICdoci1CQSc6ICdkZC5NTS55eXl5LicsXG4gICdoci1IUic6ICdkZC5NTS55eXl5JyxcbiAgJ2hzYi1ERSc6ICdkZC5NTS55eXl5JyxcbiAgJ2h1LUhVJzogJ3l5eXkuTU0uZGQuJyxcbiAgJ2h5LUFNJzogJ2RkLk1NLnl5eXknLFxuICAnaWQtSUQnOiAnZGQvTU0veXl5eScsXG4gICdpZy1ORyc6ICdkZC9NTS95eXl5JyxcbiAgJ2lpLUNOJzogJ3l5eXkvTU0vZGQnLFxuICAnaXMtSVMnOiAnZGQuTU0ueXl5eScsXG4gICdpdC1DSCc6ICdkZC5NTS55eXl5JyxcbiAgJ2l0LUlUJzogJ2RkL01NL3l5eXknLFxuICAnaXUtQ2Fucy1DQSc6ICdkZC9NTS95eXl5JyxcbiAgJ2l1LUxhdG4tQ0EnOiAnZGQvTU0veXl5eScsXG4gICdqYS1KUCc6ICd5eXl5L01NL2RkJyxcbiAgJ2thLUdFJzogJ2RkLk1NLnl5eXknLFxuICAna2stS1onOiAnZGQuTU0ueXl5eScsXG4gICdrbC1HTCc6ICdkZC1NTS15eXl5JyxcbiAgJ2ttLUtIJzogJ3l5eXktTU0tZGQnLFxuICAna24tSU4nOiAnZGQtTU0teXl5eScsXG4gICdrby1LUic6ICd5eXl5Lk1NLmRkJyxcbiAgJ2tvay1JTic6ICdkZC1NTS15eXl5JyxcbiAgJ2t5LUtHJzogJ2RkLk1NLnl5eXknLFxuICAnbGItTFUnOiAnZGQvTU0veXl5eScsXG4gICdsby1MQSc6ICdkZC9NTS95eXl5JyxcbiAgJ2x0LUxUJzogJ3l5eXkuTU0uZGQnLFxuICAnbHYtTFYnOiAneXl5eS5NTS5kZC4nLFxuICAnbWktTlonOiAnZGQvTU0veXl5eScsXG4gICdtay1NSyc6ICdkZC5NTS55eXl5JyxcbiAgJ21sLUlOJzogJ2RkLU1NLXl5eXknLFxuICAnbW4tTU4nOiAneXl5eS5NTS5kZCcsXG4gICdtbi1Nb25nLUNOJzogJ3l5eXkvTU0vZGQnLFxuICAnbW9oLUNBJzogJ01NL2RkL3l5eXknLFxuICAnbXItSU4nOiAnZGQtTU0teXl5eScsXG4gICdtcy1CTic6ICdkZC9NTS95eXl5JyxcbiAgJ21zLU1ZJzogJ2RkL01NL3l5eXknLFxuICAnbXQtTVQnOiAnZGQvTU0veXl5eScsXG4gICduYi1OTyc6ICdkZC5NTS55eXl5JyxcbiAgJ25lLU5QJzogJ01NL2RkL3l5eXknLFxuICAnbmwtQkUnOiAnZGQvTU0veXl5eScsXG4gICdubC1OTCc6ICdkZC1NTS15eXl5JyxcbiAgJ25uLU5PJzogJ2RkLk1NLnl5eXknLFxuICAnbnNvLVpBJzogJ3l5eXkvTU0vZGQnLFxuICAnb2MtRlInOiAnZGQvTU0veXl5eScsXG4gICdvci1JTic6ICdkZC1NTS15eXl5JyxcbiAgJ3BhLUlOJzogJ2RkLU1NLXl5eXknLFxuICAncGwtUEwnOiAnZGQuTU0ueXl5eScsXG4gICdwcnMtQUYnOiAnZGQvTU0veXl5eScsXG4gICdwcy1BRic6ICdkZC9NTS95eXl5JyxcbiAgJ3B0LUJSJzogJ2RkL01NL3l5eXknLFxuICAncHQtUFQnOiAnZGQtTU0teXl5eScsXG4gICdxdXQtR1QnOiAnZGQvTU0veXl5eScsXG4gICdxdXotQk8nOiAnZGQvTU0veXl5eScsXG4gICdxdXotRUMnOiAnZGQvTU0veXl5eScsXG4gICdxdXotUEUnOiAnZGQvTU0veXl5eScsXG4gICdybS1DSCc6ICdkZC9NTS95eXl5JyxcbiAgJ3JvLVJPJzogJ2RkLk1NLnl5eXknLFxuICAncnUtUlUnOiAnZGQuTU0ueXl5eScsXG4gICdydy1SVyc6ICdNTS9kZC95eXl5JyxcbiAgJ3NhLUlOJzogJ2RkLU1NLXl5eXknLFxuICAnc2FoLVJVJzogJ01NLmRkLnl5eXknLFxuICBzZTogJ3l5eXktTU0tZGQnLFxuICAnc2UtRkknOiAnZGQuTU0ueXl5eScsXG4gICdzZS1OTyc6ICdkZC5NTS55eXl5JyxcbiAgJ3NlLVNFJzogJ3l5eXktTU0tZGQnLFxuICAnc2ktTEsnOiAneXl5eS1NTS1kZCcsXG4gICdzay1TSyc6ICdkZC5NTS55eXl5JyxcbiAgJ3NsLVNJJzogJ2RkLk1NLnl5eXknLFxuICAnc21hLU5PJzogJ2RkLk1NLnl5eXknLFxuICAnc21hLVNFJzogJ3l5eXktTU0tZGQnLFxuICAnc21qLU5PJzogJ2RkLk1NLnl5eXknLFxuICAnc21qLVNFJzogJ3l5eXktTU0tZGQnLFxuICAnc21uLUZJJzogJ2RkLk1NLnl5eXknLFxuICAnc21zLUZJJzogJ2RkLk1NLnl5eXknLFxuICAnc3EtQUwnOiAneXl5eS1NTS1kZCcsXG4gICdzci1DeXJsLUJBJzogJ2RkLk1NLnl5eXknLFxuICAnc3ItQ3lybC1DUyc6ICdkZC5NTS55eXl5JyxcbiAgJ3NyLUN5cmwtTUUnOiAnZGQuTU0ueXl5eScsXG4gICdzci1DeXJsLVJTJzogJ2RkLk1NLnl5eXknLFxuICAnc3ItTGF0bi1CQSc6ICdkZC5NTS55eXl5JyxcbiAgJ3NyLUxhdG4tQ1MnOiAnZGQuTU0ueXl5eScsXG4gICdzci1MYXRuLU1FJzogJ2RkLk1NLnl5eXknLFxuICAnc3ItTGF0bi1SUyc6ICdkZC5NTS55eXl5JyxcbiAgc3Y6ICd5eXl5LU1NLWRkJyxcbiAgJ3N2LUZJJzogJ2RkLk1NLnl5eXknLFxuICAnc3YtU0UnOiAneXl5eS1NTS1kZCcsXG4gICdzdy1LRSc6ICdNTS9kZC95eXl5JyxcbiAgJ3N5ci1TWSc6ICdkZC9NTS95eXl5JyxcbiAgJ3RhLUlOJzogJ2RkLU1NLXl5eXknLFxuICAndGUtSU4nOiAnZGQtTU0teXl5eScsXG4gICd0Zy1DeXJsLVRKJzogJ2RkLk1NLnl5eXknLFxuICAndGgtVEgnOiAnZGQvTU0veXl5eScsXG4gICd0ay1UTSc6ICdkZC5NTS55eXl5JyxcbiAgJ3RuLVpBJzogJ3l5eXkvTU0vZGQnLFxuICAndHItVFInOiAnZGQuTU0ueXl5eScsXG4gICd0dC1SVSc6ICdkZC5NTS55eXl5JyxcbiAgJ3R6bS1MYXRuLURaJzogJ2RkLU1NLXl5eXknLFxuICAndWctQ04nOiAneXl5eS1NTS1kZCcsXG4gICd1ay1VQSc6ICdkZC5NTS55eXl5JyxcbiAgJ3VyLVBLJzogJ2RkL01NL3l5eXknLFxuICAndXotQ3lybC1VWic6ICdkZC5NTS55eXl5JyxcbiAgJ3V6LUxhdG4tVVonOiAnZGQvTU0geXl5eScsXG4gICd2aS1WTic6ICdkZC9NTS95eXl5JyxcbiAgJ3dvLVNOJzogJ2RkL01NL3l5eXknLFxuICAneGgtWkEnOiAneXl5eS9NTS9kZCcsXG4gICd5by1ORyc6ICdkZC9NTS95eXl5JyxcbiAgJ3poLUNOJzogJ3l5eXkvTU0vZGQnLFxuICAnemgtSEsnOiAnZGQvTU0veXl5eScsXG4gICd6aC1NTyc6ICdkZC9NTS95eXl5JyxcbiAgJ3poLVNHJzogJ2RkL01NL3l5eXknLFxuICAnemgtVFcnOiAneXl5eS9NTS9kZCcsXG4gICd6dS1aQSc6ICd5eXl5L01NL2RkJyxcbn1cbmV4cG9ydCBjb25zdCBnZXRGb3JtYXREYXRlTWFzayA9IChcbiAgZm9ybWF0OiBzdHJpbmcsXG4gIGRhdGVDaGFyYWN0ZXJzPzogRGF0ZUNoYXJhY3RlcnMsXG4pID0+IHtcbiAgY29uc3Qgc2VwYXJhdG9ycyA9IFsnICcsICcuJywgJy0nLCAnLyddXG4gIGNvbnN0IHNlcGFyYXRvciA9XG4gICAgc2VwYXJhdG9ycy5maW5kKChvcGVyYXRvcikgPT4gZm9ybWF0LmluZGV4T2Yob3BlcmF0b3IpID4gLTEpID8/ICctJ1xuICBjb25zdCBkYXRlT2JqZWN0cyA9IGZvcm1hdC5zcGxpdChzZXBhcmF0b3IpXG4gIGNvbnN0IHllYXI6IHsga2V5OiBzdHJpbmc7IGluZGV4OiBudW1iZXIgfSA9IHsga2V5OiAneWVhcicsIGluZGV4OiAwIH0sXG4gICAgbW9udGg6IHsga2V5OiBzdHJpbmc7IGluZGV4OiBudW1iZXIgfSA9IHsga2V5OiAnbW9udGgnLCBpbmRleDogMSB9LFxuICAgIGRheTogeyBrZXk6IHN0cmluZzsgaW5kZXg6IG51bWJlciB9ID0geyBrZXk6ICdkYXknLCBpbmRleDogMiB9XG5cbiAgZGF0ZU9iamVjdHMuZm9yRWFjaCgoZGF0ZU9iamVjdCwgaW5kZXgpID0+IHtcbiAgICBzd2l0Y2ggKGRhdGVPYmplY3RbMF0pIHtcbiAgICAgIGNhc2UgJ3knOlxuICAgICAgICB5ZWFyLmluZGV4ID0gaW5kZXhcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ20nOlxuICAgICAgICBtb250aC5pbmRleCA9IGluZGV4XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdkJzpcbiAgICAgICAgZGF5LmluZGV4ID0gaW5kZXhcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH0pXG4gIGNvbnN0IHBsYWNlaG9sZGVyID0gc2V0RGF0ZUZvcm1hdENoYXJhY3RlcnMoZm9ybWF0LCBkYXRlQ2hhcmFjdGVycylcblxuICByZXR1cm4gY3JlYXRlTWFzazxEYXRlPih7XG4gICAgYWxpYXM6ICdkYXRldGltZScsXG4gICAgaW5wdXRGb3JtYXQ6IGZvcm1hdCxcbiAgICBwbGFjZWhvbGRlcixcbiAgICBwYXJzZXI6ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZS5zcGxpdChzZXBhcmF0b3IpXG4gICAgICBjb25zdCB5ID0gK3ZhbHVlc1t5ZWFyLmluZGV4XVxuICAgICAgY29uc3QgbSA9ICt2YWx1ZXNbbW9udGguaW5kZXhdIC0gMVxuICAgICAgY29uc3QgZCA9ICt2YWx1ZXNbZGF5LmluZGV4XVxuICAgICAgcmV0dXJuIG5ldyBEYXRlKHksIG0sIGQpXG4gICAgfSxcbiAgICBvbkJlZm9yZU1hc2soaW5pdGlhbFZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIGlmICghaW5pdGlhbFZhbHVlIHx8IHR5cGVvZiBpbml0aWFsVmFsdWUgIT09ICdzdHJpbmcnKSByZXR1cm4gJydcbiAgICAgIC8vIElmIGluaXRpYWxWYWx1ZXMgaXMgaW4gZGF0ZVRpbWUgZm9ybWF0LCByZW1vdmUgc2Vjb25kcyB0aGF0IHByZXNlbnQgYWZ0ZXIgdGhlIFwiVFwiXG4gICAgICBpZiAoaW5pdGlhbFZhbHVlLmluY2x1ZGVzKCdUJykpIGluaXRpYWxWYWx1ZSA9IGluaXRpYWxWYWx1ZS5zcGxpdCgnVCcpWzBdXG4gICAgICAvLyBpbml0aWFsVmFsdWUgc2hvdWxkIGFsd2F5cyBiZSBpbiB5eXl5LW1tLWRkIG5vIG1hdHRlciBpZiBzZXQgZnJvbSBjb250cm9sLCB2aWEgZGF0ZXBpY2tlciBvciBtYW51YWxseSB3aXRoIGtleWJvYXJkXG4gICAgICBjb25zdCB2YWx1ZXMgPSBpbml0aWFsVmFsdWUuc3BsaXQoJy0nKVxuICAgICAgY29uc3QgZGF0ZVBhcnRzSW5PcmRlciA9IFt5ZWFyLCBtb250aCwgZGF5XS5zb3J0KFxuICAgICAgICAoYSwgYikgPT4gYS5pbmRleCAtIGIuaW5kZXgsXG4gICAgICApXG4gICAgICAvLyBcIkluc2VydFwiIGNvcnJlY3QgdmFsdWVzIGZvciB0aGUgeWVhci9tb250aC9kYXksIHRoZW4gam9pbiB0byBzdHJpbmcgd2l0aCBzZXBhcmF0b3JcbiAgICAgIHJldHVybiBkYXRlUGFydHNJbk9yZGVyXG4gICAgICAgIC5tYXAoKHsga2V5IH0pID0+IHtcbiAgICAgICAgICBjb25zdCBbeWVhclZhbHVlLCBtb250aFZhbHVlLCBkYXRlVmFsdWVdID0gdmFsdWVzXG4gICAgICAgICAgaWYgKGtleSA9PT0gJ3llYXInKSByZXR1cm4geWVhclZhbHVlXG4gICAgICAgICAgaWYgKGtleSA9PT0gJ21vbnRoJykgcmV0dXJuIG1vbnRoVmFsdWVcbiAgICAgICAgICByZXR1cm4gZGF0ZVZhbHVlXG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKHNlcGFyYXRvcilcbiAgICB9LFxuICB9KVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVDaGFyYWN0ZXJzIHtcbiAgeWVhcjogc3RyaW5nXG4gIG1vbnRoOiBzdHJpbmdcbiAgZGF5OiBzdHJpbmdcbn1cbmV4cG9ydCBjb25zdCBzZXREYXRlRm9ybWF0Q2hhcmFjdGVycyA9IChcbiAgZm9ybWF0OiBzdHJpbmcsXG4gIGRhdGVDaGFyYWN0ZXJzPzogRGF0ZUNoYXJhY3RlcnMsXG4pID0+IHtcbiAgaWYgKCFkYXRlQ2hhcmFjdGVycykgcmV0dXJuIGZvcm1hdFxuICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgveS9nLCBkYXRlQ2hhcmFjdGVycy55ZWFyKVxuICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgvbS9nLCBkYXRlQ2hhcmFjdGVycy5tb250aClcbiAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoL2QvZywgZGF0ZUNoYXJhY3RlcnMuZGF5KVxuICByZXR1cm4gZm9ybWF0XG59XG4iXX0=