@coreui/angular-pro 5.2.20 → 5.2.22

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 (283) hide show
  1. package/esm2022/lib/accordion/accordion/accordion.component.mjs +3 -3
  2. package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
  3. package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
  4. package/esm2022/lib/accordion/accordion.module.mjs +4 -4
  5. package/esm2022/lib/accordion/accordion.service.mjs +3 -3
  6. package/esm2022/lib/alert/alert-heading.directive.mjs +3 -3
  7. package/esm2022/lib/alert/alert-link.directive.mjs +3 -3
  8. package/esm2022/lib/alert/alert.component.mjs +3 -3
  9. package/esm2022/lib/alert/alert.module.mjs +4 -4
  10. package/esm2022/lib/avatar/avatar.component.mjs +3 -3
  11. package/esm2022/lib/avatar/avatar.module.mjs +4 -4
  12. package/esm2022/lib/backdrop/backdrop.service.mjs +3 -3
  13. package/esm2022/lib/badge/badge.component.mjs +3 -3
  14. package/esm2022/lib/badge/badge.module.mjs +4 -4
  15. package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
  16. package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  17. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
  18. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +3 -3
  19. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
  20. package/esm2022/lib/button/button-close.directive.mjs +3 -3
  21. package/esm2022/lib/button/button.directive.mjs +3 -3
  22. package/esm2022/lib/button/button.module.mjs +4 -4
  23. package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
  24. package/esm2022/lib/button-group/button-group.module.mjs +4 -4
  25. package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
  26. package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
  27. package/esm2022/lib/calendar/calendar/calendar.component.mjs +313 -411
  28. package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
  29. package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +6 -5
  30. package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +5 -7
  31. package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
  32. package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
  33. package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +5 -5
  34. package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
  35. package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +183 -263
  36. package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +35 -33
  37. package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
  38. package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +42 -14
  39. package/esm2022/lib/calendar/calendar.module.mjs +4 -4
  40. package/esm2022/lib/calendar/calendar.service.mjs +16 -13
  41. package/esm2022/lib/calendar/calendar.utils.mjs +19 -12
  42. package/esm2022/lib/callout/callout.component.mjs +3 -3
  43. package/esm2022/lib/callout/callout.module.mjs +4 -4
  44. package/esm2022/lib/card/card-body.component.mjs +3 -3
  45. package/esm2022/lib/card/card-footer.component.mjs +3 -3
  46. package/esm2022/lib/card/card-group.component.mjs +3 -3
  47. package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
  48. package/esm2022/lib/card/card-header.component.mjs +3 -3
  49. package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
  50. package/esm2022/lib/card/card-img.directive.mjs +3 -3
  51. package/esm2022/lib/card/card-link.directive.mjs +3 -3
  52. package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
  53. package/esm2022/lib/card/card-text.directive.mjs +3 -3
  54. package/esm2022/lib/card/card-title.directive.mjs +3 -3
  55. package/esm2022/lib/card/card.component.mjs +3 -3
  56. package/esm2022/lib/card/card.module.mjs +4 -4
  57. package/esm2022/lib/carousel/carousel/carousel.component.mjs +3 -3
  58. package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
  59. package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
  60. package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
  61. package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
  62. package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +3 -3
  63. package/esm2022/lib/carousel/carousel-state.mjs +3 -3
  64. package/esm2022/lib/carousel/carousel.config.mjs +3 -3
  65. package/esm2022/lib/carousel/carousel.module.mjs +4 -4
  66. package/esm2022/lib/carousel/carousel.service.mjs +3 -3
  67. package/esm2022/lib/collapse/collapse.animations.mjs +4 -13
  68. package/esm2022/lib/collapse/collapse.directive.mjs +72 -94
  69. package/esm2022/lib/collapse/collapse.module.mjs +4 -4
  70. package/esm2022/lib/date-picker/date-picker.component.mjs +24 -27
  71. package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
  72. package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +3 -3
  73. package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +194 -296
  74. package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  75. package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +6 -6
  76. package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
  77. package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
  78. package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
  79. package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
  80. package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +3 -3
  81. package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
  82. package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
  83. package/esm2022/lib/dropdown/dropdown.service.mjs +3 -3
  84. package/esm2022/lib/element-cover/element-cover.component.mjs +3 -3
  85. package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
  86. package/esm2022/lib/footer/footer.component.mjs +3 -3
  87. package/esm2022/lib/footer/footer.module.mjs +4 -4
  88. package/esm2022/lib/form/form/form.directive.mjs +3 -3
  89. package/esm2022/lib/form/form-check/form-check-input.directive.mjs +3 -3
  90. package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
  91. package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
  92. package/esm2022/lib/form/form-control/form-control.directive.mjs +3 -3
  93. package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
  94. package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
  95. package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
  96. package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
  97. package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
  98. package/esm2022/lib/form/form.module.mjs +4 -4
  99. package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
  100. package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
  101. package/esm2022/lib/grid/col.component.mjs +3 -3
  102. package/esm2022/lib/grid/col.directive.mjs +3 -3
  103. package/esm2022/lib/grid/container.component.mjs +3 -3
  104. package/esm2022/lib/grid/grid.module.mjs +4 -4
  105. package/esm2022/lib/grid/gutter.directive.mjs +3 -3
  106. package/esm2022/lib/grid/row.component.mjs +3 -3
  107. package/esm2022/lib/grid/row.directive.mjs +3 -3
  108. package/esm2022/lib/header/header/header.component.mjs +3 -3
  109. package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
  110. package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
  111. package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
  112. package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
  113. package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
  114. package/esm2022/lib/header/header.module.mjs +4 -4
  115. package/esm2022/lib/image/img.directive.mjs +3 -3
  116. package/esm2022/lib/image/img.module.mjs +4 -4
  117. package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
  118. package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
  119. package/esm2022/lib/list-group/list-group.module.mjs +4 -4
  120. package/esm2022/lib/loading-button/loading-button.component.mjs +3 -3
  121. package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
  122. package/esm2022/lib/modal/modal/modal.component.mjs +3 -3
  123. package/esm2022/lib/modal/modal-body/modal-body.component.mjs +3 -3
  124. package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
  125. package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
  126. package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
  127. package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
  128. package/esm2022/lib/modal/modal-header/modal-header.component.mjs +3 -3
  129. package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
  130. package/esm2022/lib/modal/modal.module.mjs +4 -4
  131. package/esm2022/lib/modal/modal.service.mjs +3 -3
  132. package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +3 -3
  133. package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +3 -3
  134. package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
  135. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
  136. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
  137. package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +3 -3
  138. package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +3 -3
  139. package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
  140. package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
  141. package/esm2022/lib/nav/nav-item.component.mjs +3 -3
  142. package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
  143. package/esm2022/lib/nav/nav.component.mjs +3 -3
  144. package/esm2022/lib/nav/nav.module.mjs +4 -4
  145. package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +9 -15
  146. package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +14 -20
  147. package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +8 -13
  148. package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +38 -39
  149. package/esm2022/lib/navbar/navbar.component.mjs +89 -61
  150. package/esm2022/lib/navbar/navbar.module.mjs +4 -4
  151. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +7 -5
  152. package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
  153. package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
  154. package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
  155. package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
  156. package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
  157. package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
  158. package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
  159. package/esm2022/lib/pagination/page-item/page-item.directive.mjs +3 -3
  160. package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
  161. package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
  162. package/esm2022/lib/pagination/pagination.module.mjs +4 -4
  163. package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
  164. package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
  165. package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
  166. package/esm2022/lib/popover/popover/popover.component.mjs +3 -3
  167. package/esm2022/lib/popover/popover.directive.mjs +3 -3
  168. package/esm2022/lib/popover/popover.module.mjs +4 -4
  169. package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
  170. package/esm2022/lib/progress/progress-bar.directive.mjs +3 -3
  171. package/esm2022/lib/progress/progress-stacked.component.mjs +3 -3
  172. package/esm2022/lib/progress/progress.component.mjs +3 -3
  173. package/esm2022/lib/progress/progress.module.mjs +4 -4
  174. package/esm2022/lib/rating/rating-item-label/rating-item-label.component.mjs +3 -3
  175. package/esm2022/lib/rating/rating.component.mjs +3 -3
  176. package/esm2022/lib/rating/rating.module.mjs +4 -4
  177. package/esm2022/lib/services/class-toggle.service.mjs +3 -3
  178. package/esm2022/lib/services/color-mode.service.mjs +3 -3
  179. package/esm2022/lib/services/in-memory-storage.service.mjs +3 -3
  180. package/esm2022/lib/services/intersection.service.mjs +3 -3
  181. package/esm2022/lib/services/listeners.service.mjs +3 -3
  182. package/esm2022/lib/services/local-storage.service.mjs +3 -3
  183. package/esm2022/lib/shared/element-ref.directive.mjs +3 -3
  184. package/esm2022/lib/shared/html-attr.directive.mjs +3 -3
  185. package/esm2022/lib/shared/shared.module.mjs +4 -4
  186. package/esm2022/lib/shared/template-id.directive.mjs +3 -3
  187. package/esm2022/lib/shared/theme.directive.mjs +3 -3
  188. package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +3 -3
  189. package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
  190. package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
  191. package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  192. package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  193. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
  194. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
  195. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
  196. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
  197. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
  198. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
  199. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +9 -9
  200. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
  201. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
  202. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +24 -20
  203. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
  204. package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
  205. package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +3 -3
  206. package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
  207. package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
  208. package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +3 -3
  209. package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
  210. package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +3 -3
  211. package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
  212. package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +3 -3
  213. package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
  214. package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +3 -3
  215. package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +3 -3
  216. package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
  217. package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
  218. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  219. package/esm2022/lib/spinner/spinner.module.mjs +4 -4
  220. package/esm2022/lib/table/table-active.directive.mjs +3 -3
  221. package/esm2022/lib/table/table-color.directive.mjs +3 -3
  222. package/esm2022/lib/table/table.directive.mjs +3 -3
  223. package/esm2022/lib/table/table.module.mjs +4 -4
  224. package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +3 -3
  225. package/esm2022/lib/tabs/tab-content-ref.directive.mjs +3 -3
  226. package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +3 -3
  227. package/esm2022/lib/tabs/tab.service.mjs +3 -3
  228. package/esm2022/lib/tabs/tabs.module.mjs +4 -4
  229. package/esm2022/lib/tabs-2/tab/tab.directive.mjs +3 -3
  230. package/esm2022/lib/tabs-2/tab-panel/tab-panel.component.mjs +3 -3
  231. package/esm2022/lib/tabs-2/tabs-content/tabs-content.component.mjs +3 -3
  232. package/esm2022/lib/tabs-2/tabs-list/tabs-list.component.mjs +3 -3
  233. package/esm2022/lib/tabs-2/tabs.component.mjs +3 -3
  234. package/esm2022/lib/tabs-2/tabs.service.mjs +3 -3
  235. package/esm2022/lib/tabs-2/tabs2.module.mjs +4 -4
  236. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +6 -6
  237. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +6 -6
  238. package/esm2022/lib/time-picker/time-picker.component.mjs +3 -3
  239. package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
  240. package/esm2022/lib/toast/toast/toast.component.mjs +3 -3
  241. package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
  242. package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
  243. package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
  244. package/esm2022/lib/toast/toast.module.mjs +4 -4
  245. package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
  246. package/esm2022/lib/toast/toaster/toaster.component.mjs +3 -3
  247. package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
  248. package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
  249. package/esm2022/lib/tooltip/tooltip.directive.mjs +3 -3
  250. package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
  251. package/esm2022/lib/utilities/align.directive.mjs +3 -3
  252. package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
  253. package/esm2022/lib/utilities/border.directive.mjs +3 -3
  254. package/esm2022/lib/utilities/rounded.directive.mjs +3 -3
  255. package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +3 -3
  256. package/esm2022/lib/utilities/text-bg-color.directive.mjs +3 -3
  257. package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
  258. package/esm2022/lib/utilities/utilities.module.mjs +4 -4
  259. package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
  260. package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
  261. package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
  262. package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +3 -3
  263. package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
  264. package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
  265. package/esm2022/lib/widget/widget.module.mjs +4 -4
  266. package/fesm2022/coreui-angular-pro.mjs +1881 -2137
  267. package/fesm2022/coreui-angular-pro.mjs.map +1 -1
  268. package/lib/calendar/calendar/calendar.component.d.ts +60 -80
  269. package/lib/calendar/calendar-month/calendar-class-row.pipe.d.ts +2 -1
  270. package/lib/calendar/calendar-month/calendar-month.component.d.ts +33 -59
  271. package/lib/calendar/calendar-month/calendar-row.directive.d.ts +1 -1
  272. package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +16 -6
  273. package/lib/calendar/calendar.service.d.ts +11 -3
  274. package/lib/calendar/calendar.utils.d.ts +4 -3
  275. package/lib/collapse/collapse.directive.d.ts +12 -23
  276. package/lib/date-picker/date-picker.component.d.ts +9 -10
  277. package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +65 -94
  278. package/lib/navbar/navbar-brand/navbar-brand.directive.d.ts +2 -3
  279. package/lib/navbar/navbar-nav/navbar-nav.component.d.ts +3 -4
  280. package/lib/navbar/navbar-text/navbar-text.component.d.ts +0 -1
  281. package/lib/navbar/navbar-toggler/navbar-toggler.directive.d.ts +7 -12
  282. package/lib/navbar/navbar.component.d.ts +16 -17
  283. package/package.json +3 -3
