@swisspost/design-system-components 10.0.0-next.72 → 10.0.0-next.76
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.
- package/dist/cjs/{create-validator-decorator-Bnx17kwi.js → create-validator-decorator-4dRrOF30.js} +1 -1
- package/dist/cjs/{index-ngUOBQot.js → index-BqngpwGa.js} +56 -15
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{one-of-BHyX4vYq.js → one-of-D1veqtsm.js} +1 -1
- package/dist/cjs/{package-Bi-tiNRc.js → package-B0PdQ0Dm.js} +1 -1
- package/dist/cjs/{pattern-BgBx5zGQ.js → pattern-B7VKOu5m.js} +1 -1
- package/dist/cjs/post-accordion_2.cjs.entry.js +10 -12
- package/dist/cjs/post-autocomplete.cjs.entry.js +6 -6
- package/dist/cjs/post-avatar.cjs.entry.js +7 -7
- package/dist/cjs/post-back-to-top.cjs.entry.js +6 -6
- package/dist/cjs/post-banner.cjs.entry.js +6 -6
- package/dist/cjs/post-breadcrumb-item.cjs.entry.js +8 -8
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +9 -11
- package/dist/cjs/post-closebutton_14.cjs.entry.js +86 -62
- package/dist/cjs/post-collapsible_2.cjs.entry.js +6 -6
- package/dist/cjs/post-components.cjs.js +2 -2
- package/dist/cjs/post-date-picker.cjs.entry.js +427 -257
- package/dist/cjs/post-footer.cjs.entry.js +6 -6
- package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
- package/dist/cjs/post-listbox-option.cjs.entry.js +4 -4
- package/dist/cjs/post-listbox.cjs.entry.js +3 -3
- package/dist/cjs/post-number-input.cjs.entry.js +6 -5
- package/dist/cjs/post-pagination.cjs.entry.js +15 -10
- package/dist/cjs/post-popover-trigger.cjs.entry.js +5 -5
- package/dist/cjs/post-popover.cjs.entry.js +11 -12
- package/dist/cjs/post-progressbar.cjs.entry.js +4 -4
- package/dist/cjs/post-rating.cjs.entry.js +6 -6
- package/dist/cjs/post-side-navigation-trigger.cjs.entry.js +109 -0
- package/dist/cjs/post-side-navigation.cjs.entry.js +140 -0
- package/dist/cjs/post-stepper-item.cjs.entry.js +4 -4
- package/dist/cjs/post-stepper.cjs.entry.js +9 -7
- package/dist/cjs/post-tab-item.cjs.entry.js +15 -14
- package/dist/cjs/post-tab-panel.cjs.entry.js +6 -6
- package/dist/cjs/post-tabs.cjs.entry.js +196 -74
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +7 -9
- package/dist/cjs/post-tooltip.cjs.entry.js +9 -10
- package/dist/cjs/{required-lRDOdbd6.js → required-Bkz8MOYa.js} +1 -1
- package/dist/cjs/{type-shT641Eo.js → type-D8eD1JMd.js} +1 -1
- package/dist/cjs/{url-DRUMqVBq.js → url-C7MnIIZ_.js} +1 -1
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/post-accordion/post-accordion.js +1 -1
- package/dist/collection/components/post-accordion-item/post-accordion-item.js +4 -36
- package/dist/collection/components/post-autocomplete/post-autocomplete.js +1 -1
- package/dist/collection/components/post-avatar/post-avatar.js +1 -1
- package/dist/collection/components/post-back-to-top/post-back-to-top.js +1 -1
- package/dist/collection/components/post-banner/post-banner.css +2 -2
- package/dist/collection/components/post-banner/post-banner.js +1 -1
- package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
- package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +2 -4
- package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
- package/dist/collection/components/post-closebutton/post-closebutton.js +22 -11
- package/dist/collection/components/post-closebutton/types.js +1 -1
- package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
- package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +1 -1
- package/dist/collection/components/post-date-picker/accessibility-utils.js +59 -0
- package/dist/collection/components/post-date-picker/date-utils.js +102 -0
- package/dist/collection/components/post-date-picker/native-mask-element.js +36 -0
- package/dist/collection/components/post-date-picker/post-date-picker.css +1 -1
- package/dist/collection/components/post-date-picker/post-date-picker.js +224 -301
- package/dist/collection/components/post-footer/post-footer.js +1 -1
- package/dist/collection/components/post-header/post-header.css +1 -1
- package/dist/collection/components/post-header/post-header.js +13 -11
- package/dist/collection/components/post-icon/post-icon.js +1 -1
- package/dist/collection/components/post-language-menu/post-language-menu.css +1 -1
- package/dist/collection/components/post-language-menu/post-language-menu.js +7 -5
- package/dist/collection/components/post-language-menu-item/post-language-menu-item.css +1 -1
- package/dist/collection/components/post-linkarea/post-linkarea.js +1 -1
- package/dist/collection/components/post-listbox/post-listbox.js +1 -1
- package/dist/collection/components/post-listbox-option/post-listbox-option.js +2 -2
- package/dist/collection/components/post-logo/post-logo.js +1 -1
- package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
- package/dist/collection/components/post-megadropdown/post-megadropdown.js +1 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
- package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +1 -1
- package/dist/collection/components/post-menu/post-menu.css +1 -1
- package/dist/collection/components/post-menu/post-menu.js +9 -12
- package/dist/collection/components/post-menu-item/post-menu-item.css +1 -1
- package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
- package/dist/collection/components/post-number-input/post-number-input.css +1 -1
- package/dist/collection/components/post-number-input/post-number-input.js +3 -2
- package/dist/collection/components/post-pagination/post-pagination.css +1 -1
- package/dist/collection/components/post-pagination/post-pagination.js +11 -5
- package/dist/collection/components/post-popover/post-popover.js +12 -22
- package/dist/collection/components/post-popover-trigger/post-popover-trigger.js +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
- package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +17 -12
- package/dist/collection/components/post-progressbar/post-progressbar.js +1 -1
- package/dist/collection/components/post-rating/post-rating.js +1 -1
- package/dist/collection/components/post-side-navigation/post-side-navigation.css +1 -0
- package/dist/collection/components/post-side-navigation/post-side-navigation.js +267 -0
- package/dist/collection/components/post-side-navigation/side-navigation-styles.js +1 -0
- package/dist/collection/components/post-side-navigation-trigger/post-side-navigation-trigger.css +1 -0
- package/dist/collection/components/post-side-navigation-trigger/post-side-navigation-trigger.js +154 -0
- package/dist/collection/components/post-stepper/post-stepper.js +3 -1
- package/dist/collection/components/post-stepper-item/post-stepper-item.css +1 -1
- package/dist/collection/components/post-stepper-item/post-stepper-item.js +1 -1
- package/dist/collection/components/post-tab-item/post-tab-item.js +36 -19
- package/dist/collection/components/post-tab-panel/post-tab-panel.js +3 -2
- package/dist/collection/components/post-tabs/post-tabs.css +1 -1
- package/dist/collection/components/post-tabs/post-tabs.js +255 -84
- package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
- package/dist/collection/components/post-tooltip/post-tooltip.js +12 -22
- package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +2 -4
- package/dist/collection/types/element-api.js +3 -0
- package/dist/component-names.json +2 -1
- package/dist/components/index.d.ts +4 -2
- package/dist/components/index.js +1 -1
- package/dist/components/package.js +1 -1
- package/dist/components/post-accordion-item2.js +1 -1
- package/dist/components/post-accordion2.js +1 -1
- package/dist/components/post-autocomplete.js +1 -1
- package/dist/components/post-avatar.js +1 -1
- package/dist/components/post-back-to-top.js +1 -1
- package/dist/components/post-banner.js +1 -1
- package/dist/components/post-breadcrumb-item.js +1 -1
- package/dist/components/post-breadcrumbs.js +1 -1
- package/dist/components/post-closebutton2.js +1 -1
- package/dist/components/post-collapsible-trigger2.js +1 -1
- package/dist/components/post-collapsible2.js +1 -1
- package/dist/components/post-date-picker.js +1 -1
- package/dist/components/post-footer.js +1 -1
- package/dist/components/post-header.js +1 -1
- package/dist/components/post-icon2.js +1 -1
- package/dist/components/post-language-menu-item.js +1 -1
- package/dist/components/post-language-menu.js +1 -1
- package/dist/components/post-linkarea.js +1 -1
- package/dist/components/post-listbox-option.js +1 -1
- package/dist/components/post-listbox.js +1 -1
- package/dist/components/post-logo.js +1 -1
- package/dist/components/post-mainnavigation.js +1 -1
- package/dist/components/post-megadropdown-trigger.js +1 -1
- package/dist/components/post-megadropdown.js +1 -1
- package/dist/components/post-menu-item2.js +1 -1
- package/dist/components/post-menu-trigger2.js +1 -1
- package/dist/components/post-menu2.js +1 -1
- package/dist/components/post-number-input.js +1 -1
- package/dist/components/post-pagination.js +1 -1
- package/dist/components/post-popover-trigger.js +1 -1
- package/dist/components/post-popover.js +1 -1
- package/dist/components/post-popovercontainer2.js +1 -1
- package/dist/components/post-progressbar.js +1 -1
- package/dist/components/post-rating.js +1 -1
- package/dist/components/post-side-navigation-trigger.d.ts +11 -0
- package/dist/components/post-side-navigation-trigger.js +1 -0
- package/dist/components/{post-login-widget.d.ts → post-side-navigation.d.ts} +4 -4
- package/dist/components/post-side-navigation.js +1 -0
- package/dist/components/post-stepper-item.js +1 -1
- package/dist/components/post-stepper.js +1 -1
- package/dist/components/post-tab-item.js +1 -1
- package/dist/components/post-tab-panel.js +1 -1
- package/dist/components/post-tabs.js +1 -1
- package/dist/components/post-togglebutton2.js +1 -1
- package/dist/components/post-tooltip-trigger.js +1 -1
- package/dist/components/post-tooltip.js +1 -1
- package/dist/components/react/index.js +1 -1
- package/dist/components/react/{p-Bu2JeHDf.js → p-06VKKzxv.js} +1 -1
- package/dist/components/react/p-BkWqx_6U.js +1 -0
- package/dist/components/react/p-Chtl9X7o.js +1 -0
- package/dist/components/react/p-CrLBbthi.js +1 -0
- package/dist/components/react/{p-D1zw8FxT.js → p-D0kuUny7.js} +1 -1
- package/dist/components/react/{p-PM7l--ff.js → p-DKF__bJF.js} +1 -1
- package/dist/components/react/p-DkKOmXaG.js +1 -0
- package/dist/components/react/p-UdMqVxhd.js +1 -0
- package/dist/components/react/p-d02KpeUM.js +1 -0
- package/dist/components/react/{p-BZSAV0-K.js → p-gUhGka9h.js} +1 -1
- package/dist/components/react/{p-Cd1TsNm7.js → p-uQE3DVb8.js} +1 -1
- package/dist/components/react/{p-BxoRVIIr.js → p-wLn52OZT.js} +1 -1
- package/dist/components/react/post-accordion-item.js +1 -1
- package/dist/components/react/post-accordion.js +1 -1
- package/dist/components/react/post-autocomplete.js +1 -1
- package/dist/components/react/post-avatar.js +1 -1
- package/dist/components/react/post-back-to-top.js +1 -1
- package/dist/components/react/post-banner.js +1 -1
- package/dist/components/react/post-breadcrumb-item.js +1 -1
- package/dist/components/react/post-breadcrumbs.js +1 -1
- package/dist/components/react/post-closebutton.js +1 -1
- package/dist/components/react/post-collapsible-trigger.js +1 -1
- package/dist/components/react/post-collapsible.js +1 -1
- package/dist/components/react/post-date-picker.js +1 -1
- package/dist/components/react/post-footer.js +1 -1
- package/dist/components/react/post-header.js +1 -1
- package/dist/components/react/post-icon.js +1 -1
- package/dist/components/react/post-language-menu-item.js +1 -1
- package/dist/components/react/post-language-menu.js +1 -1
- package/dist/components/react/post-linkarea.js +1 -1
- package/dist/components/react/post-listbox-option.js +1 -1
- package/dist/components/react/post-listbox.js +1 -1
- package/dist/components/react/post-logo.js +1 -1
- package/dist/components/react/post-mainnavigation.js +1 -1
- package/dist/components/react/post-megadropdown-trigger.js +1 -1
- package/dist/components/react/post-megadropdown.js +1 -1
- package/dist/components/react/post-menu-item.js +1 -1
- package/dist/components/react/post-menu-trigger.js +1 -1
- package/dist/components/react/post-menu.js +1 -1
- package/dist/components/react/post-number-input.js +1 -1
- package/dist/components/react/post-pagination.js +1 -1
- package/dist/components/react/post-popover-trigger.js +1 -1
- package/dist/components/react/post-popover.js +1 -1
- package/dist/components/react/post-popovercontainer.js +1 -1
- package/dist/components/react/post-progressbar.js +1 -1
- package/dist/components/react/post-rating.js +1 -1
- package/dist/components/react/post-side-navigation-trigger.d.ts +11 -0
- package/dist/components/react/post-side-navigation-trigger.js +1 -0
- package/dist/components/react/{post-login-widget.d.ts → post-side-navigation.d.ts} +4 -4
- package/dist/components/react/post-side-navigation.js +1 -0
- package/dist/components/react/post-stepper-item.js +1 -1
- package/dist/components/react/post-stepper.js +1 -1
- package/dist/components/react/post-tab-item.js +1 -1
- package/dist/components/react/post-tab-panel.js +1 -1
- package/dist/components/react/post-tabs.js +1 -1
- package/dist/components/react/post-togglebutton.js +1 -1
- package/dist/components/react/post-tooltip-trigger.js +1 -1
- package/dist/components/react/post-tooltip.js +1 -1
- package/dist/docs.json +571 -529
- package/dist/esm/{create-validator-decorator-D8qwF5Qe.js → create-validator-decorator-CYYTw0AS.js} +1 -1
- package/dist/esm/{index-BbDawWJ5.js → index-DE1aWdqx.js} +56 -15
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{one-of-GPr3FflU.js → one-of-Ug1_Xoes.js} +1 -1
- package/dist/esm/package-d02KpeUM.js +3 -0
- package/dist/esm/{pattern-BWPRYpYv.js → pattern-WLk4tOqI.js} +1 -1
- package/dist/esm/post-accordion_2.entry.js +10 -12
- package/dist/esm/post-autocomplete.entry.js +6 -6
- package/dist/esm/post-avatar.entry.js +7 -7
- package/dist/esm/post-back-to-top.entry.js +6 -6
- package/dist/esm/post-banner.entry.js +6 -6
- package/dist/esm/post-breadcrumb-item.entry.js +8 -8
- package/dist/esm/post-breadcrumbs.entry.js +9 -11
- package/dist/esm/post-closebutton_14.entry.js +86 -62
- package/dist/esm/post-collapsible_2.entry.js +6 -6
- package/dist/esm/post-components.js +3 -3
- package/dist/esm/post-date-picker.entry.js +427 -257
- package/dist/esm/post-footer.entry.js +6 -6
- package/dist/esm/post-linkarea.entry.js +3 -3
- package/dist/esm/post-listbox-option.entry.js +4 -4
- package/dist/esm/post-listbox.entry.js +3 -3
- package/dist/esm/post-number-input.entry.js +6 -5
- package/dist/esm/post-pagination.entry.js +15 -10
- package/dist/esm/post-popover-trigger.entry.js +5 -5
- package/dist/esm/post-popover.entry.js +11 -12
- package/dist/esm/post-progressbar.entry.js +4 -4
- package/dist/esm/post-rating.entry.js +6 -6
- package/dist/esm/post-side-navigation-trigger.entry.js +107 -0
- package/dist/esm/post-side-navigation.entry.js +138 -0
- package/dist/esm/post-stepper-item.entry.js +4 -4
- package/dist/esm/post-stepper.entry.js +9 -7
- package/dist/esm/post-tab-item.entry.js +15 -14
- package/dist/esm/post-tab-panel.entry.js +6 -6
- package/dist/esm/post-tabs.entry.js +196 -74
- package/dist/esm/post-tooltip-trigger.entry.js +7 -9
- package/dist/esm/post-tooltip.entry.js +9 -10
- package/dist/esm/{required-uK-rZZjy.js → required-DeOhRbtk.js} +1 -1
- package/dist/esm/{type-obmwEgkM.js → type-S-4aPMGU.js} +1 -1
- package/dist/esm/{url-B28ByZCe.js → url-C8KSrmWc.js} +1 -1
- package/dist/post-components/{p-12047216.entry.js → p-0efb77f9.entry.js} +1 -1
- package/dist/post-components/p-1223e51d.entry.js +1 -0
- package/dist/post-components/{p-3b05e01d.entry.js → p-1878e9f8.entry.js} +1 -1
- package/dist/post-components/p-1eea2715.entry.js +1 -0
- package/dist/post-components/p-2233c37e.entry.js +1 -0
- package/dist/post-components/p-266e68a3.entry.js +1 -0
- package/dist/post-components/{p-00f55af5.entry.js → p-2a0b9ed0.entry.js} +1 -1
- package/dist/post-components/p-3c71d687.entry.js +1 -0
- package/dist/post-components/{p-IUnDBhPg.js → p-4-_BhJWV.js} +1 -1
- package/dist/post-components/{p-7f929bb9.entry.js → p-477c8c35.entry.js} +1 -1
- package/dist/post-components/{p-2c6b4e6a.entry.js → p-4b366aa0.entry.js} +1 -1
- package/dist/post-components/{p-53fd5230.entry.js → p-4c7750cd.entry.js} +1 -1
- package/dist/post-components/p-52e118e0.entry.js +1 -0
- package/dist/post-components/p-53f34806.entry.js +1 -0
- package/dist/post-components/p-621a81a7.entry.js +1 -0
- package/dist/post-components/p-85594193.entry.js +1 -0
- package/dist/post-components/p-89ea447b.entry.js +1 -0
- package/dist/post-components/p-8d8ac7ae.entry.js +1 -0
- package/dist/post-components/p-900dc8e1.entry.js +1 -0
- package/dist/post-components/p-93da9105.entry.js +1 -0
- package/dist/post-components/{p-d061773b.entry.js → p-95ad4d06.entry.js} +1 -1
- package/dist/post-components/p-9915ffee.entry.js +1 -0
- package/dist/post-components/{p-Ck2qPht6.js → p-B6uZASBE.js} +1 -1
- package/dist/post-components/{p-DSNGJB58.js → p-BDW1XHCO.js} +1 -1
- package/dist/post-components/{p-CVsNfXZd.js → p-CiOyV6Mo.js} +1 -1
- package/dist/post-components/p-DE1aWdqx.js +2 -0
- package/dist/post-components/{p-BRNqUiXj.js → p-DMiERazc.js} +1 -1
- package/dist/post-components/{p-D4F0BqBW.js → p-NPUljV0P.js} +1 -1
- package/dist/post-components/p-a08abdb2.entry.js +1 -0
- package/dist/post-components/p-a971ec25.entry.js +1 -0
- package/dist/post-components/{p-e2370e94.entry.js → p-ad69ed8c.entry.js} +1 -1
- package/dist/post-components/p-c11a8e06.entry.js +1 -0
- package/dist/post-components/p-d02KpeUM.js +1 -0
- package/dist/post-components/p-d9ce8f05.entry.js +1 -0
- package/dist/post-components/p-dcceab4e.entry.js +1 -0
- package/dist/post-components/{p-f1ca1d3f.entry.js → p-e219e22a.entry.js} +1 -1
- package/dist/post-components/{p-758fc84f.entry.js → p-f6c45fed.entry.js} +1 -1
- package/dist/post-components/post-components.css +2 -2
- package/dist/post-components/post-components.esm.js +1 -1
- package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +0 -8
- package/dist/types/components/post-closebutton/post-closebutton.d.ts +5 -2
- package/dist/types/components/post-closebutton/types.d.ts +1 -1
- package/dist/types/components/post-date-picker/accessibility-utils.d.ts +19 -0
- package/dist/types/components/post-date-picker/date-utils.d.ts +48 -0
- package/dist/types/components/post-date-picker/native-mask-element.d.ts +12 -0
- package/dist/types/components/post-date-picker/post-date-picker.d.ts +23 -62
- package/dist/types/components/post-header/post-header.d.ts +3 -2
- package/dist/types/components/post-language-menu/post-language-menu.d.ts +2 -1
- package/dist/types/components/post-menu/post-menu.d.ts +4 -4
- package/dist/types/components/post-popover/post-popover.d.ts +4 -5
- package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +2 -2
- package/dist/types/components/post-side-navigation/post-side-navigation.d.ts +62 -0
- package/dist/types/components/post-side-navigation/side-navigation-styles.d.ts +2 -0
- package/dist/types/components/post-side-navigation-trigger/post-side-navigation-trigger.d.ts +33 -0
- package/dist/types/components/post-tab-item/post-tab-item.d.ts +8 -4
- package/dist/types/components/post-tab-panel/post-tab-panel.d.ts +1 -1
- package/dist/types/components/post-tabs/post-tabs.d.ts +37 -17
- package/dist/types/components/post-tooltip/post-tooltip.d.ts +4 -5
- package/dist/types/components.d.ts +181 -164
- package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/vrt/helpers/header-variants.config.d.ts +1 -0
- package/dist/types/types/element-api.d.ts +3 -0
- package/dist/vrt/helpers/header-test-config.js +3 -2
- package/dist/vrt/helpers/header-variants.config.js +29 -2
- package/hydrate/index.js +1174 -682
- package/hydrate/index.mjs +1174 -682
- package/package.json +11 -12
- package/dist/cjs/long-press-event-Dx21Ojod.js +0 -276
- package/dist/cjs/post-login-widget.cjs.entry.js +0 -92
- package/dist/collection/components/post-accordion-item/heading-levels.js +0 -1
- package/dist/collection/components/post-login-widget/post-login-widget.css +0 -1
- package/dist/collection/components/post-login-widget/post-login-widget.js +0 -218
- package/dist/collection/components/post-tab-item/post-tab-item.css +0 -1
- package/dist/components/long-press-event.js +0 -8
- package/dist/components/post-avatar2.js +0 -1
- package/dist/components/post-login-widget.js +0 -1
- package/dist/components/react/p-85IGlhtB.js +0 -1
- package/dist/components/react/p-B9ZFuYey.js +0 -1
- package/dist/components/react/p-BNgqqRsB.js +0 -8
- package/dist/components/react/p-Bg9dtyzK.js +0 -1
- package/dist/components/react/p-Bn66acGG.js +0 -1
- package/dist/components/react/p-CkTAQJGd.js +0 -1
- package/dist/components/react/p-ClG-N42b.js +0 -1
- package/dist/components/react/p-DwuW52g5.js +0 -1
- package/dist/components/react/post-login-widget.js +0 -1
- package/dist/esm/long-press-event-BNgqqRsB.js +0 -274
- package/dist/esm/package-ClG-N42b.js +0 -3
- package/dist/esm/post-login-widget.entry.js +0 -90
- package/dist/post-components/p-0288484f.entry.js +0 -1
- package/dist/post-components/p-07cdd022.entry.js +0 -1
- package/dist/post-components/p-17df4e91.entry.js +0 -1
- package/dist/post-components/p-17e046fa.entry.js +0 -1
- package/dist/post-components/p-29bd31a0.entry.js +0 -1
- package/dist/post-components/p-5b7e6369.entry.js +0 -1
- package/dist/post-components/p-5f4ca179.entry.js +0 -1
- package/dist/post-components/p-62b6154a.entry.js +0 -1
- package/dist/post-components/p-686a6e22.entry.js +0 -1
- package/dist/post-components/p-9865f72c.entry.js +0 -1
- package/dist/post-components/p-99803d57.entry.js +0 -1
- package/dist/post-components/p-BNgqqRsB.js +0 -8
- package/dist/post-components/p-BbDawWJ5.js +0 -2
- package/dist/post-components/p-ClG-N42b.js +0 -1
- package/dist/post-components/p-a0e0a760.entry.js +0 -1
- package/dist/post-components/p-a850652d.entry.js +0 -1
- package/dist/post-components/p-aac1a8ea.entry.js +0 -1
- package/dist/post-components/p-b3f0f9a2.entry.js +0 -1
- package/dist/post-components/p-c37dba4b.entry.js +0 -1
- package/dist/post-components/p-f2e5f44e.entry.js +0 -1
- package/dist/post-components/p-ff98ada4.entry.js +0 -1
- package/dist/types/components/post-accordion-item/heading-levels.d.ts +0 -2
- package/dist/types/components/post-login-widget/post-login-widget.d.ts +0 -45
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BqngpwGa.js');
|
|
4
4
|
require('./breakpoints-B0Olgvgc.js');
|
|
5
|
-
var _package = require('./package-
|
|
5
|
+
var _package = require('./package-B0PdQ0Dm.js');
|
|
6
6
|
var _commonjsHelpers = require('./_commonjsHelpers-BJu3ubxk.js');
|
|
7
|
-
var createValidatorDecorator = require('./create-validator-decorator-
|
|
8
|
-
var required = require('./required-
|
|
9
|
-
var type = require('./type-
|
|
7
|
+
var createValidatorDecorator = require('./create-validator-decorator-4dRrOF30.js');
|
|
8
|
+
var required = require('./required-Bkz8MOYa.js');
|
|
9
|
+
var type = require('./type-D8eD1JMd.js');
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Property decorator that validates the property value is a valid date string.
|
|
@@ -89,24 +89,6 @@ function isValidLocale(locale) {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
var airDatepicker$1 = {exports: {}};
|
|
93
|
-
|
|
94
|
-
var airDatepicker = airDatepicker$1.exports;
|
|
95
|
-
|
|
96
|
-
var hasRequiredAirDatepicker;
|
|
97
|
-
|
|
98
|
-
function requireAirDatepicker () {
|
|
99
|
-
if (hasRequiredAirDatepicker) return airDatepicker$1.exports;
|
|
100
|
-
hasRequiredAirDatepicker = 1;
|
|
101
|
-
(function (module, exports) {
|
|
102
|
-
!function(e,t){module.exports=t();}(airDatepicker,(function(){return function(){var e={d:function(t,i){for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:true,get:i[s]});},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return R}});var i={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},s={classes:"",inline:false,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:true,keyboardNav:true,selectedDates:false,container:"",isMobile:false,visible:false,position:"bottom left",offset:12,view:i.days,minView:i.days,showOtherMonths:true,selectOtherMonths:true,moveToOtherMonthsOnSelect:true,showOtherYears:true,selectOtherYears:true,moveToOtherYearsOnSelect:true,minDate:"",maxDate:"",disableNavWhenOutOfRange:true,multipleDates:false,multipleDatesSeparator:", ",range:false,dynamicRange:true,buttons:false,monthsField:"monthsShort",showEvent:"focus",autoClose:false,fixedHeight:false,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:false,onlyTimepicker:false,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:false,onChangeViewDate:false,onChangeView:false,onRenderCell:false,onShow:false,onHide:false,onClickDayName:false};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return "string"==typeof e?t.querySelector(e):e}function n(){let{tagName:e="div",className:t="",innerHtml:i="",id:s="",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=document.createElement(e);return t&&n.classList.add(...t.split(" ")),s&&(n.id=s),i&&(n.innerHTML=i),a&&r(n,a),n}function r(e,t){for(let[i,s]of Object.entries(t)) void 0!==s&&e.setAttribute(i,s);return e}function h(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function o(e){let t=e.getHours(),{hours:i,dayPeriod:s}=l(t);return {year:e.getFullYear(),month:e.getMonth(),fullMonth:e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,date:e.getDate(),fullDate:e.getDate()<10?"0"+e.getDate():e.getDate(),day:e.getDay(),hours:t,fullHours:d(t),hours12:i,dayPeriod:s,fullHours12:d(i),minutes:e.getMinutes(),fullMinutes:e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes()}}function l(e){return {dayPeriod:e>11?"pm":"am",hours:e%12==0?12:e%12}}function d(e){return e<10?"0"+e:e}function c(e){let t=10*Math.floor(e.getFullYear()/10);return [t,t+9]}function u(){let e=[];for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return i.forEach((t=>{if("object"==typeof t)for(let i in t)t[i]&&e.push(i);else t&&e.push(t);})),e.join(" ")}function p(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!e||!t)return false;let a=o(e),n=o(t);return {[i.days]:a.date===n.date&&a.month===n.month&&a.year===n.year,[i.months]:a.month===n.month&&a.year===n.year,[i.years]:a.year===n.year}[s]}function m(e,t,i){let s=g(e,false).getTime(),a=g(t,false).getTime();return i?s>=a:s>a}function v(e,t){return !m(e,t,true)}function g(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(e.getTime());return "boolean"!=typeof t||t||function(e){e.setHours(0,0,0,0);}(i),i}function D(e,t,i){e.length?e.forEach((e=>{e.addEventListener(t,i);})):e.addEventListener(t,i);}function y(e,t){return !(!e||e===document||e instanceof DocumentFragment)&&(e.matches(t)?e:y(e.parentNode,t))}function f(e,t,i){return e>i?i:e<t?t:e}function w(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return i.filter((e=>e)).forEach((t=>{for(let[i,s]of Object.entries(t))if(void 0!==s&&"[object Object]"===s.toString()){let t=void 0!==e[i]?e[i].toString():void 0,a=s.toString(),n=Array.isArray(s)?[]:{};e[i]=e[i]?t!==a?n:e[i]:n,w(e[i],s);}else e[i]=s;})),e}function b(e){let t=e;return e instanceof Date||("string"==typeof e&&/^\d{4}-\d{2}-\d{2}$/.test(e)&&(e+="T00:00:00"),t=new Date(e)),isNaN(t.getTime())&&(console.log(`Unable to convert value "${e}" to Date object`),t=false),t}function $(e){let t="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+t+")("+e+")($|<|"+t+")","g")}function k(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}class C{constructor(){let{type:e,date:t,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};k(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=true;})),k(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=false;})),k(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=true;})),k(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=false;})),k(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus());})),k(this,"onChangeFocusDate",(e=>{if(!e)return void(this.focused&&this.removeFocus());let t=p(e,this.date,this.type);t?this.focus():!t&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus();})),k(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this._handleClasses(),this.$cell))),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=i,this.opts=s,this.body=a,this.customData=false,this.init();}init(){var e,t;let{onRenderCell:i}=this.opts;i&&(this.customData=i({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),null!==(e=this.customData)&&void 0!==e&&e.disabled?this.dp.disableDate(this.date):false===(null===(t=this.customData)||void 0===t?void 0:t.disabled)&&this.dp.enableDate(this.date);}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate);}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate);}_createElement(){var e;let{year:t,month:i,fullMonth:s,date:a,fullDate:r}=o(this.date),h=(null===(e=this.customData)||void 0===e?void 0:e.attrs)||{};this.$cell=n({attrs:{"data-year":t,"data-month":i,"data-date":a,"data-iso-date":`${t}-${s}-${r}`,...h}}),this.$cell.adpCell=this;}_getClassName(){var e;let t=new Date,{selectOtherMonths:s,selectOtherYears:a}=this.opts,{minDate:n,maxDate:r,isDateDisabled:h}=this.dp,{day:l}=o(this.date),d=this._isOutOfMinMaxRange(),c=h(this.date),m=u("air-datepicker-cell",`-${this.singleType}-`,{"-current-":p(t,this.date,this.type),"-min-date-":n&&p(n,this.date,this.type),"-max-date-":r&&p(r,this.date,this.type)}),v="";switch(this.type){case i.days:v=u({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!s||d||c});break;case i.months:v=u({"-disabled-":d});break;case i.years:v=u({"-other-decade-":this.isOtherDecade,"-disabled-":d||this.isOtherDecade&&!a});}return u(m,v,null===(e=this.customData)||void 0===e?void 0:e.classes).split(" ")}_getHtml(){var e;let{year:t,month:s,date:a}=o(this.date),{showOtherMonths:n,showOtherYears:r}=this.opts;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i.days:return !n&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return !r&&this.isOtherDecade?"":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:r,date:h}=o(a),l=s===i.days,d=s===i.years,c=!!e&&new Date(r,d?e.getMonth():n,l?h:e.getDate()),u=!!t&&new Date(r,d?t.getMonth():n,l?h:t.getDate());return e&&t?v(c,e)||m(u,t):e?v(c,e):t?m(u,t):void 0}destroy(){this.unbindDatepickerEvents();}_handleRangeStatus(){const{selectedDates:e,focusDate:t,rangeDateTo:i,rangeDateFrom:s}=this.dp,a=e.length;if(this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),!a)return;let n=s,r=i;if(1===a&&t){const i=m(t,e[0]);n=i?e[0]:t,r=i?t:e[0];}let h=u({"-in-range-":n&&r&&(o=this.date,l=n,d=r,m(o,l)&&v(o,d)),"-range-from-":n&&p(this.date,n,this.type),"-range-to-":r&&p(this.date,r,this.type)});var o,l,d;h&&this.$cell.classList.add(...h.split(" "));}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect();}_handleInitialFocusStatus(){p(this.dp.focusDate,this.date,this.type)&&this.focus();}_handleClasses(){this.$cell.setAttribute("class",""),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),this.dp.opts.range&&this._handleRangeStatus()),this.$cell.classList.add(...this._getClassName());}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function _(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}let M={[i.days]:`<div class="air-datepicker-body--day-names"></div><div class="air-datepicker-body--cells -${i.days}-"></div>`,[i.months]:`<div class="air-datepicker-body--cells -${i.months}-"></div>`,[i.years]:`<div class="air-datepicker-body--cells -${i.years}-"></div>`};const S=".air-datepicker-cell";class T{constructor(e){let{dp:t,type:s,opts:a}=e;_(this,"handleClick",(e=>{let t=e.target.closest(S).adpCell;if(t.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(t.date,t.type);i?this.dp._handleAlreadySelectedDates(i,t.date):this.dp.selectDate(t.date);})),_(this,"handleDayNameClick",(e=>{let t=e.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(t),datepicker:this.dp});})),_(this,"onChangeCurrentView",(e=>{e!==this.type?this.hide():(this.show(),this.render());})),_(this,"onMouseOverCell",(e=>{let t=y(e.target,S);this.dp.setFocusDate(!!t&&t.adpCell.date);})),_(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(false);})),_(this,"onClickBody",(e=>{let{onClickDayName:t}=this.opts,i=e.target;i.closest(S)&&this.handleClick(e),t&&i.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(e);})),_(this,"onMouseDown",(e=>{this.pressed=true;let t=y(e.target,S),i=t&&t.adpCell;p(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=true),p(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=true);})),_(this,"onMouseMove",(e=>{if(!this.pressed||!this.dp.isMinViewReached)return;e.preventDefault();let t=y(e.target,S),i=t&&t.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:n}=this.dp;if(!i||i.isDisabled)return;let{date:r}=i;if(2===s.length){if(this.rangeFromFocused&&!m(r,a)){let{hours:e,minutes:t}=o(n);r.setHours(e),r.setMinutes(t),this.dp.rangeDateFrom=r,this.dp.replaceDate(n,r);}if(this.rangeToFocused&&!v(r,n)){let{hours:e,minutes:t}=o(a);r.setHours(e),r.setMinutes(t),this.dp.rangeDateTo=r,this.dp.replaceDate(a,r);}}})),_(this,"onMouseUp",(()=>{this.pressed=false,this.rangeFromFocused=false,this.rangeToFocused=false;})),_(this,"onChangeViewDate",((e,t)=>{if(!this.isVisible)return;let s=c(e),a=c(t);switch(this.dp.currentView){case i.days:if(p(e,t,i.months))return;break;case i.months:if(p(e,t,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render();})),_(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((e=>{this.$cells.appendChild(e.render());}));})),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=false,this.isVisible=true,this.init();}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents();}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;D(this.$el,"mouseover",this.onMouseOverCell),D(this.$el,"mouseout",this.onMouseOutCell),D(this.$el,"click",this.onClickBody),e&&t&&(D(this.$el,"mousedown",this.onMouseDown),D(this.$el,"mousemove",this.onMouseMove),D(window.document,"mouseup",this.onMouseUp));}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView);}_buildBaseHtml(){this.$el=n({className:`air-datepicker-body -${this.type}-`,innerHtml:M[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el);}_getDayNamesHtml(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,n=e,r=0;for(;r<7;){let e=n%7;t+=`<div class="${u("air-datepicker-body--day-name",{[i.cssClassWeekend]:s(e),"-clickable-":!!a})}" data-day-index='${e}'>${this.dp.locale.daysMin[e]}</div>`,r++,n++;}return t}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml();}_generateCell(e){let{type:t,dp:i,opts:s}=this;return new C({type:t,dp:i,opts:s,date:e,body:this})}_generateCells(){T.getDatesFunction(this.type)(this.dp,(e=>{this.cells.push(this._generateCell(e));}));}show(){this.isVisible=true,this.$el.classList.remove("-hidden-");}hide(){this.isVisible=false,this.$el.classList.add("-hidden-");}destroyCells(){this.cells.forEach((e=>e.destroy())),this.cells=[],this.$cells.innerHTML="";}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView);}static getDaysDates(e,t){let{viewDate:i,opts:{fixedHeight:s},locale:{firstDay:a}}=e,n=h(i),{year:r,month:l}=o(i),d=new Date(r,l,1),c=new Date(r,l,n),u=d.getDay()-a,p=6-c.getDay()+a;u=u<0?u+7:u,p=p>6?p-7:p;let m=function(e,t){let{year:i,month:s,date:a}=o(e);return new Date(i,s,a-t)}(d,u),v=n+u+p,g=m.getDate(),{year:D,month:y}=o(m),f=0;s&&(v=42);const w=[];for(;f<v;){let e=new Date(D,y,g+f);t&&t(e),w.push(e),f++;}return w}static getMonthsDates(e,t){let{year:i}=e.parsedViewDate,s=0,a=[];for(;s<12;){const e=new Date(i,s);a.push(e),t&&t(e),s++;}return a}static getYearsDates(e,t){let i=c(e.viewDate),s=i[0]-1,a=i[1]+1,n=s,r=[];for(;n<=a;){const e=new Date(n,0);r.push(e),t&&t(e),n++;}return r}static getDatesFunction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.days;return {[i.days]:T.getDaysDates,[i.months]:T.getMonthsDates,[i.years]:T.getYearsDates}[e]}}function F(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}class V{constructor(e){let{dp:t,opts:i}=e;F(this,"onClickNav",(e=>{let t=y(e.target,".air-datepicker-nav--action");if(!t)return;let i=t.dataset.action;this.dp[i]();})),F(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus();})),F(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus();})),F(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up();})),F(this,"update",(()=>{let{prevHtml:e,nextHtml:t}=this.opts;this.$prev.innerHTML=e,this.$next.innerHTML=t,this._resetNavStatus(),this.render(),this.handleNavStatus();})),F(this,"renderDelay",(()=>{setTimeout(this.render);})),F(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(e,t){for(let i in t)t[i]?e.classList.add(i):e.classList.remove(i);}(this.$title,{"-disabled-":this.dp.isFinalView});})),this.dp=t,this.opts=i,this.init();}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents();}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el);}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle);}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render));}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render));}_createElement(){this.$el=n({tagName:"nav",className:"air-datepicker-nav"});}_getTitle(){let{dp:e,opts:t}=this,i=t.navTitles[e.currentView];return "function"==typeof i?i(e):e.formatDate(e.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,r=!!t&&o(t),h=!!s&&o(s);switch(this.dp.currentView){case i.days:t&&r.month>=n&&r.year>=a&&this._disableNav("prev"),s&&h.month<=n&&h.year<=a&&this._disableNav("next");break;case i.months:t&&r.year>=a&&this._disableNav("prev"),s&&h.year<=a&&this._disableNav("next");break;case i.years:{let e=c(this.dp.viewDate);t&&r.year>=e[0]&&this._disableNav("prev"),s&&h.year<=e[1]&&this._disableNav("next");break}}}_disableNav(e){a('[data-action="'+e+'"]',this.$el).classList.add("-disabled-");}_resetNavStatus(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];e.length?e.forEach((e=>{e.classList.remove(...i);})):e.classList.remove(...i);}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-");}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML=`<div class="air-datepicker-nav--action" data-action="prev">${e}</div><div class="air-datepicker-nav--title"></div><div class="air-datepicker-nav--action" data-action="next">${t}</div>`;}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find((t=>"function"==typeof e[t]))}}var x={today:{content:e=>e.locale.today,onClick:e=>e.setViewDate(new Date)},clear:{content:e=>e.locale.clear,onClick:e=>e.clear()}};class H{constructor(e){let{dp:t,opts:i}=e;this.dp=t,this.opts=i,this.init();}init(){this.createElement(),this.render();}createElement(){this.$el=n({className:"air-datepicker-buttons"});}destroy(){this.$el.parentNode.removeChild(this.$el);}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach((e=>{let t=e;"string"==typeof e&&x[e]&&(t=x[e]);let i=this.createButton(t);t.onClick&&this.attachEventToButton(i,t.onClick),this.$el.appendChild(i);}));}attachEventToButton(e,t){e.addEventListener("click",(()=>{t(this.dp);}));}createButton(e){let{content:t,className:i,tagName:s="button",attrs:a={}}=e;return n({tagName:s,innerHtml:`<span tabindex='-1'>${"function"==typeof t?t(this.dp):t}</span>`,className:u("air-datepicker-button",i),attrs:a})}render(){this.generateButtons();}}function E(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}class L{constructor(){let{opts:e,dp:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};E(this,"toggleTimepickerIsActive",(e=>{this.dp.timepickerIsActive=e;})),E(this,"onChangeSelectedDate",(e=>{let{date:t,updateTime:i=false}=e;t&&(this.setMinMaxTime(t),this.setCurrentTime(!!i&&t),this.addTimeToDate(t));})),E(this,"onChangeLastSelectedDate",(e=>{e&&(this.setTime(e),this.render());})),E(this,"onChangeInputRange",(e=>{let t=e.target;this[t.getAttribute("name")]=t.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes});})),E(this,"onMouseEnterLeave",(e=>{let t=e.target.getAttribute("name"),i=this.$minutesText;"hours"===t&&(i=this.$hoursText),i.classList.toggle("-focus-");})),E(this,"onFocus",(()=>{this.toggleTimepickerIsActive(true);})),E(this,"onBlur",(()=>{this.toggleTimepickerIsActive(false);})),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match($("h"))||s.match($("hh")))&&(this.ampm=true),this.init();}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents();}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate);}bindDOMEvents(){let e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),D(this.$ranges,e,this.onChangeInputRange),D(this.$ranges,"mouseenter",this.onMouseEnterLeave),D(this.$ranges,"mouseleave",this.onMouseEnterLeave),D(this.$ranges,"focus",this.onFocus),D(this.$ranges,"mousedown",this.onFocus),D(this.$ranges,"blur",this.onBlur);}createElement(){this.$el=n({className:u("air-datepicker-time",{"-am-pm-":this.dp.ampm})});}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el);}buildHtml(){let{ampm:e,hours:t,displayHours:i,minutes:s,minHours:a,minMinutes:n,maxHours:r,maxMinutes:h,dayPeriod:o,opts:{hoursStep:l,minutesStep:c}}=this;this.$el.innerHTML=`<div class="air-datepicker-time--current"> <span class="air-datepicker-time--current-hours">${d(i)}</span> <span class="air-datepicker-time--current-colon">:</span> <span class="air-datepicker-time--current-minutes">${d(s)}</span> `+(e?`<span class='air-datepicker-time--current-ampm'>${o}</span>`:"")+'</div><div class="air-datepicker-time--sliders"> <div class="air-datepicker-time--row">'+` <input type="range" name="hours" value="${t}" min="${a}" max="${r}" step="${l}"/> </div> <div class="air-datepicker-time--row">`+` <input type="range" name="minutes" value="${s}" min="${n}" max="${h}" step="${c}"/> </div></div>`;}defineDOM(){let e=e=>a(e,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=e('[name="hours"]'),this.$minutes=e('[name="minutes"]'),this.$hoursText=e(".air-datepicker-time--current-hours"),this.$minutesText=e(".air-datepicker-time--current-minutes"),this.$ampm=e(".air-datepicker-time--current-ampm");}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e);}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes));}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:i}=this.dp;t&&p(e,t)&&this.setMinTimeFromMinDate(t),i&&p(e,i)&&this.setMaxTimeFromMaxDate(i);}}setCurrentTime(e){let{hours:t,minutes:i}=e?o(e):this;this.hours=f(t,this.minHours,this.maxHours),this.minutes=f(i,this.minMinutes,this.maxMinutes);}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:i,maxMinutes:s}=this.opts;this.minHours=f(e,0,23),this.minMinutes=f(t,0,59),this.maxHours=f(i,0,23),this.maxMinutes=f(s,0,59);}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes();}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()<e.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=e.getMinutes();}updateSliders(){r(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,r(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes;}updateText(){this.$hoursText.innerHTML=d(this.displayHours),this.$minutesText.innerHTML=d(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod);}set hours(e){this._hours=e;let{hours:t,dayPeriod:i}=l(e);this.displayHours=this.ampm?t:e,this.dayPeriod=i;}get hours(){return this._hours}render(){this.updateSliders(),this.updateText();}}function A(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}class O{constructor(e){let{dp:t,opts:i}=e;A(this,"pressedKeys",new Set),A(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],e=>e.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],e=>e.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],e=>e.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],e=>e.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],e=>e.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],e=>e.year-=10],[["Control","Shift","ArrowUp"],(e,t)=>t.up()]])),A(this,"handleHotKey",(e=>{let t=this.hotKeys.get(e),i=o(this.getInitialFocusDate());t(i,this.dp);let{year:s,month:a,date:n}=i,r=h(new Date(s,a));r<n&&(n=r);let l=this.dp.getClampedDate(new Date(s,a,n));this.dp.setFocusDate(l,{viewDateTransition:true});})),A(this,"isHotKeyPressed",(()=>{let e=false,t=this.pressedKeys.size,i=e=>this.pressedKeys.has(e);for(let[s]of this.hotKeys){if(e)break;if(Array.isArray(s[0]))s.forEach((a=>{e||t!==a.length||(e=a.every(i)&&s);}));else {if(t!==s.length)continue;e=s.every(i)&&s;}}return e})),A(this,"isArrow",(e=>e>=37&&e<=40)),A(this,"onKeyDown",(e=>{if(!this.dp.visible&&!this.dp.treatAsInline)return;let{key:t,which:i}=e,{dp:s,dp:{focusDate:a},opts:n}=this;this.registerKey(t);let r=this.isHotKeyPressed();if(r)return e.preventDefault(),void this.handleHotKey(r);if(this.isArrow(i))return e.preventDefault(),void this.focusNextCell(t);if("Enter"===t){if(s.currentView!==n.minView)return void s.down();if(a){let e=s._checkIfDateIsSelected(a);return void(e?s._handleAlreadySelectedDates(e,a):s.selectDate(a))}}"Escape"===t&&this.dp.hide();})),A(this,"onKeyUp",(e=>{this.removeKey(e.key);})),this.dp=t,this.opts=i,this.init();}init(){this.bindKeyboardEvents();}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp);}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null;}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,r=e||s[s.length-1];if(!r)switch(t){case i.days:r=new Date(a,n,(new Date).getDate());break;case i.months:r=new Date(a,n,1);break;case i.years:r=new Date(a,0,1);}return r}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:r}=i,h=o(t),l=h.year,d=h.month,c=h.date;switch(e){case "ArrowLeft":s===a&&(c-=1),s===n&&(d-=1),s===r&&(l-=1);break;case "ArrowUp":s===a&&(c-=7),s===n&&(d-=3),s===r&&(l-=4);break;case "ArrowRight":s===a&&(c+=1),s===n&&(d+=1),s===r&&(l+=1);break;case "ArrowDown":s===a&&(c+=7),s===n&&(d+=3),s===r&&(l+=4);}let u=this.dp.getClampedDate(new Date(l,d,c));this.dp.setFocusDate(u,{viewDateTransition:true});}registerKey(e){this.pressedKeys.add(e);}removeKey(e){this.pressedKeys.delete(e);}}let N={on(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t];},off(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((e=>e!==t)));},removeAllEvents(){this.__events={};},trigger(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];this.__events&&this.__events[e]&&this.__events[e].forEach((e=>{e(...i);}));}};function I(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}let P="",j="",B=false;class R{static buildGlobalContainer(e){B=true,P=n({className:e,id:e}),a("body").appendChild(P);}constructor(e,t){var r=this;if(I(this,"viewIndexes",[i.days,i.months,i.years]),I(this,"next",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t+1,1));break;case i.months:this.setViewDate(new Date(e+1,t,1));break;case i.years:this.setViewDate(new Date(e+10,0,1));}})),I(this,"prev",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t-1,1));break;case i.months:this.setViewDate(new Date(e-1,t,1));break;case i.years:this.setViewDate(new Date(e-10,0,1));}})),I(this,"_finishHide",(()=>{this.hideAnimation=false,this._destroyComponents(),this.$container.removeChild(this.$datepicker);})),I(this,"setPosition",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(e=e||r.opts.position))return void(r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide}));let i,s,{isMobile:a}=r.opts,n=r.$el.getBoundingClientRect(),h=r.$el.getBoundingClientRect(),o=r.$datepicker.offsetParent,l=r.$el.offsetParent,d=r.$datepicker.getBoundingClientRect(),c=e.split(" "),u=window.scrollY,p=window.scrollX,m=r.opts.offset,v=c[0],g=c[1];if(a)r.$datepicker.style.cssText="left: 50%; top: 50%";else {if(o===l&&o!==document.body&&(h={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:n.width,height:r.$el.offsetHeight},u=0,p=0),o!==l&&o!==document.body){let e=o.getBoundingClientRect();h={top:n.top-e.top,left:n.left-e.left,width:n.width,height:n.height},u=0,p=0;}switch(v){case "top":i=h.top-d.height-m;break;case "right":s=h.left+h.width+m;break;case "bottom":i=h.top+h.height+m;break;case "left":s=h.left-d.width-m;}switch(g){case "top":i=h.top;break;case "right":s=h.left+h.width-d.width;break;case "bottom":i=h.top+h.height-d.height;break;case "left":s=h.left;break;case "center":/left|right/.test(v)?i=h.top+h.height/2-d.height/2:s=h.left+h.width/2-d.width/2;}r.$datepicker.style.cssText=`left: ${s+p}px; top: ${i+u}px`;}})),I(this,"_setInputValue",(()=>{let{opts:e,$altField:t,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=e;a&&t&&(t.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i),this.$el.dispatchEvent(new Event("change"));})),I(this,"_getInputValue",(e=>{let{selectedDates:t,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!t.length)return "";let n="function"==typeof e,r=n?e(s?t:t[0]):t.map((t=>this.formatDate(t,e)));return r=n?r:r.join(a),r})),I(this,"_checkIfDateIsSelected",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=false;return r.selectedDates.some((i=>{let a=p(e,i,t);return s=a&&i,a})),s})),I(this,"_scheduleCallAfterTransition",(e=>{this._cancelScheduledCall(),e&&e(false),this._onTransitionEnd=()=>{e&&e(true);},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:true});})),I(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd);})),I(this,"setViewDate",(e=>{if(!((e=b(e))instanceof Date))return;if(p(e,this.viewDate))return;let t=this.viewDate;this.viewDate=e;let{onChangeViewDate:s}=this.opts;if(s){let{month:e,year:t}=this.parsedViewDate;s({month:e,year:t,decade:this.curDecade});}this.trigger(i.eventChangeViewDate,e,t);})),I(this,"setFocusDate",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=b(e))instanceof Date)&&(r.focusDate=e,r.trigger(i.eventChangeFocusDate,e,t));})),I(this,"setCurrentView",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.viewIndexes.includes(e)){if(r.currentView=e,r.elIsInput&&r.visible&&r.setPosition(void 0,true),r.trigger(i.eventChangeCurrentView,e),!r.views[e]){let t=r.views[e]=new T({dp:r,opts:r.opts,type:e});r.shouldUpdateDOM&&r.$content.appendChild(t.$el);}r.opts.onChangeView&&!t.silent&&r.opts.onChangeView(e);}})),I(this,"_updateLastSelectedDate",(e=>{this.lastSelectedDate=e,this.trigger(i.eventChangeLastSelectedDate,e);})),I(this,"destroy",(()=>{if(this.isDestroyed)return;let{showEvent:e,isMobile:t}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(e,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),t&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts={},this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=[],this.rangeDateFrom=null,this.rangeDateTo=null,this.isDestroyed=true;})),I(this,"update",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=w({},r.opts),{silent:a}=t;w(r.opts,e);let{timepicker:n,buttons:h,range:o,selectedDates:l,isMobile:d}=r.opts,c=r.visible||r.treatAsInline;r._createMinMaxDates(),r._limitViewDateByMaxMinDates(),r._handleLocale(),l&&(r.selectedDates=[],r.selectDate(l,{silent:a})),e.view&&r.setCurrentView(e.view,{silent:a}),r._setInputValue(),s.range&&!o?(r.rangeDateTo=false,r.rangeDateFrom=false):!s.range&&o&&r.selectedDates.length&&(r.rangeDateFrom=r.selectedDates[0],r.rangeDateTo=r.selectedDates[1]),s.timepicker&&!n?(c&&r.timepicker.destroy(),r.timepicker=false,r.$timepicker.parentNode.removeChild(r.$timepicker)):!s.timepicker&&n&&r._addTimepicker(),!s.buttons&&h?r._addButtons():s.buttons&&!h?(r.buttons.destroy(),r.$buttons.parentNode.removeChild(r.$buttons)):c&&s.buttons&&h&&r.buttons.clearHtml().render(),!s.isMobile&&d?(r.treatAsInline||j||r._createMobileOverlay(),r._addMobileAttributes(),r.visible&&r._showMobileOverlay()):s.isMobile&&!d&&(r._removeMobileAttributes(),r.visible&&(j.classList.remove("-active-"),"function"!=typeof r.opts.position&&r.setPosition())),c&&(r.nav.update(),r.views[r.currentView].render(),r.currentView===i.days&&r.views[r.currentView].renderDayNames());})),I(this,"disableDate",((e,t)=>{(Array.isArray(e)?e:[e]).forEach((e=>{let i=b(e);if(!i)return;let s=t?"delete":"add";this.disabledDates[s](this.formatDate(i,"yyyy-MM-dd"));let a=this.getCell(i,this.currentViewSingular);a&&a.adpCell.render();}),[]);})),I(this,"enableDate",(e=>{this.disableDate(e,true);})),I(this,"isDateDisabled",(e=>{let t=b(e);return this.disabledDates.has(this.formatDate(t,"yyyy-MM-dd"))})),I(this,"isOtherMonth",(e=>{let{month:t}=o(e);return t!==this.parsedViewDate.month})),I(this,"isOtherYear",(e=>{let{year:t}=o(e);return t!==this.parsedViewDate.year})),I(this,"isOtherDecade",(e=>{let{year:t}=o(e),[i,s]=c(this.viewDate);return t<i||t>s})),I(this,"_onChangeSelectedDate",(e=>{let{silent:t}=e;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!t&&this._triggerOnSelect();}));})),I(this,"_onChangeFocusedDate",(function(e){let{viewDateTransition:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let i=false;t&&(i=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),i&&r.setViewDate(e),r.opts.onFocus&&r.opts.onFocus({datepicker:r,date:e});})),I(this,"_onChangeTime",(e=>{let{hours:t,minutes:i}=e,s=new Date,{lastSelectedDate:a,opts:{onSelect:n}}=this,r=a;a||(r=s);let h=this.getCell(r,this.currentViewSingular),o=h&&h.adpCell;o&&o.isDisabled||(r.setHours(t),r.setMinutes(i),a?(this._setInputValue(),n&&this._triggerOnSelect()):this.selectDate(r));})),I(this,"_onFocus",(e=>{this.visible||this.show();})),I(this,"_onBlur",(e=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide();})),I(this,"_onMouseDown",(e=>{this.inFocus=true;})),I(this,"_onMouseUp",(e=>{this.inFocus=false,this.$el.focus();})),I(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition();})),I(this,"_onClickOverlay",(()=>{this.visible&&this.hide();})),I(this,"getViewDates",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.days;return T.getDatesFunction(e)(r)})),I(this,"isWeekend",(e=>this.opts.weekends.includes(e))),I(this,"getClampedDate",(e=>{let{minDate:t,maxDate:i}=this,s=e;return i&&m(e,i)?s=i:t&&v(e,t)&&(s=t),s})),this.$el=a(e),!this.$el)return;this.$datepicker=n({className:"air-datepicker"}),this.opts=w({},s,t),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||false);let{view:h,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=true),this.inited=false,this.visible=false,this.viewDate=b(this.opts.startDate),this.focusDate=false,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=false,this.currentView=h,this.selectedDates=[],this.disabledDates=new Set,this.isDestroyed=false,this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=false,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init();}init(){let{opts:e,treatAsInline:t,opts:{inline:i,isMobile:s,selectedDates:n,keyboardNav:r,onlyTimepicker:h}}=this,o=a("body");(!B||B&&P&&!o.contains(P))&&!i&&this.elIsInput&&!this.$customContainer&&R.buildGlobalContainer(R.defaultGlobalContainerId),!s||j||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),r&&!h&&(this.keyboardNav=new O({dp:this,opts:e}))),n&&this.selectDate(n,{silent:true}),this.opts.visible&&!t&&this.show(),s&&!t&&this.$el.setAttribute("readonly",true),t&&this._createComponents();}_createMobileOverlay(){j=n({className:"air-datepicker-overlay"}),P.appendChild(j);}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:i,buttons:s,timepicker:a,position:n,classes:r,onlyTimepicker:h,isMobile:o}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(n)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),r&&this.$datepicker.classList.add(...r.split(" ")),h&&this.$datepicker.classList.add("-only-timepicker-"),o&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:e}),this.nav=new V({dp:this,opts:e}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el);}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy();}_addMobileAttributes(){j.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",true);}_removeMobileAttributes(){j.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly");}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&b(e),this.maxDate=!!t&&b(t);}_addTimepicker(){this.$timepicker=n({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new L({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el);}_addButtons(){this.$buttons=n({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new H({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el);}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime);}_buildBaseHtml(){let{inline:e}=this.opts;var t,i;this.elIsInput?e?(t=this.$datepicker,(i=this.$el).parentNode.insertBefore(t,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker);}_handleLocale(){let{locale:e,dateFormat:t,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:n,dateTimeSeparator:r}=this.opts;var h;this.locale=(h=e,JSON.parse(JSON.stringify(h))),t&&(this.locale.dateFormat=t),void 0!==n&&""!==n&&(this.locale.timeFormat=n);let{timeFormat:o}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof t){let e=o?r:"";this.locale.dateFormat=[this.locale.dateFormat,o||""].join(e);}a&&"function"!=typeof t&&(this.locale.dateFormat=this.locale.timeFormat);}_setPositionClasses(e){if("function"==typeof e)return void this.$datepicker.classList.add("-custom-position-");let t=(e=e.split(" "))[0],i=`air-datepicker -${t}-${e[1]}- -from-${t}-`;this.$datepicker.classList.add(...i.split(" "));}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize);}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:i}=this;i&&m(e,i)&&this.setViewDate(i),t&&v(e,t)&&this.setViewDate(t);}formatDate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=b(e),!(e instanceof Date))return;let i=t,s=this.locale,a=o(e),n=a.dayPeriod,r=c(e),h=R.replacer,l={T:e.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:n,AA:n.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:r[0],yyyy2:r[1]};for(let[e,t]of Object.entries(l))i=h(i,$(e),t);return i}down(e){this._handleUpDownActions(e,"down");}up(e){this._handleUpDownActions(e,"up");}selectDate(e){let t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:r}=this,{updateTime:h,silent:o}=s,{moveToOtherMonthsOnSelect:l,moveToOtherYearsOnSelect:d,multipleDates:c,range:u,autoClose:p,onBeforeSelect:v}=this.opts,g=r.length;if(Array.isArray(e))return e.forEach((e=>{this.selectDate(e,s);})),new Promise((e=>{setTimeout(e);}));if((e=b(e))instanceof Date){if(v&&!o&&!v({date:e,datepicker:this}))return Promise.resolve();if(a===i.days&&e.getMonth()!==n.month&&l&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===i.years&&e.getFullYear()!==n.year&&d&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),c&&!u){if(g===c)return;this._checkIfDateIsSelected(e)||r.push(e);}else if(u)switch(g){case 1:r.push(e),this.rangeDateTo||(this.rangeDateTo=e),m(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e;}else this.selectedDates=[e];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:e,updateTime:h}),this._updateLastSelectedDate(e),p&&!this.timepickerIsActive&&this.visible&&(c||u?u&&1===g&&this.hide():this.hide()),new Promise((e=>{setTimeout(e);}))}}unselectDate(e){let t=this.selectedDates,s=this;if((e=b(e))instanceof Date)return t.some(((a,n)=>{if(p(a,e))return t.splice(n,1),s.selectedDates.length?(s.rangeDateTo="",s.rangeDateFrom=t[0],s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1])):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(false)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:e}),true}))}replaceDate(e,t){let s=this.selectedDates.find((t=>p(t,e,this.currentView))),a=this.selectedDates.indexOf(s);a<0||p(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:t,updateTime:true}),this._updateLastSelectedDate(t));}clear(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=false,this.rangeDateTo=false,this.lastSelectedDate=false,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:e.silent}),new Promise((e=>{setTimeout(e);}))}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=true,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay();}hide(){let{onHide:e,isMobile:t}=this.opts,i=this._hasTransition();this.visible=false,this.hideAnimation=true,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((t=>{!this.customHide&&(t&&i||!t&&!i)&&this._finishHide(),e&&e(t);})),t&&j.classList.remove("-active-");}_triggerOnSelect(){let e=[],t=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:n,range:r}}=this,h=n||r,o="function"==typeof s.dateFormat;i.length&&(e=i.map(g),t=o?n?s.dateFormat(e):e.map((e=>s.dateFormat(e))):e.map((e=>this.formatDate(e,s.dateFormat)))),a({date:h?e:e[0],formattedDate:h?t:t[0],datepicker:this});}_handleAlreadySelectedDates(e,t){let{selectedDates:i,rangeDateFrom:s,rangeDateTo:a}=this,{range:n,toggleSelected:r}=this.opts,h=i.length,o="function"==typeof r?r({datepicker:this,date:t}):r,l=Boolean(n&&1===h&&e),d=l?g(t):t;n&&!o&&(2!==h&&this.selectDate(d),2===h&&p(s,a))||(o?this.unselectDate(d):this._updateLastSelectedDate(l?d:e));}_handleUpDownActions(e,t){if(!((e=b(e||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i]);}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((e=b(e))instanceof Date))return;let{year:s,month:a,date:n}=o(e),r=`[data-year="${s}"]`,h=`[data-month="${a}"]`,l={[i.day]:`${r}${h}[data-date="${n}"]`,[i.month]:`${r}${h}`,[i.year]:`${r}`};return this.views[this.currentView]?this.views[this.currentView].$el.querySelector(l[t]):void 0}_showMobileOverlay(){j.classList.add("-active-");}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e,t)=>parseFloat(t)+e),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return o(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return c(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||P}static replacer(e,t,i){return e.replace(t,(function(e,t,s,a){return t+i+a}))}}var K;return I(R,"defaults",s),I(R,"version","3.6.0"),I(R,"defaultGlobalContainerId","air-datepicker-global-container"),K=R.prototype,Object.assign(K,N),t.default}()}));
|
|
103
|
-
} (airDatepicker$1));
|
|
104
|
-
return airDatepicker$1.exports;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
var airDatepickerExports = requireAirDatepicker();
|
|
108
|
-
var AirDatepicker = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(airDatepickerExports);
|
|
109
|
-
|
|
110
92
|
/** Checks if value is string */
|
|
111
93
|
function isString(str) {
|
|
112
94
|
return typeof str === 'string' || str instanceof String;
|
|
@@ -3705,6 +3687,117 @@ try {
|
|
|
3705
3687
|
globalThis.IMask = IMask;
|
|
3706
3688
|
} catch {}
|
|
3707
3689
|
|
|
3690
|
+
const nativeValueDescriptor = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value');
|
|
3691
|
+
// iMask adapter that bypasses the instance-level `input.value` override (which returns ISO strings)
|
|
3692
|
+
// so iMask always works with locale-formatted display text.
|
|
3693
|
+
class NativeInputMaskElement extends HTMLInputMaskElement {
|
|
3694
|
+
constructor() {
|
|
3695
|
+
super(...arguments);
|
|
3696
|
+
this.allowEvents = false;
|
|
3697
|
+
this._inputEventSuppressor = (e) => {
|
|
3698
|
+
if (this.allowEvents)
|
|
3699
|
+
return;
|
|
3700
|
+
if (!e.isTrusted)
|
|
3701
|
+
e.stopImmediatePropagation();
|
|
3702
|
+
};
|
|
3703
|
+
}
|
|
3704
|
+
get value() {
|
|
3705
|
+
return nativeValueDescriptor.get.call(this.input);
|
|
3706
|
+
}
|
|
3707
|
+
set value(val) {
|
|
3708
|
+
nativeValueDescriptor.set.call(this.input, val);
|
|
3709
|
+
}
|
|
3710
|
+
bindEvents(handlers) {
|
|
3711
|
+
this.input.addEventListener('input', this._inputEventSuppressor, true);
|
|
3712
|
+
super.bindEvents(handlers);
|
|
3713
|
+
}
|
|
3714
|
+
unbindEvents() {
|
|
3715
|
+
this.input.removeEventListener('input', this._inputEventSuppressor, true);
|
|
3716
|
+
super.unbindEvents();
|
|
3717
|
+
}
|
|
3718
|
+
}
|
|
3719
|
+
function getNativeValue(input) {
|
|
3720
|
+
return nativeValueDescriptor.get.call(input);
|
|
3721
|
+
}
|
|
3722
|
+
|
|
3723
|
+
var airDatepicker$1 = {exports: {}};
|
|
3724
|
+
|
|
3725
|
+
var airDatepicker = airDatepicker$1.exports;
|
|
3726
|
+
|
|
3727
|
+
var hasRequiredAirDatepicker;
|
|
3728
|
+
|
|
3729
|
+
function requireAirDatepicker () {
|
|
3730
|
+
if (hasRequiredAirDatepicker) return airDatepicker$1.exports;
|
|
3731
|
+
hasRequiredAirDatepicker = 1;
|
|
3732
|
+
(function (module, exports) {
|
|
3733
|
+
!function(e,t){module.exports=t();}(airDatepicker,(function(){return function(){var e={d:function(t,i){for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:true,get:i[s]});},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return R}});var i={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},s={classes:"",inline:false,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:true,keyboardNav:true,selectedDates:false,container:"",isMobile:false,visible:false,position:"bottom left",offset:12,view:i.days,minView:i.days,showOtherMonths:true,selectOtherMonths:true,moveToOtherMonthsOnSelect:true,showOtherYears:true,selectOtherYears:true,moveToOtherYearsOnSelect:true,minDate:"",maxDate:"",disableNavWhenOutOfRange:true,multipleDates:false,multipleDatesSeparator:", ",range:false,dynamicRange:true,buttons:false,monthsField:"monthsShort",showEvent:"focus",autoClose:false,fixedHeight:false,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:false,onlyTimepicker:false,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:false,onChangeViewDate:false,onChangeView:false,onRenderCell:false,onShow:false,onHide:false,onClickDayName:false};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return "string"==typeof e?t.querySelector(e):e}function n(){let{tagName:e="div",className:t="",innerHtml:i="",id:s="",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=document.createElement(e);return t&&n.classList.add(...t.split(" ")),s&&(n.id=s),i&&(n.innerHTML=i),a&&r(n,a),n}function r(e,t){for(let[i,s]of Object.entries(t)) void 0!==s&&e.setAttribute(i,s);return e}function h(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function o(e){let t=e.getHours(),{hours:i,dayPeriod:s}=l(t);return {year:e.getFullYear(),month:e.getMonth(),fullMonth:e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,date:e.getDate(),fullDate:e.getDate()<10?"0"+e.getDate():e.getDate(),day:e.getDay(),hours:t,fullHours:d(t),hours12:i,dayPeriod:s,fullHours12:d(i),minutes:e.getMinutes(),fullMinutes:e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes()}}function l(e){return {dayPeriod:e>11?"pm":"am",hours:e%12==0?12:e%12}}function d(e){return e<10?"0"+e:e}function c(e){let t=10*Math.floor(e.getFullYear()/10);return [t,t+9]}function u(){let e=[];for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return i.forEach((t=>{if("object"==typeof t)for(let i in t)t[i]&&e.push(i);else t&&e.push(t);})),e.join(" ")}function p(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!e||!t)return false;let a=o(e),n=o(t);return {[i.days]:a.date===n.date&&a.month===n.month&&a.year===n.year,[i.months]:a.month===n.month&&a.year===n.year,[i.years]:a.year===n.year}[s]}function m(e,t,i){let s=g(e,false).getTime(),a=g(t,false).getTime();return i?s>=a:s>a}function v(e,t){return !m(e,t,true)}function g(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(e.getTime());return "boolean"!=typeof t||t||function(e){e.setHours(0,0,0,0);}(i),i}function D(e,t,i){e.length?e.forEach((e=>{e.addEventListener(t,i);})):e.addEventListener(t,i);}function y(e,t){return !(!e||e===document||e instanceof DocumentFragment)&&(e.matches(t)?e:y(e.parentNode,t))}function f(e,t,i){return e>i?i:e<t?t:e}function w(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return i.filter((e=>e)).forEach((t=>{for(let[i,s]of Object.entries(t))if(void 0!==s&&"[object Object]"===s.toString()){let t=void 0!==e[i]?e[i].toString():void 0,a=s.toString(),n=Array.isArray(s)?[]:{};e[i]=e[i]?t!==a?n:e[i]:n,w(e[i],s);}else e[i]=s;})),e}function b(e){let t=e;return e instanceof Date||("string"==typeof e&&/^\d{4}-\d{2}-\d{2}$/.test(e)&&(e+="T00:00:00"),t=new Date(e)),isNaN(t.getTime())&&(console.log(`Unable to convert value "${e}" to Date object`),t=false),t}function $(e){let t="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+t+")("+e+")($|<|"+t+")","g")}function k(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}class C{constructor(){let{type:e,date:t,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};k(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=true;})),k(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=false;})),k(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=true;})),k(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=false;})),k(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus());})),k(this,"onChangeFocusDate",(e=>{if(!e)return void(this.focused&&this.removeFocus());let t=p(e,this.date,this.type);t?this.focus():!t&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus();})),k(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this._handleClasses(),this.$cell))),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=i,this.opts=s,this.body=a,this.customData=false,this.init();}init(){var e,t;let{onRenderCell:i}=this.opts;i&&(this.customData=i({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),null!==(e=this.customData)&&void 0!==e&&e.disabled?this.dp.disableDate(this.date):false===(null===(t=this.customData)||void 0===t?void 0:t.disabled)&&this.dp.enableDate(this.date);}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate);}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate);}_createElement(){var e;let{year:t,month:i,fullMonth:s,date:a,fullDate:r}=o(this.date),h=(null===(e=this.customData)||void 0===e?void 0:e.attrs)||{};this.$cell=n({attrs:{"data-year":t,"data-month":i,"data-date":a,"data-iso-date":`${t}-${s}-${r}`,...h}}),this.$cell.adpCell=this;}_getClassName(){var e;let t=new Date,{selectOtherMonths:s,selectOtherYears:a}=this.opts,{minDate:n,maxDate:r,isDateDisabled:h}=this.dp,{day:l}=o(this.date),d=this._isOutOfMinMaxRange(),c=h(this.date),m=u("air-datepicker-cell",`-${this.singleType}-`,{"-current-":p(t,this.date,this.type),"-min-date-":n&&p(n,this.date,this.type),"-max-date-":r&&p(r,this.date,this.type)}),v="";switch(this.type){case i.days:v=u({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!s||d||c});break;case i.months:v=u({"-disabled-":d});break;case i.years:v=u({"-other-decade-":this.isOtherDecade,"-disabled-":d||this.isOtherDecade&&!a});}return u(m,v,null===(e=this.customData)||void 0===e?void 0:e.classes).split(" ")}_getHtml(){var e;let{year:t,month:s,date:a}=o(this.date),{showOtherMonths:n,showOtherYears:r}=this.opts;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i.days:return !n&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return !r&&this.isOtherDecade?"":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:r,date:h}=o(a),l=s===i.days,d=s===i.years,c=!!e&&new Date(r,d?e.getMonth():n,l?h:e.getDate()),u=!!t&&new Date(r,d?t.getMonth():n,l?h:t.getDate());return e&&t?v(c,e)||m(u,t):e?v(c,e):t?m(u,t):void 0}destroy(){this.unbindDatepickerEvents();}_handleRangeStatus(){const{selectedDates:e,focusDate:t,rangeDateTo:i,rangeDateFrom:s}=this.dp,a=e.length;if(this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),!a)return;let n=s,r=i;if(1===a&&t){const i=m(t,e[0]);n=i?e[0]:t,r=i?t:e[0];}let h=u({"-in-range-":n&&r&&(o=this.date,l=n,d=r,m(o,l)&&v(o,d)),"-range-from-":n&&p(this.date,n,this.type),"-range-to-":r&&p(this.date,r,this.type)});var o,l,d;h&&this.$cell.classList.add(...h.split(" "));}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect();}_handleInitialFocusStatus(){p(this.dp.focusDate,this.date,this.type)&&this.focus();}_handleClasses(){this.$cell.setAttribute("class",""),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),this.dp.opts.range&&this._handleRangeStatus()),this.$cell.classList.add(...this._getClassName());}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function _(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}let M={[i.days]:`<div class="air-datepicker-body--day-names"></div><div class="air-datepicker-body--cells -${i.days}-"></div>`,[i.months]:`<div class="air-datepicker-body--cells -${i.months}-"></div>`,[i.years]:`<div class="air-datepicker-body--cells -${i.years}-"></div>`};const S=".air-datepicker-cell";class T{constructor(e){let{dp:t,type:s,opts:a}=e;_(this,"handleClick",(e=>{let t=e.target.closest(S).adpCell;if(t.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(t.date,t.type);i?this.dp._handleAlreadySelectedDates(i,t.date):this.dp.selectDate(t.date);})),_(this,"handleDayNameClick",(e=>{let t=e.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(t),datepicker:this.dp});})),_(this,"onChangeCurrentView",(e=>{e!==this.type?this.hide():(this.show(),this.render());})),_(this,"onMouseOverCell",(e=>{let t=y(e.target,S);this.dp.setFocusDate(!!t&&t.adpCell.date);})),_(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(false);})),_(this,"onClickBody",(e=>{let{onClickDayName:t}=this.opts,i=e.target;i.closest(S)&&this.handleClick(e),t&&i.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(e);})),_(this,"onMouseDown",(e=>{this.pressed=true;let t=y(e.target,S),i=t&&t.adpCell;p(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=true),p(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=true);})),_(this,"onMouseMove",(e=>{if(!this.pressed||!this.dp.isMinViewReached)return;e.preventDefault();let t=y(e.target,S),i=t&&t.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:n}=this.dp;if(!i||i.isDisabled)return;let{date:r}=i;if(2===s.length){if(this.rangeFromFocused&&!m(r,a)){let{hours:e,minutes:t}=o(n);r.setHours(e),r.setMinutes(t),this.dp.rangeDateFrom=r,this.dp.replaceDate(n,r);}if(this.rangeToFocused&&!v(r,n)){let{hours:e,minutes:t}=o(a);r.setHours(e),r.setMinutes(t),this.dp.rangeDateTo=r,this.dp.replaceDate(a,r);}}})),_(this,"onMouseUp",(()=>{this.pressed=false,this.rangeFromFocused=false,this.rangeToFocused=false;})),_(this,"onChangeViewDate",((e,t)=>{if(!this.isVisible)return;let s=c(e),a=c(t);switch(this.dp.currentView){case i.days:if(p(e,t,i.months))return;break;case i.months:if(p(e,t,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render();})),_(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((e=>{this.$cells.appendChild(e.render());}));})),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=false,this.isVisible=true,this.init();}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents();}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;D(this.$el,"mouseover",this.onMouseOverCell),D(this.$el,"mouseout",this.onMouseOutCell),D(this.$el,"click",this.onClickBody),e&&t&&(D(this.$el,"mousedown",this.onMouseDown),D(this.$el,"mousemove",this.onMouseMove),D(window.document,"mouseup",this.onMouseUp));}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView);}_buildBaseHtml(){this.$el=n({className:`air-datepicker-body -${this.type}-`,innerHtml:M[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el);}_getDayNamesHtml(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,n=e,r=0;for(;r<7;){let e=n%7;t+=`<div class="${u("air-datepicker-body--day-name",{[i.cssClassWeekend]:s(e),"-clickable-":!!a})}" data-day-index='${e}'>${this.dp.locale.daysMin[e]}</div>`,r++,n++;}return t}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml();}_generateCell(e){let{type:t,dp:i,opts:s}=this;return new C({type:t,dp:i,opts:s,date:e,body:this})}_generateCells(){T.getDatesFunction(this.type)(this.dp,(e=>{this.cells.push(this._generateCell(e));}));}show(){this.isVisible=true,this.$el.classList.remove("-hidden-");}hide(){this.isVisible=false,this.$el.classList.add("-hidden-");}destroyCells(){this.cells.forEach((e=>e.destroy())),this.cells=[],this.$cells.innerHTML="";}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView);}static getDaysDates(e,t){let{viewDate:i,opts:{fixedHeight:s},locale:{firstDay:a}}=e,n=h(i),{year:r,month:l}=o(i),d=new Date(r,l,1),c=new Date(r,l,n),u=d.getDay()-a,p=6-c.getDay()+a;u=u<0?u+7:u,p=p>6?p-7:p;let m=function(e,t){let{year:i,month:s,date:a}=o(e);return new Date(i,s,a-t)}(d,u),v=n+u+p,g=m.getDate(),{year:D,month:y}=o(m),f=0;s&&(v=42);const w=[];for(;f<v;){let e=new Date(D,y,g+f);t&&t(e),w.push(e),f++;}return w}static getMonthsDates(e,t){let{year:i}=e.parsedViewDate,s=0,a=[];for(;s<12;){const e=new Date(i,s);a.push(e),t&&t(e),s++;}return a}static getYearsDates(e,t){let i=c(e.viewDate),s=i[0]-1,a=i[1]+1,n=s,r=[];for(;n<=a;){const e=new Date(n,0);r.push(e),t&&t(e),n++;}return r}static getDatesFunction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.days;return {[i.days]:T.getDaysDates,[i.months]:T.getMonthsDates,[i.years]:T.getYearsDates}[e]}}function F(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}class V{constructor(e){let{dp:t,opts:i}=e;F(this,"onClickNav",(e=>{let t=y(e.target,".air-datepicker-nav--action");if(!t)return;let i=t.dataset.action;this.dp[i]();})),F(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus();})),F(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus();})),F(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up();})),F(this,"update",(()=>{let{prevHtml:e,nextHtml:t}=this.opts;this.$prev.innerHTML=e,this.$next.innerHTML=t,this._resetNavStatus(),this.render(),this.handleNavStatus();})),F(this,"renderDelay",(()=>{setTimeout(this.render);})),F(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(e,t){for(let i in t)t[i]?e.classList.add(i):e.classList.remove(i);}(this.$title,{"-disabled-":this.dp.isFinalView});})),this.dp=t,this.opts=i,this.init();}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents();}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el);}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle);}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render));}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render));}_createElement(){this.$el=n({tagName:"nav",className:"air-datepicker-nav"});}_getTitle(){let{dp:e,opts:t}=this,i=t.navTitles[e.currentView];return "function"==typeof i?i(e):e.formatDate(e.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,r=!!t&&o(t),h=!!s&&o(s);switch(this.dp.currentView){case i.days:t&&r.month>=n&&r.year>=a&&this._disableNav("prev"),s&&h.month<=n&&h.year<=a&&this._disableNav("next");break;case i.months:t&&r.year>=a&&this._disableNav("prev"),s&&h.year<=a&&this._disableNav("next");break;case i.years:{let e=c(this.dp.viewDate);t&&r.year>=e[0]&&this._disableNav("prev"),s&&h.year<=e[1]&&this._disableNav("next");break}}}_disableNav(e){a('[data-action="'+e+'"]',this.$el).classList.add("-disabled-");}_resetNavStatus(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];e.length?e.forEach((e=>{e.classList.remove(...i);})):e.classList.remove(...i);}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-");}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML=`<div class="air-datepicker-nav--action" data-action="prev">${e}</div><div class="air-datepicker-nav--title"></div><div class="air-datepicker-nav--action" data-action="next">${t}</div>`;}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find((t=>"function"==typeof e[t]))}}var x={today:{content:e=>e.locale.today,onClick:e=>e.setViewDate(new Date)},clear:{content:e=>e.locale.clear,onClick:e=>e.clear()}};class H{constructor(e){let{dp:t,opts:i}=e;this.dp=t,this.opts=i,this.init();}init(){this.createElement(),this.render();}createElement(){this.$el=n({className:"air-datepicker-buttons"});}destroy(){this.$el.parentNode.removeChild(this.$el);}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach((e=>{let t=e;"string"==typeof e&&x[e]&&(t=x[e]);let i=this.createButton(t);t.onClick&&this.attachEventToButton(i,t.onClick),this.$el.appendChild(i);}));}attachEventToButton(e,t){e.addEventListener("click",(()=>{t(this.dp);}));}createButton(e){let{content:t,className:i,tagName:s="button",attrs:a={}}=e;return n({tagName:s,innerHtml:`<span tabindex='-1'>${"function"==typeof t?t(this.dp):t}</span>`,className:u("air-datepicker-button",i),attrs:a})}render(){this.generateButtons();}}function E(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}class L{constructor(){let{opts:e,dp:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};E(this,"toggleTimepickerIsActive",(e=>{this.dp.timepickerIsActive=e;})),E(this,"onChangeSelectedDate",(e=>{let{date:t,updateTime:i=false}=e;t&&(this.setMinMaxTime(t),this.setCurrentTime(!!i&&t),this.addTimeToDate(t));})),E(this,"onChangeLastSelectedDate",(e=>{e&&(this.setTime(e),this.render());})),E(this,"onChangeInputRange",(e=>{let t=e.target;this[t.getAttribute("name")]=t.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes});})),E(this,"onMouseEnterLeave",(e=>{let t=e.target.getAttribute("name"),i=this.$minutesText;"hours"===t&&(i=this.$hoursText),i.classList.toggle("-focus-");})),E(this,"onFocus",(()=>{this.toggleTimepickerIsActive(true);})),E(this,"onBlur",(()=>{this.toggleTimepickerIsActive(false);})),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match($("h"))||s.match($("hh")))&&(this.ampm=true),this.init();}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents();}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate);}bindDOMEvents(){let e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),D(this.$ranges,e,this.onChangeInputRange),D(this.$ranges,"mouseenter",this.onMouseEnterLeave),D(this.$ranges,"mouseleave",this.onMouseEnterLeave),D(this.$ranges,"focus",this.onFocus),D(this.$ranges,"mousedown",this.onFocus),D(this.$ranges,"blur",this.onBlur);}createElement(){this.$el=n({className:u("air-datepicker-time",{"-am-pm-":this.dp.ampm})});}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el);}buildHtml(){let{ampm:e,hours:t,displayHours:i,minutes:s,minHours:a,minMinutes:n,maxHours:r,maxMinutes:h,dayPeriod:o,opts:{hoursStep:l,minutesStep:c}}=this;this.$el.innerHTML=`<div class="air-datepicker-time--current"> <span class="air-datepicker-time--current-hours">${d(i)}</span> <span class="air-datepicker-time--current-colon">:</span> <span class="air-datepicker-time--current-minutes">${d(s)}</span> `+(e?`<span class='air-datepicker-time--current-ampm'>${o}</span>`:"")+'</div><div class="air-datepicker-time--sliders"> <div class="air-datepicker-time--row">'+` <input type="range" name="hours" value="${t}" min="${a}" max="${r}" step="${l}"/> </div> <div class="air-datepicker-time--row">`+` <input type="range" name="minutes" value="${s}" min="${n}" max="${h}" step="${c}"/> </div></div>`;}defineDOM(){let e=e=>a(e,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=e('[name="hours"]'),this.$minutes=e('[name="minutes"]'),this.$hoursText=e(".air-datepicker-time--current-hours"),this.$minutesText=e(".air-datepicker-time--current-minutes"),this.$ampm=e(".air-datepicker-time--current-ampm");}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e);}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes));}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:i}=this.dp;t&&p(e,t)&&this.setMinTimeFromMinDate(t),i&&p(e,i)&&this.setMaxTimeFromMaxDate(i);}}setCurrentTime(e){let{hours:t,minutes:i}=e?o(e):this;this.hours=f(t,this.minHours,this.maxHours),this.minutes=f(i,this.minMinutes,this.maxMinutes);}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:i,maxMinutes:s}=this.opts;this.minHours=f(e,0,23),this.minMinutes=f(t,0,59),this.maxHours=f(i,0,23),this.maxMinutes=f(s,0,59);}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes();}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()<e.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=e.getMinutes();}updateSliders(){r(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,r(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes;}updateText(){this.$hoursText.innerHTML=d(this.displayHours),this.$minutesText.innerHTML=d(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod);}set hours(e){this._hours=e;let{hours:t,dayPeriod:i}=l(e);this.displayHours=this.ampm?t:e,this.dayPeriod=i;}get hours(){return this._hours}render(){this.updateSliders(),this.updateText();}}function A(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}class O{constructor(e){let{dp:t,opts:i}=e;A(this,"pressedKeys",new Set),A(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],e=>e.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],e=>e.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],e=>e.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],e=>e.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],e=>e.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],e=>e.year-=10],[["Control","Shift","ArrowUp"],(e,t)=>t.up()]])),A(this,"handleHotKey",(e=>{let t=this.hotKeys.get(e),i=o(this.getInitialFocusDate());t(i,this.dp);let{year:s,month:a,date:n}=i,r=h(new Date(s,a));r<n&&(n=r);let l=this.dp.getClampedDate(new Date(s,a,n));this.dp.setFocusDate(l,{viewDateTransition:true});})),A(this,"isHotKeyPressed",(()=>{let e=false,t=this.pressedKeys.size,i=e=>this.pressedKeys.has(e);for(let[s]of this.hotKeys){if(e)break;if(Array.isArray(s[0]))s.forEach((a=>{e||t!==a.length||(e=a.every(i)&&s);}));else {if(t!==s.length)continue;e=s.every(i)&&s;}}return e})),A(this,"isArrow",(e=>e>=37&&e<=40)),A(this,"onKeyDown",(e=>{if(!this.dp.visible&&!this.dp.treatAsInline)return;let{key:t,which:i}=e,{dp:s,dp:{focusDate:a},opts:n}=this;this.registerKey(t);let r=this.isHotKeyPressed();if(r)return e.preventDefault(),void this.handleHotKey(r);if(this.isArrow(i))return e.preventDefault(),void this.focusNextCell(t);if("Enter"===t){if(s.currentView!==n.minView)return void s.down();if(a){let e=s._checkIfDateIsSelected(a);return void(e?s._handleAlreadySelectedDates(e,a):s.selectDate(a))}}"Escape"===t&&this.dp.hide();})),A(this,"onKeyUp",(e=>{this.removeKey(e.key);})),this.dp=t,this.opts=i,this.init();}init(){this.bindKeyboardEvents();}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp);}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null;}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,r=e||s[s.length-1];if(!r)switch(t){case i.days:r=new Date(a,n,(new Date).getDate());break;case i.months:r=new Date(a,n,1);break;case i.years:r=new Date(a,0,1);}return r}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:r}=i,h=o(t),l=h.year,d=h.month,c=h.date;switch(e){case "ArrowLeft":s===a&&(c-=1),s===n&&(d-=1),s===r&&(l-=1);break;case "ArrowUp":s===a&&(c-=7),s===n&&(d-=3),s===r&&(l-=4);break;case "ArrowRight":s===a&&(c+=1),s===n&&(d+=1),s===r&&(l+=1);break;case "ArrowDown":s===a&&(c+=7),s===n&&(d+=3),s===r&&(l+=4);}let u=this.dp.getClampedDate(new Date(l,d,c));this.dp.setFocusDate(u,{viewDateTransition:true});}registerKey(e){this.pressedKeys.add(e);}removeKey(e){this.pressedKeys.delete(e);}}let N={on(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t];},off(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((e=>e!==t)));},removeAllEvents(){this.__events={};},trigger(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];this.__events&&this.__events[e]&&this.__events[e].forEach((e=>{e(...i);}));}};function I(e,t,i){return (t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:true,configurable:true,writable:true}):e[t]=i,e}let P="",j="",B=false;class R{static buildGlobalContainer(e){B=true,P=n({className:e,id:e}),a("body").appendChild(P);}constructor(e,t){var r=this;if(I(this,"viewIndexes",[i.days,i.months,i.years]),I(this,"next",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t+1,1));break;case i.months:this.setViewDate(new Date(e+1,t,1));break;case i.years:this.setViewDate(new Date(e+10,0,1));}})),I(this,"prev",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t-1,1));break;case i.months:this.setViewDate(new Date(e-1,t,1));break;case i.years:this.setViewDate(new Date(e-10,0,1));}})),I(this,"_finishHide",(()=>{this.hideAnimation=false,this._destroyComponents(),this.$container.removeChild(this.$datepicker);})),I(this,"setPosition",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(e=e||r.opts.position))return void(r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide}));let i,s,{isMobile:a}=r.opts,n=r.$el.getBoundingClientRect(),h=r.$el.getBoundingClientRect(),o=r.$datepicker.offsetParent,l=r.$el.offsetParent,d=r.$datepicker.getBoundingClientRect(),c=e.split(" "),u=window.scrollY,p=window.scrollX,m=r.opts.offset,v=c[0],g=c[1];if(a)r.$datepicker.style.cssText="left: 50%; top: 50%";else {if(o===l&&o!==document.body&&(h={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:n.width,height:r.$el.offsetHeight},u=0,p=0),o!==l&&o!==document.body){let e=o.getBoundingClientRect();h={top:n.top-e.top,left:n.left-e.left,width:n.width,height:n.height},u=0,p=0;}switch(v){case "top":i=h.top-d.height-m;break;case "right":s=h.left+h.width+m;break;case "bottom":i=h.top+h.height+m;break;case "left":s=h.left-d.width-m;}switch(g){case "top":i=h.top;break;case "right":s=h.left+h.width-d.width;break;case "bottom":i=h.top+h.height-d.height;break;case "left":s=h.left;break;case "center":/left|right/.test(v)?i=h.top+h.height/2-d.height/2:s=h.left+h.width/2-d.width/2;}r.$datepicker.style.cssText=`left: ${s+p}px; top: ${i+u}px`;}})),I(this,"_setInputValue",(()=>{let{opts:e,$altField:t,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=e;a&&t&&(t.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i),this.$el.dispatchEvent(new Event("change"));})),I(this,"_getInputValue",(e=>{let{selectedDates:t,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!t.length)return "";let n="function"==typeof e,r=n?e(s?t:t[0]):t.map((t=>this.formatDate(t,e)));return r=n?r:r.join(a),r})),I(this,"_checkIfDateIsSelected",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=false;return r.selectedDates.some((i=>{let a=p(e,i,t);return s=a&&i,a})),s})),I(this,"_scheduleCallAfterTransition",(e=>{this._cancelScheduledCall(),e&&e(false),this._onTransitionEnd=()=>{e&&e(true);},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:true});})),I(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd);})),I(this,"setViewDate",(e=>{if(!((e=b(e))instanceof Date))return;if(p(e,this.viewDate))return;let t=this.viewDate;this.viewDate=e;let{onChangeViewDate:s}=this.opts;if(s){let{month:e,year:t}=this.parsedViewDate;s({month:e,year:t,decade:this.curDecade});}this.trigger(i.eventChangeViewDate,e,t);})),I(this,"setFocusDate",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=b(e))instanceof Date)&&(r.focusDate=e,r.trigger(i.eventChangeFocusDate,e,t));})),I(this,"setCurrentView",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.viewIndexes.includes(e)){if(r.currentView=e,r.elIsInput&&r.visible&&r.setPosition(void 0,true),r.trigger(i.eventChangeCurrentView,e),!r.views[e]){let t=r.views[e]=new T({dp:r,opts:r.opts,type:e});r.shouldUpdateDOM&&r.$content.appendChild(t.$el);}r.opts.onChangeView&&!t.silent&&r.opts.onChangeView(e);}})),I(this,"_updateLastSelectedDate",(e=>{this.lastSelectedDate=e,this.trigger(i.eventChangeLastSelectedDate,e);})),I(this,"destroy",(()=>{if(this.isDestroyed)return;let{showEvent:e,isMobile:t}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(e,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),t&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts={},this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=[],this.rangeDateFrom=null,this.rangeDateTo=null,this.isDestroyed=true;})),I(this,"update",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=w({},r.opts),{silent:a}=t;w(r.opts,e);let{timepicker:n,buttons:h,range:o,selectedDates:l,isMobile:d}=r.opts,c=r.visible||r.treatAsInline;r._createMinMaxDates(),r._limitViewDateByMaxMinDates(),r._handleLocale(),l&&(r.selectedDates=[],r.selectDate(l,{silent:a})),e.view&&r.setCurrentView(e.view,{silent:a}),r._setInputValue(),s.range&&!o?(r.rangeDateTo=false,r.rangeDateFrom=false):!s.range&&o&&r.selectedDates.length&&(r.rangeDateFrom=r.selectedDates[0],r.rangeDateTo=r.selectedDates[1]),s.timepicker&&!n?(c&&r.timepicker.destroy(),r.timepicker=false,r.$timepicker.parentNode.removeChild(r.$timepicker)):!s.timepicker&&n&&r._addTimepicker(),!s.buttons&&h?r._addButtons():s.buttons&&!h?(r.buttons.destroy(),r.$buttons.parentNode.removeChild(r.$buttons)):c&&s.buttons&&h&&r.buttons.clearHtml().render(),!s.isMobile&&d?(r.treatAsInline||j||r._createMobileOverlay(),r._addMobileAttributes(),r.visible&&r._showMobileOverlay()):s.isMobile&&!d&&(r._removeMobileAttributes(),r.visible&&(j.classList.remove("-active-"),"function"!=typeof r.opts.position&&r.setPosition())),c&&(r.nav.update(),r.views[r.currentView].render(),r.currentView===i.days&&r.views[r.currentView].renderDayNames());})),I(this,"disableDate",((e,t)=>{(Array.isArray(e)?e:[e]).forEach((e=>{let i=b(e);if(!i)return;let s=t?"delete":"add";this.disabledDates[s](this.formatDate(i,"yyyy-MM-dd"));let a=this.getCell(i,this.currentViewSingular);a&&a.adpCell.render();}),[]);})),I(this,"enableDate",(e=>{this.disableDate(e,true);})),I(this,"isDateDisabled",(e=>{let t=b(e);return this.disabledDates.has(this.formatDate(t,"yyyy-MM-dd"))})),I(this,"isOtherMonth",(e=>{let{month:t}=o(e);return t!==this.parsedViewDate.month})),I(this,"isOtherYear",(e=>{let{year:t}=o(e);return t!==this.parsedViewDate.year})),I(this,"isOtherDecade",(e=>{let{year:t}=o(e),[i,s]=c(this.viewDate);return t<i||t>s})),I(this,"_onChangeSelectedDate",(e=>{let{silent:t}=e;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!t&&this._triggerOnSelect();}));})),I(this,"_onChangeFocusedDate",(function(e){let{viewDateTransition:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let i=false;t&&(i=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),i&&r.setViewDate(e),r.opts.onFocus&&r.opts.onFocus({datepicker:r,date:e});})),I(this,"_onChangeTime",(e=>{let{hours:t,minutes:i}=e,s=new Date,{lastSelectedDate:a,opts:{onSelect:n}}=this,r=a;a||(r=s);let h=this.getCell(r,this.currentViewSingular),o=h&&h.adpCell;o&&o.isDisabled||(r.setHours(t),r.setMinutes(i),a?(this._setInputValue(),n&&this._triggerOnSelect()):this.selectDate(r));})),I(this,"_onFocus",(e=>{this.visible||this.show();})),I(this,"_onBlur",(e=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide();})),I(this,"_onMouseDown",(e=>{this.inFocus=true;})),I(this,"_onMouseUp",(e=>{this.inFocus=false,this.$el.focus();})),I(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition();})),I(this,"_onClickOverlay",(()=>{this.visible&&this.hide();})),I(this,"getViewDates",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.days;return T.getDatesFunction(e)(r)})),I(this,"isWeekend",(e=>this.opts.weekends.includes(e))),I(this,"getClampedDate",(e=>{let{minDate:t,maxDate:i}=this,s=e;return i&&m(e,i)?s=i:t&&v(e,t)&&(s=t),s})),this.$el=a(e),!this.$el)return;this.$datepicker=n({className:"air-datepicker"}),this.opts=w({},s,t),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||false);let{view:h,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=true),this.inited=false,this.visible=false,this.viewDate=b(this.opts.startDate),this.focusDate=false,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=false,this.currentView=h,this.selectedDates=[],this.disabledDates=new Set,this.isDestroyed=false,this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=false,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init();}init(){let{opts:e,treatAsInline:t,opts:{inline:i,isMobile:s,selectedDates:n,keyboardNav:r,onlyTimepicker:h}}=this,o=a("body");(!B||B&&P&&!o.contains(P))&&!i&&this.elIsInput&&!this.$customContainer&&R.buildGlobalContainer(R.defaultGlobalContainerId),!s||j||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),r&&!h&&(this.keyboardNav=new O({dp:this,opts:e}))),n&&this.selectDate(n,{silent:true}),this.opts.visible&&!t&&this.show(),s&&!t&&this.$el.setAttribute("readonly",true),t&&this._createComponents();}_createMobileOverlay(){j=n({className:"air-datepicker-overlay"}),P.appendChild(j);}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:i,buttons:s,timepicker:a,position:n,classes:r,onlyTimepicker:h,isMobile:o}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(n)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),r&&this.$datepicker.classList.add(...r.split(" ")),h&&this.$datepicker.classList.add("-only-timepicker-"),o&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:e}),this.nav=new V({dp:this,opts:e}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el);}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy();}_addMobileAttributes(){j.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",true);}_removeMobileAttributes(){j.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly");}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&b(e),this.maxDate=!!t&&b(t);}_addTimepicker(){this.$timepicker=n({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new L({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el);}_addButtons(){this.$buttons=n({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new H({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el);}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime);}_buildBaseHtml(){let{inline:e}=this.opts;var t,i;this.elIsInput?e?(t=this.$datepicker,(i=this.$el).parentNode.insertBefore(t,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker);}_handleLocale(){let{locale:e,dateFormat:t,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:n,dateTimeSeparator:r}=this.opts;var h;this.locale=(h=e,JSON.parse(JSON.stringify(h))),t&&(this.locale.dateFormat=t),void 0!==n&&""!==n&&(this.locale.timeFormat=n);let{timeFormat:o}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof t){let e=o?r:"";this.locale.dateFormat=[this.locale.dateFormat,o||""].join(e);}a&&"function"!=typeof t&&(this.locale.dateFormat=this.locale.timeFormat);}_setPositionClasses(e){if("function"==typeof e)return void this.$datepicker.classList.add("-custom-position-");let t=(e=e.split(" "))[0],i=`air-datepicker -${t}-${e[1]}- -from-${t}-`;this.$datepicker.classList.add(...i.split(" "));}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize);}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:i}=this;i&&m(e,i)&&this.setViewDate(i),t&&v(e,t)&&this.setViewDate(t);}formatDate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=b(e),!(e instanceof Date))return;let i=t,s=this.locale,a=o(e),n=a.dayPeriod,r=c(e),h=R.replacer,l={T:e.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:n,AA:n.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:r[0],yyyy2:r[1]};for(let[e,t]of Object.entries(l))i=h(i,$(e),t);return i}down(e){this._handleUpDownActions(e,"down");}up(e){this._handleUpDownActions(e,"up");}selectDate(e){let t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:r}=this,{updateTime:h,silent:o}=s,{moveToOtherMonthsOnSelect:l,moveToOtherYearsOnSelect:d,multipleDates:c,range:u,autoClose:p,onBeforeSelect:v}=this.opts,g=r.length;if(Array.isArray(e))return e.forEach((e=>{this.selectDate(e,s);})),new Promise((e=>{setTimeout(e);}));if((e=b(e))instanceof Date){if(v&&!o&&!v({date:e,datepicker:this}))return Promise.resolve();if(a===i.days&&e.getMonth()!==n.month&&l&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===i.years&&e.getFullYear()!==n.year&&d&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),c&&!u){if(g===c)return;this._checkIfDateIsSelected(e)||r.push(e);}else if(u)switch(g){case 1:r.push(e),this.rangeDateTo||(this.rangeDateTo=e),m(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e;}else this.selectedDates=[e];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:e,updateTime:h}),this._updateLastSelectedDate(e),p&&!this.timepickerIsActive&&this.visible&&(c||u?u&&1===g&&this.hide():this.hide()),new Promise((e=>{setTimeout(e);}))}}unselectDate(e){let t=this.selectedDates,s=this;if((e=b(e))instanceof Date)return t.some(((a,n)=>{if(p(a,e))return t.splice(n,1),s.selectedDates.length?(s.rangeDateTo="",s.rangeDateFrom=t[0],s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1])):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(false)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:e}),true}))}replaceDate(e,t){let s=this.selectedDates.find((t=>p(t,e,this.currentView))),a=this.selectedDates.indexOf(s);a<0||p(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:t,updateTime:true}),this._updateLastSelectedDate(t));}clear(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=false,this.rangeDateTo=false,this.lastSelectedDate=false,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:e.silent}),new Promise((e=>{setTimeout(e);}))}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=true,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay();}hide(){let{onHide:e,isMobile:t}=this.opts,i=this._hasTransition();this.visible=false,this.hideAnimation=true,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((t=>{!this.customHide&&(t&&i||!t&&!i)&&this._finishHide(),e&&e(t);})),t&&j.classList.remove("-active-");}_triggerOnSelect(){let e=[],t=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:n,range:r}}=this,h=n||r,o="function"==typeof s.dateFormat;i.length&&(e=i.map(g),t=o?n?s.dateFormat(e):e.map((e=>s.dateFormat(e))):e.map((e=>this.formatDate(e,s.dateFormat)))),a({date:h?e:e[0],formattedDate:h?t:t[0],datepicker:this});}_handleAlreadySelectedDates(e,t){let{selectedDates:i,rangeDateFrom:s,rangeDateTo:a}=this,{range:n,toggleSelected:r}=this.opts,h=i.length,o="function"==typeof r?r({datepicker:this,date:t}):r,l=Boolean(n&&1===h&&e),d=l?g(t):t;n&&!o&&(2!==h&&this.selectDate(d),2===h&&p(s,a))||(o?this.unselectDate(d):this._updateLastSelectedDate(l?d:e));}_handleUpDownActions(e,t){if(!((e=b(e||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i]);}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((e=b(e))instanceof Date))return;let{year:s,month:a,date:n}=o(e),r=`[data-year="${s}"]`,h=`[data-month="${a}"]`,l={[i.day]:`${r}${h}[data-date="${n}"]`,[i.month]:`${r}${h}`,[i.year]:`${r}`};return this.views[this.currentView]?this.views[this.currentView].$el.querySelector(l[t]):void 0}_showMobileOverlay(){j.classList.add("-active-");}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e,t)=>parseFloat(t)+e),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return o(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return c(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||P}static replacer(e,t,i){return e.replace(t,(function(e,t,s,a){return t+i+a}))}}var K;return I(R,"defaults",s),I(R,"version","3.6.0"),I(R,"defaultGlobalContainerId","air-datepicker-global-container"),K=R.prototype,Object.assign(K,N),t.default}()}));
|
|
3734
|
+
} (airDatepicker$1));
|
|
3735
|
+
return airDatepicker$1.exports;
|
|
3736
|
+
}
|
|
3737
|
+
|
|
3738
|
+
var airDatepickerExports = requireAirDatepicker();
|
|
3739
|
+
var AirDatepicker = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(airDatepickerExports);
|
|
3740
|
+
|
|
3741
|
+
/**
|
|
3742
|
+
* Add role and aria-label to each grid cell based on its type.
|
|
3743
|
+
* @param data The render cell data from AirDatepicker.
|
|
3744
|
+
* @param localeCode The BCP 47 locale code for formatting.
|
|
3745
|
+
* @returns An object with `attrs` to apply to the cell element.
|
|
3746
|
+
*/
|
|
3747
|
+
function renderCellAccessibility({ date, cellType }, localeCode) {
|
|
3748
|
+
if (cellType === 'day') {
|
|
3749
|
+
return {
|
|
3750
|
+
attrs: {
|
|
3751
|
+
'role': 'gridcell',
|
|
3752
|
+
'aria-label': date.toLocaleDateString(localeCode, {
|
|
3753
|
+
weekday: 'long',
|
|
3754
|
+
year: 'numeric',
|
|
3755
|
+
month: 'long',
|
|
3756
|
+
day: 'numeric',
|
|
3757
|
+
}),
|
|
3758
|
+
},
|
|
3759
|
+
};
|
|
3760
|
+
}
|
|
3761
|
+
else if (cellType === 'month') {
|
|
3762
|
+
return {
|
|
3763
|
+
attrs: {
|
|
3764
|
+
'role': 'gridcell',
|
|
3765
|
+
'aria-label': date.toLocaleDateString(localeCode, {
|
|
3766
|
+
year: 'numeric',
|
|
3767
|
+
month: 'long',
|
|
3768
|
+
}),
|
|
3769
|
+
},
|
|
3770
|
+
};
|
|
3771
|
+
}
|
|
3772
|
+
else if (cellType === 'year') {
|
|
3773
|
+
return {
|
|
3774
|
+
attrs: {
|
|
3775
|
+
'role': 'gridcell',
|
|
3776
|
+
'aria-label': date.toLocaleDateString(localeCode, {
|
|
3777
|
+
year: 'numeric',
|
|
3778
|
+
}),
|
|
3779
|
+
},
|
|
3780
|
+
};
|
|
3781
|
+
}
|
|
3782
|
+
}
|
|
3783
|
+
/**
|
|
3784
|
+
* Merge the internal render cell (adding of role + aria-label attributes) and the user's render cell (disabling dates, etc.)
|
|
3785
|
+
* @param base Internal render cell
|
|
3786
|
+
* @param custom User render cell
|
|
3787
|
+
* @returns Merged render cell
|
|
3788
|
+
*/
|
|
3789
|
+
function mergeRenderCellResults(base, custom) {
|
|
3790
|
+
if (!base)
|
|
3791
|
+
return custom;
|
|
3792
|
+
if (!custom)
|
|
3793
|
+
return base;
|
|
3794
|
+
return {
|
|
3795
|
+
...base,
|
|
3796
|
+
classes: [base.classes, custom.classes].filter(Boolean).join(' '),
|
|
3797
|
+
disabled: custom.disabled || base.disabled,
|
|
3798
|
+
};
|
|
3799
|
+
}
|
|
3800
|
+
|
|
3708
3801
|
const airDatepickerLocales = {
|
|
3709
3802
|
ar: () => Promise.resolve().then(function () { return require('./_air-datepicker-locale_ar-CWOSiErt.js'); }),
|
|
3710
3803
|
bg: () => Promise.resolve().then(function () { return require('./_air-datepicker-locale_bg-JFWSZzWm.js'); }),
|
|
@@ -3782,7 +3875,108 @@ const DATE_FORMAT_STRING_OPTIONS = {
|
|
|
3782
3875
|
year: 'numeric',
|
|
3783
3876
|
};
|
|
3784
3877
|
|
|
3785
|
-
const postDatePickerCss = () => `.air-datepicker-cell.-year-.-other-decade-,.air-datepicker-cell.-day-.-other-month-{color:var(--adp-color-other-month)}.air-datepicker-cell.-year-.-other-decade-:hover,.air-datepicker-cell.-day-.-other-month-:hover{color:var(--adp-color-other-month-hover)}.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month-{color:var(--adp-color-other-month)}.-selected-.air-datepicker-cell.-year-.-other-decade-,.-selected-.air-datepicker-cell.-day-.-other-month-{color:#fff;background:var(--adp-background-color-selected-other-month)}.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-selected-.-focus-.air-datepicker-cell.-day-.-other-month-{background:var(--adp-background-color-selected-other-month-focused)}.-in-range-.air-datepicker-cell.-year-.-other-decade-,.-in-range-.air-datepicker-cell.-day-.-other-month-{background-color:var(--adp-background-color-in-range);color:var(--adp-color)}.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-in-range-.-focus-.air-datepicker-cell.-day-.-other-month-{background-color:var(--adp-background-color-in-range-focused)}.air-datepicker-cell.-year-.-other-decade-:empty,.air-datepicker-cell.-day-.-other-month-:empty{background:none;border:none}.air-datepicker-cell{border-radius:var(--adp-cell-border-radius);box-sizing:border-box;cursor:pointer;display:flex;position:relative;align-items:center;justify-content:center;z-index:1}.air-datepicker-cell.-focus-{background:var(--adp-cell-background-color-hover)}.air-datepicker-cell.-current-{color:var(--adp-color-current-date)}.air-datepicker-cell.-current-.-focus-{color:var(--adp-color)}.air-datepicker-cell.-current-.-in-range-{color:var(--adp-color-current-date)}.air-datepicker-cell.-disabled-{cursor:default;color:var(--adp-color-disabled)}.air-datepicker-cell.-disabled-.-focus-{color:var(--adp-color-disabled)}.air-datepicker-cell.-disabled-.-in-range-{color:var(--adp-color-disabled-in-range)}.air-datepicker-cell.-disabled-.-current-.-focus-{color:var(--adp-color-disabled)}.air-datepicker-cell.-in-range-{background:var(--adp-cell-background-color-in-range);border-radius:0}.air-datepicker-cell.-in-range-:hover,.air-datepicker-cell.-in-range-.-focus-{background:var(--adp-cell-background-color-in-range-hover)}.air-datepicker-cell.-range-from-{border:1px solid var(--adp-cell-border-color-in-range);background-color:var(--adp-cell-background-color-in-range);border-radius:var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius)}.air-datepicker-cell.-range-to-{border:1px solid var(--adp-cell-border-color-in-range);background-color:var(--adp-cell-background-color-in-range);border-radius:0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0}.air-datepicker-cell.-range-to-.-range-from-{border-radius:var(--adp-cell-border-radius)}.air-datepicker-cell.-selected-{color:#fff;border:none;background:var(--adp-cell-background-color-selected)}.air-datepicker-cell.-selected-.-current-{color:#fff;background:var(--adp-cell-background-color-selected)}.air-datepicker-cell.-selected-.-focus-{background:var(--adp-cell-background-color-selected-hover)}.air-datepicker-body{transition:all var(--adp-transition-duration) var(--adp-transition-ease)}.air-datepicker-body.-hidden-{display:none}.air-datepicker-body--day-names{display:grid;grid-template-columns:repeat(7, var(--adp-day-cell-width));margin:8px 0 3px}.air-datepicker-body--day-name{color:var(--adp-day-name-color);display:flex;align-items:center;justify-content:center;flex:1;text-align:center;text-transform:uppercase;font-size:.8em}.air-datepicker-body--day-name.-clickable-{cursor:pointer}.air-datepicker-body--day-name.-clickable-:hover{color:var(--adp-day-name-color-hover)}.air-datepicker-body--cells{display:grid}.air-datepicker-body--cells.-days-{grid-template-columns:repeat(7, var(--adp-day-cell-width));grid-auto-rows:var(--adp-day-cell-height)}.air-datepicker-body--cells.-months-{grid-template-columns:repeat(3, 1fr);grid-auto-rows:var(--adp-month-cell-height)}.air-datepicker-body--cells.-years-{grid-template-columns:repeat(4, 1fr);grid-auto-rows:var(--adp-year-cell-height)}.air-datepicker-nav{display:flex;justify-content:space-between;border-bottom:1px solid var(--adp-border-color-inner);min-height:var(--adp-nav-height);padding:var(--adp-padding);box-sizing:content-box}.-only-timepicker- .air-datepicker-nav{display:none}.air-datepicker-nav--title,.air-datepicker-nav--action{display:flex;cursor:pointer;align-items:center;justify-content:center}.air-datepicker-nav--action{width:var(--adp-nav-action-size);border-radius:var(--adp-border-radius);-webkit-user-select:none;-moz-user-select:none;user-select:none}.air-datepicker-nav--action:hover{background:var(--adp-background-color-hover)}.air-datepicker-nav--action:active{background:var(--adp-background-color-active)}.air-datepicker-nav--action.-disabled-{visibility:hidden}.air-datepicker-nav--action svg{width:32px;height:32px}.air-datepicker-nav--action path{fill:none;stroke:var(--adp-nav-arrow-color);stroke-width:2px}.air-datepicker-nav--title{border-radius:var(--adp-border-radius);padding:0 8px}.air-datepicker-nav--title i{font-style:normal;color:var(--adp-nav-color-secondary);margin-left:.3em}.air-datepicker-nav--title:hover{background:var(--adp-background-color-hover)}.air-datepicker-nav--title:active{background:var(--adp-background-color-active)}.air-datepicker-nav--title.-disabled-{cursor:default;background:none}.air-datepicker-buttons{display:grid;grid-auto-columns:1fr;grid-auto-flow:column}.air-datepicker-button{display:inline-flex;color:var(--adp-btn-color);border-radius:var(--adp-btn-border-radius);cursor:pointer;height:var(--adp-btn-height);border:none;background:rgba(255, 255, 255, 0)}.air-datepicker-button:hover{color:var(--adp-btn-color-hover);background:var(--adp-btn-background-color-hover)}.air-datepicker-button:focus{color:var(--adp-btn-color-hover);background:var(--adp-btn-background-color-hover);outline:none}.air-datepicker-button:active{background:var(--adp-btn-background-color-active)}.air-datepicker-button span{outline:none;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.air-datepicker-time{display:grid;grid-template-columns:max-content 1fr;grid-column-gap:12px;align-items:center;position:relative;padding:0 var(--adp-time-padding-inner)}.-only-timepicker- .air-datepicker-time{border-top:none}.air-datepicker-time--current{display:flex;align-items:center;flex:1;font-size:14px;text-align:center}.air-datepicker-time--current-colon{margin:0 2px 3px;line-height:1}.air-datepicker-time--current-hours,.air-datepicker-time--current-minutes{line-height:1;font-size:19px;font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;position:relative;z-index:1}.air-datepicker-time--current-hours:after,.air-datepicker-time--current-minutes:after{content:"";background:var(--adp-background-color-hover);border-radius:var(--adp-border-radius);position:absolute;left:-2px;top:-3px;right:-2px;bottom:-2px;z-index:-1;opacity:0}.air-datepicker-time--current-hours.-focus-:after,.air-datepicker-time--current-minutes.-focus-:after{opacity:1}.air-datepicker-time--current-ampm{text-transform:uppercase;align-self:flex-end;color:var(--adp-time-day-period-color);margin-left:6px;font-size:11px;margin-bottom:1px}.air-datepicker-time--row{display:flex;align-items:center;font-size:11px;height:17px;background:linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat}.air-datepicker-time--row:first-child{margin-bottom:4px}.air-datepicker-time--row input[type=range]{background:none;cursor:pointer;flex:1;height:100%;width:100%;padding:0;margin:0;-webkit-appearance:none}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none}.air-datepicker-time--row input[type=range]::-ms-tooltip{display:none}.air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:hover::-moz-range-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:hover::-ms-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:focus{outline:none}.air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]:focus::-moz-range-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]:focus::-ms-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-webkit-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-moz-range-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-moz-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-ms-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-ms-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{margin-top:calc(var(--adp-time-thumb-size)/2*-1)}.air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0, 0, 0, 0);background:rgba(0, 0, 0, 0)}.air-datepicker-time--row input[type=range]::-moz-range-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0, 0, 0, 0);background:rgba(0, 0, 0, 0)}.air-datepicker-time--row input[type=range]::-ms-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0, 0, 0, 0);background:rgba(0, 0, 0, 0)}.air-datepicker-time--row input[type=range]::-ms-fill-lower{background:rgba(0, 0, 0, 0)}.air-datepicker-time--row input[type=range]::-ms-fill-upper{background:rgba(0, 0, 0, 0)}.air-datepicker{--adp-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--adp-font-size:14px;--adp-width:246px;--adp-z-index:100;--adp-padding:4px;--adp-grid-areas:"nav" "body" "timepicker" "buttons";--adp-transition-duration:.3s;--adp-transition-ease:ease-out;--adp-transition-offset:8px;--adp-background-color:#fff;--adp-background-color-hover:#f0f0f0;--adp-background-color-active:#eaeaea;--adp-background-color-in-range:rgba(92, 196, 239, .1);--adp-background-color-in-range-focused:rgba(92, 196, 239, .2);--adp-background-color-selected-other-month-focused:#8ad5f4;--adp-background-color-selected-other-month:#a2ddf6;--adp-color:#4a4a4a;--adp-color-secondary:#9c9c9c;--adp-accent-color:#4eb5e6;--adp-color-current-date:var(--adp-accent-color);--adp-color-other-month:#dedede;--adp-color-disabled:#aeaeae;--adp-color-disabled-in-range:#939393;--adp-color-other-month-hover:#c5c5c5;--adp-border-color:#dbdbdb;--adp-border-color-inner:#efefef;--adp-border-radius:4px;--adp-border-color-inline:#d7d7d7;--adp-nav-height:32px;--adp-nav-arrow-color:var(--adp-color-secondary);--adp-nav-action-size:32px;--adp-nav-color-secondary:var(--adp-color-secondary);--adp-day-name-color:#ff9a19;--adp-day-name-color-hover:#8ad5f4;--adp-day-cell-width:1fr;--adp-day-cell-height:32px;--adp-month-cell-height:42px;--adp-year-cell-height:56px;--adp-pointer-size:10px;--adp-poiner-border-radius:2px;--adp-pointer-offset:14px;--adp-cell-border-radius:4px;--adp-cell-background-color-hover:var(--adp-background-color-hover);--adp-cell-background-color-selected:#5cc4ef;--adp-cell-background-color-selected-hover:#45bced;--adp-cell-background-color-in-range:rgba(92, 196, 239, 0.1);--adp-cell-background-color-in-range-hover:rgba(92, 196, 239, 0.2);--adp-cell-border-color-in-range:var(--adp-cell-background-color-selected);--adp-btn-height:32px;--adp-btn-color:var(--adp-accent-color);--adp-btn-color-hover:var(--adp-color);--adp-btn-border-radius:var(--adp-border-radius);--adp-btn-background-color-hover:var(--adp-background-color-hover);--adp-btn-background-color-active:var(--adp-background-color-active);--adp-time-track-height:1px;--adp-time-track-color:#dedede;--adp-time-track-color-hover:#b1b1b1;--adp-time-thumb-size:12px;--adp-time-padding-inner:10px;--adp-time-day-period-color:var(--adp-color-secondary);--adp-mobile-font-size:16px;--adp-mobile-nav-height:40px;--adp-mobile-width:320px;--adp-mobile-day-cell-height:38px;--adp-mobile-month-cell-height:48px;--adp-mobile-year-cell-height:64px}.air-datepicker-overlay{--adp-overlay-background-color:rgba(0, 0, 0, .3);--adp-overlay-transition-duration:.3s;--adp-overlay-transition-ease:ease-out;--adp-overlay-z-index:99}.air-datepicker{background:var(--adp-background-color);border:1px solid var(--adp-border-color);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);border-radius:var(--adp-border-radius);box-sizing:content-box;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4, max-content);grid-template-areas:var(--adp-grid-areas);font-family:var(--adp-font-family),sans-serif;font-size:var(--adp-font-size);color:var(--adp-color);width:var(--adp-width);position:absolute;transition:opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease);z-index:var(--adp-z-index)}.air-datepicker:not(.-custom-position-){opacity:0}.air-datepicker.-from-top-{transform:translateY(calc(var(--adp-transition-offset) * -1))}.air-datepicker.-from-right-{transform:translateX(var(--adp-transition-offset))}.air-datepicker.-from-bottom-{transform:translateY(var(--adp-transition-offset))}.air-datepicker.-from-left-{transform:translateX(calc(var(--adp-transition-offset) * -1))}.air-datepicker.-active-:not(.-custom-position-){transform:translate(0, 0);opacity:1}.air-datepicker.-active-.-custom-position-{transition:none}.air-datepicker.-inline-{border-color:var(--adp-border-color-inline);box-shadow:none;position:static;left:auto;right:auto;opacity:1;transform:none}.air-datepicker.-inline- .air-datepicker--pointer{display:none}.air-datepicker.-is-mobile-{--adp-font-size:var(--adp-mobile-font-size);--adp-day-cell-height:var(--adp-mobile-day-cell-height);--adp-month-cell-height:var(--adp-mobile-month-cell-height);--adp-year-cell-height:var(--adp-mobile-year-cell-height);--adp-nav-height:var(--adp-mobile-nav-height);--adp-nav-action-size:var(--adp-mobile-nav-height);position:fixed;width:var(--adp-mobile-width);border:none}.air-datepicker.-is-mobile- *{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.air-datepicker.-is-mobile- .air-datepicker--pointer{display:none}.air-datepicker.-is-mobile-:not(.-custom-position-){transform:translate(-50%, calc(-50% + var(--adp-transition-offset)))}.air-datepicker.-is-mobile-.-active-:not(.-custom-position-){transform:translate(-50%, -50%)}.air-datepicker.-custom-position-{transition:none}.air-datepicker-global-container{position:absolute;left:0;top:0}.air-datepicker--pointer{--pointer-half-size:calc(var(--adp-pointer-size) / 2);position:absolute;width:var(--adp-pointer-size);height:var(--adp-pointer-size);z-index:-1}.air-datepicker--pointer:after{content:"";position:absolute;background:#fff;border-top:1px solid var(--adp-border-color-inline);border-right:1px solid var(--adp-border-color-inline);border-top-right-radius:var(--adp-poiner-border-radius);width:var(--adp-pointer-size);height:var(--adp-pointer-size);box-sizing:border-box}.-top-left- .air-datepicker--pointer,.-top-center- .air-datepicker--pointer,.-top-right- .air-datepicker--pointer,[data-popper-placement^=top] .air-datepicker--pointer{top:calc(100% - var(--pointer-half-size) + 1px)}.-top-left- .air-datepicker--pointer:after,.-top-center- .air-datepicker--pointer:after,.-top-right- .air-datepicker--pointer:after,[data-popper-placement^=top] .air-datepicker--pointer:after{transform:rotate(135deg)}.-right-top- .air-datepicker--pointer,.-right-center- .air-datepicker--pointer,.-right-bottom- .air-datepicker--pointer,[data-popper-placement^=right] .air-datepicker--pointer{right:calc(100% - var(--pointer-half-size) + 1px)}.-right-top- .air-datepicker--pointer:after,.-right-center- .air-datepicker--pointer:after,.-right-bottom- .air-datepicker--pointer:after,[data-popper-placement^=right] .air-datepicker--pointer:after{transform:rotate(225deg)}.-bottom-left- .air-datepicker--pointer,.-bottom-center- .air-datepicker--pointer,.-bottom-right- .air-datepicker--pointer,[data-popper-placement^=bottom] .air-datepicker--pointer{bottom:calc(100% - var(--pointer-half-size) + 1px)}.-bottom-left- .air-datepicker--pointer:after,.-bottom-center- .air-datepicker--pointer:after,.-bottom-right- .air-datepicker--pointer:after,[data-popper-placement^=bottom] .air-datepicker--pointer:after{transform:rotate(315deg)}.-left-top- .air-datepicker--pointer,.-left-center- .air-datepicker--pointer,.-left-bottom- .air-datepicker--pointer,[data-popper-placement^=left] .air-datepicker--pointer{left:calc(100% - var(--pointer-half-size) + 1px)}.-left-top- .air-datepicker--pointer:after,.-left-center- .air-datepicker--pointer:after,.-left-bottom- .air-datepicker--pointer:after,[data-popper-placement^=left] .air-datepicker--pointer:after{transform:rotate(45deg)}.-top-left- .air-datepicker--pointer,.-bottom-left- .air-datepicker--pointer{left:var(--adp-pointer-offset)}.-top-right- .air-datepicker--pointer,.-bottom-right- .air-datepicker--pointer{right:var(--adp-pointer-offset)}.-top-center- .air-datepicker--pointer,.-bottom-center- .air-datepicker--pointer{left:calc(50% - var(--adp-pointer-size)/2)}.-left-top- .air-datepicker--pointer,.-right-top- .air-datepicker--pointer{top:var(--adp-pointer-offset)}.-left-bottom- .air-datepicker--pointer,.-right-bottom- .air-datepicker--pointer{bottom:var(--adp-pointer-offset)}.-left-center- .air-datepicker--pointer,.-right-center- .air-datepicker--pointer{top:calc(50% - var(--adp-pointer-size)/2)}.air-datepicker--navigation{grid-area:nav}.air-datepicker--content{box-sizing:content-box;padding:var(--adp-padding);grid-area:body}.-only-timepicker- .air-datepicker--content{display:none}.air-datepicker--time{grid-area:timepicker}.air-datepicker--buttons{grid-area:buttons}.air-datepicker--buttons,.air-datepicker--time{padding:var(--adp-padding);border-top:1px solid var(--adp-border-color-inner)}.air-datepicker-overlay{position:fixed;background:var(--adp-overlay-background-color);left:0;top:0;width:0;height:0;opacity:0;transition:opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s;transition-delay:0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration);z-index:var(--adp-overlay-z-index)}.air-datepicker-overlay.-active-{opacity:1;width:100%;height:100%;transition:opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s}.air-datepicker{--adp-cell-background-color-in-range:unset;--adp-hover-color:unset;--adp-cell-border-width:2px;font-family:inherit;font-size:var(--post-device-font-size-8);width:var(--post-core-dimension-296);border-radius:var(--post-device-border-radius-1);box-shadow:var(--post-device-elevation-300);font-weight:700;border:none}.air-datepicker.-inline-{box-shadow:var(--post-device-elevation-300)}.air-datepicker *{font-family:inherit}.air-datepicker .air-datepicker--navigation{border-start-start-radius:inherit;border-start-end-radius:inherit}.air-datepicker .air-datepicker--navigation .air-datepicker-nav{border-start-start-radius:inherit;border-start-end-radius:inherit;border-block-end:none;background:var(--post-core-color-sandgrey-012);padding:var(--post-device-spacing-padding-15)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title{margin-inline-start:0;margin-inline-end:auto;justify-content:flex-start;display:flex;align-items:center;padding:0 0 0 var(--post-device-spacing-padding-15);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title.-disabled-:hover{color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg) !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title:hover{background:unset;color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title:has(button:disabled){color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:var(--post-device-border-radius-1);display:flex;align-items:center;gap:var(--post-device-spacing-gap-3);color:inherit;cursor:inherit}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button{background-color:ButtonFace !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:hover{background-color:Highlight !important}}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title .placeholder{flex-grow:2;pointer-events:none}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action{height:var(--post-device-sizing-interactive-button-height-4);width:var(--post-device-sizing-interactive-button-height-4)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action[data-action=next]{margin-inline-start:var(--post-device-spacing-gap-inline-4)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action:hover{background:unset;color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action:has(:disabled){color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;height:var(--post-device-sizing-interactive-button-height-4);width:var(--post-device-sizing-interactive-button-height-4);border-radius:var(--post-device-border-radius-round);color:inherit;cursor:inherit}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button{background-color:ButtonFace !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:hover{background-color:Highlight !important}}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--content{padding:0 !important}.air-datepicker .air-datepicker--content .air-datepicker-body--day-names{background:var(--post-core-color-sandgrey-012);margin:0;padding-block-start:var(--post-device-spacing-padding-13);padding-block-end:var(--post-device-spacing-padding-5);padding-inline:var(--post-device-spacing-padding-15)}.air-datepicker .air-datepicker--content .air-datepicker-body--day-names .air-datepicker-body--day-name{text-transform:capitalize;font-size:inherit;color:var(--post-scheme-color-surface-brand-fg)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells{min-height:var(--post-core-dimension-182);padding:var(--post-device-spacing-padding-15);background:var(--post-scheme-color-surface-accent1-bg);row-gap:var(--post-device-spacing-gap-2);border-radius:var(--post-device-border-radius-1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days-{grid-template-columns:repeat(7, var(--post-core-dimension-40));grid-auto-rows:var(--post-core-dimension-40)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell>*{box-sizing:border-box}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell::after{box-sizing:border-box}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-{width:var(--post-core-dimension-40);height:var(--post-core-dimension-40);border-radius:var(--post-device-border-radius-round)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-other-month-,.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:empty{pointer-events:none}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:hover:not(.-disabled-,.-other-month-,.-in-range-):not(:empty){color:var(--post-scheme-color-interactive-primary-hover-fg3)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:hover:not(.-disabled-,.-other-month-,.-in-range-):not(:empty):not(.-current-){background:var(--post-scheme-color-interactive-primary-hover-bg2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:hover:not(.-disabled-,.-other-month-,.-in-range-):not(:empty):not(.-current-){background-color:ButtonFace;color:ButtonText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:hover:not(.-disabled-,.-other-month-,.-in-range-):not(:empty).-current-{color:var(--post-scheme-color-interactive-primary-hover-fg1);border-color:var(--post-scheme-color-interactive-primary-hover-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-selected-:not(.-other-month-){color:var(--post-scheme-color-interactive-primary-selected-fg3);background:var(--post-scheme-color-interactive-primary-selected-bg4)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-selected-:not(.-other-month-):not(.-range-from-):not(.-range-to-,.-other-month-){border-color:var(--post-scheme-color-interactive-primary-selected-stroke1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-selected-:not(.-other-month-){background-color:Highlight;color:HighlightText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-disabled-:not(.-other-month-){user-select:none;pointer-events:none;color:var(--post-scheme-color-interactive-primary-disabled-fg1);border:var(--post-device-border-width-default) dashed var(--post-scheme-color-interactive-primary-disabled-stroke);width:var(--post-core-dimension-38);height:var(--post-core-dimension-38);outline:none;display:flex;align-self:center;justify-self:center}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-current-:not(.-disabled-,.-other-month-):not(:empty){border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-enabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-current-:not(.-disabled-,.-other-month-):not(:empty).-selected-{background:var(--post-scheme-color-interactive-primary-selected-bg4);color:var(--post-scheme-color-interactive-primary-selected-fg3);border-color:var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-current-:not(.-disabled-,.-other-month-):not(:empty).-selected-:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke);background:var(--post-scheme-color-interactive-primary-hover-bg2);color:var(--post-scheme-color-interactive-primary-hover-fg3)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years-{grid-template-columns:repeat(4, var(--post-core-dimension-64));grid-auto-rows:var(--post-core-dimension-40);column-gap:var(--post-device-spacing-gap-inline-8)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-{width:var(--post-core-dimension-64);height:var(--post-core-dimension-40);border-radius:var(--post-device-border-radius-round);color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-in-range-{background-color:rgba(0,0,0,0)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-other-decade-{color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:hover:not(.-disabled-){color:var(--post-scheme-color-interactive-primary-hover-fg3);background:var(--post-scheme-color-interactive-primary-hover-bg2);border-color:var(--post-scheme-color-interactive-primary-hover-bg2)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-selected-:not(.-selected-~.-selected-){color:var(--post-scheme-color-interactive-primary-selected-fg3);background-color:var(--post-scheme-color-interactive-primary-selected-bg4);border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-disabled-:not(.-day-.-other-decade-){user-select:none;pointer-events:none;color:var(--post-scheme-color-interactive-primary-disabled-fg1);border:var(--adp-cell-border-width) dashed var(--post-scheme-color-interactive-primary-disabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-current-{border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-enabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-current-:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke);background:var(--post-scheme-color-interactive-primary-hover-bg2)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months-{grid-template-columns:repeat(4, var(--post-core-dimension-64));padding:var(--post-device-spacing-padding-15);column-gap:var(--post-device-spacing-gap-inline-8);min-height:var(--post-core-dimension-182);text-transform:uppercase}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-{width:var(--post-core-dimension-64);height:var(--post-core-dimension-40);border-radius:var(--post-device-border-radius-round);color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-in-range-{background-color:rgba(0,0,0,0)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-other-decade-{color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:hover:not(.-disabled-){color:var(--post-scheme-color-interactive-primary-hover-fg3);border-color:var(--post-scheme-color-interactive-primary-hover-bg2)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:hover:not(.-disabled-):not(.-current-){background:var(--post-scheme-color-interactive-primary-hover-bg2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:hover:not(.-disabled-):not(.-current-){background-color:ButtonFace;color:ButtonText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-selected-:not(.-selected-~.-selected-){color:var(--post-scheme-color-interactive-primary-selected-fg3);background-color:var(--post-scheme-color-interactive-primary-selected-bg4);border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-disabled-{user-select:none;pointer-events:none;color:var(--post-scheme-color-interactive-primary-disabled-fg1);border:var(--adp-cell-border-width) dashed var(--post-scheme-color-interactive-primary-disabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-current-{border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-enabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-current-:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke);color:var(--post-scheme-color-interactive-primary-hover-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell{position:relative;display:flex;justify-content:center;align-items:center;flex-shrink:0;flex-direction:column;color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell.-focus-:hover{background:none}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-{position:relative;border:0}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-::after{content:"";position:absolute;inset:0;display:block;width:var(--post-core-dimension-40);height:var(--post-core-dimension-40)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-::after{inset:calc(var(--adp-cell-border-width)*-1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-.-selected-:hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-.-selected-:hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-.-selected-:hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-.-selected-:hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-.-selected-:hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-.-selected-:hover::after{inset:0}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-::before{z-index:-2}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-::after{z-index:-1}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:hover:not(.-current-,.-disabled-),.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:hover:not(.-current-,.-disabled-),.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:hover:not(.-current-,.-disabled-){color:var(--post-scheme-color-interactive-primary-hover-fg3)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:hover:not(.-current-,.-disabled-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:hover:not(.-current-,.-disabled-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:hover:not(.-current-,.-disabled-)::after{background:var(--post-scheme-color-interactive-primary-hover-bg2);border-radius:var(--post-device-border-radius-round);border-color:var(--post-scheme-color-interactive-primary-hover-bg2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:hover:not(.-current-,.-disabled-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:hover:not(.-current-,.-disabled-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:hover:not(.-current-,.-disabled-)::after{border:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-:not(.-disabled-,.-other-month-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-:not(.-disabled-,.-other-month-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-:not(.-disabled-,.-other-month-)::after{border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1);border-radius:var(--post-device-border-radius-round);color:var(--post-scheme-color-interactive-primary-selected-fg3)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-:not(.-disabled-,.-other-month-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-:not(.-disabled-,.-other-month-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-:not(.-disabled-,.-other-month-)::after{forced-color-adjust:none;border-color:Highlight}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-:not(.-disabled-,.-other-month-):hover,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-:not(.-disabled-,.-other-month-):hover,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-:not(.-disabled-,.-other-month-):hover{color:var(--post-scheme-color-interactive-primary-hover-fg3)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-:not(.-disabled-,.-other-month-):hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-:not(.-disabled-,.-other-month-):hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-:not(.-disabled-,.-other-month-):hover::after{border-color:var(--post-scheme-color-interactive-primary-hover-stroke);color:var(--post-scheme-color-interactive-primary-hover-fg3);background:var(--post-scheme-color-interactive-primary-hover-bg2)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-{background-color:rgba(0,0,0,0);z-index:2}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):hover::after{background-color:ButtonFace;color:ButtonText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-other-month-)::before{background-color:var(--post-scheme-color-interactive-primary-selected-bg3);border-block:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-other-month-)::before{forced-color-adjust:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-disabled-:not(.-other-month-){color:var(--post-scheme-color-interactive-primary-disabled-fg1) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-disabled-:not(.-other-month-)::after{background-color:var(--post-scheme-color-surface-accent1-bg);border-radius:var(--post-device-border-radius-round);border:var(--post-device-border-width-default) dashed var(--post-scheme-color-interactive-primary-disabled-stroke);color:var(--post-scheme-color-interactive-primary-disabled-fg1) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-disabled-:not(.-other-month-)::after{forced-color-adjust:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-),.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-){z-index:1}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-).-selected-:not(.-disabled-):hover,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-).-selected-:not(.-disabled-):hover{border:none}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-)::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-)::before{background:var(--post-scheme-color-interactive-primary-selected-bg3);border-block:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-)::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-)::before{forced-color-adjust:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-).-selected-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-).-selected-::after{border-radius:var(--post-device-border-radius-round);background:var(--post-scheme-color-interactive-primary-selected-bg4)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-).-selected-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-).-selected-::after{background-color:Highlight;color:HighlightText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-):hover,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-):hover{color:var(--post-scheme-color-interactive-primary-hover-fg3)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-):hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-):hover::before{forced-color-adjust:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-):hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-):hover::after{background:var(--post-scheme-color-interactive-primary-hover-bg2);border-color:var(--post-scheme-color-interactive-primary-hover-bg2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-):hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-):hover::after{background-color:Highlight;color:HighlightText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-,.-disabled-):hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-,.-disabled-).-selected-::before{inset-inline-start:auto;width:50%;background-color:var(--post-scheme-color-interactive-primary-selected-bg3);border-block:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-,.-disabled-):hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-,.-disabled-).-selected-::before{inset-inline-end:auto;width:50%;background-color:var(--post-scheme-color-interactive-primary-selected-bg3);border-block:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-range-from-:hover::before{background:none;border:none}.calendar-input,.calendar-input-range{position:relative}.calendar-input button,.calendar-input-range button{z-index:1;padding:0;position:absolute;transform:translateY(-50%);background:none;border:0;display:flex;align-items:center;justify-content:center;border-radius:var(--post-device-border-radius-focus);transition:opacity .2s ease,visibility .2s ease,fill .2s ease;right:var(--post-core-dimension-14);top:calc(var(--post-device-sizing-interactive-button-height-6) / 2);-webkit-appearance:none;appearance:none;color:var(--post-scheme-color-interactive-primary-enabled-fg1);outline-offset:4px;right:var(--post-core-dimension-14)}.calendar-input button post-icon,.calendar-input-range button post-icon{width:var(--post-device-sizing-notification-1);height:var(--post-device-sizing-notification-1)}.calendar-input button:not([disabled]),.calendar-input-range button:not([disabled]){cursor:pointer}.calendar-input button:not([disabled]) :where(:hover>*) post-icon,.calendar-input-range button:not([disabled]) :where(:hover>*) post-icon{color:var(--post-scheme-color-interactive-input-hover-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.calendar-input button:not([disabled]) :where(:hover>*) post-icon,.calendar-input-range button:not([disabled]) :where(:hover>*) post-icon{color:Highlight}}.calendar-input button[disabled],.calendar-input-range button[disabled]{color:var(--post-scheme-color-interactive-primary-disabled-fg1)}.calendar-input ::slotted(input),.calendar-input-range ::slotted(input){padding-inline-end:calc( var(--post-core-dimension-14) + var(--post-device-spacing-gap-inline-8) + var(--post-device-sizing-notification-1) ) !important}:host ::slotted(input.form-control:is(.is-invalid,.is-valid):not(:disabled)){background-position:top 50% right calc( var(--post-core-dimension-14) + var(--post-device-spacing-gap-inline-8) + var(--post-device-sizing-notification-1) ) !important}:host [dir=rtl] .calendar-input button,:host [dir=rtl] .calendar-input-range button{right:auto;left:var(--post-core-dimension-14)}:host [dir=rtl] .air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action{transform:scaleX(-1)}`;
|
|
3878
|
+
/**
|
|
3879
|
+
* Pad the year component of an ISO date string to 4 digits.
|
|
3880
|
+
* @param isoDateString An ISO formatted date string (YYYY-MM-DD).
|
|
3881
|
+
* @returns The padded ISO date string.
|
|
3882
|
+
*/
|
|
3883
|
+
function padIsoDate(isoDateString) {
|
|
3884
|
+
const valueParts = isoDateString.split('-');
|
|
3885
|
+
return `${valueParts[0].padStart(4, '0')}-${valueParts[1]}-${valueParts[2]}`;
|
|
3886
|
+
}
|
|
3887
|
+
/**
|
|
3888
|
+
* Convert an ISO 8601 formatted date string (YYYY-MM-DD) to a localtime date object.
|
|
3889
|
+
* @param isoDateString An ISO formatted, localtime date string.
|
|
3890
|
+
* @returns A localtime date object.
|
|
3891
|
+
*/
|
|
3892
|
+
function isoToDate(isoDateString) {
|
|
3893
|
+
return new Date(`${padIsoDate(isoDateString)}T00:00`);
|
|
3894
|
+
}
|
|
3895
|
+
/**
|
|
3896
|
+
* Convert a date object to an ISO 8601 formatted date string (YYYY-MM-DD).
|
|
3897
|
+
* @param date A localtime date object.
|
|
3898
|
+
* @returns An ISO formatted, localtime date string.
|
|
3899
|
+
*/
|
|
3900
|
+
function dateToIso(date) {
|
|
3901
|
+
// The swedish locale (`sv`) happens to format the date in the exact ISO format (YYYY-MM-DD),
|
|
3902
|
+
// so we can use it as a shortcut instead of manually constructing the string from the date parts.
|
|
3903
|
+
return date.toLocaleDateString('sv', DATE_FORMAT_STRING_OPTIONS);
|
|
3904
|
+
}
|
|
3905
|
+
/**
|
|
3906
|
+
* Convert a date object to a localized date string.
|
|
3907
|
+
* @param date A localtime date object.
|
|
3908
|
+
* @param localeCode The BCP 47 locale code to use for formatting.
|
|
3909
|
+
* @returns A localized date string, depending on the given `localeCode`.
|
|
3910
|
+
*/
|
|
3911
|
+
function dateToString(date, localeCode) {
|
|
3912
|
+
const dateString = date.toLocaleDateString(localeCode, DATE_FORMAT_STRING_OPTIONS);
|
|
3913
|
+
const yearString = date.getFullYear().toString();
|
|
3914
|
+
if (yearString.length < 4) {
|
|
3915
|
+
return dateString.replace(yearString, yearString.padStart(4, '0'));
|
|
3916
|
+
}
|
|
3917
|
+
return dateString;
|
|
3918
|
+
}
|
|
3919
|
+
/**
|
|
3920
|
+
* Convert a localized date string to a date object.
|
|
3921
|
+
* The date string should be in the same format as the date picker's `dateFormat`, which depends on the given `localeCode`.
|
|
3922
|
+
* @param localeDateString A localized date string.
|
|
3923
|
+
* @param dateFormat The date format string (e.g. "dd.mm.yyyy").
|
|
3924
|
+
* @param isBuddhistCalendar Whether the locale uses the Buddhist calendar.
|
|
3925
|
+
* @returns A localtime date object.
|
|
3926
|
+
*/
|
|
3927
|
+
function stringToDate(localeDateString, dateFormat, isBuddhistCalendar) {
|
|
3928
|
+
// Match the separator chars in the date format (e.g. "." for "dd.mm.yyyy", etc.).
|
|
3929
|
+
const dateSeparator = dateFormat.match(DATE_FORMAT_SEPARATOR_REGEX)[0];
|
|
3930
|
+
// Remove the text direction markers, split the date string into its parts (e.g. ["31", "01", "2026"], etc.)
|
|
3931
|
+
// and make sure its values only contains digits (e.g. for "bg-BG", etc.).
|
|
3932
|
+
const dateParts = localeDateString
|
|
3933
|
+
.replace(TEXT_DIRECTION_MARKERS_REGEX, '')
|
|
3934
|
+
.split(dateSeparator)
|
|
3935
|
+
.map(p => p.replaceAll(/[^\d]/g, ''));
|
|
3936
|
+
// Split the dateFormat into its parts to get the year, month, day order (e.g. ["d", "m", "y"], etc.).
|
|
3937
|
+
// Removing everything else but the DATE_FORMAT_KEYS is necessary to support date formats with additional chars (e.g. "d.m.y г.", etc.).
|
|
3938
|
+
const formatParts = dateFormat.replace(DATE_FORMAT_KEYS_REGEX, '').split('');
|
|
3939
|
+
// Map the datePart values to their corresponding keys (e.g. y, m, d),
|
|
3940
|
+
// to construct an ISO date string (e.g. "2026-01-31") that can be parsed by the Date constructor.
|
|
3941
|
+
// This is necessary because different locale date formats may have different orders (e.g. "ymd", "dmy", "mdy", etc.).
|
|
3942
|
+
const { y, m, d } = DATE_FORMAT_KEYS.reduce((parts, key) => ({
|
|
3943
|
+
...parts,
|
|
3944
|
+
[key]: dateParts[formatParts.indexOf(key)],
|
|
3945
|
+
}), {});
|
|
3946
|
+
// Adjust for Thai Buddhist calendar
|
|
3947
|
+
const year = isBuddhistCalendar ? (Number(y) - BUDDHIST_CALENDAR_YEAR_OFFSET).toString() : y;
|
|
3948
|
+
return isoToDate([year, m, d].join('-'));
|
|
3949
|
+
}
|
|
3950
|
+
/**
|
|
3951
|
+
* Get the date format string for a locale, by formatting a sample date and replacing the date parts
|
|
3952
|
+
* with format keys (y, m, d). For example, it will return "dd.mm.yyyy" for "de-CH" locale and "mm/dd/yyyy" for "en-US" locale.
|
|
3953
|
+
* @param localeCode The BCP 47 locale code.
|
|
3954
|
+
* @param isBuddhistCalendar Whether the locale uses the Buddhist calendar.
|
|
3955
|
+
* @returns The date format string.
|
|
3956
|
+
*/
|
|
3957
|
+
function getDateFormat(localeCode, isBuddhistCalendar) {
|
|
3958
|
+
const date = new Date(Object.values(DATE_FORMAT_MAP).join('-'));
|
|
3959
|
+
// get the locale date format e.g. `22.11.3333` for `de-CH` or `11/22/3333` for `en-US`
|
|
3960
|
+
let localeDateString = date.toLocaleDateString(localeCode, DATE_FORMAT_STRING_OPTIONS);
|
|
3961
|
+
// replace the date parts (3333, 11, 22) with the corresponding format keys (y, m, d)
|
|
3962
|
+
for (const [key, value] of Object.entries(DATE_FORMAT_MAP)) {
|
|
3963
|
+
// for Thai locale, the year is in Buddhist calendar which is 543 years ahead of Gregorian calendar, so we need to adjust the year value accordingly
|
|
3964
|
+
localeDateString = localeDateString.replace(isBuddhistCalendar && value.length === 4
|
|
3965
|
+
? (Number(value) + BUDDHIST_CALENDAR_YEAR_OFFSET).toString()
|
|
3966
|
+
: value, key);
|
|
3967
|
+
}
|
|
3968
|
+
return localeDateString;
|
|
3969
|
+
}
|
|
3970
|
+
/**
|
|
3971
|
+
* Check if a value is a valid Date object.
|
|
3972
|
+
* @param date The value to check.
|
|
3973
|
+
* @returns `true` if the value is a valid Date, `false` otherwise.
|
|
3974
|
+
*/
|
|
3975
|
+
function isValidDate(date) {
|
|
3976
|
+
return date instanceof Date && !Number.isNaN(date.getTime()) && date.getFullYear() >= 1000;
|
|
3977
|
+
}
|
|
3978
|
+
|
|
3979
|
+
const postDatePickerCss = () => `.air-datepicker-cell.-year-.-other-decade-,.air-datepicker-cell.-day-.-other-month-{color:var(--adp-color-other-month)}.air-datepicker-cell.-year-.-other-decade-:hover,.air-datepicker-cell.-day-.-other-month-:hover{color:var(--adp-color-other-month-hover)}.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month-{color:var(--adp-color-other-month)}.-selected-.air-datepicker-cell.-year-.-other-decade-,.-selected-.air-datepicker-cell.-day-.-other-month-{color:#fff;background:var(--adp-background-color-selected-other-month)}.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-selected-.-focus-.air-datepicker-cell.-day-.-other-month-{background:var(--adp-background-color-selected-other-month-focused)}.-in-range-.air-datepicker-cell.-year-.-other-decade-,.-in-range-.air-datepicker-cell.-day-.-other-month-{background-color:var(--adp-background-color-in-range);color:var(--adp-color)}.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-in-range-.-focus-.air-datepicker-cell.-day-.-other-month-{background-color:var(--adp-background-color-in-range-focused)}.air-datepicker-cell.-year-.-other-decade-:empty,.air-datepicker-cell.-day-.-other-month-:empty{background:none;border:none}.air-datepicker-cell{border-radius:var(--adp-cell-border-radius);box-sizing:border-box;cursor:pointer;display:flex;position:relative;align-items:center;justify-content:center;z-index:1}.air-datepicker-cell.-focus-{background:var(--adp-cell-background-color-hover)}.air-datepicker-cell.-current-{color:var(--adp-color-current-date)}.air-datepicker-cell.-current-.-focus-{color:var(--adp-color)}.air-datepicker-cell.-current-.-in-range-{color:var(--adp-color-current-date)}.air-datepicker-cell.-disabled-{cursor:default;color:var(--adp-color-disabled)}.air-datepicker-cell.-disabled-.-focus-{color:var(--adp-color-disabled)}.air-datepicker-cell.-disabled-.-in-range-{color:var(--adp-color-disabled-in-range)}.air-datepicker-cell.-disabled-.-current-.-focus-{color:var(--adp-color-disabled)}.air-datepicker-cell.-in-range-{background:var(--adp-cell-background-color-in-range);border-radius:0}.air-datepicker-cell.-in-range-:hover,.air-datepicker-cell.-in-range-.-focus-{background:var(--adp-cell-background-color-in-range-hover)}.air-datepicker-cell.-range-from-{border:1px solid var(--adp-cell-border-color-in-range);background-color:var(--adp-cell-background-color-in-range);border-radius:var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius)}.air-datepicker-cell.-range-to-{border:1px solid var(--adp-cell-border-color-in-range);background-color:var(--adp-cell-background-color-in-range);border-radius:0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0}.air-datepicker-cell.-range-to-.-range-from-{border-radius:var(--adp-cell-border-radius)}.air-datepicker-cell.-selected-{color:#fff;border:none;background:var(--adp-cell-background-color-selected)}.air-datepicker-cell.-selected-.-current-{color:#fff;background:var(--adp-cell-background-color-selected)}.air-datepicker-cell.-selected-.-focus-{background:var(--adp-cell-background-color-selected-hover)}.air-datepicker-body{transition:all var(--adp-transition-duration) var(--adp-transition-ease)}.air-datepicker-body.-hidden-{display:none}.air-datepicker-body--day-names{display:grid;grid-template-columns:repeat(7, var(--adp-day-cell-width));margin:8px 0 3px}.air-datepicker-body--day-name{color:var(--adp-day-name-color);display:flex;align-items:center;justify-content:center;flex:1;text-align:center;text-transform:uppercase;font-size:.8em}.air-datepicker-body--day-name.-clickable-{cursor:pointer}.air-datepicker-body--day-name.-clickable-:hover{color:var(--adp-day-name-color-hover)}.air-datepicker-body--cells{display:grid}.air-datepicker-body--cells.-days-{grid-template-columns:repeat(7, var(--adp-day-cell-width));grid-auto-rows:var(--adp-day-cell-height)}.air-datepicker-body--cells.-months-{grid-template-columns:repeat(3, 1fr);grid-auto-rows:var(--adp-month-cell-height)}.air-datepicker-body--cells.-years-{grid-template-columns:repeat(4, 1fr);grid-auto-rows:var(--adp-year-cell-height)}.air-datepicker-nav{display:flex;justify-content:space-between;border-bottom:1px solid var(--adp-border-color-inner);min-height:var(--adp-nav-height);padding:var(--adp-padding);box-sizing:content-box}.-only-timepicker- .air-datepicker-nav{display:none}.air-datepicker-nav--title,.air-datepicker-nav--action{display:flex;cursor:pointer;align-items:center;justify-content:center}.air-datepicker-nav--action{width:var(--adp-nav-action-size);border-radius:var(--adp-border-radius);-webkit-user-select:none;-moz-user-select:none;user-select:none}.air-datepicker-nav--action:hover{background:var(--adp-background-color-hover)}.air-datepicker-nav--action:active{background:var(--adp-background-color-active)}.air-datepicker-nav--action.-disabled-{visibility:hidden}.air-datepicker-nav--action svg{width:32px;height:32px}.air-datepicker-nav--action path{fill:none;stroke:var(--adp-nav-arrow-color);stroke-width:2px}.air-datepicker-nav--title{border-radius:var(--adp-border-radius);padding:0 8px}.air-datepicker-nav--title i{font-style:normal;color:var(--adp-nav-color-secondary);margin-left:.3em}.air-datepicker-nav--title:hover{background:var(--adp-background-color-hover)}.air-datepicker-nav--title:active{background:var(--adp-background-color-active)}.air-datepicker-nav--title.-disabled-{cursor:default;background:none}.air-datepicker-buttons{display:grid;grid-auto-columns:1fr;grid-auto-flow:column}.air-datepicker-button{display:inline-flex;color:var(--adp-btn-color);border-radius:var(--adp-btn-border-radius);cursor:pointer;height:var(--adp-btn-height);border:none;background:rgba(255, 255, 255, 0)}.air-datepicker-button:hover{color:var(--adp-btn-color-hover);background:var(--adp-btn-background-color-hover)}.air-datepicker-button:focus{color:var(--adp-btn-color-hover);background:var(--adp-btn-background-color-hover);outline:none}.air-datepicker-button:active{background:var(--adp-btn-background-color-active)}.air-datepicker-button span{outline:none;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.air-datepicker-time{display:grid;grid-template-columns:max-content 1fr;grid-column-gap:12px;align-items:center;position:relative;padding:0 var(--adp-time-padding-inner)}.-only-timepicker- .air-datepicker-time{border-top:none}.air-datepicker-time--current{display:flex;align-items:center;flex:1;font-size:14px;text-align:center}.air-datepicker-time--current-colon{margin:0 2px 3px;line-height:1}.air-datepicker-time--current-hours,.air-datepicker-time--current-minutes{line-height:1;font-size:19px;font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;position:relative;z-index:1}.air-datepicker-time--current-hours:after,.air-datepicker-time--current-minutes:after{content:"";background:var(--adp-background-color-hover);border-radius:var(--adp-border-radius);position:absolute;left:-2px;top:-3px;right:-2px;bottom:-2px;z-index:-1;opacity:0}.air-datepicker-time--current-hours.-focus-:after,.air-datepicker-time--current-minutes.-focus-:after{opacity:1}.air-datepicker-time--current-ampm{text-transform:uppercase;align-self:flex-end;color:var(--adp-time-day-period-color);margin-left:6px;font-size:11px;margin-bottom:1px}.air-datepicker-time--row{display:flex;align-items:center;font-size:11px;height:17px;background:linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat}.air-datepicker-time--row:first-child{margin-bottom:4px}.air-datepicker-time--row input[type=range]{background:none;cursor:pointer;flex:1;height:100%;width:100%;padding:0;margin:0;-webkit-appearance:none}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none}.air-datepicker-time--row input[type=range]::-ms-tooltip{display:none}.air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:hover::-moz-range-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:hover::-ms-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:focus{outline:none}.air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]:focus::-moz-range-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]:focus::-ms-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-webkit-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-moz-range-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-moz-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-ms-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-ms-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{margin-top:calc(var(--adp-time-thumb-size)/2*-1)}.air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0, 0, 0, 0);background:rgba(0, 0, 0, 0)}.air-datepicker-time--row input[type=range]::-moz-range-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0, 0, 0, 0);background:rgba(0, 0, 0, 0)}.air-datepicker-time--row input[type=range]::-ms-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0, 0, 0, 0);background:rgba(0, 0, 0, 0)}.air-datepicker-time--row input[type=range]::-ms-fill-lower{background:rgba(0, 0, 0, 0)}.air-datepicker-time--row input[type=range]::-ms-fill-upper{background:rgba(0, 0, 0, 0)}.air-datepicker{--adp-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--adp-font-size:14px;--adp-width:246px;--adp-z-index:100;--adp-padding:4px;--adp-grid-areas:"nav" "body" "timepicker" "buttons";--adp-transition-duration:.3s;--adp-transition-ease:ease-out;--adp-transition-offset:8px;--adp-background-color:#fff;--adp-background-color-hover:#f0f0f0;--adp-background-color-active:#eaeaea;--adp-background-color-in-range:rgba(92, 196, 239, .1);--adp-background-color-in-range-focused:rgba(92, 196, 239, .2);--adp-background-color-selected-other-month-focused:#8ad5f4;--adp-background-color-selected-other-month:#a2ddf6;--adp-color:#4a4a4a;--adp-color-secondary:#9c9c9c;--adp-accent-color:#4eb5e6;--adp-color-current-date:var(--adp-accent-color);--adp-color-other-month:#dedede;--adp-color-disabled:#aeaeae;--adp-color-disabled-in-range:#939393;--adp-color-other-month-hover:#c5c5c5;--adp-border-color:#dbdbdb;--adp-border-color-inner:#efefef;--adp-border-radius:4px;--adp-border-color-inline:#d7d7d7;--adp-nav-height:32px;--adp-nav-arrow-color:var(--adp-color-secondary);--adp-nav-action-size:32px;--adp-nav-color-secondary:var(--adp-color-secondary);--adp-day-name-color:#ff9a19;--adp-day-name-color-hover:#8ad5f4;--adp-day-cell-width:1fr;--adp-day-cell-height:32px;--adp-month-cell-height:42px;--adp-year-cell-height:56px;--adp-pointer-size:10px;--adp-poiner-border-radius:2px;--adp-pointer-offset:14px;--adp-cell-border-radius:4px;--adp-cell-background-color-hover:var(--adp-background-color-hover);--adp-cell-background-color-selected:#5cc4ef;--adp-cell-background-color-selected-hover:#45bced;--adp-cell-background-color-in-range:rgba(92, 196, 239, 0.1);--adp-cell-background-color-in-range-hover:rgba(92, 196, 239, 0.2);--adp-cell-border-color-in-range:var(--adp-cell-background-color-selected);--adp-btn-height:32px;--adp-btn-color:var(--adp-accent-color);--adp-btn-color-hover:var(--adp-color);--adp-btn-border-radius:var(--adp-border-radius);--adp-btn-background-color-hover:var(--adp-background-color-hover);--adp-btn-background-color-active:var(--adp-background-color-active);--adp-time-track-height:1px;--adp-time-track-color:#dedede;--adp-time-track-color-hover:#b1b1b1;--adp-time-thumb-size:12px;--adp-time-padding-inner:10px;--adp-time-day-period-color:var(--adp-color-secondary);--adp-mobile-font-size:16px;--adp-mobile-nav-height:40px;--adp-mobile-width:320px;--adp-mobile-day-cell-height:38px;--adp-mobile-month-cell-height:48px;--adp-mobile-year-cell-height:64px}.air-datepicker-overlay{--adp-overlay-background-color:rgba(0, 0, 0, .3);--adp-overlay-transition-duration:.3s;--adp-overlay-transition-ease:ease-out;--adp-overlay-z-index:99}.air-datepicker{background:var(--adp-background-color);border:1px solid var(--adp-border-color);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);border-radius:var(--adp-border-radius);box-sizing:content-box;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4, max-content);grid-template-areas:var(--adp-grid-areas);font-family:var(--adp-font-family),sans-serif;font-size:var(--adp-font-size);color:var(--adp-color);width:var(--adp-width);position:absolute;transition:opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease);z-index:var(--adp-z-index)}.air-datepicker:not(.-custom-position-){opacity:0}.air-datepicker.-from-top-{transform:translateY(calc(var(--adp-transition-offset) * -1))}.air-datepicker.-from-right-{transform:translateX(var(--adp-transition-offset))}.air-datepicker.-from-bottom-{transform:translateY(var(--adp-transition-offset))}.air-datepicker.-from-left-{transform:translateX(calc(var(--adp-transition-offset) * -1))}.air-datepicker.-active-:not(.-custom-position-){transform:translate(0, 0);opacity:1}.air-datepicker.-active-.-custom-position-{transition:none}.air-datepicker.-inline-{border-color:var(--adp-border-color-inline);box-shadow:none;position:static;left:auto;right:auto;opacity:1;transform:none}.air-datepicker.-inline- .air-datepicker--pointer{display:none}.air-datepicker.-is-mobile-{--adp-font-size:var(--adp-mobile-font-size);--adp-day-cell-height:var(--adp-mobile-day-cell-height);--adp-month-cell-height:var(--adp-mobile-month-cell-height);--adp-year-cell-height:var(--adp-mobile-year-cell-height);--adp-nav-height:var(--adp-mobile-nav-height);--adp-nav-action-size:var(--adp-mobile-nav-height);position:fixed;width:var(--adp-mobile-width);border:none}.air-datepicker.-is-mobile- *{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.air-datepicker.-is-mobile- .air-datepicker--pointer{display:none}.air-datepicker.-is-mobile-:not(.-custom-position-){transform:translate(-50%, calc(-50% + var(--adp-transition-offset)))}.air-datepicker.-is-mobile-.-active-:not(.-custom-position-){transform:translate(-50%, -50%)}.air-datepicker.-custom-position-{transition:none}.air-datepicker-global-container{position:absolute;left:0;top:0}.air-datepicker--pointer{--pointer-half-size:calc(var(--adp-pointer-size) / 2);position:absolute;width:var(--adp-pointer-size);height:var(--adp-pointer-size);z-index:-1}.air-datepicker--pointer:after{content:"";position:absolute;background:#fff;border-top:1px solid var(--adp-border-color-inline);border-right:1px solid var(--adp-border-color-inline);border-top-right-radius:var(--adp-poiner-border-radius);width:var(--adp-pointer-size);height:var(--adp-pointer-size);box-sizing:border-box}.-top-left- .air-datepicker--pointer,.-top-center- .air-datepicker--pointer,.-top-right- .air-datepicker--pointer,[data-popper-placement^=top] .air-datepicker--pointer{top:calc(100% - var(--pointer-half-size) + 1px)}.-top-left- .air-datepicker--pointer:after,.-top-center- .air-datepicker--pointer:after,.-top-right- .air-datepicker--pointer:after,[data-popper-placement^=top] .air-datepicker--pointer:after{transform:rotate(135deg)}.-right-top- .air-datepicker--pointer,.-right-center- .air-datepicker--pointer,.-right-bottom- .air-datepicker--pointer,[data-popper-placement^=right] .air-datepicker--pointer{right:calc(100% - var(--pointer-half-size) + 1px)}.-right-top- .air-datepicker--pointer:after,.-right-center- .air-datepicker--pointer:after,.-right-bottom- .air-datepicker--pointer:after,[data-popper-placement^=right] .air-datepicker--pointer:after{transform:rotate(225deg)}.-bottom-left- .air-datepicker--pointer,.-bottom-center- .air-datepicker--pointer,.-bottom-right- .air-datepicker--pointer,[data-popper-placement^=bottom] .air-datepicker--pointer{bottom:calc(100% - var(--pointer-half-size) + 1px)}.-bottom-left- .air-datepicker--pointer:after,.-bottom-center- .air-datepicker--pointer:after,.-bottom-right- .air-datepicker--pointer:after,[data-popper-placement^=bottom] .air-datepicker--pointer:after{transform:rotate(315deg)}.-left-top- .air-datepicker--pointer,.-left-center- .air-datepicker--pointer,.-left-bottom- .air-datepicker--pointer,[data-popper-placement^=left] .air-datepicker--pointer{left:calc(100% - var(--pointer-half-size) + 1px)}.-left-top- .air-datepicker--pointer:after,.-left-center- .air-datepicker--pointer:after,.-left-bottom- .air-datepicker--pointer:after,[data-popper-placement^=left] .air-datepicker--pointer:after{transform:rotate(45deg)}.-top-left- .air-datepicker--pointer,.-bottom-left- .air-datepicker--pointer{left:var(--adp-pointer-offset)}.-top-right- .air-datepicker--pointer,.-bottom-right- .air-datepicker--pointer{right:var(--adp-pointer-offset)}.-top-center- .air-datepicker--pointer,.-bottom-center- .air-datepicker--pointer{left:calc(50% - var(--adp-pointer-size)/2)}.-left-top- .air-datepicker--pointer,.-right-top- .air-datepicker--pointer{top:var(--adp-pointer-offset)}.-left-bottom- .air-datepicker--pointer,.-right-bottom- .air-datepicker--pointer{bottom:var(--adp-pointer-offset)}.-left-center- .air-datepicker--pointer,.-right-center- .air-datepicker--pointer{top:calc(50% - var(--adp-pointer-size)/2)}.air-datepicker--navigation{grid-area:nav}.air-datepicker--content{box-sizing:content-box;padding:var(--adp-padding);grid-area:body}.-only-timepicker- .air-datepicker--content{display:none}.air-datepicker--time{grid-area:timepicker}.air-datepicker--buttons{grid-area:buttons}.air-datepicker--buttons,.air-datepicker--time{padding:var(--adp-padding);border-top:1px solid var(--adp-border-color-inner)}.air-datepicker-overlay{position:fixed;background:var(--adp-overlay-background-color);left:0;top:0;width:0;height:0;opacity:0;transition:opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s;transition-delay:0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration);z-index:var(--adp-overlay-z-index)}.air-datepicker-overlay.-active-{opacity:1;width:100%;height:100%;transition:opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s}.air-datepicker{--adp-cell-background-color-in-range:unset;--adp-hover-color:unset;--adp-cell-border-width:2px;font-family:inherit;font-size:var(--post-device-font-size-8);width:var(--post-core-dimension-296);border-radius:var(--post-device-border-radius-1);box-shadow:var(--post-device-elevation-300);font-weight:700;border:none}.air-datepicker.-inline-{box-shadow:var(--post-device-elevation-300)}.air-datepicker *{font-family:inherit}.air-datepicker .air-datepicker--navigation{border-start-start-radius:inherit;border-start-end-radius:inherit}.air-datepicker .air-datepicker--navigation .air-datepicker-nav{border-start-start-radius:inherit;border-start-end-radius:inherit;border-block-end:none;background:var(--post-core-color-sandgrey-012);padding:var(--post-device-spacing-padding-15)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title{margin-inline-start:0;margin-inline-end:auto;justify-content:flex-start;display:flex;align-items:center;padding:0 0 0 var(--post-device-spacing-padding-15);color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title.-disabled-:hover{color:var(--post-scheme-color-interactive-button-tertiary-enabled-fg) !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title:hover{background:unset;color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title:has(button:disabled){color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:var(--post-device-border-radius-1);display:flex;align-items:center;gap:var(--post-device-spacing-gap-3);color:inherit;cursor:inherit}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button{background-color:ButtonFace !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:hover{background-color:Highlight !important}}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title button:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--title .placeholder{flex-grow:2;pointer-events:none}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action{height:var(--post-device-sizing-interactive-button-height-4);width:var(--post-device-sizing-interactive-button-height-4)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action[data-action=next]{margin-inline-start:var(--post-device-spacing-gap-inline-4)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action:hover{background:unset;color:var(--post-scheme-color-interactive-button-tertiary-hover-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action:has(:disabled){color:var(--post-scheme-color-interactive-button-tertiary-disabled-fg)}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;height:var(--post-device-sizing-interactive-button-height-4);width:var(--post-device-sizing-interactive-button-height-4);border-radius:var(--post-device-border-radius-round);color:inherit;cursor:inherit}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button{background-color:ButtonFace !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:hover{background-color:Highlight !important}}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action button:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--content{padding:0 !important}.air-datepicker .air-datepicker--content .air-datepicker-body--day-names{background:var(--post-core-color-sandgrey-012);margin:0;padding-block-start:var(--post-device-spacing-padding-13);padding-block-end:var(--post-device-spacing-padding-5);padding-inline:var(--post-device-spacing-padding-15)}.air-datepicker .air-datepicker--content .air-datepicker-body--day-names .air-datepicker-body--day-name{text-transform:capitalize;font-size:inherit;color:var(--post-scheme-color-surface-brand-fg)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells{min-height:var(--post-core-dimension-182);padding:var(--post-device-spacing-padding-15);background:var(--post-scheme-color-surface-accent1-bg);row-gap:var(--post-device-spacing-gap-2);border-radius:var(--post-device-border-radius-1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days-{grid-template-columns:repeat(7, var(--post-core-dimension-40));grid-auto-rows:var(--post-core-dimension-40)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell>*{box-sizing:border-box}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell::after{box-sizing:border-box}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-{width:var(--post-core-dimension-40);height:var(--post-core-dimension-40);border-radius:var(--post-device-border-radius-round)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-other-month-,.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:empty{pointer-events:none}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:hover:not(.-disabled-,.-other-month-,.-in-range-,.-range-from-,.-range-to-):not(:empty){color:var(--post-scheme-color-interactive-primary-hover-fg3)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:hover:not(.-disabled-,.-other-month-,.-in-range-,.-range-from-,.-range-to-):not(:empty):not(.-current-){background:var(--post-scheme-color-interactive-primary-hover-bg2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:hover:not(.-disabled-,.-other-month-,.-in-range-,.-range-from-,.-range-to-):not(:empty):not(.-current-){background-color:ButtonFace;color:ButtonText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-:hover:not(.-disabled-,.-other-month-,.-in-range-,.-range-from-,.-range-to-):not(:empty).-current-{color:var(--post-scheme-color-interactive-primary-hover-fg1);border-color:var(--post-scheme-color-interactive-primary-hover-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-selected-:not(.-other-month-){color:var(--post-scheme-color-interactive-primary-selected-fg3);background:var(--post-scheme-color-interactive-primary-selected-bg4)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-selected-:not(.-other-month-):not(.-range-from-):not(.-range-to-,.-other-month-){border-color:var(--post-scheme-color-interactive-primary-selected-stroke1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-selected-:not(.-other-month-){background-color:Highlight;color:HighlightText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-disabled-:not(.-other-month-){user-select:none;pointer-events:none;color:var(--post-scheme-color-interactive-primary-disabled-fg1);border:var(--post-device-border-width-default) dashed var(--post-scheme-color-interactive-primary-disabled-stroke);width:var(--post-core-dimension-38);height:var(--post-core-dimension-38);outline:none;display:flex;align-self:center;justify-self:center}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-current-:not(.-disabled-,.-other-month-):not(:empty){border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-enabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-current-:not(.-disabled-,.-other-month-):not(:empty).-selected-{background:var(--post-scheme-color-interactive-primary-selected-bg4);color:var(--post-scheme-color-interactive-primary-selected-fg3);border-color:var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-days- .air-datepicker-cell.-day-.-current-:not(.-disabled-,.-other-month-):not(:empty).-selected-:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke);background:var(--post-scheme-color-interactive-primary-hover-bg2);color:var(--post-scheme-color-interactive-primary-hover-fg3)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years-{grid-template-columns:repeat(4, var(--post-core-dimension-64));grid-auto-rows:var(--post-core-dimension-40);column-gap:var(--post-device-spacing-gap-inline-8)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-{width:var(--post-core-dimension-64);height:var(--post-core-dimension-40);border-radius:var(--post-device-border-radius-round);color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-in-range-{background-color:rgba(0,0,0,0)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-other-decade-{color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-:hover:not(.-disabled-){color:var(--post-scheme-color-interactive-primary-hover-fg3);background:var(--post-scheme-color-interactive-primary-hover-bg2);border-color:var(--post-scheme-color-interactive-primary-hover-bg2)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-selected-:not(.-selected-~.-selected-){color:var(--post-scheme-color-interactive-primary-selected-fg3);background-color:var(--post-scheme-color-interactive-primary-selected-bg4);border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-disabled-:not(.-day-.-other-decade-){user-select:none;pointer-events:none;color:var(--post-scheme-color-interactive-primary-disabled-fg1);border:var(--adp-cell-border-width) dashed var(--post-scheme-color-interactive-primary-disabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-current-{border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-enabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-years- .air-datepicker-cell.-year-.-current-:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke);background:var(--post-scheme-color-interactive-primary-hover-bg2)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months-{grid-template-columns:repeat(4, var(--post-core-dimension-64));padding:var(--post-device-spacing-padding-15);column-gap:var(--post-device-spacing-gap-inline-8);min-height:var(--post-core-dimension-182);text-transform:uppercase}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-{width:var(--post-core-dimension-64);height:var(--post-core-dimension-40);border-radius:var(--post-device-border-radius-round);color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-in-range-{background-color:rgba(0,0,0,0)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-other-decade-{color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:hover:not(.-disabled-){color:var(--post-scheme-color-interactive-primary-hover-fg3);border-color:var(--post-scheme-color-interactive-primary-hover-bg2)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:hover:not(.-disabled-):not(.-current-){background:var(--post-scheme-color-interactive-primary-hover-bg2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-:hover:not(.-disabled-):not(.-current-){background-color:ButtonFace;color:ButtonText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-selected-:not(.-selected-~.-selected-){color:var(--post-scheme-color-interactive-primary-selected-fg3);background-color:var(--post-scheme-color-interactive-primary-selected-bg4);border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-disabled-{user-select:none;pointer-events:none;color:var(--post-scheme-color-interactive-primary-disabled-fg1);border:var(--adp-cell-border-width) dashed var(--post-scheme-color-interactive-primary-disabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-current-{border:var(--adp-cell-border-width) solid var(--post-scheme-color-interactive-primary-enabled-stroke)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells.-months- .air-datepicker-cell.-month-.-current-:hover{border-color:var(--post-scheme-color-interactive-primary-hover-stroke);color:var(--post-scheme-color-interactive-primary-hover-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell{position:relative;display:flex;justify-content:center;align-items:center;flex-shrink:0;flex-direction:column;color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell.-focus-:hover{background:none}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-{position:relative;border:0}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-::after{content:"";position:absolute;inset:0;display:block;width:var(--post-core-dimension-40);height:var(--post-core-dimension-40)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-::after{inset:calc(var(--adp-cell-border-width)*-1)}@media (min-resolution: 1.25dppx)and (max-resolution: 1.4999dppx){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-::after{inset:calc(var(--adp-cell-border-width)*-1 - .5)}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-.-selected-:hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-.-selected-:hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-.-selected-:hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-.-selected-:hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-.-selected-:hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-.-selected-:hover::after{inset:0}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-::before{z-index:-2}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-::after{z-index:-1}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:hover:not(.-current-,.-disabled-),.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:hover:not(.-current-,.-disabled-),.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:hover:not(.-current-,.-disabled-){color:var(--post-scheme-color-interactive-primary-hover-fg3)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:hover:not(.-current-,.-disabled-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:hover:not(.-current-,.-disabled-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:hover:not(.-current-,.-disabled-)::after{background:var(--post-scheme-color-interactive-primary-hover-bg2);border-radius:var(--post-device-border-radius-round);border-color:var(--post-scheme-color-interactive-primary-hover-bg2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:hover:not(.-current-,.-disabled-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:hover:not(.-current-,.-disabled-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:hover:not(.-current-,.-disabled-)::after{border:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-:not(.-disabled-,.-other-month-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-:not(.-disabled-,.-other-month-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-:not(.-disabled-,.-other-month-)::after{border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1);border-radius:var(--post-device-border-radius-round);color:var(--post-scheme-color-interactive-primary-selected-fg3)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-:not(.-disabled-,.-other-month-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-:not(.-disabled-,.-other-month-)::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-:not(.-disabled-,.-other-month-)::after{forced-color-adjust:none;border-color:Highlight}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-:not(.-disabled-,.-other-month-):hover,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-:not(.-disabled-,.-other-month-):hover,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-:not(.-disabled-,.-other-month-):hover{color:var(--post-scheme-color-interactive-primary-hover-fg3)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-current-:not(.-disabled-,.-other-month-):hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-.-current-:not(.-disabled-,.-other-month-):hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-current-:not(.-disabled-,.-other-month-):hover::after{border-color:var(--post-scheme-color-interactive-primary-hover-stroke);color:var(--post-scheme-color-interactive-primary-hover-fg3);background:var(--post-scheme-color-interactive-primary-hover-bg2)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-{background-color:rgba(0,0,0,0);z-index:2}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;z-index:3}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-disabled-):hover::after{background-color:ButtonFace;color:ButtonText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-other-month-)::before{background-color:var(--post-scheme-color-interactive-primary-selected-bg3);border-block:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-:not(.-other-month-)::before{forced-color-adjust:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-disabled-:not(.-other-month-){color:var(--post-scheme-color-interactive-primary-disabled-fg1) !important}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-disabled-:not(.-other-month-)::after{background-color:var(--post-scheme-color-surface-accent1-bg);border-radius:var(--post-device-border-radius-round);border:var(--post-device-border-width-default) dashed var(--post-scheme-color-interactive-primary-disabled-stroke);color:var(--post-scheme-color-interactive-primary-disabled-fg1) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-in-range-.-disabled-:not(.-other-month-)::after{forced-color-adjust:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-),.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-){z-index:1}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-).-selected-:not(.-disabled-):hover,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-).-selected-:not(.-disabled-):hover{border:none}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-)::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-)::before{background:var(--post-scheme-color-interactive-primary-selected-bg3);border-block:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-)::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-)::before{forced-color-adjust:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-).-selected-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-).-selected-::after{border-radius:var(--post-device-border-radius-round);background:var(--post-scheme-color-interactive-primary-selected-bg4)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-).-selected-::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-).-selected-::after{background-color:Highlight;color:HighlightText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-):hover,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-):hover{color:var(--post-scheme-color-interactive-primary-hover-fg3)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-):hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-):hover::before{forced-color-adjust:none}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-):hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-):hover::after{background:var(--post-scheme-color-interactive-primary-hover-bg2);border-color:var(--post-scheme-color-interactive-primary-hover-bg2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-):not(.-disabled-):hover::after,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-):not(.-disabled-):hover::after{background-color:Highlight;color:HighlightText}}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-,.-disabled-):hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-from-:not(.-other-month-,.-disabled-).-selected-::before{inset-inline-start:auto;width:50%;background-color:var(--post-scheme-color-interactive-primary-selected-bg3);border-block:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-,.-disabled-):hover::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-:not(.-other-month-,.-disabled-).-selected-::before{inset-inline-end:auto;width:50%;background-color:var(--post-scheme-color-interactive-primary-selected-bg3);border-block:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1)}.air-datepicker .air-datepicker--content .air-datepicker-body--cells .air-datepicker-cell:not(.-year-,.-month-).-range-to-.-range-from-:hover::before{background:none;border:none}.air-datepicker .air-datepicker--content .air-datepicker-body--cells:not(:has(.-selected-.-range-from-):has(.-selected-.-range-to-)):not(:hover) .air-datepicker-cell:is(.-in-range-,.-range-from-,.-range-to-)::before,.air-datepicker .air-datepicker--content .air-datepicker-body--cells:not(:has(.-selected-.-range-from-):has(.-selected-.-range-to-)):not(:hover) .air-datepicker-cell:is(.-in-range-,.-range-from-,.-range-to-):not(.-selected-)::after{content:unset}.calendar-input,.calendar-input-range{position:relative}.calendar-input button,.calendar-input-range button{z-index:1;padding:0;position:absolute;transform:translateY(-50%);background:none;border:0;display:flex;align-items:center;justify-content:center;border-radius:var(--post-device-border-radius-focus);transition:opacity .2s ease,visibility .2s ease,fill .2s ease;color:var(--post-scheme-color-interactive-input-enabled-fg);right:var(--post-core-dimension-14);top:calc(var(--post-device-sizing-interactive-button-height-6) / 2);-webkit-appearance:none;appearance:none;color:var(--post-scheme-color-interactive-input-enabled-fg);outline-offset:4px;right:var(--post-core-dimension-14)}.calendar-input button post-icon,.calendar-input-range button post-icon{width:var(--post-device-sizing-notification-1);height:var(--post-device-sizing-notification-1)}.calendar-input button:not([disabled]),.calendar-input-range button:not([disabled]){cursor:pointer}.calendar-input button:not([disabled]) :where(:hover>*) post-icon,.calendar-input-range button:not([disabled]) :where(:hover>*) post-icon{color:var(--post-scheme-color-interactive-input-hover-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.calendar-input button:not([disabled]) :where(:hover>*) post-icon,.calendar-input-range button:not([disabled]) :where(:hover>*) post-icon{color:Highlight}}.calendar-input button[disabled],.calendar-input-range button[disabled]{color:var(--post-scheme-color-interactive-primary-disabled-fg1)}.calendar-input ::slotted(input),.calendar-input-range ::slotted(input){padding-inline-end:calc( var(--post-core-dimension-14) + var(--post-device-spacing-gap-inline-8) + var(--post-device-sizing-notification-1) ) !important}:host ::slotted(input.form-control:is(.is-invalid,.is-valid):not(:disabled)){background-position:top 50% right calc( var(--post-core-dimension-14) + var(--post-device-spacing-gap-inline-8) + var(--post-device-sizing-notification-1) ) !important}:host [dir=rtl] .calendar-input button,:host [dir=rtl] .calendar-input-range button{right:auto;left:var(--post-core-dimension-14)}:host [dir=rtl] .air-datepicker .air-datepicker--navigation .air-datepicker-nav .air-datepicker-nav--action{transform:scaleX(-1)}`;
|
|
3786
3980
|
|
|
3787
3981
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3788
3982
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -3797,7 +3991,6 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
|
|
|
3797
3991
|
const PostDatePicker = class {
|
|
3798
3992
|
constructor(hostRef) {
|
|
3799
3993
|
index.registerInstance(this, hostRef);
|
|
3800
|
-
this.postUpdateDates = index.createEvent(this, "postUpdateDates");
|
|
3801
3994
|
/**
|
|
3802
3995
|
* The date pickers locale (e.g. "it", "it-CH", etc.), which specifies the date format and language.
|
|
3803
3996
|
* <post-banner type="info" data-size="sm"><span>If not set, it defaults to either the closest ancestor with a `lang` attribute (e.g. \<html lang="de"\>), or falls back to English.</span></post-banner>
|
|
@@ -3816,22 +4009,23 @@ const PostDatePicker = class {
|
|
|
3816
4009
|
this.today = new Date();
|
|
3817
4010
|
this.startDate = new Date();
|
|
3818
4011
|
this.currentViewType = 'days';
|
|
4012
|
+
this._isInternalUpdate = false;
|
|
4013
|
+
this._lastInputValue = null;
|
|
3819
4014
|
this.skipOnSelectCount = 0;
|
|
3820
4015
|
this.skipFocusOnNextRender = false;
|
|
3821
4016
|
this.handleInputBlur = () => {
|
|
3822
4017
|
if (this.range) {
|
|
3823
|
-
const
|
|
3824
|
-
const start = this.stringToDate(
|
|
3825
|
-
const end = this.stringToDate(
|
|
3826
|
-
const startValid =
|
|
3827
|
-
const endValid =
|
|
4018
|
+
const parts = this.inputMask.value.split(this.dateFormatRangeSeparator);
|
|
4019
|
+
const start = this.stringToDate(parts[0]);
|
|
4020
|
+
const end = this.stringToDate(parts[1]);
|
|
4021
|
+
const startValid = isValidDate(start);
|
|
4022
|
+
const endValid = isValidDate(end);
|
|
3828
4023
|
if (startValid && endValid) {
|
|
3829
4024
|
// Check if user entered dates in wrong order
|
|
3830
4025
|
const reversed = start > end;
|
|
3831
4026
|
this.skipOnSelectCount = reversed ? 0 : 2; // don't skip if reversed
|
|
3832
4027
|
this.dpInstance.selectDate([start, end]);
|
|
3833
4028
|
this.dpInstance.setViewDate(start);
|
|
3834
|
-
this.postUpdateDates.emit([this.dateToIso(start), this.dateToIso(end)]);
|
|
3835
4029
|
}
|
|
3836
4030
|
else if (startValid && !endValid) {
|
|
3837
4031
|
this.dpInstance.clear();
|
|
@@ -3844,16 +4038,16 @@ const PostDatePicker = class {
|
|
|
3844
4038
|
}
|
|
3845
4039
|
else {
|
|
3846
4040
|
const date = this.stringToDate(this.inputMask.value);
|
|
3847
|
-
if (
|
|
4041
|
+
if (isValidDate(date)) {
|
|
3848
4042
|
this.skipOnSelectCount = 1;
|
|
3849
4043
|
this.dpInstance.selectDate(date);
|
|
3850
4044
|
this.dpInstance.setViewDate(date);
|
|
3851
|
-
this.postUpdateDates.emit(this.dateToIso(date));
|
|
3852
4045
|
}
|
|
3853
4046
|
else {
|
|
3854
4047
|
this.resetSelection();
|
|
3855
4048
|
}
|
|
3856
4049
|
}
|
|
4050
|
+
this.emitInputEvents();
|
|
3857
4051
|
};
|
|
3858
4052
|
this.handlePrevNextClick = () => {
|
|
3859
4053
|
this.skipFocusOnNextRender = true;
|
|
@@ -3969,6 +4163,17 @@ const PostDatePicker = class {
|
|
|
3969
4163
|
this.setActiveCell(newDate, true);
|
|
3970
4164
|
}
|
|
3971
4165
|
};
|
|
4166
|
+
// Suppress native input events fired while typing when the ISO value hasn't actually changed
|
|
4167
|
+
this.handleInputEvent = (e) => {
|
|
4168
|
+
if (this.maskElement.allowEvents)
|
|
4169
|
+
return;
|
|
4170
|
+
const currentValue = this.serializeIsoValue();
|
|
4171
|
+
if (currentValue === this._lastInputValue) {
|
|
4172
|
+
e.stopImmediatePropagation();
|
|
4173
|
+
return;
|
|
4174
|
+
}
|
|
4175
|
+
this._lastInputValue = currentValue;
|
|
4176
|
+
};
|
|
3972
4177
|
// Skip the month view and go directly to year selection
|
|
3973
4178
|
this.forceTitleClickToYear = () => {
|
|
3974
4179
|
if (this.dpInstance) {
|
|
@@ -3992,12 +4197,25 @@ const PostDatePicker = class {
|
|
|
3992
4197
|
}
|
|
3993
4198
|
updateRange() {
|
|
3994
4199
|
this.dpInstance?.update({ range: this.range });
|
|
3995
|
-
this.handleSelectedDates();
|
|
3996
4200
|
this.updateMask();
|
|
4201
|
+
if (this.range && this.dpInstance?.selectedDates.length > 0) {
|
|
4202
|
+
const startDate = this.dpInstance.selectedDates[0];
|
|
4203
|
+
this.dpInstance.clear();
|
|
4204
|
+
this.dpInstance.selectDate(startDate);
|
|
4205
|
+
}
|
|
4206
|
+
else {
|
|
4207
|
+
this.syncInputToDp();
|
|
4208
|
+
}
|
|
4209
|
+
}
|
|
4210
|
+
updateMin() {
|
|
4211
|
+
this.dpInstance?.update({ minDate: this.min ? isoToDate(this.min) : false });
|
|
4212
|
+
}
|
|
4213
|
+
updateMax() {
|
|
4214
|
+
this.dpInstance?.update({ maxDate: this.max ? isoToDate(this.max) : false });
|
|
3997
4215
|
}
|
|
3998
4216
|
validateInline() {
|
|
3999
|
-
if (!this.
|
|
4000
|
-
console.error('
|
|
4217
|
+
if (!this.dpInput) {
|
|
4218
|
+
console.error('The date picker must contain one input element');
|
|
4001
4219
|
}
|
|
4002
4220
|
}
|
|
4003
4221
|
/**
|
|
@@ -4005,6 +4223,7 @@ const PostDatePicker = class {
|
|
|
4005
4223
|
*/
|
|
4006
4224
|
async show() {
|
|
4007
4225
|
if (this.popoverRef) {
|
|
4226
|
+
this.dpInstance?.setCurrentView('days');
|
|
4008
4227
|
await this.popoverRef.show(this.dpInput);
|
|
4009
4228
|
this.enhanceAccessibility();
|
|
4010
4229
|
this.host.shadowRoot.removeEventListener('keydown', this.handleTab, true); // remove before adding
|
|
@@ -4030,7 +4249,8 @@ const PostDatePicker = class {
|
|
|
4030
4249
|
* or fallback to a default language code if not found or in server environment.
|
|
4031
4250
|
*/
|
|
4032
4251
|
get systemLocale() {
|
|
4033
|
-
|
|
4252
|
+
const closestLang = this.host.closest('[lang]')?.getAttribute('lang');
|
|
4253
|
+
return closestLang ?? navigator.language ?? FALLBACK_LANGUAGE_CODE;
|
|
4034
4254
|
}
|
|
4035
4255
|
/**
|
|
4036
4256
|
* Get the locale code to use for the date picker, ensuring it is valid and applying fallback if necessary.
|
|
@@ -4050,17 +4270,7 @@ const PostDatePicker = class {
|
|
|
4050
4270
|
* with format keys (y, m, d). For example, it will return "dd.mm.yyyy" for "de-CH" locale and "mm/dd/yyyy" for "en-US" locale.
|
|
4051
4271
|
*/
|
|
4052
4272
|
get dateFormat() {
|
|
4053
|
-
|
|
4054
|
-
// get the locale date format e.g. `22.11.3333` for `de-CH` or `11/22/3333` for `en-US`
|
|
4055
|
-
let localeDateString = date.toLocaleDateString(this.localeCode, DATE_FORMAT_STRING_OPTIONS);
|
|
4056
|
-
// replace the date parts (3333, 11, 22) with the corresponding format keys (y, m, d)
|
|
4057
|
-
for (const [key, value] of Object.entries(DATE_FORMAT_MAP)) {
|
|
4058
|
-
// for Thai locale, the year is in Buddhist calendar which is 543 years ahead of Gregorian calendar, so we need to adjust the year value accordingly
|
|
4059
|
-
localeDateString = localeDateString.replace(this.isBuddhistCalendar && value.length === 4
|
|
4060
|
-
? (Number(value) + BUDDHIST_CALENDAR_YEAR_OFFSET).toString()
|
|
4061
|
-
: value, key);
|
|
4062
|
-
}
|
|
4063
|
-
return localeDateString;
|
|
4273
|
+
return getDateFormat(this.localeCode, this.isBuddhistCalendar);
|
|
4064
4274
|
}
|
|
4065
4275
|
/**
|
|
4066
4276
|
* Determine the text direction (ltr or rtl) based on the language code, to apply the correct styles and layout to the date picker.
|
|
@@ -4094,70 +4304,16 @@ const PostDatePicker = class {
|
|
|
4094
4304
|
return module.default;
|
|
4095
4305
|
}
|
|
4096
4306
|
/**
|
|
4097
|
-
* Convert a date object to a localized date string
|
|
4098
|
-
* @param date A localtime date object.
|
|
4099
|
-
* @returns A localized date string, depending on the given `localeCode` and the given `options`.
|
|
4307
|
+
* Convert a date object to a localized date string, bound to the current locale.
|
|
4100
4308
|
*/
|
|
4101
4309
|
dateToString(date) {
|
|
4102
|
-
|
|
4103
|
-
const yearString = date.getFullYear().toString();
|
|
4104
|
-
if (yearString.length < 4) {
|
|
4105
|
-
return dateString.replace(yearString, yearString.padStart(4, '0'));
|
|
4106
|
-
}
|
|
4107
|
-
return dateString;
|
|
4310
|
+
return dateToString(date, this.localeCode);
|
|
4108
4311
|
}
|
|
4109
4312
|
/**
|
|
4110
|
-
* Convert a localized date string to a date object.
|
|
4111
|
-
* The date string should be in the same format as the date picker's `dateFormat`, which depends on the given `localeCode`.
|
|
4112
|
-
* @param localeDateString A localized date string.
|
|
4113
|
-
* @returns A localtime date object.
|
|
4313
|
+
* Convert a localized date string to a date object, bound to the current locale and format.
|
|
4114
4314
|
*/
|
|
4115
4315
|
stringToDate(localeDateString) {
|
|
4116
|
-
|
|
4117
|
-
const dateSeparator = this.dateFormat.match(DATE_FORMAT_SEPARATOR_REGEX)[0];
|
|
4118
|
-
// Remove the text direction markers, split the date string into its parts (e.g. ["31", "01", "2026"], etc.)
|
|
4119
|
-
// and make sure its values only contains digits (e.g. for "bg-BG", etc.).
|
|
4120
|
-
const dateParts = localeDateString
|
|
4121
|
-
.replace(TEXT_DIRECTION_MARKERS_REGEX, '')
|
|
4122
|
-
.split(dateSeparator)
|
|
4123
|
-
.map(p => p.replaceAll(/[^\d]/g, ''));
|
|
4124
|
-
// Split the dateFormat into its parts to get the year, month, day order (e.g. ["d", "m", "y"], etc.).
|
|
4125
|
-
// Removing everything else but the DATE_FORMAT_KEYS is necessary to support date formats with additional chars (e.g. "d.m.y г.", etc.).
|
|
4126
|
-
const formatParts = this.dateFormat.replace(DATE_FORMAT_KEYS_REGEX, '').split('');
|
|
4127
|
-
// Map the datePart values to their corresponding keys (e.g. y, m, d),
|
|
4128
|
-
// to construct an ISO date string (e.g. "2026-01-31") that can be parsed by the Date constructor.
|
|
4129
|
-
// This is necessary because different locale date formats may have different orders (e.g. "ymd", "dmy", "mdy", etc.).
|
|
4130
|
-
const { y, m, d } = DATE_FORMAT_KEYS.reduce((parts, key) => ({
|
|
4131
|
-
...parts,
|
|
4132
|
-
[key]: dateParts[formatParts.indexOf(key)],
|
|
4133
|
-
}), {});
|
|
4134
|
-
// Adjust for Thai Buddhist calendar
|
|
4135
|
-
const year = this.isBuddhistCalendar
|
|
4136
|
-
? (Number(y) - BUDDHIST_CALENDAR_YEAR_OFFSET).toString()
|
|
4137
|
-
: y;
|
|
4138
|
-
return this.isoToDate([year, m, d].join('-'));
|
|
4139
|
-
}
|
|
4140
|
-
/**
|
|
4141
|
-
* Convert a date object to an ISO 8601 formatted date string (YYYY-MM-DD) and vice versa.
|
|
4142
|
-
* @param date A localtime date object.
|
|
4143
|
-
* @returns An iso formatted, localtime date string.
|
|
4144
|
-
*/
|
|
4145
|
-
dateToIso(date) {
|
|
4146
|
-
// The swedish locale (`sv`) happens to format the date in the exact ISO format (YYYY-MM-DD),
|
|
4147
|
-
// so we can use it as a shortcut instead of manually constructing the string from the date parts.
|
|
4148
|
-
return date.toLocaleDateString('sv', DATE_FORMAT_STRING_OPTIONS);
|
|
4149
|
-
}
|
|
4150
|
-
/**
|
|
4151
|
-
* Convert an ISO 8601 formatted date string (YYYY-MM-DD) to a localtime date object.
|
|
4152
|
-
* @param isoDateString An iso formatted, localtime date string.
|
|
4153
|
-
* @returns A localtime date object.
|
|
4154
|
-
*/
|
|
4155
|
-
isoToDate(isoDateString) {
|
|
4156
|
-
return new Date(`${this.padIsoDate(isoDateString)}T00:00`);
|
|
4157
|
-
}
|
|
4158
|
-
padIsoDate(isoDateString) {
|
|
4159
|
-
const valueParts = isoDateString.split('-');
|
|
4160
|
-
return `${valueParts[0].padStart(4, '0')}-${valueParts[1]}-${valueParts[2]}`;
|
|
4316
|
+
return stringToDate(localeDateString, this.dateFormat, this.isBuddhistCalendar);
|
|
4161
4317
|
}
|
|
4162
4318
|
setupInputObserver() {
|
|
4163
4319
|
if (typeof MutationObserver === 'undefined')
|
|
@@ -4297,7 +4453,9 @@ const PostDatePicker = class {
|
|
|
4297
4453
|
});
|
|
4298
4454
|
body.removeEventListener('keydown', this.handleGridKeydown);
|
|
4299
4455
|
body.addEventListener('keydown', this.handleGridKeydown);
|
|
4300
|
-
|
|
4456
|
+
const dates = this.getIsoDates();
|
|
4457
|
+
const selectedDate = dates[0] ? isoToDate(dates[0]) : null;
|
|
4458
|
+
this.setActiveCell(selectedDate || this.today, focusOnDate);
|
|
4301
4459
|
}
|
|
4302
4460
|
/**
|
|
4303
4461
|
* Set up the masks on the inputs to reflect the date pickers
|
|
@@ -4305,7 +4463,7 @@ const PostDatePicker = class {
|
|
|
4305
4463
|
setUpMask() {
|
|
4306
4464
|
// WARNING: using the DATE_FORMAT_SEPARATOR_REGEX is mandatory here,
|
|
4307
4465
|
// because `this.dateFormat` can possibly contain unicode bidi characters!
|
|
4308
|
-
const maskPattern = this.dateFormat
|
|
4466
|
+
const maskPattern = this.dateFormat.replace(DATE_FORMAT_SEPARATOR_REGEX, m => `${m}\``);
|
|
4309
4467
|
const baseMaskOptions = {
|
|
4310
4468
|
mask: Date,
|
|
4311
4469
|
pattern: maskPattern,
|
|
@@ -4314,7 +4472,7 @@ const PostDatePicker = class {
|
|
|
4314
4472
|
blocks: {
|
|
4315
4473
|
y: {
|
|
4316
4474
|
mask: IMask.MaskedRange,
|
|
4317
|
-
from:
|
|
4475
|
+
from: 1000,
|
|
4318
4476
|
to: 9999,
|
|
4319
4477
|
maxLength: 4,
|
|
4320
4478
|
placeholderChar: Object.keys(DATE_FORMAT_MAP)[0],
|
|
@@ -4332,8 +4490,10 @@ const PostDatePicker = class {
|
|
|
4332
4490
|
placeholderChar: Object.keys(DATE_FORMAT_MAP)[2],
|
|
4333
4491
|
},
|
|
4334
4492
|
},
|
|
4335
|
-
min: this.min ? new Date(`${
|
|
4336
|
-
max: this.max ? new Date(`${
|
|
4493
|
+
min: this.min ? new Date(`${padIsoDate(this.min)}T00:00`) : null,
|
|
4494
|
+
max: this.max ? new Date(`${padIsoDate(this.max)}T00:00`) : null,
|
|
4495
|
+
autofix: true,
|
|
4496
|
+
eager: true,
|
|
4337
4497
|
};
|
|
4338
4498
|
const singleMaskOptions = {
|
|
4339
4499
|
...baseMaskOptions,
|
|
@@ -4341,7 +4501,7 @@ const PostDatePicker = class {
|
|
|
4341
4501
|
overwrite: true,
|
|
4342
4502
|
};
|
|
4343
4503
|
const rangeMaskOptions = {
|
|
4344
|
-
mask: `from
|
|
4504
|
+
mask: `from\`${this.dateFormatRangeSeparator}to`,
|
|
4345
4505
|
blocks: {
|
|
4346
4506
|
from: { ...baseMaskOptions },
|
|
4347
4507
|
to: { ...baseMaskOptions },
|
|
@@ -4349,29 +4509,109 @@ const PostDatePicker = class {
|
|
|
4349
4509
|
lazy: false,
|
|
4350
4510
|
overwrite: true,
|
|
4351
4511
|
};
|
|
4352
|
-
this.
|
|
4512
|
+
this.maskElement = new NativeInputMaskElement(this.dpInput);
|
|
4513
|
+
this.inputMask = IMask(this.maskElement, this.range ? rangeMaskOptions : singleMaskOptions);
|
|
4353
4514
|
}
|
|
4354
4515
|
updateMask() {
|
|
4355
4516
|
if (!this.inline) {
|
|
4356
4517
|
this.inputMask.destroy();
|
|
4357
4518
|
this.setUpMask();
|
|
4519
|
+
this.setupValueOverride();
|
|
4358
4520
|
if (this.dpInstance.selectedDates.length > 0) {
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4521
|
+
this.inputMask.value = this.formatDatesForMask(this.dpInstance.selectedDates);
|
|
4522
|
+
}
|
|
4523
|
+
}
|
|
4524
|
+
}
|
|
4525
|
+
// Override input.value so external consumers get ISO strings
|
|
4526
|
+
// while iMask continues to work with locale-formatted display text via NativeInputMaskElement
|
|
4527
|
+
setupValueOverride() {
|
|
4528
|
+
if (!this.dpInput)
|
|
4529
|
+
return;
|
|
4530
|
+
Object.defineProperty(this.dpInput, 'value', {
|
|
4531
|
+
get: this.getInputIsoValue.bind(this),
|
|
4532
|
+
set: this.setInputIsoValue.bind(this),
|
|
4533
|
+
configurable: true,
|
|
4534
|
+
enumerable: true,
|
|
4535
|
+
});
|
|
4536
|
+
}
|
|
4537
|
+
getIsoDates() {
|
|
4538
|
+
const nativeVal = getNativeValue(this.dpInput);
|
|
4539
|
+
const DIGITS_PER_DATE = 8; // dd(2) + mm(2) + yyyy(4)
|
|
4540
|
+
if (!this.range) {
|
|
4541
|
+
const digits = nativeVal?.replaceAll(/\D/g, '') ?? '';
|
|
4542
|
+
if (digits.length < DIGITS_PER_DATE)
|
|
4543
|
+
return [];
|
|
4544
|
+
const date = this.stringToDate(nativeVal);
|
|
4545
|
+
return date && isValidDate(date) ? [dateToIso(date)] : [];
|
|
4546
|
+
}
|
|
4547
|
+
const parts = nativeVal?.split(this.dateFormatRangeSeparator) ?? [];
|
|
4548
|
+
const startDigits = parts[0]?.replaceAll(/\D/g, '') ?? '';
|
|
4549
|
+
const endDigits = parts[1]?.replaceAll(/\D/g, '') ?? '';
|
|
4550
|
+
const start = startDigits.length >= DIGITS_PER_DATE ? this.stringToDate(parts[0]) : null;
|
|
4551
|
+
const end = endDigits.length >= DIGITS_PER_DATE ? this.stringToDate(parts[1]) : null;
|
|
4552
|
+
const result = [];
|
|
4553
|
+
if (start && isValidDate(start))
|
|
4554
|
+
result.push(dateToIso(start));
|
|
4555
|
+
if (end && isValidDate(end))
|
|
4556
|
+
result.push(dateToIso(end));
|
|
4557
|
+
return result;
|
|
4558
|
+
}
|
|
4559
|
+
getInputIsoValue() {
|
|
4560
|
+
const dates = this.getIsoDates();
|
|
4561
|
+
if (!this.range) {
|
|
4562
|
+
return dates[0] ?? '';
|
|
4563
|
+
}
|
|
4564
|
+
return dates;
|
|
4565
|
+
}
|
|
4566
|
+
serializeIsoValue() {
|
|
4567
|
+
return JSON.stringify(this.getIsoDates());
|
|
4568
|
+
}
|
|
4569
|
+
setInputIsoValue(val) {
|
|
4570
|
+
if (this._isInternalUpdate)
|
|
4571
|
+
return;
|
|
4572
|
+
this._isInternalUpdate = true;
|
|
4573
|
+
try {
|
|
4574
|
+
let isoValues;
|
|
4575
|
+
if (Array.isArray(val)) {
|
|
4576
|
+
isoValues = val;
|
|
4367
4577
|
}
|
|
4578
|
+
else {
|
|
4579
|
+
isoValues = val ? val.split(',').map(s => s.trim()) : [];
|
|
4580
|
+
}
|
|
4581
|
+
const dates = isoValues
|
|
4582
|
+
.filter(Boolean)
|
|
4583
|
+
.map(iso => isoToDate(iso))
|
|
4584
|
+
.filter(d => d && isValidDate(d));
|
|
4585
|
+
if (dates.length === 0) {
|
|
4586
|
+
this.inputMask.value = '';
|
|
4587
|
+
this.dpInstance?.clear();
|
|
4588
|
+
return;
|
|
4589
|
+
}
|
|
4590
|
+
this.inputMask.value = this.formatDatesForMask(dates);
|
|
4591
|
+
this.dpInstance?.clear();
|
|
4592
|
+
this.dpInstance?.selectDate(this.range ? dates : dates[0]);
|
|
4593
|
+
this.dpInstance?.setViewDate(dates[0]);
|
|
4594
|
+
}
|
|
4595
|
+
finally {
|
|
4596
|
+
this._isInternalUpdate = false;
|
|
4368
4597
|
}
|
|
4369
4598
|
}
|
|
4370
4599
|
async configDatePicker() {
|
|
4371
4600
|
const locale = await this.airLocale();
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4601
|
+
this.dpInput = this.host.querySelector('input');
|
|
4602
|
+
if (!this.dpInput) {
|
|
4603
|
+
console.error('The post-date-picker component requires a slotted <input> element.');
|
|
4604
|
+
return;
|
|
4605
|
+
}
|
|
4606
|
+
this.dpInput.type = this.inline ? 'hidden' : 'text';
|
|
4607
|
+
// Capture and clear initial value before mask setup, since iMask would
|
|
4608
|
+
// interpret an ISO string as locale-formatted text and garble it
|
|
4609
|
+
const initialValue = this.dpInput.value;
|
|
4610
|
+
this.dpInput.value = '';
|
|
4611
|
+
this.setUpMask();
|
|
4612
|
+
this.setupValueOverride();
|
|
4613
|
+
if (initialValue) {
|
|
4614
|
+
this.setInputIsoValue(initialValue);
|
|
4375
4615
|
}
|
|
4376
4616
|
this.dpContainer = this.host.shadowRoot.querySelector('.datepicker-container');
|
|
4377
4617
|
if (this.dpContainer) {
|
|
@@ -4390,8 +4630,8 @@ const PostDatePicker = class {
|
|
|
4390
4630
|
showOtherMonths: false,
|
|
4391
4631
|
moveToOtherMonthsOnSelect: true,
|
|
4392
4632
|
startDate: this.startDate,
|
|
4393
|
-
minDate: this.min,
|
|
4394
|
-
maxDate: this.max,
|
|
4633
|
+
minDate: this.min ? isoToDate(this.min) : undefined,
|
|
4634
|
+
maxDate: this.max ? isoToDate(this.max) : undefined,
|
|
4395
4635
|
locale: locale,
|
|
4396
4636
|
dateFormat: locale.dateFormat,
|
|
4397
4637
|
firstDay: locale.firstDay,
|
|
@@ -4408,8 +4648,14 @@ const PostDatePicker = class {
|
|
|
4408
4648
|
this.updateNavigationButtonLabels();
|
|
4409
4649
|
},
|
|
4410
4650
|
onSelect: ({ date }) => {
|
|
4411
|
-
|
|
4651
|
+
// Handle deselection (clicking the same date again)
|
|
4652
|
+
if (!date || (Array.isArray(date) && date.length === 0)) {
|
|
4653
|
+
if (this._isInternalUpdate)
|
|
4654
|
+
return;
|
|
4655
|
+
this.inputMask.value = '';
|
|
4656
|
+
this.emitInputEvents();
|
|
4412
4657
|
return;
|
|
4658
|
+
}
|
|
4413
4659
|
this.getCells().forEach(c => {
|
|
4414
4660
|
c.setAttribute('aria-selected', c.classList.contains('-selected-') ? 'true' : 'false');
|
|
4415
4661
|
});
|
|
@@ -4418,33 +4664,19 @@ const PostDatePicker = class {
|
|
|
4418
4664
|
this.skipOnSelectCount--;
|
|
4419
4665
|
return;
|
|
4420
4666
|
}
|
|
4421
|
-
//
|
|
4422
|
-
if (
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4667
|
+
// If this selection was triggered by the value setter, don't re-emit
|
|
4668
|
+
if (this._isInternalUpdate)
|
|
4669
|
+
return;
|
|
4670
|
+
const dates = Array.isArray(date) ? date : [date];
|
|
4671
|
+
const isPartialRange = this.range && dates.length === 1;
|
|
4672
|
+
// Update the input mask value and emit events
|
|
4673
|
+
this.inputMask.value = this.formatDatesForMask(dates);
|
|
4674
|
+
this.emitInputEvents();
|
|
4675
|
+
// If range & only one date has been selected, user should stay in the DP
|
|
4676
|
+
if (isPartialRange) {
|
|
4677
|
+
return;
|
|
4429
4678
|
}
|
|
4430
|
-
|
|
4431
|
-
// Assign value to the input, close the popover and focus on the input
|
|
4432
|
-
if (this.dpInput) {
|
|
4433
|
-
if (Array.isArray(date)) {
|
|
4434
|
-
this.inputMask.value = date
|
|
4435
|
-
.map(d => this.dateToString(d))
|
|
4436
|
-
.join(this.dateFormatRangeSeparator);
|
|
4437
|
-
this.updateInputValue();
|
|
4438
|
-
}
|
|
4439
|
-
else if (date) {
|
|
4440
|
-
// If there is a date, set it to the input. No date = same date as before
|
|
4441
|
-
this.inputMask.value = this.dateToString(date);
|
|
4442
|
-
this.updateInputValue();
|
|
4443
|
-
}
|
|
4444
|
-
// If range & only one date has been selected, user should stay in the DP
|
|
4445
|
-
if (this.range && Array.isArray(date) && date.length === 1) {
|
|
4446
|
-
return;
|
|
4447
|
-
}
|
|
4679
|
+
if (!this.inline) {
|
|
4448
4680
|
this.popoverRef?.hide();
|
|
4449
4681
|
requestAnimationFrame(() => this.dpTrigger.focus());
|
|
4450
4682
|
}
|
|
@@ -4453,41 +4685,46 @@ const PostDatePicker = class {
|
|
|
4453
4685
|
this.enhanceAccessibility();
|
|
4454
4686
|
},
|
|
4455
4687
|
onRenderCell: data => {
|
|
4456
|
-
const internal = this.
|
|
4457
|
-
const custom = this.
|
|
4458
|
-
return
|
|
4688
|
+
const internal = renderCellAccessibility(data, this.localeCode);
|
|
4689
|
+
const custom = this.cellConfig?.(data.date, data.cellType);
|
|
4690
|
+
return mergeRenderCellResults(internal, custom);
|
|
4459
4691
|
},
|
|
4460
4692
|
};
|
|
4461
4693
|
this.dpInstance = new AirDatepicker(this.dpContainer, options);
|
|
4462
4694
|
this.reorderNavigation();
|
|
4463
4695
|
this.prevBtn?.addEventListener('click', this.handlePrevNextClick);
|
|
4464
4696
|
this.nextBtn?.addEventListener('click', this.handlePrevNextClick);
|
|
4465
|
-
this.
|
|
4697
|
+
this.syncInputToDp();
|
|
4466
4698
|
}
|
|
4467
4699
|
}
|
|
4468
|
-
|
|
4700
|
+
emitInputEvents() {
|
|
4469
4701
|
this.inputMask.updateValue();
|
|
4470
|
-
|
|
4702
|
+
const currentValue = this.serializeIsoValue();
|
|
4703
|
+
if (currentValue === this._lastInputValue) {
|
|
4704
|
+
return;
|
|
4705
|
+
}
|
|
4706
|
+
this._lastInputValue = currentValue;
|
|
4707
|
+
this.maskElement.allowEvents = true;
|
|
4471
4708
|
this.dpInput.dispatchEvent(new InputEvent('input', { bubbles: true }));
|
|
4472
4709
|
this.dpInput.dispatchEvent(new InputEvent('change', { bubbles: true }));
|
|
4710
|
+
this.maskElement.allowEvents = false;
|
|
4473
4711
|
}
|
|
4474
|
-
|
|
4712
|
+
formatDatesForMask(dates) {
|
|
4713
|
+
if (dates.length === 0)
|
|
4714
|
+
return '';
|
|
4475
4715
|
if (this.range) {
|
|
4476
|
-
|
|
4477
|
-
(!this.selectedStartDate && this.selectedEndDate)) {
|
|
4478
|
-
console.error('The range date picker expects either no selected dates or both of them defined.');
|
|
4479
|
-
}
|
|
4480
|
-
else if (this.selectedStartDate && this.selectedEndDate) {
|
|
4481
|
-
this.dpInstance.selectDate([
|
|
4482
|
-
this.isoToDate(this.selectedStartDate),
|
|
4483
|
-
this.isoToDate(this.selectedEndDate),
|
|
4484
|
-
]);
|
|
4485
|
-
}
|
|
4716
|
+
return dates.map(d => this.dateToString(d)).join(this.dateFormatRangeSeparator);
|
|
4486
4717
|
}
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4718
|
+
return this.dateToString(dates[0]);
|
|
4719
|
+
}
|
|
4720
|
+
syncInputToDp() {
|
|
4721
|
+
const isoDates = this.getIsoDates();
|
|
4722
|
+
if (isoDates.length === 0)
|
|
4723
|
+
return;
|
|
4724
|
+
const dates = isoDates.map(iso => isoToDate(iso)).filter(d => d && isValidDate(d));
|
|
4725
|
+
if (dates.length > 0) {
|
|
4726
|
+
this.dpInstance.selectDate(this.range ? dates : dates[0]);
|
|
4727
|
+
this.dpInstance.setViewDate(dates[0]);
|
|
4491
4728
|
}
|
|
4492
4729
|
}
|
|
4493
4730
|
attachTitleBtnListener() {
|
|
@@ -4499,67 +4736,6 @@ const PostDatePicker = class {
|
|
|
4499
4736
|
this.titleBtn.addEventListener('click', this.forceTitleClickToYear, { capture: true });
|
|
4500
4737
|
});
|
|
4501
4738
|
}
|
|
4502
|
-
/**
|
|
4503
|
-
* Add role and aria-label to each grid cell
|
|
4504
|
-
*/
|
|
4505
|
-
internalOnRenderCell({ date, cellType }) {
|
|
4506
|
-
if (cellType === 'day') {
|
|
4507
|
-
return {
|
|
4508
|
-
attrs: {
|
|
4509
|
-
'role': 'gridcell',
|
|
4510
|
-
'aria-label': date.toLocaleDateString(this.localeCode, {
|
|
4511
|
-
weekday: 'long',
|
|
4512
|
-
year: 'numeric',
|
|
4513
|
-
month: 'long',
|
|
4514
|
-
day: 'numeric',
|
|
4515
|
-
}),
|
|
4516
|
-
},
|
|
4517
|
-
};
|
|
4518
|
-
}
|
|
4519
|
-
else if (cellType === 'month') {
|
|
4520
|
-
return {
|
|
4521
|
-
attrs: {
|
|
4522
|
-
'role': 'gridcell',
|
|
4523
|
-
'aria-label': date.toLocaleDateString(this.localeCode, {
|
|
4524
|
-
year: 'numeric',
|
|
4525
|
-
month: 'long',
|
|
4526
|
-
}),
|
|
4527
|
-
},
|
|
4528
|
-
};
|
|
4529
|
-
}
|
|
4530
|
-
else if (cellType === 'year') {
|
|
4531
|
-
return {
|
|
4532
|
-
attrs: {
|
|
4533
|
-
'role': 'gridcell',
|
|
4534
|
-
'aria-label': date.toLocaleDateString(this.localeCode, {
|
|
4535
|
-
year: 'numeric',
|
|
4536
|
-
}),
|
|
4537
|
-
},
|
|
4538
|
-
};
|
|
4539
|
-
}
|
|
4540
|
-
}
|
|
4541
|
-
/**
|
|
4542
|
-
* Merge the internal render cell (adding of role + aria-label attributes) and the user's render cell (disabling dates, etc.)
|
|
4543
|
-
* @param base Internal render cell
|
|
4544
|
-
* @param custom User render cell
|
|
4545
|
-
* @returns Merged render cell
|
|
4546
|
-
*/
|
|
4547
|
-
mergeRenderCellResults(base, custom) {
|
|
4548
|
-
if (!base)
|
|
4549
|
-
return custom;
|
|
4550
|
-
if (!custom)
|
|
4551
|
-
return base;
|
|
4552
|
-
return {
|
|
4553
|
-
...base,
|
|
4554
|
-
...custom,
|
|
4555
|
-
attrs: {
|
|
4556
|
-
...(base.attrs ?? {}),
|
|
4557
|
-
...(custom.attrs ?? {}),
|
|
4558
|
-
},
|
|
4559
|
-
classes: [base.classes, custom.classes].filter(Boolean).join(' '),
|
|
4560
|
-
disabled: base.disabled || custom.disabled,
|
|
4561
|
-
};
|
|
4562
|
-
}
|
|
4563
4739
|
setupNavObserver() {
|
|
4564
4740
|
if (typeof MutationObserver === 'undefined')
|
|
4565
4741
|
return;
|
|
@@ -4605,17 +4781,16 @@ const PostDatePicker = class {
|
|
|
4605
4781
|
});
|
|
4606
4782
|
}
|
|
4607
4783
|
addInputListener() {
|
|
4608
|
-
this.
|
|
4784
|
+
this._lastInputValue = this.serializeIsoValue();
|
|
4785
|
+
if (!this.inline) {
|
|
4786
|
+
this.dpInput.addEventListener('blur', this.handleInputBlur);
|
|
4787
|
+
}
|
|
4788
|
+
this.dpInput.addEventListener('input', this.handleInputEvent);
|
|
4609
4789
|
}
|
|
4610
4790
|
resetSelection() {
|
|
4611
4791
|
this.skipOnSelectCount = 0;
|
|
4612
4792
|
this.dpInstance.clear();
|
|
4613
4793
|
this.dpInstance.setViewDate(this.today);
|
|
4614
|
-
this.selectedStartDate = undefined;
|
|
4615
|
-
this.selectedEndDate = undefined;
|
|
4616
|
-
}
|
|
4617
|
-
isValidDate(date) {
|
|
4618
|
-
return date instanceof Date && !Number.isNaN(date.getTime());
|
|
4619
4794
|
}
|
|
4620
4795
|
syncDatePickerState() {
|
|
4621
4796
|
this.inputDisabled = this.dpInput.disabled;
|
|
@@ -4627,15 +4802,11 @@ const PostDatePicker = class {
|
|
|
4627
4802
|
this.setupInputObserver();
|
|
4628
4803
|
this.validateLocale();
|
|
4629
4804
|
this.validateInline();
|
|
4805
|
+
this.addInputListener();
|
|
4806
|
+
this.syncDatePickerState();
|
|
4630
4807
|
if (this.inline) {
|
|
4631
4808
|
requestAnimationFrame(() => this.enhanceAccessibility(false));
|
|
4632
4809
|
}
|
|
4633
|
-
else {
|
|
4634
|
-
this.addInputListener();
|
|
4635
|
-
requestAnimationFrame(() => {
|
|
4636
|
-
this.syncDatePickerState();
|
|
4637
|
-
});
|
|
4638
|
-
}
|
|
4639
4810
|
}
|
|
4640
4811
|
disconnectedCallback() {
|
|
4641
4812
|
this.host.shadowRoot?.removeEventListener('keydown', this.handleTab, true);
|
|
@@ -4645,6 +4816,7 @@ const PostDatePicker = class {
|
|
|
4645
4816
|
this.prevBtn?.removeEventListener('click', this.handlePrevNextClick);
|
|
4646
4817
|
this.nextBtn?.removeEventListener('click', this.handlePrevNextClick);
|
|
4647
4818
|
this.dpInput?.removeEventListener('blur', this.handleInputBlur);
|
|
4819
|
+
this.dpInput?.removeEventListener('input', this.handleInputEvent);
|
|
4648
4820
|
this.gridObserver?.disconnect();
|
|
4649
4821
|
this.navObserver?.disconnect();
|
|
4650
4822
|
this.inputObserver?.disconnect();
|
|
@@ -4654,11 +4826,11 @@ const PostDatePicker = class {
|
|
|
4654
4826
|
}
|
|
4655
4827
|
}
|
|
4656
4828
|
render() {
|
|
4657
|
-
return (index.h(index.Host, { key: '
|
|
4829
|
+
return (index.h(index.Host, { key: 'e5eeee8c1cb2cc1f63bdf74077a23410e7fdc8e9', "data-version": _package.version }, this.inline && (index.h("div", { key: '9518bcce6cfd31747c03fb46f8c27ebc58f3dbfc', dir: this.textDirection }, index.h("slot", { key: '4cf06d1fc9ff12d8f471860166a4561218e3a8c3' }), index.h("div", { key: '79b7a64d5f4f0ed1ec8e484f93f985da7f060ec2', class: "datepicker-container" }))), !this.inline && (index.h("div", { key: '2c579c73dcbfab1fc3ba207a97638415815f317d', dir: this.textDirection }, index.h("div", { key: '80969517b53c43a6c94e2452220f344f3ab49e34', class: {
|
|
4658
4830
|
'calendar-input': !this.range,
|
|
4659
4831
|
'calendar-input-range': this.range,
|
|
4660
4832
|
'disabled': this.inputDisabled,
|
|
4661
|
-
} }, index.h("slot", { key: '
|
|
4833
|
+
} }, index.h("slot", { key: 'a52d67dd7a762f7811c574c54a5e04864a6d7d66' }), index.h("button", { key: '68f891aa03c93ef515430cb7849184eba54bd03e', onClick: () => this.show(), "aria-haspopup": "true", "aria-label": this.textToggleCalendar, disabled: this.inputDisabled, ref: e => (this.dpTrigger = e) }, index.h("post-icon", { key: '5d9544388a2017906575e1dba8186641a556d09f', name: "calendar" }))), index.h("post-popovercontainer", { key: '646481b281bb1df3e856fab125fad3eb6bcc3f6d', placement: "bottom-end", offset: PostDatePicker.FLYOUT_OFFSET, ref: e => (this.popoverRef = e) }, index.h("div", { key: '3482284992582511e01ac60832ca119f54905b56', class: "datepicker-container" }))))));
|
|
4662
4834
|
}
|
|
4663
4835
|
get host() { return index.getElement(this); }
|
|
4664
4836
|
static get watchers() { return {
|
|
@@ -4670,20 +4842,18 @@ const PostDatePicker = class {
|
|
|
4670
4842
|
"range": [{
|
|
4671
4843
|
"updateRange": 0
|
|
4672
4844
|
}],
|
|
4845
|
+
"min": [{
|
|
4846
|
+
"updateMin": 0
|
|
4847
|
+
}],
|
|
4848
|
+
"max": [{
|
|
4849
|
+
"updateMax": 0
|
|
4850
|
+
}],
|
|
4673
4851
|
"inline": [{
|
|
4674
4852
|
"validateInline": 0
|
|
4675
4853
|
}]
|
|
4676
4854
|
}; }
|
|
4677
4855
|
};
|
|
4678
4856
|
PostDatePicker.FLYOUT_OFFSET = 4;
|
|
4679
|
-
__decorate([
|
|
4680
|
-
DateValue(),
|
|
4681
|
-
IsoDate()
|
|
4682
|
-
], PostDatePicker.prototype, "selectedStartDate", void 0);
|
|
4683
|
-
__decorate([
|
|
4684
|
-
DateValue(),
|
|
4685
|
-
IsoDate()
|
|
4686
|
-
], PostDatePicker.prototype, "selectedEndDate", void 0);
|
|
4687
4857
|
__decorate([
|
|
4688
4858
|
DateValue(),
|
|
4689
4859
|
IsoDate()
|