@globalpayments/vega 2.70.0 → 2.75.1

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 (624) hide show
  1. package/dist/cjs/{app-globals-837be7a6.js → app-globals-35614ce8.js} +8 -7
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-f8840f1b.js → child-nodes-event-prevent-slimmer-aca87dac.js} +1 -1
  3. package/dist/cjs/click-outside-only-to-dismiss-strategy-407f6d1e.js +32 -0
  4. package/dist/cjs/{code-block-bb4cbafa.js → code-block-c1d2e6a8.js} +15 -67
  5. package/dist/cjs/{component-value-history-controller-slimmer.abstract-cf7b4bda.js → component-value-history-controller-slimmer.abstract-787c67dc.js} +5 -5
  6. package/dist/cjs/{date-required-rule-4e1f84fd.js → date-required-rule-30ee62d0.js} +3 -3
  7. package/dist/cjs/{design-token-00fe8d2f.js → design-token-bb39e07e.js} +6 -7
  8. package/dist/cjs/{dom-node-subject-observer-factory-f040608b.js → dom-node-subject-observer-factory-b5e71bf6.js} +9 -1
  9. package/dist/cjs/{dto-renderer-manager-c917dade.js → dto-renderer-manager-03e1a038.js} +219 -28
  10. package/dist/cjs/{element-appender-slimmer-f8e89f37.js → element-appender-slimmer-daa8b9f5.js} +205 -43
  11. package/dist/cjs/{event-emit-slimmer-7afe8d78.js → event-emit-slimmer-2dacabbd.js} +2 -2
  12. package/dist/cjs/{form-field-controller-slimmer-f865d397.js → form-field-controller-slimmer-aef2fb1e.js} +3 -3
  13. package/dist/cjs/{function-extension-28a4d781.js → function-extension-cfbbc57e.js} +40 -19
  14. package/dist/cjs/{image-annotation-action-8843adbf.js → image-annotation-action-3fa501b7.js} +3 -3
  15. package/dist/cjs/index-58ea899e.js +4 -4
  16. package/dist/cjs/{index-4b896e76.js → index-95fca64f.js} +2 -2
  17. package/dist/cjs/index.cjs.js +17 -19
  18. package/dist/cjs/{inject-keyboard-manager-13c66257.js → inject-keyboard-manager-d21b4387.js} +1 -1
  19. package/dist/cjs/{internal-vega-event-manager-45d451de.js → internal-vega-event-manager-6befeb34.js} +16 -4
  20. package/dist/cjs/{keyboard-manager-af0d08a6.js → keyboard-manager-3dea6b28.js} +1 -1
  21. package/dist/cjs/{keyboard-manager-slimmer-62f072cd.js → keyboard-manager-slimmer-0d45f944.js} +1 -1
  22. package/dist/cjs/{language-extension-99c6fb40.js → language-extension-8c4a56ff.js} +2 -2
  23. package/dist/cjs/loader.cjs.js +13 -13
  24. package/dist/cjs/month-view-generator-49cc5fc2.js +102 -0
  25. package/dist/cjs/{public-rules-759c745b.js → public-rules-dc2a8d62.js} +15 -15
  26. package/dist/cjs/{range-0b597850.js → range-79b668e7.js} +1 -1
  27. package/dist/cjs/{responsive-format-facade-1d9c13a9.js → responsive-format-facade-d5dba942.js} +4 -4
  28. package/dist/cjs/{rich-text-editor-required-rule-92d0640e.js → rich-text-editor-required-rule-ba312af9.js} +1 -1
  29. package/dist/cjs/sanitize-fb222510.js +131 -0
  30. package/dist/cjs/{string-format-strategy.abstract-07a95352.js → string-format-strategy.abstract-63514c60.js} +1 -1
  31. package/dist/cjs/{string-input-formatter-slimmer-8236b5e1.js → string-input-formatter-slimmer-f3e0bbc7.js} +4 -4
  32. package/dist/cjs/{string-mask-strategy-6bdad95e.js → string-mask-strategy-d23ac21a.js} +2 -2
  33. package/dist/cjs/{style-formatter-1daa8371.js → style-formatter-49693da7.js} +2 -2
  34. package/dist/cjs/{sub-state-notify-slimmer-78682046.js → sub-state-notify-slimmer-468e19aa.js} +2 -2
  35. package/dist/cjs/{sub-state-observer-slimmer-73aecfff.js → sub-state-observer-slimmer-5d0b8ac3.js} +2 -2
  36. package/dist/cjs/{time-required-rule-ccf178e7.js → time-required-rule-c96ecdc9.js} +3 -3
  37. package/dist/cjs/{type-guard-f12b5bae.js → type-guard-a0f026d8.js} +1236 -1
  38. package/dist/cjs/{valid-credit-card-number-rule-ce5c9147.js → valid-credit-card-number-rule-c854bed9.js} +1 -1
  39. package/dist/cjs/vega-accordion.cjs.entry.js +11 -12
  40. package/dist/cjs/vega-app-header-button.cjs.entry.js +35 -18
  41. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-box.cjs.entry.js +15 -16
  43. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  44. package/dist/cjs/vega-button-circle.cjs.entry.js +15 -16
  45. package/dist/cjs/vega-button-group_2.cjs.entry.js +60 -10
  46. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  47. package/dist/cjs/vega-button.cjs.entry.js +15 -15
  48. package/dist/cjs/vega-calendar_4.cjs.entry.js +87 -909
  49. package/dist/cjs/vega-card.cjs.entry.js +14 -15
  50. package/dist/cjs/vega-carousel.cjs.entry.js +14 -14
  51. package/dist/cjs/vega-checkbox_2.cjs.entry.js +7 -7
  52. package/dist/cjs/vega-chip.cjs.entry.js +16 -17
  53. package/dist/cjs/vega-code-block.cjs.entry.js +13 -13
  54. package/dist/cjs/vega-color-picker.cjs.entry.js +6 -6
  55. package/dist/cjs/vega-combo-box.cjs.entry.js +15 -14
  56. package/dist/cjs/vega-date-picker_2.cjs.entry.js +1795 -1559
  57. package/dist/cjs/vega-dialog_2.cjs.entry.js +17 -18
  58. package/dist/cjs/vega-divider.cjs.entry.js +10 -11
  59. package/dist/cjs/vega-dropdown_5.cjs.entry.js +53 -36
  60. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  61. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  62. package/dist/cjs/vega-file-uploader.cjs.entry.js +6 -6
  63. package/dist/cjs/vega-flag-icon.cjs.entry.js +10 -11
  64. package/dist/cjs/vega-flex.cjs.entry.js +15 -16
  65. package/dist/cjs/vega-font.cjs.entry.js +14 -15
  66. package/dist/cjs/vega-form.cjs.entry.js +9 -9
  67. package/dist/cjs/vega-grid.cjs.entry.js +14 -15
  68. package/dist/cjs/vega-icon.cjs.entry.js +14 -15
  69. package/dist/cjs/vega-image-uploader.cjs.entry.js +15 -15
  70. package/dist/cjs/vega-input-credit-card.cjs.entry.js +14 -14
  71. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  72. package/dist/cjs/vega-input-passcode.cjs.entry.js +16 -13
  73. package/dist/cjs/vega-input-phone-number.cjs.entry.js +14 -14
  74. package/dist/cjs/vega-input-range.cjs.entry.js +7 -7
  75. package/dist/cjs/vega-input-select.cjs.entry.js +189 -56
  76. package/dist/cjs/vega-input.cjs.entry.js +877 -283
  77. package/dist/cjs/{vega-internal-event-id-6d4a2c53.js → vega-internal-event-id-f2465f1b.js} +12 -4
  78. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  79. package/dist/cjs/vega-left-nav_5.cjs.entry.js +14 -15
  80. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +9 -9
  81. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  82. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  83. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  84. package/dist/cjs/vega-pagination.cjs.entry.js +13 -13
  85. package/dist/cjs/vega-popover_2.cjs.entry.js +20 -20
  86. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +903 -0
  87. package/dist/cjs/vega-radio_2.cjs.entry.js +10 -10
  88. package/dist/cjs/vega-rich-text-content.cjs.entry.js +9 -8
  89. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +89 -29
  90. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  91. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +16 -16
  92. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +8 -8
  93. package/dist/cjs/vega-sidenav_3.cjs.entry.js +12 -12
  94. package/dist/cjs/vega-signature-capture.cjs.entry.js +13 -14
  95. package/dist/cjs/vega-stepper.cjs.entry.js +7 -7
  96. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  97. package/dist/cjs/vega-table_11.cjs.entry.js +12 -12
  98. package/dist/cjs/vega-textarea.cjs.entry.js +7 -7
  99. package/dist/cjs/vega-time-picker_2.cjs.entry.js +41 -41
  100. package/dist/cjs/vega-toggle-switch.cjs.entry.js +6 -6
  101. package/dist/cjs/vega-tooltip_2.cjs.entry.js +14 -14
  102. package/dist/cjs/vega.cjs.js +13 -13
  103. package/dist/collection/collection-manifest.json +7 -5
  104. package/dist/collection/components/vega-app-header-button/slimmers/renderers/vega-app-header-button-dropdown-renderer.js +13 -1
  105. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +46 -3
  106. package/dist/collection/components/vega-button/vega-button.css +4 -0
  107. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/controllers/vega-button-group-item-sub-state-controller.js +7 -0
  108. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +25 -2
  109. package/dist/collection/components/vega-button-group/vega-button-group-item/vega-button-group-item.js +31 -2
  110. package/dist/collection/components/vega-button-group/vega-button-group.js +37 -0
  111. package/dist/collection/components/vega-button-link/vega-button-link.css +4 -0
  112. package/dist/collection/components/vega-calendar/vega-calendar.js +1 -1
  113. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +2 -1
  114. package/dist/collection/components/vega-date-picker/assets/icons.js +4 -1
  115. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.js +150 -0
  116. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-format-controller.js +3 -1
  117. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-keyboard-controller.js +1 -1
  118. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-value-controller.js +10 -26
  119. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +107 -445
  120. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-input-renderer-base.abstract.js +5 -1
  121. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-range-input-renderer.js +24 -17
  122. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.js +15 -20
  123. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-single-input-renderer.js +6 -17
  124. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/constants.js +14 -0
  125. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/dto/calendar-selection.js +126 -0
  126. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-allow-repick-controller.js +70 -0
  127. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-current-period-controller.js +204 -0
  128. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-min-max-date-controller.js +56 -0
  129. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-selection-controller.js +191 -0
  130. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-state-base.abstract.js +54 -0
  131. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-today-controller.js +37 -0
  132. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.js +109 -0
  133. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.js +80 -0
  134. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.js +164 -0
  135. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +124 -0
  136. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +996 -278
  137. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +672 -3
  138. package/dist/collection/components/vega-date-picker/vega-date-picker.css +0 -11
  139. package/dist/collection/components/vega-date-picker/vega-date-picker.js +23 -40
  140. package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
  141. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +3 -15
  142. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-search-controller.js +5 -1
  143. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.js +7 -0
  144. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +6 -3
  145. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +3 -2
  146. package/dist/collection/components/vega-dropdown/vega-dropdown.js +50 -4
  147. package/dist/collection/components/vega-field-label/vega-field-label.js +1 -1
  148. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-mask-config-controller.js +77 -7
  149. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.js +51 -0
  150. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-value-controller.js +79 -0
  151. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-container-renderer.js +100 -0
  152. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +184 -0
  153. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.js +142 -0
  154. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-renderer.js +83 -0
  155. package/dist/collection/components/vega-input/vega-input.css +8 -0
  156. package/dist/collection/components/vega-input/vega-input.js +247 -160
  157. package/dist/collection/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.js +4 -1
  158. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/phone-number-input-renderer.js +1 -1
  159. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-item-controller.js +89 -0
  160. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.js +4 -0
  161. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.js +4 -0
  162. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +38 -13
  163. package/dist/collection/components/vega-input-select/vega-input-select.js +28 -8
  164. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.js +3 -2
  165. package/dist/collection/components/vega-modal/vega-modal.js +4 -4
  166. package/dist/collection/components/vega-popover/vega-popover.js +14 -4
  167. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/dto/internal-progress-tracker-step.js +75 -0
  168. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-direction-controller.js +88 -0
  169. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-step-controller.js +153 -0
  170. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.js +125 -0
  171. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-render-mode-controller.js +40 -0
  172. package/dist/collection/components/vega-progress-tracker/slimmers/renderers/vega-progress-tracker-renderer.js +94 -0
  173. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker-step/slimmers/controllers/vega-progress-tracker-step-state-controller.js +43 -0
  174. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker-step/vega-progress-tracker-step.css +79 -0
  175. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker-step/vega-progress-tracker-step.js +84 -0
  176. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.css +69 -153
  177. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +88 -85
  178. package/dist/collection/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.js +1 -1
  179. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +11 -63
  180. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +16 -0
  181. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +21 -24
  182. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/insert-token-node-strategy.js +5 -1
  183. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +12 -1
  184. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.js +16 -10
  185. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +1 -1
  186. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +1 -1
  187. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner-processor.interface.js +1 -0
  188. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner.js +59 -0
  189. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/index.js +4 -0
  190. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-after-opening-tag-processor.js +21 -0
  191. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-before-closing-tag-processor.js +21 -0
  192. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-between-tags-processor.js +77 -0
  193. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +6 -2
  194. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +6 -0
  195. package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-style.test.js +2 -1
  196. package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +9 -0
  197. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +39 -0
  198. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/text-block.test.js +1 -1
  199. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +186 -16
  200. package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/html-content-cleaner.test.js +186 -0
  201. package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-after-opening-tag-processor.test.js +22 -0
  202. package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-before-closing-tag-processor.test.js +22 -0
  203. package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-between-tags-processor.test.js +26 -0
  204. package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
  205. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.js +2 -1
  206. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.js +2 -1
  207. package/dist/collection/constants/regex.js +1 -0
  208. package/dist/collection/constants/ui.js +5 -0
  209. package/dist/collection/helpers/calendar/calendar-date.js +273 -1
  210. package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +9 -0
  211. package/dist/collection/helpers/calendar/calendar-period/month-period.js +16 -4
  212. package/dist/collection/helpers/calendar/test/calendar-date.test.js +73 -0
  213. package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +9 -0
  214. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +41 -0
  215. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +11 -0
  216. package/dist/collection/helpers/code-format/code-formatter.js +57 -7
  217. package/dist/collection/helpers/code-format/test/code-formatter.test.js +48 -0
  218. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +16 -4
  219. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +5 -1
  220. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +8 -2
  221. package/dist/collection/helpers/event-manager/test/component-event-id-map.test.js +3 -1
  222. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +3 -1
  223. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +62 -33
  224. package/dist/collection/helpers/slimmers/element-appender/test/element-appender-slimmer.test.js +3 -2
  225. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.js +28 -0
  226. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.js +33 -0
  227. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.js +42 -0
  228. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.js +22 -0
  229. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.js +1 -0
  230. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +7 -0
  231. package/dist/collection/helpers/ui/element-appender.js +35 -5
  232. package/dist/collection/types/test/type-guard.test.js +8 -1
  233. package/dist/collection/types/type-guard.js +21 -0
  234. package/dist/collection/utils/date.js +14 -3
  235. package/dist/collection/utils/e2e-utils.js +8 -2
  236. package/dist/collection/utils/sanitize.js +126 -0
  237. package/dist/collection/utils/test/date.test.js +2 -0
  238. package/dist/collection/utils/test/sanitize.test.js +65 -0
  239. package/dist/esm/{app-globals-fd4b7d97.js → app-globals-2ac60ff5.js} +8 -7
  240. package/dist/esm/{child-nodes-event-prevent-slimmer-76331524.js → child-nodes-event-prevent-slimmer-e662bee2.js} +1 -1
  241. package/dist/esm/click-outside-only-to-dismiss-strategy-3d286c1b.js +30 -0
  242. package/dist/esm/{code-block-ecb4491b.js → code-block-8ee34ab6.js} +16 -68
  243. package/dist/esm/{component-value-history-controller-slimmer.abstract-5d618b88.js → component-value-history-controller-slimmer.abstract-a61bf821.js} +5 -5
  244. package/dist/esm/{date-required-rule-8944f3bf.js → date-required-rule-47ecc28f.js} +1 -1
  245. package/dist/esm/{design-token-2d77e8f5.js → design-token-007efbaa.js} +4 -5
  246. package/dist/esm/{dom-node-subject-observer-factory-dca87b70.js → dom-node-subject-observer-factory-064ee2b2.js} +6 -2
  247. package/dist/esm/{dto-renderer-manager-d862ae78.js → dto-renderer-manager-ee1a5864.js} +219 -28
  248. package/dist/esm/{element-appender-slimmer-6791c332.js → element-appender-slimmer-35e26b5a.js} +207 -45
  249. package/dist/esm/{event-emit-slimmer-4e28e9f8.js → event-emit-slimmer-09827cec.js} +2 -2
  250. package/dist/esm/{form-field-controller-slimmer-bf071b75.js → form-field-controller-slimmer-5d9dc384.js} +4 -4
  251. package/dist/esm/{function-extension-8d39db56.js → function-extension-e8c0e43e.js} +41 -20
  252. package/dist/esm/{image-annotation-action-d0af138c.js → image-annotation-action-285d432e.js} +3 -3
  253. package/dist/esm/index-090d31ca.js +4 -4
  254. package/dist/esm/{index-c943d263.js → index-51a7da7f.js} +2 -2
  255. package/dist/esm/index.js +19 -21
  256. package/dist/esm/{inject-keyboard-manager-ffd351b9.js → inject-keyboard-manager-83d76ff5.js} +1 -1
  257. package/dist/esm/{internal-vega-event-manager-516aa721.js → internal-vega-event-manager-efb6786e.js} +16 -4
  258. package/dist/esm/{keyboard-manager-5d8f3582.js → keyboard-manager-c92808d8.js} +1 -1
  259. package/dist/esm/{keyboard-manager-slimmer-f39214e4.js → keyboard-manager-slimmer-79c78ce8.js} +1 -1
  260. package/dist/esm/{language-extension-8f51f5ff.js → language-extension-29bf8acd.js} +2 -2
  261. package/dist/esm/loader.js +15 -15
  262. package/dist/esm/month-view-generator-16192182.js +98 -0
  263. package/dist/esm/{page-resize-observer-slimmer-0bf7fbf3.js → page-resize-observer-slimmer-8744cb44.js} +1 -1
  264. package/dist/esm/{public-rules-d10e76f4.js → public-rules-724873f5.js} +15 -15
  265. package/dist/esm/{range-f7b9e2fb.js → range-5257c062.js} +1 -1
  266. package/dist/esm/{responsive-format-facade-267935ae.js → responsive-format-facade-28ee2dbd.js} +6 -6
  267. package/dist/esm/{rich-text-editor-required-rule-774b822b.js → rich-text-editor-required-rule-873e2e67.js} +1 -1
  268. package/dist/esm/sanitize-fd0cb40d.js +129 -0
  269. package/dist/esm/{string-format-strategy.abstract-452f4398.js → string-format-strategy.abstract-fc60db79.js} +1 -1
  270. package/dist/esm/{string-input-formatter-slimmer-3acd240c.js → string-input-formatter-slimmer-ee32b1fd.js} +4 -4
  271. package/dist/esm/{string-mask-strategy-6232a1c1.js → string-mask-strategy-0b0accaa.js} +2 -2
  272. package/dist/esm/{style-formatter-3f88c491.js → style-formatter-314b37f3.js} +2 -2
  273. package/dist/esm/{sub-state-notify-slimmer-56380f02.js → sub-state-notify-slimmer-4453047a.js} +2 -2
  274. package/dist/esm/{sub-state-observer-slimmer-3504e2f2.js → sub-state-observer-slimmer-202ec7dc.js} +2 -2
  275. package/dist/esm/{time-required-rule-a01163b5.js → time-required-rule-5fa43804.js} +1 -1
  276. package/dist/esm/{type-guard-12f7654b.js → type-guard-c65a227d.js} +1215 -2
  277. package/dist/esm/{ui-8424715a.js → ui-28fd4193.js} +1 -1
  278. package/dist/esm/{valid-credit-card-number-rule-81443274.js → valid-credit-card-number-rule-666c415d.js} +1 -1
  279. package/dist/esm/vega-accordion.entry.js +13 -14
  280. package/dist/esm/vega-app-header-button.entry.js +37 -20
  281. package/dist/esm/vega-banner.entry.js +3 -3
  282. package/dist/esm/vega-box.entry.js +17 -18
  283. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  284. package/dist/esm/vega-button-circle.entry.js +17 -18
  285. package/dist/esm/vega-button-group_2.entry.js +60 -10
  286. package/dist/esm/vega-button-link.entry.js +5 -5
  287. package/dist/esm/vega-button.entry.js +17 -17
  288. package/dist/esm/vega-calendar_4.entry.js +46 -868
  289. package/dist/esm/vega-card.entry.js +16 -17
  290. package/dist/esm/vega-carousel.entry.js +16 -16
  291. package/dist/esm/vega-checkbox_2.entry.js +9 -9
  292. package/dist/esm/vega-chip.entry.js +18 -19
  293. package/dist/esm/vega-code-block.entry.js +14 -14
  294. package/dist/esm/vega-color-picker.entry.js +8 -8
  295. package/dist/esm/vega-combo-box.entry.js +17 -16
  296. package/dist/esm/vega-date-picker_2.entry.js +1786 -1550
  297. package/dist/esm/vega-dialog_2.entry.js +19 -20
  298. package/dist/esm/vega-divider.entry.js +12 -13
  299. package/dist/esm/vega-dropdown_5.entry.js +55 -38
  300. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  301. package/dist/esm/vega-field-label.entry.js +3 -3
  302. package/dist/esm/vega-file-uploader.entry.js +8 -8
  303. package/dist/esm/vega-flag-icon.entry.js +12 -13
  304. package/dist/esm/vega-flex.entry.js +17 -18
  305. package/dist/esm/vega-font.entry.js +16 -17
  306. package/dist/esm/vega-form.entry.js +11 -11
  307. package/dist/esm/vega-grid.entry.js +16 -17
  308. package/dist/esm/vega-icon.entry.js +16 -17
  309. package/dist/esm/vega-image-uploader.entry.js +17 -17
  310. package/dist/esm/vega-input-credit-card.entry.js +16 -16
  311. package/dist/esm/vega-input-numeric.entry.js +15 -15
  312. package/dist/esm/vega-input-passcode.entry.js +18 -15
  313. package/dist/esm/vega-input-phone-number.entry.js +16 -16
  314. package/dist/esm/vega-input-range.entry.js +9 -9
  315. package/dist/esm/vega-input-select.entry.js +191 -58
  316. package/dist/esm/vega-input.entry.js +880 -286
  317. package/dist/esm/{vega-internal-event-id-5c3e5f7f.js → vega-internal-event-id-4a06d705.js} +7 -3
  318. package/dist/esm/vega-item-toggle.entry.js +4 -4
  319. package/dist/esm/vega-left-nav_5.entry.js +16 -17
  320. package/dist/esm/vega-loader-wrapper_2.entry.js +11 -11
  321. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  322. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +4 -4
  323. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -2
  324. package/dist/esm/vega-pagination.entry.js +15 -15
  325. package/dist/esm/vega-popover_2.entry.js +22 -22
  326. package/dist/esm/vega-progress-tracker_2.entry.js +898 -0
  327. package/dist/esm/vega-radio_2.entry.js +12 -12
  328. package/dist/esm/vega-rich-text-content.entry.js +10 -9
  329. package/dist/esm/vega-rich-text-editor_4.entry.js +91 -31
  330. package/dist/esm/vega-segment-control.entry.js +5 -5
  331. package/dist/esm/vega-selection-chip_2.entry.js +18 -18
  332. package/dist/esm/vega-selection-tile_2.entry.js +10 -10
  333. package/dist/esm/vega-sidenav_3.entry.js +14 -14
  334. package/dist/esm/vega-signature-capture.entry.js +15 -16
  335. package/dist/esm/vega-stepper.entry.js +9 -9
  336. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  337. package/dist/esm/vega-table_11.entry.js +14 -14
  338. package/dist/esm/vega-text.entry.js +2 -2
  339. package/dist/esm/vega-textarea.entry.js +9 -9
  340. package/dist/esm/vega-time-picker_2.entry.js +22 -22
  341. package/dist/esm/vega-toggle-switch.entry.js +8 -8
  342. package/dist/esm/vega-tooltip_2.entry.js +16 -16
  343. package/dist/esm/vega.js +15 -15
  344. package/dist/sri/vega-sri-manifest.json +337 -337
  345. package/dist/types/components/vega-app-header-button/slimmers/renderers/vega-app-header-button-dropdown-renderer.d.ts +7 -0
  346. package/dist/types/components/vega-app-header-button/types.d.ts +2 -0
  347. package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +14 -0
  348. package/dist/types/components/vega-button-group/types.d.ts +2 -1
  349. package/dist/types/components/vega-button-group/vega-button-group-item/slimmers/controllers/vega-button-group-item-sub-state-controller.d.ts +1 -0
  350. package/dist/types/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.d.ts +11 -0
  351. package/dist/types/components/vega-button-group/vega-button-group-item/vega-button-group-item.d.ts +7 -0
  352. package/dist/types/components/vega-button-group/vega-button-group.d.ts +8 -0
  353. package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
  354. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.d.ts +60 -0
  355. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-value-controller.d.ts +3 -4
  356. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +29 -124
  357. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-input-renderer-base.abstract.d.ts +1 -0
  358. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-range-input-renderer.d.ts +5 -5
  359. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.d.ts +2 -3
  360. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-single-input-renderer.d.ts +1 -4
  361. package/dist/types/components/vega-date-picker/types.d.ts +9 -0
  362. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/constants.d.ts +1 -0
  363. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/dto/calendar-selection.d.ts +62 -0
  364. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-allow-repick-controller.d.ts +31 -0
  365. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-current-period-controller.d.ts +78 -0
  366. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-min-max-date-controller.d.ts +20 -0
  367. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-selection-controller.d.ts +75 -0
  368. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-state-base.abstract.d.ts +29 -0
  369. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-today-controller.d.ts +15 -0
  370. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.d.ts +20 -0
  371. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +19 -0
  372. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.d.ts +33 -0
  373. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +27 -0
  374. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +184 -0
  375. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +6 -14
  376. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +0 -4
  377. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.d.ts +2 -0
  378. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +1 -0
  379. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +14 -2
  380. package/dist/types/components/vega-input/slimmers/controllers/vega-input-mask-config-controller.d.ts +33 -6
  381. package/dist/types/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.d.ts +27 -0
  382. package/dist/types/components/vega-input/slimmers/controllers/vega-input-value-controller.d.ts +32 -0
  383. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-container-renderer.d.ts +27 -0
  384. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +58 -0
  385. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.d.ts +40 -0
  386. package/dist/types/components/vega-input/slimmers/renderers/vega-input-renderer.d.ts +21 -0
  387. package/dist/types/components/vega-input/types.d.ts +4 -0
  388. package/dist/types/components/vega-input/vega-input.d.ts +67 -34
  389. package/dist/types/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.d.ts +1 -0
  390. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-item-controller.d.ts +29 -0
  391. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.d.ts +1 -0
  392. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.d.ts +1 -0
  393. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +1 -1
  394. package/dist/types/components/vega-input-select/types.d.ts +5 -0
  395. package/dist/types/components/vega-input-select/vega-input-select.d.ts +12 -4
  396. package/dist/types/components/vega-modal/vega-modal.d.ts +7 -1
  397. package/dist/types/components/vega-popover/vega-popover.d.ts +2 -1
  398. package/dist/types/components/vega-progress-tracker/slimmers/controllers/dto/internal-progress-tracker-step.d.ts +55 -0
  399. package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-direction-controller.d.ts +27 -0
  400. package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-step-controller.d.ts +63 -0
  401. package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.d.ts +39 -0
  402. package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-render-mode-controller.d.ts +21 -0
  403. package/dist/types/components/vega-progress-tracker/slimmers/renderers/vega-progress-tracker-renderer.d.ts +21 -0
  404. package/dist/types/components/vega-progress-tracker/type.d.ts +1 -0
  405. package/dist/types/components/vega-progress-tracker/vega-progress-tracker-step/slimmers/controllers/vega-progress-tracker-step-state-controller.d.ts +12 -0
  406. package/dist/types/components/vega-progress-tracker/vega-progress-tracker-step/vega-progress-tracker-step.d.ts +22 -0
  407. package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +24 -10
  408. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +7 -0
  409. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +10 -0
  410. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +8 -1
  411. package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +7 -0
  412. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +1 -1
  413. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts +7 -0
  414. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.d.ts +2 -2
  415. package/dist/types/components/vega-rich-text-editor/interface.d.ts +6 -1
  416. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner-processor.interface.d.ts +13 -0
  417. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner.d.ts +35 -0
  418. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/index.d.ts +4 -0
  419. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-after-opening-tag-processor.d.ts +19 -0
  420. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-before-closing-tag-processor.d.ts +19 -0
  421. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-between-tags-processor.d.ts +59 -0
  422. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +1 -0
  423. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +1 -0
  424. package/dist/types/components/vega-rich-text-editor/test/html-cleaner/html-content-cleaner.test.d.ts +1 -0
  425. package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-after-opening-tag-processor.test.d.ts +1 -0
  426. package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-before-closing-tag-processor.test.d.ts +1 -0
  427. package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-between-tags-processor.test.d.ts +1 -0
  428. package/dist/types/components.d.ts +312 -21
  429. package/dist/types/constants/regex.d.ts +1 -0
  430. package/dist/types/constants/ui.d.ts +1 -1
  431. package/dist/types/helpers/calendar/calendar-date.d.ts +86 -2
  432. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +7 -0
  433. package/dist/types/helpers/code-format/code-formatter.d.ts +14 -0
  434. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +5 -1
  435. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +8 -2
  436. package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +4 -9
  437. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.d.ts +21 -0
  438. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.d.ts +21 -0
  439. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.d.ts +22 -0
  440. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.d.ts +18 -0
  441. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.d.ts +37 -0
  442. package/dist/types/helpers/ui/element-appender.d.ts +14 -0
  443. package/dist/types/types/components.type.d.ts +7 -0
  444. package/dist/types/types/type-guard.d.ts +16 -0
  445. package/dist/types/types/ui.type.d.ts +9 -0
  446. package/dist/types/utils/date.d.ts +11 -2
  447. package/dist/types/utils/e2e-utils.d.ts +7 -0
  448. package/dist/types/utils/sanitize.d.ts +71 -0
  449. package/dist/types/utils/test/sanitize.test.d.ts +1 -0
  450. package/dist/vega/index.esm.js +1 -1
  451. package/dist/vega/{p-7b42da4f.entry.js → p-011b94b1.entry.js} +1 -1
  452. package/dist/vega/p-012753b5.entry.js +1 -0
  453. package/dist/vega/p-024331ce.entry.js +1 -0
  454. package/dist/vega/{p-4a467973.js → p-0575d22e.js} +1 -1
  455. package/dist/vega/{p-9e59345f.entry.js → p-08a90cc6.entry.js} +1 -1
  456. package/dist/vega/p-0ede1fea.entry.js +1 -0
  457. package/dist/vega/{p-7d9cd9c8.js → p-10ac8b57.js} +1 -1
  458. package/dist/vega/{p-b9798158.js → p-1298b126.js} +1 -1
  459. package/dist/vega/{p-3c865f86.entry.js → p-17c55205.entry.js} +1 -1
  460. package/dist/vega/{p-a6010b93.entry.js → p-1e0d8228.entry.js} +1 -1
  461. package/dist/vega/p-1f83cebf.js +1 -0
  462. package/dist/vega/p-3353b3d7.js +1 -0
  463. package/dist/vega/p-365b1b35.entry.js +1 -0
  464. package/dist/vega/p-3ae9ee3d.entry.js +1 -0
  465. package/dist/vega/p-3af92370.entry.js +1 -0
  466. package/dist/vega/{p-fde50319.js → p-3bf66be2.js} +1 -1
  467. package/dist/vega/{p-235bf01b.entry.js → p-3c5a28e4.entry.js} +1 -1
  468. package/dist/vega/p-3e5f362f.js +1 -0
  469. package/dist/vega/{p-74168615.js → p-40f39194.js} +1 -1
  470. package/dist/vega/{p-1bb0c934.js → p-430be941.js} +1 -1
  471. package/dist/vega/p-43f585f7.entry.js +1 -0
  472. package/dist/vega/p-45296fd4.entry.js +1 -0
  473. package/dist/vega/{p-67f159c3.js → p-476a173a.js} +1 -1
  474. package/dist/vega/p-491618a6.entry.js +1 -0
  475. package/dist/vega/p-4a537391.entry.js +1 -0
  476. package/dist/vega/p-4aa893ef.entry.js +1 -0
  477. package/dist/vega/{p-cbabb07a.entry.js → p-4c47e8bb.entry.js} +1 -1
  478. package/dist/vega/p-4da75f2b.js +1 -0
  479. package/dist/vega/p-509eb52e.entry.js +1 -0
  480. package/dist/vega/p-5110ba73.entry.js +1 -0
  481. package/dist/vega/p-556f9a21.entry.js +1 -0
  482. package/dist/vega/p-55b54ba0.entry.js +1 -0
  483. package/dist/vega/p-5b71c85e.js +1 -0
  484. package/dist/vega/p-5ea2e43c.entry.js +1 -0
  485. package/dist/vega/p-5efc6fe1.entry.js +1 -0
  486. package/dist/vega/p-5f377954.js +1 -1
  487. package/dist/vega/{p-9ce249a9.js → p-60851f9d.js} +1 -1
  488. package/dist/vega/{p-54e56f0d.entry.js → p-64cd1931.entry.js} +1 -1
  489. package/dist/vega/{p-de97c6d9.js → p-66fa700b.js} +1 -1
  490. package/dist/vega/{p-8c6b6ad7.entry.js → p-67fcf6f2.entry.js} +1 -1
  491. package/dist/vega/p-68df4288.js +1 -0
  492. package/dist/vega/p-691ba1ae.js +1 -0
  493. package/dist/vega/{p-61d9cdf9.entry.js → p-6a2205a1.entry.js} +1 -1
  494. package/dist/vega/{p-35cd469a.entry.js → p-6a4277df.entry.js} +1 -1
  495. package/dist/vega/{p-1f26de89.js → p-6e136980.js} +1 -1
  496. package/dist/vega/p-6f8be8ea.js +1 -0
  497. package/dist/vega/p-6fa8e231.entry.js +1 -0
  498. package/dist/vega/p-7045e84c.entry.js +1 -0
  499. package/dist/vega/{p-85f9a980.js → p-7288f8c4.js} +1 -1
  500. package/dist/vega/{p-2f09c6aa.js → p-749f96a4.js} +1 -1
  501. package/dist/vega/{p-a0467b83.js → p-77edf50c.js} +1 -1
  502. package/dist/vega/p-7aaece55.entry.js +1 -0
  503. package/dist/vega/p-7ec6a104.entry.js +1 -0
  504. package/dist/vega/{p-52efaadb.entry.js → p-81134e9e.entry.js} +1 -1
  505. package/dist/vega/p-8187878e.js +1 -0
  506. package/dist/vega/p-89d685a8.js +1 -0
  507. package/dist/vega/{p-c0223a17.entry.js → p-8c0eb12f.entry.js} +1 -1
  508. package/dist/vega/p-8d0ca805.js +1 -0
  509. package/dist/vega/p-8d701832.entry.js +1 -0
  510. package/dist/vega/{p-3e040167.entry.js → p-8e42a14c.entry.js} +1 -1
  511. package/dist/vega/p-8ed0faa2.entry.js +1 -0
  512. package/dist/vega/{p-3925c16b.js → p-920719ad.js} +1 -1
  513. package/dist/vega/{p-18e8c54a.entry.js → p-94394df7.entry.js} +1 -1
  514. package/dist/vega/p-99aa554b.entry.js +1 -0
  515. package/dist/vega/{p-69aec6af.entry.js → p-9a2446f1.entry.js} +1 -1
  516. package/dist/vega/{p-924b4e24.js → p-a2aeb646.js} +1 -1
  517. package/dist/vega/p-a475d525.entry.js +1 -0
  518. package/dist/vega/{p-c2f21426.entry.js → p-a530797f.entry.js} +1 -1
  519. package/dist/vega/{p-652626b6.entry.js → p-a85ad369.entry.js} +1 -1
  520. package/dist/vega/p-ac5e9955.entry.js +1 -0
  521. package/dist/vega/p-aedf7146.js +1 -0
  522. package/dist/vega/p-b1f869fb.js +1 -0
  523. package/dist/vega/p-b4ea3fad.js +1 -0
  524. package/dist/vega/p-badad9ed.js +1 -0
  525. package/dist/vega/{p-98fb9eaa.entry.js → p-bb4a558d.entry.js} +1 -1
  526. package/dist/vega/p-bb8339ed.entry.js +1 -0
  527. package/dist/vega/{p-75b5894f.entry.js → p-be930e85.entry.js} +1 -1
  528. package/dist/vega/p-bf2bd6d0.entry.js +1 -0
  529. package/dist/vega/p-c2488ed6.js +1 -0
  530. package/dist/vega/{p-0f7dec29.entry.js → p-c379a5a5.entry.js} +1 -1
  531. package/dist/vega/{p-db57dddc.js → p-c9b6b5a9.js} +1 -1
  532. package/dist/vega/{p-7c1d08db.entry.js → p-ca3472c1.entry.js} +1 -1
  533. package/dist/vega/{p-35252108.js → p-cc43bffb.js} +1 -1
  534. package/dist/vega/p-cf5b80f9.entry.js +1 -0
  535. package/dist/vega/{p-8fae8f9e.js → p-d0e31633.js} +1 -1
  536. package/dist/vega/{p-bfb86c3e.entry.js → p-db60a38e.entry.js} +1 -1
  537. package/dist/vega/{p-71f9c4d4.js → p-dd11f735.js} +1 -1
  538. package/dist/vega/{p-19522949.js → p-e16b3adf.js} +1 -1
  539. package/dist/vega/p-e93545fd.js +1 -0
  540. package/dist/vega/{p-e6351dab.entry.js → p-e9c4fd24.entry.js} +1 -1
  541. package/dist/vega/{p-91d71ae9.entry.js → p-eb60cfe1.entry.js} +1 -1
  542. package/dist/vega/p-ec192283.entry.js +1 -0
  543. package/dist/vega/{p-c6ae78f2.entry.js → p-f2a3a1ec.entry.js} +1 -1
  544. package/dist/vega/p-f2cdd212.entry.js +1 -0
  545. package/dist/vega/p-f3c3ff26.entry.js +1 -0
  546. package/dist/vega/{p-b27fcac4.entry.js → p-f4c05b4a.entry.js} +1 -1
  547. package/dist/vega/{p-dde03224.entry.js → p-f52a0155.entry.js} +1 -1
  548. package/dist/vega/p-f8641214.entry.js +1 -0
  549. package/dist/vega/{p-330c224f.entry.js → p-f89443aa.entry.js} +1 -1
  550. package/dist/vega/{p-58769a72.entry.js → p-f8f7cf48.entry.js} +1 -1
  551. package/dist/vega/p-fe12eff6.js +1 -0
  552. package/dist/vega/vega.esm.js +1 -1
  553. package/package.json +2 -3
  554. package/dist/cjs/date-0a6bb035.js +0 -95
  555. package/dist/cjs/mobilefriendly-aa2e50e9.js +0 -13
  556. package/dist/cjs/state-background-color-formatter-aa5570f6.js +0 -85
  557. package/dist/cjs/vega-progress-tracker.cjs.entry.js +0 -252
  558. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.js +0 -282
  559. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-element-appender-controller.js +0 -35
  560. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-mobile-controller.js +0 -53
  561. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-month-year-change-event-controller.js +0 -139
  562. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-zindex-controller.js +0 -49
  563. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.js +0 -341
  564. package/dist/esm/date-c55b97f0.js +0 -87
  565. package/dist/esm/mobilefriendly-c5d0573d.js +0 -11
  566. package/dist/esm/state-background-color-formatter-0f01d27a.js +0 -82
  567. package/dist/esm/vega-progress-tracker.entry.js +0 -248
  568. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.d.ts +0 -96
  569. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-element-appender-controller.d.ts +0 -12
  570. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-mobile-controller.d.ts +0 -18
  571. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-month-year-change-event-controller.d.ts +0 -46
  572. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-zindex-controller.d.ts +0 -15
  573. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.d.ts +0 -97
  574. package/dist/vega/p-08835909.js +0 -1
  575. package/dist/vega/p-0cdb38d3.js +0 -1
  576. package/dist/vega/p-0e5297b9.entry.js +0 -1
  577. package/dist/vega/p-0feceaac.entry.js +0 -1
  578. package/dist/vega/p-115b42e6.entry.js +0 -1
  579. package/dist/vega/p-1372b984.js +0 -1
  580. package/dist/vega/p-1739a877.entry.js +0 -1
  581. package/dist/vega/p-1a59703b.entry.js +0 -1
  582. package/dist/vega/p-1e92737c.entry.js +0 -1
  583. package/dist/vega/p-257ff60b.entry.js +0 -1
  584. package/dist/vega/p-25a3fad7.entry.js +0 -1
  585. package/dist/vega/p-2622f0a8.entry.js +0 -1
  586. package/dist/vega/p-26c4f07c.entry.js +0 -1
  587. package/dist/vega/p-2e6ce1e9.entry.js +0 -1
  588. package/dist/vega/p-2ec7e020.entry.js +0 -1
  589. package/dist/vega/p-308aa2e3.js +0 -1
  590. package/dist/vega/p-33f3f306.js +0 -1
  591. package/dist/vega/p-366825fa.entry.js +0 -1
  592. package/dist/vega/p-37020002.entry.js +0 -1
  593. package/dist/vega/p-379f1b40.entry.js +0 -1
  594. package/dist/vega/p-38cb2b40.js +0 -1
  595. package/dist/vega/p-447c7590.js +0 -1
  596. package/dist/vega/p-4e13a26f.js +0 -1
  597. package/dist/vega/p-5972c101.entry.js +0 -1
  598. package/dist/vega/p-5d827fe5.js +0 -1
  599. package/dist/vega/p-5e708ad5.entry.js +0 -1
  600. package/dist/vega/p-65a9af84.entry.js +0 -1
  601. package/dist/vega/p-67eb405d.entry.js +0 -1
  602. package/dist/vega/p-71ddccf2.entry.js +0 -1
  603. package/dist/vega/p-785d9ac3.entry.js +0 -1
  604. package/dist/vega/p-796d840c.entry.js +0 -1
  605. package/dist/vega/p-7a590741.entry.js +0 -1
  606. package/dist/vega/p-824a06ba.js +0 -1
  607. package/dist/vega/p-8350506e.js +0 -1
  608. package/dist/vega/p-867a4970.js +0 -1
  609. package/dist/vega/p-880569ec.entry.js +0 -1
  610. package/dist/vega/p-8ac2f43f.entry.js +0 -1
  611. package/dist/vega/p-8ff96b8c.entry.js +0 -13
  612. package/dist/vega/p-9794fd88.entry.js +0 -1
  613. package/dist/vega/p-a10b9f2e.js +0 -12
  614. package/dist/vega/p-a630ce73.entry.js +0 -1
  615. package/dist/vega/p-b1faebe0.js +0 -1
  616. package/dist/vega/p-b5ba0c11.js +0 -1
  617. package/dist/vega/p-b8b9ed2c.js +0 -1
  618. package/dist/vega/p-bcc396c2.entry.js +0 -1
  619. package/dist/vega/p-bccee21e.js +0 -1
  620. package/dist/vega/p-c224b44c.js +0 -1
  621. package/dist/vega/p-ea96635b.entry.js +0 -1
  622. package/dist/vega/p-f21b893b.entry.js +0 -1
  623. package/dist/vega/p-fb320b50.entry.js +0 -1
  624. package/dist/vega/p-ff470366.entry.js +0 -1
@@ -4,62 +4,63 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-58ea899e.js');
6
6
  const component = require('./component-1e352960.js');
7
- const dateRequiredRule = require('./date-required-rule-4e1f84fd.js');
8
- const date = require('./date-0a6bb035.js');
7
+ const dateRequiredRule = require('./date-required-rule-30ee62d0.js');
8
+ const typeGuard = require('./type-guard-a0f026d8.js');
9
9
  const internalFormFieldValidationRule_abstract = require('./internal-form-field-validation-rule.abstract-07cdff46.js');
10
10
  const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
11
11
  const componentUsageRuntimeMetrics = require('./component-usage-runtime-metrics-d10ace87.js');
12
- const formFieldControllerSlimmer = require('./form-field-controller-slimmer-f865d397.js');
12
+ const formFieldControllerSlimmer = require('./form-field-controller-slimmer-aef2fb1e.js');
13
13
  const ui = require('./ui-9e181079.js');
14
- const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-f040608b.js');
14
+ const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-b5e71bf6.js');
15
15
  const internalIconManager = require('./internal-icon-manager-32f9ed63.js');
16
16
  const accessibility = require('./accessibility-bfa227f6.js');
17
17
  const array = require('./array-249289f2.js');
18
- const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
19
- const changeManager = require('./change-manager-a297e4d2.js');
20
- const vegaInternalEventId = require('./vega-internal-event-id-6d4a2c53.js');
21
- const functionExtension = require('./function-extension-28a4d781.js');
22
- const staticSubjectTitle = require('./static-subject-title-5829a298.js');
23
- const stringMaskStrategy = require('./string-mask-strategy-6bdad95e.js');
24
- const stringInputFormatterSlimmer = require('./string-input-formatter-slimmer-8236b5e1.js');
25
- const elementAppenderSlimmer = require('./element-appender-slimmer-f8e89f37.js');
18
+ require('./translation-5f9f9c0c.js');
26
19
  require('./vega-env-manager-23b8b23c.js');
20
+ require('./function-extension-cfbbc57e.js');
27
21
  const featureFlagController = require('./feature-flag-controller-ce2162c8.js');
28
22
  require('./wait-for-vega-handler-5469ff80.js');
29
- require('./translation-5f9f9c0c.js');
30
- require('./dto-renderer-manager-c917dade.js');
23
+ require('./dto-renderer-manager-03e1a038.js');
31
24
  require('./vega-nonce-manager-df69d3ed.js');
32
- require('./code-block-bb4cbafa.js');
33
- const keyboardManagerSlimmer = require('./keyboard-manager-slimmer-62f072cd.js');
25
+ require('./code-block-c1d2e6a8.js');
26
+ const tryGetDocument = require('./try-get-document-c0ebd39a.js');
27
+ const staticSubjectTitle = require('./static-subject-title-5829a298.js');
28
+ const changeManager = require('./change-manager-a297e4d2.js');
29
+ const stringMaskStrategy = require('./string-mask-strategy-d23ac21a.js');
30
+ const stringInputFormatterSlimmer = require('./string-input-formatter-slimmer-f3e0bbc7.js');
31
+ const keyboardManagerSlimmer = require('./keyboard-manager-slimmer-0d45f944.js');
34
32
  const componentLoadRequired = require('./component-load-required-6cc74719.js');
35
- const eventEmitSlimmer = require('./event-emit-slimmer-7afe8d78.js');
36
- const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-f8840f1b.js');
33
+ const eventEmitSlimmer = require('./event-emit-slimmer-2dacabbd.js');
34
+ const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-aca87dac.js');
37
35
  const translationSlimmer = require('./translation-slimmer-f0ebe710.js');
38
- const remoteInvocationRegistry = require('./remote-invocation-registry-fc22fdd0.js');
36
+ const elementAppenderSlimmer = require('./element-appender-slimmer-daa8b9f5.js');
37
+ const synchronizeTaskQueue = require('./synchronize-task-queue-1ee80e94.js');
38
+ const clickOutsideOnlyToDismissStrategy = require('./click-outside-only-to-dismiss-strategy-407f6d1e.js');
39
+ const vegaInternalEventId = require('./vega-internal-event-id-f2465f1b.js');
39
40
  const observer = require('./observer-f49483e8.js');
41
+ const monthViewGenerator = require('./month-view-generator-49cc5fc2.js');
42
+ require('./breakpoints-ebde4837.js');
43
+ require('./ui-32e69595.js');
44
+ require('./typography-4560e7f1.js');
40
45
  require('./string-39438062.js');
41
46
  require('./create-public-api-runtime-metrics-slimmer-e2e274e1.js');
42
47
  require('./dynamic-slimmer-f31fdfd7.js');
43
48
  require('./page-resize-observer-slimmer-11937d6f.js');
44
- require('./ui-32e69595.js');
45
- require('./breakpoints-ebde4837.js');
46
- require('./try-get-document-c0ebd39a.js');
47
49
  require('./mutation-observer-slimmer-749d5020.js');
48
50
  require('./mutation-observer-filters-38cebc6d.js');
49
- require('./sub-state-observer-slimmer-73aecfff.js');
51
+ require('./sub-state-observer-slimmer-5d0b8ac3.js');
50
52
  require('./number-4816603d.js');
51
53
  require('./dark-mode-style-controller-c21172aa.js');
52
- require('./internal-vega-event-manager-45d451de.js');
53
- require('./type-guard-f12b5bae.js');
54
- require('./typography-4560e7f1.js');
54
+ require('./_commonjsHelpers-537d719a.js');
55
+ require('./internal-vega-event-manager-6befeb34.js');
56
+ require('./object-e2e28e3d.js');
55
57
  require('./base-renderer-0a3b62b7.js');
56
- require('./string-format-strategy.abstract-07a95352.js');
57
- require('./index-4b896e76.js');
58
- require('./responsive-format-facade-1d9c13a9.js');
59
- require('./pixel-98f2a10c.js');
60
58
  require('./index-4d7bce1a.js');
61
- require('./object-e2e28e3d.js');
62
- require('./keyboard-manager-af0d08a6.js');
59
+ require('./string-format-strategy.abstract-63514c60.js');
60
+ require('./index-95fca64f.js');
61
+ require('./keyboard-manager-3dea6b28.js');
62
+ require('./responsive-format-facade-d5dba942.js');
63
+ require('./pixel-98f2a10c.js');
63
64
 
64
65
  /**
65
66
  * A rule that checks if start date is before than end date
@@ -98,7 +99,7 @@ class DateRangeRule extends internalFormFieldValidationRule_abstract.InternalFor
98
99
  }
99
100
  const startDate = new Date(input[0]);
100
101
  const endDate = new Date(input[1]);
101
- const isValid = date.compareIsSameOrBefore(startDate, endDate);
102
+ const isValid = typeGuard.compareIsSameOrBefore(startDate, endDate);
102
103
  return {
103
104
  isValid: isValid,
104
105
  message: isValid ? '' : 'The end date should be later than start date',
@@ -111,7 +112,7 @@ class DateRangeRule extends internalFormFieldValidationRule_abstract.InternalFor
111
112
  * @returns {boolean} A boolean value.
112
113
  */
113
114
  isAcceptedInputType(input) {
114
- return Array.isArray(input) && input.length === 2 && input.every(date.isDateStr);
115
+ return Array.isArray(input) && input.length === 2 && input.every(typeGuard.isDateStr);
115
116
  }
116
117
  }
117
118
 
@@ -136,13 +137,13 @@ class MinAndMaxDateRule extends internalFormFieldValidationRule_abstract.Interna
136
137
  */
137
138
  this.evaluateSingleDate = (input) => {
138
139
  const singleDate = new Date(input);
139
- if (this.minDate && date.compareIsBefore(singleDate, this.minDate)) {
140
+ if (this.minDate && typeGuard.compareIsBefore(singleDate, this.minDate)) {
140
141
  return this.invalidResult({
141
142
  key: 'The date should be later than {0}',
142
143
  args: [this.config.minDate],
143
144
  });
144
145
  }
145
- if (this.maxDate && date.compareIsAfter(singleDate, this.maxDate)) {
146
+ if (this.maxDate && typeGuard.compareIsAfter(singleDate, this.maxDate)) {
146
147
  return this.invalidResult({
147
148
  key: 'The date should be earlier than {0}',
148
149
  args: [this.config.maxDate],
@@ -159,19 +160,19 @@ class MinAndMaxDateRule extends internalFormFieldValidationRule_abstract.Interna
159
160
  this.evaluateRangeDates = (input) => {
160
161
  const startDate = new Date(input[0]);
161
162
  const endDate = new Date(input[1]);
162
- if (this.minDate && date.compareIsBefore(startDate, this.minDate)) {
163
+ if (this.minDate && typeGuard.compareIsBefore(startDate, this.minDate)) {
163
164
  return this.invalidResult({
164
165
  key: 'The start date should be later than {0}',
165
166
  args: [this.config.minDate],
166
167
  });
167
168
  }
168
- if (this.maxDate && date.compareIsAfter(startDate, this.maxDate)) {
169
+ if (this.maxDate && typeGuard.compareIsAfter(startDate, this.maxDate)) {
169
170
  return this.invalidResult({
170
171
  key: 'The start date should be earlier than {0}',
171
172
  args: [this.config.maxDate],
172
173
  });
173
174
  }
174
- if (endDate && this.maxDate && date.compareIsAfter(endDate, this.maxDate)) {
175
+ if (endDate && this.maxDate && typeGuard.compareIsAfter(endDate, this.maxDate)) {
175
176
  return this.invalidResult({
176
177
  key: 'The end date should be earlier than {0}',
177
178
  args: [this.config.maxDate],
@@ -249,8 +250,8 @@ class MinAndMaxDateRule extends internalFormFieldValidationRule_abstract.Interna
249
250
  * @returns {boolean} A boolean value.
250
251
  */
251
252
  isAcceptedInputType(input) {
252
- return ((typeof input === 'string' && date.isDateStr(input)) ||
253
- (Array.isArray(input) && input.length === 2 && input.every(date.isDateStr)));
253
+ return ((typeof input === 'string' && typeGuard.isDateStr(input)) ||
254
+ (Array.isArray(input) && input.length === 2 && input.every(typeGuard.isDateStr)));
254
255
  }
255
256
  }
256
257
 
@@ -265,11 +266,14 @@ const Icons = {
265
266
  icon: `<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_41275_12898)"><path d="M5.75 2H10.25V0.75C10.25 0.335938 10.5844 0 11 0C11.4156 0 11.75 0.335938 11.75 0.75V2H13C14.1031 2 15 2.89531 15 4V14C15 15.1031 14.1031 16 13 16H3C1.89531 16 1 15.1031 1 14V4C1 2.89531 1.89531 2 3 2H4.25V0.75C4.25 0.335938 4.58437 0 5 0C5.41563 0 5.75 0.335938 5.75 0.75V2ZM2.5 7.75H5V6H2.5V7.75ZM2.5 9.25V11.25H5V9.25H2.5ZM6.5 9.25V11.25H9.5V9.25H6.5ZM11 9.25V11.25H13.5V9.25H11ZM13.5 6H11V7.75H13.5V6ZM13.5 12.75H11V14.5H13C13.275 14.5 13.5 14.275 13.5 14V12.75ZM9.5 12.75H6.5V14.5H9.5V12.75ZM5 12.75H2.5V14C2.5 14.275 2.72375 14.5 3 14.5H5V12.75ZM9.5 6H6.5V7.75H9.5V6Z" fill="currentColor"/></g><defs><clipPath id="clip0_41275_12898"><rect width="14" height="16" fill="white" transform="translate(1)"/></clipPath></defs></svg>`,
266
267
  },
267
268
  'caret-down': {
268
- icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>`,
269
+ icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M199 401c9.4 9.4 24.6 9.4 33.9 0L425 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-175 175L41 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L199 401z"/></svg>`,
270
+ },
271
+ 'bulls-eye': {
272
+ icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-272a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"/></svg>`,
269
273
  },
270
274
  };
271
275
 
272
- var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
276
+ var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
273
277
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
274
278
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
275
279
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -282,9 +286,10 @@ class VegaDatePickerRenderer extends globalSlimmerRegistry.VegaSlimmer {
282
286
  return (index.h("div", { class: "vega-input-prefix" },
283
287
  index.h("vega-icon", { icon: internalIconManager.VegaInternalIconManager.getIconKey('calendar'), color: "text-secondary",
284
288
  // eslint-disable-next-line react/jsx-no-bind
285
- onClick: () => {
289
+ onClick: async () => {
286
290
  if (!this.disabled) {
287
- this.focusInput();
291
+ await this.focusInput();
292
+ await this.vegaDatePickerCalendarRenderer.triggerRepick('start');
288
293
  }
289
294
  } })));
290
295
  };
@@ -293,13 +298,13 @@ class VegaDatePickerRenderer extends globalSlimmerRegistry.VegaSlimmer {
293
298
  * on mobile, the input is ready-only to avoid virtual keyboard
294
299
  */
295
300
  this.isInputEnabled = () => {
296
- return !this.readOnly && !this.vegaDatePickerMobileController.getIsMobileDevice();
301
+ return !this.readOnly && !this.isMobileDevice;
297
302
  };
298
303
  this.renderLabel = () => {
299
304
  return (this.label && (index.h("vega-field-label", { ref: (e) => {
300
305
  /* istanbul ignore next */
301
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(e, domNodeSubjectObserverFactory.VegaClick, () => {
302
- this.focusInput();
306
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(e, domNodeSubjectObserverFactory.VegaClick, async () => {
307
+ await this.focusInput();
303
308
  });
304
309
  }, isFieldRequired: this.required, disabled: this.disabled, label: this.label })));
305
310
  };
@@ -308,11 +313,11 @@ class VegaDatePickerRenderer extends globalSlimmerRegistry.VegaSlimmer {
308
313
  * @see{module:vega-date-picker-click-label-focus-input-e2e}
309
314
  */
310
315
  /* istanbul ignore next */
311
- this.focusInput = () => {
316
+ this.focusInput = async () => {
312
317
  var _a, _b;
313
318
  (_a = this.vegaDatePickerSingleInputRenderer.getSingleDateInputRef()) === null || _a === void 0 ? void 0 : _a.focus();
314
319
  (_b = this.vegaDatePickerRangeInputRenderer.getStartDateInputRef()) === null || _b === void 0 ? void 0 : _b.focus();
315
- this.vegaDatePickerCalendarRenderer.getDatePicker().show();
320
+ await this.calendarOpenStateController.showCalendar();
316
321
  };
317
322
  }
318
323
  getDatePickerContainer() {
@@ -323,119 +328,62 @@ class VegaDatePickerRenderer extends globalSlimmerRegistry.VegaSlimmer {
323
328
  'vega-input-container',
324
329
  this.size,
325
330
  `${this.mode}-mode`,
326
- this.vegaDatePickerMobileController.getIsMobileDevice()
327
- ? /* istanbul ignore next */ 'mobile'
328
- : '',
331
+ this.isMobileDevice ? /* istanbul ignore next */ 'mobile' : '',
329
332
  ];
330
333
  return (index.h(index.Host, { class: {
331
334
  disabled: this.disabled,
332
335
  } },
333
336
  this.renderLabel(),
334
- index.h("div", { class: ui.arrayToClassString(classNames), ref: (ref) => (this.datePickerContainer = ref) },
335
- this.mode === 'range'
336
- ? this.vegaDatePickerRangeInputRenderer.render()
337
- : this.vegaDatePickerSingleInputRenderer.render(),
338
- this.showYearMonthDropdowns && this.monthYearDropdownRenderer.render())));
337
+ index.h("div", { class: ui.arrayToClassString(classNames), ref: (ref) => (this.datePickerContainer = ref) }, this.mode === 'range'
338
+ ? this.vegaDatePickerRangeInputRenderer.render()
339
+ : this.vegaDatePickerSingleInputRenderer.render()),
340
+ this.vegaDatePickerCalendarRenderer.render()));
339
341
  }
340
342
  }
341
343
  (() => {
342
344
  internalIconManager.VegaInternalIconManager.register({ calendar: Icons.calendar });
343
345
  })();
344
- __decorate$f([
346
+ __decorate$k([
345
347
  globalSlimmerRegistry.MapToComponentField()
346
348
  ], VegaDatePickerRenderer.prototype, "disabled", void 0);
347
- __decorate$f([
349
+ __decorate$k([
348
350
  globalSlimmerRegistry.MapToComponentField()
349
351
  ], VegaDatePickerRenderer.prototype, "size", void 0);
350
- __decorate$f([
352
+ __decorate$k([
351
353
  globalSlimmerRegistry.MapToComponentField()
352
354
  ], VegaDatePickerRenderer.prototype, "mode", void 0);
353
- __decorate$f([
355
+ __decorate$k([
354
356
  globalSlimmerRegistry.MapToComponentField()
355
357
  ], VegaDatePickerRenderer.prototype, "label", void 0);
356
- __decorate$f([
358
+ __decorate$k([
357
359
  globalSlimmerRegistry.MapToComponentField()
358
360
  ], VegaDatePickerRenderer.prototype, "required", void 0);
359
- __decorate$f([
361
+ __decorate$k([
360
362
  globalSlimmerRegistry.MapToComponentField()
361
363
  ], VegaDatePickerRenderer.prototype, "readOnly", void 0);
362
- __decorate$f([
364
+ __decorate$k([
363
365
  globalSlimmerRegistry.MapToComponentField()
364
366
  ], VegaDatePickerRenderer.prototype, "autoValidation", void 0);
365
- __decorate$f([
367
+ __decorate$k([
366
368
  globalSlimmerRegistry.MapToComponentField()
367
369
  ], VegaDatePickerRenderer.prototype, "host", void 0);
368
- __decorate$f([
369
- globalSlimmerRegistry.MapToComponentField()
370
- ], VegaDatePickerRenderer.prototype, "showYearMonthDropdowns", void 0);
371
- __decorate$f([
370
+ __decorate$k([
372
371
  globalSlimmerRegistry.MapToComponentField()
373
- ], VegaDatePickerRenderer.prototype, "vegaDatePickerMobileController", void 0);
374
- __decorate$f([
372
+ ], VegaDatePickerRenderer.prototype, "isMobileDevice", void 0);
373
+ __decorate$k([
375
374
  globalSlimmerRegistry.MapToComponentField()
376
375
  ], VegaDatePickerRenderer.prototype, "vegaDatePickerSingleInputRenderer", void 0);
377
- __decorate$f([
376
+ __decorate$k([
378
377
  globalSlimmerRegistry.MapToComponentField()
379
378
  ], VegaDatePickerRenderer.prototype, "vegaDatePickerRangeInputRenderer", void 0);
380
- __decorate$f([
379
+ __decorate$k([
381
380
  globalSlimmerRegistry.MapToComponentField()
382
381
  ], VegaDatePickerRenderer.prototype, "vegaDatePickerCalendarRenderer", void 0);
383
- __decorate$f([
384
- globalSlimmerRegistry.MapToComponentField()
385
- ], VegaDatePickerRenderer.prototype, "monthYearDropdownRenderer", void 0);
386
-
387
- var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
388
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
389
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
390
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
391
- return c > 3 && r && Object.defineProperty(target, key, r), r;
392
- };
393
- /** The date picker mobile controller slimmer */
394
- class VegaDatePickerMobileController extends globalSlimmerRegistry.VegaSlimmer {
395
- constructor() {
396
- super(...arguments);
397
- this.isMobileDevice = ui.getDeviceType() === ui.DeviceType.MOBILE;
398
- }
399
- /**
400
- * The function returns a boolean value indicating whether the device is a mobile device or not.
401
- *
402
- * @returns {boolean} A boolean value indicating whether the device is a mobile device or not.
403
- */
404
- getIsMobileDevice() {
405
- return this.isMobileDevice;
406
- }
407
- /*
408
- * The below method is e2e-test covered in
409
- * @see{module:vega-date-picker-scroll-in-mobile}
410
- */
411
- /* istanbul ignore next */
412
- /**
413
- * The function prevents touchmove events from scrolling the element on mobile devices.
414
- */
415
- preventElementTouchMoveInMobile() {
416
- const backdrop =
417
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
418
- this.host.shadowRoot.querySelector('.litepicker-backdrop');
419
- if (backdrop) {
420
- backdrop.removeEventListener('touchmove', (e) => e.preventDefault());
421
- backdrop.addEventListener('touchmove', (e) => e.preventDefault());
422
- }
423
- this.vegaDatePickerCalendarRenderer
424
- .getCalendarContainerRef()
425
- .removeEventListener('touchmove', (e) => e.preventDefault());
426
- this.vegaDatePickerCalendarRenderer
427
- .getCalendarContainerRef()
428
- .addEventListener('touchmove', (e) => e.preventDefault());
429
- }
430
- }
431
- __decorate$e([
432
- globalSlimmerRegistry.MapToComponentField()
433
- ], VegaDatePickerMobileController.prototype, "host", void 0);
434
- __decorate$e([
382
+ __decorate$k([
435
383
  globalSlimmerRegistry.MapToComponentField()
436
- ], VegaDatePickerMobileController.prototype, "vegaDatePickerCalendarRenderer", void 0);
384
+ ], VegaDatePickerRenderer.prototype, "calendarOpenStateController", void 0);
437
385
 
438
- var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
386
+ var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
439
387
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
440
388
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
441
389
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -447,13 +395,14 @@ var __decorate$d = (undefined && undefined.__decorate) || function (decorators,
447
395
  class VegaDatePickerInputRendererBase extends globalSlimmerRegistry.VegaSlimmer {
448
396
  constructor() {
449
397
  super(...arguments);
450
- this.onClickClearIcon = () => {
398
+ this.onClickClearIcon = async () => {
451
399
  if (this.mode === 'range') {
452
400
  this.vegaDatePickerValueController.setValue(['', '']);
453
401
  }
454
402
  else {
455
403
  this.vegaDatePickerValueController.setValue('');
456
404
  }
405
+ await this.calendarOpenStateController.hideCalendar();
457
406
  };
458
407
  this.isClearIconVisible = () => {
459
408
  if (this.mode === 'range') {
@@ -474,20 +423,23 @@ class VegaDatePickerInputRendererBase extends globalSlimmerRegistry.VegaSlimmer
474
423
  index.h("vega-icon", { icon: "close" })))));
475
424
  }
476
425
  }
477
- __decorate$d([
426
+ __decorate$j([
478
427
  globalSlimmerRegistry.MapToComponentField()
479
428
  ], VegaDatePickerInputRendererBase.prototype, "disabled", void 0);
480
- __decorate$d([
429
+ __decorate$j([
481
430
  globalSlimmerRegistry.MapToComponentField()
482
431
  ], VegaDatePickerInputRendererBase.prototype, "showClearIcon", void 0);
483
- __decorate$d([
432
+ __decorate$j([
484
433
  globalSlimmerRegistry.MapToComponentField()
485
434
  ], VegaDatePickerInputRendererBase.prototype, "mode", void 0);
486
- __decorate$d([
435
+ __decorate$j([
487
436
  globalSlimmerRegistry.MapToComponentField()
488
437
  ], VegaDatePickerInputRendererBase.prototype, "vegaDatePickerValueController", void 0);
438
+ __decorate$j([
439
+ globalSlimmerRegistry.MapToComponentField()
440
+ ], VegaDatePickerInputRendererBase.prototype, "calendarOpenStateController", void 0);
489
441
 
490
- var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
442
+ var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
491
443
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
492
444
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
493
445
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -500,10 +452,8 @@ class VegaDatePickerSingleInputRenderer extends VegaDatePickerInputRendererBase
500
452
  return (index.h("div", { class: "date-picker-input" },
501
453
  this.vegaDatePickerRenderer.renderInputPrefix(),
502
454
  index.h("input", { readOnly: !this.vegaDatePickerRenderer.isInputEnabled(), placeholder: this.getSinglePlaceholder(), value: this.vegaDatePickerValueController.getValue(), ref: (ref) => (this.singleDateInputRef = ref), onChange: this.onSingleDateChange, disabled: this.disabled,
503
- // eslint-disable-next-line react/jsx-no-bind
504
- onClick: () => {
505
- this.vegaDatePickerCalendarRenderer.getDatePicker().show();
506
- } }),
455
+ /* eslint-disable-next-line react/jsx-no-bind */
456
+ onClick: () => this.calendarOpenStateController.showCalendar() }),
507
457
  this.renderClearIcon()));
508
458
  };
509
459
  this.getSinglePlaceholder = () => {
@@ -522,9 +472,9 @@ class VegaDatePickerSingleInputRenderer extends VegaDatePickerInputRendererBase
522
472
  */
523
473
  this.onSingleDateChange = (e) => {
524
474
  const currentTarget = e.currentTarget;
525
- const date$1 = currentTarget.value;
526
- if (date.isDateStr(date$1)) {
527
- this.vegaDatePickerValueController.setValue(this.vegaDatePickerFormatController.formatDate(date$1));
475
+ const date = currentTarget.value;
476
+ if (typeGuard.CalendarDate.fromString(date, this.format)) {
477
+ this.vegaDatePickerValueController.setValue(this.vegaDatePickerFormatController.formatDate(date));
528
478
  }
529
479
  else {
530
480
  this.vegaDatePickerValueController.setValue('');
@@ -533,36 +483,27 @@ class VegaDatePickerSingleInputRenderer extends VegaDatePickerInputRendererBase
533
483
  }
534
484
  };
535
485
  }
536
- componentWillRender() {
537
- this.oldSingleDateInputRef = this.singleDateInputRef;
538
- }
539
486
  getSingleDateInputRef() {
540
487
  return this.singleDateInputRef;
541
488
  }
542
- getOldSingleDateInputRef() {
543
- return this.oldSingleDateInputRef;
544
- }
545
489
  }
546
- __decorate$c([
490
+ __decorate$i([
547
491
  globalSlimmerRegistry.MapToComponentField()
548
492
  ], VegaDatePickerSingleInputRenderer.prototype, "placeholder", void 0);
549
- __decorate$c([
493
+ __decorate$i([
550
494
  globalSlimmerRegistry.MapToComponentField()
551
495
  ], VegaDatePickerSingleInputRenderer.prototype, "format", void 0);
552
- __decorate$c([
496
+ __decorate$i([
553
497
  globalSlimmerRegistry.MapToComponentField()
554
498
  ], VegaDatePickerSingleInputRenderer.prototype, "vegaDatePickerFormatController", void 0);
555
- __decorate$c([
499
+ __decorate$i([
556
500
  globalSlimmerRegistry.MapToComponentField()
557
501
  ], VegaDatePickerSingleInputRenderer.prototype, "vegaDatePickerRenderer", void 0);
558
- __decorate$c([
502
+ __decorate$i([
559
503
  globalSlimmerRegistry.MapToComponentField()
560
- ], VegaDatePickerSingleInputRenderer.prototype, "vegaDatePickerCalendarRenderer", void 0);
561
- __decorate$c([
562
- globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
563
- ], VegaDatePickerSingleInputRenderer.prototype, "componentWillRender", null);
504
+ ], VegaDatePickerSingleInputRenderer.prototype, "calendarOpenStateController", void 0);
564
505
 
565
- var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
506
+ var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
566
507
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
567
508
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
568
509
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -575,12 +516,16 @@ class VegaDatePickerRangeInputRenderer extends VegaDatePickerInputRendererBase {
575
516
  return (index.h(index.Fragment, null,
576
517
  index.h("div", { class: "date-picker-input" },
577
518
  this.vegaDatePickerRenderer.renderInputPrefix(),
578
- index.h("input", { readOnly: !this.vegaDatePickerRenderer.isInputEnabled(), placeholder: this.getRangePlaceholder()[0], value: this.vegaDatePickerValueController.getValue()[0], ref: (ref) => (this.startDateInputRef = ref), onChange: this.onStartDateChange, disabled: this.disabled })),
519
+ index.h("input", { readOnly: !this.vegaDatePickerRenderer.isInputEnabled(), placeholder: this.getRangePlaceholder()[0], value: this.vegaDatePickerValueController.getValue()[0], ref: (ref) => (this.startDateInputRef = ref), onChange: this.onStartDateChange, disabled: this.disabled,
520
+ // eslint-disable-next-line react/jsx-no-bind
521
+ onClick: async () => await this.onInputClicked('start') })),
579
522
  index.h("span", { class: {
580
523
  'range-input-divider': true,
581
524
  } }),
582
525
  index.h("div", { class: "date-picker-input" },
583
- index.h("input", { readOnly: !this.vegaDatePickerRenderer.isInputEnabled(), placeholder: this.getRangePlaceholder()[1], value: this.vegaDatePickerValueController.getValue()[1], ref: (ref) => (this.endDateInputRef = ref), onChange: this.onEndDateChange, disabled: this.disabled }),
526
+ index.h("input", { readOnly: !this.vegaDatePickerRenderer.isInputEnabled(), placeholder: this.getRangePlaceholder()[1], value: this.vegaDatePickerValueController.getValue()[1], ref: (ref) => (this.endDateInputRef = ref), onChange: this.onEndDateChange, disabled: this.disabled,
527
+ // eslint-disable-next-line react/jsx-no-bind
528
+ onClick: async () => await this.onInputClicked('end') }),
584
529
  this.renderClearIcon())));
585
530
  };
586
531
  this.getRangePlaceholder = () => {
@@ -599,10 +544,10 @@ class VegaDatePickerRangeInputRenderer extends VegaDatePickerInputRendererBase {
599
544
  */
600
545
  this.onStartDateChange = (e) => {
601
546
  const currentTarget = e.currentTarget;
602
- const date$1 = currentTarget.value;
603
- if (date.isDateStr(date$1)) {
547
+ const date = currentTarget.value;
548
+ if (typeGuard.CalendarDate.fromString(date, this.format)) {
604
549
  this.vegaDatePickerValueController.setValue([
605
- this.vegaDatePickerFormatController.formatDate(date$1),
550
+ this.vegaDatePickerFormatController.formatDate(date),
606
551
  this.vegaDatePickerValueController.getValue()[1],
607
552
  ]);
608
553
  }
@@ -621,11 +566,11 @@ class VegaDatePickerRangeInputRenderer extends VegaDatePickerInputRendererBase {
621
566
  */
622
567
  this.onEndDateChange = (e) => {
623
568
  const currentTarget = e.currentTarget;
624
- const date$1 = currentTarget.value;
625
- if (date.isDateStr(date$1)) {
569
+ const date = currentTarget.value;
570
+ if (typeGuard.CalendarDate.fromString(date, this.format)) {
626
571
  this.vegaDatePickerValueController.setValue([
627
572
  this.vegaDatePickerValueController.getValue()[0],
628
- this.vegaDatePickerFormatController.formatDate(date$1),
573
+ this.vegaDatePickerFormatController.formatDate(date),
629
574
  ]);
630
575
  }
631
576
  else {
@@ -638,912 +583,217 @@ class VegaDatePickerRangeInputRenderer extends VegaDatePickerInputRendererBase {
638
583
  }
639
584
  };
640
585
  }
641
- componentWillRender() {
642
- this.oldStartDateInputRef = this.startDateInputRef;
643
- this.oldEndDateInputRef = this.endDateInputRef;
644
- }
645
586
  getStartDateInputRef() {
646
587
  return this.startDateInputRef;
647
588
  }
648
589
  getEndDateInputRef() {
649
590
  return this.endDateInputRef;
650
591
  }
651
- getOldStartDateInputRef() {
652
- return this.oldStartDateInputRef;
653
- }
654
- getOldEndDateInputRef() {
655
- return this.oldEndDateInputRef;
592
+ async onInputClicked(type) {
593
+ await this.calendarOpenStateController.showCalendar();
594
+ await this.vegaDatePickerCalendarRenderer.triggerRepick(type);
656
595
  }
657
596
  }
658
- __decorate$b([
597
+ __decorate$h([
659
598
  globalSlimmerRegistry.MapToComponentField()
660
599
  ], VegaDatePickerRangeInputRenderer.prototype, "placeholder", void 0);
661
- __decorate$b([
600
+ __decorate$h([
662
601
  globalSlimmerRegistry.MapToComponentField()
663
602
  ], VegaDatePickerRangeInputRenderer.prototype, "vegaDatePickerFormatController", void 0);
664
- __decorate$b([
603
+ __decorate$h([
665
604
  globalSlimmerRegistry.MapToComponentField()
666
605
  ], VegaDatePickerRangeInputRenderer.prototype, "vegaDatePickerRenderer", void 0);
667
- __decorate$b([
606
+ __decorate$h([
607
+ globalSlimmerRegistry.MapToComponentField()
608
+ ], VegaDatePickerRangeInputRenderer.prototype, "calendarOpenStateController", void 0);
609
+ __decorate$h([
668
610
  globalSlimmerRegistry.MapToComponentField()
669
611
  ], VegaDatePickerRangeInputRenderer.prototype, "translationSlimmer", void 0);
670
- __decorate$b([
671
- globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
672
- ], VegaDatePickerRangeInputRenderer.prototype, "componentWillRender", null);
612
+ __decorate$h([
613
+ globalSlimmerRegistry.MapToComponentField()
614
+ ], VegaDatePickerRangeInputRenderer.prototype, "allowRepick", void 0);
615
+ __decorate$h([
616
+ globalSlimmerRegistry.MapToComponentField()
617
+ ], VegaDatePickerRangeInputRenderer.prototype, "format", void 0);
618
+ __decorate$h([
619
+ globalSlimmerRegistry.MapToComponentField()
620
+ ], VegaDatePickerRangeInputRenderer.prototype, "vegaDatePickerCalendarRenderer", void 0);
673
621
 
674
- var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
622
+ var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
675
623
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
676
624
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
677
625
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
678
626
  return c > 3 && r && Object.defineProperty(target, key, r), r;
679
627
  };
680
- /** The date picker calendar controller slimmer */
681
- class VegaDatePickerCalendarController extends globalSlimmerRegistry.VegaSlimmer {
682
- constructor() {
683
- super(...arguments);
684
- /**
685
- * The code below is defining a method called `handleClear` which is used to clear the selection in a
686
- * date picker component. It calls the `clearSelection` method of the `datePicker` object, sets the
687
- * default value based on the mode, and hides the date picker.
688
- */
689
- this.handleClear = () => {
690
- this.vegaDatePickerCalendarRenderer.getDatePicker().clearSelection();
691
- this.vegaDatePickerValueController.setDefaultValueByMode();
692
- this.vegaDatePickerCalendarRenderer.getDatePicker().hide();
693
- };
694
- /**
695
- * The code below is defining a private method called `shouldUpdateCalendar` in a TypeScript class.
696
- * This method takes a parameter `newValue` of type `DatePickerValueType<DatePickerModeType>`.
697
- *
698
- * @param {DatePickerValueType<DatePickerModeType>} newValue - The new value of the calendar.
699
- */
700
- this.shouldUpdateCalendar = (newValue) => {
701
- var _a, _b;
702
- const startDate = ((_a = this.vegaDatePickerCalendarRenderer.getDatePicker().getStartDate()) === null || _a === void 0 ? void 0 : _a.format(this.format)) || '';
703
- const endDate = ((_b = this.vegaDatePickerCalendarRenderer.getDatePicker().getEndDate()) === null || _b === void 0 ? void 0 : _b.format(this.format)) || '';
704
- if ((this.mode === 'single' && newValue !== startDate) ||
705
- (this.mode === 'range' &&
706
- !array.isArrayEqual(newValue, [startDate, endDate]))) {
707
- this.updateCalendar();
708
- }
709
- };
710
- /*
711
- * The below method is e2e-test covered in
712
- * @param date1
713
- * @param date2
714
- * @see{module:vega-date-picker-single-selected}
715
- * @see{module:vega-date-picker-range-selected}
716
- * @see{module:vega-date-picker-receive-single-value}
717
- */
718
- /**
719
- * The code below is defining an event handler function called `onDatePickerSelected`. This function
720
- * takes two parameters, `date1` and `date2`, both of type `DateTime`.
721
- *
722
- * @param {DateTime} date1 - The start date
723
- * @param {DateTime} date2 - The end date
724
- */
725
- this.onDatePickerSelected = (date1, date2) => {
726
- if (this.mode === 'range') {
727
- const startDate = date1.format(this.format);
728
- const endDate = date2.format(this.format);
729
- this.vegaDatePickerRangeInputRenderer.getStartDateInputRef().value = startDate;
730
- this.vegaDatePickerRangeInputRenderer.getEndDateInputRef().value = endDate;
731
- this.vegaDatePickerValueController.syncUpValueWithCalendar();
732
- }
733
- else {
734
- this.vegaDatePickerSingleInputRenderer.getSingleDateInputRef().value = date1.format(this.format);
735
- this.vegaDatePickerValueController.syncUpValueWithCalendar();
736
- }
737
- };
738
- /*
739
- * The below method is e2e-test covered in
740
- * @see{module:vega-date-picker-load-mobile-plugin}
741
- */
742
- /**
743
- * The code below is defining a TypeScript arrow function called `getDefaultLitePickerConfig`. This
744
- * function returns an object that represents the default configuration for a LitePicker component.
745
- *
746
- * @returns {object} - The default lite picker config is being returned.
747
- */
748
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
749
- this.getDefaultLitePickerConfig = () => {
750
- const defaultConfig = Object.assign(Object.assign({}, this.getModeConfig()), { splitView: false, showTooltip: false, firstDay: 0, minDate: this.minDate, maxDate: this.maxDate, allowRepick: this.allowRepick, format: this.format, plugins: [
751
- this.vegaDatePickerMobileController.getIsMobileDevice()
752
- ? /* istanbul ignore next */ 'mobilefriendly'
753
- : null,
754
- ].filter(Boolean), parentEl: this.vegaDatePickerCalendarRenderer.getCalendarContainerRef() });
755
- if (this.showYearMonthDropdowns) {
756
- const minYear = this.minDate
757
- ? new Date(this.minDate).getFullYear()
758
- : new Date().getFullYear() -
759
- VegaDatePickerCalendarController.DEFAULT_MINIMUM_DROPDOWN_YEAR_BEFORE_CURRENT_YEAR;
760
- const maxYear = this.maxDate
761
- ? new Date(this.maxDate).getFullYear()
762
- : new Date().getFullYear() +
763
- VegaDatePickerCalendarController.DEFAULT_MINIMUM_DROPDOWN_YEAR_AFTER_CURRENT_YEAR;
764
- defaultConfig['dropdowns'] = {
765
- months: true,
766
- years: true,
767
- minYear: minYear,
768
- maxYear: maxYear,
769
- };
770
- }
771
- return defaultConfig;
772
- };
773
- /**
774
- * The code below is defining a method called `getModeConfig` which returns an object with various
775
- * properties based on the value of the `mode` property.
776
- *
777
- * @returns {object} The ModeConfig is being returned.
778
- */
779
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
780
- this.getModeConfig = () => {
781
- return {
782
- singleMode: this.mode === 'single',
783
- numberOfMonths: this.mode === 'single' ? 1 : 2,
784
- numberOfColumns: this.mode === 'single' ? 1 : 2,
785
- startDate: this.mode === 'range'
786
- ? this.vegaDatePickerValueController.getValue()[0]
787
- : this.vegaDatePickerValueController.getValue(),
788
- endDate: this.mode === 'range' ? this.vegaDatePickerValueController.getValue()[1] : null,
789
- element: this.mode === 'range'
790
- ? this.vegaDatePickerRangeInputRenderer.getStartDateInputRef()
791
- : this.vegaDatePickerSingleInputRenderer.getSingleDateInputRef(),
792
- elementEnd: this.mode === 'range' ? this.vegaDatePickerRangeInputRenderer.getEndDateInputRef() : null,
793
- };
794
- };
628
+ class VegaDatePickerCalendarRenderer$1 extends globalSlimmerRegistry.VegaSlimmer {
629
+ componentDidLoad() {
630
+ this.appendCalendarToBodyIfMobile();
795
631
  }
796
- /*
797
- * The below method is e2e-test covered in
798
- * @see{module:vega-date-picker-change-min-max-date}
799
- */
800
- /* istanbul ignore next */
801
- /**
802
- * Update property of minDate when it is changed
803
- *
804
- * @param {string} value - The value of minDate.
805
- */
806
- watchMinDate(value) {
807
- this.minDate = value ? this.vegaDatePickerFormatController.formatDate(value) : '';
808
- this.vegaDatePickerCalendarRenderer.getDatePicker().setOptions({
809
- minDate: this.minDate ? this.minDate : null,
810
- });
811
- this.goToDate();
632
+ getCalendarContentBoxRef() {
633
+ return this.calendarContentBoxRef;
812
634
  }
813
- /*
814
- * The below method is e2e-test covered in
815
- * @see{module:vega-date-picker-change-min-max-date}
816
- */
817
- /* istanbul ignore next */
818
- /**
819
- * Update property of maxDate when it is changed
820
- *
821
- * @param {string} value - The value of maxDate.
822
- */
823
- watchMaxDate(value) {
824
- this.maxDate = value ? this.vegaDatePickerFormatController.formatDate(value) : '';
825
- this.vegaDatePickerCalendarRenderer.getDatePicker().setOptions({
826
- maxDate: this.maxDate ? this.maxDate : null,
635
+ getCalendarRef() {
636
+ return this.calendarRef;
637
+ }
638
+ getMobileModalRef() {
639
+ return this.mobileModalRef;
640
+ }
641
+ async triggerRepick(type) {
642
+ if (this.allowRepick && this.mode === 'range') {
643
+ await this.calendarRef.triggerRepick(type);
644
+ }
645
+ }
646
+ render() {
647
+ return this.isMobileDevice ? this.mobileRender() : this.renderCalendar();
648
+ }
649
+ mobileRender() {
650
+ return (index.h("vega-modal", { showCloseButton: false, size: VegaDatePickerCalendarRenderer$1.calendarModalSize, padding: "0", isVerticallyCentered: true, backdropColor: "semi", ref: (ref) => {
651
+ this.mobileModalRef = ref;
652
+ this.addModalObserver(ref);
653
+ } }, index.h("div", { slot: "modal-content" }, this.renderCalendar())));
654
+ }
655
+ renderCalendar() {
656
+ return (index.h("vega-box", { padding: {
657
+ default: 'size-12',
658
+ S: 'size-32',
659
+ }, corners: "rounded-12", backgroundColor: "bg-primary", shadow: "shadow-dropdown-menu", border: "border-input-field", ref: (ref) => {
660
+ this.calendarContentBoxRef = ref;
661
+ }, class: "date-picker-content-box" },
662
+ index.h("vega-box", { width: this.getDefaultCalendarDimension('width'), height: this.getDefaultCalendarDimension('height') },
663
+ index.h("vega-date-picker-calendar", { selection: this.value, mode: this.mode, minDate: this.minDate, maxDate: this.maxDate, clearButton: this.clearButton, format: this.format, staticHeight: this.dropdownConfig.staticHeight !== false, showYearMonthDropdowns: this.showYearMonthDropdowns, timezone: this.timezone, yearMonthDropdownProps: {
664
+ isScreenPosition: featureFlagController.FeatureFlag.isEnabled('VEGA_DATE_PICKER.ENABLE_CALCULATION_POSITION_BY_SCREEN'),
665
+ }, ref: (ref) => {
666
+ this.calendarRef = ref;
667
+ this.addCalendarObserver(ref);
668
+ },
669
+ /* eslint-disable-next-line react/jsx-no-bind */
670
+ isDateDisabled: (date) => this.isDateDisabled(date) }))));
671
+ }
672
+ addCalendarObserver(calendarRef) {
673
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(calendarRef, domNodeSubjectObserverFactory.VegaSelectionChange, async (payload) => {
674
+ await this.onCalendarSelected(payload.detail);
675
+ });
676
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(calendarRef, domNodeSubjectObserverFactory.VegaClear, async () => {
677
+ await this.calendarOpenStateController.hideCalendar();
678
+ });
679
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(calendarRef, domNodeSubjectObserverFactory.VegaMonthYearChange, async (payload) => {
680
+ this.monthYearChangeEventEmitter.emit(payload.detail);
827
681
  });
828
- this.goToDate();
829
682
  }
830
- /**
831
- * Go to date view when value changed
832
- */
833
- watchValue() {
834
- this.goToDate();
683
+ addModalObserver(modalRef) {
684
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(modalRef, domNodeSubjectObserverFactory.VegaOpen, () => {
685
+ this.calendarOpenStateController.updateIsCalendarShowState(true);
686
+ });
687
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(modalRef, domNodeSubjectObserverFactory.VegaClose, () => {
688
+ this.calendarOpenStateController.updateIsCalendarShowState(false);
689
+ });
835
690
  }
836
- /**
837
- * Calendar go to the expected date follow below rules:
838
- * - Go to the value date month if the value is set.
839
- * - Go to the minDate month if only set the minDate and today is before than minDate.
840
- * - Go to the minDate month if minDate and maxDate are both set and today is after than maxDate.
841
- * - Go to the maxDate month if only set maxDate and today is after than maxDate.
842
- * - Go to today month if the value, minDate and maxDate all are empty.
843
- */
844
- goToDate() {
845
- const date$1 = this.mode === 'range'
846
- ? this.vegaDatePickerValueController.getValue()[0]
847
- : this.vegaDatePickerValueController.getValue();
848
- const datePickerCalendar = this.vegaDatePickerCalendarRenderer.getDatePicker();
849
- const today = new Date();
850
- if (date$1) {
851
- datePickerCalendar.gotoDate(date$1, 0);
691
+ async onCalendarSelected(value) {
692
+ if (this.mode === 'single') {
693
+ this.vegaDatePickerValueController.setValue(value);
852
694
  }
853
- else if (this.minDate &&
854
- (date.compareIsBefore(today, new Date(this.minDate)) ||
855
- (this.maxDate && date.compareIsAfter(today, new Date(this.maxDate))))) {
856
- datePickerCalendar.gotoDate(this.minDate, 0);
695
+ else if (this.mode === 'range') {
696
+ this.vegaDatePickerValueController.setValue(value);
857
697
  }
858
- else if (this.maxDate && date.compareIsAfter(today, new Date(this.maxDate))) {
859
- datePickerCalendar.gotoDate(this.maxDate, 0);
698
+ if (this.isCalendarShow) {
699
+ await this.calendarOpenStateController.hideCalendar();
860
700
  }
861
- else {
862
- datePickerCalendar.gotoDate(today, 0);
701
+ }
702
+ appendCalendarToBodyIfMobile() {
703
+ const document = tryGetDocument.tryGetDocument();
704
+ if (this.isMobileDevice && document) {
705
+ document.body.append(this.mobileModalRef);
863
706
  }
864
707
  }
865
- /*
866
- * The below method is e2e-test covered in
867
- * @see{module:vega-date-picker-start-end-date-change}
868
- * @see{module:vega-date-picker-single-date-change}
869
- */
870
- /* istanbul ignore next */
871
- /**
872
- * The function "updateCalendar" updates the date range in a calendar based on the selected mode
873
- * (single or range) and the values of the start and end dates.
874
- *
875
- * @returns {void} The function does not have a return statement, so it does not return anything.
876
- */
877
- updateCalendar() {
878
- if (!this.vegaDatePickerCalendarRenderer.getDatePicker())
879
- return;
880
- if (this.mode === 'single') {
881
- const singleDate = this.vegaDatePickerValueController.getValue();
882
- if (singleDate) {
883
- this.vegaDatePickerCalendarRenderer
884
- .getDatePicker()
885
- .setDate(this.vegaDatePickerValueController.getValue());
886
- }
887
- else {
888
- this.vegaDatePickerCalendarRenderer.getDatePicker().clearSelection();
889
- }
708
+ getDefaultCalendarDimension(type) {
709
+ const dimensions = this.mode === 'range' && !this.isMobileDevice
710
+ ? VegaDatePickerCalendarRenderer$1.regularDatePickerCalendarDimensionsForRange
711
+ : VegaDatePickerCalendarRenderer$1.regularDatePickerCalendarDimensionsForSingle;
712
+ // Height can be dynamic
713
+ if (type === 'height' && this.dropdownConfig.staticHeight === false) {
714
+ return 'auto';
890
715
  }
891
- if (this.mode === 'range') {
892
- const startDate = this.vegaDatePickerValueController.getValue()[0];
893
- const endDate = this.vegaDatePickerValueController.getValue()[1];
894
- if (startDate && endDate) {
895
- this.vegaDatePickerCalendarRenderer.getDatePicker().setDateRange(startDate, endDate);
896
- }
897
- else {
898
- // Should only call clearSelection when startDate and endDate are both empty
899
- if (startDate === '' && endDate === '') {
900
- this.vegaDatePickerCalendarRenderer.getDatePicker().clearSelection();
901
- }
902
- }
716
+ let value = dimensions[type];
717
+ // Extra space for footer when height is static
718
+ if (type === 'height' && this.clearButton) {
719
+ value += 40; // 24px footer + 16px margin
903
720
  }
721
+ return `${value}px`;
904
722
  }
905
723
  }
906
- VegaDatePickerCalendarController.DEFAULT_MINIMUM_DROPDOWN_YEAR_BEFORE_CURRENT_YEAR = 10;
907
- VegaDatePickerCalendarController.DEFAULT_MINIMUM_DROPDOWN_YEAR_AFTER_CURRENT_YEAR = 10;
908
- __decorate$a([
909
- globalSlimmerRegistry.MapToComponentField({ writable: true })
910
- ], VegaDatePickerCalendarController.prototype, "minDate", void 0);
911
- __decorate$a([
912
- globalSlimmerRegistry.MapToComponentField({ writable: true })
913
- ], VegaDatePickerCalendarController.prototype, "maxDate", void 0);
914
- __decorate$a([
724
+ VegaDatePickerCalendarRenderer$1.calendarModalSize = 344;
725
+ VegaDatePickerCalendarRenderer$1.regularDatePickerCalendarDimensionsForSingle = {
726
+ width: 280,
727
+ height: 320,
728
+ };
729
+ VegaDatePickerCalendarRenderer$1.regularDatePickerCalendarDimensionsForRange = {
730
+ width: 608,
731
+ height: 358,
732
+ };
733
+ __decorate$g([
915
734
  globalSlimmerRegistry.MapToComponentField()
916
- ], VegaDatePickerCalendarController.prototype, "allowRepick", void 0);
917
- __decorate$a([
735
+ ], VegaDatePickerCalendarRenderer$1.prototype, "format", void 0);
736
+ __decorate$g([
918
737
  globalSlimmerRegistry.MapToComponentField()
919
- ], VegaDatePickerCalendarController.prototype, "format", void 0);
920
- __decorate$a([
738
+ ], VegaDatePickerCalendarRenderer$1.prototype, "value", void 0);
739
+ __decorate$g([
921
740
  globalSlimmerRegistry.MapToComponentField()
922
- ], VegaDatePickerCalendarController.prototype, "mode", void 0);
923
- __decorate$a([
741
+ ], VegaDatePickerCalendarRenderer$1.prototype, "mode", void 0);
742
+ __decorate$g([
924
743
  globalSlimmerRegistry.MapToComponentField()
925
- ], VegaDatePickerCalendarController.prototype, "showYearMonthDropdowns", void 0);
926
- __decorate$a([
744
+ ], VegaDatePickerCalendarRenderer$1.prototype, "minDate", void 0);
745
+ __decorate$g([
927
746
  globalSlimmerRegistry.MapToComponentField()
928
- ], VegaDatePickerCalendarController.prototype, "vegaDatePickerMobileController", void 0);
929
- __decorate$a([
747
+ ], VegaDatePickerCalendarRenderer$1.prototype, "maxDate", void 0);
748
+ __decorate$g([
930
749
  globalSlimmerRegistry.MapToComponentField()
931
- ], VegaDatePickerCalendarController.prototype, "vegaDatePickerValueController", void 0);
932
- __decorate$a([
750
+ ], VegaDatePickerCalendarRenderer$1.prototype, "clearButton", void 0);
751
+ __decorate$g([
933
752
  globalSlimmerRegistry.MapToComponentField()
934
- ], VegaDatePickerCalendarController.prototype, "vegaDatePickerFormatController", void 0);
935
- __decorate$a([
753
+ ], VegaDatePickerCalendarRenderer$1.prototype, "dropdownConfig", void 0);
754
+ __decorate$g([
936
755
  globalSlimmerRegistry.MapToComponentField()
937
- ], VegaDatePickerCalendarController.prototype, "vegaDatePickerSingleInputRenderer", void 0);
938
- __decorate$a([
756
+ ], VegaDatePickerCalendarRenderer$1.prototype, "showYearMonthDropdowns", void 0);
757
+ __decorate$g([
939
758
  globalSlimmerRegistry.MapToComponentField()
940
- ], VegaDatePickerCalendarController.prototype, "vegaDatePickerRangeInputRenderer", void 0);
941
- __decorate$a([
759
+ ], VegaDatePickerCalendarRenderer$1.prototype, "timezone", void 0);
760
+ __decorate$g([
942
761
  globalSlimmerRegistry.MapToComponentField()
943
- ], VegaDatePickerCalendarController.prototype, "vegaDatePickerCalendarRenderer", void 0);
944
- __decorate$a([
945
- globalSlimmerRegistry.MapToComponentMethod('watchMinDate')
946
- ], VegaDatePickerCalendarController.prototype, "watchMinDate", null);
947
- __decorate$a([
948
- globalSlimmerRegistry.MapToComponentMethod('watchMaxDate')
949
- ], VegaDatePickerCalendarController.prototype, "watchMaxDate", null);
950
- __decorate$a([
951
- globalSlimmerRegistry.MapToComponentMethod('watchValue')
952
- ], VegaDatePickerCalendarController.prototype, "watchValue", null);
953
-
954
- var litepicker_umd = _commonjsHelpers.createCommonjsModule(function (module, exports) {
955
- /*!
956
- *
957
- * litepicker.umd.js
958
- * Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
959
- * Package: litepicker (https://www.npmjs.com/package/litepicker)
960
- * License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
961
- * Copyright 2019-2021 Rinat G.
962
- *
963
- * Hash: f46190e781537007f2f2
964
- *
965
- */
966
- !function(t,e){module.exports=e();}(window,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i});},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=4)}([function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(e,n,i){void 0===e&&(e=null),void 0===n&&(n=null),void 0===i&&(i="en-US"),this.dateInstance="object"==typeof n&&null!==n?n.parse(e instanceof t?e.clone().toJSDate():e):"string"==typeof n?t.parseDateTime(e,n,i):e?t.parseDateTime(e):t.parseDateTime(new Date),this.lang=i;}return t.parseDateTime=function(e,n,i){if(void 0===n&&(n="YYYY-MM-DD"),void 0===i&&(i="en-US"),!e)return new Date(NaN);if(e instanceof Date)return new Date(e);if(e instanceof t)return e.clone().toJSDate();if(/^-?\d{10,}$/.test(e))return t.getDateZeroTime(new Date(Number(e)));if("string"==typeof e){for(var o=[],s=null;null!=(s=t.regex.exec(n));)"\\"!==s[1]&&o.push(s);if(o.length){var r={year:null,month:null,shortMonth:null,longMonth:null,day:null,value:""};o[0].index>0&&(r.value+=".*?");for(var a=0,h=Object.entries(o);a<h.length;a++){var l=h[a],p=l[0],c=l[1],d=Number(p),u=t.formatPatterns(c[0],i),m=u.group,f=u.pattern;r[m]=d+1,r.value+=f,r.value+=".*?";}var g=new RegExp("^"+r.value+"$");if(g.test(e)){var y=g.exec(e),v=Number(y[r.year]),D=null;r.month?D=Number(y[r.month])-1:r.shortMonth?D=t.shortMonths(i).indexOf(y[r.shortMonth]):r.longMonth&&(D=t.longMonths(i).indexOf(y[r.longMonth]));var w=Number(y[r.day])||1;return new Date(v,D,w,0,0,0,0)}}}return t.getDateZeroTime(new Date(e))},t.convertArray=function(e,n){return e.map((function(e){return e instanceof Array?e.map((function(e){return new t(e,n)})):new t(e,n)}))},t.getDateZeroTime=function(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)},t.shortMonths=function(e){return t.MONTH_JS.map((function(t){return new Date(2019,t).toLocaleString(e,{month:"short"})}))},t.longMonths=function(e){return t.MONTH_JS.map((function(t){return new Date(2019,t).toLocaleString(e,{month:"long"})}))},t.formatPatterns=function(e,n){switch(e){case"YY":case"YYYY":return {group:"year",pattern:"(\\d{"+e.length+"})"};case"M":return {group:"month",pattern:"(\\d{1,2})"};case"MM":return {group:"month",pattern:"(\\d{2})"};case"MMM":return {group:"shortMonth",pattern:"("+t.shortMonths(n).join("|")+")"};case"MMMM":return {group:"longMonth",pattern:"("+t.longMonths(n).join("|")+")"};case"D":return {group:"day",pattern:"(\\d{1,2})"};case"DD":return {group:"day",pattern:"(\\d{2})"}}},t.prototype.toJSDate=function(){return this.dateInstance},t.prototype.toLocaleString=function(t,e){return this.dateInstance.toLocaleString(t,e)},t.prototype.toDateString=function(){return this.dateInstance.toDateString()},t.prototype.getSeconds=function(){return this.dateInstance.getSeconds()},t.prototype.getDay=function(){return this.dateInstance.getDay()},t.prototype.getTime=function(){return this.dateInstance.getTime()},t.prototype.getDate=function(){return this.dateInstance.getDate()},t.prototype.getMonth=function(){return this.dateInstance.getMonth()},t.prototype.getFullYear=function(){return this.dateInstance.getFullYear()},t.prototype.setMonth=function(t){return this.dateInstance.setMonth(t)},t.prototype.setHours=function(t,e,n,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),void 0===i&&(i=0),this.dateInstance.setHours(t,e,n,i);},t.prototype.setSeconds=function(t){return this.dateInstance.setSeconds(t)},t.prototype.setDate=function(t){return this.dateInstance.setDate(t)},t.prototype.setFullYear=function(t){return this.dateInstance.setFullYear(t)},t.prototype.getWeek=function(t){var e=new Date(this.timestamp()),n=(this.getDay()+(7-t))%7;e.setDate(e.getDate()-n);var i=e.getTime();return e.setMonth(0,1),e.getDay()!==t&&e.setMonth(0,1+(4-e.getDay()+7)%7),1+Math.ceil((i-e.getTime())/6048e5)},t.prototype.clone=function(){return new t(this.toJSDate())},t.prototype.isBetween=function(t,e,n){switch(void 0===n&&(n="()"),n){default:case"()":return this.timestamp()>t.getTime()&&this.timestamp()<e.getTime();case"[)":return this.timestamp()>=t.getTime()&&this.timestamp()<e.getTime();case"(]":return this.timestamp()>t.getTime()&&this.timestamp()<=e.getTime();case"[]":return this.timestamp()>=t.getTime()&&this.timestamp()<=e.getTime()}},t.prototype.isBefore=function(t,e){switch(void 0===e&&(e="seconds"),e){case"second":case"seconds":return t.getTime()>this.getTime();case"day":case"days":return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()>new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime();case"month":case"months":return new Date(t.getFullYear(),t.getMonth(),1).getTime()>new Date(this.getFullYear(),this.getMonth(),1).getTime();case"year":case"years":return t.getFullYear()>this.getFullYear()}throw new Error("isBefore: Invalid unit!")},t.prototype.isSameOrBefore=function(t,e){switch(void 0===e&&(e="seconds"),e){case"second":case"seconds":return t.getTime()>=this.getTime();case"day":case"days":return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()>=new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime();case"month":case"months":return new Date(t.getFullYear(),t.getMonth(),1).getTime()>=new Date(this.getFullYear(),this.getMonth(),1).getTime()}throw new Error("isSameOrBefore: Invalid unit!")},t.prototype.isAfter=function(t,e){switch(void 0===e&&(e="seconds"),e){case"second":case"seconds":return this.getTime()>t.getTime();case"day":case"days":return new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime()>new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime();case"month":case"months":return new Date(this.getFullYear(),this.getMonth(),1).getTime()>new Date(t.getFullYear(),t.getMonth(),1).getTime();case"year":case"years":return this.getFullYear()>t.getFullYear()}throw new Error("isAfter: Invalid unit!")},t.prototype.isSameOrAfter=function(t,e){switch(void 0===e&&(e="seconds"),e){case"second":case"seconds":return this.getTime()>=t.getTime();case"day":case"days":return new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime()>=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime();case"month":case"months":return new Date(this.getFullYear(),this.getMonth(),1).getTime()>=new Date(t.getFullYear(),t.getMonth(),1).getTime()}throw new Error("isSameOrAfter: Invalid unit!")},t.prototype.isSame=function(t,e){switch(void 0===e&&(e="seconds"),e){case"second":case"seconds":return this.getTime()===t.getTime();case"day":case"days":return new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime()===new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime();case"month":case"months":return new Date(this.getFullYear(),this.getMonth(),1).getTime()===new Date(t.getFullYear(),t.getMonth(),1).getTime()}throw new Error("isSame: Invalid unit!")},t.prototype.add=function(t,e){switch(void 0===e&&(e="seconds"),e){case"second":case"seconds":this.setSeconds(this.getSeconds()+t);break;case"day":case"days":this.setDate(this.getDate()+t);break;case"month":case"months":this.setMonth(this.getMonth()+t);}return this},t.prototype.subtract=function(t,e){switch(void 0===e&&(e="seconds"),e){case"second":case"seconds":this.setSeconds(this.getSeconds()-t);break;case"day":case"days":this.setDate(this.getDate()-t);break;case"month":case"months":this.setMonth(this.getMonth()-t);}return this},t.prototype.diff=function(t,e){void 0===e&&(e="seconds");switch(e){default:case"second":case"seconds":return this.getTime()-t.getTime();case"day":case"days":return Math.round((this.timestamp()-t.getTime())/864e5);case"month":case"months":}},t.prototype.format=function(e,n){if(void 0===n&&(n="en-US"),"object"==typeof e)return e.output(this.clone().toJSDate());for(var i="",o=[],s=null;null!=(s=t.regex.exec(e));)"\\"!==s[1]&&o.push(s);if(o.length){o[0].index>0&&(i+=e.substring(0,o[0].index));for(var r=0,a=Object.entries(o);r<a.length;r++){var h=a[r],l=h[0],p=h[1],c=Number(l);i+=this.formatTokens(p[0],n),o[c+1]&&(i+=e.substring(p.index+p[0].length,o[c+1].index)),c===o.length-1&&(i+=e.substring(p.index+p[0].length));}}return i.replace(/\\/g,"")},t.prototype.timestamp=function(){return new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0).getTime()},t.prototype.formatTokens=function(e,n){switch(e){case"YY":return String(this.getFullYear()).slice(-2);case"YYYY":return String(this.getFullYear());case"M":return String(this.getMonth()+1);case"MM":return ("0"+(this.getMonth()+1)).slice(-2);case"MMM":return t.shortMonths(n)[this.getMonth()];case"MMMM":return t.longMonths(n)[this.getMonth()];case"D":return String(this.getDate());case"DD":return ("0"+this.getDate()).slice(-2);default:return ""}},t.regex=/(\\)?(Y{2,4}|M{1,4}|D{1,2}|d{1,4})/g,t.MONTH_JS=[0,1,2,3,4,5,6,7,8,9,10,11],t}();e.DateTime=i;},function(t,e,n){var i,o=this&&this.__extends||(i=function(t,e){return (i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);})(t,e)},function(t,e){function n(){this.constructor=t;}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),s=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var i=Array(t),o=0;for(e=0;e<n;e++)for(var s=arguments[e],r=0,a=s.length;r<a;r++,o++)i[o]=s[r];return i};Object.defineProperty(e,"__esModule",{value:!0});var r=n(5),a=n(0),h=n(3),l=n(2),p=function(t){function e(e){var n=t.call(this,e)||this;return n.preventClick=!1,n.bindEvents(),n}return o(e,t),e.prototype.scrollToDate=function(t){if(this.options.scrollToDate){var e=this.options.startDate instanceof a.DateTime?this.options.startDate.clone():null,n=this.options.endDate instanceof a.DateTime?this.options.endDate.clone():null;!this.options.startDate||t&&t!==this.options.element?t&&this.options.endDate&&t===this.options.elementEnd&&(n.setDate(1),this.options.numberOfMonths>1&&n.isAfter(e)&&n.setMonth(n.getMonth()-(this.options.numberOfMonths-1)),this.calendars[0]=n.clone()):(e.setDate(1),this.calendars[0]=e.clone());}},e.prototype.bindEvents=function(){document.addEventListener("click",this.onClick.bind(this),!0),this.ui=document.createElement("div"),this.ui.className=h.litepicker,this.ui.style.display="none",this.ui.addEventListener("mouseenter",this.onMouseEnter.bind(this),!0),this.ui.addEventListener("mouseleave",this.onMouseLeave.bind(this),!1),this.options.autoRefresh?(this.options.element instanceof HTMLElement&&this.options.element.addEventListener("keyup",this.onInput.bind(this),!0),this.options.elementEnd instanceof HTMLElement&&this.options.elementEnd.addEventListener("keyup",this.onInput.bind(this),!0)):(this.options.element instanceof HTMLElement&&this.options.element.addEventListener("change",this.onInput.bind(this),!0),this.options.elementEnd instanceof HTMLElement&&this.options.elementEnd.addEventListener("change",this.onInput.bind(this),!0)),this.options.parentEl?this.options.parentEl instanceof HTMLElement?this.options.parentEl.appendChild(this.ui):document.querySelector(this.options.parentEl).appendChild(this.ui):this.options.inlineMode?this.options.element instanceof HTMLInputElement?this.options.element.parentNode.appendChild(this.ui):this.options.element.appendChild(this.ui):document.body.appendChild(this.ui),this.updateInput(),this.init(),"function"==typeof this.options.setup&&this.options.setup.call(this,this),this.render(),this.options.inlineMode&&this.show();},e.prototype.updateInput=function(){if(this.options.element instanceof HTMLInputElement){var t=this.options.startDate,e=this.options.endDate;if(this.options.singleMode&&t)this.options.element.value=t.format(this.options.format,this.options.lang);else if(!this.options.singleMode&&t&&e){var n=t.format(this.options.format,this.options.lang),i=e.format(this.options.format,this.options.lang);this.options.elementEnd instanceof HTMLInputElement?(this.options.element.value=n,this.options.elementEnd.value=i):this.options.element.value=""+n+this.options.delimiter+i;}t||e||(this.options.element.value="",this.options.elementEnd instanceof HTMLInputElement&&(this.options.elementEnd.value=""));}},e.prototype.isSamePicker=function(t){return t.closest("."+h.litepicker)===this.ui},e.prototype.shouldShown=function(t){return !t.disabled&&(t===this.options.element||this.options.elementEnd&&t===this.options.elementEnd)},e.prototype.shouldResetDatePicked=function(){return this.options.singleMode||2===this.datePicked.length},e.prototype.shouldSwapDatePicked=function(){return 2===this.datePicked.length&&this.datePicked[0].getTime()>this.datePicked[1].getTime()},e.prototype.shouldCheckLockDays=function(){return this.options.disallowLockDaysInRange&&2===this.datePicked.length},e.prototype.onClick=function(t){var e=t.target;if(t.target.shadowRoot&&(e=t.composedPath()[0]),e&&this.ui)if(this.shouldShown(e))this.show(e);else if(e.closest("."+h.litepicker)||!this.isShowning()){if(this.isSamePicker(e))if(this.emit("before:click",e),this.preventClick)this.preventClick=!1;else {if(e.classList.contains(h.dayItem)){if(t.preventDefault(),e.classList.contains(h.isLocked))return;if(this.shouldResetDatePicked()&&(this.datePicked.length=0),this.datePicked[this.datePicked.length]=new a.DateTime(e.dataset.time),this.shouldSwapDatePicked()){var n=this.datePicked[1].clone();this.datePicked[1]=this.datePicked[0].clone(),this.datePicked[0]=n.clone();}if(this.shouldCheckLockDays())l.rangeIsLocked(this.datePicked,this.options)&&(this.emit("error:range",this.datePicked),this.datePicked.length=0);return this.render(),this.emit.apply(this,s(["preselect"],s(this.datePicked).map((function(t){return t.clone()})))),void(this.options.autoApply&&(this.options.singleMode&&this.datePicked.length?(this.setDate(this.datePicked[0]),this.hide()):this.options.singleMode||2!==this.datePicked.length||(this.setDateRange(this.datePicked[0],this.datePicked[1]),this.hide())))}if(e.classList.contains(h.buttonPreviousMonth)){t.preventDefault();var i=0,o=this.options.switchingMonths||this.options.numberOfMonths;if(this.options.splitView){var r=e.closest("."+h.monthItem);i=l.findNestedMonthItem(r),o=1;}return this.calendars[i].setMonth(this.calendars[i].getMonth()-o),this.gotoDate(this.calendars[i],i),void this.emit("change:month",this.calendars[i],i)}if(e.classList.contains(h.buttonNextMonth)){t.preventDefault();i=0,o=this.options.switchingMonths||this.options.numberOfMonths;if(this.options.splitView){r=e.closest("."+h.monthItem);i=l.findNestedMonthItem(r),o=1;}return this.calendars[i].setMonth(this.calendars[i].getMonth()+o),this.gotoDate(this.calendars[i],i),void this.emit("change:month",this.calendars[i],i)}e.classList.contains(h.buttonCancel)&&(t.preventDefault(),this.hide(),this.emit("button:cancel")),e.classList.contains(h.buttonApply)&&(t.preventDefault(),this.options.singleMode&&this.datePicked.length?this.setDate(this.datePicked[0]):this.options.singleMode||2!==this.datePicked.length||this.setDateRange(this.datePicked[0],this.datePicked[1]),this.hide(),this.emit("button:apply",this.options.startDate,this.options.endDate));}}else this.hide();},e.prototype.showTooltip=function(t,e){var n=this.ui.querySelector("."+h.containerTooltip);n.style.visibility="visible",n.innerHTML=e;var i=this.ui.getBoundingClientRect(),o=n.getBoundingClientRect(),s=t.getBoundingClientRect(),r=s.top,a=s.left;if(this.options.inlineMode&&this.options.parentEl){var l=this.ui.parentNode.getBoundingClientRect();r-=l.top,a-=l.left;}else r-=i.top,a-=i.left;r-=o.height,a-=o.width/2,a+=s.width/2,n.style.top=r+"px",n.style.left=a+"px",this.emit("tooltip",n,t);},e.prototype.hideTooltip=function(){this.ui.querySelector("."+h.containerTooltip).style.visibility="hidden";},e.prototype.shouldAllowMouseEnter=function(t){return !this.options.singleMode&&!t.classList.contains(h.isLocked)},e.prototype.shouldAllowRepick=function(){return this.options.elementEnd&&this.options.allowRepick&&this.options.startDate&&this.options.endDate},e.prototype.isDayItem=function(t){return t.classList.contains(h.dayItem)},e.prototype.onMouseEnter=function(t){var e=this,n=t.target;if(this.isDayItem(n)&&this.shouldAllowMouseEnter(n)){if(this.shouldAllowRepick()&&(this.triggerElement===this.options.element?this.datePicked[0]=this.options.endDate.clone():this.triggerElement===this.options.elementEnd&&(this.datePicked[0]=this.options.startDate.clone())),1!==this.datePicked.length)return;var i=this.ui.querySelector("."+h.dayItem+'[data-time="'+this.datePicked[0].getTime()+'"]'),o=this.datePicked[0].clone(),s=new a.DateTime(n.dataset.time),r=!1;if(o.getTime()>s.getTime()){var l=o.clone();o=s.clone(),s=l.clone(),r=!0;}if(Array.prototype.slice.call(this.ui.querySelectorAll("."+h.dayItem)).forEach((function(t){var n=new a.DateTime(t.dataset.time),i=e.renderDay(n);n.isBetween(o,s)&&i.classList.add(h.isInRange),t.className=i.className;})),n.classList.add(h.isEndDate),r?(i&&i.classList.add(h.isFlipped),n.classList.add(h.isFlipped)):(i&&i.classList.remove(h.isFlipped),n.classList.remove(h.isFlipped)),this.options.showTooltip){var p=s.diff(o,"day")+1;if("function"==typeof this.options.tooltipNumber&&(p=this.options.tooltipNumber.call(this,p)),p>0){var c=this.pluralSelector(p),d=p+" "+(this.options.tooltipText[c]?this.options.tooltipText[c]:"["+c+"]");this.showTooltip(n,d);var u=window.navigator.userAgent,m=/(iphone|ipad)/i.test(u),f=/OS 1([0-2])/i.test(u);m&&f&&n.dispatchEvent(new Event("click"));}else this.hideTooltip();}}},e.prototype.onMouseLeave=function(t){this.options.allowRepick&&(!this.options.allowRepick||this.options.startDate||this.options.endDate)&&(this.datePicked.length=0,this.render());},e.prototype.onInput=function(t){var e=this.parseInput(),n=e[0],i=e[1],o=this.options.format;if(this.options.elementEnd?n instanceof a.DateTime&&i instanceof a.DateTime&&n.format(o)===this.options.element.value&&i.format(o)===this.options.elementEnd.value:this.options.singleMode?n instanceof a.DateTime&&n.format(o)===this.options.element.value:n instanceof a.DateTime&&i instanceof a.DateTime&&""+n.format(o)+this.options.delimiter+i.format(o)===this.options.element.value){if(i&&n.getTime()>i.getTime()){var s=n.clone();n=i.clone(),i=s.clone();}this.options.startDate=new a.DateTime(n,this.options.format,this.options.lang),i&&(this.options.endDate=new a.DateTime(i,this.options.format,this.options.lang)),this.updateInput(),this.render();var r=n.clone(),h=0;(this.options.elementEnd?n.format(o)===t.target.value:t.target.value.startsWith(n.format(o)))||(r=i.clone(),h=this.options.numberOfMonths-1),this.emit("selected",this.getStartDate(),this.getEndDate()),this.gotoDate(r,h);}},e}(r.Calendar);e.Litepicker=p;},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.findNestedMonthItem=function(t){for(var e=t.parentNode.childNodes,n=0;n<e.length;n+=1){if(e.item(n)===t)return n}return 0},e.dateIsLocked=function(t,e,n){var i=!1;return e.lockDays.length&&(i=e.lockDays.filter((function(n){return n instanceof Array?t.isBetween(n[0],n[1],e.lockDaysInclusivity):n.isSame(t,"day")})).length),i||"function"!=typeof e.lockDaysFilter||(i=e.lockDaysFilter.call(this,t.clone(),null,n)),i},e.rangeIsLocked=function(t,e){var n=!1;return e.lockDays.length&&(n=e.lockDays.filter((function(n){if(n instanceof Array){var i=t[0].toDateString()===n[0].toDateString()&&t[1].toDateString()===n[1].toDateString();return n[0].isBetween(t[0],t[1],e.lockDaysInclusivity)||n[1].isBetween(t[0],t[1],e.lockDaysInclusivity)||i}return n.isBetween(t[0],t[1],e.lockDaysInclusivity)})).length),n||"function"!=typeof e.lockDaysFilter||(n=e.lockDaysFilter.call(this,t[0].clone(),t[1].clone(),t)),n};},function(t,e,n){t.exports={showWeekNumbers:"show-week-numbers",litepicker:"litepicker",containerMain:"container__main",containerMonths:"container__months",columns2:"columns-2",columns3:"columns-3",columns4:"columns-4",splitView:"split-view",monthItemHeader:"month-item-header",buttonPreviousMonth:"button-previous-month",buttonNextMonth:"button-next-month",monthItem:"month-item",monthItemName:"month-item-name",monthItemYear:"month-item-year",resetButton:"reset-button",monthItemWeekdaysRow:"month-item-weekdays-row",noPreviousMonth:"no-previous-month",noNextMonth:"no-next-month",containerDays:"container__days",dayItem:"day-item",isToday:"is-today",isLocked:"is-locked",isInRange:"is-in-range",isStartDate:"is-start-date",isFlipped:"is-flipped",isEndDate:"is-end-date",isHighlighted:"is-highlighted",weekNumber:"week-number",containerFooter:"container__footer",previewDateRange:"preview-date-range",buttonCancel:"button-cancel",buttonApply:"button-apply",containerTooltip:"container__tooltip"};},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var i=n(1);e.Litepicker=i.Litepicker,n(8),window.Litepicker=i.Litepicker,e.default=i.Litepicker;},function(t,e,n){var i,o=this&&this.__extends||(i=function(t,e){return (i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);})(t,e)},function(t,e){function n(){this.constructor=t;}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0});var s=n(6),r=n(0),a=n(3),h=n(2),l=function(t){function e(e){return t.call(this,e)||this}return o(e,t),e.prototype.render=function(){var t=this;this.emit("before:render",this.ui);var e=document.createElement("div");e.className=a.containerMain;var n=document.createElement("div");n.className=a.containerMonths,a["columns"+this.options.numberOfColumns]&&(n.classList.remove(a.columns2,a.columns3,a.columns4),n.classList.add(a["columns"+this.options.numberOfColumns])),this.options.splitView&&n.classList.add(a.splitView),this.options.showWeekNumbers&&n.classList.add(a.showWeekNumbers);for(var i=this.calendars[0].clone(),o=i.getMonth(),s=i.getMonth()+this.options.numberOfMonths,r=0,h=o;h<s;h+=1){var l=i.clone();l.setDate(1),l.setHours(0,0,0,0),this.options.splitView?l=this.calendars[r].clone():l.setMonth(h),n.appendChild(this.renderMonth(l,r)),r+=1;}if(this.ui.innerHTML="",e.appendChild(n),this.options.resetButton){var p=void 0;"function"==typeof this.options.resetButton?p=this.options.resetButton.call(this):((p=document.createElement("button")).type="button",p.className=a.resetButton,p.innerHTML=this.options.buttonText.reset),p.addEventListener("click",(function(e){e.preventDefault(),t.clearSelection();})),e.querySelector("."+a.monthItem+":last-child").querySelector("."+a.monthItemHeader).appendChild(p);}this.ui.appendChild(e),this.options.autoApply&&!this.options.footerHTML||this.ui.appendChild(this.renderFooter()),this.options.showTooltip&&this.ui.appendChild(this.renderTooltip()),this.ui.dataset.plugins=(this.options.plugins||[]).join("|"),this.emit("render",this.ui);},e.prototype.renderMonth=function(t,e){var n=this,i=t.clone(),o=32-new Date(i.getFullYear(),i.getMonth(),32).getDate(),s=document.createElement("div");s.className=a.monthItem;var l=document.createElement("div");l.className=a.monthItemHeader;var p=document.createElement("div");if(this.options.dropdowns.months){var c=document.createElement("select");c.className=a.monthItemName;for(var d=0;d<12;d+=1){var u=document.createElement("option"),m=new r.DateTime(new Date(t.getFullYear(),d,2,0,0,0)),f=new r.DateTime(new Date(t.getFullYear(),d,1,0,0,0));u.value=String(d),u.text=m.toLocaleString(this.options.lang,{month:"long"}),u.disabled=this.options.minDate&&f.isBefore(new r.DateTime(this.options.minDate),"month")||this.options.maxDate&&f.isAfter(new r.DateTime(this.options.maxDate),"month"),u.selected=f.getMonth()===t.getMonth(),c.appendChild(u);}c.addEventListener("change",(function(t){var e=t.target,i=0;if(n.options.splitView){var o=e.closest("."+a.monthItem);i=h.findNestedMonthItem(o);}n.calendars[i].setMonth(Number(e.value)),n.render(),n.emit("change:month",n.calendars[i],i,t);})),p.appendChild(c);}else {(m=document.createElement("strong")).className=a.monthItemName,m.innerHTML=t.toLocaleString(this.options.lang,{month:"long"}),p.appendChild(m);}if(this.options.dropdowns.years){var g=document.createElement("select");g.className=a.monthItemYear;var y=this.options.dropdowns.minYear,v=this.options.dropdowns.maxYear?this.options.dropdowns.maxYear:(new Date).getFullYear();if(t.getFullYear()>v)(u=document.createElement("option")).value=String(t.getFullYear()),u.text=String(t.getFullYear()),u.selected=!0,u.disabled=!0,g.appendChild(u);for(d=v;d>=y;d-=1){var u=document.createElement("option"),D=new r.DateTime(new Date(d,0,1,0,0,0));u.value=String(d),u.text=String(d),u.disabled=this.options.minDate&&D.isBefore(new r.DateTime(this.options.minDate),"year")||this.options.maxDate&&D.isAfter(new r.DateTime(this.options.maxDate),"year"),u.selected=t.getFullYear()===d,g.appendChild(u);}if(t.getFullYear()<y)(u=document.createElement("option")).value=String(t.getFullYear()),u.text=String(t.getFullYear()),u.selected=!0,u.disabled=!0,g.appendChild(u);if("asc"===this.options.dropdowns.years){var w=Array.prototype.slice.call(g.childNodes).reverse();g.innerHTML="",w.forEach((function(t){t.innerHTML=t.value,g.appendChild(t);}));}g.addEventListener("change",(function(t){var e=t.target,i=0;if(n.options.splitView){var o=e.closest("."+a.monthItem);i=h.findNestedMonthItem(o);}n.calendars[i].setFullYear(Number(e.value)),n.render(),n.emit("change:year",n.calendars[i],i,t);})),p.appendChild(g);}else {var M=document.createElement("span");M.className=a.monthItemYear,M.innerHTML=String(t.getFullYear()),p.appendChild(M);}var T=document.createElement("button");T.type="button",T.className=a.buttonPreviousMonth,T.innerHTML=this.options.buttonText.previousMonth;var k=document.createElement("button");k.type="button",k.className=a.buttonNextMonth,k.innerHTML=this.options.buttonText.nextMonth,l.appendChild(T),l.appendChild(p),l.appendChild(k),this.options.minDate&&i.isSameOrBefore(new r.DateTime(this.options.minDate),"month")&&s.classList.add(a.noPreviousMonth),this.options.maxDate&&i.isSameOrAfter(new r.DateTime(this.options.maxDate),"month")&&s.classList.add(a.noNextMonth);var b=document.createElement("div");b.className=a.monthItemWeekdaysRow,this.options.showWeekNumbers&&(b.innerHTML="<div>W</div>");for(var L=1;L<=7;L+=1){var E=3+this.options.firstDay+L,S=document.createElement("div");S.innerHTML=this.weekdayName(E),S.title=this.weekdayName(E,"long"),b.appendChild(S);}var P=document.createElement("div");P.className=a.containerDays;var x=this.calcSkipDays(i);this.options.showWeekNumbers&&x&&P.appendChild(this.renderWeekNumber(i));for(var I=0;I<x;I+=1){var _=document.createElement("div");P.appendChild(_);}for(I=1;I<=o;I+=1)i.setDate(I),this.options.showWeekNumbers&&i.getDay()===this.options.firstDay&&P.appendChild(this.renderWeekNumber(i)),P.appendChild(this.renderDay(i));return s.appendChild(l),s.appendChild(b),s.appendChild(P),this.emit("render:month",s,t),s},e.prototype.renderDay=function(t){t.setHours();var e=document.createElement("div");if(e.className=a.dayItem,e.innerHTML=String(t.getDate()),e.dataset.time=String(t.getTime()),t.toDateString()===(new Date).toDateString()&&e.classList.add(a.isToday),this.datePicked.length)this.datePicked[0].toDateString()===t.toDateString()&&(e.classList.add(a.isStartDate),this.options.singleMode&&e.classList.add(a.isEndDate)),2===this.datePicked.length&&this.datePicked[1].toDateString()===t.toDateString()&&e.classList.add(a.isEndDate),2===this.datePicked.length&&t.isBetween(this.datePicked[0],this.datePicked[1])&&e.classList.add(a.isInRange);else if(this.options.startDate){var n=this.options.startDate,i=this.options.endDate;n.toDateString()===t.toDateString()&&(e.classList.add(a.isStartDate),this.options.singleMode&&e.classList.add(a.isEndDate)),i&&i.toDateString()===t.toDateString()&&e.classList.add(a.isEndDate),n&&i&&t.isBetween(n,i)&&e.classList.add(a.isInRange);}if(this.options.minDate&&t.isBefore(new r.DateTime(this.options.minDate))&&e.classList.add(a.isLocked),this.options.maxDate&&t.isAfter(new r.DateTime(this.options.maxDate))&&e.classList.add(a.isLocked),this.options.minDays>1&&1===this.datePicked.length){var o=this.options.minDays-1,s=this.datePicked[0].clone().subtract(o,"day"),l=this.datePicked[0].clone().add(o,"day");t.isBetween(s,this.datePicked[0],"(]")&&e.classList.add(a.isLocked),t.isBetween(this.datePicked[0],l,"[)")&&e.classList.add(a.isLocked);}if(this.options.maxDays&&1===this.datePicked.length){var p=this.options.maxDays;s=this.datePicked[0].clone().subtract(p,"day"),l=this.datePicked[0].clone().add(p,"day");t.isSameOrBefore(s)&&e.classList.add(a.isLocked),t.isSameOrAfter(l)&&e.classList.add(a.isLocked);}(this.options.selectForward&&1===this.datePicked.length&&t.isBefore(this.datePicked[0])&&e.classList.add(a.isLocked),this.options.selectBackward&&1===this.datePicked.length&&t.isAfter(this.datePicked[0])&&e.classList.add(a.isLocked),h.dateIsLocked(t,this.options,this.datePicked)&&e.classList.add(a.isLocked),this.options.highlightedDays.length)&&(this.options.highlightedDays.filter((function(e){return e instanceof Array?t.isBetween(e[0],e[1],"[]"):e.isSame(t,"day")})).length&&e.classList.add(a.isHighlighted));return e.tabIndex=e.classList.contains("is-locked")?-1:0,this.emit("render:day",e,t),e},e.prototype.renderFooter=function(){var t=document.createElement("div");if(t.className=a.containerFooter,this.options.footerHTML?t.innerHTML=this.options.footerHTML:t.innerHTML='\n <span class="'+a.previewDateRange+'"></span>\n <button type="button" class="'+a.buttonCancel+'">'+this.options.buttonText.cancel+'</button>\n <button type="button" class="'+a.buttonApply+'">'+this.options.buttonText.apply+"</button>\n ",this.options.singleMode){if(1===this.datePicked.length){var e=this.datePicked[0].format(this.options.format,this.options.lang);t.querySelector("."+a.previewDateRange).innerHTML=e;}}else if(1===this.datePicked.length&&t.querySelector("."+a.buttonApply).setAttribute("disabled",""),2===this.datePicked.length){e=this.datePicked[0].format(this.options.format,this.options.lang);var n=this.datePicked[1].format(this.options.format,this.options.lang);t.querySelector("."+a.previewDateRange).innerHTML=""+e+this.options.delimiter+n;}return this.emit("render:footer",t),t},e.prototype.renderWeekNumber=function(t){var e=document.createElement("div"),n=t.getWeek(this.options.firstDay);return e.className=a.weekNumber,e.innerHTML=53===n&&0===t.getMonth()?"53 / 1":n,e},e.prototype.renderTooltip=function(){var t=document.createElement("div");return t.className=a.containerTooltip,t},e.prototype.weekdayName=function(t,e){return void 0===e&&(e="short"),new Date(1970,0,t,12,0,0,0).toLocaleString(this.options.lang,{weekday:e})},e.prototype.calcSkipDays=function(t){var e=t.getDay()-this.options.firstDay;return e<0&&(e+=7),e},e}(s.LPCore);e.Calendar=l;},function(t,e,n){var i,o=this&&this.__extends||(i=function(t,e){return (i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);})(t,e)},function(t,e){function n(){this.constructor=t;}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),s=this&&this.__assign||function(){return (s=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0});var r=n(7),a=n(0),h=n(1),l=function(t){function e(e){var n=t.call(this)||this;n.datePicked=[],n.calendars=[],n.options={element:null,elementEnd:null,parentEl:null,firstDay:1,format:"YYYY-MM-DD",lang:"en-US",delimiter:" - ",numberOfMonths:1,numberOfColumns:1,startDate:null,endDate:null,zIndex:9999,position:"auto",selectForward:!1,selectBackward:!1,splitView:!1,inlineMode:!1,singleMode:!0,autoApply:!0,allowRepick:!1,showWeekNumbers:!1,showTooltip:!0,scrollToDate:!0,mobileFriendly:!0,resetButton:!1,autoRefresh:!1,lockDaysFormat:"YYYY-MM-DD",lockDays:[],disallowLockDaysInRange:!1,lockDaysInclusivity:"[]",highlightedDaysFormat:"YYYY-MM-DD",highlightedDays:[],dropdowns:{minYear:1990,maxYear:null,months:!1,years:!1},buttonText:{apply:"Apply",cancel:"Cancel",previousMonth:'<svg width="11" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M7.919 0l2.748 2.667L5.333 8l5.334 5.333L7.919 16 0 8z" fill-rule="nonzero"/></svg>',nextMonth:'<svg width="11" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M2.748 16L0 13.333 5.333 8 0 2.667 2.748 0l7.919 8z" fill-rule="nonzero"/></svg>',reset:'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"/>\n </svg>'},tooltipText:{one:"day",other:"days"}},n.options=s(s({},n.options),e.element.dataset),Object.keys(n.options).forEach((function(t){"true"!==n.options[t]&&"false"!==n.options[t]||(n.options[t]="true"===n.options[t]);}));var i=s(s({},n.options.dropdowns),e.dropdowns),o=s(s({},n.options.buttonText),e.buttonText),r=s(s({},n.options.tooltipText),e.tooltipText);n.options=s(s({},n.options),e),n.options.dropdowns=s({},i),n.options.buttonText=s({},o),n.options.tooltipText=s({},r),n.options.elementEnd||(n.options.allowRepick=!1),n.options.lockDays.length&&(n.options.lockDays=a.DateTime.convertArray(n.options.lockDays,n.options.lockDaysFormat)),n.options.highlightedDays.length&&(n.options.highlightedDays=a.DateTime.convertArray(n.options.highlightedDays,n.options.highlightedDaysFormat));var h=n.parseInput(),l=h[0],p=h[1];n.options.startDate&&(n.options.singleMode||n.options.endDate)&&(l=new a.DateTime(n.options.startDate,n.options.format,n.options.lang)),l&&n.options.endDate&&(p=new a.DateTime(n.options.endDate,n.options.format,n.options.lang)),l instanceof a.DateTime&&!isNaN(l.getTime())&&(n.options.startDate=l),n.options.startDate&&p instanceof a.DateTime&&!isNaN(p.getTime())&&(n.options.endDate=p),!n.options.singleMode||n.options.startDate instanceof a.DateTime||(n.options.startDate=null),n.options.singleMode||n.options.startDate instanceof a.DateTime&&n.options.endDate instanceof a.DateTime||(n.options.startDate=null,n.options.endDate=null);for(var c=0;c<n.options.numberOfMonths;c+=1){var d=n.options.startDate instanceof a.DateTime?n.options.startDate.clone():new a.DateTime;if(!n.options.startDate&&(0===c||n.options.splitView)){var u=n.options.maxDate?new a.DateTime(n.options.maxDate):null,m=n.options.minDate?new a.DateTime(n.options.minDate):null,f=n.options.numberOfMonths-1;m&&u&&d.isAfter(u)?(d=m.clone()).setDate(1):!m&&u&&d.isAfter(u)&&((d=u.clone()).setDate(1),d.setMonth(d.getMonth()-f));}d.setDate(1),d.setMonth(d.getMonth()+c),n.calendars[c]=d;}if(n.options.showTooltip)if(n.options.tooltipPluralSelector)n.pluralSelector=n.options.tooltipPluralSelector;else try{var g=new Intl.PluralRules(n.options.lang);n.pluralSelector=g.select.bind(g);}catch(t){n.pluralSelector=function(t){return 0===Math.abs(t)?"one":"other"};}return n}return o(e,t),e.add=function(t,e){h.Litepicker.prototype[t]=e;},e.prototype.DateTime=function(t,e){return t?new a.DateTime(t,e):new a.DateTime},e.prototype.init=function(){var t=this;this.options.plugins&&this.options.plugins.length&&this.options.plugins.forEach((function(e){h.Litepicker.prototype.hasOwnProperty(e)?h.Litepicker.prototype[e].init.call(t,t):console.warn("Litepicker: plugin «"+e+"» not found.");}));},e.prototype.parseInput=function(){var t=this.options.delimiter,e=new RegExp(""+t),n=this.options.element instanceof HTMLInputElement?this.options.element.value.split(t):[];if(this.options.elementEnd){if(this.options.element instanceof HTMLInputElement&&this.options.element.value.length&&this.options.elementEnd instanceof HTMLInputElement&&this.options.elementEnd.value.length)return [new a.DateTime(this.options.element.value,this.options.format),new a.DateTime(this.options.elementEnd.value,this.options.format)]}else if(this.options.singleMode){if(this.options.element instanceof HTMLInputElement&&this.options.element.value.length)return [new a.DateTime(this.options.element.value,this.options.format)]}else if(this.options.element instanceof HTMLInputElement&&e.test(this.options.element.value)&&n.length&&n.length%2==0){var i=n.slice(0,n.length/2).join(t),o=n.slice(n.length/2).join(t);return [new a.DateTime(i,this.options.format),new a.DateTime(o,this.options.format)]}return []},e.prototype.isShowning=function(){return this.ui&&"none"!==this.ui.style.display},e.prototype.findPosition=function(t){var e=t.getBoundingClientRect(),n=this.ui.getBoundingClientRect(),i=this.options.position.split(" "),o=window.scrollX||window.pageXOffset,s=window.scrollY||window.pageYOffset,r=0,a=0;if("auto"!==i[0]&&/top|bottom/.test(i[0]))r=e[i[0]]+s,"top"===i[0]&&(r-=n.height);else {r=e.bottom+s;var h=e.bottom+n.height>window.innerHeight,l=e.top+s-n.height>=n.height;h&&l&&(r=e.top+s-n.height);}if(/left|right/.test(i[0])||i[1]&&"auto"!==i[1]&&/left|right/.test(i[1]))a=/left|right/.test(i[0])?e[i[0]]+o:e[i[1]]+o,"right"!==i[0]&&"right"!==i[1]||(a-=n.width);else {a=e.left+o;h=e.left+n.width>window.innerWidth;var p=e.right+o-n.width>=0;h&&p&&(a=e.right+o-n.width);}return {left:a,top:r}},e}(r.EventEmitter);e.LPCore=l;},function(t,e,n){var i,o="object"==typeof Reflect?Reflect:null,s=o&&"function"==typeof o.apply?o.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var r=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this);}t.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var h=10;function l(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function p(t,e,n,i){var o,s,r,a;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),r=s[e]),void 0===r)r=s[e]=n,++t._eventsCount;else if("function"==typeof r?r=s[e]=i?[n,r]:[r,n]:i?r.unshift(n):r.push(n),(o=l(t))>0&&r.length>o&&!r.warned){r.warned=!0;var h=new Error("Possible EventEmitter memory leak detected. "+r.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");h.name="MaxListenersExceededWarning",h.emitter=t,h.type=e,h.count=r.length,a=h,console&&console.warn&&console.warn(a);}return t}function c(){for(var t=[],e=0;e<arguments.length;e++)t.push(arguments[e]);this.fired||(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,s(this.listener,this.target,t));}function d(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},o=c.bind(i);return o.listener=n,i.wrapFn=o,o}function u(t,e,n){var i=t._events;if(void 0===i)return [];var o=i[e];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(t){for(var e=new Array(t.length),n=0;n<e.length;++n)e[n]=t[n].listener||t[n];return e}(o):f(o,o.length)}function m(t){var e=this._events;if(void 0!==e){var n=e[t];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function f(t,e){for(var n=new Array(e),i=0;i<e;++i)n[i]=t[i];return n}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return h},set:function(t){if("number"!=typeof t||t<0||r(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");h=t;}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;},a.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||r(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},a.prototype.getMaxListeners=function(){return l(this)},a.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var i="error"===t,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return !1;if(i){var r;if(e.length>0&&(r=e[0]),r instanceof Error)throw r;var a=new Error("Unhandled error."+(r?" ("+r.message+")":""));throw a.context=r,a}var h=o[t];if(void 0===h)return !1;if("function"==typeof h)s(h,this,e);else {var l=h.length,p=f(h,l);for(n=0;n<l;++n)s(p[n],this,e);}return !0},a.prototype.addListener=function(t,e){return p(this,t,e,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(t,e){return p(this,t,e,!0)},a.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);return this.on(t,d(this,t,e)),this},a.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);return this.prependListener(t,d(this,t,e)),this},a.prototype.removeListener=function(t,e){var n,i,o,s,r;if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);if(void 0===(i=this._events))return this;if(void 0===(n=i[t]))return this;if(n===e||n.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||e));else if("function"!=typeof n){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===e||n[s].listener===e){r=n[s].listener,o=s;break}if(o<0)return this;0===o?n.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop();}(n,o),1===n.length&&(i[t]=n[0]),void 0!==i.removeListener&&this.emit("removeListener",t,r||e);}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(t){var e,n,i;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[t]),this;if(0===arguments.length){var o,s=Object.keys(n);for(i=0;i<s.length;++i)"removeListener"!==(o=s[i])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=n[t]))this.removeListener(t,e);else if(void 0!==e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return u(this,t,!0)},a.prototype.rawListeners=function(t){return u(this,t,!1)},a.listenerCount=function(t,e){return "function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},a.prototype.listenerCount=m,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};},function(t,e,n){var i=this&&this.__assign||function(){return (i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0});var o=n(0),s=n(1),r=n(2);s.Litepicker.prototype.show=function(t){void 0===t&&(t=null),this.emit("before:show",t);var e=t||this.options.element;if(this.triggerElement=e,!this.isShowning()){if(this.options.inlineMode)return this.ui.style.position="relative",this.ui.style.display="inline-block",this.ui.style.top=null,this.ui.style.left=null,this.ui.style.bottom=null,void(this.ui.style.right=null);this.scrollToDate(t),this.render(),this.ui.style.position="absolute",this.ui.style.display="block",this.ui.style.zIndex=this.options.zIndex;var n=this.findPosition(e);this.ui.style.top=n.top+"px",this.ui.style.left=n.left+"px",this.ui.style.right=null,this.ui.style.bottom=null,this.emit("show",t);}},s.Litepicker.prototype.hide=function(){this.isShowning()&&(this.datePicked.length=0,this.updateInput(),this.options.inlineMode?this.render():(this.ui.style.display="none",this.emit("hide")));},s.Litepicker.prototype.getDate=function(){return this.getStartDate()},s.Litepicker.prototype.getStartDate=function(){return this.options.startDate?this.options.startDate.clone():null},s.Litepicker.prototype.getEndDate=function(){return this.options.endDate?this.options.endDate.clone():null},s.Litepicker.prototype.setDate=function(t,e){void 0===e&&(e=!1);var n=new o.DateTime(t,this.options.format,this.options.lang);r.dateIsLocked(n,this.options,[n])&&!e?this.emit("error:date",n):(this.setStartDate(t),this.options.inlineMode&&this.render(),this.emit("selected",this.getDate()));},s.Litepicker.prototype.setStartDate=function(t){t&&(this.options.startDate=new o.DateTime(t,this.options.format,this.options.lang),this.updateInput());},s.Litepicker.prototype.setEndDate=function(t){t&&(this.options.endDate=new o.DateTime(t,this.options.format,this.options.lang),this.options.startDate.getTime()>this.options.endDate.getTime()&&(this.options.endDate=this.options.startDate.clone(),this.options.startDate=new o.DateTime(t,this.options.format,this.options.lang)),this.updateInput());},s.Litepicker.prototype.setDateRange=function(t,e,n){void 0===n&&(n=!1),this.triggerElement=void 0;var i=new o.DateTime(t,this.options.format,this.options.lang),s=new o.DateTime(e,this.options.format,this.options.lang);(this.options.disallowLockDaysInRange?r.rangeIsLocked([i,s],this.options):r.dateIsLocked(i,this.options,[i,s])||r.dateIsLocked(s,this.options,[i,s]))&&!n?this.emit("error:range",[i,s]):(this.setStartDate(i),this.setEndDate(s),this.options.inlineMode&&this.render(),this.updateInput(),this.emit("selected",this.getStartDate(),this.getEndDate()));},s.Litepicker.prototype.gotoDate=function(t,e){void 0===e&&(e=0);var n=new o.DateTime(t);n.setDate(1),this.calendars[e]=n.clone(),this.render();},s.Litepicker.prototype.setLockDays=function(t){this.options.lockDays=o.DateTime.convertArray(t,this.options.lockDaysFormat),this.render();},s.Litepicker.prototype.setHighlightedDays=function(t){this.options.highlightedDays=o.DateTime.convertArray(t,this.options.highlightedDaysFormat),this.render();},s.Litepicker.prototype.setOptions=function(t){delete t.element,delete t.elementEnd,delete t.parentEl,t.startDate&&(t.startDate=new o.DateTime(t.startDate,this.options.format,this.options.lang)),t.endDate&&(t.endDate=new o.DateTime(t.endDate,this.options.format,this.options.lang));var e=i(i({},this.options.dropdowns),t.dropdowns),n=i(i({},this.options.buttonText),t.buttonText),s=i(i({},this.options.tooltipText),t.tooltipText);this.options=i(i({},this.options),t),this.options.dropdowns=i({},e),this.options.buttonText=i({},n),this.options.tooltipText=i({},s),!this.options.singleMode||this.options.startDate instanceof o.DateTime||(this.options.startDate=null,this.options.endDate=null),this.options.singleMode||this.options.startDate instanceof o.DateTime&&this.options.endDate instanceof o.DateTime||(this.options.startDate=null,this.options.endDate=null);for(var r=0;r<this.options.numberOfMonths;r+=1){var a=this.options.startDate?this.options.startDate.clone():new o.DateTime;a.setDate(1),a.setMonth(a.getMonth()+r),this.calendars[r]=a;}this.options.lockDays.length&&(this.options.lockDays=o.DateTime.convertArray(this.options.lockDays,this.options.lockDaysFormat)),this.options.highlightedDays.length&&(this.options.highlightedDays=o.DateTime.convertArray(this.options.highlightedDays,this.options.highlightedDaysFormat)),this.render(),this.options.inlineMode&&this.show(),this.updateInput();},s.Litepicker.prototype.clearSelection=function(){this.options.startDate=null,this.options.endDate=null,this.datePicked.length=0,this.updateInput(),this.isShowning()&&this.render(),this.emit("clear:selection");},s.Litepicker.prototype.destroy=function(){this.ui&&this.ui.parentNode&&(this.ui.parentNode.removeChild(this.ui),this.ui=null),this.emit("destroy");};}])}));
967
- });
762
+ ], VegaDatePickerCalendarRenderer$1.prototype, "isMobileDevice", void 0);
763
+ __decorate$g([
764
+ globalSlimmerRegistry.MapToComponentField()
765
+ ], VegaDatePickerCalendarRenderer$1.prototype, "isCalendarShow", void 0);
766
+ __decorate$g([
767
+ globalSlimmerRegistry.MapToComponentField()
768
+ ], VegaDatePickerCalendarRenderer$1.prototype, "isDateDisabled", void 0);
769
+ __decorate$g([
770
+ globalSlimmerRegistry.MapToComponentField()
771
+ ], VegaDatePickerCalendarRenderer$1.prototype, "allowRepick", void 0);
772
+ __decorate$g([
773
+ globalSlimmerRegistry.MapToComponentField()
774
+ ], VegaDatePickerCalendarRenderer$1.prototype, "monthYearChangeEventEmitter", void 0);
775
+ __decorate$g([
776
+ globalSlimmerRegistry.MapToComponentField()
777
+ ], VegaDatePickerCalendarRenderer$1.prototype, "vegaDatePickerValueController", void 0);
778
+ __decorate$g([
779
+ globalSlimmerRegistry.MapToComponentField()
780
+ ], VegaDatePickerCalendarRenderer$1.prototype, "calendarOpenStateController", void 0);
781
+ __decorate$g([
782
+ globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
783
+ ], VegaDatePickerCalendarRenderer$1.prototype, "componentDidLoad", null);
968
784
 
969
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
785
+ var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
970
786
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
971
787
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
972
788
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
973
789
  return c > 3 && r && Object.defineProperty(target, key, r), r;
974
790
  };
975
- class VegaDatePickerCalendarRenderer extends globalSlimmerRegistry.VegaSlimmer {
976
- constructor() {
977
- super(...arguments);
978
- this.startMonthYearHeaderRef = {
979
- month: null,
980
- year: null,
981
- };
982
- this.endMonthYearHeaderRef = {
983
- month: null,
984
- year: null,
985
- };
986
- this.alterLitePickerHeader = (ui) => {
987
- if (this.showYearMonthDropdowns) {
988
- this.monthYearDropdownRenderer.renderMonthYearDropdowns(this.datePicker);
989
- }
990
- else {
991
- this.renderMonthName(ui);
992
- this.setYearMonthHeaderRef(ui);
993
- }
994
- this.renderWeekdays(ui);
995
- this.renderPrevAndNextMonthButtons(ui);
996
- };
997
- this.alterLitePickerFooter = (ui) => {
998
- this.clearButton && this.renderClearButton(ui);
999
- };
1000
- this.alterLitePickerHeight = (ui) => {
1001
- if (this.dropdownConfig.staticHeight === false) {
1002
- ui.classList.remove('static-height');
1003
- }
1004
- else {
1005
- ui.classList.add('static-height');
1006
- }
1007
- };
1008
- /**
1009
- * Update the weekday to a single letter to adapt the vega UI design. e.g. Mon to M | Tue to T | Wed to W
1010
- * The below method is e2e-test covered in
1011
- * @see{module:vega-date-picker-render-ui-with-single}
1012
- */
1013
- /* istanbul ignore next */
1014
- this.renderWeekdays = (ui) => {
1015
- ui.querySelectorAll('.month-item-weekdays-row').forEach((row) => {
1016
- Array.from(row.children).forEach((item) => {
1017
- item.innerText = item.innerText.replace(/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun)$/, (match) => this.translationSlimmer.t(`${match}-short`));
1018
- });
1019
- });
1020
- };
1021
- /**
1022
- * Update the previous/next month buttons icon to adapt the vega UI design
1023
- * The below method is e2e-test covered in
1024
- * @see{module:vega-date-picker-render-ui-with-single}
1025
- */
1026
- /* istanbul ignore next */
1027
- this.renderPrevAndNextMonthButtons = (ui) => {
1028
- ui.querySelectorAll('.button-previous-month').forEach((item) => {
1029
- /**
1030
- * Calendar will flash when using vega-icon here. Hence use svg here for now
1031
- * TODO: Use vega-icon instead when deprecated litepicker in https://gethired.atlassian.net/browse/VD-2534
1032
- */
1033
- item.innerHTML = Icons['chevron-left'].icon;
1034
- item.addEventListener('click', () => {
1035
- this.emitMonthYearChangeEvent();
1036
- });
1037
- });
1038
- ui.querySelectorAll('.button-next-month').forEach((item) => {
1039
- item.innerHTML = Icons['chevron-right'].icon;
1040
- item.addEventListener('click', () => {
1041
- this.emitMonthYearChangeEvent();
1042
- });
1043
- });
1044
- };
1045
- this.renderClearButton = (ui) => {
1046
- // eslint-disable-next-line no-restricted-globals
1047
- const footerContainer = document.createElement('div');
1048
- footerContainer.className = 'footer-container';
1049
- // eslint-disable-next-line no-restricted-globals
1050
- const clearButton = document.createElement('vega-button-link');
1051
- clearButton.label = this.translationSlimmer.t('Clear');
1052
- clearButton.addEventListener('click', this.vegaDatePickerCalendarController.handleClear);
1053
- footerContainer.append(clearButton);
1054
- const mainContainer = ui.querySelector('.container__main');
1055
- if (mainContainer) {
1056
- mainContainer.append(footerContainer);
1057
- }
1058
- };
1059
- this.getSystemTimeZone = () => {
1060
- return Intl.DateTimeFormat().resolvedOptions().timeZone;
1061
- };
1062
- }
791
+ /** The date picker value controller slimmer */
792
+ class VegaDatePickerValueController extends globalSlimmerRegistry.VegaSlimmer {
1063
793
  /*
794
+ * call this method to open the date picker dropdown
1064
795
  * The below method is e2e-test covered in
1065
- * @see{module:vega-date-picker-in-popover}
1066
- */
1067
- /* istanbul ignore next */
1068
- /**
1069
- * The connectedCallback function checks if the datePicker is null and initializes it if it is.
1070
- */
1071
- connectedCallback() {
1072
- if (this.datePicker === null) {
1073
- this.initDatePicker();
1074
- }
1075
- // eslint-disable-next-line no-restricted-globals
1076
- this.calendarContainerRef = document.createElement('vega-date-picker-calendar');
1077
- // eslint-disable-next-line no-restricted-globals
1078
- document.body.append(this.calendarContainerRef);
1079
- }
1080
- /*
1081
- * The below method is e2e-test covered in
1082
- * @see{module:vega-date-picker-disconnected-callback}
1083
- */
1084
- /* istanbul ignore next */
1085
- /**
1086
- * The `disconnectedCallback` function destroys the `datePicker` instance and sets it to null.
1087
- */
1088
- disconnectedCallback() {
1089
- var _a;
1090
- (_a = this.datePicker) === null || _a === void 0 ? void 0 : _a.destroy();
1091
- this.datePicker = null;
1092
- this.calendarContainerRef.remove();
1093
- }
1094
- /*
1095
- * call this method to open the date picker dropdown
1096
- * The below method is e2e-test covered in
1097
- * @see{module:vega-date-picker-render-ui-with-single}
1098
- */
1099
- /** Import litepicker mobilefriendly module when the device is mobile */
1100
- async componentWillLoad() {
1101
- /* istanbul ignore next */ // Spec test can't load the plugin, use e2e test for below
1102
- if (this.vegaDatePickerMobileController.getIsMobileDevice()) {
1103
- await Promise.resolve().then(function () { return require('./mobilefriendly-aa2e50e9.js'); });
1104
- }
1105
- }
1106
- /** Init date picker when component did load */
1107
- componentDidLoad() {
1108
- this.initDatePicker();
1109
- }
1110
- /*
1111
- * The below method is e2e-test covered in
1112
- * @see{module:vega-date-picker-re-render-in-single-mode}
1113
- * @see{module:vega-date-picker-re-render-in-range-mode }
1114
- */
1115
- /* istanbul ignore next */
1116
- /** Refresh date picker when it is updated */
1117
- componentDidRender() {
1118
- if (this.requireRefreshLitePicker ||
1119
- (this.vegaDatePickerSingleInputRenderer.getOldSingleDateInputRef() &&
1120
- this.vegaDatePickerSingleInputRenderer.getOldSingleDateInputRef() !==
1121
- this.vegaDatePickerSingleInputRenderer.getSingleDateInputRef()) ||
1122
- (this.vegaDatePickerRangeInputRenderer.getOldStartDateInputRef() &&
1123
- this.vegaDatePickerRangeInputRenderer.getOldStartDateInputRef() !==
1124
- this.vegaDatePickerRangeInputRenderer.getStartDateInputRef()) ||
1125
- (this.vegaDatePickerRangeInputRenderer.getOldEndDateInputRef() &&
1126
- this.vegaDatePickerRangeInputRenderer.getOldEndDateInputRef() !==
1127
- this.vegaDatePickerRangeInputRenderer.getEndDateInputRef())) {
1128
- this.refreshLitePicker();
1129
- }
1130
- }
1131
- watchIsDateDisabled() {
1132
- const dateItems =
1133
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1134
- this.calendarContainerRef.shadowRoot.querySelectorAll('.day-item');
1135
- dateItems.forEach((item) => {
1136
- if (this.isDateDisabled(new Date(Number(item.dataset.time)))) {
1137
- this.setDisabledDayStyles(item);
1138
- }
1139
- else {
1140
- this.clearDisabledDayStyles(item);
1141
- }
1142
- });
1143
- }
1144
- /**
1145
- * The callback to handle [doOpen]{@link VegaDatePicker.doOpen}
1146
- */
1147
- doOpen() {
1148
- this.datePicker.show();
1149
- }
1150
- /**
1151
- * The callback to handle [doClose]{@link VegaDatePicker.doClose}
1152
- */
1153
- doClose() {
1154
- this.datePicker.hide();
1155
- }
1156
- /*
1157
- * The below method is e2e-test covered in
1158
- * @see{module:vega-date-picker-range-mode-repick-start-date-or-end-date}
1159
- */
1160
- /* istanbul ignore next */
1161
- /** Update property of allowRepick when it is changed */
1162
- watchAllowRepick() {
1163
- this.datePicker.setOptions({
1164
- allowRepick: this.allowRepick,
1165
- });
1166
- }
1167
- /**
1168
- * Specifies whether the date picker field is disabled.
1169
- */
1170
- watchDisabled() {
1171
- this.datePicker.hide();
1172
- }
1173
- /*
1174
- * The below method is e2e-test covered in
1175
- * @see{module:vega-date-picker-change-mask-format}
1176
- * @see{module:vega-date-picker-range-mode-change-mask-format}
1177
- */
1178
- /* istanbul ignore next */
1179
- /**
1180
- * It is decorated with the `@MapToComponentMethod` decorator,
1181
- * which indicates that this method should be mapped to a component method called 'format'.
1182
- *
1183
- * @param {string} format - The value of the format.
1184
- */
1185
- watchFormat() {
1186
- this.datePicker.setOptions({
1187
- format: this.format,
1188
- });
1189
- }
1190
- /*
1191
- * The below method is e2e-test covered in
1192
- * @see{module:vega-date-picker-mode-change}
1193
- */
1194
- /* istanbul ignore next */
1195
- /** Update datePicker settings property of mode is changed */
1196
- watchMode() {
1197
- this.requireRefreshLitePicker = true;
1198
- }
1199
- /**
1200
- * Update datePicker settings property if showYearMonthDropdowns is changed
1201
- */
1202
- watchShowYearMonthDropdowns() {
1203
- this.requireRefreshLitePicker = true;
1204
- }
1205
- getStartMonthYearHeaderRef() {
1206
- return this.startMonthYearHeaderRef;
1207
- }
1208
- getEndMonthYearHeaderRef() {
1209
- return this.endMonthYearHeaderRef;
1210
- }
1211
- /**
1212
- * get the reference of datePicker
1213
- *
1214
- * @returns {Litepicker} the reference of datePicker.
1215
- */
1216
- getDatePicker() {
1217
- return this.datePicker;
1218
- }
1219
- getCalendarContainerRef() {
1220
- return this.calendarContainerRef;
1221
- }
1222
- /*
1223
- * The below method is e2e-test covered in
1224
- * @see{module:vega-date-picker-re-render-in-single-mode}
1225
- * @see{module:vega-date-picker-re-render-in-range-mode}
1226
- */
1227
- /* istanbul ignore next */
1228
- /**
1229
- * The function refreshLitePicker destroys and initializes a date picker if it exists.
1230
- */
1231
- refreshLitePicker() {
1232
- if (this.datePicker) {
1233
- this.datePicker.destroy();
1234
- this.initDatePicker();
1235
- this.requireRefreshLitePicker = false;
1236
- }
1237
- }
1238
- /**
1239
- * Render date picker calendar month name
1240
- *
1241
- * @param {HTMLElement} ui - Calendar dom ref
1242
- */
1243
- renderMonthName(ui) {
1244
- ui.querySelectorAll('.month-item-name').forEach((item) => {
1245
- const currentMonthName = item.innerText;
1246
- item.innerText = this.translationSlimmer.t(currentMonthName);
1247
- });
1248
- }
1249
- setYearMonthHeaderRef(ui) {
1250
- this.startMonthYearHeaderRef.month = ui.querySelectorAll('.month-item-name')[0];
1251
- this.endMonthYearHeaderRef.month = ui.querySelectorAll('.month-item-name')[1];
1252
- this.startMonthYearHeaderRef.year = ui.querySelectorAll('.month-item-year')[0];
1253
- this.endMonthYearHeaderRef.year = ui.querySelectorAll('.month-item-year')[1];
1254
- }
1255
- emitMonthYearChangeEvent() {
1256
- const monthYearSummary = this.showYearMonthDropdowns
1257
- ? this.vegaDatePickerMonthYearChangeEventController.getMonthYearSummaryWithMonthYearDropdownEnabled()
1258
- : this.vegaDatePickerMonthYearChangeEventController.getMonthYearSummaryWithMonthYearDropdownDisabled();
1259
- changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalMonthYearChange), monthYearSummary);
1260
- }
1261
- resetTodayByTimezone() {
1262
- if (this.timezone && this.timezone !== this.getSystemTimeZone()) {
1263
- try {
1264
- const formattedDate = new Intl.DateTimeFormat([], {
1265
- timeZone: this.timezone,
1266
- year: 'numeric',
1267
- month: '2-digit',
1268
- day: '2-digit',
1269
- }).format(new Date());
1270
- const dateByTimezone = new Date(formattedDate.split('/').join('-')).getTime();
1271
- const dayItems =
1272
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1273
- this.calendarContainerRef.shadowRoot.querySelectorAll('.day-item');
1274
- for (let i = 0; i < dayItems.length; i++) {
1275
- if (dayItems[i].classList.contains('is-today') &&
1276
- Number(dayItems[i].dataset.time) !== dateByTimezone) {
1277
- dayItems[i].classList.remove('is-today');
1278
- }
1279
- if (!dayItems[i].classList.contains('is-today') &&
1280
- Number(dayItems[i].dataset.time) === dateByTimezone) {
1281
- dayItems[i].classList.add('is-today');
1282
- }
1283
- }
1284
- }
1285
- catch (_a) {
1286
- globalSlimmerRegistry.LogUtility.warn('Invalid timezone: ', this.timezone);
1287
- }
1288
- }
1289
- }
1290
- /*
1291
- * The below method is e2e-test covered in
1292
- * @see{module:vega-date-picker-render-ui-with-single}
1293
- * @see{module:vega-date-picker-render-ui-with-range}
1294
- */
1295
- /**
1296
- * The function initializes a Litepicker date picker, customizes its appearance and behavior, and
1297
- * attaches event listeners.
1298
- */
1299
- initDatePicker() {
1300
- this.datePicker = new litepicker_umd.Litepicker(this.vegaDatePickerCalendarController.getDefaultLitePickerConfig())
1301
- .on('render', (ui) => {
1302
- this.alterLitePickerHeader(ui);
1303
- this.alterLitePickerFooter(ui);
1304
- this.alterLitePickerHeight(ui);
1305
- this.litepickerRef = ui;
1306
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1307
- this.getCalendarContainerRef().shadowRoot.append(this.litepickerRef);
1308
- /* istanbul ignore next */
1309
- if (this.vegaDatePickerMobileController.getIsMobileDevice()) {
1310
- this.vegaDatePickerMobileController.preventElementTouchMoveInMobile();
1311
- }
1312
- this.resetTodayByTimezone();
1313
- })
1314
- .on('selected', this.vegaDatePickerCalendarController.onDatePickerSelected)
1315
- .on('before:show', () => {
1316
- this.vegaDatePickerCalendarController.goToDate();
1317
- })
1318
- .on('show', () => {
1319
- this.vegaDatePickerElementAppenderController.show();
1320
- })
1321
- .on('render:day', (node, date) => {
1322
- const isDisabled = this.isDateDisabled(date.toJSDate());
1323
- if (isDisabled) {
1324
- this.setDisabledDayStyles(node);
1325
- }
1326
- })
1327
- .on('mobilefriendly.show',
1328
- /* istanbul ignore next */ () => {
1329
- this.vegaDatePickerZIndexController.setZIndex();
1330
- this.getCalendarContainerRef().style.position = 'fixed';
1331
- this.getCalendarContainerRef().style.top = '50%';
1332
- this.getCalendarContainerRef().style.left = '50%';
1333
- this.getCalendarContainerRef().style.transform = 'translate(-50%, -50%)';
1334
- this.getCalendarContainerRef().classList.remove('vega-force-hidden');
1335
- })
1336
- .on('hide', () => {
1337
- this.vegaDatePickerValueController.syncUpValueWithCalendar();
1338
- /* istanbul ignore else */
1339
- if (!this.vegaDatePickerMobileController.getIsMobileDevice()) {
1340
- this.vegaDatePickerElementAppenderController.hide();
1341
- }
1342
- else {
1343
- this.getCalendarContainerRef().classList.add('vega-force-hidden');
1344
- this.vegaDatePickerZIndexController.removeZIndex();
1345
- }
1346
- });
1347
- }
1348
- /**
1349
- * Applies styles to disable a specific day in the calendar.
1350
- *
1351
- * @param {HTMLElement} dayRef - The reference to the day element to be disabled.
1352
- */
1353
- setDisabledDayStyles(dayRef) {
1354
- dayRef.classList.add('is-locked');
1355
- dayRef.classList.add('is-disabled');
1356
- dayRef.tabIndex = -1;
1357
- }
1358
- /**
1359
- * Clears the styles applied to a day element that mark it as disabled.
1360
- *
1361
- * @param {HTMLElement} dayRef - The reference to the day element to be cleared of disabled styles.
1362
- */
1363
- clearDisabledDayStyles(dayRef) {
1364
- dayRef.classList.remove('is-locked');
1365
- dayRef.classList.remove('is-disabled');
1366
- dayRef.tabIndex = 0;
1367
- }
1368
- }
1369
- __decorate$9([
1370
- globalSlimmerRegistry.MapToComponentField()
1371
- ], VegaDatePickerCalendarRenderer.prototype, "host", void 0);
1372
- __decorate$9([
1373
- globalSlimmerRegistry.MapToComponentField()
1374
- ], VegaDatePickerCalendarRenderer.prototype, "clearButton", void 0);
1375
- __decorate$9([
1376
- globalSlimmerRegistry.MapToComponentField()
1377
- ], VegaDatePickerCalendarRenderer.prototype, "dropdownConfig", void 0);
1378
- __decorate$9([
1379
- globalSlimmerRegistry.MapToComponentField()
1380
- ], VegaDatePickerCalendarRenderer.prototype, "allowRepick", void 0);
1381
- __decorate$9([
1382
- globalSlimmerRegistry.MapToComponentField()
1383
- ], VegaDatePickerCalendarRenderer.prototype, "format", void 0);
1384
- __decorate$9([
1385
- globalSlimmerRegistry.MapToComponentField()
1386
- ], VegaDatePickerCalendarRenderer.prototype, "showYearMonthDropdowns", void 0);
1387
- __decorate$9([
1388
- globalSlimmerRegistry.MapToComponentField()
1389
- ], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerCalendarController", void 0);
1390
- __decorate$9([
1391
- globalSlimmerRegistry.MapToComponentField()
1392
- ], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerMobileController", void 0);
1393
- __decorate$9([
1394
- globalSlimmerRegistry.MapToComponentField()
1395
- ], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerElementAppenderController", void 0);
1396
- __decorate$9([
1397
- globalSlimmerRegistry.MapToComponentField()
1398
- ], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerZIndexController", void 0);
1399
- __decorate$9([
1400
- globalSlimmerRegistry.MapToComponentField()
1401
- ], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerValueController", void 0);
1402
- __decorate$9([
1403
- globalSlimmerRegistry.MapToComponentField()
1404
- ], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerSingleInputRenderer", void 0);
1405
- __decorate$9([
1406
- globalSlimmerRegistry.MapToComponentField()
1407
- ], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerRangeInputRenderer", void 0);
1408
- __decorate$9([
1409
- globalSlimmerRegistry.MapToComponentField()
1410
- ], VegaDatePickerCalendarRenderer.prototype, "monthYearDropdownRenderer", void 0);
1411
- __decorate$9([
1412
- globalSlimmerRegistry.MapToComponentField()
1413
- ], VegaDatePickerCalendarRenderer.prototype, "translationSlimmer", void 0);
1414
- __decorate$9([
1415
- globalSlimmerRegistry.MapToComponentField()
1416
- ], VegaDatePickerCalendarRenderer.prototype, "timezone", void 0);
1417
- __decorate$9([
1418
- globalSlimmerRegistry.MapToComponentField()
1419
- ], VegaDatePickerCalendarRenderer.prototype, "isDateDisabled", void 0);
1420
- __decorate$9([
1421
- globalSlimmerRegistry.MapToComponentField()
1422
- ], VegaDatePickerCalendarRenderer.prototype, "mode", void 0);
1423
- __decorate$9([
1424
- globalSlimmerRegistry.MapToComponentField()
1425
- ], VegaDatePickerCalendarRenderer.prototype, "monthYearChangeEventEmitter", void 0);
1426
- __decorate$9([
1427
- globalSlimmerRegistry.MapToComponentField()
1428
- ], VegaDatePickerCalendarRenderer.prototype, "vegaDatePickerMonthYearChangeEventController", void 0);
1429
- __decorate$9([
1430
- globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
1431
- ], VegaDatePickerCalendarRenderer.prototype, "connectedCallback", null);
1432
- __decorate$9([
1433
- globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
1434
- ], VegaDatePickerCalendarRenderer.prototype, "disconnectedCallback", null);
1435
- __decorate$9([
1436
- globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
1437
- ], VegaDatePickerCalendarRenderer.prototype, "componentWillLoad", null);
1438
- __decorate$9([
1439
- globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
1440
- ], VegaDatePickerCalendarRenderer.prototype, "componentDidLoad", null);
1441
- __decorate$9([
1442
- globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
1443
- ], VegaDatePickerCalendarRenderer.prototype, "componentDidRender", null);
1444
- __decorate$9([
1445
- globalSlimmerRegistry.MapToComponentMethod('watchIsDateDisabled')
1446
- ], VegaDatePickerCalendarRenderer.prototype, "watchIsDateDisabled", null);
1447
- __decorate$9([
1448
- globalSlimmerRegistry.MapToComponentMethod('doOpen')
1449
- ], VegaDatePickerCalendarRenderer.prototype, "doOpen", null);
1450
- __decorate$9([
1451
- globalSlimmerRegistry.MapToComponentMethod('doClose')
1452
- ], VegaDatePickerCalendarRenderer.prototype, "doClose", null);
1453
- __decorate$9([
1454
- globalSlimmerRegistry.MapToComponentMethod('watchAllowRepick')
1455
- ], VegaDatePickerCalendarRenderer.prototype, "watchAllowRepick", null);
1456
- __decorate$9([
1457
- globalSlimmerRegistry.MapToComponentMethod('watchDisabled')
1458
- ], VegaDatePickerCalendarRenderer.prototype, "watchDisabled", null);
1459
- __decorate$9([
1460
- globalSlimmerRegistry.MapToComponentMethod('watchFormat')
1461
- ], VegaDatePickerCalendarRenderer.prototype, "watchFormat", null);
1462
- __decorate$9([
1463
- globalSlimmerRegistry.MapToComponentMethod('watchMode')
1464
- ], VegaDatePickerCalendarRenderer.prototype, "watchMode", null);
1465
- __decorate$9([
1466
- globalSlimmerRegistry.MapToComponentMethod('watchShowYearMonthDropdowns')
1467
- ], VegaDatePickerCalendarRenderer.prototype, "watchShowYearMonthDropdowns", null);
1468
-
1469
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1470
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1471
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1472
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1473
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1474
- };
1475
- /** The date picker z index controller slimmer */
1476
- class VegaDatePickerZIndexController extends globalSlimmerRegistry.VegaSlimmer {
1477
- /*
1478
- * The below method is e2e-test covered in
1479
- * @see{module:vega-date-picker-z-index
1480
- * @see{module:vega-date-picker-z-index-in-mobile}
1481
- */
1482
- /* istanbul ignore next */
1483
- /**
1484
- * The function sets the z-index of the backdrop and the litepicker element.
1485
- */
1486
- setZIndex() {
1487
- const backdrop =
1488
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1489
- this.host.shadowRoot.querySelector('.litepicker-backdrop');
1490
- functionExtension.InternalVegaZIndexManager.setZIndex(backdrop, 'base');
1491
- functionExtension.InternalVegaZIndexManager.setZIndex(this.vegaDatePickerCalendarRenderer.getCalendarContainerRef(), 'base');
1492
- }
1493
- /*
1494
- * The below method is e2e-test covered in
1495
- * @see{module:vega-date-picker-z-index
1496
- * @see{module:vega-date-picker-z-index-in-mobile}
1497
- */
1498
- /* istanbul ignore next */
1499
- /**
1500
- * The function removes the 'base' z-index from the backdrop and the litepickerRef elements.
1501
- */
1502
- removeZIndex() {
1503
- const backdrop =
1504
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1505
- this.host.shadowRoot.querySelector('.litepicker-backdrop');
1506
- functionExtension.InternalVegaZIndexManager.removeZIndex(backdrop, 'base');
1507
- functionExtension.InternalVegaZIndexManager.removeZIndex(this.vegaDatePickerCalendarRenderer.getCalendarContainerRef(), 'base');
1508
- }
1509
- }
1510
- __decorate$8([
1511
- globalSlimmerRegistry.MapToComponentField()
1512
- ], VegaDatePickerZIndexController.prototype, "host", void 0);
1513
- __decorate$8([
1514
- globalSlimmerRegistry.MapToComponentField()
1515
- ], VegaDatePickerZIndexController.prototype, "vegaDatePickerCalendarRenderer", void 0);
1516
-
1517
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1518
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1519
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1520
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1521
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1522
- };
1523
- /** The date picker value controller slimmer */
1524
- class VegaDatePickerValueController extends globalSlimmerRegistry.VegaSlimmer {
1525
- constructor() {
1526
- super(...arguments);
1527
- // The litepicker logic will clear the input element value if one of the startDate and dateDate is empty
1528
- // Hence we need sync up the vega-date-picker value with litepicker calendar
1529
- // Link: https://github.com/wakirin/Litepicker/blob/master/src/litepicker.ts#L119
1530
- /** Sync up the value of input with the value of the calendar */
1531
- this.syncUpValueWithCalendar = () => {
1532
- var _a, _b;
1533
- const startDate = ((_a = this.vegaDatePickerCalendarRenderer.getDatePicker().getStartDate()) === null || _a === void 0 ? void 0 : _a.format(this.format)) || '';
1534
- const endDate = ((_b = this.vegaDatePickerCalendarRenderer.getDatePicker().getEndDate()) === null || _b === void 0 ? void 0 : _b.format(this.format)) || '';
1535
- if (this.mode === 'range' && !array.isArrayEqual(this.getValue(), [startDate, endDate])) {
1536
- this.setValue([startDate, endDate]);
1537
- }
1538
- if (this.mode === 'single' && this.getValue() !== startDate) {
1539
- this.setValue(startDate);
1540
- }
1541
- };
1542
- }
1543
- /*
1544
- * call this method to open the date picker dropdown
1545
- * The below method is e2e-test covered in
1546
- * @see{module:vega-date-picker-render-ui-with-single}
796
+ * @see{module:vega-date-picker-render-ui-with-single}
1547
797
  */
1548
798
  /** Set default value if value is not set when component will load */
1549
799
  componentWillLoad() {
@@ -1575,10 +825,7 @@ class VegaDatePickerValueController extends globalSlimmerRegistry.VegaSlimmer {
1575
825
  array.isArrayEqual(newValue, oldValue)) {
1576
826
  return; // avoid the value changed again by `onDatePickerSelected` in range mode
1577
827
  }
1578
- if (this.valueGuard(newValue)) {
1579
- this.vegaDatePickerCalendarController.shouldUpdateCalendar(newValue);
1580
- }
1581
- else {
828
+ if (!this.valueGuard(newValue)) {
1582
829
  this.setDefaultValueByMode();
1583
830
  }
1584
831
  this.changeEventEmitter.emit(this.value);
@@ -1640,13 +887,15 @@ class VegaDatePickerValueController extends globalSlimmerRegistry.VegaSlimmer {
1640
887
  let isValid;
1641
888
  switch (this.mode) {
1642
889
  case 'single':
1643
- isValid = (value && typeof value === 'string' && date.isDateStr(value)) || value === '';
890
+ isValid =
891
+ (value && typeof value === 'string' && !!typeGuard.CalendarDate.fromString(value, this.format)) ||
892
+ value === '';
1644
893
  break;
1645
894
  case 'range':
1646
895
  isValid =
1647
896
  Array.isArray(value) &&
1648
897
  value.length === 2 &&
1649
- value.every((item) => date.isDateStr(item) || item === '');
898
+ value.every((item) => !!typeGuard.CalendarDate.fromString(item, this.format) || item === '');
1650
899
  break;
1651
900
  }
1652
901
  if (!isValid) {
@@ -1655,38 +904,41 @@ class VegaDatePickerValueController extends globalSlimmerRegistry.VegaSlimmer {
1655
904
  return isValid;
1656
905
  }
1657
906
  }
1658
- __decorate$7([
907
+ __decorate$f([
1659
908
  globalSlimmerRegistry.MapToComponentField({ writable: true })
1660
909
  ], VegaDatePickerValueController.prototype, "value", void 0);
1661
- __decorate$7([
910
+ __decorate$f([
1662
911
  globalSlimmerRegistry.MapToComponentField()
1663
912
  ], VegaDatePickerValueController.prototype, "mode", void 0);
1664
- __decorate$7([
913
+ __decorate$f([
1665
914
  globalSlimmerRegistry.MapToComponentField()
1666
915
  ], VegaDatePickerValueController.prototype, "format", void 0);
1667
- __decorate$7([
916
+ __decorate$f([
1668
917
  globalSlimmerRegistry.MapToComponentField()
1669
918
  ], VegaDatePickerValueController.prototype, "changeEventEmitter", void 0);
1670
- __decorate$7([
919
+ __decorate$f([
1671
920
  globalSlimmerRegistry.MapToComponentField()
1672
921
  ], VegaDatePickerValueController.prototype, "host", void 0);
1673
- __decorate$7([
922
+ __decorate$f([
1674
923
  globalSlimmerRegistry.MapToComponentField()
1675
- ], VegaDatePickerValueController.prototype, "vegaDatePickerCalendarController", void 0);
1676
- __decorate$7([
924
+ ], VegaDatePickerValueController.prototype, "isCalendarShow", void 0);
925
+ __decorate$f([
1677
926
  globalSlimmerRegistry.MapToComponentField()
1678
927
  ], VegaDatePickerValueController.prototype, "vegaDatePickerCalendarRenderer", void 0);
1679
- __decorate$7([
928
+ __decorate$f([
929
+ globalSlimmerRegistry.MapToComponentField()
930
+ ], VegaDatePickerValueController.prototype, "calendarOpenStateController", void 0);
931
+ __decorate$f([
1680
932
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
1681
933
  ], VegaDatePickerValueController.prototype, "componentWillLoad", null);
1682
- __decorate$7([
934
+ __decorate$f([
1683
935
  globalSlimmerRegistry.MapToComponentMethod('watchValue')
1684
936
  ], VegaDatePickerValueController.prototype, "watchValue", null);
1685
- __decorate$7([
937
+ __decorate$f([
1686
938
  globalSlimmerRegistry.MapToComponentMethod('watchMode')
1687
939
  ], VegaDatePickerValueController.prototype, "watchMode", null);
1688
940
 
1689
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
941
+ var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1690
942
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1691
943
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1692
944
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1710,7 +962,8 @@ class VegaDatePickerFormatController extends stringInputFormatterSlimmer.StringI
1710
962
  * @returns {string} The formatted date is being returned.
1711
963
  */
1712
964
  this.formatDate = (date) => {
1713
- return this.vegaDatePickerCalendarRenderer.getDatePicker().DateTime(date).format(this.format);
965
+ const formattedDate = typeGuard.CalendarDate.fromString(date, this.format);
966
+ return formattedDate.toString(this.format);
1714
967
  };
1715
968
  /**
1716
969
  * This function returns a reference to an HTML input element based on the input type specified.
@@ -1798,62 +1051,29 @@ class VegaDatePickerFormatController extends stringInputFormatterSlimmer.StringI
1798
1051
  this.setup();
1799
1052
  }
1800
1053
  }
1801
- __decorate$6([
1054
+ __decorate$e([
1802
1055
  globalSlimmerRegistry.MapToComponentField()
1803
1056
  ], VegaDatePickerFormatController.prototype, "format", void 0);
1804
- __decorate$6([
1057
+ __decorate$e([
1805
1058
  globalSlimmerRegistry.MapToComponentField()
1806
1059
  ], VegaDatePickerFormatController.prototype, "mode", void 0);
1807
- __decorate$6([
1060
+ __decorate$e([
1808
1061
  globalSlimmerRegistry.MapToComponentField()
1809
1062
  ], VegaDatePickerFormatController.prototype, "vegaDatePickerCalendarRenderer", void 0);
1810
- __decorate$6([
1063
+ __decorate$e([
1811
1064
  globalSlimmerRegistry.MapToComponentField()
1812
1065
  ], VegaDatePickerFormatController.prototype, "vegaDatePickerSingleInputRenderer", void 0);
1813
- __decorate$6([
1066
+ __decorate$e([
1814
1067
  globalSlimmerRegistry.MapToComponentField()
1815
1068
  ], VegaDatePickerFormatController.prototype, "vegaDatePickerRangeInputRenderer", void 0);
1816
- __decorate$6([
1069
+ __decorate$e([
1817
1070
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
1818
1071
  ], VegaDatePickerFormatController.prototype, "componentDidLoad", null);
1819
- __decorate$6([
1072
+ __decorate$e([
1820
1073
  globalSlimmerRegistry.MapToComponentMethod('watchFormat')
1821
1074
  ], VegaDatePickerFormatController.prototype, "watchFormat", null);
1822
1075
 
1823
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1824
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1825
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1826
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1827
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1828
- };
1829
- /** The date picker element appender controller slimmer */
1830
- class VegaDatePickerElementAppenderController extends elementAppenderSlimmer.ElementAppenderSlimmer {
1831
- /**
1832
- * This function sets up the configuration for the Litepicker date picker.
1833
- */
1834
- constructor() {
1835
- super(() => ({
1836
- target: this.vegaDatePickerRenderer.getDatePickerContainer(),
1837
- appendableElement: this.vegaDatePickerCalendarRenderer.getCalendarContainerRef(),
1838
- positionRelativeTo: this.dropdownConfig.positionRelativeTo,
1839
- translocation: { X: 0, Y: 8 },
1840
- placement: ['bottom', 'top'],
1841
- alignment: ['start', 'end'],
1842
- isScreenPosition: featureFlagController.FeatureFlag.isEnabled('VEGA_DATE_PICKER.ENABLE_CALCULATION_POSITION_BY_SCREEN'),
1843
- }), () => 'none');
1844
- }
1845
- }
1846
- __decorate$5([
1847
- globalSlimmerRegistry.MapToComponentField()
1848
- ], VegaDatePickerElementAppenderController.prototype, "dropdownConfig", void 0);
1849
- __decorate$5([
1850
- globalSlimmerRegistry.MapToComponentField()
1851
- ], VegaDatePickerElementAppenderController.prototype, "vegaDatePickerRenderer", void 0);
1852
- __decorate$5([
1853
- globalSlimmerRegistry.MapToComponentField()
1854
- ], VegaDatePickerElementAppenderController.prototype, "vegaDatePickerCalendarRenderer", void 0);
1855
-
1856
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1076
+ var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1857
1077
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1858
1078
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1859
1079
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1876,7 +1096,7 @@ class VegaDatePickerKeyboardController extends keyboardManagerSlimmer.KeyboardMa
1876
1096
  target.vegaDatePickerSingleInputRenderer.getSingleDateInputRef(),
1877
1097
  target.vegaDatePickerRangeInputRenderer.getStartDateInputRef(),
1878
1098
  target.vegaDatePickerRangeInputRenderer.getEndDateInputRef(),
1879
- target.vegaDatePickerCalendarRenderer.getCalendarContainerRef(),
1099
+ target.vegaDatePickerCalendarRenderer.getCalendarContentBoxRef(),
1880
1100
  ],
1881
1101
  eventName: 'keydown',
1882
1102
  // eslint-disable-next-line jsdoc/require-jsdoc
@@ -1890,13 +1110,13 @@ class VegaDatePickerKeyboardController extends keyboardManagerSlimmer.KeyboardMa
1890
1110
  ]);
1891
1111
  }
1892
1112
  }
1893
- __decorate$4([
1113
+ __decorate$d([
1894
1114
  globalSlimmerRegistry.MapToComponentField()
1895
1115
  ], VegaDatePickerKeyboardController.prototype, "vegaDatePickerCalendarRenderer", void 0);
1896
- __decorate$4([
1116
+ __decorate$d([
1897
1117
  globalSlimmerRegistry.MapToComponentField()
1898
1118
  ], VegaDatePickerKeyboardController.prototype, "vegaDatePickerSingleInputRenderer", void 0);
1899
- __decorate$4([
1119
+ __decorate$d([
1900
1120
  globalSlimmerRegistry.MapToComponentField()
1901
1121
  ], VegaDatePickerKeyboardController.prototype, "vegaDatePickerRangeInputRenderer", void 0);
1902
1122
 
@@ -1951,475 +1171,155 @@ const VegaDatePickerRuntimeMetricsPayloadDefinition = [
1951
1171
  },
1952
1172
  ];
1953
1173
 
1954
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1174
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1955
1175
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1956
1176
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1957
1177
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1958
1178
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1959
1179
  };
1960
- class VegaDatePickerMonthYearDropdownRenderer extends globalSlimmerRegistry.VegaSlimmer {
1961
- constructor() {
1962
- super(...arguments);
1963
- this.startDropdownRef = {
1964
- month: null,
1965
- year: null,
1966
- };
1967
- this.endDropdownRef = {
1968
- month: null,
1969
- year: null,
1970
- };
1971
- /* eslint-enable no-restricted-globals */
1972
- /**
1973
- * When interacting with open vega-dropdown, prevent it from collapsing since is treated as outside element by litepicker
1974
- *
1975
- * @param {MouseEvent} event - Click event
1976
- */
1977
- this.onVegaDropdownContentBoxClick = (event) => {
1978
- const elementOnClick = event.target;
1979
- if (elementOnClick.tagName === 'VEGA-DROPDOWN-CONTENT-BOX') {
1980
- this.datePickerCalendar.classList.remove('vega-force-hidden');
1981
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1982
- this.datePickerCalendar.shadowRoot.querySelector('.litepicker').style.display =
1983
- 'block';
1984
- }
1985
- };
1986
- /**
1987
- * Prevent collapsing of dropdown when selecting option. VD-5544
1988
- *
1989
- * @param {Event} event - Focus event
1990
- */
1991
- this.onVegaDropdownContentBoxActivate = (event) => {
1992
- const element = event.target;
1993
- if (element.tagName === 'VEGA-DROPDOWN-CONTENT-BOX') {
1994
- this.isMonthsOrYearsDropdownContentBoxOnFocus = true;
1995
- element.classList.remove('vega-force-hidden');
1996
- }
1997
- else {
1998
- this.isMonthsOrYearsDropdownContentBoxOnFocus = false;
1999
- }
2000
- };
2001
- }
2002
- getStartDropdownRef() {
2003
- return this.startDropdownRef;
2004
- }
2005
- getEndDropdownRef() {
2006
- return this.endDropdownRef;
2007
- }
1180
+ /** The date picker element appender controller slimmer */
1181
+ class VegaDatePickerCalendarOpenStateController extends elementAppenderSlimmer.ElementAppenderSlimmer {
2008
1182
  /**
2009
- * This method creates months and years dropdowns and replaces the current default select elements of litepicker
2010
- *
2011
- * @param {Litepicker} datePicker - Litepicker instance
1183
+ * Sets up the configuration the element appender of date picker.
2012
1184
  */
2013
- renderMonthYearDropdowns(datePicker) {
2014
- this.datePicker = datePicker;
2015
- this.datePickerCalendar = this.vegaDatePickerCalendarRenderer.getCalendarContainerRef();
2016
- this.renderMonthButton(this.datePicker.ui);
2017
- this.renderYearButton(this.datePicker.ui);
2018
- this.initSetup();
2019
- }
2020
- render() {
2021
- return (index.h("div", { class: "month-year-dropdown-container", style: { display: 'none' } },
2022
- index.h("div", { class: "start-date-month-year" },
2023
- this.renderDropdown('month', 'start'),
2024
- this.renderDropdown('year', 'start')),
2025
- index.h("div", { class: "end-date-month-year" },
2026
- this.renderDropdown('month', 'end'),
2027
- this.renderDropdown('year', 'end'))));
2028
- }
2029
- /**
2030
- * From default months select dropdowns, get passed options and create vega-dropdown component with months as options
2031
- *
2032
- * @param {HTMLElement} ui - Litepicker ui
2033
- */
2034
- renderMonthButton(ui) {
2035
- ui.querySelectorAll('select.month-item-name').forEach((item, index) => {
2036
- this.syncDropdownOptions('month', item, index);
2037
- const selectedOptionValue = this.getSelectedOptionFromSelect(item);
2038
- const value = VegaDatePickerMonthYearDropdownRenderer.monthName[parseInt(selectedOptionValue)];
2039
- // eslint-disable-next-line no-restricted-globals
2040
- const monthButton = document.createElement('span');
2041
- monthButton.classList.add('dropdown-current-value');
2042
- monthButton.innerText = `${this.translationSlimmer.t(value)}`;
2043
- this.appendDropdownIconToButton(monthButton);
2044
- if (item.parentNode) {
2045
- item.parentNode.replaceChild(monthButton, item);
2046
- }
2047
- const dropdown = index === 0 ? this.startDropdownRef.month : this.endDropdownRef.month;
2048
- if (dropdown) {
2049
- this.updateDropdownValueAndTarget(monthButton, dropdown, item.value);
2050
- }
2051
- monthButton.addEventListener('click', () => {
2052
- this.setDropdownAsActive(monthButton);
2053
- });
2054
- });
2055
- }
2056
- /**
2057
- * From default years select dropdowns, get passed options and create vega-dropdown component with years as options
2058
- *
2059
- * @param {HTMLElement} ui - Litepicker ui
2060
- */
2061
- renderYearButton(ui) {
2062
- ui.querySelectorAll('select.month-item-year').forEach((item, index) => {
2063
- this.syncDropdownOptions('year', item, index);
2064
- const value = this.getSelectedOptionFromSelect(item);
2065
- // eslint-disable-next-line no-restricted-globals
2066
- const yearButton = document.createElement('span');
2067
- yearButton.classList.add('dropdown-current-value');
2068
- yearButton.innerText = `${this.translationSlimmer.t(value)}`;
2069
- this.appendDropdownIconToButton(yearButton);
2070
- if (item.parentNode) {
2071
- item.parentNode.replaceChild(yearButton, item);
2072
- }
2073
- const dropdown = index === 0 ? this.startDropdownRef.year : this.endDropdownRef.year;
2074
- if (dropdown) {
2075
- this.updateDropdownValueAndTarget(yearButton, dropdown, item.value);
2076
- }
2077
- yearButton.addEventListener('click', () => {
2078
- this.setDropdownAsActive(yearButton);
2079
- });
2080
- });
2081
- }
2082
- getSelectedOptionFromSelect(select) {
2083
- const options = Array.from(select.querySelectorAll('option'));
2084
- const selectedOption = options.find((option) => option.selected);
2085
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2086
- return selectedOption.value;
1185
+ constructor() {
1186
+ super(() => ({
1187
+ target: this.vegaDatePickerRenderer.getDatePickerContainer(),
1188
+ appendableElement: this.vegaDatePickerCalendarRenderer.getCalendarContentBoxRef(),
1189
+ positionRelativeTo: this.dropdownConfig.positionRelativeTo,
1190
+ translocation: { X: 0, Y: 8 },
1191
+ placement: ['bottom', 'top'],
1192
+ alignment: ['start', 'end'],
1193
+ isScreenPosition: featureFlagController.FeatureFlag.isEnabled('VEGA_DATE_PICKER.ENABLE_CALCULATION_POSITION_BY_SCREEN'),
1194
+ }), () => new clickOutsideOnlyToDismissStrategy.ClickOutsideOnlyToDismissStrategy(), 'isCalendarShow');
1195
+ this.clearCalendarStateTaskQueue = new synchronizeTaskQueue.SynchronizeTaskQueue();
2087
1196
  }
2088
1197
  /**
2089
- * Render vega-dropdown component
2090
- *
2091
- * @param {MonthOrYearType} type - Month or year dropdown
2092
- * @param {DateIndexType} dateIndex - start date index for both single or range and end date index for range date picker mode
1198
+ * Since connectedCallback will init element appender again, and it will add `vega-force-hidden` class to calendar,
1199
+ * so we should skip this in mobile side.
2093
1200
  */
2094
- renderDropdown(type, dateIndex) {
2095
- return (index.h("vega-dropdown", { trigger: "click", selectType: "single", class: "vega-force-hidden", "match-target-width": "false", "max-height": "300", ref: (node) => {
2096
- this.onDropdownShowOrHide(node);
2097
- if (dateIndex === 'start') {
2098
- this.startDropdownRef[type] = node;
2099
- }
2100
- else {
2101
- this.endDropdownRef[type] = node;
2102
- }
2103
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectObserverFactory.VegaDropdownClick, (input) => {
2104
- this.setDefaultViewValues(type, node);
2105
- this.monthYearDropdownClick(type, dateIndex, input.detail);
2106
- });
2107
- } },
2108
- index.h("span", null, type)));
2109
- }
2110
- /**
2111
- * When calendar opens, update sources for the vega-dropdown components for both months and years dropdown
2112
- *
2113
- * @param {MonthOrYearType} type - Month or year dropdown
2114
- * @param {HTMLSelectElement} select - Native select from litepicker ui
2115
- * @param {number} index - dropdown count
2116
- */
2117
- syncDropdownOptions(type, select, index) {
2118
- const options = select.querySelectorAll('option');
2119
- const dropdownOptions = Array.from(options).map((option) => ({
2120
- key: option.value,
2121
- label: this.translationSlimmer.t(option.text),
2122
- disabled: option.disabled ? true : false,
2123
- }));
2124
- if (type === 'month') {
2125
- const dropdown = index === 0 ? this.startDropdownRef.month : this.endDropdownRef.month;
2126
- if (dropdown) {
2127
- dropdown.source = dropdownOptions;
2128
- }
2129
- }
2130
- if (type === 'year') {
2131
- dropdownOptions.sort((a, b) => Number(a.key) - Number(b.key));
2132
- const dropdown = index === 0 ? this.startDropdownRef.year : this.endDropdownRef.year;
2133
- if (dropdown) {
2134
- dropdown.source = dropdownOptions;
2135
- }
1201
+ connectedCallback() {
1202
+ if (!this.isMobileDevice) {
1203
+ super.connectedCallback();
2136
1204
  }
2137
1205
  }
2138
1206
  /**
2139
- * Litepicker treats vega-dropdown-content-box as an external element that when dropdowns open and you click, it closes automaticall. This method is to initialize event listeners the moment months or years dropdown is opened to prevent litepicker from collpasing
2140
- *
2141
- * @param {HTMLVegaDropdownElement} dropdown - Month or year dropdown
1207
+ * Since it not init the element appender in mobile side, we also not need destroy element appender in disconnectedCallback.
2142
1208
  */
2143
- onDropdownShowOrHide(dropdown) {
2144
- dropdown === null || dropdown === void 0 ? void 0 : dropdown.addEventListener('vegaShow', () => {
2145
- this.onDropdownShow();
2146
- });
2147
- dropdown === null || dropdown === void 0 ? void 0 : dropdown.addEventListener('vegaHide', () => {
2148
- this.onDropdownHide();
2149
- });
2150
- }
2151
- setDefaultViewValues(type, node) {
2152
- if (type === 'month') {
2153
- const yearDropdown = node.nextElementSibling;
2154
- this.currentStartYearInView = parseInt(yearDropdown.selectedSourceKey);
2155
- }
2156
- else {
2157
- const monthDropdown = node.previousElementSibling;
2158
- this.currentStartMonthInView = parseInt(monthDropdown.selectedSourceKey);
1209
+ disconnectedCallback() {
1210
+ if (!this.isMobileDevice) {
1211
+ super.disconnectedCallback();
2159
1212
  }
2160
1213
  }
2161
- appendDropdownIconToButton(parentElement) {
2162
- parentElement.innerHTML += `<vega-icon icon='${internalIconManager.VegaInternalIconManager.getIconKey('caret-down')}'></vega-icon>`;
2163
- parentElement.tabIndex = 0;
2164
- }
2165
- monthYearDropdownClick(type, dateIndex, detail) {
2166
- const value = parseInt(detail);
2167
- this.updateDatePickerOnSelect(type, dateIndex, value);
2168
- changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalMonthYearChange), this.vegaDatePickerMonthYearChangeEventController.getMonthYearSummaryWithMonthYearDropdownEnabled());
2169
- }
2170
- updateDropdownValueAndTarget(target, dropdownRef, dropdownSelectedKey) {
2171
- const parentDiv = target.closest('div');
2172
- if (parentDiv) {
2173
- parentDiv.classList.add('dropdown-section');
2174
- }
2175
- dropdownRef.selectedSourceKey = dropdownSelectedKey;
2176
- remoteInvocationRegistry.remoteInvocationRegistry.call(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(dropdownRef, vegaInternalEventId.VegaInternalDropdownUpdateTarget), target);
2177
- }
2178
- updateDatePickerOnSelect(type, dateIndex, value) {
2179
- if (type === 'month') {
2180
- if (this.currentStartYearInView !== null) {
2181
- if (dateIndex === 'start') {
2182
- this.datePicker.gotoDate(new Date(this.currentStartYearInView, value, 1));
2183
- }
2184
- if (dateIndex === 'end') {
2185
- this.datePicker.gotoDate(new Date(this.currentStartYearInView, value - 1, 1));
2186
- }
2187
- }
2188
- }
2189
- else {
2190
- if (this.currentStartMonthInView !== null) {
2191
- if (dateIndex === 'start') {
2192
- this.datePicker.gotoDate(new Date(value, this.currentStartMonthInView, 1));
2193
- }
2194
- if (dateIndex === 'end') {
2195
- this.datePicker.gotoDate(new Date(value, this.currentStartMonthInView - 1, 1));
2196
- }
2197
- }
1214
+ /**
1215
+ * Since componentDidLoad will init element appender, and it will add `vega-force-hidden` class to calendar,
1216
+ * so we should skip this in mobile side.
1217
+ */
1218
+ componentDidLoad() {
1219
+ if (!this.isMobileDevice) {
1220
+ super.componentDidLoad();
2198
1221
  }
2199
1222
  }
2200
- setDropdownAsActive(element) {
2201
- Array.from(this.datePicker.ui.querySelectorAll('.dropdown-current-value.active')).forEach((item) => item.classList.remove('active'));
2202
- element.classList.add('active');
2203
- }
2204
- removeActiveDropdownClass() {
2205
- Array.from(this.datePicker.ui.querySelectorAll('.dropdown-current-value.active')).forEach((item) => item.classList.remove('active'));
2206
- }
2207
- /* eslint-disable no-restricted-globals */
2208
- onDropdownShow() {
2209
- document.addEventListener('mouseenter', this.onVegaDropdownContentBoxActivate, true);
2210
- document.addEventListener('click', this.onVegaDropdownContentBoxClick);
2211
- }
2212
- onDropdownHide() {
2213
- this.isMonthsOrYearsDropdownContentBoxOnFocus = false;
2214
- this.removeActiveDropdownClass();
2215
- document.removeEventListener('mouseenter', this.onVegaDropdownContentBoxActivate, true);
2216
- document.removeEventListener('click', this.onVegaDropdownContentBoxClick);
2217
- }
2218
1223
  /**
2219
- * When you collapse date picker while vega-dropdown is still open, close vega-dropdown too
2220
- */
2221
- initSetup() {
2222
- const hideLitepicker = this.datePicker.hide.bind(this.datePicker);
2223
- this.datePicker.hide = async () => {
2224
- // eslint-disable-next-line no-restricted-globals
2225
- const activeElement = document.activeElement;
2226
- if (!this.isMonthsOrYearsDropdownContentBoxOnFocus &&
2227
- (activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) !== 'VEGA-DROPDOWN-CONTENT-BOX') {
2228
- await this.closeOpenDropdowns();
2229
- hideLitepicker();
2230
- }
2231
- };
1224
+ * We need to clear the calendar state when the property or state of the vega-date-picker is completed,
1225
+ * such as when the user inputs a range value. we can refill the selecting state in calendar according the new value.
1226
+ */
1227
+ async componentDidRender() {
1228
+ await this.clearCalendarStateTaskQueue.runTask();
2232
1229
  }
2233
- /**
2234
- * Close any open vega-dropdown when litepicker is collapse
2235
- */
2236
- async closeOpenDropdowns() {
2237
- const dropdowns = [this.startDropdownRef, this.endDropdownRef];
2238
- await Promise.all(dropdowns
2239
- .flatMap((ref) => [ref.month, ref.year])
2240
- .filter(Boolean)
2241
- .map((dropdown) => {
2242
- if (dropdown) {
2243
- void dropdown.hide();
2244
- }
2245
- }));
1230
+ /** doOpen */
1231
+ async doOpen() {
1232
+ await this.showCalendar();
2246
1233
  }
2247
- }
2248
- (() => {
2249
- internalIconManager.VegaInternalIconManager.register({
2250
- 'caret-down': Icons['caret-down'],
2251
- });
2252
- })();
2253
- VegaDatePickerMonthYearDropdownRenderer.monthName = [
2254
- 'January',
2255
- 'February',
2256
- 'March',
2257
- 'April',
2258
- 'May',
2259
- 'June',
2260
- 'July',
2261
- 'August',
2262
- 'September',
2263
- 'October',
2264
- 'November',
2265
- 'December',
2266
- ];
2267
- __decorate$3([
2268
- globalSlimmerRegistry.MapToComponentField()
2269
- ], VegaDatePickerMonthYearDropdownRenderer.prototype, "host", void 0);
2270
- __decorate$3([
2271
- globalSlimmerRegistry.MapToComponentField()
2272
- ], VegaDatePickerMonthYearDropdownRenderer.prototype, "translationSlimmer", void 0);
2273
- __decorate$3([
2274
- globalSlimmerRegistry.MapToComponentField()
2275
- ], VegaDatePickerMonthYearDropdownRenderer.prototype, "vegaDatePickerCalendarRenderer", void 0);
2276
- __decorate$3([
2277
- globalSlimmerRegistry.MapToComponentField()
2278
- ], VegaDatePickerMonthYearDropdownRenderer.prototype, "monthYearChangeEventEmitter", void 0);
2279
- __decorate$3([
2280
- globalSlimmerRegistry.MapToComponentField()
2281
- ], VegaDatePickerMonthYearDropdownRenderer.prototype, "mode", void 0);
2282
- __decorate$3([
2283
- globalSlimmerRegistry.MapToComponentField()
2284
- ], VegaDatePickerMonthYearDropdownRenderer.prototype, "vegaDatePickerMonthYearChangeEventController", void 0);
2285
-
2286
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2287
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2288
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2289
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2290
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2291
- };
2292
- /**
2293
- * VegaDatePickerMonthYearChangeEventController to handle the month year change event emitter
2294
- */
2295
- class VegaDatePickerMonthYearChangeEventController extends globalSlimmerRegistry.VegaSlimmer {
2296
- /**
2297
- * Register the observer with subject of VegaInternalMonthYearChange.
2298
- */
2299
- registerObserver() {
2300
- this.observer = new observer.Observer(this.canAcceptMonthYearChangeObserver.bind(this), this.monthYearChangeObserverListener.bind(this));
2301
- changeManager.ChangeManager.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalMonthYearChange), this.observer);
1234
+ /** doClose */
1235
+ async doClose() {
1236
+ await this.hideCalendar();
2302
1237
  }
2303
- /**
2304
- * Unregister the observer with subject of VegaInternalMonthYearChange.
2305
- */
2306
- unregisterObserver() {
2307
- if (this.observer) {
2308
- changeManager.ChangeManager.unregister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalMonthYearChange), this.observer);
2309
- }
1238
+ /** watchDisabled */
1239
+ async watchDisabled() {
1240
+ await this.hideCalendar();
1241
+ }
1242
+ /** watch calendar show state */
1243
+ async watchIsCalendarShow() {
1244
+ await this.clearCalendarSelectingState();
2310
1245
  }
2311
1246
  /**
2312
- * Get month year summary when month year dropdown is disabled
2313
- *
2314
- * @returns {DatePickerMonthYearTypes} the month and year summary
1247
+ * Watch isCalendarShow state change to clear selecting state in calendar.
2315
1248
  */
2316
- getMonthYearSummaryWithMonthYearDropdownDisabled() {
2317
- if (this.mode === 'single') {
2318
- return {
2319
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2320
- month: this.vegaDatePickerCalendarRenderer.getStartMonthYearHeaderRef().month.innerText,
2321
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2322
- year: this.vegaDatePickerCalendarRenderer.getStartMonthYearHeaderRef().year.innerText,
2323
- };
1249
+ async showCalendar() {
1250
+ if (this.isMobileDevice) {
1251
+ await this.vegaDatePickerCalendarRenderer.getMobileModalRef().modal('show');
2324
1252
  }
2325
1253
  else {
2326
- return [
2327
- {
2328
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2329
- month: this.vegaDatePickerCalendarRenderer.getStartMonthYearHeaderRef().month.innerText,
2330
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2331
- year: this.vegaDatePickerCalendarRenderer.getStartMonthYearHeaderRef().year.innerText,
2332
- },
2333
- {
2334
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2335
- month: this.vegaDatePickerCalendarRenderer.getEndMonthYearHeaderRef().month.innerText,
2336
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2337
- year: this.vegaDatePickerCalendarRenderer.getEndMonthYearHeaderRef().year.innerText,
2338
- },
2339
- ];
1254
+ this.show();
2340
1255
  }
2341
1256
  }
2342
1257
  /**
2343
- * Get month year summary when month year dropdown is enabled
2344
- *
2345
- * @returns {DatePickerMonthYearTypes} the month and year summary
1258
+ * Hide calendar in both mobile and desktop mode.
2346
1259
  */
2347
- getMonthYearSummaryWithMonthYearDropdownEnabled() {
2348
- if (this.mode === 'single') {
2349
- return {
2350
- month: VegaDatePickerMonthYearDropdownRenderer.monthName[parseInt(
2351
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2352
- this.monthYearDropdownRenderer.getStartDropdownRef().month
2353
- .selectedSourceKey)],
2354
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2355
- year: this.monthYearDropdownRenderer.getStartDropdownRef().year.selectedSourceKey,
2356
- };
1260
+ async hideCalendar() {
1261
+ if (this.isMobileDevice) {
1262
+ await this.vegaDatePickerCalendarRenderer.getMobileModalRef().modal('hide');
2357
1263
  }
2358
1264
  else {
2359
- return [
2360
- {
2361
- month: VegaDatePickerMonthYearDropdownRenderer.monthName[parseInt(
2362
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2363
- this.monthYearDropdownRenderer.getStartDropdownRef().month
2364
- .selectedSourceKey)],
2365
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2366
- year: this.monthYearDropdownRenderer.getStartDropdownRef().year
2367
- .selectedSourceKey,
2368
- },
2369
- {
2370
- month: VegaDatePickerMonthYearDropdownRenderer.monthName[parseInt(
2371
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2372
- this.monthYearDropdownRenderer.getEndDropdownRef().month
2373
- .selectedSourceKey)],
2374
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2375
- year: this.monthYearDropdownRenderer.getEndDropdownRef().year
2376
- .selectedSourceKey,
2377
- },
2378
- ];
1265
+ this.hide();
2379
1266
  }
2380
1267
  }
2381
1268
  /**
2382
- * checks if the input can be accepted as month year change observer
1269
+ * Update isCalendarShow state.
2383
1270
  *
2384
- * @returns {boolean} a boolean value indicating whether the input is acceptable observer.
1271
+ * @param {boolean} isShow - is calendar show
2385
1272
  */
2386
- canAcceptMonthYearChangeObserver() {
2387
- return true;
1273
+ updateIsCalendarShowState(isShow) {
1274
+ this.isCalendarShow = isShow;
2388
1275
  }
2389
1276
  /**
2390
- * Listener for month year change observer
2391
- *
2392
- * @param {DatePickerMonthYearTypes} payload - the payload of the event
2393
- */
2394
- monthYearChangeObserverListener(payload) {
2395
- this.monthYearChangeEventEmitter.emit(payload);
1277
+ * Clear selecting state in calendar.
1278
+ */
1279
+ async clearCalendarSelectingState() {
1280
+ if (!this.isCalendarShow) {
1281
+ const calendar = this.vegaDatePickerCalendarRenderer.getCalendarRef();
1282
+ await this.clearCalendarStateTaskQueue.enqueue({
1283
+ /** Clear the calendar selecting state */
1284
+ run: async () => await calendar.reset(),
1285
+ }, false);
1286
+ }
2396
1287
  }
2397
1288
  }
2398
- __decorate$2([
2399
- globalSlimmerRegistry.MapToComponentField()
2400
- ], VegaDatePickerMonthYearChangeEventController.prototype, "host", void 0);
2401
- __decorate$2([
1289
+ __decorate$c([
2402
1290
  globalSlimmerRegistry.MapToComponentField()
2403
- ], VegaDatePickerMonthYearChangeEventController.prototype, "monthYearChangeEventEmitter", void 0);
2404
- __decorate$2([
1291
+ ], VegaDatePickerCalendarOpenStateController.prototype, "dropdownConfig", void 0);
1292
+ __decorate$c([
2405
1293
  globalSlimmerRegistry.MapToComponentField()
2406
- ], VegaDatePickerMonthYearChangeEventController.prototype, "mode", void 0);
2407
- __decorate$2([
1294
+ ], VegaDatePickerCalendarOpenStateController.prototype, "vegaDatePickerRenderer", void 0);
1295
+ __decorate$c([
2408
1296
  globalSlimmerRegistry.MapToComponentField()
2409
- ], VegaDatePickerMonthYearChangeEventController.prototype, "vegaDatePickerCalendarRenderer", void 0);
2410
- __decorate$2([
1297
+ ], VegaDatePickerCalendarOpenStateController.prototype, "vegaDatePickerCalendarRenderer", void 0);
1298
+ __decorate$c([
1299
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
1300
+ ], VegaDatePickerCalendarOpenStateController.prototype, "isCalendarShow", void 0);
1301
+ __decorate$c([
2411
1302
  globalSlimmerRegistry.MapToComponentField()
2412
- ], VegaDatePickerMonthYearChangeEventController.prototype, "monthYearDropdownRenderer", void 0);
2413
- __decorate$2([
2414
- globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
2415
- ], VegaDatePickerMonthYearChangeEventController.prototype, "registerObserver", null);
2416
- __decorate$2([
2417
- globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
2418
- ], VegaDatePickerMonthYearChangeEventController.prototype, "unregisterObserver", null);
1303
+ ], VegaDatePickerCalendarOpenStateController.prototype, "isMobileDevice", void 0);
1304
+ __decorate$c([
1305
+ globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
1306
+ ], VegaDatePickerCalendarOpenStateController.prototype, "componentDidRender", null);
1307
+ __decorate$c([
1308
+ globalSlimmerRegistry.MapToComponentMethod('doOpen')
1309
+ ], VegaDatePickerCalendarOpenStateController.prototype, "doOpen", null);
1310
+ __decorate$c([
1311
+ globalSlimmerRegistry.MapToComponentMethod('doClose')
1312
+ ], VegaDatePickerCalendarOpenStateController.prototype, "doClose", null);
1313
+ __decorate$c([
1314
+ globalSlimmerRegistry.MapToComponentMethod('watchDisabled')
1315
+ ], VegaDatePickerCalendarOpenStateController.prototype, "watchDisabled", null);
1316
+ __decorate$c([
1317
+ globalSlimmerRegistry.MapToComponentMethod('watchIsCalendarShow')
1318
+ ], VegaDatePickerCalendarOpenStateController.prototype, "watchIsCalendarShow", null);
2419
1319
 
2420
- const vegaDatePickerCss = ":host{display:inline-block;width:100%;text-align:left;line-height:normal}:host vega-field-label{margin-bottom:8px}:host .vega-input-container{position:relative;display:block;border-radius:8px;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));display:flex;align-items:center}:host .vega-input-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}:host .vega-input-container .date-picker-input{padding-left:16px;padding-right:16px;width:100%;box-sizing:border-box;display:flex;align-items:center}:host .vega-input-container.default .date-picker-input{padding-left:16px;padding-right:16px}:host .vega-input-container.small .date-picker-input{padding-left:12px;padding-right:12px}:host .vega-input-container.default .date-picker-input input{padding-top:12px;padding-bottom:12px}:host .vega-input-container.small .date-picker-input input{padding-top:8px;padding-bottom:8px}:host .vega-input-container.error{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}:host .vega-input-container.error:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}:host .vega-input-container.single-mode.error:focus-within,:host .vega-input-container.range-mode.error .date-picker-input:focus-within{outline:2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1));border-radius:8px}:host .vega-input-container.range-mode.error .date-picker-input:first-of-type:focus-within{margin:-1px 0 -1px -1px}:host .vega-input-container.range-mode.error .date-picker-input:last-of-type:focus-within{margin:-1px -1px -1px 0}:host .vega-input-container.single-mode:not(.error):focus-within,:host .vega-input-container.range-mode:not(.error) .date-picker-input:focus-within{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1));border-radius:8px}:host .vega-input-container.range-mode .date-picker-input:first-of-type:focus-within{margin:-1px 0 -1px -1px}:host .vega-input-container.range-mode .date-picker-input:last-of-type:focus-within{margin:-1px -1px -1px 0}:host .vega-input-container input{width:100%;box-sizing:content-box;border-width:0px;margin:0px;outline:2px solid transparent;outline-offset:2px;background-color:rgba(var(--v-bg-transparent, 0, 0, 0, 0));font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-primary, 32, 54, 69, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-input-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-input-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-input-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}:host .vega-input-container input::placeholder{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-input-placeholder, 176, 180, 181, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-input-container input::placeholder{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-input-container input::placeholder{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-input-container input::placeholder{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}:host .vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1));display:block;padding-left:8px;padding-right:8px;padding-top:12px}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .vega-hidden{display:none}.vega-input-clear-icon{width:16px;height:16px;cursor:pointer;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}.vega-input-clear-icon vega-icon{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;flex-shrink:0}:host .range-input-divider{width:1px;height:24px;border-style:solid;border-right-width:1px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1))}:host .vega-input-container.range-mode.mobile .range-input-divider{width:100%;height:1px;border-style:solid;border-right-width:0px;border-top-width:1px;border-bottom-width:0px;border-left-width:0px;border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1))}:host .vega-input-prefix{display:flex;margin-right:8px}:host .vega-input-container.range-mode.mobile.small .vega-input-prefix{margin-right:8px}:host .vega-input-container.range-mode.mobile{flex-direction:column}:host .vega-input-container.range-mode.mobile .date-picker-input:last-of-type{padding-left:40px}:host .vega-input-container.range-mode.mobile.small .date-picker-input:last-of-type{padding-left:36px}:host(.disabled) .vega-input-container{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));--tw-shadow:0 0 #0000;box-shadow:rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px}:host(.disabled) .vega-input-container:hover{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host(.disabled) .vega-input-container input{color:rgba(var(--v-text-input-disabled, 107, 116, 125, 1))}.litepicker-backdrop{display:none;background-color:var(--litepicker-mobilefriendly-backdrop-color-bg);opacity:0.3;position:fixed;top:0;right:0;bottom:0;left:0}";
1320
+ const vegaDatePickerCss = ":host{display:inline-block;width:100%;text-align:left;line-height:normal}:host vega-field-label{margin-bottom:8px}:host .vega-input-container{position:relative;display:block;border-radius:8px;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));display:flex;align-items:center}:host .vega-input-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}:host .vega-input-container .date-picker-input{padding-left:16px;padding-right:16px;width:100%;box-sizing:border-box;display:flex;align-items:center}:host .vega-input-container.default .date-picker-input{padding-left:16px;padding-right:16px}:host .vega-input-container.small .date-picker-input{padding-left:12px;padding-right:12px}:host .vega-input-container.default .date-picker-input input{padding-top:12px;padding-bottom:12px}:host .vega-input-container.small .date-picker-input input{padding-top:8px;padding-bottom:8px}:host .vega-input-container.error{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}:host .vega-input-container.error:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}:host .vega-input-container.single-mode.error:focus-within,:host .vega-input-container.range-mode.error .date-picker-input:focus-within{outline:2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1));border-radius:8px}:host .vega-input-container.range-mode.error .date-picker-input:first-of-type:focus-within{margin:-1px 0 -1px -1px}:host .vega-input-container.range-mode.error .date-picker-input:last-of-type:focus-within{margin:-1px -1px -1px 0}:host .vega-input-container.single-mode:not(.error):focus-within,:host .vega-input-container.range-mode:not(.error) .date-picker-input:focus-within{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1));border-radius:8px}:host .vega-input-container.range-mode .date-picker-input:first-of-type:focus-within{margin:-1px 0 -1px -1px}:host .vega-input-container.range-mode .date-picker-input:last-of-type:focus-within{margin:-1px -1px -1px 0}:host .vega-input-container input{width:100%;box-sizing:content-box;border-width:0px;margin:0px;outline:2px solid transparent;outline-offset:2px;background-color:rgba(var(--v-bg-transparent, 0, 0, 0, 0));font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-primary, 32, 54, 69, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-input-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-input-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-input-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}:host .vega-input-container input::placeholder{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-input-placeholder, 176, 180, 181, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-input-container input::placeholder{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-input-container input::placeholder{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-input-container input::placeholder{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}:host .vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1));display:block;padding-left:8px;padding-right:8px;padding-top:12px}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .vega-hidden{display:none}.vega-input-clear-icon{width:16px;height:16px;cursor:pointer;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}.vega-input-clear-icon vega-icon{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;flex-shrink:0}:host .range-input-divider{width:1px;height:24px;border-style:solid;border-right-width:1px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1))}:host .vega-input-container.range-mode.mobile .range-input-divider{width:100%;height:1px;border-style:solid;border-right-width:0px;border-top-width:1px;border-bottom-width:0px;border-left-width:0px;border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1))}:host .vega-input-prefix{display:flex;margin-right:8px}:host .vega-input-container.range-mode.mobile.small .vega-input-prefix{margin-right:8px}:host .vega-input-container.range-mode.mobile{flex-direction:column}:host .vega-input-container.range-mode.mobile .date-picker-input:last-of-type{padding-left:40px}:host .vega-input-container.range-mode.mobile.small .date-picker-input:last-of-type{padding-left:36px}:host(.disabled) .vega-input-container{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));--tw-shadow:0 0 #0000;box-shadow:rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px}:host(.disabled) .vega-input-container:hover{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host(.disabled) .vega-input-container input{color:rgba(var(--v-text-input-disabled, 107, 116, 125, 1))}";
2421
1321
 
2422
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1322
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2423
1323
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2424
1324
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2425
1325
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2438,19 +1338,16 @@ const VegaDatePicker = class {
2438
1338
  this.monthYearChange = index.createEvent(this, "monthYearChange", 7);
2439
1339
  this.globalSlimmers = {};
2440
1340
  this.translationSlimmer = new translationSlimmer.TranslationSlimmer();
2441
- this.vegaDatePickerMobileController = new VegaDatePickerMobileController();
2442
- this.vegaDatePickerCalendarController = new VegaDatePickerCalendarController();
2443
- this.vegaDatePickerZIndexController = new VegaDatePickerZIndexController();
1341
+ this.calendarOpenStateController = new VegaDatePickerCalendarOpenStateController();
2444
1342
  this.vegaDatePickerValueController = new VegaDatePickerValueController();
2445
1343
  this.vegaDatePickerFormatController = new VegaDatePickerFormatController('single');
2446
1344
  this.startInputFormatController = new VegaDatePickerFormatController('rangeStart');
2447
1345
  this.endInputFormatController = new VegaDatePickerFormatController('rangeEnd');
2448
- this.vegaDatePickerElementAppenderController = new VegaDatePickerElementAppenderController();
2449
1346
  this.vegaDatePickerKeyboardController = new VegaDatePickerKeyboardController();
2450
1347
  this.vegaDatePickerRenderer = new VegaDatePickerRenderer();
2451
1348
  this.vegaDatePickerSingleInputRenderer = new VegaDatePickerSingleInputRenderer();
2452
1349
  this.vegaDatePickerRangeInputRenderer = new VegaDatePickerRangeInputRenderer();
2453
- this.vegaDatePickerCalendarRenderer = new VegaDatePickerCalendarRenderer();
1350
+ this.vegaDatePickerCalendarRenderer = new VegaDatePickerCalendarRenderer$1();
2454
1351
  this.formFieldController = new formFieldControllerSlimmer.FormFieldControllerSlimmer({
2455
1352
  propertyRules: [
2456
1353
  {
@@ -2485,12 +1382,12 @@ const VegaDatePicker = class {
2485
1382
  ].filter(Boolean);
2486
1383
  },
2487
1384
  });
2488
- this.monthYearChangeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaDatePicker, domNodeSubjectObserverFactory.VegaMonthYearChange);
2489
1385
  this.changeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaDatePicker, domNodeSubjectObserverFactory.VegaChange);
2490
- this.inputEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([domNodeSubjectObserverFactory.VegaChange], () => this.vegaDatePickerRenderer.getDatePickerContainer());
1386
+ this.monthYearChangeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaDatePicker, domNodeSubjectObserverFactory.VegaMonthYearChange);
1387
+ this.inputEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([domNodeSubjectObserverFactory.VegaChange, domNodeSubjectObserverFactory.VegaClear, domNodeSubjectObserverFactory.VegaMonthYearChange], () => this.vegaDatePickerCalendarRenderer.getCalendarRef());
2491
1388
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer(VegaDatePickerRuntimeMetricsPayloadDefinition);
2492
- this.monthYearDropdownRenderer = new VegaDatePickerMonthYearDropdownRenderer();
2493
- this.vegaDatePickerMonthYearChangeEventController = new VegaDatePickerMonthYearChangeEventController();
1389
+ this.isMobileDevice = ui.getDeviceType() === ui.DeviceType.MOBILE;
1390
+ this.isCalendarShow = false;
2494
1391
  /**
2495
1392
  * Specifies the selection mode of the date picker.
2496
1393
  *
@@ -2611,6 +1508,8 @@ const VegaDatePicker = class {
2611
1508
  */
2612
1509
  this.isDateDisabled = () => false;
2613
1510
  }
1511
+ watchIsCalendarShow() {
1512
+ }
2614
1513
  /*
2615
1514
  * The below method is e2e-test covered in
2616
1515
  * @see{module:vega-date-picker-mode-change}
@@ -2653,8 +1552,6 @@ const VegaDatePicker = class {
2653
1552
  }
2654
1553
  watchDisabled() {
2655
1554
  }
2656
- watchIsDateDisabled() {
2657
- }
2658
1555
  /**
2659
1556
  * Invoke this method to close the calendar dropdown
2660
1557
  * associated with the date picker.
@@ -2680,6 +1577,7 @@ const VegaDatePicker = class {
2680
1577
  }
2681
1578
  get host() { return index.getElement(this); }
2682
1579
  static get watchers() { return {
1580
+ "isCalendarShow": ["watchIsCalendarShow"],
2683
1581
  "mode": ["watchMode"],
2684
1582
  "value": ["watchValue"],
2685
1583
  "format": ["watchFormat"],
@@ -2688,82 +1586,1251 @@ const VegaDatePicker = class {
2688
1586
  "maxDate": ["watchMaxDate"],
2689
1587
  "allowRepick": ["watchAllowRepick"],
2690
1588
  "showYearMonthDropdowns": ["watchShowYearMonthDropdowns"],
2691
- "disabled": ["watchDisabled"],
2692
- "isDateDisabled": ["watchIsDateDisabled"]
1589
+ "disabled": ["watchDisabled"]
2693
1590
  }; }
2694
1591
  };
2695
- __decorate$1([
1592
+ __decorate$b([
2696
1593
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
2697
1594
  ], VegaDatePicker.prototype, "globalSlimmers", void 0);
2698
- __decorate$1([
1595
+ __decorate$b([
2699
1596
  globalSlimmerRegistry.InjectVegaSlimmer()
2700
1597
  ], VegaDatePicker.prototype, "translationSlimmer", void 0);
2701
- __decorate$1([
2702
- globalSlimmerRegistry.InjectVegaSlimmer()
2703
- ], VegaDatePicker.prototype, "vegaDatePickerMobileController", void 0);
2704
- __decorate$1([
2705
- globalSlimmerRegistry.InjectVegaSlimmer()
2706
- ], VegaDatePicker.prototype, "vegaDatePickerCalendarController", void 0);
2707
- __decorate$1([
1598
+ __decorate$b([
2708
1599
  globalSlimmerRegistry.InjectVegaSlimmer()
2709
- ], VegaDatePicker.prototype, "vegaDatePickerZIndexController", void 0);
2710
- __decorate$1([
1600
+ ], VegaDatePicker.prototype, "calendarOpenStateController", void 0);
1601
+ __decorate$b([
2711
1602
  globalSlimmerRegistry.InjectVegaSlimmer()
2712
1603
  ], VegaDatePicker.prototype, "vegaDatePickerValueController", void 0);
2713
- __decorate$1([
1604
+ __decorate$b([
2714
1605
  globalSlimmerRegistry.InjectVegaSlimmer()
2715
1606
  ], VegaDatePicker.prototype, "vegaDatePickerFormatController", void 0);
2716
- __decorate$1([
1607
+ __decorate$b([
2717
1608
  globalSlimmerRegistry.InjectVegaSlimmer()
2718
1609
  ], VegaDatePicker.prototype, "startInputFormatController", void 0);
2719
- __decorate$1([
1610
+ __decorate$b([
2720
1611
  globalSlimmerRegistry.InjectVegaSlimmer()
2721
1612
  ], VegaDatePicker.prototype, "endInputFormatController", void 0);
2722
- __decorate$1([
2723
- globalSlimmerRegistry.InjectVegaSlimmer()
2724
- ], VegaDatePicker.prototype, "vegaDatePickerElementAppenderController", void 0);
2725
- __decorate$1([
1613
+ __decorate$b([
2726
1614
  globalSlimmerRegistry.InjectVegaSlimmer()
2727
1615
  ], VegaDatePicker.prototype, "vegaDatePickerKeyboardController", void 0);
2728
- __decorate$1([
1616
+ __decorate$b([
2729
1617
  globalSlimmerRegistry.InjectVegaSlimmer()
2730
1618
  ], VegaDatePicker.prototype, "vegaDatePickerRenderer", void 0);
1619
+ __decorate$b([
1620
+ globalSlimmerRegistry.InjectVegaSlimmer()
1621
+ ], VegaDatePicker.prototype, "vegaDatePickerSingleInputRenderer", void 0);
1622
+ __decorate$b([
1623
+ globalSlimmerRegistry.InjectVegaSlimmer()
1624
+ ], VegaDatePicker.prototype, "vegaDatePickerRangeInputRenderer", void 0);
1625
+ __decorate$b([
1626
+ globalSlimmerRegistry.InjectVegaSlimmer()
1627
+ ], VegaDatePicker.prototype, "vegaDatePickerCalendarRenderer", void 0);
1628
+ __decorate$b([
1629
+ globalSlimmerRegistry.InjectVegaSlimmer()
1630
+ ], VegaDatePicker.prototype, "formFieldController", void 0);
1631
+ __decorate$b([
1632
+ globalSlimmerRegistry.InjectVegaSlimmer()
1633
+ ], VegaDatePicker.prototype, "changeEventEmitter", void 0);
1634
+ __decorate$b([
1635
+ globalSlimmerRegistry.InjectVegaSlimmer()
1636
+ ], VegaDatePicker.prototype, "monthYearChangeEventEmitter", void 0);
1637
+ __decorate$b([
1638
+ globalSlimmerRegistry.InjectVegaSlimmer()
1639
+ ], VegaDatePicker.prototype, "inputEventPrevent", void 0);
1640
+ __decorate$b([
1641
+ globalSlimmerRegistry.InjectVegaSlimmer()
1642
+ ], VegaDatePicker.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
1643
+ __decorate$b([
1644
+ componentLoadRequired.ComponentLoadRequired()
1645
+ ], VegaDatePicker.prototype, "watchValue", null);
1646
+ VegaDatePicker.style = vegaDatePickerCss;
1647
+
1648
+ var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1649
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1650
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1651
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1652
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1653
+ };
1654
+ class VegaDatePickerCalendarRenderer extends globalSlimmerRegistry.VegaSlimmer {
1655
+ render() {
1656
+ return (index.h("div", { class: {
1657
+ 'calendar': true,
1658
+ 'static-height': this.staticHeight,
1659
+ } },
1660
+ index.h("div", { class: "container__main" },
1661
+ this.headerRenderer.render(),
1662
+ this.renderContainer(),
1663
+ this.renderFooter())));
1664
+ }
1665
+ renderContainer() {
1666
+ const shouldRenderRangeMonth = this.shouldRenderRangeMonth();
1667
+ return (index.h("div", { class: {
1668
+ /* eslint-disable @typescript-eslint/naming-convention */
1669
+ 'container__months': true,
1670
+ 'columns-2': shouldRenderRangeMonth,
1671
+ } }, shouldRenderRangeMonth ? this.renderRangeMonth() : this.monthItemRenderer.render('start')));
1672
+ }
1673
+ renderRangeMonth() {
1674
+ return (index.h(index.Fragment, null,
1675
+ this.monthItemRenderer.render('start'),
1676
+ this.monthItemRenderer.render('end')));
1677
+ }
1678
+ renderFooter() {
1679
+ return (this.clearButton && (index.h("div", { class: "footer-container" },
1680
+ index.h("vega-button-link", { ref: (ref) => {
1681
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, domNodeSubjectObserverFactory.VegaClick, () => {
1682
+ this.clearCalendar();
1683
+ });
1684
+ }, label: this.translationSlimmer.t('Clear') }))));
1685
+ }
1686
+ shouldRenderRangeMonth() {
1687
+ return this.mode === 'range' && !this.isMobileDevice;
1688
+ }
1689
+ clearCalendar() {
1690
+ this.clearEventEmitter.emit();
1691
+ changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalDatePickerCalendarClear), {});
1692
+ }
1693
+ }
1694
+ __decorate$a([
1695
+ globalSlimmerRegistry.MapToComponentField()
1696
+ ], VegaDatePickerCalendarRenderer.prototype, "host", void 0);
1697
+ __decorate$a([
1698
+ globalSlimmerRegistry.MapToComponentField()
1699
+ ], VegaDatePickerCalendarRenderer.prototype, "clearButton", void 0);
1700
+ __decorate$a([
1701
+ globalSlimmerRegistry.MapToComponentField()
1702
+ ], VegaDatePickerCalendarRenderer.prototype, "monthItemRenderer", void 0);
1703
+ __decorate$a([
1704
+ globalSlimmerRegistry.MapToComponentField()
1705
+ ], VegaDatePickerCalendarRenderer.prototype, "staticHeight", void 0);
1706
+ __decorate$a([
1707
+ globalSlimmerRegistry.MapToComponentField()
1708
+ ], VegaDatePickerCalendarRenderer.prototype, "translationSlimmer", void 0);
1709
+ __decorate$a([
1710
+ globalSlimmerRegistry.MapToComponentField()
1711
+ ], VegaDatePickerCalendarRenderer.prototype, "mode", void 0);
1712
+ __decorate$a([
1713
+ globalSlimmerRegistry.MapToComponentField()
1714
+ ], VegaDatePickerCalendarRenderer.prototype, "clearEventEmitter", void 0);
1715
+ __decorate$a([
1716
+ globalSlimmerRegistry.MapToComponentField()
1717
+ ], VegaDatePickerCalendarRenderer.prototype, "isMobileDevice", void 0);
1718
+ __decorate$a([
1719
+ globalSlimmerRegistry.MapToComponentField()
1720
+ ], VegaDatePickerCalendarRenderer.prototype, "headerRenderer", void 0);
1721
+
1722
+ const MonthNames = [
1723
+ 'January',
1724
+ 'February',
1725
+ 'March',
1726
+ 'April',
1727
+ 'May',
1728
+ 'June',
1729
+ 'July',
1730
+ 'August',
1731
+ 'September',
1732
+ 'October',
1733
+ 'November',
1734
+ 'December',
1735
+ ];
1736
+
1737
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1738
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1739
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1740
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1741
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1742
+ };
1743
+ class VegaDatePickerCalendarYearMonthSwitcherRenderer extends globalSlimmerRegistry.VegaSlimmer {
1744
+ render() {
1745
+ const canRender = this.mode !== 'range' || this.showYearMonthDropdowns || this.isMobileDevice;
1746
+ return (canRender && (index.h("vega-flex", { justifyContent: 'center' },
1747
+ this.showYearMonthDropdowns
1748
+ ? this.renderMonthDropdownSwitcher()
1749
+ : this.renderCurrentMonth(),
1750
+ this.showYearMonthDropdowns
1751
+ ? this.renderYearDropdownSwitcher()
1752
+ : this.renderCurrentYear())));
1753
+ }
1754
+ getMonthDropdownOptions() {
1755
+ const currentYear = this.currentPeriod.current.year;
1756
+ return MonthNames.map((month, index) => {
1757
+ return {
1758
+ key: `${index}`,
1759
+ label: this.translationSlimmer.t(month),
1760
+ disabled: this.isDisabledMonth(currentYear, index + 1),
1761
+ };
1762
+ });
1763
+ }
1764
+ isDisabledMonth(year, month) {
1765
+ var _a, _b, _c, _d;
1766
+ const startMonth = (_a = this.minCalendarDate) === null || _a === void 0 ? void 0 : _a.month;
1767
+ const startYear = (_b = this.minCalendarDate) === null || _b === void 0 ? void 0 : _b.year;
1768
+ const endMonth = (_c = this.maxCalendarDate) === null || _c === void 0 ? void 0 : _c.month;
1769
+ const endYear = (_d = this.maxCalendarDate) === null || _d === void 0 ? void 0 : _d.year;
1770
+ return (year < startYear ||
1771
+ year > endYear ||
1772
+ (year === startYear && startMonth > month) ||
1773
+ (year === endYear && endMonth < month));
1774
+ }
1775
+ getYearDropdownOptions() {
1776
+ var _a, _b, _c, _d;
1777
+ const currentYear = new Date().getFullYear();
1778
+ const startYear = ((_a = this.minCalendarDate) === null || _a === void 0 ? void 0 : _a.year) ||
1779
+ Math.min(((_b = this.maxCalendarDate) === null || _b === void 0 ? void 0 : _b.year) || currentYear, currentYear) -
1780
+ VegaDatePickerCalendarYearMonthSwitcherRenderer.DEFAULT_MINIMUM_DROPDOWN_YEAR_BEFORE_CURRENT_YEAR;
1781
+ const endYear = ((_c = this.maxCalendarDate) === null || _c === void 0 ? void 0 : _c.year) ||
1782
+ Math.max(((_d = this.minCalendarDate) === null || _d === void 0 ? void 0 : _d.year) || currentYear, currentYear) +
1783
+ VegaDatePickerCalendarYearMonthSwitcherRenderer.DEFAULT_MINIMUM_DROPDOWN_YEAR_AFTER_CURRENT_YEAR;
1784
+ const years = [];
1785
+ for (let year = startYear; year <= endYear; year++) {
1786
+ years.push({ key: String(year), label: String(year) });
1787
+ }
1788
+ return years;
1789
+ }
1790
+ renderMonthDropdownSwitcher() {
1791
+ const { month } = this.currentPeriod.current;
1792
+ const monthIndex = month - 1;
1793
+ return (index.h("vega-dropdown", { trigger: "click", selectType: "single", source: this.getMonthDropdownOptions(), selectedSourceKey: monthIndex.toString(), "max-height": "300", isScreenPosition: this.yearMonthDropdownProps.isScreenPosition, ref: (node) => {
1794
+ this.onDropdownShowOrHide(node);
1795
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectObserverFactory.VegaDropdownClick, (payload) => {
1796
+ const selectedMonth = parseInt(payload.detail);
1797
+ this.setDateBasedOnSelectedMonth(selectedMonth);
1798
+ });
1799
+ } }, this.renderCurrentMonth()));
1800
+ }
1801
+ renderYearDropdownSwitcher() {
1802
+ const { year } = this.currentPeriod.current;
1803
+ return (index.h("vega-dropdown", { trigger: "click", selectType: "single", source: this.getYearDropdownOptions(), selectedSourceKey: year.toString(), "max-height": "300", isScreenPosition: this.yearMonthDropdownProps.isScreenPosition, ref: (node) => {
1804
+ this.onDropdownShowOrHide(node);
1805
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectObserverFactory.VegaDropdownClick, (payload) => {
1806
+ this.setDateBasedOnSelectedYear(parseInt(payload.detail));
1807
+ });
1808
+ } }, this.renderCurrentYear()));
1809
+ }
1810
+ /**
1811
+ * Control ui when dropdown shows or closes
1812
+ *
1813
+ * @param {HTMLVegaDropdownElement} dropdown - Month or year dropdown
1814
+ */
1815
+ onDropdownShowOrHide(dropdown) {
1816
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdown, domNodeSubjectObserverFactory.VegaDropdownShow, async () => {
1817
+ dropdown.classList.add('active');
1818
+ });
1819
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdown, domNodeSubjectObserverFactory.VegaDropdownHide, () => {
1820
+ const parentElement = dropdown.closest('.calendar');
1821
+ if (parentElement) {
1822
+ const dropdown = parentElement.querySelector('vega-dropdown.active');
1823
+ dropdown && dropdown.classList.remove('active');
1824
+ }
1825
+ });
1826
+ }
1827
+ renderCurrentMonth() {
1828
+ const label = this.translationSlimmer.t(this.currentPeriod.current.getMonthName());
1829
+ return this.size === 'small' && this.showYearMonthDropdowns ? (index.h("vega-button-link", { class: "small-month-item-name", size: "small", label: label })) : (index.h("div", { class: "month-item-name" },
1830
+ index.h("span", null, label),
1831
+ this.renderDropdownSwitchIcon()));
1832
+ }
1833
+ renderCurrentYear() {
1834
+ const label = this.currentPeriod.current.year.toString();
1835
+ return this.size === 'small' && this.showYearMonthDropdowns ? (index.h("vega-button-link", { class: "small-month-item-year", size: "small", label: label })) : (index.h("div", { class: "month-item-year" },
1836
+ index.h("span", null, label),
1837
+ this.renderDropdownSwitchIcon()));
1838
+ }
1839
+ renderDropdownSwitchIcon() {
1840
+ return (this.showYearMonthDropdowns && (index.h("vega-icon", { icon: internalIconManager.VegaInternalIconManager.getIconKey('caret-down'), color: 'text-link' })));
1841
+ }
1842
+ setDateBasedOnSelectedMonth(monthIndex) {
1843
+ const { year } = this.currentPeriod.current;
1844
+ const date = new Date(year, monthIndex, 1);
1845
+ const newPeriod = new typeGuard.MonthPeriod(typeGuard.CalendarDate.from(date));
1846
+ this.currentPeriodController.updateCalendarPeriod(newPeriod);
1847
+ }
1848
+ setDateBasedOnSelectedYear(year) {
1849
+ const { month } = this.currentPeriod.current;
1850
+ const startMonthIndex = month - 1;
1851
+ const date = new Date(year, startMonthIndex, 1);
1852
+ const newPeriod = new typeGuard.MonthPeriod(typeGuard.CalendarDate.from(date));
1853
+ this.currentPeriodController.updateCalendarPeriod(newPeriod);
1854
+ }
1855
+ }
1856
+ (() => {
1857
+ internalIconManager.VegaInternalIconManager.register({
1858
+ 'caret-down': Icons['caret-down'],
1859
+ });
1860
+ })();
1861
+ VegaDatePickerCalendarYearMonthSwitcherRenderer.DEFAULT_MINIMUM_DROPDOWN_YEAR_BEFORE_CURRENT_YEAR = 10;
1862
+ VegaDatePickerCalendarYearMonthSwitcherRenderer.DEFAULT_MINIMUM_DROPDOWN_YEAR_AFTER_CURRENT_YEAR = 10;
1863
+ __decorate$9([
1864
+ globalSlimmerRegistry.MapToComponentField()
1865
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "currentPeriodController", void 0);
1866
+ __decorate$9([
1867
+ globalSlimmerRegistry.MapToComponentField()
1868
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "showYearMonthDropdowns", void 0);
1869
+ __decorate$9([
1870
+ globalSlimmerRegistry.MapToComponentField()
1871
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "translationSlimmer", void 0);
1872
+ __decorate$9([
1873
+ globalSlimmerRegistry.MapToComponentField()
1874
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "minCalendarDate", void 0);
1875
+ __decorate$9([
1876
+ globalSlimmerRegistry.MapToComponentField()
1877
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "maxCalendarDate", void 0);
1878
+ __decorate$9([
1879
+ globalSlimmerRegistry.MapToComponentField()
1880
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "yearMonthDropdownProps", void 0);
1881
+ __decorate$9([
1882
+ globalSlimmerRegistry.MapToComponentField()
1883
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "currentPeriod", void 0);
1884
+ __decorate$9([
1885
+ globalSlimmerRegistry.MapToComponentField()
1886
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "size", void 0);
1887
+ __decorate$9([
1888
+ globalSlimmerRegistry.MapToComponentField()
1889
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "mode", void 0);
1890
+ __decorate$9([
1891
+ globalSlimmerRegistry.MapToComponentField()
1892
+ ], VegaDatePickerCalendarYearMonthSwitcherRenderer.prototype, "isMobileDevice", void 0);
1893
+
1894
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1895
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1896
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1897
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1898
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1899
+ };
1900
+ /**
1901
+ * Date picker calendar state base abstract class
1902
+ */
1903
+ class VegaDatePickerCalendarStateBaseAbstract extends globalSlimmerRegistry.VegaSlimmer {
1904
+ /** connectedCallback */
1905
+ connectedCallback() {
1906
+ this.initCalendarClearObserver();
1907
+ }
1908
+ /** disconnectedCallback */
1909
+ disconnectedCallback() {
1910
+ this.removeCalendarClearObserver();
1911
+ }
1912
+ /**
1913
+ * Initialize calendar clear observer
1914
+ */
1915
+ initCalendarClearObserver() {
1916
+ this.calendarClearObserver = new observer.Observer(this.canAcceptClearEvent.bind(this), this.clear.bind(this));
1917
+ changeManager.ChangeManager.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalDatePickerCalendarClear), this.calendarClearObserver);
1918
+ }
1919
+ /**
1920
+ * Remove calendar clear observer
1921
+ */
1922
+ removeCalendarClearObserver() {
1923
+ changeManager.ChangeManager.unregister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalDatePickerCalendarClear), this.calendarClearObserver);
1924
+ }
1925
+ /**
1926
+ * Check if can accept form reset event
1927
+ *
1928
+ * @returns {boolean} - true if can accept, false otherwise.
1929
+ */
1930
+ canAcceptClearEvent() {
1931
+ return true;
1932
+ }
1933
+ }
1934
+ __decorate$8([
1935
+ globalSlimmerRegistry.MapToComponentField()
1936
+ ], VegaDatePickerCalendarStateBaseAbstract.prototype, "host", void 0);
1937
+ __decorate$8([
1938
+ globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
1939
+ ], VegaDatePickerCalendarStateBaseAbstract.prototype, "connectedCallback", null);
1940
+ __decorate$8([
1941
+ globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
1942
+ ], VegaDatePickerCalendarStateBaseAbstract.prototype, "disconnectedCallback", null);
1943
+
1944
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1945
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1946
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1947
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1948
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1949
+ };
1950
+ /** Current period controller. */
1951
+ class VegaDatePickerCalendarCurrentPeriodController extends VegaDatePickerCalendarStateBaseAbstract {
1952
+ /** connectedCallback */
1953
+ connectedCallback() {
1954
+ super.connectedCallback();
1955
+ this.initCalendarPeriodUpdateObserver();
1956
+ }
1957
+ /** disconnectedCallback */
1958
+ disconnectedCallback() {
1959
+ super.disconnectedCallback();
1960
+ this.removeCalendarPeriodUpdateObserver();
1961
+ }
1962
+ /** componentWillLoad */
1963
+ componentWillLoad() {
1964
+ this.setCurrentMonthPeriod();
1965
+ }
1966
+ /** Listen maxDate changed */
1967
+ watchMaxCalendarDate() {
1968
+ this.setCurrentMonthPeriod();
1969
+ }
1970
+ /** Listen minDate changed */
1971
+ watchMinCalendarDate() {
1972
+ this.setCurrentMonthPeriod();
1973
+ }
1974
+ /** Listen currentPeriod changed */
1975
+ watchCurrentPeriod() {
1976
+ this.monthYearChangeEventEmitter.emit(this.getCurrentYearMonthByPeriod());
1977
+ }
1978
+ /** reset current period */
1979
+ resetCurrentPeriod() {
1980
+ this.setCurrentMonthPeriod();
1981
+ }
1982
+ /** Clear current period */
1983
+ clear() {
1984
+ this.setCurrentMonthPeriod();
1985
+ }
1986
+ /**
1987
+ * Goto next month period while single mode.
1988
+ * Goto next two month period while range mode.
1989
+ */
1990
+ gotoNextPeriod() {
1991
+ const period = this.isRangeView()
1992
+ ? this.currentPeriod.next().next()
1993
+ : this.currentPeriod.next();
1994
+ this.updateCalendarPeriod(period);
1995
+ }
1996
+ /**
1997
+ * Goto previous month period while single mode.
1998
+ * Goto previous two month period while range mode.
1999
+ */
2000
+ gotoPreviousPeriod() {
2001
+ const period = this.isRangeView()
2002
+ ? this.currentPeriod.previous().previous()
2003
+ : this.currentPeriod.previous();
2004
+ this.updateCalendarPeriod(period);
2005
+ }
2006
+ /**
2007
+ * set current period
2008
+ *
2009
+ * @param {MonthPeriod} period current period
2010
+ */
2011
+ updateCalendarPeriod(period) {
2012
+ if (!this.currentPeriod || !this.currentPeriod.equal(period)) {
2013
+ this.currentPeriod = period;
2014
+ }
2015
+ }
2016
+ /**
2017
+ * Current period follow below rules:
2018
+ * - Go to the value date month if the value is set.
2019
+ * - Go to the minDate month if only set the minDate and today is before than minDate.
2020
+ * - Go to the minDate month if minDate and maxDate are both set and today is after than maxDate.
2021
+ * - Go to the maxDate month if only set maxDate and today is after than maxDate.
2022
+ * - Go to today month if the value, minDate and maxDate all are empty.
2023
+ */
2024
+ setCurrentMonthPeriod() {
2025
+ let currentDate;
2026
+ const startDate = this.calendarSelection.startDate;
2027
+ if (typeGuard.isCalendarDateType(startDate)) {
2028
+ currentDate = startDate;
2029
+ }
2030
+ else if (this.minCalendarDate &&
2031
+ (this.today.isBefore(this.minCalendarDate) ||
2032
+ (this.maxCalendarDate && this.today.isAfter(this.maxCalendarDate)))) {
2033
+ currentDate = this.minCalendarDate;
2034
+ }
2035
+ else if (this.maxCalendarDate && this.today.isAfter(this.maxCalendarDate)) {
2036
+ currentDate = this.maxCalendarDate;
2037
+ }
2038
+ else {
2039
+ currentDate = this.today;
2040
+ }
2041
+ this.updateCalendarPeriod(new typeGuard.MonthPeriod(currentDate, true, this.timezone));
2042
+ }
2043
+ /**
2044
+ * Check is range view
2045
+ *
2046
+ * @returns {boolean} -
2047
+ */
2048
+ isRangeView() {
2049
+ return this.mode === 'range' && !this.isMobileDevice;
2050
+ }
2051
+ /**
2052
+ * Get current year month by period
2053
+ *
2054
+ * @returns {DatePickerMonthYearTypes} - month and year info
2055
+ */
2056
+ getCurrentYearMonthByPeriod() {
2057
+ const startMonthYear = {
2058
+ month: MonthNames[this.currentPeriod.current.month - 1],
2059
+ year: `${this.currentPeriod.current.year}`,
2060
+ };
2061
+ if (this.mode === 'range') {
2062
+ return [
2063
+ startMonthYear,
2064
+ {
2065
+ month: MonthNames[this.currentPeriod.endDate.month - 1],
2066
+ year: `${this.currentPeriod.endDate.year}`,
2067
+ },
2068
+ ];
2069
+ }
2070
+ else {
2071
+ return startMonthYear;
2072
+ }
2073
+ }
2074
+ /**
2075
+ * Initialize calendar clear observer
2076
+ */
2077
+ initCalendarPeriodUpdateObserver() {
2078
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, vegaInternalEventId.VegaInternalDatePickerCalendarUpdatePeriodByUser, this.setCurrentMonthPeriod.bind(this));
2079
+ }
2080
+ /**
2081
+ * Remove calendar clear observer
2082
+ */
2083
+ removeCalendarPeriodUpdateObserver() {
2084
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.host, vegaInternalEventId.VegaInternalDatePickerCalendarUpdatePeriodByUser);
2085
+ }
2086
+ }
2087
+ __decorate$7([
2088
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
2089
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "currentPeriod", void 0);
2090
+ __decorate$7([
2091
+ globalSlimmerRegistry.MapToComponentField()
2092
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "host", void 0);
2093
+ __decorate$7([
2094
+ globalSlimmerRegistry.MapToComponentField()
2095
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "today", void 0);
2096
+ __decorate$7([
2097
+ globalSlimmerRegistry.MapToComponentField()
2098
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "mode", void 0);
2099
+ __decorate$7([
2100
+ globalSlimmerRegistry.MapToComponentField()
2101
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "format", void 0);
2102
+ __decorate$7([
2103
+ globalSlimmerRegistry.MapToComponentField()
2104
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "timezone", void 0);
2105
+ __decorate$7([
2106
+ globalSlimmerRegistry.MapToComponentField()
2107
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "minCalendarDate", void 0);
2108
+ __decorate$7([
2109
+ globalSlimmerRegistry.MapToComponentField()
2110
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "maxCalendarDate", void 0);
2111
+ __decorate$7([
2112
+ globalSlimmerRegistry.MapToComponentField()
2113
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "isMobileDevice", void 0);
2114
+ __decorate$7([
2115
+ globalSlimmerRegistry.MapToComponentField()
2116
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "monthYearChangeEventEmitter", void 0);
2117
+ __decorate$7([
2118
+ globalSlimmerRegistry.MapToComponentField()
2119
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "calendarSelection", void 0);
2120
+ __decorate$7([
2121
+ globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
2122
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "connectedCallback", null);
2123
+ __decorate$7([
2124
+ globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
2125
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "disconnectedCallback", null);
2126
+ __decorate$7([
2127
+ globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
2128
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "componentWillLoad", null);
2129
+ __decorate$7([
2130
+ globalSlimmerRegistry.MapToComponentMethod('watchMaxCalendarDate')
2131
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "watchMaxCalendarDate", null);
2132
+ __decorate$7([
2133
+ globalSlimmerRegistry.MapToComponentMethod('watchMinCalendarDate')
2134
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "watchMinCalendarDate", null);
2135
+ __decorate$7([
2136
+ globalSlimmerRegistry.MapToComponentMethod('watchCurrentPeriod')
2137
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "watchCurrentPeriod", null);
2138
+ __decorate$7([
2139
+ globalSlimmerRegistry.MapToComponentMethod('reset')
2140
+ ], VegaDatePickerCalendarCurrentPeriodController.prototype, "resetCurrentPeriod", null);
2141
+
2142
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2143
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2144
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2145
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2146
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2147
+ };
2148
+ /** Today controller */
2149
+ class VegaDatePickerCalendarTodayController extends globalSlimmerRegistry.VegaSlimmer {
2150
+ /** connectedCallback */
2151
+ connectedCallback() {
2152
+ this.setToday();
2153
+ }
2154
+ /** Listen time zone changed */
2155
+ watchTimezone() {
2156
+ this.setToday();
2157
+ }
2158
+ /**
2159
+ * Sets the current date based on the provided timezone or the system timezone if none is provided.
2160
+ */
2161
+ setToday() {
2162
+ this.today = typeGuard.CalendarDate.from(new Date(), this.timezone);
2163
+ }
2164
+ }
2165
+ __decorate$6([
2166
+ globalSlimmerRegistry.MapToComponentField()
2167
+ ], VegaDatePickerCalendarTodayController.prototype, "timezone", void 0);
2168
+ __decorate$6([
2169
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
2170
+ ], VegaDatePickerCalendarTodayController.prototype, "today", void 0);
2171
+ __decorate$6([
2172
+ globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
2173
+ ], VegaDatePickerCalendarTodayController.prototype, "connectedCallback", null);
2174
+ __decorate$6([
2175
+ globalSlimmerRegistry.MapToComponentMethod('watchTimezone')
2176
+ ], VegaDatePickerCalendarTodayController.prototype, "watchTimezone", null);
2177
+
2178
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2179
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2180
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2181
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2182
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2183
+ };
2184
+ class VegaDatePickerMonthItemRenderer extends globalSlimmerRegistry.VegaSlimmer {
2185
+ constructor() {
2186
+ super(...arguments);
2187
+ this.monthViewGenerator = new monthViewGenerator.MonthViewGenerator();
2188
+ }
2189
+ render(type) {
2190
+ const period = type === 'end' ? this.currentPeriod.next() : this.currentPeriod;
2191
+ const periodView = this.monthViewGenerator.generate(period);
2192
+ return (index.h("div", { class: "month-item" },
2193
+ this.renderCurrentYearMonth(period),
2194
+ this.renderWeek(periodView),
2195
+ this.renderDays(periodView, period)));
2196
+ }
2197
+ renderCurrentYearMonth(period) {
2198
+ return (this.mode === 'range' &&
2199
+ !this.isMobileDevice && (index.h("vega-box", { class: "current-month-year" },
2200
+ this.translationSlimmer.t(period.current.getMonthName()),
2201
+ ' ',
2202
+ period.current.year)));
2203
+ }
2204
+ renderWeek(periodView) {
2205
+ return (index.h("vega-grid", { class: "month-item-weekdays-row", column: '7-auto', row: 1 }, periodView.weekdays.map((weekDay) => {
2206
+ return (index.h("div", { key: weekDay }, this.translationSlimmer.t(`${weekDay}-short`)));
2207
+ })));
2208
+ }
2209
+ renderDays(periodView, period) {
2210
+ return (index.h("vega-grid", { class: "container__days", column: '7-auto', row: this.staticHeight ? 6 : '6-auto' }, periodView.dateItems
2211
+ .flat()
2212
+ .filter((day) => day.month <= period.current.month || day.year < period.current.year)
2213
+ .map((day) => this.renderDay(day, period))));
2214
+ }
2215
+ renderDay(day, period) {
2216
+ const isCurrentMonth = day.month === period.current.month;
2217
+ const isLockedDate = this.isBeforeMinDate(day) || this.isAfterMaxDate(day);
2218
+ const currentRangeDates = this.getCurrentRangeDates();
2219
+ const isDisabled = this.isDateDisabled(day.toDate());
2220
+ const isInRange = day.isAfter(currentRangeDates[0]) && day.isBefore(currentRangeDates[1]);
2221
+ const canInterActive = isCurrentMonth && !isLockedDate && !isDisabled;
2222
+ return (index.h("div", { key: `${day.month}-${day.date}`, class: isCurrentMonth && {
2223
+ 'day-item': true,
2224
+ 'is-today': day.equal(this.today),
2225
+ 'is-start-date': day.equal(currentRangeDates[0]),
2226
+ 'is-in-range': isInRange,
2227
+ 'is-end-date': day.equal(currentRangeDates[1]),
2228
+ 'is-locked': isLockedDate,
2229
+ 'is-disabled': isDisabled,
2230
+ },
2231
+ /* eslint-disable-next-line react/jsx-no-bind */
2232
+ onClick: () => canInterActive && this.selectionController.onDayClick(day),
2233
+ /* eslint-disable-next-line react/jsx-no-bind */
2234
+ onMouseEnter: () => canInterActive && this.selectionController.onDayHover(day), onKeyDown: accessibility.createEnterKeyHandlerToTriggerClick(), role: "menuitem", "aria-label": day.date, tabIndex: canInterActive ? 0 : -1 }, isCurrentMonth ? day.date : ''));
2235
+ }
2236
+ getCurrentRangeDates() {
2237
+ const startDate = this.calendarSelection.startDate;
2238
+ const endDate = this.calendarSelection.endDate;
2239
+ if (typeGuard.isCalendarDateType(startDate) && !endDate && this.hoverDate) {
2240
+ return this.hoverDate.isBefore(startDate)
2241
+ ? [this.hoverDate, startDate]
2242
+ : [startDate, this.hoverDate];
2243
+ }
2244
+ else if (!typeGuard.isCalendarDateType(startDate) && endDate && this.hoverDate) {
2245
+ return this.hoverDate.isBefore(endDate) ? [this.hoverDate, endDate] : [endDate, this.hoverDate];
2246
+ }
2247
+ else {
2248
+ return [startDate, endDate];
2249
+ }
2250
+ }
2251
+ isBeforeMinDate(day) {
2252
+ return this.minCalendarDate && day.isBefore(this.minCalendarDate);
2253
+ }
2254
+ isAfterMaxDate(day) {
2255
+ return this.maxCalendarDate && day.isAfter(this.maxCalendarDate);
2256
+ }
2257
+ }
2258
+ __decorate$5([
2259
+ globalSlimmerRegistry.MapToComponentField()
2260
+ ], VegaDatePickerMonthItemRenderer.prototype, "currentPeriod", void 0);
2261
+ __decorate$5([
2262
+ globalSlimmerRegistry.MapToComponentField()
2263
+ ], VegaDatePickerMonthItemRenderer.prototype, "today", void 0);
2264
+ __decorate$5([
2265
+ globalSlimmerRegistry.MapToComponentField()
2266
+ ], VegaDatePickerMonthItemRenderer.prototype, "translationSlimmer", void 0);
2267
+ __decorate$5([
2268
+ globalSlimmerRegistry.MapToComponentField()
2269
+ ], VegaDatePickerMonthItemRenderer.prototype, "hoverDate", void 0);
2270
+ __decorate$5([
2271
+ globalSlimmerRegistry.MapToComponentField()
2272
+ ], VegaDatePickerMonthItemRenderer.prototype, "maxCalendarDate", void 0);
2273
+ __decorate$5([
2274
+ globalSlimmerRegistry.MapToComponentField()
2275
+ ], VegaDatePickerMonthItemRenderer.prototype, "minCalendarDate", void 0);
2276
+ __decorate$5([
2277
+ globalSlimmerRegistry.MapToComponentField()
2278
+ ], VegaDatePickerMonthItemRenderer.prototype, "selectionController", void 0);
2279
+ __decorate$5([
2280
+ globalSlimmerRegistry.MapToComponentField()
2281
+ ], VegaDatePickerMonthItemRenderer.prototype, "calendarSelection", void 0);
2282
+ __decorate$5([
2283
+ globalSlimmerRegistry.MapToComponentField()
2284
+ ], VegaDatePickerMonthItemRenderer.prototype, "staticHeight", void 0);
2285
+ __decorate$5([
2286
+ globalSlimmerRegistry.MapToComponentField()
2287
+ ], VegaDatePickerMonthItemRenderer.prototype, "mode", void 0);
2288
+ __decorate$5([
2289
+ globalSlimmerRegistry.MapToComponentField()
2290
+ ], VegaDatePickerMonthItemRenderer.prototype, "size", void 0);
2291
+ __decorate$5([
2292
+ globalSlimmerRegistry.MapToComponentField()
2293
+ ], VegaDatePickerMonthItemRenderer.prototype, "isDateDisabled", void 0);
2294
+ __decorate$5([
2295
+ globalSlimmerRegistry.MapToComponentField()
2296
+ ], VegaDatePickerMonthItemRenderer.prototype, "isMobileDevice", void 0);
2297
+
2298
+ /** Calendar selection object. */
2299
+ class CalendarSelection {
2300
+ constructor(startDate, endDate, mode) {
2301
+ this.startDate = startDate;
2302
+ this.endDate = endDate;
2303
+ this.mode = mode;
2304
+ if (this.mode === 'range' && this.startDate && this.endDate && this.startDate.isAfter(this.endDate)) {
2305
+ const startDate = this.startDate;
2306
+ this.startDate = this.endDate;
2307
+ this.endDate = startDate;
2308
+ }
2309
+ }
2310
+ /**
2311
+ * Creates a CalendarSelection from a selection value.
2312
+ *
2313
+ * @param {DatePickerValueType<DatePickerModeType>} selection - The selection value.
2314
+ * @param {DatePickerModeType} mode - The mode of the date picker.
2315
+ * @param {string} format - The date format to use for string conversion.
2316
+ * @returns {CalendarSelection} - The created CalendarSelection instance.
2317
+ */
2318
+ static fromSelection(selection, mode, format) {
2319
+ let startDate = null;
2320
+ let endDate = null;
2321
+ if (this.isValidSelection(selection, mode, format)) {
2322
+ if (mode === 'single' && typeof selection === 'string') {
2323
+ const date = typeGuard.CalendarDate.fromString(selection, format);
2324
+ startDate = date;
2325
+ endDate = date;
2326
+ }
2327
+ else if (mode === 'range' && Array.isArray(selection)) {
2328
+ startDate = typeGuard.CalendarDate.fromString(selection[0], format);
2329
+ endDate = typeGuard.CalendarDate.fromString(selection[1], format);
2330
+ }
2331
+ }
2332
+ return new CalendarSelection(startDate, endDate, mode);
2333
+ }
2334
+ /**
2335
+ * Check if the selection is valid.
2336
+ *
2337
+ * @param {DatePickerValueType<DatePickerModeType>} selection - The selection value.
2338
+ * @param {DatePickerModeType} mode - The mode of the date picker.
2339
+ * @param {string} format - The date format to use for string conversion.
2340
+ * @returns {boolean} - True if the selection is valid, false otherwise.
2341
+ */
2342
+ static isValidSelection(selection, mode, format) {
2343
+ let isValid;
2344
+ switch (mode) {
2345
+ case 'single':
2346
+ isValid = this.isValidDateString(selection, format);
2347
+ break;
2348
+ case 'range':
2349
+ isValid =
2350
+ Array.isArray(selection) &&
2351
+ selection.length === 2 &&
2352
+ selection.every((item) => this.isValidDateString(item, format));
2353
+ break;
2354
+ }
2355
+ if (!isValid) {
2356
+ globalSlimmerRegistry.LogUtility.warn(`Invalid date picker calendar selection ${selection} for ${mode} mode`);
2357
+ }
2358
+ return isValid;
2359
+ }
2360
+ /**
2361
+ * Check if a date string is valid.
2362
+ *
2363
+ * @param {Nullable<string>} dateString - The date string to check.
2364
+ * @param {string} format - The date format to use for string conversion.
2365
+ * @returns {boolean} - True if the date string is valid, false otherwise.
2366
+ */
2367
+ static isValidDateString(dateString, format) {
2368
+ return ((dateString && typeof dateString === 'string' && !!typeGuard.CalendarDate.fromString(dateString, format)) ||
2369
+ dateString === '');
2370
+ }
2371
+ /**
2372
+ * Gets the selection value based on the current calendar selection.
2373
+ *
2374
+ * @param {string} format - The date format to use for string conversion.
2375
+ * @returns {DatePickerValueType<DatePickerModeType>} - The selection value.
2376
+ */
2377
+ toSelection(format) {
2378
+ var _a, _b, _c;
2379
+ if (this.mode === 'range') {
2380
+ return [((_a = this.startDate) === null || _a === void 0 ? void 0 : _a.toString(format)) || '', ((_b = this.endDate) === null || _b === void 0 ? void 0 : _b.toString(format)) || ''];
2381
+ }
2382
+ else {
2383
+ return ((_c = this.startDate) === null || _c === void 0 ? void 0 : _c.toString(format)) || '';
2384
+ }
2385
+ }
2386
+ /**
2387
+ * Checks if this calendar selection is equal to another.
2388
+ *
2389
+ * @param {CalendarSelection} other - The other calendar selection to compare with.
2390
+ * @returns {boolean} - True if both selections are equal, false otherwise.
2391
+ */
2392
+ equals(other) {
2393
+ if (!other)
2394
+ return false;
2395
+ const isStartDateEqual = this.startDate && other.startDate
2396
+ ? this.startDate.equal(other.startDate)
2397
+ : this.startDate === this.endDate;
2398
+ const isEndDateEqual = this.endDate && other.endDate
2399
+ ? this.endDate.equal(other.endDate)
2400
+ : this.endDate === other.endDate;
2401
+ return isStartDateEqual && isEndDateEqual;
2402
+ }
2403
+ /**
2404
+ * Checks if the calendar selection is completed.
2405
+ *
2406
+ * @returns {boolean} - True if the selection is completed, false otherwise.
2407
+ */
2408
+ isCompleted() {
2409
+ return (typeGuard.isCalendarDateType(this.startDate) &&
2410
+ (this.mode === 'range' ? typeGuard.isCalendarDateType(this.endDate) : true));
2411
+ }
2412
+ /**
2413
+ * Checks if the calendar selection is empty.
2414
+ *
2415
+ * @returns {boolean} - True if the selection is empty, false otherwise.
2416
+ */
2417
+ isEmpty() {
2418
+ return !typeGuard.isCalendarDateType(this.startDate) && !typeGuard.isCalendarDateType(this.endDate);
2419
+ }
2420
+ }
2421
+
2422
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2423
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2424
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2425
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2426
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2427
+ };
2428
+ /** Selection controller */
2429
+ class VegaDatePickerCalendarSelectionController extends VegaDatePickerCalendarStateBaseAbstract {
2430
+ /** componentWillLoad */
2431
+ componentWillLoad() {
2432
+ this.setCalendarSelectionBySelection(this.selection);
2433
+ }
2434
+ /**
2435
+ * Listen selection changed
2436
+ *
2437
+ * @param {DatePickerValueType<DatePickerModeType>} newSelection - newSelection.
2438
+ */
2439
+ watchSelection(newSelection) {
2440
+ const isChangeByUser = !this.isSameSelection(newSelection, this.calendarSelection.toSelection(this.format));
2441
+ // If the user changes the selection via property, we need to update the current period and set the calendar selection.
2442
+ // otherwise, we don't need to update.
2443
+ if (isChangeByUser) {
2444
+ this.setCalendarSelectionBySelection(newSelection);
2445
+ this.notifyPeriodChange();
2446
+ }
2447
+ }
2448
+ /** Reset selecting range date */
2449
+ resetRange() {
2450
+ const usePrevious = !this.calendarSelection.isCompleted() &&
2451
+ !this.calendarSelection.isEmpty() &&
2452
+ !!this.previousCalendarSelection;
2453
+ this.setCalendarSelectionBySelection(usePrevious ? this.previousCalendarSelection.toSelection(this.format) : this.selection);
2454
+ this.hoverDate = null;
2455
+ }
2456
+ /** Listen calendarSelection changed */
2457
+ watchCalendarSelection() {
2458
+ if (this.calendarSelection.isCompleted() || this.calendarSelection.isEmpty()) {
2459
+ this.setSelection(this.calendarSelection.toSelection(this.format));
2460
+ }
2461
+ }
2462
+ /** Clear the current selection */
2463
+ clear() {
2464
+ this.setCalendarSelectionByRange(null, null);
2465
+ this.hoverDate = null;
2466
+ }
2467
+ /**
2468
+ * Listen the day be clicked.
2469
+ *
2470
+ * @param {CalendarDate} day - clicked day.
2471
+ */
2472
+ onDayClick(day) {
2473
+ if (this.mode === 'single') {
2474
+ this.setCalendarSelectionByRange(day, day);
2475
+ }
2476
+ else if (this.mode === 'range') {
2477
+ if (this.calendarSelection.startDate && !this.calendarSelection.endDate) {
2478
+ // It second click of range mode, we should set min date as start and max date as end.
2479
+ // As also, the select action have completed, we should set the value same time.
2480
+ this.setCalendarSelectionByRange(this.calendarSelection.startDate, day);
2481
+ }
2482
+ else if (!this.calendarSelection.startDate && this.calendarSelection.endDate) {
2483
+ this.setCalendarSelectionByRange(this.calendarSelection.endDate, day);
2484
+ }
2485
+ else {
2486
+ // It first click of range mode, we only set start date.
2487
+ this.setCalendarSelectionByRange(day, null);
2488
+ }
2489
+ this.hoverDate = null;
2490
+ }
2491
+ }
2492
+ /**
2493
+ * Listen the day be hovered.
2494
+ * Need set the hoverDate after the first click in range mode.
2495
+ * For repick, we should clear start or end date according the input which have been clicked.
2496
+ * Note: repick is working at hover any day in range.
2497
+ *
2498
+ * @param {CalendarDate} day - hovered day.
2499
+ */
2500
+ onDayHover(day) {
2501
+ const clickedInputType = this.allowRepickController.getRepickType();
2502
+ if (clickedInputType && this.mode === 'range' && this.calendarSelection.isCompleted()) {
2503
+ clickedInputType === 'start'
2504
+ ? this.setCalendarSelectionByRange(null, this.calendarSelection.endDate)
2505
+ : this.setCalendarSelectionByRange(this.calendarSelection.startDate, null);
2506
+ }
2507
+ if (!this.calendarSelection.isEmpty() && !this.calendarSelection.isCompleted()) {
2508
+ this.hoverDate = day;
2509
+ }
2510
+ }
2511
+ /**
2512
+ * Sets calendar selection for date picker calendar based on selection value.
2513
+ *
2514
+ * @param {DatePickerValueType<DatePickerModeType>} selection - selection.
2515
+ */
2516
+ setCalendarSelectionBySelection(selection) {
2517
+ const calendarSelection = CalendarSelection.fromSelection(selection, this.mode, this.format);
2518
+ if (this.calendarSelection &&
2519
+ (this.calendarSelection.isCompleted() || this.calendarSelection.isEmpty())) {
2520
+ this.previousCalendarSelection = this.calendarSelection;
2521
+ }
2522
+ if (!calendarSelection.equals(this.calendarSelection)) {
2523
+ this.calendarSelection = calendarSelection;
2524
+ }
2525
+ // we should reset the selection while calendarSelection changed from inner,
2526
+ // such as reversed range correction.
2527
+ this.setSelection(calendarSelection.toSelection(this.format));
2528
+ }
2529
+ /**
2530
+ * Sets calendar selection for date picker calendar based on range dates.
2531
+ *
2532
+ * @param {Nullable<CalendarDate>} startDate - startDate.
2533
+ * @param {Nullable<CalendarDate>} endDate - endDate.
2534
+ */
2535
+ setCalendarSelectionByRange(startDate, endDate) {
2536
+ this.calendarSelection = new CalendarSelection(startDate, endDate, this.mode);
2537
+ }
2538
+ /**
2539
+ * Sets selection for date picker calendar and emits a change event with the new value.
2540
+ *
2541
+ * @param {DatePickerValueType<DatePickerModeType>} selection - selection.
2542
+ */
2543
+ setSelection(selection) {
2544
+ if (!this.isSameSelection(selection, this.selection)) {
2545
+ this.selection = selection;
2546
+ this.vegaSelectionChangeEventEmitter.emit(this.selection);
2547
+ }
2548
+ }
2549
+ /**
2550
+ * Check the previous selection and current selection is same.
2551
+ *
2552
+ * @param {DatePickerValueType<DatePickerModeType>} previous - New selection.
2553
+ * @param {DatePickerValueType<DatePickerModeType>} current - Old selection.
2554
+ * @returns {boolean} -
2555
+ */
2556
+ isSameSelection(previous, current) {
2557
+ if (this.mode === 'range' && Array.isArray(previous) && Array.isArray(current)) {
2558
+ return array.isArrayEqual(previous, current);
2559
+ }
2560
+ return previous === current;
2561
+ }
2562
+ /** Notify to update current period */
2563
+ notifyPeriodChange() {
2564
+ changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalDatePickerCalendarUpdatePeriodByUser), {});
2565
+ }
2566
+ }
2567
+ __decorate$4([
2568
+ globalSlimmerRegistry.MapToComponentField()
2569
+ ], VegaDatePickerCalendarSelectionController.prototype, "host", void 0);
2570
+ __decorate$4([
2571
+ globalSlimmerRegistry.MapToComponentField()
2572
+ ], VegaDatePickerCalendarSelectionController.prototype, "mode", void 0);
2573
+ __decorate$4([
2574
+ globalSlimmerRegistry.MapToComponentField()
2575
+ ], VegaDatePickerCalendarSelectionController.prototype, "format", void 0);
2576
+ __decorate$4([
2577
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
2578
+ ], VegaDatePickerCalendarSelectionController.prototype, "selection", void 0);
2579
+ __decorate$4([
2580
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
2581
+ ], VegaDatePickerCalendarSelectionController.prototype, "calendarSelection", void 0);
2582
+ __decorate$4([
2583
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
2584
+ ], VegaDatePickerCalendarSelectionController.prototype, "hoverDate", void 0);
2585
+ __decorate$4([
2586
+ globalSlimmerRegistry.MapToComponentField()
2587
+ ], VegaDatePickerCalendarSelectionController.prototype, "clearEventEmitter", void 0);
2588
+ __decorate$4([
2589
+ globalSlimmerRegistry.MapToComponentField()
2590
+ ], VegaDatePickerCalendarSelectionController.prototype, "vegaSelectionChangeEventEmitter", void 0);
2591
+ __decorate$4([
2592
+ globalSlimmerRegistry.MapToComponentField()
2593
+ ], VegaDatePickerCalendarSelectionController.prototype, "allowRepickController", void 0);
2594
+ __decorate$4([
2595
+ globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
2596
+ ], VegaDatePickerCalendarSelectionController.prototype, "componentWillLoad", null);
2597
+ __decorate$4([
2598
+ globalSlimmerRegistry.MapToComponentMethod('watchSelection')
2599
+ ], VegaDatePickerCalendarSelectionController.prototype, "watchSelection", null);
2600
+ __decorate$4([
2601
+ globalSlimmerRegistry.MapToComponentMethod('reset')
2602
+ ], VegaDatePickerCalendarSelectionController.prototype, "resetRange", null);
2603
+ __decorate$4([
2604
+ globalSlimmerRegistry.MapToComponentMethod('watchCalendarSelection')
2605
+ ], VegaDatePickerCalendarSelectionController.prototype, "watchCalendarSelection", null);
2606
+
2607
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2608
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2609
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2610
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2611
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2612
+ };
2613
+ /** Current min and max calendar date controller. */
2614
+ class VegaDatePickerCalendarMinMaxDateController extends globalSlimmerRegistry.VegaSlimmer {
2615
+ /** componentWillLoad */
2616
+ componentWillLoad() {
2617
+ this.setMaxCalendarDate();
2618
+ this.setMinCalendarDate();
2619
+ }
2620
+ /** Listen maxDate changed */
2621
+ watchMaxDate() {
2622
+ this.setMaxCalendarDate();
2623
+ }
2624
+ /** Listen minDate changed */
2625
+ watchMinDate() {
2626
+ this.setMinCalendarDate();
2627
+ }
2628
+ /** Set maxCalendarDate */
2629
+ setMaxCalendarDate() {
2630
+ this.maxCalendarDate = typeGuard.CalendarDate.fromString(this.maxDate, this.format);
2631
+ }
2632
+ /** Set minCalendarDate */
2633
+ setMinCalendarDate() {
2634
+ this.minCalendarDate = typeGuard.CalendarDate.fromString(this.minDate, this.format);
2635
+ }
2636
+ }
2637
+ __decorate$3([
2638
+ globalSlimmerRegistry.MapToComponentField()
2639
+ ], VegaDatePickerCalendarMinMaxDateController.prototype, "maxDate", void 0);
2640
+ __decorate$3([
2641
+ globalSlimmerRegistry.MapToComponentField()
2642
+ ], VegaDatePickerCalendarMinMaxDateController.prototype, "minDate", void 0);
2643
+ __decorate$3([
2644
+ globalSlimmerRegistry.MapToComponentField()
2645
+ ], VegaDatePickerCalendarMinMaxDateController.prototype, "format", void 0);
2646
+ __decorate$3([
2647
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
2648
+ ], VegaDatePickerCalendarMinMaxDateController.prototype, "maxCalendarDate", void 0);
2649
+ __decorate$3([
2650
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
2651
+ ], VegaDatePickerCalendarMinMaxDateController.prototype, "minCalendarDate", void 0);
2652
+ __decorate$3([
2653
+ globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
2654
+ ], VegaDatePickerCalendarMinMaxDateController.prototype, "componentWillLoad", null);
2655
+ __decorate$3([
2656
+ globalSlimmerRegistry.MapToComponentMethod('watchMaxDate')
2657
+ ], VegaDatePickerCalendarMinMaxDateController.prototype, "watchMaxDate", null);
2658
+ __decorate$3([
2659
+ globalSlimmerRegistry.MapToComponentMethod('watchMinDate')
2660
+ ], VegaDatePickerCalendarMinMaxDateController.prototype, "watchMinDate", null);
2661
+
2662
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2663
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2664
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2665
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2666
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2667
+ };
2668
+ /** Allow repick controller. */
2669
+ class VegaDatePickerCalendarAllowRepickController extends globalSlimmerRegistry.VegaSlimmer {
2670
+ /**
2671
+ * Trigger repick
2672
+ *
2673
+ * @param {DatePickerCalendarRepickType} type - The type of repick.
2674
+ */
2675
+ triggerRepick(type) {
2676
+ this.repickType = type;
2677
+ if (type === 'end') {
2678
+ this.setEndDateAsCurrentMonthPeriod();
2679
+ }
2680
+ }
2681
+ /** while selection completed, we should clear repick type */
2682
+ watchCalendarSelection() {
2683
+ if (this.calendarSelection.isCompleted()) {
2684
+ this.repickType = null;
2685
+ }
2686
+ }
2687
+ /**
2688
+ * Get triggered repick type.
2689
+ *
2690
+ * @returns {DatePickerCalendarRepickType} - Repick type.
2691
+ */
2692
+ getRepickType() {
2693
+ return this.repickType;
2694
+ }
2695
+ /**
2696
+ * Set end date as current period.
2697
+ * - while start date and end date in same month of year, we set startDate as current period
2698
+ * - while in range mobile device, since we only render on month, so set the end date at current period
2699
+ * - while in range desktop devide, we set previous month as current period to keep end date is in second month.
2700
+ */
2701
+ setEndDateAsCurrentMonthPeriod() {
2702
+ const startDate = this.calendarSelection.startDate;
2703
+ const endDate = this.calendarSelection.endDate;
2704
+ if (endDate) {
2705
+ const date = typeGuard.isCalendarDateType(startDate) && startDate.compare(endDate).inMonth
2706
+ ? startDate
2707
+ : this.isMobileDevice
2708
+ ? endDate
2709
+ : endDate.add(0, -1);
2710
+ this.currentPeriodController.updateCalendarPeriod(new typeGuard.MonthPeriod(date));
2711
+ }
2712
+ }
2713
+ }
2714
+ __decorate$2([
2715
+ globalSlimmerRegistry.MapToComponentField()
2716
+ ], VegaDatePickerCalendarAllowRepickController.prototype, "calendarSelection", void 0);
2717
+ __decorate$2([
2718
+ globalSlimmerRegistry.MapToComponentField()
2719
+ ], VegaDatePickerCalendarAllowRepickController.prototype, "isMobileDevice", void 0);
2720
+ __decorate$2([
2721
+ globalSlimmerRegistry.MapToComponentField()
2722
+ ], VegaDatePickerCalendarAllowRepickController.prototype, "currentPeriodController", void 0);
2723
+ __decorate$2([
2724
+ globalSlimmerRegistry.MapToComponentMethod('triggerRepick')
2725
+ ], VegaDatePickerCalendarAllowRepickController.prototype, "triggerRepick", null);
2726
+ __decorate$2([
2727
+ globalSlimmerRegistry.MapToComponentMethod('watchCalendarSelection')
2728
+ ], VegaDatePickerCalendarAllowRepickController.prototype, "watchCalendarSelection", null);
2729
+
2730
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2731
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2732
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2733
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2734
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2735
+ };
2736
+ class VegaDatePickerCalendarHeaderRenderer extends globalSlimmerRegistry.VegaSlimmer {
2737
+ render() {
2738
+ return (index.h("vega-flex", { class: "month-item-header", alignItems: "center" },
2739
+ this.renderSwitcher(),
2740
+ this.yearMonthSwitcherRender.render()));
2741
+ }
2742
+ renderSwitcher() {
2743
+ return (index.h("vega-flex", { gap: "size-8", alignItems: "center" },
2744
+ this.renderPrevIcon(),
2745
+ this.renderToday(),
2746
+ this.renderNextIcon()));
2747
+ }
2748
+ renderPrevIcon() {
2749
+ const startDate = this.currentPeriod.current.firstDateOfMonth();
2750
+ const isDisabled = this.minCalendarDate &&
2751
+ (startDate.isBefore(this.minCalendarDate) || startDate.equal(this.minCalendarDate));
2752
+ return (index.h("vega-button-circle", { class: {
2753
+ 'button-previous-month': true,
2754
+ 'disabled': isDisabled,
2755
+ }, variant: "icon-only", icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-left'), ref: (ref) => {
2756
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, domNodeSubjectObserverFactory.VegaClick, () => {
2757
+ this.currentPeriodController.gotoPreviousPeriod();
2758
+ });
2759
+ }, iconColor: isDisabled ? 'text-disabled' : 'text-link', size: this.getNavigationIconSize(), disabled: isDisabled }));
2760
+ }
2761
+ renderNextIcon() {
2762
+ const period = this.mode === 'range' ? this.currentPeriod.next() : this.currentPeriod;
2763
+ const endDate = period.current.lastDateOfMonth();
2764
+ const isDisabled = this.maxCalendarDate &&
2765
+ (endDate.isAfter(this.maxCalendarDate) || endDate.equal(this.maxCalendarDate));
2766
+ return (index.h("vega-button-circle", { class: {
2767
+ 'button-next-month': true,
2768
+ 'disabled': isDisabled,
2769
+ }, variant: "icon-only", icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-right'), ref: (ref) => {
2770
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, domNodeSubjectObserverFactory.VegaClick, () => {
2771
+ this.currentPeriodController.gotoNextPeriod();
2772
+ });
2773
+ }, size: this.getNavigationIconSize(), iconColor: isDisabled ? 'text-disabled' : 'text-link', disabled: isDisabled }));
2774
+ }
2775
+ renderToday() {
2776
+ const hasLabel = this.mode === 'range' && !this.isMobileDevice && this.size !== 'small';
2777
+ return (index.h("vega-button-link", { class: {
2778
+ 'button-today': true,
2779
+ 'with-label': hasLabel,
2780
+ }, label: hasLabel ? this.translationSlimmer.t('Today') : '', ref: (ref) => {
2781
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, domNodeSubjectObserverFactory.VegaClick, () => {
2782
+ this.currentPeriodController.updateCalendarPeriod(new typeGuard.MonthPeriod(this.today, true, this.timezone));
2783
+ });
2784
+ }, size: this.size === 'large' ? 'default' : 'small', icon: internalIconManager.VegaInternalIconManager.getIconKey('bulls-eye') }));
2785
+ }
2786
+ getNavigationIconSize() {
2787
+ if (this.size === 'large')
2788
+ return 'small';
2789
+ return 'extra-small';
2790
+ }
2791
+ }
2792
+ (() => {
2793
+ internalIconManager.VegaInternalIconManager.register({
2794
+ 'chevron-left': Icons['chevron-left'],
2795
+ 'chevron-right': Icons['chevron-right'],
2796
+ 'bulls-eye': Icons['bulls-eye'],
2797
+ });
2798
+ })();
2731
2799
  __decorate$1([
2732
- globalSlimmerRegistry.InjectVegaSlimmer()
2733
- ], VegaDatePicker.prototype, "vegaDatePickerSingleInputRenderer", void 0);
2800
+ globalSlimmerRegistry.MapToComponentField()
2801
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "currentPeriod", void 0);
2734
2802
  __decorate$1([
2735
- globalSlimmerRegistry.InjectVegaSlimmer()
2736
- ], VegaDatePicker.prototype, "vegaDatePickerRangeInputRenderer", void 0);
2803
+ globalSlimmerRegistry.MapToComponentField()
2804
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "today", void 0);
2737
2805
  __decorate$1([
2738
- globalSlimmerRegistry.InjectVegaSlimmer()
2739
- ], VegaDatePicker.prototype, "vegaDatePickerCalendarRenderer", void 0);
2806
+ globalSlimmerRegistry.MapToComponentField()
2807
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "translationSlimmer", void 0);
2740
2808
  __decorate$1([
2741
- globalSlimmerRegistry.InjectVegaSlimmer()
2742
- ], VegaDatePicker.prototype, "formFieldController", void 0);
2809
+ globalSlimmerRegistry.MapToComponentField()
2810
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "yearMonthSwitcherRender", void 0);
2743
2811
  __decorate$1([
2744
- globalSlimmerRegistry.InjectVegaSlimmer()
2745
- ], VegaDatePicker.prototype, "monthYearChangeEventEmitter", void 0);
2812
+ globalSlimmerRegistry.MapToComponentField()
2813
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "mode", void 0);
2746
2814
  __decorate$1([
2747
- globalSlimmerRegistry.InjectVegaSlimmer()
2748
- ], VegaDatePicker.prototype, "changeEventEmitter", void 0);
2815
+ globalSlimmerRegistry.MapToComponentField()
2816
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "currentPeriodController", void 0);
2749
2817
  __decorate$1([
2750
- globalSlimmerRegistry.InjectVegaSlimmer()
2751
- ], VegaDatePicker.prototype, "inputEventPrevent", void 0);
2818
+ globalSlimmerRegistry.MapToComponentField()
2819
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "maxCalendarDate", void 0);
2752
2820
  __decorate$1([
2753
- globalSlimmerRegistry.InjectVegaSlimmer()
2754
- ], VegaDatePicker.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
2821
+ globalSlimmerRegistry.MapToComponentField()
2822
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "minCalendarDate", void 0);
2755
2823
  __decorate$1([
2756
- globalSlimmerRegistry.InjectVegaSlimmer()
2757
- ], VegaDatePicker.prototype, "monthYearDropdownRenderer", void 0);
2824
+ globalSlimmerRegistry.MapToComponentField()
2825
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "size", void 0);
2758
2826
  __decorate$1([
2759
- globalSlimmerRegistry.InjectVegaSlimmer()
2760
- ], VegaDatePicker.prototype, "vegaDatePickerMonthYearChangeEventController", void 0);
2827
+ globalSlimmerRegistry.MapToComponentField()
2828
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "timezone", void 0);
2761
2829
  __decorate$1([
2762
- componentLoadRequired.ComponentLoadRequired()
2763
- ], VegaDatePicker.prototype, "watchValue", null);
2764
- VegaDatePicker.style = vegaDatePickerCss;
2830
+ globalSlimmerRegistry.MapToComponentField()
2831
+ ], VegaDatePickerCalendarHeaderRenderer.prototype, "isMobileDevice", void 0);
2765
2832
 
2766
- const vegaDatePickerCalendarCss = ":host{--vega-litepicker-container-width:calc(var(--vega-litepicker-day-width) * 7);--vega-litepicker-day-width:40px;--vega-litepicker-day-height:40px}.litepicker{display:none}.litepicker button{border-width:0px;background:none}.litepicker .container__main{display:flex;flex-direction:column;padding:32px;border-radius:12px;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));box-shadow:var(--v-shadow-dropdown-menu, 0px 2px 4px -2px rgba(0, 0, 0, 0.1), 0px 4px 6px -1px rgba(0, 0, 0, 0.1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1))}@media screen and (min-width: 320px) and (max-width: 350px){.litepicker .container__main{padding:12px}}.litepicker .container__months{display:flex}.litepicker .container__months.columns-2{width:100%}@media (min-width: 320px){.litepicker .container__months.columns-2{flex-direction:column}}@media (min-width: 768px){.litepicker .container__months.columns-2{flex-direction:row}}.litepicker .container__months .month-item{box-sizing:content-box;position:relative;width:var(--vega-litepicker-container-width);z-index:1}@media (min-width: 768px){.litepicker .container__months.columns-2 .month-item:first-of-type{padding-right:32px}}@media (min-width: 768px){.litepicker .container__months.columns-2 .month-item:last-of-type{padding-left:32px}}.litepicker .container__months .month-item:nth-child(2)::before{background-color:rgba(var(--v-bg-divider, 171, 198, 216, 1));margin-top:32px;margin-bottom:32px;position:absolute;top:0px;right:0px;bottom:0px;left:0px;display:none;width:1px;content:\"\"}@media (min-width: 768px){.litepicker .container__months .month-item:nth-child(2)::before{display:block}}.litepicker .container__months .month-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;text-align:center;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;color:rgba(var(--v-text-primary, 32, 54, 69, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px}}.litepicker .container__months .month-item-header div>.month-item-name{margin-right:5px}.litepicker .container__months .month-item-header .button-previous-month,.litepicker .container__months .month-item-header .button-next-month{visibility:hidden;text-decoration:none;cursor:default}.litepicker .container__months .month-item-header .button-previous-month *,.litepicker .container__months .month-item-header .button-next-month *{pointer-events:none}.litepicker .container__months .month-item-header .button-previous-month>svg,.litepicker .container__months .month-item-header .button-previous-month>img{color:rgba(var(--v-text-primary, 32, 54, 69, 1))}.litepicker .container__months .month-item-header .button-next-month>svg,.litepicker .container__months .month-item-header .button-next-month>img{color:rgba(var(--v-text-primary, 32, 54, 69, 1))}.litepicker .container__months .month-item-weekdays-row{display:flex;color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.litepicker .container__months .month-item-weekdays-row>div{padding-top:12px;padding-bottom:12px;padding-left:8px;padding-right:8px;display:flex;align-items:center;justify-content:center;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;width:var(--vega-litepicker-day-width)}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .container__months .month-item-weekdays-row>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .container__months .month-item-weekdays-row>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .container__months .month-item-weekdays-row>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.litepicker .container__months .month-item:first-child .button-previous-month{visibility:visible}.litepicker .container__months .month-item:last-child .button-next-month{visibility:visible}.litepicker .container__months .month-item.no-previous-month .button-previous-month{visibility:hidden}.litepicker .container__months .month-item.no-next-month .button-next-month{visibility:hidden}.litepicker .container__days{display:flex;flex-wrap:wrap;justify-content:flex-start;text-align:center}.litepicker.static-height .container__days{align-content:flex-start;height:calc(var(--vega-litepicker-day-height) * 6)}.litepicker .container__days>div,.litepicker .container__days>a{padding:4px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--vega-litepicker-day-height);width:var(--vega-litepicker-day-width)}.litepicker .container__days .day-item{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:16px;font-weight:500;line-height:22px;letter-spacing:0px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;text-align:center;border-radius:9999px;cursor:default}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:500;line-height:22px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:500;line-height:22px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:500;line-height:22px;letter-spacing:0px}}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.litepicker .container__days .day-item:not(.is-locked):active{background-color:rgba(var(--v-bg-action-active, 29, 65, 195, 1));color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));border-width:0px}.litepicker .day-item.is-start-date.is-end-date.is-locked:active{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1))}.litepicker .container__days .day-item:hover:before{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));border-radius:9999px;position:absolute;top:0px;right:0px;bottom:0px;left:0px;content:\" \";z-index:-1}.litepicker .container__days .day-item.is-locked:hover:before,html.dark .litepicker .container__days .day-item.is-locked:hover:before{border-style:none}.litepicker .container__days .day-item:hover{position:relative}.litepicker .container__days .day-item.is-today{color:rgba(var(--v-text-link, 19, 98, 226, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .container__days .day-item.is-today{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .container__days .day-item.is-today{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .container__days .day-item.is-today{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.litepicker .container__days .day-item.is-in-range{border-radius:0px;position:relative;z-index:2;background-color:rgba(var(--v-bg-date-picker-range, 229, 239, 255, 1))}.litepicker .container__days .day-item:not(.is-locked).is-in-range:hover:before{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));border-radius:9999px;position:absolute;top:0px;right:0px;bottom:0px;left:0px;content:\" \";z-index:-1}.litepicker .container__days .day-item.is-start-date{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));border-radius:9999px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));position:relative}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .container__days .day-item.is-start-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .container__days .day-item.is-start-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .container__days .day-item.is-start-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.litepicker .container__days .day-item.is-start-date:hover:before{z-index:2}.litepicker .container__days .day-item.is-start-date:after{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-top-left-radius:9999px;border-bottom-left-radius:9999px;content:\" \";z-index:-1;background-color:rgba(var(--v-bg-date-picker-range, 229, 239, 255, 1))}.litepicker .container__days .day-item.is-start-date.is-flipped{border-radius:9999px;position:relative}.litepicker .container__days .day-item.is-start-date.is-flipped:after{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;content:\" \";z-index:-1}.litepicker .container__days .day-item.is-end-date{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));border-radius:9999px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));position:relative}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .container__days .day-item.is-end-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .container__days .day-item.is-end-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .container__days .day-item.is-end-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.litepicker .container__days .day-item.is-end-date:hover:before{z-index:2}.litepicker .container__days .day-item.is-end-date:after{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;content:\" \";z-index:-1;background-color:rgba(var(--v-bg-date-picker-range, 229, 239, 255, 1))}.litepicker .container__days .day-item.is-end-date.is-flipped{border-radius:9999px;position:relative}.litepicker .container__days .day-item.is-end-date.is-flipped:after{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-top-left-radius:9999px;border-bottom-left-radius:9999px;content:\" \";z-index:-1}.litepicker .container__days .day-item.is-start-date.is-end-date{border-radius:9999px}.litepicker .container__days .day-item.is-start-date.is-end-date:after,html.dark .litepicker .container__days .day-item.is-start-date.is-end-date:after{background:none}.litepicker .container__tooltip{display:none}.litepicker .container__days .day-item.is-locked{color:rgba(var(--v-text-disabled, 176, 180, 181, 1));cursor:not-allowed}.litepicker .container__days .day-item.is-disabled{text-decoration:line-through}.litepicker.mobilefriendly[data-plugins*=mobilefriendly] .container__days>div{height:var(--vega-litepicker-day-height)}.litepicker .clear-button{font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){.litepicker .clear-button{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.litepicker .clear-button{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.litepicker .clear-button{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}.litepicker .footer-container{margin-top:16px;height:24px}:host(.vega-force-hidden){display:none !important}.litepicker{left:initial !important;top:initial !important;position:initial !important}:host{position:absolute}.button-next-month svg,.button-previous-month svg{width:12px;height:16px}.litepicker .month-item-header>div.dropdown-section{display:flex;gap:12px}.litepicker .month-item-header>div.dropdown-section .dropdown-current-value{position:relative;display:flex;gap:4px;align-items:center;cursor:pointer}.litepicker .month-item-header>div.dropdown-section .dropdown-current-value.active{color:rgba(var(--v-text-link-active, 29, 65, 195, 1))}.litepicker .month-item-header>div.dropdown-section .dropdown-current-value.active:active{color:rgba(var(--v-text-link-active, 29, 65, 195, 1))}.litepicker .month-item-header>div.dropdown-section .dropdown-current-value.active:hover{color:rgba(var(--v-text-link-hover, 4, 112, 236, 1))}.litepicker .month-item-header>div.dropdown-section .dropdown-current-value.active:focus-visible{color:rgba(var(--v-text-link-focus, 4, 112, 236, 1))}";
2833
+ const vegaDatePickerCalendarCss = ":host{--vega-litepicker-container-width:calc(var(--vega-litepicker-day-width) * 7)}.calendar,.calendar .container__main,.calendar .container__months{height:100%}:host(.small.range) .calendar.static-height .container__main,:host(.regular.range) .calendar.static-height .container__main,:host(.large.range) .calendar.static-height .container__main{aspect-ratio:1/1}:host .month-item-header .button-today::part(link){color:rgba(var(--v-text-link, 19, 98, 226, 1));vertical-align:top}:host .month-item-header vega-dropdown .month-item-name,:host .month-item-header vega-dropdown .month-item-year{display:flex;gap:8px;align-items:center;cursor:pointer;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1))}:host .month-item-header vega-dropdown.active .month-item-name,:host .month-item-header vega-dropdown.active .month-item-year{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1))}:host .month-item-header .button-previous-month.disabled,:host .month-item-header .button-next-month.disabled{pointer-events:none}:host(.small.single) vega-dropdown .month-item-name span{max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.small){--vega-litepicker-day-width:28px;--vega-litepicker-day-height:28px;--vega-date-picker-calendar-range-space-size:16px}:host(.small) .current-month-year{text-align:center;color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.small) .current-month-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.small) .current-month-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.small) .current-month-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}:host(.small) .month-item-header{gap:8px;margin-bottom:12px}:host(.small) .month-item-header .button-today{height:16px}:host(.small) .month-item-header .month-item-name,:host(.small) .month-item-header .month-item-year{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.small) .month-item-header .month-item-name,:host(.small) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.small) .month-item-header .month-item-name,:host(.small) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.small) .month-item-header .month-item-name,:host(.small) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}:host(.small) .month-item-header .month-item-name{margin-right:4px}:host(.small) .month-item-header vega-dropdown .month-item-name{margin-right:8px}:host(.small) .month-item-header vega-dropdown .month-item-name,:host(.small) .month-item-header vega-dropdown .month-item-year{border-radius:4px;padding-left:4px;padding-right:4px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px;gap:2px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.small) .month-item-header vega-dropdown .month-item-name,:host(.small) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.small) .month-item-header vega-dropdown .month-item-name,:host(.small) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.small) .month-item-header vega-dropdown .month-item-name,:host(.small) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}:host(.small) .month-item-header vega-dropdown .month-item-name vega-icon,:host(.small) .month-item-header vega-dropdown .month-item-year vega-icon{width:12px;height:12px}:host(.small) .month-item-header .small-month-item-name{margin-right:8px}:host(.small) .month-item-header .small-month-item-name::part(label-container),:host(.small) .month-item-header .small-month-item-year::part(label-container){font-size:14px}:host(.small) .month-item .current-month-year{margin-bottom:4px}:host(.small) .calendar .container__main{max-width:360px;max-height:360px}:host(.small) .calendar .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;margin-bottom:4px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.small) .calendar .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.small) .calendar .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.small) .calendar .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}:host(.small) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.small) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.small) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.small) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}:host(.small) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.small) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.small) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.small) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}:host(.small) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.small) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.small) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.small) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}:host(.small) .calendar .container__days .day-item .is-start-date,:host(.small) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.small) .calendar .container__days .day-item .is-start-date,:host(.small) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.small) .calendar .container__days .day-item .is-start-date,:host(.small) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.small) .calendar .container__days .day-item .is-start-date,:host(.small) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}:host(.small.range) .calendar .container__main{width:100%;max-width:600px;max-height:360px}:host(.regular){--vega-litepicker-day-width:40px;--vega-litepicker-day-height:40px;--vega-date-picker-calendar-range-space-size:24px}:host(.regular) .current-month-year{text-align:center;color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.regular) .current-month-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.regular) .current-month-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.regular) .current-month-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}:host(.regular) .month-item-header{gap:16px;margin-bottom:24px}:host(.regular) .month-item-header .button-today{height:16px}:host(.regular) .month-item-header .button-today.with-label{height:18px}:host(.regular) .month-item-header .month-item-name,:host(.regular) .month-item-header .month-item-year{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.regular) .month-item-header .month-item-name,:host(.regular) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.regular) .month-item-header .month-item-name,:host(.regular) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.regular) .month-item-header .month-item-name,:host(.regular) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}:host(.regular) .month-item-header .month-item-name{margin-right:4px}:host(.regular) .month-item-header vega-dropdown .month-item-name{margin-right:16px}:host(.regular) .month-item-header vega-dropdown .month-item-name,:host(.regular) .month-item-header vega-dropdown .month-item-year{border-radius:4px;padding-left:8px;padding-right:8px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:16px;padding-top:3px;padding-bottom:3px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.regular) .month-item-header vega-dropdown .month-item-name,:host(.regular) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:16px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.regular) .month-item-header vega-dropdown .month-item-name,:host(.regular) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:16px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.regular) .month-item-header vega-dropdown .month-item-name,:host(.regular) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:16px}}:host(.regular) .month-item .current-month-year{margin-bottom:12px}:host(.regular) .calendar .container__main{max-width:450px;max-height:450px}:host(.regular) .calendar .container__months .month-item-header{margin-bottom:12px}:host(.regular) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.regular) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.regular) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.regular) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}:host(.regular) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.regular) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.regular) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.regular) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}:host(.regular) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.regular) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.regular) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.regular) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}:host(.regular) .calendar .container__days .day-item .is-start-date,:host(.regular) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.regular) .calendar .container__days .day-item .is-start-date,:host(.regular) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.regular) .calendar .container__days .day-item .is-start-date,:host(.regular) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.regular) .calendar .container__days .day-item .is-start-date,:host(.regular) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}:host(.regular.range) .calendar .container__main{width:100%;max-width:900px;max-height:450px}:host(.large){--vega-litepicker-day-width:56px;--vega-litepicker-day-height:56px;--vega-date-picker-calendar-range-space-size:40px}:host(.large) .current-month-year{text-align:center;color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.large) .current-month-year{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.large) .current-month-year{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.large) .current-month-year{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}:host(.large) .month-item-header{gap:16px;margin-bottom:24px}:host(.large) .month-item-header .button-today{height:16px}:host(.large) .month-item-header .button-today.with-label{height:24px}:host(.large) .month-item-header .month-item-name{margin-right:4px}:host(.large) .month-item-header .month-item-name,:host(.large) .month-item-header .month-item-year{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px;gap:8px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.large) .month-item-header .month-item-name,:host(.large) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.large) .month-item-header .month-item-name,:host(.large) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.large) .month-item-header .month-item-name,:host(.large) .month-item-header .month-item-year{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}:host(.large) .month-item-header vega-dropdown .month-item-name{margin-right:24px}:host(.large) .month-item-header vega-dropdown .month-item-name,:host(.large) .month-item-header vega-dropdown .month-item-year{border-radius:8px;padding-left:12px;padding-right:12px;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;padding-top:7px;padding-bottom:7px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.large) .month-item-header vega-dropdown .month-item-name,:host(.large) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.large) .month-item-header vega-dropdown .month-item-name,:host(.large) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.large) .month-item-header vega-dropdown .month-item-name,:host(.large) .month-item-header vega-dropdown .month-item-year{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}:host(.large) .month-item .current-month-year{margin-bottom:16px}:host(.large) .calendar .container__main{max-width:600px;max-height:600px}:host(.large) .calendar .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px;margin-bottom:16px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.large) .calendar .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.large) .calendar .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.large) .calendar .container__months .month-item-header{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}:host(.large) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.large) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.large) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.large) .calendar .container__months .month-item-weekdays-row{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}:host(.large) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.large) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.large) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.large) .calendar .container__months .month-item-weekdays-row div{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}:host(.large) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.large) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.large) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.large) .calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}:host(.large) .calendar .container__days .day-item .is-start-date,:host(.large) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.large) .calendar .container__days .day-item .is-start-date,:host(.large) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.large) .calendar .container__days .day-item .is-start-date,:host(.large) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.large) .calendar .container__days .day-item .is-start-date,:host(.large) .calendar .container__days .day-item .is-end-date{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:700;line-height:24px;letter-spacing:0px}}:host(.large.range) .calendar .container__main{width:100%;max-width:1200px;max-height:600px}.calendar .container__main{display:flex;flex-direction:column}.calendar .container__months{display:flex}.calendar .container__months.columns-2{width:100%;flex-direction:row}.calendar .container__months .month-item{box-sizing:content-box;position:relative;width:100%;height:100%;z-index:1;display:flex;flex-direction:column}.calendar .container__months.columns-2 .month-item:first-of-type{padding-right:var(--vega-date-picker-calendar-range-space-size)}.calendar .container__months.columns-2 .month-item:last-of-type{padding-left:var(--vega-date-picker-calendar-range-space-size)}.calendar .container__months .month-item:nth-child(2)::before{background-color:rgba(var(--v-bg-divider, 171, 198, 216, 1));margin-bottom:32px;position:absolute;top:0px;right:0px;bottom:0px;left:0px;display:none;width:1px;content:\"\";display:block}.calendar .container__months .month-item-weekdays-row{color:rgba(var(--v-text-primary, 32, 54, 69, 1));place-items:center}.calendar .container__days{text-align:center;place-items:center;flex:1 1 auto}.calendar.static-height .container__days{align-content:flex-start}.calendar:not(.static-height) .container__days{flex:none}.calendar .container__months .month-item-weekdays-row>div,.calendar .container__days>div,.calendar .container__days>a{padding:4px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--vega-litepicker-day-height);width:100%;min-width:var(--vega-litepicker-day-width)}.calendar .container__days .day-item{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:16px;font-weight:500;line-height:22px;letter-spacing:0px;text-align:center;border-radius:9999px;cursor:default}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:500;line-height:22px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:500;line-height:22px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar .container__days .day-item{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:500;line-height:22px;letter-spacing:0px}}.calendar .container__days .day-item:not(.is-locked):not(.is-disabled):active{background-color:rgba(var(--v-bg-action-active, 29, 65, 195, 1));color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));border-width:0px}.calendar .day-item.is-start-date.is-end-date.is-locked:active{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1))}.calendar .container__days .day-item:hover:before{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));border-radius:9999px;position:absolute;top:0px;right:0px;bottom:0px;left:0px;content:\" \";z-index:-1}.calendar .container__days .day-item.is-locked:hover:before,html.dark .calendar .container__days .day-item.is-locked:hover:before{border-style:none}.calendar .container__days .day-item.is-disabled:hover:before{border-style:none}.calendar .container__days .day-item.is-locked,.calendar .container__days .day-item.is-disabled{-webkit-tap-highlight-color:transparent}.calendar .container__days .day-item:hover{position:relative}.calendar .container__days .day-item.is-today{color:rgba(var(--v-text-link, 19, 98, 226, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar .container__days .day-item.is-today{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar .container__days .day-item.is-today{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar .container__days .day-item.is-today{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar .container__days .day-item.is-in-range{border-radius:0px;position:relative;z-index:2;background-color:rgba(var(--v-bg-date-picker-range, 229, 239, 255, 1))}.calendar .container__days .day-item:not(.is-locked):not(.is-disabled).is-in-range:hover:before{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));border-radius:9999px;position:absolute;top:0px;right:0px;bottom:0px;left:0px;content:\" \";z-index:-1}.calendar .container__days .day-item.is-start-date{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));border-radius:9999px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));position:relative}.calendar .container__days .day-item.is-start-date:hover:before{z-index:2}.calendar .container__days .day-item.is-start-date:after{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-top-left-radius:9999px;border-bottom-left-radius:9999px;content:\" \";z-index:-1;background-color:rgba(var(--v-bg-date-picker-range, 229, 239, 255, 1))}.calendar .container__days .day-item.is-start-date.is-flipped{border-radius:9999px;position:relative}.calendar .container__days .day-item.is-start-date.is-flipped:after{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;content:\" \";z-index:-1}.calendar .container__days .day-item.is-end-date{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));border-radius:9999px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));position:relative}.calendar .container__days .day-item.is-end-date:hover:before{z-index:2}.calendar .container__days .day-item.is-end-date:after{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;content:\" \";z-index:-1;background-color:rgba(var(--v-bg-date-picker-range, 229, 239, 255, 1))}.calendar .container__days .day-item.is-end-date.is-flipped{border-radius:9999px;position:relative}.calendar .container__days .day-item.is-end-date.is-flipped:after{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-top-left-radius:9999px;border-bottom-left-radius:9999px;content:\" \";z-index:-1}.calendar .container__days .day-item.is-start-date.is-end-date{border-radius:9999px}.calendar .container__days .day-item.is-start-date.is-end-date:after,html.dark .calendar .container__days .day-item.is-start-date.is-end-date:after{background:none}.calendar .container__tooltip{display:none}.calendar .container__days .day-item.is-locked{color:rgba(var(--v-text-disabled, 176, 180, 181, 1));cursor:not-allowed}.calendar.mobilefriendly[data-plugins*=mobilefriendly] .container__days>div{height:var(--vega-date-picker-calendar-day-height)}.calendar .clear-button{font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar .clear-button{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar .clear-button{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar .clear-button{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}.calendar .footer-container{margin-top:16px;height:24px}:host(.vega-force-hidden){display:none !important}.calendar{left:initial !important;top:initial !important;position:initial !important}.button-next-month svg,.button-previous-month svg{width:12px;height:16px}.calendar .container__days .day-item.is-disabled{color:rgba(var(--v-text-disabled, 176, 180, 181, 1));cursor:not-allowed;text-decoration:line-through}.calendar .container__days>div:not(.day-item){-webkit-tap-highlight-color:transparent}.calendar .month-item-header>div.dropdown-section{display:flex;gap:12px}.calendar .month-item-header>div.dropdown-section .dropdown-current-value{position:relative;display:flex;gap:4px;align-items:center;cursor:pointer}.calendar .month-item-header>div.dropdown-section .dropdown-current-value.active{color:rgba(var(--v-text-link-active, 29, 65, 195, 1))}.calendar .month-item-header>div.dropdown-section .dropdown-current-value.active:active{color:rgba(var(--v-text-link-active, 29, 65, 195, 1))}.calendar .month-item-header>div.dropdown-section .dropdown-current-value.active:hover{color:rgba(var(--v-text-link-hover, 4, 112, 236, 1))}.calendar .month-item-header>div.dropdown-section .dropdown-current-value.active:focus-visible{color:rgba(var(--v-text-link-focus, 4, 112, 236, 1))}";
2767
2834
 
2768
2835
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2769
2836
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -2778,20 +2845,189 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
2778
2845
  const VegaDatePickerCalendar = class {
2779
2846
  constructor(hostRef) {
2780
2847
  index.registerInstance(this, hostRef);
2848
+ this.vegaClear = index.createEvent(this, "vegaClear", 7);
2849
+ this.clear = index.createEvent(this, "clear", 7);
2850
+ this.vegaMonthYearChange = index.createEvent(this, "vegaMonthYearChange", 7);
2851
+ this.monthYearChange = index.createEvent(this, "monthYearChange", 7);
2852
+ this.vegaSelectionChange = index.createEvent(this, "vegaSelectionChange", 7);
2853
+ this.selectionChange = index.createEvent(this, "selectionChange", 7);
2781
2854
  this.globalSlimmers = {};
2855
+ this.renderer = new VegaDatePickerCalendarRenderer();
2856
+ this.monthItemRenderer = new VegaDatePickerMonthItemRenderer();
2857
+ this.headerRenderer = new VegaDatePickerCalendarHeaderRenderer();
2858
+ this.translationSlimmer = new translationSlimmer.TranslationSlimmer();
2859
+ this.todayController = new VegaDatePickerCalendarTodayController();
2860
+ this.selectionController = new VegaDatePickerCalendarSelectionController();
2861
+ this.minMaxDateController = new VegaDatePickerCalendarMinMaxDateController();
2862
+ this.currentPeriodController = new VegaDatePickerCalendarCurrentPeriodController();
2863
+ this.yearMonthSwitcherRender = new VegaDatePickerCalendarYearMonthSwitcherRenderer();
2864
+ this.allowRepickController = new VegaDatePickerCalendarAllowRepickController();
2782
2865
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
2866
+ this.clearEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaDatePickerCalendar, domNodeSubjectObserverFactory.VegaClear);
2867
+ this.monthYearChangeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaDatePickerCalendar, domNodeSubjectObserverFactory.VegaMonthYearChange);
2868
+ this.vegaSelectionChangeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaDatePickerCalendar, domNodeSubjectObserverFactory.VegaSelectionChange);
2869
+ this.isMobileDevice = ui.getDeviceType() === ui.DeviceType.MOBILE;
2870
+ /**
2871
+ * Renders the calendar picker in different sizes. Defaults to regular size
2872
+ *
2873
+ * @vegaVersion 2.72.0
2874
+ */
2875
+ this.size = 'regular';
2876
+ /**
2877
+ * Specifies the selection mode of the date picker calendar.
2878
+ *
2879
+ * - Use `single` to allow selecting a single date.
2880
+ * - Use `range` to allow selecting a date range.
2881
+ *
2882
+ * @vegaVersion 2.72.0
2883
+ */
2884
+ this.mode = 'single';
2885
+ /**
2886
+ * Specifies the selected date or date range in the date picker calendar.
2887
+ *
2888
+ * @vegaVersion 2.72.0
2889
+ */
2890
+ /* eslint-disable-next-line @stencil/strict-mutable */
2891
+ this.selection = this.mode === 'range' ? ['', ''] : '';
2892
+ /**
2893
+ * Specifies the desired date format.
2894
+ *
2895
+ * @vegaVersion 2.72.0
2896
+ */
2897
+ this.format = 'MM/DD/YYYY';
2898
+ /**
2899
+ * Specifies whether to display the clear button when the calendar is shown.
2900
+ *
2901
+ * @vegaVersion 2.72.0
2902
+ */
2903
+ this.clearButton = false;
2904
+ /**
2905
+ * Specifies the calendar is static height.
2906
+ *
2907
+ * @vegaVersion 2.72.0
2908
+ */
2909
+ this.staticHeight = false;
2910
+ /**
2911
+ * Determines whether to show months and years dropdown in date picker calendar
2912
+ * If set to true, date picker calendar will have months and years dropdown
2913
+ *
2914
+ * @vegaVersion 2.72.0
2915
+ */
2916
+ this.showYearMonthDropdowns = false;
2917
+ /**
2918
+ * Determines whether the year or month dropdown position is calculated relative to the screen.
2919
+ *
2920
+ * @vegaVersion 2.72.0
2921
+ */
2922
+ this.yearMonthDropdownProps = {};
2923
+ /**
2924
+ * Specifies a predicate function that determines whether a given date in the date picker should be disabled (non-interactive).
2925
+ *
2926
+ * The function is called for each date cell before rendering.
2927
+ *
2928
+ * Return `true` to disable the cell, or false to keep it selectable.
2929
+ * Default behavior: always returns `false` (no cells are disabled).
2930
+ *
2931
+ * @param date - The `Date` object for the cell being evaluated.
2932
+ * @returns `true` if the cell should be disabled; otherwise `false`.
2933
+ * @vegaVersion 2.72.0
2934
+ */
2935
+ this.isDateDisabled = () => false;
2936
+ }
2937
+ watchCurrentPeriod() {
2938
+ }
2939
+ watchCalendarSelection() {
2940
+ }
2941
+ watchMaxCalendarDate() {
2942
+ }
2943
+ watchMinCalendarDate() {
2944
+ }
2945
+ watchSelection() {
2946
+ }
2947
+ watchMinDate() {
2948
+ }
2949
+ watchMaxDate() {
2950
+ }
2951
+ watchTimezone() {
2952
+ }
2953
+ /**
2954
+ * Invoke this method to reset calendar to its initial state,
2955
+ * it include reset to current value and reset the current period.
2956
+ * @vegaVersion 2.72.0
2957
+ */
2958
+ async reset() {
2959
+ }
2960
+ /**
2961
+ * Invoke this method to trigger repick.
2962
+ * The param `type` is distinguishing the start date or end date can be repick.
2963
+ * @vegaVersion 2.72.0
2964
+ */
2965
+ async triggerRepick(type) {
2783
2966
  }
2784
2967
  render() {
2785
- return index.h(index.Host, null);
2968
+ return component.sanitizeVegaComponent(index.h(index.Host, { class: {
2969
+ [this.size]: true,
2970
+ [this.mode]: true,
2971
+ mobile: this.isMobileDevice,
2972
+ } }, this.renderer.render()), this.host);
2786
2973
  }
2787
2974
  get host() { return index.getElement(this); }
2975
+ static get watchers() { return {
2976
+ "currentPeriod": ["watchCurrentPeriod"],
2977
+ "calendarSelection": ["watchCalendarSelection"],
2978
+ "maxCalendarDate": ["watchMaxCalendarDate"],
2979
+ "minCalendarDate": ["watchMinCalendarDate"],
2980
+ "selection": ["watchSelection"],
2981
+ "minDate": ["watchMinDate"],
2982
+ "maxDate": ["watchMaxDate"],
2983
+ "timezone": ["watchTimezone"]
2984
+ }; }
2788
2985
  };
2789
2986
  __decorate([
2790
2987
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
2791
2988
  ], VegaDatePickerCalendar.prototype, "globalSlimmers", void 0);
2989
+ __decorate([
2990
+ globalSlimmerRegistry.InjectVegaSlimmer()
2991
+ ], VegaDatePickerCalendar.prototype, "renderer", void 0);
2992
+ __decorate([
2993
+ globalSlimmerRegistry.InjectVegaSlimmer()
2994
+ ], VegaDatePickerCalendar.prototype, "monthItemRenderer", void 0);
2995
+ __decorate([
2996
+ globalSlimmerRegistry.InjectVegaSlimmer()
2997
+ ], VegaDatePickerCalendar.prototype, "headerRenderer", void 0);
2998
+ __decorate([
2999
+ globalSlimmerRegistry.InjectVegaSlimmer()
3000
+ ], VegaDatePickerCalendar.prototype, "translationSlimmer", void 0);
3001
+ __decorate([
3002
+ globalSlimmerRegistry.InjectVegaSlimmer()
3003
+ ], VegaDatePickerCalendar.prototype, "todayController", void 0);
3004
+ __decorate([
3005
+ globalSlimmerRegistry.InjectVegaSlimmer()
3006
+ ], VegaDatePickerCalendar.prototype, "selectionController", void 0);
3007
+ __decorate([
3008
+ globalSlimmerRegistry.InjectVegaSlimmer()
3009
+ ], VegaDatePickerCalendar.prototype, "minMaxDateController", void 0);
3010
+ __decorate([
3011
+ globalSlimmerRegistry.InjectVegaSlimmer()
3012
+ ], VegaDatePickerCalendar.prototype, "currentPeriodController", void 0);
3013
+ __decorate([
3014
+ globalSlimmerRegistry.InjectVegaSlimmer()
3015
+ ], VegaDatePickerCalendar.prototype, "yearMonthSwitcherRender", void 0);
3016
+ __decorate([
3017
+ globalSlimmerRegistry.InjectVegaSlimmer()
3018
+ ], VegaDatePickerCalendar.prototype, "allowRepickController", void 0);
2792
3019
  __decorate([
2793
3020
  globalSlimmerRegistry.InjectVegaSlimmer()
2794
3021
  ], VegaDatePickerCalendar.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
3022
+ __decorate([
3023
+ globalSlimmerRegistry.InjectVegaSlimmer()
3024
+ ], VegaDatePickerCalendar.prototype, "clearEventEmitter", void 0);
3025
+ __decorate([
3026
+ globalSlimmerRegistry.InjectVegaSlimmer()
3027
+ ], VegaDatePickerCalendar.prototype, "monthYearChangeEventEmitter", void 0);
3028
+ __decorate([
3029
+ globalSlimmerRegistry.InjectVegaSlimmer()
3030
+ ], VegaDatePickerCalendar.prototype, "vegaSelectionChangeEventEmitter", void 0);
2795
3031
  VegaDatePickerCalendar.style = vegaDatePickerCalendarCss;
2796
3032
 
2797
3033
  exports.vega_date_picker = VegaDatePicker;