@@ -23,7 +23,7 @@ export class CalendarRowDirective {
23
23
  this.selectionType = 'week';
24
24
  this.calendarDate = new Date();
25
25
  this.locale = 'default';
26
- this.#tabindex = signal(-1);
26
+ this.tabindex = signal(-1);
27
27
  this.#calendarService.calendarState$
28
28
  .pipe(distinctUntilChanged(), takeUntilDestroyed(this.#destroyRef))
29
29
  .subscribe((state) => {
@@ -44,17 +44,13 @@ export class CalendarRowDirective {
44
44
  }
45
45
  set week(value) {
46
46
  this.current = value.days.some((day) => day.month === 'current');
47
- this.#tabindex.set(this.selectionType === 'week' && this.current && !this.disabled ? 0 : -1);
47
+ this.tabindex.set(this.selectionType === 'week' && this.current && !this.disabled ? 0 : -1);
48
48
  this.#week = value;
49
49
  }
50
50
  get week() {
51
51
  return this.#week;
52
52
  }
53
53
  #week;
54
- get tabindex() {
55
- return this.#tabindex();
56
- }
57
- #tabindex;
58
54
  get selectEndDate() {
59
55
  return this.range && !!this.startDate && !this.endDate;
60
56
  }
@@ -67,26 +63,35 @@ export class CalendarRowDirective {
67
63
  const week = this.week;
68
64
  const calendarDate = this.calendarDate;
69
65
  const selectionType = this.selectionType;
70
- this.date = convertToDateObject(week.weekNumber === 0 ? `${calendarDate.getFullYear()}W53` : `${calendarDate.getFullYear()}W${week.weekNumber}`, selectionType);
71
66
  this.current = week.days.some((day) => day.month === 'current');
72
- const inRange = this.selectionType === 'week' && isDateInRange(this.date, this.startDate, this.endDate);
73
- const rangeHover = this.selectionType === 'week' && this.hoverDate && this.selectEndDate
74
- ? isDateInRange(this.date, this.startDate, this.hoverDate)
75
- : isDateInRange(this.date, this.hoverDate, this.endDate);
76
- const selected = isDateSelected(this.date, this.startDate, this.endDate);
77
- const disabledDate = isDateDisabled(this.date, this.minDate, this.maxDate, this.disabledDates);
78
- const disabledByFilter = Object.prototype.toString.call(this.dateFilter) === '[object Function]' && this.date
79
- ? !this.dateFilter(this.date)
80
- : false;
81
- this.disabled = disabledDate || disabledByFilter;
82
- return {
83
- 'calendar-row': true,
84
- disabled: this.disabled,
85
- range: inRange,
86
- 'range-hover': rangeHover,
87
- selected: selected,
88
- current: this.current
89
- };
67
+ if (this.selectionType === 'week') {
68
+ this.date = convertToDateObject(week.weekNumber === 0 ? `${calendarDate.getFullYear()}W53` : `${calendarDate.getFullYear()}W${week.weekNumber}`, 'week');
69
+ const inRange = isDateInRange(this.date, this.startDate, this.endDate);
70
+ const rangeHover = this.hoverDate &&
71
+ (this.selectEndDate
72
+ ? isDateInRange(this.date, this.startDate, this.hoverDate)
73
+ : isDateInRange(this.date, this.hoverDate, this.endDate));
74
+ const selected = isDateSelected(this.date, this.startDate, this.endDate);
75
+ const disabledDate = isDateDisabled(this.date, this.minDate, this.maxDate, this.disabledDates);
76
+ const disabledByFilter = Object.prototype.toString.call(this.dateFilter) === '[object Function]' && this.date
77
+ ? !this.dateFilter(this.date)
78
+ : false;
79
+ this.disabled = disabledDate || disabledByFilter;
80
+ return {
81
+ 'calendar-row': true,
82
+ disabled: this.disabled,
83
+ range: inRange,
84
+ 'range-hover': rangeHover,
85
+ selected: selected,
86
+ current: this.current
87
+ };
88
+ }
89
+ else {
90
+ return {
91
+ 'calendar-row': true,
92
+ current: this.current
93
+ };
94
+ }
90
95
  }
91
96
  get ariaSelected() {
92
97
  return this.hostClasses?.['selected'] ? true : null;
@@ -97,25 +102,22 @@ export class CalendarRowDirective {
97
102
  getLabel() {
98
103
  return this.date?.toLocaleDateString(this.locale) ?? '';
99
104
  }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
101
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: CalendarRowDirective, isStandalone: true, selector: "[cCalendarRow]", inputs: { week: ["cCalendarRow", "week"] }, host: { properties: { "attr.aria-selected": "ariaSelected", "attr.tabindex": "this.tabindex", "class": "this.hostClasses" } }, exportAs: ["cCalendarRow"], ngImport: i0 }); }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
106
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: CalendarRowDirective, isStandalone: true, selector: "[cCalendarRow]", inputs: { week: ["cCalendarRow", "week"] }, host: { properties: { "attr.aria-selected": "ariaSelected", "attr.tabindex": "tabindex()", "class": "this.hostClasses" } }, exportAs: ["cCalendarRow"], ngImport: i0 }); }
102
107
  }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarRowDirective, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarRowDirective, decorators: [{
104
109
  type: Directive,
105
110
  args: [{
106
111
  selector: '[cCalendarRow]',
107
112
  standalone: true,
108
113
  exportAs: 'cCalendarRow',
109
- host: { '[attr.aria-selected]': 'ariaSelected' }
114
+ host: { '[attr.aria-selected]': 'ariaSelected', '[attr.tabindex]': 'tabindex()' }
110
115
  }]
111
116
  }], ctorParameters: () => [], propDecorators: { week: [{
112
117
  type: Input,
113
118
  args: [{ alias: 'cCalendarRow', required: true }]
114
- }], tabindex: [{
115
- type: HostBinding,
116
- args: ['attr.tabindex']
117
119
  }], hostClasses: [{
118
120
  type: HostBinding,
119
121
  args: ['class']
120
122
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItcm93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBbUIsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBaUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixXQUFXLENBQXNCO0lBQ2pDLGdCQUFnQixDQUEyQjtJQUkzQztRQUxBLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBZ0Q3QixTQUFJLEdBQWdCLElBQUksQ0FBQztRQUN4QixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5QixZQUFPLEdBQWdCLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5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LFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUQsQ0FBQzs4R0FsSVUsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBTmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixJQUFJLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUU7aUJBQ2pEO3dEQXlDSyxJQUFJO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBNEJkLFFBQVE7c0JBQXpDLFdBQVc7dUJBQUMsZUFBZTtnQkFXeEIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiwgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSwgRGF0ZUZpbHRlclR5cGUsIFNlbGVjdGlvblR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbnZlcnRUb0RhdGVPYmplY3QsIGlzRGF0ZURpc2FibGVkLCBpc0RhdGVJblJhbmdlLCBpc0RhdGVTZWxlY3RlZCB9IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0NhbGVuZGFyUm93XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnY0NhbGVuZGFyUm93JyxcbiAgaG9zdDogeyAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnYXJpYVNlbGVjdGVkJyB9XG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyUm93RGlyZWN0aXZlIGltcGxlbWVudHMgRm9jdXNhYmxlT3B0aW9uIHtcbiAgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICNjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyU3RhdGUkXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgc3RhcnREYXRlID0gdGhpcy5zdGFydERhdGUsXG4gICAgICAgICAgZW5kRGF0ZSA9IHRoaXMuZW5kRGF0ZSxcbiAgICAgICAgICBob3ZlckRhdGUgPSB0aGlzLmhvdmVyRGF0ZSxcbiAgICAgICAgICBtYXhEYXRlID0gdGhpcy5tYXhEYXRlLFxuICAgICAgICAgIG1pbkRhdGUgPSB0aGlzLm1pbkRhdGUsXG4gICAgICAgICAgcmFuZ2UgPSB0aGlzLnJhbmdlLFxuICAgICAgICAgIGRpc2FibGVkRGF0ZXMgPSB0aGlzLmRpc2FibGVkRGF0ZXMsXG4gICAgICAgICAgZGF0ZUZpbHRlciA9IHRoaXMuZGF0ZUZpbHRlcixcbiAgICAgICAgICBzZWxlY3Rpb25UeXBlID0gdGhpcy5zZWxlY3Rpb25UeXBlLFxuICAgICAgICAgIGNhbGVuZGFyRGF0ZSA9IHRoaXMuY2FsZW5kYXJEYXRlLFxuICAgICAgICAgIGxvY2FsZSA9IHRoaXMubG9jYWxlXG4gICAgICAgIH0gPSB7IC4uLnN0YXRlIH07XG4gICAgICAgIHRoaXMuc3RhcnREYXRlID0gc3RhcnREYXRlO1xuICAgICAgICB0aGlzLmVuZERhdGUgPSBlbmREYXRlO1xuICAgICAgICB0aGlzLmhvdmVyRGF0ZSA9IGhvdmVyRGF0ZTtcbiAgICAgICAgdGhpcy5tYXhEYXRlID0gbWF4RGF0ZTtcbiAgICAgICAgdGhpcy5taW5EYXRlID0gbWluRGF0ZTtcbiAgICAgICAgdGhpcy5yYW5nZSA9IHJhbmdlO1xuICAgICAgICB0aGlzLmRpc2FibGVkRGF0ZXMgPSBkaXNhYmxlZERhdGVzO1xuICAgICAgICB0aGlzLmRhdGVGaWx0ZXIgPSBkYXRlRmlsdGVyO1xuICAgICAgICB0aGlzLnNlbGVjdGlvblR5cGUgPSBzZWxlY3Rpb25UeXBlO1xuICAgICAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IGNhbGVuZGFyRGF0ZSA/PyBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZSA/PyAnZGVmYXVsdCc7XG5cbiAgICAgICAgLy8gdGhpcy4jdGFiaW5kZXguc2V0KHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMuY3VycmVudCAmJiAhdGhpcy5kaXNhYmxlZCA/IDAgOiAtMSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCh7IGFsaWFzOiAnY0NhbGVuZGFyUm93JywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgc2V0IHdlZWsodmFsdWU6IHsgd2Vla051bWJlcjogbnVtYmVyOyBkYXlzOiB7IGRhdGU6IERhdGU7IG1vbnRoOiBzdHJpbmcgfVtdIH0pIHtcbiAgICB0aGlzLmN1cnJlbnQgPSB2YWx1ZS5kYXlzLnNvbWUoKGRheSkgPT4gZGF5Lm1vbnRoID09PSAnY3VycmVudCcpO1xuICAgIHRoaXMuI3RhYmluZGV4LnNldCh0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJyAmJiB0aGlzLmN1cnJlbnQgJiYgIXRoaXMuZGlzYWJsZWQgPyAwIDogLTEpO1xuICAgIHRoaXMuI3dlZWsgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB3ZWVrKCkge1xuICAgIHJldHVybiB0aGlzLiN3ZWVrO1xuICB9XG5cbiAgI3dlZWs6IGFueTtcblxuICBwdWJsaWMgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGVuZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBob3ZlckRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBtYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgc2VsZWN0aW9uVHlwZTogU2VsZWN0aW9uVHlwZSA9ICd3ZWVrJztcbiAgcHJpdmF0ZSBkaXNhYmxlZERhdGVzITogKERhdGUgfCBEYXRlW10pW107XG4gIHByaXZhdGUgZGF0ZUZpbHRlciE6IERhdGVGaWx0ZXJUeXBlO1xuICBwcml2YXRlIGNhbGVuZGFyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XG4gIGRpc2FibGVkITogYm9vbGVhbjtcbiAgY3VycmVudCE6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgZ2V0IHRhYmluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI3RhYmluZGV4KCk7XG4gIH1cblxuICAjdGFiaW5kZXggPSBzaWduYWwoLTEpO1xuXG4gIGdldCBzZWxlY3RFbmREYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJhbmdlICYmICEhdGhpcy5zdGFydERhdGUgJiYgIXRoaXMuZW5kRGF0ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICBpZiAoIXRoaXMud2Vlaykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ2NhbGVuZGFyLXJvdyc6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3Qgd2VlayA9IHRoaXMud2VlaztcbiAgICBjb25zdCBjYWxlbmRhckRhdGUgPSB0aGlzLmNhbGVuZGFyRGF0ZTtcbiAgICBjb25zdCBzZWxlY3Rpb25UeXBlID0gdGhpcy5zZWxlY3Rpb25UeXBlO1xuXG4gICAgdGhpcy5kYXRlID0gY29udmVydFRvRGF0ZU9iamVjdChcbiAgICAgIHdlZWsud2Vla051bWJlciA9PT0gMCA/IGAke2NhbGVuZGFyRGF0ZS5nZXRGdWxsWWVhcigpfVc1M2AgOiBgJHtjYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKX1XJHt3ZWVrLndlZWtOdW1iZXJ9YCxcbiAgICAgIHNlbGVjdGlvblR5cGVcbiAgICApO1xuXG4gICAgdGhpcy5jdXJyZW50ID0gd2Vlay5kYXlzLnNvbWUoKGRheSkgPT4gZGF5Lm1vbnRoID09PSAnY3VycmVudCcpO1xuXG4gICAgY29uc3QgaW5SYW5nZSA9IHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIGlzRGF0ZUluUmFuZ2UodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlKTtcbiAgICBjb25zdCByYW5nZUhvdmVyID1cbiAgICAgIHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3dlZWsnICYmIHRoaXMuaG92ZXJEYXRlICYmIHRoaXMuc2VsZWN0RW5kRGF0ZVxuICAgICAgICA/IGlzRGF0ZUluUmFuZ2UodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5ob3ZlckRhdGUpXG4gICAgICAgIDogaXNEYXRlSW5SYW5nZSh0aGlzLmRhdGUsIHRoaXMuaG92ZXJEYXRlLCB0aGlzLmVuZERhdGUpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gaXNEYXRlU2VsZWN0ZWQodGhpcy5kYXRlLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlKTtcbiAgICBjb25zdCBkaXNhYmxlZERhdGUgPSBpc0RhdGVEaXNhYmxlZCh0aGlzLmRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpO1xuICAgIGNvbnN0IGRpc2FibGVkQnlGaWx0ZXIgPVxuICAgICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMuZGF0ZUZpbHRlcikgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXScgJiYgdGhpcy5kYXRlXG4gICAgICAgID8gIXRoaXMuZGF0ZUZpbHRlcih0aGlzLmRhdGUpXG4gICAgICAgIDogZmFsc2U7XG5cbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWREYXRlIHx8IGRpc2FibGVkQnlGaWx0ZXI7XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ2NhbGVuZGFyLXJvdyc6IHRydWUsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgIHJhbmdlOiBpblJhbmdlLFxuICAgICAgJ3JhbmdlLWhvdmVyJzogcmFuZ2VIb3ZlcixcbiAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZCxcbiAgICAgIGN1cnJlbnQ6IHRoaXMuY3VycmVudFxuICAgIH07XG4gIH1cblxuICBnZXQgYXJpYVNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmhvc3RDbGFzc2VzPy5bJ3NlbGVjdGVkJ10gPyB0cnVlIDogbnVsbDtcbiAgfVxuXG4gIGZvY3VzKG9yaWdpbj86IEZvY3VzT3JpZ2luKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG9yaWdpbiA/PyAna2V5Ym9hcmQnKTtcbiAgfVxuXG4gIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA/PyAnJztcbiAgfVxufVxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItcm93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBbUIsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBaUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixXQUFXLENBQXNCO0lBQ2pDLGdCQUFnQixDQUEyQjtJQUkzQztRQUxBLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBZ0Q3QixTQUFJLEdBQWdCLElBQUksQ0FBQztRQUN4QixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5QixZQUFPLEdBQWdCLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5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QUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLElBQUksVUFBVSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxRCxDQUFDOzhHQXRJVSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLElBQUksRUFBRSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUU7aUJBQ2xGO3dEQXlDSyxJQUFJO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBbUM1QyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uLCBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlLCBEYXRlRmlsdGVyVHlwZSwgU2VsZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29udmVydFRvRGF0ZU9iamVjdCwgaXNEYXRlRGlzYWJsZWQsIGlzRGF0ZUluUmFuZ2UsIGlzRGF0ZVNlbGVjdGVkIH0gZnJvbSAnLi4vY2FsZW5kYXIudXRpbHMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjQ2FsZW5kYXJSb3ddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdjQ2FsZW5kYXJSb3cnLFxuICBob3N0OiB7ICdbYXR0ci5hcmlhLXNlbGVjdGVkXSc6ICdhcmlhU2VsZWN0ZWQnLCAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYmluZGV4KCknIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJSb3dEaXJlY3RpdmUgaW1wbGVtZW50cyBGb2N1c2FibGVPcHRpb24ge1xuICAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgI2NhbGVuZGFyU2VydmljZSA9IGluamVjdChDYWxlbmRhclNlcnZpY2UpO1xuICBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBmb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNjYWxlbmRhclNlcnZpY2UuY2FsZW5kYXJTdGF0ZSRcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBzdGFydERhdGUgPSB0aGlzLnN0YXJ0RGF0ZSxcbiAgICAgICAgICBlbmREYXRlID0gdGhpcy5lbmREYXRlLFxuICAgICAgICAgIGhvdmVyRGF0ZSA9IHRoaXMuaG92ZXJEYXRlLFxuICAgICAgICAgIG1heERhdGUgPSB0aGlzLm1heERhdGUsXG4gICAgICAgICAgbWluRGF0ZSA9IHRoaXMubWluRGF0ZSxcbiAgICAgICAgICByYW5nZSA9IHRoaXMucmFuZ2UsXG4gICAgICAgICAgZGlzYWJsZWREYXRlcyA9IHRoaXMuZGlzYWJsZWREYXRlcyxcbiAgICAgICAgICBkYXRlRmlsdGVyID0gdGhpcy5kYXRlRmlsdGVyLFxuICAgICAgICAgIHNlbGVjdGlvblR5cGUgPSB0aGlzLnNlbGVjdGlvblR5cGUsXG4gICAgICAgICAgY2FsZW5kYXJEYXRlID0gdGhpcy5jYWxlbmRhckRhdGUsXG4gICAgICAgICAgbG9jYWxlID0gdGhpcy5sb2NhbGVcbiAgICAgICAgfSA9IHsgLi4uc3RhdGUgfTtcbiAgICAgICAgdGhpcy5zdGFydERhdGUgPSBzdGFydERhdGU7XG4gICAgICAgIHRoaXMuZW5kRGF0ZSA9IGVuZERhdGU7XG4gICAgICAgIHRoaXMuaG92ZXJEYXRlID0gaG92ZXJEYXRlO1xuICAgICAgICB0aGlzLm1heERhdGUgPSBtYXhEYXRlO1xuICAgICAgICB0aGlzLm1pbkRhdGUgPSBtaW5EYXRlO1xuICAgICAgICB0aGlzLnJhbmdlID0gcmFuZ2U7XG4gICAgICAgIHRoaXMuZGlzYWJsZWREYXRlcyA9IGRpc2FibGVkRGF0ZXM7XG4gICAgICAgIHRoaXMuZGF0ZUZpbHRlciA9IGRhdGVGaWx0ZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uVHlwZSA9IHNlbGVjdGlvblR5cGU7XG4gICAgICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gY2FsZW5kYXJEYXRlID8/IG5ldyBEYXRlKCk7XG4gICAgICAgIHRoaXMubG9jYWxlID0gbG9jYWxlID8/ICdkZWZhdWx0JztcblxuICAgICAgICAvLyB0aGlzLiN0YWJpbmRleC5zZXQodGhpcy5zZWxlY3Rpb25UeXBlID09PSAnd2VlaycgJiYgdGhpcy5jdXJyZW50ICYmICF0aGlzLmRpc2FibGVkID8gMCA6IC0xKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQElucHV0KHsgYWxpYXM6ICdjQ2FsZW5kYXJSb3cnLCByZXF1aXJlZDogdHJ1ZSB9KVxuICBzZXQgd2Vlayh2YWx1ZTogeyB3ZWVrTnVtYmVyOiBudW1iZXI7IGRheXM6IHsgZGF0ZTogRGF0ZTsgbW9udGg6IHN0cmluZyB9W10gfSkge1xuICAgIHRoaXMuY3VycmVudCA9IHZhbHVlLmRheXMuc29tZSgoZGF5KSA9PiBkYXkubW9udGggPT09ICdjdXJyZW50Jyk7XG4gICAgdGhpcy50YWJpbmRleC5zZXQodGhpcy5zZWxlY3Rpb25UeXBlID09PSAnd2VlaycgJiYgdGhpcy5jdXJyZW50ICYmICF0aGlzLmRpc2FibGVkID8gMCA6IC0xKTtcbiAgICB0aGlzLiN3ZWVrID0gdmFsdWU7XG4gIH1cblxuICBnZXQgd2VlaygpIHtcbiAgICByZXR1cm4gdGhpcy4jd2VlaztcbiAgfVxuXG4gICN3ZWVrOiBhbnk7XG5cbiAgcHVibGljIGRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBzdGFydERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBlbmREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgaG92ZXJEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG1pbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIHNlbGVjdGlvblR5cGU6IFNlbGVjdGlvblR5cGUgPSAnd2Vlayc7XG4gIHByaXZhdGUgZGlzYWJsZWREYXRlcyE6IChEYXRlIHwgRGF0ZVtdKVtdO1xuICBwcml2YXRlIGRhdGVGaWx0ZXIhOiBEYXRlRmlsdGVyVHlwZTtcbiAgcHJpdmF0ZSBjYWxlbmRhckRhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICBwcml2YXRlIGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xuICBkaXNhYmxlZCE6IGJvb2xlYW47XG4gIGN1cnJlbnQhOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IHRhYmluZGV4ID0gc2lnbmFsKC0xKTtcblxuICBnZXQgc2VsZWN0RW5kRGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yYW5nZSAmJiAhIXRoaXMuc3RhcnREYXRlICYmICF0aGlzLmVuZERhdGU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgaWYgKCF0aGlzLndlZWspIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdjYWxlbmRhci1yb3cnOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHdlZWsgPSB0aGlzLndlZWs7XG4gICAgY29uc3QgY2FsZW5kYXJEYXRlID0gdGhpcy5jYWxlbmRhckRhdGU7XG4gICAgY29uc3Qgc2VsZWN0aW9uVHlwZSA9IHRoaXMuc2VsZWN0aW9uVHlwZTtcblxuICAgIHRoaXMuY3VycmVudCA9IHdlZWsuZGF5cy5zb21lKChkYXkpID0+IGRheS5tb250aCA9PT0gJ2N1cnJlbnQnKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd3ZWVrJykge1xuICAgICAgdGhpcy5kYXRlID0gY29udmVydFRvRGF0ZU9iamVjdChcbiAgICAgICAgd2Vlay53ZWVrTnVtYmVyID09PSAwID8gYCR7Y2FsZW5kYXJEYXRlLmdldEZ1bGxZZWFyKCl9VzUzYCA6IGAke2NhbGVuZGFyRGF0ZS5nZXRGdWxsWWVhcigpfVcke3dlZWsud2Vla051bWJlcn1gLFxuICAgICAgICAnd2VlaydcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGluUmFuZ2UgPSBpc0RhdGVJblJhbmdlKHRoaXMuZGF0ZSwgdGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XG4gICAgICBjb25zdCByYW5nZUhvdmVyID1cbiAgICAgICAgdGhpcy5ob3ZlckRhdGUgJiZcbiAgICAgICAgKHRoaXMuc2VsZWN0RW5kRGF0ZVxuICAgICAgICAgID8gaXNEYXRlSW5SYW5nZSh0aGlzLmRhdGUsIHRoaXMuc3RhcnREYXRlLCB0aGlzLmhvdmVyRGF0ZSlcbiAgICAgICAgICA6IGlzRGF0ZUluUmFuZ2UodGhpcy5kYXRlLCB0aGlzLmhvdmVyRGF0ZSwgdGhpcy5lbmREYXRlKSk7XG4gICAgICBjb25zdCBzZWxlY3RlZCA9IGlzRGF0ZVNlbGVjdGVkKHRoaXMuZGF0ZSwgdGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XG4gICAgICBjb25zdCBkaXNhYmxlZERhdGUgPSBpc0RhdGVEaXNhYmxlZCh0aGlzLmRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpO1xuICAgICAgY29uc3QgZGlzYWJsZWRCeUZpbHRlciA9XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0aGlzLmRhdGVGaWx0ZXIpID09PSAnW29iamVjdCBGdW5jdGlvbl0nICYmIHRoaXMuZGF0ZVxuICAgICAgICAgID8gIXRoaXMuZGF0ZUZpbHRlcih0aGlzLmRhdGUpXG4gICAgICAgICAgOiBmYWxzZTtcblxuICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkRGF0ZSB8fCBkaXNhYmxlZEJ5RmlsdGVyO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAnY2FsZW5kYXItcm93JzogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIHJhbmdlOiBpblJhbmdlLFxuICAgICAgICAncmFuZ2UtaG92ZXInOiByYW5nZUhvdmVyLFxuICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWQsXG4gICAgICAgIGN1cnJlbnQ6IHRoaXMuY3VycmVudFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ2NhbGVuZGFyLXJvdyc6IHRydWUsXG4gICAgICAgIGN1cnJlbnQ6IHRoaXMuY3VycmVudFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBnZXQgYXJpYVNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmhvc3RDbGFzc2VzPy5bJ3NlbGVjdGVkJ10gPyB0cnVlIDogbnVsbDtcbiAgfVxuXG4gIGZvY3VzKG9yaWdpbj86IEZvY3VzT3JpZ2luKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG9yaWdpbiA/PyAna2V5Ym9hcmQnKTtcbiAgfVxuXG4gIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA/PyAnJztcbiAgfVxufVxuIl19
@@ -8,10 +8,10 @@ export class CalendarWeekdayPipe {
8
8
  ? date.toLocaleDateString(locale, { weekday: weekdayFormat })
9
9
  : date.toLocaleDateString(locale, { weekday: 'long' }).slice(0, weekdayFormat);
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarWeekdayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: CalendarWeekdayPipe, isStandalone: true, name: "calendarWeekday" }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarWeekdayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: CalendarWeekdayPipe, isStandalone: true, name: "calendarWeekday" }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarWeekdayPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarWeekdayPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'calendarWeekday',
@@ -1,29 +1,57 @@
1
- import { Component, computed, DestroyRef, inject, input, output, signal } from '@angular/core';
1
+ import { Component, computed, DestroyRef, inject, input, numberAttribute, output, signal } from '@angular/core';
2
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
3
  import { NgStyle } from '@angular/common';
4
4
  import { ButtonDirective } from '../../button';
5
+ import { CalendarService } from '../calendar.service';
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "../calendar.service";
7
7
  export class CalendarNavigationComponent {
8
8
  #destroyRef;
9
- constructor(calendarService) {
10
- this.calendarService = calendarService;
9
+ #calendarService;
10
+ constructor() {
11
11
  this.#destroyRef = inject(DestroyRef);
12
- this.addMonths = input(0);
12
+ this.#calendarService = inject(CalendarService);
13
+ this.pageIndex = input(0, { transform: numberAttribute });
14
+ this.addMonths = computed(() => {
15
+ const view = this.view();
16
+ const pageIndex = this.pageIndex();
17
+ return pageIndex * (view === 'years' ? 144 : view === 'months' ? 12 : 1);
18
+ });
13
19
  this.navigation = input(true);
20
+ this.maxDate = signal(null);
21
+ this.minDate = signal(null);
14
22
  this.calendarDate = signal(new Date());
15
23
  this.navYearFirst = signal(false);
16
24
  this.locale = signal('default');
17
25
  this.view = signal('days');
18
- this.selectionType = 'day';
26
+ this.selectionType = signal('day');
27
+ this.ariaNextMonthLabel = input('Next month');
28
+ this.ariaNextYearLabel = input('Next year');
29
+ this.ariaPrevMonthLabel = input('Previous month');
30
+ this.ariaPrevYearLabel = input('Previous year');
19
31
  this.navigationClick = output();
20
32
  this.date = computed(() => {
21
33
  return new Date(this.calendarDate().getFullYear(), this.calendarDate().getMonth() + this.addMonths());
22
34
  });
35
+ this.disableNextMonth = computed(() => {
36
+ const maxDate = this.maxDate();
37
+ return maxDate ? this.date() >= maxDate : false;
38
+ });
39
+ this.disablePrevMonth = computed(() => {
40
+ const minDate = this.minDate();
41
+ return minDate ? this.date() <= minDate : false;
42
+ });
43
+ this.disableNextYear = computed(() => {
44
+ const maxDate = this.maxDate();
45
+ return maxDate ? this.date().getFullYear() + 1 >= maxDate.getFullYear() : false;
46
+ });
47
+ this.disablePrevYear = computed(() => {
48
+ const minDate = this.minDate();
49
+ return minDate ? this.date().getFullYear() - 1 <= minDate.getFullYear() : false;
50
+ });
23
51
  this.calendarStateSubscribe();
24
52
  }
25
53
  calendarStateSubscribe() {
26
- this.calendarService.calendarState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((state) => {
54
+ this.#calendarService.calendarState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((state) => {
27
55
  const keys = Object.keys(state);
28
56
  for (const key of keys) {
29
57
  if (key in this) {
@@ -36,7 +64,7 @@ export class CalendarNavigationComponent {
36
64
  }
37
65
  setView(view) {
38
66
  this.view.set(view);
39
- this.calendarService.update({ view: view });
67
+ this.#calendarService.update({ view: view });
40
68
  }
41
69
  handleNavigationClick(direction, years = false) {
42
70
  this.navigationClick.emit({ direction, years: years });
@@ -47,13 +75,13 @@ export class CalendarNavigationComponent {
47
75
  this.handleNavigationClick(direction, years);
48
76
  }
49
77
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarNavigationComponent, deps: [{ token: i1.CalendarService }], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: CalendarNavigationComponent, isStandalone: true, selector: "c-calendar-navigation", inputs: { addMonths: { classPropertyName: "addMonths", publicName: "addMonths", isSignal: true, isRequired: false, transformFunction: null }, navigation: { classPropertyName: "navigation", publicName: "navigation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { navigationClick: "navigationClick" }, host: { classAttribute: "calendar-nav" }, ngImport: i0, template: "@if (navigation()) {\n <div class=\"calendar-nav-prev\">\n <button\n (click)=\"handleNavigationClick('prev', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-prev\"></span>\n </button>\n @if (view() === 'days') {\n <button\n (click)=\"handleNavigationClick('prev')\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-prev\"></span>\n </button>\n }\n </div>\n}\n<div [ngStyle]=\"navYearFirst() ? { display: 'flex', justifyContent: 'center' } : {}\" aria-live=\"polite\" class=\"calendar-nav-date\">\n @if (view() === 'days') {\n <button\n (click)=\"setView('months')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date().toLocaleDateString(locale(), { month: 'long' }) }}\n </button>\n }\n <button\n (click)=\"setView('years')\"\n [ngStyle]=\"navYearFirst() ? { order: '-1' } : {}\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date().toLocaleDateString(locale(), { year: 'numeric' }) }}\n </button>\n</div>\n@if (navigation()) {\n <div class=\"calendar-nav-next\">\n @if (view() === 'days') {\n <button\n (click)=\"handleNavigationClick('next')\"\n (keyup)=\"handleNavigationKeyUp($event, 'next')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-next\"></span>\n </button>\n }\n <button\n (click)=\"handleNavigationClick('next', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'next', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-next\"></span>\n </button>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: CalendarNavigationComponent, isStandalone: true, selector: "c-calendar-navigation", inputs: { pageIndex: { classPropertyName: "pageIndex", publicName: "pageIndex", isSignal: true, isRequired: false, transformFunction: null }, navigation: { classPropertyName: "navigation", publicName: "navigation", isSignal: true, isRequired: false, transformFunction: null }, ariaNextMonthLabel: { classPropertyName: "ariaNextMonthLabel", publicName: "ariaNextMonthLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaNextYearLabel: { classPropertyName: "ariaNextYearLabel", publicName: "ariaNextYearLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaPrevMonthLabel: { classPropertyName: "ariaPrevMonthLabel", publicName: "ariaPrevMonthLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaPrevYearLabel: { classPropertyName: "ariaPrevYearLabel", publicName: "ariaPrevYearLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { navigationClick: "navigationClick" }, host: { classAttribute: "calendar-nav" }, ngImport: i0, template: "@if (navigation()) {\n <div class=\"calendar-nav-prev\">\n <button\n (click)=\"handleNavigationClick('prev', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev', true)\"\n cButton\n [disabled]=\"disablePrevYear()\"\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaPrevYearLabel()\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-prev\"></span>\n </button>\n @if (view() === 'days') {\n <button\n (click)=\"handleNavigationClick('prev')\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev')\"\n cButton\n [disabled]=\"disablePrevMonth()\"\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaPrevMonthLabel()\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-prev\"></span>\n </button>\n }\n </div>\n}\n<div [ngStyle]=\"navYearFirst() ? { display: 'flex', justifyContent: 'center' } : {}\" aria-live=\"polite\" class=\"calendar-nav-date\">\n @if (view() === 'days') {\n <button\n (click)=\"setView('months')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date().toLocaleDateString(locale(), { month: 'long' }) }}\n </button>\n }\n <button\n (click)=\"setView('years')\"\n [ngStyle]=\"navYearFirst() ? { order: '-1' } : {}\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date().toLocaleDateString(locale(), { year: 'numeric' }) }}\n </button>\n</div>\n@if (navigation()) {\n <div class=\"calendar-nav-next\">\n @if (view() === 'days') {\n <button\n (click)=\"handleNavigationClick('next')\"\n (keyup)=\"handleNavigationKeyUp($event, 'next')\"\n [disabled]=\"disableNextMonth()\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaNextMonthLabel()\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-next\"></span>\n </button>\n }\n <button\n (click)=\"handleNavigationClick('next', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'next', true)\"\n cButton\n [disabled]=\"disableNextYear()\"\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaNextYearLabel()\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-next\"></span>\n </button>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
52
80
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarNavigationComponent, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarNavigationComponent, decorators: [{
54
82
  type: Component,
55
83
  args: [{ selector: 'c-calendar-navigation', standalone: true, imports: [ButtonDirective, NgStyle], host: {
56
84
  class: 'calendar-nav'
57
- }, template: "@if (navigation()) {\n <div class=\"calendar-nav-prev\">\n <button\n (click)=\"handleNavigationClick('prev', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-prev\"></span>\n </button>\n @if (view() === 'days') {\n <button\n (click)=\"handleNavigationClick('prev')\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-prev\"></span>\n </button>\n }\n </div>\n}\n<div [ngStyle]=\"navYearFirst() ? { display: 'flex', justifyContent: 'center' } : {}\" aria-live=\"polite\" class=\"calendar-nav-date\">\n @if (view() === 'days') {\n <button\n (click)=\"setView('months')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date().toLocaleDateString(locale(), { month: 'long' }) }}\n </button>\n }\n <button\n (click)=\"setView('years')\"\n [ngStyle]=\"navYearFirst() ? { order: '-1' } : {}\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date().toLocaleDateString(locale(), { year: 'numeric' }) }}\n </button>\n</div>\n@if (navigation()) {\n <div class=\"calendar-nav-next\">\n @if (view() === 'days') {\n <button\n (click)=\"handleNavigationClick('next')\"\n (keyup)=\"handleNavigationKeyUp($event, 'next')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-next\"></span>\n </button>\n }\n <button\n (click)=\"handleNavigationClick('next', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'next', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-next\"></span>\n </button>\n </div>\n}\n" }]
58
- }], ctorParameters: () => [{ type: i1.CalendarService }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW5hdmlnYXRpb24vY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW5hdmlnYXRpb24vY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFrQi9DLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsV0FBVyxDQUFzQjtJQUVqQyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGcEQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFNeEIsY0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQixlQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLFNBQUksR0FBRyxNQUFNLENBQThCLE1BQU0sQ0FBQyxDQUFDO1FBQzVELGtCQUFhLEdBQWtCLEtBQUssQ0FBQztRQUU1QixvQkFBZSxHQUFHLE1BQU0sRUFBb0IsQ0FBQztRQUU3QyxTQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDeEcsQ0FBQyxDQUFDLENBQUM7UUFmRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBZ0JELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakcsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDaEIsYUFBYTtvQkFDYixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN2RiwwQkFBMEI7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWlDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELHFCQUFxQixDQUFDLFNBQTBCLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDN0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELHFCQUFxQixDQUFDLE1BQXFCLEVBQUUsU0FBMEIsRUFBRSxLQUFlO1FBQ3RGLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7OEdBaERVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLG1jQ3RCeEMsa25FQTJFQSwwREQxRFksZUFBZSwwSkFBRSxPQUFPOzsyRkFLdkIsMkJBQTJCO2tCQVZ2QyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLFFBQzdCO3dCQUNKLEtBQUssRUFBRSxjQUFjO3FCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIERlc3Ryb3lSZWYsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYnV0dG9uJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSwgU2VsZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgSU5hdmlnYXRpb25DbGljayB7XG4gIGRpcmVjdGlvbjogJ3ByZXYnIHwgJ25leHQnO1xuICB5ZWFyczogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1jYWxlbmRhci1uYXZpZ2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCdXR0b25EaXJlY3RpdmUsIE5nU3R5bGVdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdjYWxlbmRhci1uYXYnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZSkge1xuICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgcmVhZG9ubHkgYWRkTW9udGhzID0gaW5wdXQoMCk7XG4gIHJlYWRvbmx5IG5hdmlnYXRpb24gPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgY2FsZW5kYXJEYXRlID0gc2lnbmFsKG5ldyBEYXRlKCkpO1xuICByZWFkb25seSBuYXZZZWFyRmlyc3QgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBsb2NhbGUgPSBzaWduYWwoJ2RlZmF1bHQnKTtcbiAgcmVhZG9ubHkgdmlldyA9IHNpZ25hbDwnZGF5cycgfCAnbW9udGhzJyB8ICd5ZWFycyc+KCdkYXlzJyk7XG4gIHNlbGVjdGlvblR5cGU6IFNlbGVjdGlvblR5cGUgPSAnZGF5JztcblxuICByZWFkb25seSBuYXZpZ2F0aW9uQ2xpY2sgPSBvdXRwdXQ8SU5hdmlnYXRpb25DbGljaz4oKTtcblxuICByZWFkb25seSBkYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmNhbGVuZGFyRGF0ZSgpLmdldEZ1bGxZZWFyKCksIHRoaXMuY2FsZW5kYXJEYXRlKCkuZ2V0TW9udGgoKSArIHRoaXMuYWRkTW9udGhzKCkpO1xuICB9KTtcblxuICBjYWxlbmRhclN0YXRlU3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyU3RhdGUkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoc3RhdGUpO1xuICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICBpZiAoa2V5IGluIHRoaXMpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgdHlwZW9mIHRoaXNba2V5XSA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXNba2V5XS5zZXQoc3RhdGVba2V5XSkgOiAodGhpc1trZXldID0gc3RhdGVba2V5XSk7XG4gICAgICAgICAgLy8gdGhpc1trZXldID0gc3RhdGVba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0Vmlldyh2aWV3OiAnZGF5cycgfCAnbW9udGhzJyB8ICd5ZWFycycpIHtcbiAgICB0aGlzLnZpZXcuc2V0KHZpZXcpO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHZpZXc6IHZpZXcgfSk7XG4gIH1cblxuICBoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soZGlyZWN0aW9uOiAncHJldicgfCAnbmV4dCcsIHllYXJzID0gZmFsc2UpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25DbGljay5lbWl0KHsgZGlyZWN0aW9uLCB5ZWFyczogeWVhcnMgfSk7XG4gIH1cblxuICBoYW5kbGVOYXZpZ2F0aW9uS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBkaXJlY3Rpb246ICdwcmV2JyB8ICduZXh0JywgeWVhcnM/OiBib29sZWFuKSB7XG4gICAgaWYgKFsnU3BhY2UnXS5pbmNsdWRlcygkZXZlbnQuY29kZSkpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5oYW5kbGVOYXZpZ2F0aW9uQ2xpY2soZGlyZWN0aW9uLCB5ZWFycyk7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKG5hdmlnYXRpb24oKSkge1xuICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItbmF2LXByZXZcIj5cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwiaGFuZGxlTmF2aWdhdGlvbkNsaWNrKCdwcmV2JywgdHJ1ZSlcIlxuICAgICAgKGtleXVwKT1cImhhbmRsZU5hdmlnYXRpb25LZXlVcCgkZXZlbnQsICdwcmV2JywgdHJ1ZSlcIlxuICAgICAgY0J1dHRvblxuICAgICAgY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICBzaXplPVwic21cIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cImNhbGVuZGFyLW5hdi1pY29uIGNhbGVuZGFyLW5hdi1pY29uLWRvdWJsZS1wcmV2XCI+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIEBpZiAodmlldygpID09PSAnZGF5cycpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygncHJldicpXCJcbiAgICAgICAgKGtleXVwKT1cImhhbmRsZU5hdmlnYXRpb25LZXlVcCgkZXZlbnQsICdwcmV2JylcIlxuICAgICAgICBjQnV0dG9uXG4gICAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhbGVuZGFyLW5hdi1pY29uIGNhbGVuZGFyLW5hdi1pY29uLXByZXZcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxufVxuPGRpdiBbbmdTdHlsZV09XCJuYXZZZWFyRmlyc3QoKSA/IHsgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicgfSA6IHt9XCIgYXJpYS1saXZlPVwicG9saXRlXCIgY2xhc3M9XCJjYWxlbmRhci1uYXYtZGF0ZVwiPlxuICBAaWYgKHZpZXcoKSA9PT0gJ2RheXMnKSB7XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInNldFZpZXcoJ21vbnRocycpXCJcbiAgICAgIGNCdXR0b25cbiAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgPlxuICAgICAge3sgZGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUoKSwgeyBtb250aDogJ2xvbmcnIH0pIH19XG4gICAgPC9idXR0b24+XG4gIH1cbiAgPGJ1dHRvblxuICAgIChjbGljayk9XCJzZXRWaWV3KCd5ZWFycycpXCJcbiAgICBbbmdTdHlsZV09XCJuYXZZZWFyRmlyc3QoKSA/IHsgb3JkZXI6ICctMScgfSA6IHt9XCJcbiAgICBjQnV0dG9uXG4gICAgY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgc2l6ZT1cInNtXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICA+XG4gICAge3sgZGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUoKSwgeyB5ZWFyOiAnbnVtZXJpYycgfSkgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbkBpZiAobmF2aWdhdGlvbigpKSB7XG4gIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1uYXYtbmV4dFwiPlxuICAgIEBpZiAodmlldygpID09PSAnZGF5cycpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygnbmV4dCcpXCJcbiAgICAgICAgKGtleXVwKT1cImhhbmRsZU5hdmlnYXRpb25LZXlVcCgkZXZlbnQsICduZXh0JylcIlxuICAgICAgICBjQnV0dG9uXG4gICAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhbGVuZGFyLW5hdi1pY29uIGNhbGVuZGFyLW5hdi1pY29uLW5leHRcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygnbmV4dCcsIHRydWUpXCJcbiAgICAgIChrZXl1cCk9XCJoYW5kbGVOYXZpZ2F0aW9uS2V5VXAoJGV2ZW50LCAnbmV4dCcsIHRydWUpXCJcbiAgICAgIGNCdXR0b25cbiAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjYWxlbmRhci1uYXYtaWNvbiBjYWxlbmRhci1uYXYtaWNvbi1kb3VibGUtbmV4dFwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG59XG4iXX0=
85
+ }, template: "@if (navigation()) {\n <div class=\"calendar-nav-prev\">\n <button\n (click)=\"handleNavigationClick('prev', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev', true)\"\n cButton\n [disabled]=\"disablePrevYear()\"\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaPrevYearLabel()\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-prev\"></span>\n </button>\n @if (view() === 'days') {\n <button\n (click)=\"handleNavigationClick('prev')\"\n (keyup)=\"handleNavigationKeyUp($event, 'prev')\"\n cButton\n [disabled]=\"disablePrevMonth()\"\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaPrevMonthLabel()\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-prev\"></span>\n </button>\n }\n </div>\n}\n<div [ngStyle]=\"navYearFirst() ? { display: 'flex', justifyContent: 'center' } : {}\" aria-live=\"polite\" class=\"calendar-nav-date\">\n @if (view() === 'days') {\n <button\n (click)=\"setView('months')\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date().toLocaleDateString(locale(), { month: 'long' }) }}\n </button>\n }\n <button\n (click)=\"setView('years')\"\n [ngStyle]=\"navYearFirst() ? { order: '-1' } : {}\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date().toLocaleDateString(locale(), { year: 'numeric' }) }}\n </button>\n</div>\n@if (navigation()) {\n <div class=\"calendar-nav-next\">\n @if (view() === 'days') {\n <button\n (click)=\"handleNavigationClick('next')\"\n (keyup)=\"handleNavigationKeyUp($event, 'next')\"\n [disabled]=\"disableNextMonth()\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaNextMonthLabel()\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-next\"></span>\n </button>\n }\n <button\n (click)=\"handleNavigationClick('next', true)\"\n (keyup)=\"handleNavigationKeyUp($event, 'next', true)\"\n cButton\n [disabled]=\"disableNextYear()\"\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaNextYearLabel()\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-next\"></span>\n </button>\n </div>\n}\n" }]
86
+ }], ctorParameters: () => [] });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW5hdmlnYXRpb24vY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW5hdmlnYXRpb24vY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFpQixNQUFNLHFCQUFxQixDQUFDOztBQWlCckUsTUFBTSxPQUFPLDJCQUEyQjtJQUM3QixXQUFXLENBQXNCO0lBQ2pDLGdCQUFnQixDQUEyQjtJQUVwRDtRQUhTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQU0zQyxjQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLElB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QUFxQixFQUFFLFNBQTBCLEVBQUUsS0FBZTtRQUN0RixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDOzhHQTdFVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix5akNDdEJ4QyxrK0VBbUZBLDBERGxFWSxlQUFlLDBKQUFFLE9BQU87OzJGQUt2QiwyQkFBMkI7a0JBVnZDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBR3JCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsUUFDN0I7d0JBQ0osS0FBSyxFQUFFLGNBQWM7cUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRGVzdHJveVJlZiwgaW5qZWN0LCBpbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UsIFNlbGVjdGlvblR5cGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIElOYXZpZ2F0aW9uQ2xpY2sge1xuICBkaXJlY3Rpb246ICdwcmV2JyB8ICduZXh0JztcbiAgeWVhcnM6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtY2FsZW5kYXItbmF2aWdhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQnV0dG9uRGlyZWN0aXZlLCBOZ1N0eWxlXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnY2FsZW5kYXItbmF2J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSAjY2FsZW5kYXJTZXJ2aWNlID0gaW5qZWN0KENhbGVuZGFyU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaWJlKCk7XG4gIH1cblxuICByZWFkb25seSBwYWdlSW5kZXggPSBpbnB1dCgwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICByZWFkb25seSBhZGRNb250aHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMudmlldygpO1xuICAgIGNvbnN0IHBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4KCk7XG4gICAgcmV0dXJuIHBhZ2VJbmRleCAqICh2aWV3ID09PSAneWVhcnMnID8gMTQ0IDogdmlldyA9PT0gJ21vbnRocycgPyAxMiA6IDEpO1xuICB9KTtcbiAgcmVhZG9ubHkgbmF2aWdhdGlvbiA9IGlucHV0KHRydWUpO1xuICByZWFkb25seSBtYXhEYXRlID0gc2lnbmFsPERhdGUgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgbWluRGF0ZSA9IHNpZ25hbDxEYXRlIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGNhbGVuZGFyRGF0ZSA9IHNpZ25hbChuZXcgRGF0ZSgpKTtcbiAgcmVhZG9ubHkgbmF2WWVhckZpcnN0ID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgbG9jYWxlID0gc2lnbmFsKCdkZWZhdWx0Jyk7XG4gIHJlYWRvbmx5IHZpZXcgPSBzaWduYWw8J2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnPignZGF5cycpO1xuICByZWFkb25seSBzZWxlY3Rpb25UeXBlID0gc2lnbmFsPFNlbGVjdGlvblR5cGU+KCdkYXknKTtcblxuICByZWFkb25seSBhcmlhTmV4dE1vbnRoTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdOZXh0IG1vbnRoJyk7XG4gIHJlYWRvbmx5IGFyaWFOZXh0WWVhckxhYmVsID0gaW5wdXQ8c3RyaW5nPignTmV4dCB5ZWFyJyk7XG4gIHJlYWRvbmx5IGFyaWFQcmV2TW9udGhMYWJlbCA9IGlucHV0PHN0cmluZz4oJ1ByZXZpb3VzIG1vbnRoJyk7XG4gIHJlYWRvbmx5IGFyaWFQcmV2WWVhckxhYmVsID0gaW5wdXQ8c3RyaW5nPignUHJldmlvdXMgeWVhcicpO1xuXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25DbGljayA9IG91dHB1dDxJTmF2aWdhdGlvbkNsaWNrPigpO1xuXG4gIHJlYWRvbmx5IGRhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuY2FsZW5kYXJEYXRlKCkuZ2V0RnVsbFllYXIoKSwgdGhpcy5jYWxlbmRhckRhdGUoKS5nZXRNb250aCgpICsgdGhpcy5hZGRNb250aHMoKSk7XG4gIH0pO1xuICByZWFkb25seSBkaXNhYmxlTmV4dE1vbnRoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm1heERhdGUoKTtcbiAgICByZXR1cm4gbWF4RGF0ZSA/IHRoaXMuZGF0ZSgpID49IG1heERhdGUgOiBmYWxzZTtcbiAgfSk7XG4gIHJlYWRvbmx5IGRpc2FibGVQcmV2TW9udGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMubWluRGF0ZSgpO1xuICAgIHJldHVybiBtaW5EYXRlID8gdGhpcy5kYXRlKCkgPD0gbWluRGF0ZSA6IGZhbHNlO1xuICB9KTtcbiAgcmVhZG9ubHkgZGlzYWJsZU5leHRZZWFyID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm1heERhdGUoKTtcbiAgICByZXR1cm4gbWF4RGF0ZSA/IHRoaXMuZGF0ZSgpLmdldEZ1bGxZZWFyKCkgKyAxID49IG1heERhdGUuZ2V0RnVsbFllYXIoKSA6IGZhbHNlO1xuICB9KTtcbiAgcmVhZG9ubHkgZGlzYWJsZVByZXZZZWFyID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLm1pbkRhdGUoKTtcbiAgICByZXR1cm4gbWluRGF0ZSA/IHRoaXMuZGF0ZSgpLmdldEZ1bGxZZWFyKCkgLSAxIDw9IG1pbkRhdGUuZ2V0RnVsbFllYXIoKSA6IGZhbHNlO1xuICB9KTtcblxuICBjYWxlbmRhclN0YXRlU3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMuI2NhbGVuZGFyU2VydmljZS5jYWxlbmRhclN0YXRlJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSkuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHN0YXRlKTtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHR5cGVvZiB0aGlzW2tleV0gPT09ICdmdW5jdGlvbicgPyB0aGlzW2tleV0uc2V0KHN0YXRlW2tleV0pIDogKHRoaXNba2V5XSA9IHN0YXRlW2tleV0pO1xuICAgICAgICAgIC8vIHRoaXNba2V5XSA9IHN0YXRlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldFZpZXcodmlldzogJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnKSB7XG4gICAgdGhpcy52aWV3LnNldCh2aWV3KTtcbiAgICB0aGlzLiNjYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgdmlldzogdmlldyB9KTtcbiAgfVxuXG4gIGhhbmRsZU5hdmlnYXRpb25DbGljayhkaXJlY3Rpb246ICdwcmV2JyB8ICduZXh0JywgeWVhcnMgPSBmYWxzZSkge1xuICAgIHRoaXMubmF2aWdhdGlvbkNsaWNrLmVtaXQoeyBkaXJlY3Rpb24sIHllYXJzOiB5ZWFycyB9KTtcbiAgfVxuXG4gIGhhbmRsZU5hdmlnYXRpb25LZXlVcCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGRpcmVjdGlvbjogJ3ByZXYnIHwgJ25leHQnLCB5ZWFycz86IGJvb2xlYW4pIHtcbiAgICBpZiAoWydTcGFjZSddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmhhbmRsZU5hdmlnYXRpb25DbGljayhkaXJlY3Rpb24sIHllYXJzKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAobmF2aWdhdGlvbigpKSB7XG4gIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1uYXYtcHJldlwiPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soJ3ByZXYnLCB0cnVlKVwiXG4gICAgICAoa2V5dXApPVwiaGFuZGxlTmF2aWdhdGlvbktleVVwKCRldmVudCwgJ3ByZXYnLCB0cnVlKVwiXG4gICAgICBjQnV0dG9uXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVByZXZZZWFyKClcIlxuICAgICAgY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICBzaXplPVwic21cIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYVByZXZZZWFyTGFiZWwoKVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjYWxlbmRhci1uYXYtaWNvbiBjYWxlbmRhci1uYXYtaWNvbi1kb3VibGUtcHJldlwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICBAaWYgKHZpZXcoKSA9PT0gJ2RheXMnKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soJ3ByZXYnKVwiXG4gICAgICAgIChrZXl1cCk9XCJoYW5kbGVOYXZpZ2F0aW9uS2V5VXAoJGV2ZW50LCAncHJldicpXCJcbiAgICAgICAgY0J1dHRvblxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVByZXZNb250aCgpXCJcbiAgICAgICAgY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYVByZXZNb250aExhYmVsKClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhbGVuZGFyLW5hdi1pY29uIGNhbGVuZGFyLW5hdi1pY29uLXByZXZcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxufVxuPGRpdiBbbmdTdHlsZV09XCJuYXZZZWFyRmlyc3QoKSA/IHsgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicgfSA6IHt9XCIgYXJpYS1saXZlPVwicG9saXRlXCIgY2xhc3M9XCJjYWxlbmRhci1uYXYtZGF0ZVwiPlxuICBAaWYgKHZpZXcoKSA9PT0gJ2RheXMnKSB7XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInNldFZpZXcoJ21vbnRocycpXCJcbiAgICAgIGNCdXR0b25cbiAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgPlxuICAgICAge3sgZGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUoKSwgeyBtb250aDogJ2xvbmcnIH0pIH19XG4gICAgPC9idXR0b24+XG4gIH1cbiAgPGJ1dHRvblxuICAgIChjbGljayk9XCJzZXRWaWV3KCd5ZWFycycpXCJcbiAgICBbbmdTdHlsZV09XCJuYXZZZWFyRmlyc3QoKSA/IHsgb3JkZXI6ICctMScgfSA6IHt9XCJcbiAgICBjQnV0dG9uXG4gICAgY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgc2l6ZT1cInNtXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICA+XG4gICAge3sgZGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGUoKSwgeyB5ZWFyOiAnbnVtZXJpYycgfSkgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbkBpZiAobmF2aWdhdGlvbigpKSB7XG4gIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1uYXYtbmV4dFwiPlxuICAgIEBpZiAodmlldygpID09PSAnZGF5cycpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU5hdmlnYXRpb25DbGljaygnbmV4dCcpXCJcbiAgICAgICAgKGtleXVwKT1cImhhbmRsZU5hdmlnYXRpb25LZXlVcCgkZXZlbnQsICduZXh0JylcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZU5leHRNb250aCgpXCJcbiAgICAgICAgY0J1dHRvblxuICAgICAgICBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTmV4dE1vbnRoTGFiZWwoKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2FsZW5kYXItbmF2LWljb24gY2FsZW5kYXItbmF2LWljb24tbmV4dFwiPjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICA8YnV0dG9uXG4gICAgICAoY2xpY2spPVwiaGFuZGxlTmF2aWdhdGlvbkNsaWNrKCduZXh0JywgdHJ1ZSlcIlxuICAgICAgKGtleXVwKT1cImhhbmRsZU5hdmlnYXRpb25LZXlVcCgkZXZlbnQsICduZXh0JywgdHJ1ZSlcIlxuICAgICAgY0J1dHRvblxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVOZXh0WWVhcigpXCJcbiAgICAgIGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFOZXh0WWVhckxhYmVsKClcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2FsZW5kYXItbmF2LWljb24gY2FsZW5kYXItbmF2LWljb24tZG91YmxlLW5leHRcIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxufVxuIl19
@@ -13,8 +13,8 @@ import { CalendarDayTitlePipe } from './calendar-month/calendar-day-title.pipe';
13
13
  import { CalendarClassRowPipe } from './calendar-month/calendar-class-row.pipe';
14
14
  import * as i0 from "@angular/core";
15
15
  export class CalendarModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: CalendarModule, imports: [CalendarComponent,
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: CalendarModule, imports: [CalendarComponent,
18
18
  CalendarClassYearPipe,
19
19
  CalendarClassDayPipe,
20
20
  CalendarClassMonthPipe,
@@ -28,9 +28,9 @@ export class CalendarModule {
28
28
  CalendarClassRowPipe], exports: [CalendarComponent,
29
29
  CalendarMonthComponent,
30
30
  CalendarNavigationComponent] }); }
31
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarModule, imports: [CalendarComponent] }); }
31
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarModule, imports: [CalendarComponent] }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarModule, decorators: [{
34
34
  type: NgModule,
35
35
  args: [{
36
36
  imports: [
@@ -3,6 +3,7 @@ import { BehaviorSubject } from 'rxjs';
3
3
  import { isValidDate } from './calendar.utils';
4
4
  import * as i0 from "@angular/core";
5
5
  export class CalendarService {
6
+ #differ;
6
7
  constructor(keyValueDiffers) {
7
8
  this.keyValueDiffers = keyValueDiffers;
8
9
  this.calendarStateObject = {
@@ -24,12 +25,14 @@ export class CalendarService {
24
25
  selectAdjacentDays: false,
25
26
  selectionType: 'day',
26
27
  showWeekNumber: false,
27
- weekNumbersLabel: undefined
28
+ weekNumbersLabel: undefined,
29
+ firstDayOfWeek: 1
28
30
  };
29
- this.calendarState = new BehaviorSubject(this.calendarStateObject);
30
- this.calendarState$ = this.calendarState.asObservable();
31
- this.differ = this.keyValueDiffers.find(this.calendarStateObject).create();
31
+ this.#calendarState = new BehaviorSubject(this.calendarStateObject);
32
+ this.calendarState$ = this.#calendarState.asObservable();
33
+ this.#differ = this.keyValueDiffers.find(this.calendarStateObject).create();
32
34
  }
35
+ #calendarState;
33
36
  update(state) {
34
37
  const keys = Object.keys(state);
35
38
  for (const key of keys) {
@@ -42,22 +45,22 @@ export class CalendarService {
42
45
  }
43
46
  this.calendarStateObject[key] = state[key];
44
47
  }
45
- if (this.differ) {
46
- const changes = this.differ.diff(this.calendarStateObject);
48
+ if (this.#differ) {
49
+ const changes = this.#differ.diff(this.calendarStateObject);
47
50
  if (changes) {
48
51
  const newState = { ...this.calendarStateObject };
49
- changes.forEachChangedItem(item => {
50
- // console.log('changes', item.key, item, );
52
+ changes.forEachChangedItem((item) => {
53
+ // console.log('changes', item.key, item);
51
54
  newState[item.key] = item.currentValue;
52
55
  });
53
- this.calendarState.next(newState);
56
+ this.#calendarState.next(newState);
54
57
  }
55
58
  }
56
59
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarService, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarService }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarService, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarService }); }
59
62
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarService, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CalendarService, decorators: [{
61
64
  type: Injectable
62
65
  }], ctorParameters: () => [{ type: i0.KeyValueDiffers }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFnQy9DLE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQ1UsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBT25DLHdCQUFtQixHQUFtQjtZQUMzQyxZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDeEIsU0FBUyxFQUFFLElBQUk7WUFDZixTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsSUFBSTtZQUNiLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsU0FBUztZQUNqQixVQUFVLEVBQUUsU0FBUztZQUNyQixhQUFhLEVBQUUsT0FBTztZQUN0QixTQUFTLEVBQUUsU0FBUztZQUNwQixZQUFZLEVBQUUsS0FBSztZQUNuQixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsZ0JBQWdCLEVBQUUsU0FBUztTQUM1QixDQUFDO1FBRWUsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0YsbUJBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBNUJqRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdFLENBQUM7SUE2QkQsTUFBTSxDQUFDLEtBQXFCO1FBQzFCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUMsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLFNBQVM7WUFDWCxDQUFDO1lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDekYsU0FBUztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMzRCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLE1BQU0sUUFBUSxHQUFtQixFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ2pFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDaEMsNENBQTRDO29CQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ3pDLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0EzRFUsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgS2V5VmFsdWVEaWZmZXIsIEtleVZhbHVlRGlmZmVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZSB9IGZyb20gJy4vY2FsZW5kYXIudXRpbHMnO1xuXG5leHBvcnQgdHlwZSBEYXRlRmlsdGVyVHlwZSA9IChkYXRlOiBEYXRlKSA9PiBib29sZWFuO1xuZXhwb3J0IHR5cGUgRGF5Rm9ybWF0VHlwZSA9ICdudW1lcmljJyB8ICcyLWRpZ2l0JyB8ICgoZGF0ZTogRGF0ZSkgPT4gc3RyaW5nIHwgbnVtYmVyKTtcbmV4cG9ydCB0eXBlIFdlZWtkYXlGb3JtYXRUeXBlID0gbnVtYmVyIHwgJ2xvbmcnIHwgJ25hcnJvdycgfCAnc2hvcnQnIHwgKChkYXRlOiBEYXRlKSA9PiBzdHJpbmcgfCBudW1iZXIpO1xuZXhwb3J0IHR5cGUgU2VsZWN0aW9uVHlwZSA9ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ2FsZW5kYXJTdGF0ZSB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcblxuICBjYWxlbmRhckRhdGU/OiBEYXRlIHwgbnVsbDtcbiAgaG92ZXJEYXRlPzogRGF0ZSB8IG51bGw7XG4gIHN0YXJ0RGF0ZT86IERhdGUgfCBudWxsO1xuICBlbmREYXRlPzogRGF0ZSB8IG51bGw7XG4gIG1heERhdGU/OiBEYXRlIHwgbnVsbDtcbiAgbWluRGF0ZT86IERhdGUgfCBudWxsO1xuICBkaXNhYmxlZERhdGVzPzogKERhdGUgfCBEYXRlW10pW107XG4gIHJhbmdlPzogYm9vbGVhbjtcbiAgdmlldz86IHN0cmluZztcbiAgbG9jYWxlPzogc3RyaW5nO1xuICBkYXRlRmlsdGVyPzogRGF0ZUZpbHRlclR5cGUsXG4gIGRheUZvcm1hdD86IERheUZvcm1hdFR5cGUsXG4gIHdlZWtkYXlGb3JtYXQ/OiBXZWVrZGF5Rm9ybWF0VHlwZTtcbiAgbmF2WWVhckZpcnN0PzogYm9vbGVhbjtcbiAgc2hvd0FkamFjZW50RGF5cz86IGJvb2xlYW47XG4gIHNlbGVjdEFkamFjZW50RGF5cz86IGJvb2xlYW47XG4gIHNlbGVjdGlvblR5cGU/OiBTZWxlY3Rpb25UeXBlO1xuICBzaG93V2Vla051bWJlcj86IGJvb2xlYW47XG4gIHdlZWtOdW1iZXJzTGFiZWw/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUga2V5VmFsdWVEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnNcbiAgKSB7XG4gICAgdGhpcy5kaWZmZXIgPSB0aGlzLmtleVZhbHVlRGlmZmVycy5maW5kKHRoaXMuY2FsZW5kYXJTdGF0ZU9iamVjdCkuY3JlYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGRpZmZlciE6IEtleVZhbHVlRGlmZmVyPGFueSwgYW55PjtcblxuICBwdWJsaWMgY2FsZW5kYXJTdGF0ZU9iamVjdDogSUNhbGVuZGFyU3RhdGUgPSB7XG4gICAgY2FsZW5kYXJEYXRlOiBuZXcgRGF0ZSgpLFxuICAgIGhvdmVyRGF0ZTogbnVsbCxcbiAgICBzdGFydERhdGU6IG51bGwsXG4gICAgZW5kRGF0ZTogbnVsbCxcbiAgICBtYXhEYXRlOiBudWxsLFxuICAgIG1pbkRhdGU6IG51bGwsXG4gICAgZGlzYWJsZWREYXRlczogW10sXG4gICAgcmFuZ2U6IGZhbHNlLFxuICAgIHZpZXc6ICdkYXlzJyxcbiAgICBsb2NhbGU6ICdkZWZhdWx0JyxcbiAgICBkYXRlRmlsdGVyOiB1bmRlZmluZWQsXG4gICAgd2Vla2RheUZvcm1hdDogJ3Nob3J0JyxcbiAgICBkYXlGb3JtYXQ6ICdudW1lcmljJyxcbiAgICBuYXZZZWFyRmlyc3Q6IGZhbHNlLFxuICAgIHNob3dBZGphY2VudERheXM6IHRydWUsXG4gICAgc2VsZWN0QWRqYWNlbnREYXlzOiBmYWxzZSxcbiAgICBzZWxlY3Rpb25UeXBlOiAnZGF5JyxcbiAgICBzaG93V2Vla051bWJlcjogZmFsc2UsXG4gICAgd2Vla051bWJlcnNMYWJlbDogdW5kZWZpbmVkXG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjYWxlbmRhclN0YXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJQ2FsZW5kYXJTdGF0ZT4odGhpcy5jYWxlbmRhclN0YXRlT2JqZWN0KTtcbiAgY2FsZW5kYXJTdGF0ZSQgPSB0aGlzLmNhbGVuZGFyU3RhdGUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgdXBkYXRlKHN0YXRlOiBJQ2FsZW5kYXJTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzdGF0ZSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgY29uc3QgZW50cnkgPSB0aGlzLmNhbGVuZGFyU3RhdGVPYmplY3Rba2V5XTtcbiAgICAgIGlmIChlbnRyeSA9PT0gc3RhdGVba2V5XSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1ZhbGlkRGF0ZShzdGF0ZVtrZXldKSAmJiBlbnRyeSA/IGVudHJ5LmdldFRpbWUoKSA9PT0gc3RhdGVba2V5XT8uZ2V0VGltZSgpIDogZmFsc2UpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICB0aGlzLmNhbGVuZGFyU3RhdGVPYmplY3Rba2V5XSA9IHN0YXRlW2tleV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGlmZmVyKSB7XG4gICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLmNhbGVuZGFyU3RhdGVPYmplY3QpO1xuICAgICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgbmV3U3RhdGU6IElDYWxlbmRhclN0YXRlID0geyAuLi50aGlzLmNhbGVuZGFyU3RhdGVPYmplY3QgfTtcbiAgICAgICAgY2hhbmdlcy5mb3JFYWNoQ2hhbmdlZEl0ZW0oaXRlbSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ2NoYW5nZXMnLCBpdGVtLmtleSwgaXRlbSwgKTtcbiAgICAgICAgICBuZXdTdGF0ZVtpdGVtLmtleV0gPSBpdGVtLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2FsZW5kYXJTdGF0ZS5uZXh0KG5ld1N0YXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFtQy9DLE1BQU0sT0FBTyxlQUFlO0lBQ2pCLE9BQU8sQ0FBNEI7SUFFNUMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBSTdDLHdCQUFtQixHQUFtQjtZQUMzQyxZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDeEIsU0FBUyxFQUFFLElBQUk7WUFDZixTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsSUFBSTtZQUNiLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsU0FBUztZQUNqQixVQUFVLEVBQUUsU0FBUztZQUNyQixhQUFhLEVBQUUsT0FBTztZQUN0QixTQUFTLEVBQUUsU0FBUztZQUNwQixZQUFZLEVBQUUsS0FBSztZQUNuQixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsZ0JBQWdCLEVBQUUsU0FBUztZQUMzQixjQUFjLEVBQUUsQ0FBQztTQUNsQixDQUFDO1FBRU8sbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0UsbUJBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBM0IzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlFLENBQUM7SUF5QlEsY0FBYyxDQUFpRTtJQUd4RixNQUFNLENBQUMsS0FBcUI7UUFDMUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QyxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsU0FBUztZQUNYLENBQUM7WUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN6RixTQUFTO1lBQ1gsQ0FBQztZQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzVELElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osTUFBTSxRQUFRLEdBQW1CLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDakUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2xDLDBDQUEwQztvQkFDMUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN6QyxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7OEdBekRVLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEtleVZhbHVlRGlmZmVyLCBLZXlWYWx1ZURpZmZlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNWYWxpZERhdGUgfSBmcm9tICcuL2NhbGVuZGFyLnV0aWxzJztcblxuZXhwb3J0IHR5cGUgRGF0ZUZpbHRlclR5cGUgPSAoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbjtcbmV4cG9ydCB0eXBlIERheUZvcm1hdFR5cGUgPSAnbnVtZXJpYycgfCAnMi1kaWdpdCcgfCAoKGRhdGU6IERhdGUpID0+IHN0cmluZyB8IG51bWJlcik7XG5leHBvcnQgdHlwZSBXZWVrZGF5Rm9ybWF0VHlwZSA9IG51bWJlciB8ICdsb25nJyB8ICduYXJyb3cnIHwgJ3Nob3J0JyB8ICgoZGF0ZTogRGF0ZSkgPT4gc3RyaW5nIHwgbnVtYmVyKTtcbmV4cG9ydCB0eXBlIFNlbGVjdGlvblR5cGUgPSAnZGF5JyB8ICd3ZWVrJyB8ICdtb250aCcgfCAneWVhcic7XG5leHBvcnQgdHlwZSBEYXlzT2ZXZWVrID0gMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNjtcbmV4cG9ydCB0eXBlIE1vbnRoRGV0YWlscyA9IHsgd2Vla051bWJlcjogbnVtYmVyOyBkYXlzOiB7IGRhdGU6IERhdGU7IG1vbnRoOiBzdHJpbmcgfVtdIH1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBJQ2FsZW5kYXJTdGF0ZSB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcblxuICBjYWxlbmRhckRhdGU/OiBEYXRlIHwgbnVsbDtcbiAgaG92ZXJEYXRlPzogRGF0ZSB8IG51bGw7XG4gIHN0YXJ0RGF0ZT86IERhdGUgfCBudWxsO1xuICBlbmREYXRlPzogRGF0ZSB8IG51bGw7XG4gIG1heERhdGU/OiBEYXRlIHwgbnVsbDtcbiAgbWluRGF0ZT86IERhdGUgfCBudWxsO1xuICBkaXNhYmxlZERhdGVzPzogKERhdGUgfCBEYXRlW10pW107XG4gIHJhbmdlPzogYm9vbGVhbjtcbiAgdmlldz86IHN0cmluZztcbiAgbG9jYWxlPzogc3RyaW5nO1xuICBkYXRlRmlsdGVyPzogRGF0ZUZpbHRlclR5cGU7XG4gIGRheUZvcm1hdD86IERheUZvcm1hdFR5cGU7XG4gIHdlZWtkYXlGb3JtYXQ/OiBXZWVrZGF5Rm9ybWF0VHlwZTtcbiAgbmF2WWVhckZpcnN0PzogYm9vbGVhbjtcbiAgc2hvd0FkamFjZW50RGF5cz86IGJvb2xlYW47XG4gIHNlbGVjdEFkamFjZW50RGF5cz86IGJvb2xlYW47XG4gIHNlbGVjdGlvblR5cGU/OiBTZWxlY3Rpb25UeXBlO1xuICBzaG93V2Vla051bWJlcj86IGJvb2xlYW47XG4gIHdlZWtOdW1iZXJzTGFiZWw/OiBzdHJpbmc7XG4gIGZpcnN0RGF5T2ZXZWVrPzogRGF5c09mV2Vlaztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyU2VydmljZSB7XG4gIHJlYWRvbmx5ICNkaWZmZXIhOiBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBrZXlWYWx1ZURpZmZlcnM6IEtleVZhbHVlRGlmZmVycykge1xuICAgIHRoaXMuI2RpZmZlciA9IHRoaXMua2V5VmFsdWVEaWZmZXJzLmZpbmQodGhpcy5jYWxlbmRhclN0YXRlT2JqZWN0KS5jcmVhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxlbmRhclN0YXRlT2JqZWN0OiBJQ2FsZW5kYXJTdGF0ZSA9IHtcbiAgICBjYWxlbmRhckRhdGU6IG5ldyBEYXRlKCksXG4gICAgaG92ZXJEYXRlOiBudWxsLFxuICAgIHN0YXJ0RGF0ZTogbnVsbCxcbiAgICBlbmREYXRlOiBudWxsLFxuICAgIG1heERhdGU6IG51bGwsXG4gICAgbWluRGF0ZTogbnVsbCxcbiAgICBkaXNhYmxlZERhdGVzOiBbXSxcbiAgICByYW5nZTogZmFsc2UsXG4gICAgdmlldzogJ2RheXMnLFxuICAgIGxvY2FsZTogJ2RlZmF1bHQnLFxuICAgIGRhdGVGaWx0ZXI6IHVuZGVmaW5lZCxcbiAgICB3ZWVrZGF5Rm9ybWF0OiAnc2hvcnQnLFxuICAgIGRheUZvcm1hdDogJ251bWVyaWMnLFxuICAgIG5hdlllYXJGaXJzdDogZmFsc2UsXG4gICAgc2hvd0FkamFjZW50RGF5czogdHJ1ZSxcbiAgICBzZWxlY3RBZGphY2VudERheXM6IGZhbHNlLFxuICAgIHNlbGVjdGlvblR5cGU6ICdkYXknLFxuICAgIHNob3dXZWVrTnVtYmVyOiBmYWxzZSxcbiAgICB3ZWVrTnVtYmVyc0xhYmVsOiB1bmRlZmluZWQsXG4gICAgZmlyc3REYXlPZldlZWs6IDFcbiAgfTtcblxuICByZWFkb25seSAjY2FsZW5kYXJTdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUNhbGVuZGFyU3RhdGU+KHRoaXMuY2FsZW5kYXJTdGF0ZU9iamVjdCk7XG4gIHJlYWRvbmx5IGNhbGVuZGFyU3RhdGUkID0gdGhpcy4jY2FsZW5kYXJTdGF0ZS5hc09ic2VydmFibGUoKTtcblxuICB1cGRhdGUoc3RhdGU6IElDYWxlbmRhclN0YXRlKTogdm9pZCB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHN0YXRlKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBjb25zdCBlbnRyeSA9IHRoaXMuY2FsZW5kYXJTdGF0ZU9iamVjdFtrZXldO1xuICAgICAgaWYgKGVudHJ5ID09PSBzdGF0ZVtrZXldKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzVmFsaWREYXRlKHN0YXRlW2tleV0pICYmIGVudHJ5ID8gZW50cnkuZ2V0VGltZSgpID09PSBzdGF0ZVtrZXldPy5nZXRUaW1lKCkgOiBmYWxzZSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2FsZW5kYXJTdGF0ZU9iamVjdFtrZXldID0gc3RhdGVba2V5XTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jZGlmZmVyKSB7XG4gICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy4jZGlmZmVyLmRpZmYodGhpcy5jYWxlbmRhclN0YXRlT2JqZWN0KTtcbiAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRlOiBJQ2FsZW5kYXJTdGF0ZSA9IHsgLi4udGhpcy5jYWxlbmRhclN0YXRlT2JqZWN0IH07XG4gICAgICAgIGNoYW5nZXMuZm9yRWFjaENoYW5nZWRJdGVtKChpdGVtKSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ2NoYW5nZXMnLCBpdGVtLmtleSwgaXRlbSk7XG4gICAgICAgICAgbmV3U3RhdGVbaXRlbS5rZXldID0gaXRlbS5jdXJyZW50VmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiNjYWxlbmRhclN0YXRlLm5leHQobmV3U3RhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19