@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,62 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DropdownUtils {
4
- flattenOptions(options, mustHaveLabel) {
5
- if (!options)
6
- return [];
7
- return options.reduce((acc, current) => {
8
- if (this.isGroup(current))
9
- return acc.concat(this.flattenOptions(current.options, mustHaveLabel));
10
- if (!current.disabled && !(mustHaveLabel && !current.label))
11
- acc.push(current); // skip disabled
12
- return acc;
13
- }, []);
14
- }
15
- /**
16
- * Returns true if argument is an {@link OptionGroup}.
17
- * @param option the object to check.
18
- */
19
- isGroup(option) {
20
- return 'options' in option;
21
- }
22
- deepEqual(original, change) {
23
- if (original === change)
24
- return true;
25
- // breaks early if either original or change is a primitive value
26
- if (typeof original !== 'object' ||
27
- typeof change !== 'object' ||
28
- original == null ||
29
- change == null)
30
- return false;
31
- const keysOriginal = Object.keys(original);
32
- const keysChange = Object.keys(change);
33
- if (keysOriginal.length !== keysChange.length)
34
- return false;
35
- for (const key of keysOriginal) {
36
- if (!keysChange.includes(key))
37
- return false;
38
- switch (true) {
39
- case Array.isArray(original[key]) && Array.isArray(change[key]):
40
- if (JSON.stringify(original[key].sort()) !==
41
- JSON.stringify(change[key].sort()))
42
- return false;
43
- break;
44
- case typeof original[key] === 'function':
45
- case typeof change[key] === 'function':
46
- if (original[key].toString() !== change[key].toString())
47
- return false;
48
- break;
49
- default:
50
- if (!this.deepEqual(original[key], change[key]))
51
- return false;
52
- }
53
- }
54
- return true;
55
- }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownUtils, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
57
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownUtils }); }
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownUtils, decorators: [{
60
- type: Injectable
61
- }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2NvcmUvY29yZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQWlCMUMsTUFBTSxPQUFPLGFBQWE7SUFLakIsY0FBYyxDQUNuQixPQUFvQyxFQUNwQyxhQUFzQjtRQUV0QixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBUyxDQUFBO1FBQzlCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2dCQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUE7WUFDeEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3pELEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQyxnQkFBZ0I7WUFDcEMsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDLEVBQUUsRUFBUyxDQUFDLENBQUE7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLE1BQXFCO1FBQ2xDLE9BQU8sU0FBUyxJQUFJLE1BQU0sQ0FBQTtJQUM1QixDQUFDO0lBRU0sU0FBUyxDQUFDLFFBQWEsRUFBRSxNQUFXO1FBQ3pDLElBQUksUUFBUSxLQUFLLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQTtRQUVwQyxpRUFBaUU7UUFDakUsSUFDRSxPQUFPLFFBQVEsS0FBSyxRQUFRO1lBQzVCLE9BQU8sTUFBTSxLQUFLLFFBQVE7WUFDMUIsUUFBUSxJQUFJLElBQUk7WUFDaEIsTUFBTSxJQUFJLElBQUk7WUFFZCxPQUFPLEtBQUssQ0FBQTtRQUVkLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUV0QyxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQTtRQUUzRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQTtZQUUzQyxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNiLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0QsSUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBRWxDLE9BQU8sS0FBSyxDQUFBO29CQUNkLE1BQUs7Z0JBQ1AsS0FBSyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUM7Z0JBQ3pDLEtBQUssT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVTtvQkFDcEMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRTt3QkFBRSxPQUFPLEtBQUssQ0FBQTtvQkFDckUsTUFBSztnQkFDUDtvQkFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sS0FBSyxDQUFBO1lBQ2pFLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDOytHQWpFVSxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb248SywgVj4ge1xuICBrZXk6IEtcbiAgbGFiZWw6IFZcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uR3JvdXA8VCBleHRlbmRzIE9wdGlvbjxhbnksIGFueT4+IHtcbiAgbGFiZWw6IHN0cmluZ1xuICBvcHRpb25zOiBUW11cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIE9wdGlvbkJhc2U8VCBleHRlbmRzIE9wdGlvbjxhbnksIGFueT4+ID0gVCB8IE9wdGlvbkdyb3VwPFQ+XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcm9wZG93blV0aWxzPFxuICBLID0gc3RyaW5nIHwgbnVsbCxcbiAgViA9IHN0cmluZyxcbiAgVCBleHRlbmRzIE9wdGlvbjxLLCBWPiA9IE9wdGlvbjxLLCBWPixcbj4ge1xuICBwdWJsaWMgZmxhdHRlbk9wdGlvbnMoXG4gICAgb3B0aW9uczogT3B0aW9uQmFzZTxUPltdIHwgdW5kZWZpbmVkLFxuICAgIG11c3RIYXZlTGFiZWw6IGJvb2xlYW4sXG4gICk6IFRbXSB7XG4gICAgaWYgKCFvcHRpb25zKSByZXR1cm4gW10gYXMgVFtdXG4gICAgcmV0dXJuIG9wdGlvbnMucmVkdWNlKChhY2MsIGN1cnJlbnQpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzR3JvdXAoY3VycmVudCkpXG4gICAgICAgIHJldHVybiBhY2MuY29uY2F0KHRoaXMuZmxhdHRlbk9wdGlvbnMoY3VycmVudC5vcHRpb25zLCBtdXN0SGF2ZUxhYmVsKSlcbiAgICAgIGlmICghY3VycmVudC5kaXNhYmxlZCAmJiAhKG11c3RIYXZlTGFiZWwgJiYgIWN1cnJlbnQubGFiZWwpKVxuICAgICAgICBhY2MucHVzaChjdXJyZW50KSAvLyBza2lwIGRpc2FibGVkXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwgW10gYXMgVFtdKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhcmd1bWVudCBpcyBhbiB7QGxpbmsgT3B0aW9uR3JvdXB9LlxuICAgKiBAcGFyYW0gb3B0aW9uIHRoZSBvYmplY3QgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgaXNHcm91cChvcHRpb246IE9wdGlvbkJhc2U8VD4pOiBvcHRpb24gaXMgT3B0aW9uR3JvdXA8VD4ge1xuICAgIHJldHVybiAnb3B0aW9ucycgaW4gb3B0aW9uXG4gIH1cblxuICBwdWJsaWMgZGVlcEVxdWFsKG9yaWdpbmFsOiBhbnksIGNoYW5nZTogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKG9yaWdpbmFsID09PSBjaGFuZ2UpIHJldHVybiB0cnVlXG5cbiAgICAvLyBicmVha3MgZWFybHkgaWYgZWl0aGVyIG9yaWdpbmFsIG9yIGNoYW5nZSBpcyBhIHByaW1pdGl2ZSB2YWx1ZVxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBvcmlnaW5hbCAhPT0gJ29iamVjdCcgfHxcbiAgICAgIHR5cGVvZiBjaGFuZ2UgIT09ICdvYmplY3QnIHx8XG4gICAgICBvcmlnaW5hbCA9PSBudWxsIHx8XG4gICAgICBjaGFuZ2UgPT0gbnVsbFxuICAgIClcbiAgICAgIHJldHVybiBmYWxzZVxuXG4gICAgY29uc3Qga2V5c09yaWdpbmFsID0gT2JqZWN0LmtleXMob3JpZ2luYWwpXG4gICAgY29uc3Qga2V5c0NoYW5nZSA9IE9iamVjdC5rZXlzKGNoYW5nZSlcblxuICAgIGlmIChrZXlzT3JpZ2luYWwubGVuZ3RoICE9PSBrZXlzQ2hhbmdlLmxlbmd0aCkgcmV0dXJuIGZhbHNlXG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzT3JpZ2luYWwpIHtcbiAgICAgIGlmICgha2V5c0NoYW5nZS5pbmNsdWRlcyhrZXkpKSByZXR1cm4gZmFsc2VcblxuICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgIGNhc2UgQXJyYXkuaXNBcnJheShvcmlnaW5hbFtrZXldKSAmJiBBcnJheS5pc0FycmF5KGNoYW5nZVtrZXldKTpcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShvcmlnaW5hbFtrZXldLnNvcnQoKSkgIT09XG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShjaGFuZ2Vba2V5XS5zb3J0KCkpXG4gICAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSB0eXBlb2Ygb3JpZ2luYWxba2V5XSA9PT0gJ2Z1bmN0aW9uJzpcbiAgICAgICAgY2FzZSB0eXBlb2YgY2hhbmdlW2tleV0gPT09ICdmdW5jdGlvbic6XG4gICAgICAgICAgaWYgKG9yaWdpbmFsW2tleV0udG9TdHJpbmcoKSAhPT0gY2hhbmdlW2tleV0udG9TdHJpbmcoKSkgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAoIXRoaXMuZGVlcEVxdWFsKG9yaWdpbmFsW2tleV0sIGNoYW5nZVtrZXldKSkgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- export * from './core.globals';
2
- export * from './core.utils';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9jb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvcmUuZ2xvYmFscydcbmV4cG9ydCAqIGZyb20gJy4vY29yZS51dGlscydcbiJdfQ==
@@ -1,200 +0,0 @@
1
- import { WeekDay } from '@angular/common';
2
- import { Component, EventEmitter, HostListener, Input, Output, QueryList, ViewChildren, } from '@angular/core';
3
- import { generateDateMatrix, getDayOffset, sortWeekDays, } from '../../datepicker.utils';
4
- import { CalendarDateDirective } from '../../directives/calendar-date.directive';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../../directives/calendar-date.directive";
8
- import * as i3 from "../../pipes/is-disabled.pipe";
9
- import * as i4 from "../../pipes/date-thook.pipe";
10
- import * as i5 from "../../pipes/matches.pipe";
11
- export class CalendarComponent {
12
- constructor() {
13
- this.dateClick = new EventEmitter();
14
- this.minCalendarRows = 5;
15
- this.firstDayOfWeek = WeekDay.Monday;
16
- this.type = 'normal';
17
- this.dateMatrix = [[]];
18
- this.disableDateConfig = {};
19
- this.lastDayOfWeek = WeekDay.Sunday;
20
- }
21
- // inputs that affects which dates in the calendar should be grayed out
22
- set disableDates(value) {
23
- this.updateDisableDateConfig({ excludeDates: value ?? [] });
24
- }
25
- set disableWeekDays(value) {
26
- this.updateDisableDateConfig({ excludeDays: value });
27
- }
28
- set firstValid(value) {
29
- this.updateDisableDateConfig({ fromDate: value });
30
- }
31
- set lastValid(value) {
32
- this.updateDisableDateConfig({ toDate: value });
33
- }
34
- set closingTime(value) {
35
- this.updateDisableDateConfig({ closingTime: value });
36
- }
37
- ngOnChanges(changes) {
38
- if (changes.selected?.currentValue) {
39
- this.selected = new Date(changes.selected.currentValue);
40
- }
41
- if (changes.firstDayOfWeek?.currentValue) {
42
- this.lastDayOfWeek = sortWeekDays(changes.firstDayOfWeek.currentValue).pop();
43
- }
44
- if ((changes.month?.currentValue !== undefined &&
45
- changes.month?.currentValue !== null) ||
46
- !!changes.year?.currentValue ||
47
- !!changes.firstDayOfWeek?.currentValue ||
48
- !!changes.minCalendarRows?.currentValue) {
49
- this.dateMatrix = generateDateMatrix(this.month, this.year, this.minCalendarRows, this.firstDayOfWeek);
50
- }
51
- }
52
- clickDate(date) {
53
- this.dateClick.emit(date);
54
- }
55
- keyNavigation(event) {
56
- let activeElement;
57
- if (event.key !== 'Tab')
58
- activeElement = document.activeElement;
59
- if (event.key === 'ArrowRight') {
60
- const nextFocusable = this.getNextFocusable(activeElement);
61
- if (nextFocusable)
62
- nextFocusable.focus();
63
- }
64
- if (event.key === 'ArrowLeft') {
65
- const nextFocusable = this.getPreviousFocusable(activeElement);
66
- if (nextFocusable)
67
- nextFocusable.focus();
68
- }
69
- if (event.key === 'ArrowUp') {
70
- event.preventDefault();
71
- const nextFocusable = this.getElementWithOffset(activeElement, -7);
72
- if (nextFocusable)
73
- nextFocusable.focus();
74
- }
75
- if (event.key === 'ArrowDown') {
76
- event.preventDefault();
77
- const nextFocusable = this.getElementWithOffset(activeElement, 7);
78
- if (nextFocusable)
79
- nextFocusable.focus();
80
- }
81
- if (event.key === 'Enter' || event.key === 'Space') {
82
- if (activeElement) {
83
- const dateRef = this.dateButtonRefs.find((ref) => ref.nativeElement === activeElement);
84
- if (!dateRef?.disabled) {
85
- this.dateClick.emit(dateRef?.calendarDate);
86
- }
87
- }
88
- }
89
- if (event.key === 'Home') {
90
- event.preventDefault();
91
- const nextFocusable = this.firstDayOfWeekElement();
92
- if (nextFocusable)
93
- nextFocusable.focus();
94
- }
95
- if (event.key === 'End') {
96
- event.preventDefault();
97
- const nextFocusable = this.lastDayOfWeekElement();
98
- if (nextFocusable)
99
- nextFocusable.focus();
100
- }
101
- }
102
- getElementWithOffset(fromElement, offsetDays, returnOnlyEnabled = true) {
103
- if (!fromElement)
104
- return;
105
- const fromIndex = this.dateButtonRefs
106
- .toArray()
107
- .map((ref) => ref.nativeElement)
108
- .indexOf(fromElement);
109
- const next = this.dateButtonRefs.get(fromIndex + offsetDays);
110
- if (!next)
111
- return;
112
- if (returnOnlyEnabled && next.disabled)
113
- return this.getElementWithOffset(next.nativeElement, offsetDays);
114
- return next.nativeElement;
115
- }
116
- getNextFocusable(fromElement) {
117
- if (!fromElement)
118
- return;
119
- return this.getElementWithOffset(fromElement, 1);
120
- }
121
- getPreviousFocusable(fromElement) {
122
- if (!fromElement)
123
- return;
124
- return this.getElementWithOffset(fromElement, -1);
125
- }
126
- firstDayOfWeekElement() {
127
- const activeElement = document.activeElement;
128
- if (!activeElement)
129
- return;
130
- const dateRef = this.dateButtonRefs.find((ref) => ref.nativeElement === activeElement);
131
- if (dateRef.calendarDate.getDay() === this.firstDayOfWeek)
132
- return;
133
- const offset = this.getDayOffset(dateRef.calendarDate.getDay(), this.firstDayOfWeek, 'back');
134
- const targetElement = this.getElementWithOffset(activeElement, offset, false);
135
- if (targetElement && targetElement.disabled)
136
- return this.getNextFocusable(targetElement);
137
- return targetElement;
138
- }
139
- lastDayOfWeekElement() {
140
- const activeElement = document.activeElement;
141
- if (!activeElement)
142
- return;
143
- const dateRef = this.dateButtonRefs.find((ref) => ref.nativeElement === activeElement);
144
- if (dateRef.calendarDate.getDay() === this.lastDayOfWeek)
145
- return;
146
- const offset = this.getDayOffset(dateRef.calendarDate.getDay(), this.lastDayOfWeek, 'forward');
147
- const targetElement = this.getElementWithOffset(activeElement, offset, false);
148
- if (targetElement && targetElement.disabled)
149
- return this.getPreviousFocusable(targetElement);
150
- return targetElement;
151
- }
152
- getDayOffset(from, to, direction) {
153
- return getDayOffset(from, to, this.firstDayOfWeek, direction);
154
- }
155
- updateDisableDateConfig(config) {
156
- this.disableDateConfig = {
157
- ...this.disableDateConfig,
158
- ...config,
159
- };
160
- }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
162
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CalendarComponent, selector: "nggv-calendar", inputs: { year: "year", month: "month", selected: "selected", locale: "locale", minCalendarRows: "minCalendarRows", firstDayOfWeek: "firstDayOfWeek", type: "type", disableDates: "disableDates", disableWeekDays: "disableWeekDays", firstValid: "firstValid", lastValid: "lastValid", closingTime: "closingTime" }, outputs: { dateClick: "dateClick" }, host: { listeners: { "keydown": "keyNavigation($event)" } }, viewQueries: [{ propertyName: "dateButtonRefs", predicate: CalendarDateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let weekRow of dateMatrix\">\n <div class=\"nggv-calendar-row\">\n <button\n *ngFor=\"let date of weekRow\"\n class=\"gds-button gds-button-alternative\"\n [attr.data-thook]=\"\n date | dateThook: (date | isDisabled: disableDateConfig)\n \"\n [attr.aria-label]=\"date\"\n [calendarDate]=\"date\"\n [notWithinMonth]=\"!(month === date?.getMonth())\"\n [selected]=\"date | matches: selected\"\n [disabled]=\"date | isDisabled: disableDateConfig\"\n (click)=\"clickDate(date)\"\n >\n {{ date | date: 'd' : undefined : locale }}\n </button>\n </div>\n</ng-container>\n", styles: [":host{--sg-border-color: transparent;--sg-border-width: 0;--sg-border-radius: 4px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}:host .nggv-calendar-row{display:flex;padding:2px;gap:1px}:host .nggv-calendar-row>*{line-height:2.5rem;padding:0;display:block;flex-grow:1;text-align:center;width:20%;color:#333}:host .nggv-calendar-row>*:disabled{border:0 solid transparent}:host .nggv-calendar-row>button{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;width:15%;background:transparent;width:44px;height:44px;border-radius:4px;font-size:1rem;font-family:inherit}:host .nggv-calendar-row>button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-calendar-row>button:focus,:host .nggv-calendar-row>button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .nggv-calendar-row>button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .nggv-calendar-row>button{border:2px solid currentcolor}}:host .nggv-calendar-row>button.small{min-height:2rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1rem}:host .nggv-calendar-row>button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .nggv-calendar-row>button:not([disabled]):hover{background-color:#e9e9e9}:host .nggv-calendar-row>button:not([disabled]):focus{z-index:1;outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-calendar-row>button[disabled]{background-color:#eee;color:#adadad}:host .nggv-calendar-row>button.today{border:1px solid #333}:host .nggv-calendar-row>button.not-within-month:not([disabled]){color:#adadad;background-color:#f8f8f8}:host .nggv-calendar-row>button.not-within-month:not([disabled]):hover{background-color:#e9e9e9}:host .nggv-calendar-row>button.selected:not([disabled]){background-color:#1a1a1a;border-color:#1a1a1a;text-decoration:none;color:#fff}@media (max-width: 35.98em){:host .nggv-calendar-row>button{min-width:initial}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.CalendarDateDirective, selector: "[calendarDate]", inputs: ["calendarDate", "selected", "notWithinMonth", "disabled"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i3.IsDisabledPipe, name: "isDisabled" }, { kind: "pipe", type: i4.DateThookPipe, name: "dateThook" }, { kind: "pipe", type: i5.MatchesPipe, name: "matches" }] }); }
163
- }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, decorators: [{
165
- type: Component,
166
- args: [{ selector: 'nggv-calendar', template: "<ng-container *ngFor=\"let weekRow of dateMatrix\">\n <div class=\"nggv-calendar-row\">\n <button\n *ngFor=\"let date of weekRow\"\n class=\"gds-button gds-button-alternative\"\n [attr.data-thook]=\"\n date | dateThook: (date | isDisabled: disableDateConfig)\n \"\n [attr.aria-label]=\"date\"\n [calendarDate]=\"date\"\n [notWithinMonth]=\"!(month === date?.getMonth())\"\n [selected]=\"date | matches: selected\"\n [disabled]=\"date | isDisabled: disableDateConfig\"\n (click)=\"clickDate(date)\"\n >\n {{ date | date: 'd' : undefined : locale }}\n </button>\n </div>\n</ng-container>\n", styles: [":host{--sg-border-color: transparent;--sg-border-width: 0;--sg-border-radius: 4px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}:host .nggv-calendar-row{display:flex;padding:2px;gap:1px}:host .nggv-calendar-row>*{line-height:2.5rem;padding:0;display:block;flex-grow:1;text-align:center;width:20%;color:#333}:host .nggv-calendar-row>*:disabled{border:0 solid transparent}:host .nggv-calendar-row>button{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;width:15%;background:transparent;width:44px;height:44px;border-radius:4px;font-size:1rem;font-family:inherit}:host .nggv-calendar-row>button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-calendar-row>button:focus,:host .nggv-calendar-row>button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .nggv-calendar-row>button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .nggv-calendar-row>button{border:2px solid currentcolor}}:host .nggv-calendar-row>button.small{min-height:2rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1rem}:host .nggv-calendar-row>button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .nggv-calendar-row>button:not([disabled]):hover{background-color:#e9e9e9}:host .nggv-calendar-row>button:not([disabled]):focus{z-index:1;outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-calendar-row>button[disabled]{background-color:#eee;color:#adadad}:host .nggv-calendar-row>button.today{border:1px solid #333}:host .nggv-calendar-row>button.not-within-month:not([disabled]){color:#adadad;background-color:#f8f8f8}:host .nggv-calendar-row>button.not-within-month:not([disabled]):hover{background-color:#e9e9e9}:host .nggv-calendar-row>button.selected:not([disabled]){background-color:#1a1a1a;border-color:#1a1a1a;text-decoration:none;color:#fff}@media (max-width: 35.98em){:host .nggv-calendar-row>button{min-width:initial}}\n"] }]
167
- }], propDecorators: { dateClick: [{
168
- type: Output
169
- }], dateButtonRefs: [{
170
- type: ViewChildren,
171
- args: [CalendarDateDirective]
172
- }], year: [{
173
- type: Input
174
- }], month: [{
175
- type: Input
176
- }], selected: [{
177
- type: Input
178
- }], locale: [{
179
- type: Input
180
- }], minCalendarRows: [{
181
- type: Input
182
- }], firstDayOfWeek: [{
183
- type: Input
184
- }], type: [{
185
- type: Input
186
- }], disableDates: [{
187
- type: Input
188
- }], disableWeekDays: [{
189
- type: Input
190
- }], firstValid: [{
191
- type: Input
192
- }], lastValid: [{
193
- type: Input
194
- }], closingTime: [{
195
- type: Input
196
- }], keyNavigation: [{
197
- type: HostListener,
198
- args: ['keydown', ['$event']]
199
- }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDekMsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixZQUFZLEdBQ2IsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTs7Ozs7OztBQVNoRixNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVksY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFXckMsb0JBQWUsR0FBRyxDQUFDLENBQUE7UUFDbkIsbUJBQWMsR0FBWSxPQUFPLENBQUMsTUFBTSxDQUFBO1FBQ3hDLFNBQUksR0FBaUIsUUFBUSxDQUFBO1FBbUJ0QyxlQUFVLEdBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMzQixzQkFBaUIsR0FBc0IsRUFBRSxDQUFBO1FBRWpDLGtCQUFhLEdBQVksT0FBTyxDQUFDLE1BQU0sQ0FBQTtLQTZLaEQ7SUFqTUMsdUVBQXVFO0lBQ3ZFLElBQWEsWUFBWSxDQUFDLEtBQXlCO1FBQ2pELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBQ0QsSUFBYSxlQUFlLENBQUMsS0FBNEI7UUFDdkQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUNELElBQWEsVUFBVSxDQUFDLEtBQXVCO1FBQzdDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFDRCxJQUFhLFNBQVMsQ0FBQyxLQUF1QjtRQUM1QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsSUFBYSxXQUFXLENBQUMsS0FBdUI7UUFDOUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQU9ELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3pELENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQy9CLE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUNwQyxDQUFDLEdBQUcsRUFBYSxDQUFBO1FBQ3BCLENBQUM7UUFFRCxJQUNFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxZQUFZLEtBQUssU0FBUztZQUN4QyxPQUFPLENBQUMsS0FBSyxFQUFFLFlBQVksS0FBSyxJQUFJLENBQUM7WUFDdkMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWTtZQUM1QixDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxZQUFZO1lBQ3RDLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLFlBQVksRUFDdkMsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQ2xDLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsY0FBYyxDQUNwQixDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsSUFBVTtRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBR0QsYUFBYSxDQUFDLEtBQW9CO1FBQ2hDLElBQUksYUFBc0MsQ0FBQTtRQUMxQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSztZQUNyQixhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQTRCLENBQUE7UUFDdkQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQy9CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUMxRCxJQUFJLGFBQWE7Z0JBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzFDLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDOUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQzlELElBQUksYUFBYTtnQkFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDMUMsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDdEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2xFLElBQUksYUFBYTtnQkFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDMUMsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUM5QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDdEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNqRSxJQUFJLGFBQWE7Z0JBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzFDLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDbkQsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxLQUFLLGFBQWEsQ0FDN0MsQ0FBQTtnQkFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUE7Z0JBQzVDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN6QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDdEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7WUFDbEQsSUFBSSxhQUFhO2dCQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUMxQyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtZQUNqRCxJQUFJLGFBQWE7Z0JBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFdBQW9DLEVBQ3BDLFVBQWtCLEVBQ2xCLGlCQUFpQixHQUFHLElBQUk7UUFFeEIsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFNO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjO2FBQ2xDLE9BQU8sRUFBRTthQUNULEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQzthQUMvQixPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFBO1FBQzVELElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTTtRQUNqQixJQUFJLGlCQUFpQixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDbEUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFBO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxXQUFvQztRQUVwQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU07UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxvQkFBb0IsQ0FDbEIsV0FBb0M7UUFFcEMsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFNO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQTRCLENBQUE7UUFDM0QsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFNO1FBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0QyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsS0FBSyxhQUFhLENBQ3BCLENBQUE7UUFDMUIsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTTtRQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUM5QixPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUM3QixJQUFJLENBQUMsY0FBYyxFQUNuQixNQUFNLENBQ1AsQ0FBQTtRQUNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FDN0MsYUFBYSxFQUNiLE1BQU0sRUFDTixLQUFLLENBQ2UsQ0FBQTtRQUN0QixJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsUUFBUTtZQUN6QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUM3QyxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUE0QixDQUFBO1FBQzNELElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTTtRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEtBQUssYUFBYSxDQUNwQixDQUFBO1FBQzFCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU07UUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FDOUIsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFDN0IsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxDQUNWLENBQUE7UUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQzdDLGFBQWEsRUFDYixNQUFNLEVBQ04sS0FBSyxDQUNlLENBQUE7UUFDdEIsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLFFBQVE7WUFDekMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDakQsT0FBTyxhQUFhLENBQUE7SUFDdEIsQ0FBQztJQUVELFlBQVksQ0FDVixJQUFhLEVBQ2IsRUFBVyxFQUNYLFNBQThCO1FBRTlCLE9BQU8sWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBa0M7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHO1lBQ3ZCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QixHQUFHLE1BQU07U0FDVixDQUFBO0lBQ0gsQ0FBQzsrR0FoTlUsaUJBQWlCO21HQUFqQixpQkFBaUIsZ2ZBR2QscUJBQXFCLHFFQzlCckMsc3BCQW1CQTs7NEZEUWEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7OEJBS2YsU0FBUztzQkFBbEIsTUFBTTtnQkFHUCxjQUFjO3NCQURiLFlBQVk7dUJBQUMscUJBQXFCO2dCQUcxQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR08sWUFBWTtzQkFBeEIsS0FBSztnQkFHTyxlQUFlO3NCQUEzQixLQUFLO2dCQUdPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBR08sU0FBUztzQkFBckIsS0FBSztnQkFHTyxXQUFXO3NCQUF2QixLQUFLO2dCQXlDTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2Vla0RheSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7XG4gIGdlbmVyYXRlRGF0ZU1hdHJpeCxcbiAgZ2V0RGF5T2Zmc2V0LFxuICBzb3J0V2Vla0RheXMsXG59IGZyb20gJy4uLy4uL2RhdGVwaWNrZXIudXRpbHMnXG5pbXBvcnQgeyBDYWxlbmRhckRhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NhbGVuZGFyLWRhdGUuZGlyZWN0aXZlJ1xuXG5pbXBvcnQgdHlwZSB7IENhbGVuZGFyVHlwZSwgRGlzYWJsZURhdGVDb25maWcgfSBmcm9tICcuLi8uLi9kYXRlcGlja2VyLm1vZGVscydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIGRhdGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKVxuXG4gIEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXJEYXRlRGlyZWN0aXZlKVxuICBkYXRlQnV0dG9uUmVmcyE6IFF1ZXJ5TGlzdDxDYWxlbmRhckRhdGVEaXJlY3RpdmU+XG5cbiAgQElucHV0KCkgeWVhciE6IG51bWJlclxuICBASW5wdXQoKSBtb250aCE6IG51bWJlclxuICBASW5wdXQoKSBzZWxlY3RlZDogRGF0ZSB8IHVuZGVmaW5lZFxuXG4gIC8vIGlucHV0cyB0aGF0IGNvbmZpZ3VyZSBkaXNwbGF5IGJlaGF2aW91clxuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBASW5wdXQoKSBtaW5DYWxlbmRhclJvd3MgPSA1XG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrOiBXZWVrRGF5ID0gV2Vla0RheS5Nb25kYXlcbiAgQElucHV0KCkgdHlwZTogQ2FsZW5kYXJUeXBlID0gJ25vcm1hbCdcblxuICAvLyBpbnB1dHMgdGhhdCBhZmZlY3RzIHdoaWNoIGRhdGVzIGluIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgZ3JheWVkIG91dFxuICBASW5wdXQoKSBzZXQgZGlzYWJsZURhdGVzKHZhbHVlOiBEYXRlW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVEYXRlQ29uZmlnKHsgZXhjbHVkZURhdGVzOiB2YWx1ZSA/PyBbXSB9KVxuICB9XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlV2Vla0RheXModmFsdWU6IFdlZWtEYXlbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZURhdGVDb25maWcoeyBleGNsdWRlRGF5czogdmFsdWUgfSlcbiAgfVxuICBASW5wdXQoKSBzZXQgZmlyc3RWYWxpZCh2YWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZURhdGVDb25maWcoeyBmcm9tRGF0ZTogdmFsdWUgfSlcbiAgfVxuICBASW5wdXQoKSBzZXQgbGFzdFZhbGlkKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy51cGRhdGVEaXNhYmxlRGF0ZUNvbmZpZyh7IHRvRGF0ZTogdmFsdWUgfSlcbiAgfVxuICBASW5wdXQoKSBzZXQgY2xvc2luZ1RpbWUodmFsdWU6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVEYXRlQ29uZmlnKHsgY2xvc2luZ1RpbWU6IHZhbHVlIH0pXG4gIH1cblxuICBkYXRlTWF0cml4OiBEYXRlW11bXSA9IFtbXV1cbiAgZGlzYWJsZURhdGVDb25maWc6IERpc2FibGVEYXRlQ29uZmlnID0ge31cblxuICBwcml2YXRlIGxhc3REYXlPZldlZWs6IFdlZWtEYXkgPSBXZWVrRGF5LlN1bmRheVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZD8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gbmV3IERhdGUoY2hhbmdlcy5zZWxlY3RlZC5jdXJyZW50VmFsdWUpXG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuZmlyc3REYXlPZldlZWs/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5sYXN0RGF5T2ZXZWVrID0gc29ydFdlZWtEYXlzKFxuICAgICAgICBjaGFuZ2VzLmZpcnN0RGF5T2ZXZWVrLmN1cnJlbnRWYWx1ZSxcbiAgICAgICkucG9wKCkgYXMgV2Vla0RheVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzLm1vbnRoPy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBjaGFuZ2VzLm1vbnRoPy5jdXJyZW50VmFsdWUgIT09IG51bGwpIHx8XG4gICAgICAhIWNoYW5nZXMueWVhcj8uY3VycmVudFZhbHVlIHx8XG4gICAgICAhIWNoYW5nZXMuZmlyc3REYXlPZldlZWs/LmN1cnJlbnRWYWx1ZSB8fFxuICAgICAgISFjaGFuZ2VzLm1pbkNhbGVuZGFyUm93cz8uY3VycmVudFZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLmRhdGVNYXRyaXggPSBnZW5lcmF0ZURhdGVNYXRyaXgoXG4gICAgICAgIHRoaXMubW9udGgsXG4gICAgICAgIHRoaXMueWVhcixcbiAgICAgICAgdGhpcy5taW5DYWxlbmRhclJvd3MsXG4gICAgICAgIHRoaXMuZmlyc3REYXlPZldlZWssXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgY2xpY2tEYXRlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDbGljay5lbWl0KGRhdGUpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAga2V5TmF2aWdhdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGxldCBhY3RpdmVFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuICAgIGlmIChldmVudC5rZXkgIT09ICdUYWInKVxuICAgICAgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgIGNvbnN0IG5leHRGb2N1c2FibGUgPSB0aGlzLmdldE5leHRGb2N1c2FibGUoYWN0aXZlRWxlbWVudClcbiAgICAgIGlmIChuZXh0Rm9jdXNhYmxlKSBuZXh0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZSA9IHRoaXMuZ2V0UHJldmlvdXNGb2N1c2FibGUoYWN0aXZlRWxlbWVudClcbiAgICAgIGlmIChuZXh0Rm9jdXNhYmxlKSBuZXh0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIGNvbnN0IG5leHRGb2N1c2FibGUgPSB0aGlzLmdldEVsZW1lbnRXaXRoT2Zmc2V0KGFjdGl2ZUVsZW1lbnQsIC03KVxuICAgICAgaWYgKG5leHRGb2N1c2FibGUpIG5leHRGb2N1c2FibGUuZm9jdXMoKVxuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBjb25zdCBuZXh0Rm9jdXNhYmxlID0gdGhpcy5nZXRFbGVtZW50V2l0aE9mZnNldChhY3RpdmVFbGVtZW50LCA3KVxuICAgICAgaWYgKG5leHRGb2N1c2FibGUpIG5leHRGb2N1c2FibGUuZm9jdXMoKVxuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnU3BhY2UnKSB7XG4gICAgICBpZiAoYWN0aXZlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBkYXRlUmVmID0gdGhpcy5kYXRlQnV0dG9uUmVmcy5maW5kKFxuICAgICAgICAgIChyZWYpID0+IHJlZi5uYXRpdmVFbGVtZW50ID09PSBhY3RpdmVFbGVtZW50LFxuICAgICAgICApXG4gICAgICAgIGlmICghZGF0ZVJlZj8uZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmRhdGVDbGljay5lbWl0KGRhdGVSZWY/LmNhbGVuZGFyRGF0ZSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdIb21lJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZSA9IHRoaXMuZmlyc3REYXlPZldlZWtFbGVtZW50KClcbiAgICAgIGlmIChuZXh0Rm9jdXNhYmxlKSBuZXh0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW5kJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZSA9IHRoaXMubGFzdERheU9mV2Vla0VsZW1lbnQoKVxuICAgICAgaWYgKG5leHRGb2N1c2FibGUpIG5leHRGb2N1c2FibGUuZm9jdXMoKVxuICAgIH1cbiAgfVxuXG4gIGdldEVsZW1lbnRXaXRoT2Zmc2V0KFxuICAgIGZyb21FbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCxcbiAgICBvZmZzZXREYXlzOiBudW1iZXIsXG4gICAgcmV0dXJuT25seUVuYWJsZWQgPSB0cnVlLFxuICApOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFmcm9tRWxlbWVudCkgcmV0dXJuXG4gICAgY29uc3QgZnJvbUluZGV4ID0gdGhpcy5kYXRlQnV0dG9uUmVmc1xuICAgICAgLnRvQXJyYXkoKVxuICAgICAgLm1hcCgocmVmKSA9PiByZWYubmF0aXZlRWxlbWVudClcbiAgICAgIC5pbmRleE9mKGZyb21FbGVtZW50KVxuICAgIGNvbnN0IG5leHQgPSB0aGlzLmRhdGVCdXR0b25SZWZzLmdldChmcm9tSW5kZXggKyBvZmZzZXREYXlzKVxuICAgIGlmICghbmV4dCkgcmV0dXJuXG4gICAgaWYgKHJldHVybk9ubHlFbmFibGVkICYmIG5leHQuZGlzYWJsZWQpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFbGVtZW50V2l0aE9mZnNldChuZXh0Lm5hdGl2ZUVsZW1lbnQsIG9mZnNldERheXMpXG4gICAgcmV0dXJuIG5leHQubmF0aXZlRWxlbWVudFxuICB9XG5cbiAgZ2V0TmV4dEZvY3VzYWJsZShcbiAgICBmcm9tRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQsXG4gICk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWZyb21FbGVtZW50KSByZXR1cm5cbiAgICByZXR1cm4gdGhpcy5nZXRFbGVtZW50V2l0aE9mZnNldChmcm9tRWxlbWVudCwgMSlcbiAgfVxuXG4gIGdldFByZXZpb3VzRm9jdXNhYmxlKFxuICAgIGZyb21FbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCxcbiAgKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmICghZnJvbUVsZW1lbnQpIHJldHVyblxuICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRXaXRoT2Zmc2V0KGZyb21FbGVtZW50LCAtMSlcbiAgfVxuXG4gIGZpcnN0RGF5T2ZXZWVrRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICBpZiAoIWFjdGl2ZUVsZW1lbnQpIHJldHVyblxuICAgIGNvbnN0IGRhdGVSZWYgPSB0aGlzLmRhdGVCdXR0b25SZWZzLmZpbmQoXG4gICAgICAocmVmKSA9PiByZWYubmF0aXZlRWxlbWVudCA9PT0gYWN0aXZlRWxlbWVudCxcbiAgICApIGFzIENhbGVuZGFyRGF0ZURpcmVjdGl2ZVxuICAgIGlmIChkYXRlUmVmLmNhbGVuZGFyRGF0ZS5nZXREYXkoKSA9PT0gdGhpcy5maXJzdERheU9mV2VlaykgcmV0dXJuXG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5nZXREYXlPZmZzZXQoXG4gICAgICBkYXRlUmVmLmNhbGVuZGFyRGF0ZS5nZXREYXkoKSxcbiAgICAgIHRoaXMuZmlyc3REYXlPZldlZWssXG4gICAgICAnYmFjaycsXG4gICAgKVxuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0aGlzLmdldEVsZW1lbnRXaXRoT2Zmc2V0KFxuICAgICAgYWN0aXZlRWxlbWVudCxcbiAgICAgIG9mZnNldCxcbiAgICAgIGZhbHNlLFxuICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnRcbiAgICBpZiAodGFyZ2V0RWxlbWVudCAmJiB0YXJnZXRFbGVtZW50LmRpc2FibGVkKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0TmV4dEZvY3VzYWJsZSh0YXJnZXRFbGVtZW50KVxuICAgIHJldHVybiB0YXJnZXRFbGVtZW50XG4gIH1cblxuICBsYXN0RGF5T2ZXZWVrRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICBpZiAoIWFjdGl2ZUVsZW1lbnQpIHJldHVyblxuICAgIGNvbnN0IGRhdGVSZWYgPSB0aGlzLmRhdGVCdXR0b25SZWZzLmZpbmQoXG4gICAgICAocmVmKSA9PiByZWYubmF0aXZlRWxlbWVudCA9PT0gYWN0aXZlRWxlbWVudCxcbiAgICApIGFzIENhbGVuZGFyRGF0ZURpcmVjdGl2ZVxuICAgIGlmIChkYXRlUmVmLmNhbGVuZGFyRGF0ZS5nZXREYXkoKSA9PT0gdGhpcy5sYXN0RGF5T2ZXZWVrKSByZXR1cm5cbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmdldERheU9mZnNldChcbiAgICAgIGRhdGVSZWYuY2FsZW5kYXJEYXRlLmdldERheSgpLFxuICAgICAgdGhpcy5sYXN0RGF5T2ZXZWVrLFxuICAgICAgJ2ZvcndhcmQnLFxuICAgIClcbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gdGhpcy5nZXRFbGVtZW50V2l0aE9mZnNldChcbiAgICAgIGFjdGl2ZUVsZW1lbnQsXG4gICAgICBvZmZzZXQsXG4gICAgICBmYWxzZSxcbiAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50XG4gICAgaWYgKHRhcmdldEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5kaXNhYmxlZClcbiAgICAgIHJldHVybiB0aGlzLmdldFByZXZpb3VzRm9jdXNhYmxlKHRhcmdldEVsZW1lbnQpXG4gICAgcmV0dXJuIHRhcmdldEVsZW1lbnRcbiAgfVxuXG4gIGdldERheU9mZnNldChcbiAgICBmcm9tOiBXZWVrRGF5LFxuICAgIHRvOiBXZWVrRGF5LFxuICAgIGRpcmVjdGlvbj86ICdmb3J3YXJkJyB8ICdiYWNrJyxcbiAgKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZ2V0RGF5T2Zmc2V0KGZyb20sIHRvLCB0aGlzLmZpcnN0RGF5T2ZXZWVrLCBkaXJlY3Rpb24pXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURpc2FibGVEYXRlQ29uZmlnKGNvbmZpZzogUGFydGlhbDxEaXNhYmxlRGF0ZUNvbmZpZz4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVEYXRlQ29uZmlnID0ge1xuICAgICAgLi4udGhpcy5kaXNhYmxlRGF0ZUNvbmZpZyxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHdlZWtSb3cgb2YgZGF0ZU1hdHJpeFwiPlxuICA8ZGl2IGNsYXNzPVwibmdndi1jYWxlbmRhci1yb3dcIj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0ZSBvZiB3ZWVrUm93XCJcbiAgICAgIGNsYXNzPVwiZ2RzLWJ1dHRvbiBnZHMtYnV0dG9uLWFsdGVybmF0aXZlXCJcbiAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiXG4gICAgICAgIGRhdGUgfCBkYXRlVGhvb2s6IChkYXRlIHwgaXNEaXNhYmxlZDogZGlzYWJsZURhdGVDb25maWcpXG4gICAgICBcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkYXRlXCJcbiAgICAgIFtjYWxlbmRhckRhdGVdPVwiZGF0ZVwiXG4gICAgICBbbm90V2l0aGluTW9udGhdPVwiIShtb250aCA9PT0gZGF0ZT8uZ2V0TW9udGgoKSlcIlxuICAgICAgW3NlbGVjdGVkXT1cImRhdGUgfCBtYXRjaGVzOiBzZWxlY3RlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGF0ZSB8IGlzRGlzYWJsZWQ6IGRpc2FibGVEYXRlQ29uZmlnXCJcbiAgICAgIChjbGljayk9XCJjbGlja0RhdGUoZGF0ZSlcIlxuICAgID5cbiAgICAgIHt7IGRhdGUgfCBkYXRlOiAnZCcgOiB1bmRlZmluZWQgOiBsb2NhbGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,115 +0,0 @@
1
- import { Component, EventEmitter, HostListener, Input, Output, } from '@angular/core';
2
- import { UntypedFormBuilder } from '@angular/forms';
3
- import { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';
4
- import { CalendarMonth } from '../../datepicker.models';
5
- import { getMonthArray, getYearArray } from '../../datepicker.utils';
6
- import '@sebgroup/green-core/components/icon/icons/chevron-left.js';
7
- import '@sebgroup/green-core/components/icon/icons/chevron-right.js';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/forms";
10
- import * as i2 from "@angular/common";
11
- import * as i3 from "@sebgroup/green-angular/src/lib/shared";
12
- export class CalendarControlComponent {
13
- constructor(fb) {
14
- this.fb = fb;
15
- // nextIcon: IconDefinition = faChevronRight
16
- // previousIcon: IconDefinition = faChevronLeft
17
- this.calendarChange = new EventEmitter();
18
- this.type = 'normal';
19
- this.monthArray = []; // array used for month dropdown
20
- this.yearArray = []; // array used for year dropdown
21
- this.subs = [];
22
- // initiate form group for dropdown menus
23
- this.selectedCalendar = this.fb.group({
24
- year: [],
25
- month: [],
26
- });
27
- }
28
- ngOnChanges(changes) {
29
- if (changes.activeCalendar &&
30
- !changes.activeCalendar.isFirstChange() &&
31
- changes.activeCalendar.currentValue.valueOf() !==
32
- this.selectedCalendar.value.id) {
33
- this.selectedCalendar.patchValue(changes.activeCalendar.currentValue);
34
- }
35
- }
36
- ngOnInit() {
37
- // populate drowdowns and labels with data
38
- this.monthArray = getMonthArray();
39
- this.yearArray = getYearArray();
40
- // subscribe to year and month changes, and emit event to datepicker
41
- this.subscribeToFormChanges();
42
- // update control to initial value
43
- if (this.activeCalendar)
44
- this.selectedCalendar.patchValue(this.activeCalendar);
45
- }
46
- ngOnDestroy() {
47
- this.subs.forEach((sub) => sub.unsubscribe());
48
- }
49
- viewPreviousMonth() {
50
- const previousMonth = CalendarMonth.fromObject(this.selectedCalendar.value).previousMonth();
51
- this.selectedCalendar.patchValue(previousMonth);
52
- }
53
- viewNextMonth() {
54
- const nextMonth = CalendarMonth.fromObject(this.selectedCalendar.value).nextMonth();
55
- this.selectedCalendar.patchValue(nextMonth);
56
- }
57
- viewPreviousYear() {
58
- const previousYear = CalendarMonth.fromObject(this.selectedCalendar.value).previousYear();
59
- this.selectedCalendar.patchValue(previousYear);
60
- }
61
- viewNextYear() {
62
- const nextYear = CalendarMonth.fromObject(this.selectedCalendar.value).nextYear();
63
- this.selectedCalendar.patchValue(nextYear);
64
- }
65
- keyNavigation(event) {
66
- if (event.key !== 'PageUp' && event.key !== 'PageDown')
67
- return;
68
- event.preventDefault();
69
- if (event.shiftKey) {
70
- if (event.key === 'PageUp')
71
- return this.viewPreviousYear();
72
- if (event.key === 'PageDown')
73
- return this.viewNextYear();
74
- }
75
- if (event.key === 'PageUp')
76
- return this.viewPreviousMonth();
77
- if (event.key === 'PageDown')
78
- return this.viewNextMonth();
79
- }
80
- subscribeToFormChanges() {
81
- // used to quickly check if the yearsArray needs years appended to it
82
- let existingYears = this.yearArray.map((e) => e.getFullYear());
83
- const changes = this.selectedCalendar.valueChanges.pipe(debounceTime(1), // added due to this issue: https://github.com/angular/angular/issues/13129
84
- map((value) => CalendarMonth.fromObject(value)), distinctUntilChanged((prev, curr) => prev.valueOf() === curr.valueOf()));
85
- this.subs.push(changes.subscribe({
86
- next: (value) => {
87
- // if you need to append to year array
88
- if (existingYears.indexOf(value.year) === -1) {
89
- this.yearArray.push(value.date);
90
- this.yearArray.sort((a, b) => a.getFullYear() - b.getFullYear());
91
- existingYears = this.yearArray.map((e) => e.getFullYear());
92
- }
93
- this.calendarChange.emit(value);
94
- },
95
- }));
96
- }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarControlComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
98
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CalendarControlComponent, selector: "nggv-calendar-control", inputs: { activeCalendar: "activeCalendar", locale: "locale", type: "type" }, outputs: { calendarChange: "calendarChange" }, host: { listeners: { "keydown": "keyNavigation($event)" } }, usesOnChanges: true, ngImport: i0, template: "<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"previous-month\"\n class=\"nggv-prev-button\"\n (click)=\"viewPreviousMonth()\"\n>\n <gds-icon-chevron-left *nggCoreElement></gds-icon-chevron-left>\n</button>\n\n<ng-container [formGroup]=\"selectedCalendar\">\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-month\"\n formControlName=\"month\"\n >\n <option\n *ngFor=\"let month of monthArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"month.getMonth()\"\n >\n {{ month | date: 'MMMM' : undefined : locale }}\n </option>\n </select>\n\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-year\"\n formControlName=\"year\"\n >\n <option\n *ngFor=\"let year of yearArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"year.getFullYear()\"\n >\n {{ year | date: 'yyyy' : undefined : locale }}\n </option>\n </select>\n</ng-container>\n\n<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"next-month\"\n class=\"nggv-next-button\"\n (click)=\"viewNextMonth()\"\n>\n <gds-icon-chevron-right *nggCoreElement></gds-icon-chevron-right>\n</button>\n", styles: [":host{display:flex;padding:.25rem;justify-content:space-between;align-items:center;gap:.25rem}:host .nggv-calendar-select{--sg-border-radius: 4px;--sg-border-width: 1px;--sg-border-color: #868686;padding:.75rem 3rem .75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);appearance:auto;background:#fff;color:#333;display:block;flex:1;font-family:inherit;font-size:.875rem;font-weight:400;line-height:2rem;max-height:2rem;max-width:100%;min-height:2rem;padding:0 .5em;text-overflow:ellipsis;white-space:nowrap;width:6rem}:host .nggv-calendar-select:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-calendar-select:focus,:host .nggv-calendar-select:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host button.nggv-prev-button,:host button.nggv-next-button{--sg-border-radius: 4px;--sg-border-width: 0;--sg-border-color: transparent;background-color:transparent;border:0;cursor:pointer;font-family:inherit;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;border:none;height:2rem;width:2rem;padding:0 .75em}:host button.nggv-prev-button:focus:not(:focus-visible),:host button.nggv-next-button:focus:not(:focus-visible){box-shadow:none;outline:0}:host button.nggv-prev-button:focus,:host button.nggv-prev-button:focus-visible,:host button.nggv-next-button:focus,:host button.nggv-next-button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host button.nggv-prev-button,:host button.nggv-next-button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host button.nggv-prev-button,:host button.nggv-next-button{border:2px solid currentcolor}}:host button.nggv-prev-button.small,:host button.nggv-next-button.small{min-height:2rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1rem}:host button.nggv-prev-button.large,:host button.nggv-next-button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}@media (max-width: 47.98em){:host button.nggv-prev-button,:host button.nggv-next-button{width:3em;height:3em}}:host button.nggv-prev-button:hover,:host button.nggv-next-button:hover{background-color:#e9e9e9}@media (max-width: 35.98em){:host button.nggv-prev-button,:host button.nggv-next-button{min-width:initial}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NggCoreElementDirective, selector: "[nggCoreElement]" }, { kind: "pipe", type: i2.DatePipe, name: "date" }] }); }
99
- }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarControlComponent, decorators: [{
101
- type: Component,
102
- args: [{ selector: 'nggv-calendar-control', template: "<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"previous-month\"\n class=\"nggv-prev-button\"\n (click)=\"viewPreviousMonth()\"\n>\n <gds-icon-chevron-left *nggCoreElement></gds-icon-chevron-left>\n</button>\n\n<ng-container [formGroup]=\"selectedCalendar\">\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-month\"\n formControlName=\"month\"\n >\n <option\n *ngFor=\"let month of monthArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"month.getMonth()\"\n >\n {{ month | date: 'MMMM' : undefined : locale }}\n </option>\n </select>\n\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-year\"\n formControlName=\"year\"\n >\n <option\n *ngFor=\"let year of yearArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"year.getFullYear()\"\n >\n {{ year | date: 'yyyy' : undefined : locale }}\n </option>\n </select>\n</ng-container>\n\n<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"next-month\"\n class=\"nggv-next-button\"\n (click)=\"viewNextMonth()\"\n>\n <gds-icon-chevron-right *nggCoreElement></gds-icon-chevron-right>\n</button>\n", styles: [":host{display:flex;padding:.25rem;justify-content:space-between;align-items:center;gap:.25rem}:host .nggv-calendar-select{--sg-border-radius: 4px;--sg-border-width: 1px;--sg-border-color: #868686;padding:.75rem 3rem .75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);appearance:auto;background:#fff;color:#333;display:block;flex:1;font-family:inherit;font-size:.875rem;font-weight:400;line-height:2rem;max-height:2rem;max-width:100%;min-height:2rem;padding:0 .5em;text-overflow:ellipsis;white-space:nowrap;width:6rem}:host .nggv-calendar-select:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-calendar-select:focus,:host .nggv-calendar-select:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host button.nggv-prev-button,:host button.nggv-next-button{--sg-border-radius: 4px;--sg-border-width: 0;--sg-border-color: transparent;background-color:transparent;border:0;cursor:pointer;font-family:inherit;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;border:none;height:2rem;width:2rem;padding:0 .75em}:host button.nggv-prev-button:focus:not(:focus-visible),:host button.nggv-next-button:focus:not(:focus-visible){box-shadow:none;outline:0}:host button.nggv-prev-button:focus,:host button.nggv-prev-button:focus-visible,:host button.nggv-next-button:focus,:host button.nggv-next-button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host button.nggv-prev-button,:host button.nggv-next-button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host button.nggv-prev-button,:host button.nggv-next-button{border:2px solid currentcolor}}:host button.nggv-prev-button.small,:host button.nggv-next-button.small{min-height:2rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1rem}:host button.nggv-prev-button.large,:host button.nggv-next-button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}@media (max-width: 47.98em){:host button.nggv-prev-button,:host button.nggv-next-button{width:3em;height:3em}}:host button.nggv-prev-button:hover,:host button.nggv-next-button:hover{background-color:#e9e9e9}@media (max-width: 35.98em){:host button.nggv-prev-button,:host button.nggv-next-button{min-width:initial}}\n"] }]
103
- }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }], propDecorators: { calendarChange: [{
104
- type: Output
105
- }], activeCalendar: [{
106
- type: Input
107
- }], locale: [{
108
- type: Input
109
- }], type: [{
110
- type: Input
111
- }], keyNavigation: [{
112
- type: HostListener,
113
- args: ['keydown', ['$event']]
114
- }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kYXRlcGlja2VyL2NvbXBvbmVudHMvY2FsZW5kYXItY29udHJvbC9jYWxlbmRhci1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9jYWxlbmRhci1jb250cm9sL2NhbGVuZGFyLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixNQUFNLGdCQUFnQixDQUFBO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFJcEUsT0FBTyw0REFBNEQsQ0FBQTtBQUNuRSxPQUFPLDZEQUE2RCxDQUFBOzs7OztBQU9wRSxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQyxZQUFvQixFQUFzQjtRQUF0QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQWYxQyw0Q0FBNEM7UUFDNUMsK0NBQStDO1FBRXJDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUE7UUFJbkQsU0FBSSxHQUFpQixRQUFRLENBQUE7UUFFdEMsZUFBVSxHQUFXLEVBQUUsQ0FBQSxDQUFDLGdDQUFnQztRQUN4RCxjQUFTLEdBQVcs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LENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtvQkFDaEUsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtnQkFDNUQsQ0FBQztnQkFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNqQyxDQUFDO1NBQ0YsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOytHQXRIVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw0UUM1QnJDLDJzQ0FpREE7OzRGRHJCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCO3VGQVF2QixjQUFjO3NCQUF2QixNQUFNO2dCQUVFLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkF5RU4sYUFBYTtzQkFEWixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgQ2FsZW5kYXJNb250aCB9IGZyb20gJy4uLy4uL2RhdGVwaWNrZXIubW9kZWxzJ1xuaW1wb3J0IHsgZ2V0TW9udGhBcnJheSwgZ2V0WWVhckFycmF5IH0gZnJvbSAnLi4vLi4vZGF0ZXBpY2tlci51dGlscydcblxuaW1wb3J0IHR5cGUgeyBDYWxlbmRhclR5cGUgfSBmcm9tICcuLi8uLi9kYXRlcGlja2VyLm1vZGVscydcblxuaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2ljb24vaWNvbnMvY2hldnJvbi1sZWZ0LmpzJ1xuaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2ljb24vaWNvbnMvY2hldnJvbi1yaWdodC5qcydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1jYWxlbmRhci1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvLyBuZXh0SWNvbjogSWNvbkRlZmluaXRpb24gPSBmYUNoZXZyb25SaWdodFxuICAvLyBwcmV2aW91c0ljb246IEljb25EZWZpbml0aW9uID0gZmFDaGV2cm9uTGVmdFxuXG4gIEBPdXRwdXQoKSBjYWxlbmRhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJNb250aD4oKVxuXG4gIEBJbnB1dCgpIGFjdGl2ZUNhbGVuZGFyITogQ2FsZW5kYXJNb250aFxuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBASW5wdXQoKSB0eXBlOiBDYWxlbmRhclR5cGUgPSAnbm9ybWFsJ1xuXG4gIG1vbnRoQXJyYXk6IERhdGVbXSA9IFtdIC8vIGFycmF5IHVzZWQgZm9yIG1vbnRoIGRyb3Bkb3duXG4gIHllYXJBcnJheTogRGF0ZVtdID0gW10gLy8gYXJyYXkgdXNlZCBmb3IgeWVhciBkcm9wZG93blxuICBzZWxlY3RlZENhbGVuZGFyOiBVbnR5cGVkRm9ybUdyb3VwIC8vIGRyb3Bkb3duIGZvcm0gZ3JvdXBcblxuICBwcml2YXRlIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW11cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHtcbiAgICAvLyBpbml0aWF0ZSBmb3JtIGdyb3VwIGZvciBkcm9wZG93biBtZW51c1xuICAgIHRoaXMuc2VsZWN0ZWRDYWxlbmRhciA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgeWVhcjogW10sXG4gICAgICBtb250aDogW10sXG4gICAgfSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmFjdGl2ZUNhbGVuZGFyICYmXG4gICAgICAhY2hhbmdlcy5hY3RpdmVDYWxlbmRhci5pc0ZpcnN0Q2hhbmdlKCkgJiZcbiAgICAgIGNoYW5nZXMuYWN0aXZlQ2FsZW5kYXIuY3VycmVudFZhbHVlLnZhbHVlT2YoKSAhPT1cbiAgICAgICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlLmlkXG4gICAgKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FsZW5kYXIucGF0Y2hWYWx1ZShjaGFuZ2VzLmFjdGl2ZUNhbGVuZGFyLmN1cnJlbnRWYWx1ZSlcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBwb3B1bGF0ZSBkcm93ZG93bnMgYW5kIGxhYmVscyB3aXRoIGRhdGFcbiAgICB0aGlzLm1vbnRoQXJyYXkgPSBnZXRNb250aEFycmF5KClcbiAgICB0aGlzLnllYXJBcnJheSA9IGdldFllYXJBcnJheSgpXG5cbiAgICAvLyBzdWJzY3JpYmUgdG8geWVhciBhbmQgbW9udGggY2hhbmdlcywgYW5kIGVtaXQgZXZlbnQgdG8gZGF0ZXBpY2tlclxuICAgIHRoaXMuc3Vic2NyaWJlVG9Gb3JtQ2hhbmdlcygpXG5cbiAgICAvLyB1cGRhdGUgY29udHJvbCB0byBpbml0aWFsIHZhbHVlXG4gICAgaWYgKHRoaXMuYWN0aXZlQ2FsZW5kYXIpXG4gICAgICB0aGlzLnNlbGVjdGVkQ2FsZW5kYXIucGF0Y2hWYWx1ZSh0aGlzLmFjdGl2ZUNhbGVuZGFyKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpXG4gIH1cblxuICB2aWV3UHJldmlvdXNNb250aCgpIHtcbiAgICBjb25zdCBwcmV2aW91c01vbnRoID0gQ2FsZW5kYXJNb250aC5mcm9tT2JqZWN0KFxuICAgICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlLFxuICAgICkucHJldmlvdXNNb250aCgpXG4gICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnBhdGNoVmFsdWUocHJldmlvdXNNb250aClcbiAgfVxuXG4gIHZpZXdOZXh0TW9udGgoKSB7XG4gICAgY29uc3QgbmV4dE1vbnRoID0gQ2FsZW5kYXJNb250aC5mcm9tT2JqZWN0KFxuICAgICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlLFxuICAgICkubmV4dE1vbnRoKClcbiAgICB0aGlzLnNlbGVjdGVkQ2FsZW5kYXIucGF0Y2hWYWx1ZShuZXh0TW9udGgpXG4gIH1cblxuICB2aWV3UHJldmlvdXNZZWFyKCkge1xuICAgIGNvbnN0IHByZXZpb3VzWWVhciA9IENhbGVuZGFyTW9udGguZnJvbU9iamVjdChcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYWxlbmRhci52YWx1ZSxcbiAgICApLnByZXZpb3VzWWVhcigpXG4gICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnBhdGNoVmFsdWUocHJldmlvdXNZZWFyKVxuICB9XG5cbiAgdmlld05leHRZZWFyKCkge1xuICAgIGNvbnN0IG5leHRZZWFyID0gQ2FsZW5kYXJNb250aC5mcm9tT2JqZWN0KFxuICAgICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlLFxuICAgICkubmV4dFllYXIoKVxuICAgIHRoaXMuc2VsZWN0ZWRDYWxlbmRhci5wYXRjaFZhbHVlKG5leHRZZWFyKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIGtleU5hdmlnYXRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnUGFnZVVwJyAmJiBldmVudC5rZXkgIT09ICdQYWdlRG93bicpIHJldHVyblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdQYWdlVXAnKSByZXR1cm4gdGhpcy52aWV3UHJldmlvdXNZZWFyKClcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdQYWdlRG93bicpIHJldHVybiB0aGlzLnZpZXdOZXh0WWVhcigpXG4gICAgfVxuICAgIGlmIChldmVudC5rZXkgPT09ICdQYWdlVXAnKSByZXR1cm4gdGhpcy52aWV3UHJldmlvdXNNb250aCgpXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ1BhZ2VEb3duJykgcmV0dXJuIHRoaXMudmlld05leHRNb250aCgpXG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvRm9ybUNoYW5nZXMoKTogdm9pZCB7XG4gICAgLy8gdXNlZCB0byBxdWlja2x5IGNoZWNrIGlmIHRoZSB5ZWFyc0FycmF5IG5lZWRzIHllYXJzIGFwcGVuZGVkIHRvIGl0XG4gICAgbGV0IGV4aXN0aW5nWWVhcnMgPSB0aGlzLnllYXJBcnJheS5tYXAoKGUpID0+IGUuZ2V0RnVsbFllYXIoKSlcbiAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEpLCAvLyBhZGRlZCBkdWUgdG8gdGhpcyBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTMxMjlcbiAgICAgIG1hcCgodmFsdWU6IHsgeWVhcjogbnVtYmVyOyBtb250aDogbnVtYmVyIH0pID0+XG4gICAgICAgIENhbGVuZGFyTW9udGguZnJvbU9iamVjdCh2YWx1ZSksXG4gICAgICApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgIChwcmV2OiBDYWxlbmRhck1vbnRoLCBjdXJyOiBDYWxlbmRhck1vbnRoKSA9PlxuICAgICAgICAgIHByZXYudmFsdWVPZigpID09PSBjdXJyLnZhbHVlT2YoKSxcbiAgICAgICksXG4gICAgKVxuICAgIHRoaXMuc3Vicy5wdXNoKFxuICAgICAgY2hhbmdlcy5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodmFsdWU6IENhbGVuZGFyTW9udGgpID0+IHtcbiAgICAgICAgICAvLyBpZiB5b3UgbmVlZCB0byBhcHBlbmQgdG8geWVhciBhcnJheVxuICAgICAgICAgIGlmIChleGlzdGluZ1llYXJzLmluZGV4T2YodmFsdWUueWVhcikgPT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLnllYXJBcnJheS5wdXNoKHZhbHVlLmRhdGUpXG4gICAgICAgICAgICB0aGlzLnllYXJBcnJheS5zb3J0KChhLCBiKSA9PiBhLmdldEZ1bGxZZWFyKCkgLSBiLmdldEZ1bGxZZWFyKCkpXG4gICAgICAgICAgICBleGlzdGluZ1llYXJzID0gdGhpcy55ZWFyQXJyYXkubWFwKChlKSA9PiBlLmdldEZ1bGxZZWFyKCkpXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2FsZW5kYXJDaGFuZ2UuZW1pdCh2YWx1ZSlcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIClcbiAgfVxufVxuIiwiPGJ1dHRvblxuICAqbmdJZj1cInR5cGUgPT09ICdub3JtYWwnXCJcbiAgZGF0YS10aG9vaz1cInByZXZpb3VzLW1vbnRoXCJcbiAgY2xhc3M9XCJuZ2d2LXByZXYtYnV0dG9uXCJcbiAgKGNsaWNrKT1cInZpZXdQcmV2aW91c01vbnRoKClcIlxuPlxuICA8Z2RzLWljb24tY2hldnJvbi1sZWZ0ICpuZ2dDb3JlRWxlbWVudD48L2dkcy1pY29uLWNoZXZyb24tbGVmdD5cbjwvYnV0dG9uPlxuXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwic2VsZWN0ZWRDYWxlbmRhclwiPlxuICA8c2VsZWN0XG4gICAgY2xhc3M9XCJuZ2d2LWNhbGVuZGFyLXNlbGVjdFwiXG4gICAgZGF0YS10aG9vaz1cInNlbGVjdC1tb250aFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwibW9udGhcIlxuICA+XG4gICAgPG9wdGlvblxuICAgICAgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoQXJyYXlcIlxuICAgICAgY2xhc3M9XCJnZHMtZmllbGQtZHJvcGRvd25fX2xhYmVsXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBbdmFsdWVdPVwibW9udGguZ2V0TW9udGgoKVwiXG4gICAgPlxuICAgICAge3sgbW9udGggfCBkYXRlOiAnTU1NTScgOiB1bmRlZmluZWQgOiBsb2NhbGUgfX1cbiAgICA8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG5cbiAgPHNlbGVjdFxuICAgIGNsYXNzPVwibmdndi1jYWxlbmRhci1zZWxlY3RcIlxuICAgIGRhdGEtdGhvb2s9XCJzZWxlY3QteWVhclwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwieWVhclwiXG4gID5cbiAgICA8b3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyQXJyYXlcIlxuICAgICAgY2xhc3M9XCJnZHMtZmllbGQtZHJvcGRvd25fX2xhYmVsXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBbdmFsdWVdPVwieWVhci5nZXRGdWxsWWVhcigpXCJcbiAgICA+XG4gICAgICB7eyB5ZWFyIHwgZGF0ZTogJ3l5eXknIDogdW5kZWZpbmVkIDogbG9jYWxlIH19XG4gICAgPC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuPC9uZy1jb250YWluZXI+XG5cbjxidXR0b25cbiAgKm5nSWY9XCJ0eXBlID09PSAnbm9ybWFsJ1wiXG4gIGRhdGEtdGhvb2s9XCJuZXh0LW1vbnRoXCJcbiAgY2xhc3M9XCJuZ2d2LW5leHQtYnV0dG9uXCJcbiAgKGNsaWNrKT1cInZpZXdOZXh0TW9udGgoKVwiXG4+XG4gIDxnZHMtaWNvbi1jaGV2cm9uLXJpZ2h0ICpuZ2dDb3JlRWxlbWVudD48L2dkcy1pY29uLWNoZXZyb24tcmlnaHQ+XG48L2J1dHRvbj5cbiJdfQ==