@beeq/core 1.12.2-beta.0 → 1.12.3-beta.0
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/beeq/beeq.esm.js +1 -44
- package/dist/beeq/beeq.esm.js.map +1 -1
- package/dist/beeq/index.esm.js +1 -69
- package/dist/beeq/p-026cfacc.entry.js +6 -0
- package/dist/beeq/p-026cfacc.entry.js.map +1 -0
- package/dist/beeq/p-061d53de.entry.js +6 -0
- package/dist/beeq/p-061d53de.entry.js.map +1 -0
- package/dist/beeq/{p-9a78587d.entry.js → p-08fef3d3.entry.js} +2 -134
- package/dist/beeq/p-08fef3d3.entry.js.map +1 -0
- package/dist/beeq/p-12d9420b.entry.js +6 -0
- package/dist/beeq/p-12d9420b.entry.js.map +1 -0
- package/dist/beeq/p-17454929.entry.js +6 -0
- package/dist/beeq/p-17454929.entry.js.map +1 -0
- package/dist/beeq/{p-ff327b98.entry.js → p-1bce390d.entry.js} +2 -116
- package/dist/beeq/p-1bce390d.entry.js.map +1 -0
- package/dist/beeq/p-1c09c7c0.entry.js +6 -0
- package/dist/beeq/p-1c09c7c0.entry.js.map +1 -0
- package/dist/beeq/p-1f819545.entry.js +6 -0
- package/dist/beeq/p-1f819545.entry.js.map +1 -0
- package/dist/beeq/p-292a8a40.entry.js +6 -0
- package/dist/beeq/p-292a8a40.entry.js.map +1 -0
- package/dist/beeq/p-2ec4fbf0.entry.js +6 -0
- package/dist/beeq/p-2ec4fbf0.entry.js.map +1 -0
- package/dist/beeq/p-34125078.entry.js +6 -0
- package/dist/beeq/p-34125078.entry.js.map +1 -0
- package/dist/beeq/{p-6b68123f.entry.js → p-36e8e717.entry.js} +2 -246
- package/dist/beeq/p-36e8e717.entry.js.map +1 -0
- package/dist/beeq/p-37f739f5.entry.js +6 -0
- package/dist/beeq/p-37f739f5.entry.js.map +1 -0
- package/dist/beeq/p-38a7015c.entry.js +6 -0
- package/dist/{components/p-CXLw0i9p.js.map → beeq/p-38a7015c.entry.js.map} +1 -1
- package/dist/beeq/p-4aa539d7.entry.js +6 -0
- package/dist/beeq/p-4aa539d7.entry.js.map +1 -0
- package/dist/beeq/p-51074699.entry.js +6 -0
- package/dist/beeq/p-51074699.entry.js.map +1 -0
- package/dist/beeq/p-64123cb2.entry.js +6 -0
- package/dist/beeq/p-64123cb2.entry.js.map +1 -0
- package/dist/beeq/{p-426fd908.entry.js → p-6a70511e.entry.js} +2 -211
- package/dist/beeq/p-6a70511e.entry.js.map +1 -0
- package/dist/beeq/{p-1011ae42.entry.js → p-7c9c6561.entry.js} +2 -89
- package/dist/beeq/p-7c9c6561.entry.js.map +1 -0
- package/dist/beeq/p-7e73ea84.entry.js +6 -0
- package/dist/beeq/p-7e73ea84.entry.js.map +1 -0
- package/dist/beeq/p-84db8789.entry.js +6 -0
- package/dist/beeq/p-84db8789.entry.js.map +1 -0
- package/dist/beeq/p-85af346a.entry.js +6 -0
- package/dist/beeq/p-85af346a.entry.js.map +1 -0
- package/dist/beeq/p-B4sM1t6Z.js +1 -8
- package/dist/beeq/p-BNvWMggA.js +1 -23
- package/dist/beeq/p-BRMw_HGf.js +1 -8
- package/dist/beeq/p-BRbYDZoo.js +1 -10
- package/dist/beeq/p-BcPwGxIn.js +1 -9
- package/dist/beeq/p-BsSDkLU5.js +1 -26
- package/dist/beeq/p-CCNjsDdb.js +1 -88
- package/dist/beeq/p-CVw85-WU.js +1 -64
- package/dist/beeq/p-Cau9SvT4.js +1 -12
- package/dist/beeq/p-CmKvDWiL.js +1 -1782
- package/dist/beeq/p-CpKQ7XUL.js +1 -284
- package/dist/beeq/p-D1A0LpG_.js +1 -10
- package/dist/beeq/p-DdvbF5yL.js +1 -119
- package/dist/beeq/p-DnkZCdMA.js +1 -8
- package/dist/beeq/p-Ds7rcaFH.js +1 -65
- package/dist/beeq/p-Dx-CEPSQ.js +1 -13
- package/dist/beeq/p-XbB3xSTR.js +7 -0
- package/dist/beeq/p-XbB3xSTR.js.map +1 -0
- package/dist/beeq/p-_RvVpeh2.js +1 -29
- package/dist/beeq/p-a4e6c238.entry.js +6 -0
- package/dist/beeq/p-a4e6c238.entry.js.map +1 -0
- package/dist/beeq/p-ab690c8e.entry.js +6 -0
- package/dist/beeq/p-ab690c8e.entry.js.map +1 -0
- package/dist/beeq/p-ad86b7ee.entry.js +6 -0
- package/dist/beeq/p-ad86b7ee.entry.js.map +1 -0
- package/dist/beeq/p-b31ab8df.entry.js +6 -0
- package/dist/beeq/p-b31ab8df.entry.js.map +1 -0
- package/dist/beeq/p-b4f1b67f.entry.js +6 -0
- package/dist/beeq/p-b4f1b67f.entry.js.map +1 -0
- package/dist/beeq/{p-8b5934a3.entry.js → p-bcd26036.entry.js} +2 -154
- package/dist/beeq/p-bcd26036.entry.js.map +1 -0
- package/dist/beeq/{p-11671252.entry.js → p-c08c4c7b.entry.js} +2 -124
- package/dist/beeq/p-c08c4c7b.entry.js.map +1 -0
- package/dist/{components/p-CXLw0i9p.js → beeq/p-c3013171.entry.js} +2 -291
- package/dist/beeq/p-c3013171.entry.js.map +1 -0
- package/dist/beeq/p-ce975008.entry.js +6 -0
- package/dist/beeq/p-ce975008.entry.js.map +1 -0
- package/dist/beeq/{p-db09cc1e.entry.js → p-cf843f3a.entry.js} +2 -83
- package/dist/beeq/p-cf843f3a.entry.js.map +1 -0
- package/dist/beeq/p-d1f4ce2e.entry.js +6 -0
- package/dist/beeq/p-d1f4ce2e.entry.js.map +1 -0
- package/dist/beeq/p-d6edf4cb.entry.js +6 -0
- package/dist/beeq/p-d6edf4cb.entry.js.map +1 -0
- package/dist/beeq/p-e38637a0.entry.js +6 -0
- package/dist/beeq/p-e38637a0.entry.js.map +1 -0
- package/dist/beeq/p-ec4c7f14.entry.js +6 -0
- package/dist/beeq/p-ec4c7f14.entry.js.map +1 -0
- package/dist/beeq/p-f3c8eda1.entry.js +6 -0
- package/dist/beeq/p-f3c8eda1.entry.js.map +1 -0
- package/dist/beeq/{p-1aba3eec.entry.js → p-f86bbd71.entry.js} +2 -146
- package/dist/beeq/p-f86bbd71.entry.js.map +1 -0
- package/dist/beeq/p-ff68b62f.entry.js +6 -0
- package/dist/beeq/p-ff68b62f.entry.js.map +1 -0
- package/dist/beeq/p-lysmVw2n.js +1 -12
- package/dist/beeq/p-uqkxeAeG.js +1 -88
- package/dist/beeq/p-zh4P02Kn.js +1 -21
- package/dist/beeq/scripts/esm-loader.js +24 -0
- package/dist/beeq/scripts/zeroheight-svg-loader.js +22 -0
- package/dist/beeq.html-custom-data.json +198 -198
- package/dist/cjs/beeq.cjs.js +2 -3
- package/dist/cjs/beeq.cjs.js.map +1 -1
- package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -3
- package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-accordion.cjs.entry.js +14 -15
- package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-alert.cjs.entry.js +14 -15
- package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-avatar.cjs.entry.js +13 -14
- package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-badge.cjs.entry.js +9 -10
- package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +2 -3
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-breadcrumb.cjs.entry.js +7 -8
- package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-button_2.cjs.entry.js +19 -20
- package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-card.cjs.entry.js +7 -8
- package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-checkbox.cjs.entry.js +5 -6
- package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-date-picker.cjs.entry.js +20 -21
- package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dialog.cjs.entry.js +15 -16
- package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-divider.cjs.entry.js +15 -16
- package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-drawer.cjs.entry.js +19 -20
- package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +7 -8
- package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-empty-state.cjs.entry.js +26 -27
- package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-input.cjs.entry.js +22 -23
- package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-notification.cjs.entry.js +12 -13
- package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option-group.cjs.entry.js +2 -3
- package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option-list_2.cjs.entry.js +11 -12
- package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option.cjs.entry.js +15 -16
- package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-page-title.cjs.entry.js +11 -12
- package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-progress.cjs.entry.js +13 -14
- package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio-group.cjs.entry.js +2 -3
- package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio.cjs.entry.js +9 -10
- package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-select.cjs.entry.js +31 -32
- package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js +6 -7
- package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu.cjs.entry.js +4 -5
- package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-slider.cjs.entry.js +23 -24
- package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-spinner.cjs.entry.js +10 -11
- package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-status.cjs.entry.js +2 -3
- package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-step-item.cjs.entry.js +17 -18
- package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-steps.cjs.entry.js +3 -4
- package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-switch.cjs.entry.js +10 -11
- package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tab-group.cjs.entry.js +8 -9
- package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tab.cjs.entry.js +5 -6
- package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-textarea.cjs.entry.js +16 -17
- package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-toast.cjs.entry.js +2 -3
- package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +9 -10
- package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-BwvwUnfB.js → index-Bp6IQmE_.js} +68 -22
- package/dist/cjs/index-Bp6IQmE_.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/collection/components/accordion/bq-accordion.js +14 -14
- package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
- package/dist/collection/components/accordion-group/bq-accordion-group.js +2 -2
- package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
- package/dist/collection/components/alert/bq-alert.js +14 -15
- package/dist/collection/components/alert/bq-alert.js.map +1 -1
- package/dist/collection/components/avatar/bq-avatar.js +13 -14
- package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
- package/dist/collection/components/badge/bq-badge.js +9 -10
- package/dist/collection/components/badge/bq-badge.js.map +1 -1
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js +6 -7
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +2 -2
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
- package/dist/collection/components/button/bq-button.js +18 -19
- package/dist/collection/components/button/bq-button.js.map +1 -1
- package/dist/collection/components/card/bq-card.js +7 -8
- package/dist/collection/components/card/bq-card.js.map +1 -1
- package/dist/collection/components/checkbox/bq-checkbox.js +5 -5
- package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
- package/dist/collection/components/date-picker/bq-date-picker.js +20 -20
- package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
- package/dist/collection/components/dialog/bq-dialog.js +15 -15
- package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
- package/dist/collection/components/divider/bq-divider.js +15 -16
- package/dist/collection/components/divider/bq-divider.js.map +1 -1
- package/dist/collection/components/drawer/bq-drawer.js +19 -20
- package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
- package/dist/collection/components/dropdown/bq-dropdown.js +2 -2
- package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
- package/dist/collection/components/empty-state/bq-empty-state.js +26 -26
- package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
- package/dist/collection/components/icon/bq-icon.js +2 -3
- package/dist/collection/components/icon/bq-icon.js.map +1 -1
- package/dist/collection/components/input/bq-input.js +22 -22
- package/dist/collection/components/input/bq-input.js.map +1 -1
- package/dist/collection/components/notification/bq-notification.js +12 -13
- package/dist/collection/components/notification/bq-notification.js.map +1 -1
- package/dist/collection/components/option/bq-option.js +15 -16
- package/dist/collection/components/option/bq-option.js.map +1 -1
- package/dist/collection/components/option-group/bq-option-group.js +2 -2
- package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
- package/dist/collection/components/option-list/bq-option-list.js +2 -2
- package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
- package/dist/collection/components/page-title/bq-page-title.js +11 -11
- package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
- package/dist/collection/components/panel/bq-panel.js +3 -3
- package/dist/collection/components/panel/bq-panel.js.map +1 -1
- package/dist/collection/components/progress/bq-progress.js +13 -14
- package/dist/collection/components/progress/bq-progress.js.map +1 -1
- package/dist/collection/components/radio/bq-radio.js +9 -10
- package/dist/collection/components/radio/bq-radio.js.map +1 -1
- package/dist/collection/components/radio-group/bq-radio-group.js +2 -3
- package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
- package/dist/collection/components/select/bq-select.js +27 -27
- package/dist/collection/components/select/bq-select.js.map +1 -1
- package/dist/collection/components/select/scss/bq-select.css +1 -1
- package/dist/collection/components/side-menu/bq-side-menu.js +4 -4
- package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
- package/dist/collection/components/side-menu-item/bq-side-menu-item.js +6 -6
- package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
- package/dist/collection/components/slider/bq-slider.js +23 -23
- package/dist/collection/components/slider/bq-slider.js.map +1 -1
- package/dist/collection/components/spinner/bq-spinner.js +10 -10
- package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
- package/dist/collection/components/status/bq-status.js +2 -2
- package/dist/collection/components/status/bq-status.js.map +1 -1
- package/dist/collection/components/step-item/bq-step-item.js +16 -16
- package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
- package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
- package/dist/collection/components/steps/bq-steps.js +3 -3
- package/dist/collection/components/steps/bq-steps.js.map +1 -1
- package/dist/collection/components/switch/bq-switch.js +10 -11
- package/dist/collection/components/switch/bq-switch.js.map +1 -1
- package/dist/collection/components/tab/bq-tab.js +5 -5
- package/dist/collection/components/tab/bq-tab.js.map +1 -1
- package/dist/collection/components/tab-group/bq-tab-group.js +8 -9
- package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
- package/dist/collection/components/tag/bq-tag.js +10 -11
- package/dist/collection/components/tag/bq-tag.js.map +1 -1
- package/dist/collection/components/tag/scss/bq-tag.css +1 -1
- package/dist/collection/components/textarea/bq-textarea.js +16 -16
- package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
- package/dist/collection/components/toast/bq-toast.js +2 -3
- package/dist/collection/components/toast/bq-toast.js.map +1 -1
- package/dist/collection/components/tooltip/bq-tooltip.js +8 -8
- package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
- package/dist/collection/global/scripts/esm-loader.js +23 -6
- package/dist/collection/scripts/esm-loader.js +24 -0
- package/dist/collection/scripts/zeroheight-svg-loader.js +22 -0
- package/dist/components/bq-accordion-group.js +1 -157
- package/dist/components/bq-accordion-group.js.map +1 -1
- package/dist/components/bq-accordion.js +1 -444
- package/dist/components/bq-accordion.js.map +1 -1
- package/dist/components/bq-alert.js +1 -354
- package/dist/components/bq-alert.js.map +1 -1
- package/dist/components/bq-avatar.js +1 -206
- package/dist/components/bq-avatar.js.map +1 -1
- package/dist/components/bq-badge.js +1 -8
- package/dist/components/bq-breadcrumb-item.js +1 -129
- package/dist/components/bq-breadcrumb-item.js.map +1 -1
- package/dist/components/bq-breadcrumb.js +1 -138
- package/dist/components/bq-breadcrumb.js.map +1 -1
- package/dist/components/bq-button.js +1 -8
- package/dist/components/bq-card.js +1 -118
- package/dist/components/bq-card.js.map +1 -1
- package/dist/components/bq-checkbox.js +1 -314
- package/dist/components/bq-checkbox.js.map +1 -1
- package/dist/components/bq-date-picker.js +1 -1113
- package/dist/components/bq-date-picker.js.map +1 -1
- package/dist/components/bq-dialog.js +1 -347
- package/dist/components/bq-dialog.js.map +1 -1
- package/dist/components/bq-divider.js +1 -8
- package/dist/components/bq-drawer.js +1 -356
- package/dist/components/bq-drawer.js.map +1 -1
- package/dist/components/bq-dropdown.js +1 -8
- package/dist/components/bq-empty-state.js +1 -192
- package/dist/components/bq-empty-state.js.map +1 -1
- package/dist/components/bq-icon.js +1 -8
- package/dist/components/bq-input.js +1 -502
- package/dist/components/bq-input.js.map +1 -1
- package/dist/components/bq-notification.js +1 -381
- package/dist/components/bq-notification.js.map +1 -1
- package/dist/components/bq-option-group.js +1 -104
- package/dist/components/bq-option-group.js.map +1 -1
- package/dist/components/bq-option-list.js +1 -8
- package/dist/components/bq-option.js +1 -200
- package/dist/components/bq-option.js.map +1 -1
- package/dist/components/bq-page-title.js +1 -150
- package/dist/components/bq-page-title.js.map +1 -1
- package/dist/components/bq-panel.js +1 -8
- package/dist/components/bq-progress.js +1 -220
- package/dist/components/bq-progress.js.map +1 -1
- package/dist/components/bq-radio-group.js +1 -457
- package/dist/components/bq-radio-group.js.map +1 -1
- package/dist/components/bq-radio.js +1 -219
- package/dist/components/bq-radio.js.map +1 -1
- package/dist/components/bq-select.js +1 -794
- package/dist/components/bq-select.js.map +1 -1
- package/dist/components/bq-side-menu-item.js +1 -181
- package/dist/components/bq-side-menu-item.js.map +1 -1
- package/dist/components/bq-side-menu.js +1 -200
- package/dist/components/bq-side-menu.js.map +1 -1
- package/dist/components/bq-slider.js +1 -443
- package/dist/components/bq-slider.js.map +1 -1
- package/dist/components/bq-spinner.js +1 -248
- package/dist/components/bq-spinner.js.map +1 -1
- package/dist/components/bq-status.js +1 -119
- package/dist/components/bq-status.js.map +1 -1
- package/dist/components/bq-step-item.js +1 -236
- package/dist/components/bq-step-item.js.map +1 -1
- package/dist/components/bq-steps.js +1 -175
- package/dist/components/bq-steps.js.map +1 -1
- package/dist/components/bq-switch.js +1 -330
- package/dist/components/bq-switch.js.map +1 -1
- package/dist/components/bq-tab-group.js +1 -273
- package/dist/components/bq-tab-group.js.map +1 -1
- package/dist/components/bq-tab.js +1 -248
- package/dist/components/bq-tab.js.map +1 -1
- package/dist/components/bq-tag.js +1 -8
- package/dist/components/bq-textarea.js +1 -393
- package/dist/components/bq-textarea.js.map +1 -1
- package/dist/components/bq-toast.js +1 -281
- package/dist/components/bq-toast.js.map +1 -1
- package/dist/components/bq-tooltip.js +1 -8
- package/dist/components/index.js +1 -149
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-4z5qnOaY.js +6 -0
- package/dist/components/p-4z5qnOaY.js.map +1 -0
- package/dist/components/p-8mobOXPw.js +6 -0
- package/dist/components/p-8mobOXPw.js.map +1 -0
- package/dist/components/p-B4sM1t6Z.js +1 -8
- package/dist/components/p-B4sM1t6Z.js.map +1 -1
- package/dist/components/p-BHxv_w2i.js +6 -0
- package/dist/components/p-BHxv_w2i.js.map +1 -0
- package/dist/components/p-BRMw_HGf.js +1 -8
- package/dist/components/p-BRMw_HGf.js.map +1 -1
- package/dist/components/p-BRbYDZoo.js +1 -10
- package/dist/components/p-BRbYDZoo.js.map +1 -1
- package/dist/components/p-BcPwGxIn.js +1 -9
- package/dist/components/p-BcPwGxIn.js.map +1 -1
- package/dist/components/{p-C8_OKNHL.js → p-Br5pwRAS.js} +2 -221
- package/dist/components/p-Br5pwRAS.js.map +1 -0
- package/dist/components/p-BsSDkLU5.js +1 -26
- package/dist/components/p-BsSDkLU5.js.map +1 -1
- package/dist/components/p-C4FuG35Q.js +6 -0
- package/dist/components/p-C4FuG35Q.js.map +1 -0
- package/dist/components/p-CVw85-WU.js +1 -64
- package/dist/components/p-CVw85-WU.js.map +1 -1
- package/dist/components/p-CmKvDWiL.js +1 -1782
- package/dist/components/p-CmKvDWiL.js.map +1 -1
- package/dist/components/p-D1A0LpG_.js +1 -10
- package/dist/components/p-D1A0LpG_.js.map +1 -1
- package/dist/components/p-D97CZ-cz.js +6 -0
- package/dist/components/p-D97CZ-cz.js.map +1 -0
- package/dist/components/p-DDVIIUm1.js +6 -0
- package/dist/components/p-DDVIIUm1.js.map +1 -0
- package/dist/components/p-DSdUt2Ay.js +6 -0
- package/dist/components/p-DSdUt2Ay.js.map +1 -0
- package/dist/components/p-DdvbF5yL.js +1 -119
- package/dist/components/p-DdvbF5yL.js.map +1 -1
- package/dist/components/p-Dla7kvqV.js +6 -0
- package/dist/components/p-Dla7kvqV.js.map +1 -0
- package/dist/components/p-DnkZCdMA.js +1 -8
- package/dist/components/p-DnkZCdMA.js.map +1 -1
- package/dist/components/{p-YyF6_fWE.js → p-DoX6g7vo.js} +2 -381
- package/dist/components/p-DoX6g7vo.js.map +1 -0
- package/dist/components/p-Dx-CEPSQ.js +1 -13
- package/dist/components/p-Dx-CEPSQ.js.map +1 -1
- package/dist/components/p-_RvVpeh2.js +1 -29
- package/dist/components/p-_RvVpeh2.js.map +1 -1
- package/dist/components/p-lysmVw2n.js +1 -12
- package/dist/components/p-lysmVw2n.js.map +1 -1
- package/dist/components/p-uqkxeAeG.js +1 -88
- package/dist/components/p-uqkxeAeG.js.map +1 -1
- package/dist/components/p-zh4P02Kn.js +1 -21
- package/dist/components/p-zh4P02Kn.js.map +1 -1
- package/dist/custom-elements.json +5184 -5184
- package/dist/esm/beeq.js +2 -3
- package/dist/esm/beeq.js.map +1 -1
- package/dist/esm/bq-accordion-group.entry.js +2 -3
- package/dist/esm/bq-accordion-group.entry.js.map +1 -1
- package/dist/esm/bq-accordion.entry.js +14 -15
- package/dist/esm/bq-accordion.entry.js.map +1 -1
- package/dist/esm/bq-alert.entry.js +14 -15
- package/dist/esm/bq-alert.entry.js.map +1 -1
- package/dist/esm/bq-avatar.entry.js +13 -14
- package/dist/esm/bq-avatar.entry.js.map +1 -1
- package/dist/esm/bq-badge.entry.js +9 -10
- package/dist/esm/bq-badge.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb-item.entry.js +2 -3
- package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb.entry.js +7 -8
- package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
- package/dist/esm/bq-button_2.entry.js +19 -20
- package/dist/esm/bq-button_2.entry.js.map +1 -1
- package/dist/esm/bq-card.entry.js +7 -8
- package/dist/esm/bq-card.entry.js.map +1 -1
- package/dist/esm/bq-checkbox.entry.js +5 -6
- package/dist/esm/bq-checkbox.entry.js.map +1 -1
- package/dist/esm/bq-date-picker.entry.js +20 -21
- package/dist/esm/bq-date-picker.entry.js.map +1 -1
- package/dist/esm/bq-dialog.entry.js +15 -16
- package/dist/esm/bq-dialog.entry.js.map +1 -1
- package/dist/esm/bq-divider.entry.js +15 -16
- package/dist/esm/bq-divider.entry.js.map +1 -1
- package/dist/esm/bq-drawer.entry.js +19 -20
- package/dist/esm/bq-drawer.entry.js.map +1 -1
- package/dist/esm/bq-dropdown_2.entry.js +5 -6
- package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
- package/dist/esm/bq-empty-state.entry.js +26 -27
- package/dist/esm/bq-empty-state.entry.js.map +1 -1
- package/dist/esm/bq-input.entry.js +22 -23
- package/dist/esm/bq-input.entry.js.map +1 -1
- package/dist/esm/bq-notification.entry.js +12 -13
- package/dist/esm/bq-notification.entry.js.map +1 -1
- package/dist/esm/bq-option-group.entry.js +2 -3
- package/dist/esm/bq-option-group.entry.js.map +1 -1
- package/dist/esm/bq-option-list_2.entry.js +11 -12
- package/dist/esm/bq-option-list_2.entry.js.map +1 -1
- package/dist/esm/bq-option.entry.js +15 -16
- package/dist/esm/bq-option.entry.js.map +1 -1
- package/dist/esm/bq-page-title.entry.js +11 -12
- package/dist/esm/bq-page-title.entry.js.map +1 -1
- package/dist/esm/bq-progress.entry.js +13 -14
- package/dist/esm/bq-progress.entry.js.map +1 -1
- package/dist/esm/bq-radio-group.entry.js +2 -3
- package/dist/esm/bq-radio-group.entry.js.map +1 -1
- package/dist/esm/bq-radio.entry.js +9 -10
- package/dist/esm/bq-radio.entry.js.map +1 -1
- package/dist/esm/bq-select.entry.js +28 -29
- package/dist/esm/bq-select.entry.js.map +1 -1
- package/dist/esm/bq-side-menu-item.entry.js +6 -7
- package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
- package/dist/esm/bq-side-menu.entry.js +4 -5
- package/dist/esm/bq-side-menu.entry.js.map +1 -1
- package/dist/esm/bq-slider.entry.js +23 -24
- package/dist/esm/bq-slider.entry.js.map +1 -1
- package/dist/esm/bq-spinner.entry.js +10 -11
- package/dist/esm/bq-spinner.entry.js.map +1 -1
- package/dist/esm/bq-status.entry.js +2 -3
- package/dist/esm/bq-status.entry.js.map +1 -1
- package/dist/esm/bq-step-item.entry.js +17 -18
- package/dist/esm/bq-step-item.entry.js.map +1 -1
- package/dist/esm/bq-steps.entry.js +3 -4
- package/dist/esm/bq-steps.entry.js.map +1 -1
- package/dist/esm/bq-switch.entry.js +10 -11
- package/dist/esm/bq-switch.entry.js.map +1 -1
- package/dist/esm/bq-tab-group.entry.js +8 -9
- package/dist/esm/bq-tab-group.entry.js.map +1 -1
- package/dist/esm/bq-tab.entry.js +5 -6
- package/dist/esm/bq-tab.entry.js.map +1 -1
- package/dist/esm/bq-textarea.entry.js +16 -17
- package/dist/esm/bq-textarea.entry.js.map +1 -1
- package/dist/esm/bq-toast.entry.js +2 -3
- package/dist/esm/bq-toast.entry.js.map +1 -1
- package/dist/esm/bq-tooltip.entry.js +9 -10
- package/dist/esm/bq-tooltip.entry.js.map +1 -1
- package/dist/esm/{index-D0hQxkOP.js → index-XbB3xSTR.js} +67 -23
- package/dist/esm/index-XbB3xSTR.js.map +1 -0
- package/dist/esm/loader.js +2 -3
- package/dist/esm/loader.js.map +1 -1
- package/dist/hydrate/index.js +413 -417
- package/dist/hydrate/index.mjs +413 -417
- package/dist/stencil.config.js +1 -1
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/accordion/bq-accordion.d.ts +1 -1
- package/dist/types/components/accordion-group/bq-accordion-group.d.ts +1 -1
- package/dist/types/components/alert/bq-alert.d.ts +1 -1
- package/dist/types/components/avatar/bq-avatar.d.ts +1 -1
- package/dist/types/components/badge/bq-badge.d.ts +1 -1
- package/dist/types/components/breadcrumb/bq-breadcrumb.d.ts +1 -1
- package/dist/types/components/breadcrumb-item/bq-breadcrumb-item.d.ts +1 -1
- package/dist/types/components/button/bq-button.d.ts +1 -1
- package/dist/types/components/card/bq-card.d.ts +1 -1
- package/dist/types/components/checkbox/bq-checkbox.d.ts +1 -1
- package/dist/types/components/date-picker/bq-date-picker.d.ts +1 -1
- package/dist/types/components/dialog/bq-dialog.d.ts +1 -1
- package/dist/types/components/divider/bq-divider.d.ts +1 -1
- package/dist/types/components/drawer/bq-drawer.d.ts +1 -1
- package/dist/types/components/dropdown/bq-dropdown.d.ts +1 -1
- package/dist/types/components/empty-state/bq-empty-state.d.ts +1 -1
- package/dist/types/components/icon/bq-icon.d.ts +1 -1
- package/dist/types/components/input/bq-input.d.ts +1 -1
- package/dist/types/components/notification/bq-notification.d.ts +1 -1
- package/dist/types/components/option/bq-option.d.ts +1 -1
- package/dist/types/components/option-group/bq-option-group.d.ts +1 -1
- package/dist/types/components/option-list/bq-option-list.d.ts +1 -1
- package/dist/types/components/page-title/bq-page-title.d.ts +1 -1
- package/dist/types/components/panel/bq-panel.d.ts +1 -1
- package/dist/types/components/progress/bq-progress.d.ts +1 -1
- package/dist/types/components/radio/bq-radio.d.ts +1 -1
- package/dist/types/components/radio-group/bq-radio-group.d.ts +1 -1
- package/dist/types/components/select/bq-select.d.ts +1 -1
- package/dist/types/components/side-menu/bq-side-menu.d.ts +1 -1
- package/dist/types/components/side-menu-item/bq-side-menu-item.d.ts +1 -1
- package/dist/types/components/slider/bq-slider.d.ts +1 -1
- package/dist/types/components/spinner/bq-spinner.d.ts +1 -1
- package/dist/types/components/status/bq-status.d.ts +1 -1
- package/dist/types/components/step-item/bq-step-item.d.ts +1 -1
- package/dist/types/components/steps/bq-steps.d.ts +1 -1
- package/dist/types/components/switch/bq-switch.d.ts +1 -1
- package/dist/types/components/tab/bq-tab.d.ts +1 -1
- package/dist/types/components/tab-group/bq-tab-group.d.ts +1 -1
- package/dist/types/components/tag/bq-tag.d.ts +1 -1
- package/dist/types/components/textarea/bq-textarea.d.ts +1 -1
- package/dist/types/components/toast/bq-toast.d.ts +1 -1
- package/dist/types/components/tooltip/bq-tooltip.d.ts +1 -1
- package/package.json +1 -1
- package/dist/beeq/p-1011ae42.entry.js.map +0 -1
- package/dist/beeq/p-110c262d.entry.js +0 -173
- package/dist/beeq/p-110c262d.entry.js.map +0 -1
- package/dist/beeq/p-11671252.entry.js.map +0 -1
- package/dist/beeq/p-11fcb99b.entry.js +0 -281
- package/dist/beeq/p-11fcb99b.entry.js.map +0 -1
- package/dist/beeq/p-1aba3eec.entry.js.map +0 -1
- package/dist/beeq/p-20162842.entry.js +0 -151
- package/dist/beeq/p-20162842.entry.js.map +0 -1
- package/dist/beeq/p-3a4c4de9.entry.js +0 -188
- package/dist/beeq/p-3a4c4de9.entry.js.map +0 -1
- package/dist/beeq/p-426fd908.entry.js.map +0 -1
- package/dist/beeq/p-47571092.entry.js +0 -289
- package/dist/beeq/p-47571092.entry.js.map +0 -1
- package/dist/beeq/p-49e90223.entry.js +0 -86
- package/dist/beeq/p-49e90223.entry.js.map +0 -1
- package/dist/beeq/p-4b00a155.entry.js +0 -747
- package/dist/beeq/p-4b00a155.entry.js.map +0 -1
- package/dist/beeq/p-54ddd09f.entry.js +0 -392
- package/dist/beeq/p-54ddd09f.entry.js.map +0 -1
- package/dist/beeq/p-6b68123f.entry.js.map +0 -1
- package/dist/beeq/p-6d708caf.entry.js +0 -339
- package/dist/beeq/p-6d708caf.entry.js.map +0 -1
- package/dist/beeq/p-70607940.entry.js +0 -174
- package/dist/beeq/p-70607940.entry.js.map +0 -1
- package/dist/beeq/p-72c376a9.entry.js +0 -165
- package/dist/beeq/p-72c376a9.entry.js.map +0 -1
- package/dist/beeq/p-78bbd845.entry.js +0 -109
- package/dist/beeq/p-78bbd845.entry.js.map +0 -1
- package/dist/beeq/p-8012f01d.entry.js +0 -556
- package/dist/beeq/p-8012f01d.entry.js.map +0 -1
- package/dist/beeq/p-8b5934a3.entry.js.map +0 -1
- package/dist/beeq/p-94c2081a.entry.js +0 -681
- package/dist/beeq/p-94c2081a.entry.js.map +0 -1
- package/dist/beeq/p-95979cb0.entry.js +0 -289
- package/dist/beeq/p-95979cb0.entry.js.map +0 -1
- package/dist/beeq/p-978b2249.entry.js +0 -196
- package/dist/beeq/p-978b2249.entry.js.map +0 -1
- package/dist/beeq/p-9a78587d.entry.js.map +0 -1
- package/dist/beeq/p-BtYhUEAn.js +0 -9
- package/dist/beeq/p-BtYhUEAn.js.map +0 -1
- package/dist/beeq/p-C33fRBEf.js +0 -156
- package/dist/beeq/p-C33fRBEf.js.map +0 -1
- package/dist/beeq/p-D0hQxkOP.js +0 -2816
- package/dist/beeq/p-D0hQxkOP.js.map +0 -1
- package/dist/beeq/p-ac7cd72b.entry.js +0 -322
- package/dist/beeq/p-ac7cd72b.entry.js.map +0 -1
- package/dist/beeq/p-ae85a23a.entry.js +0 -408
- package/dist/beeq/p-ae85a23a.entry.js.map +0 -1
- package/dist/beeq/p-b0f9a0cb.entry.js +0 -296
- package/dist/beeq/p-b0f9a0cb.entry.js.map +0 -1
- package/dist/beeq/p-b194e120.entry.js +0 -293
- package/dist/beeq/p-b194e120.entry.js.map +0 -1
- package/dist/beeq/p-b2858324.entry.js +0 -210
- package/dist/beeq/p-b2858324.entry.js.map +0 -1
- package/dist/beeq/p-c34fc2c7.entry.js +0 -351
- package/dist/beeq/p-c34fc2c7.entry.js.map +0 -1
- package/dist/beeq/p-c630a8b8.entry.js +0 -442
- package/dist/beeq/p-c630a8b8.entry.js.map +0 -1
- package/dist/beeq/p-cb9b1edc.entry.js +0 -232
- package/dist/beeq/p-cb9b1edc.entry.js.map +0 -1
- package/dist/beeq/p-cc6b349e.entry.js +0 -172
- package/dist/beeq/p-cc6b349e.entry.js.map +0 -1
- package/dist/beeq/p-d0edfaa5.entry.js +0 -388
- package/dist/beeq/p-d0edfaa5.entry.js.map +0 -1
- package/dist/beeq/p-db09cc1e.entry.js.map +0 -1
- package/dist/beeq/p-f6d82c39.entry.js +0 -206
- package/dist/beeq/p-f6d82c39.entry.js.map +0 -1
- package/dist/beeq/p-f83010e9.entry.js +0 -118
- package/dist/beeq/p-f83010e9.entry.js.map +0 -1
- package/dist/beeq/p-f97c679f.entry.js +0 -233
- package/dist/beeq/p-f97c679f.entry.js.map +0 -1
- package/dist/beeq/p-ff327b98.entry.js.map +0 -1
- package/dist/beeq/p-ff73f344.entry.js +0 -396
- package/dist/beeq/p-ff73f344.entry.js.map +0 -1
- package/dist/cjs/app-globals-BY_z0SzA.js +0 -12
- package/dist/cjs/app-globals-BY_z0SzA.js.map +0 -1
- package/dist/cjs/index-BwvwUnfB.js.map +0 -1
- package/dist/cjs/index-C09ZVaB4.js +0 -154
- package/dist/cjs/index-C09ZVaB4.js.map +0 -1
- package/dist/components/p-C8_OKNHL.js.map +0 -1
- package/dist/components/p-C97BzPa8.js +0 -177
- package/dist/components/p-C97BzPa8.js.map +0 -1
- package/dist/components/p-CMejKLsB.js +0 -248
- package/dist/components/p-CMejKLsB.js.map +0 -1
- package/dist/components/p-DBPU_cIr.js +0 -338
- package/dist/components/p-DBPU_cIr.js.map +0 -1
- package/dist/components/p-DDCN9O42.js +0 -2669
- package/dist/components/p-DDCN9O42.js.map +0 -1
- package/dist/components/p-DHhUeR-_.js +0 -377
- package/dist/components/p-DHhUeR-_.js.map +0 -1
- package/dist/components/p-DSqLegVR.js +0 -100
- package/dist/components/p-DSqLegVR.js.map +0 -1
- package/dist/components/p-YyF6_fWE.js.map +0 -1
- package/dist/components/p-qOL6hl5s.js +0 -298
- package/dist/components/p-qOL6hl5s.js.map +0 -1
- package/dist/esm/app-globals-BtYhUEAn.js +0 -10
- package/dist/esm/app-globals-BtYhUEAn.js.map +0 -1
- package/dist/esm/index-C33fRBEf.js +0 -151
- package/dist/esm/index-C33fRBEf.js.map +0 -1
- package/dist/esm/index-D0hQxkOP.js.map +0 -1
|
@@ -2,1117 +2,5 @@
|
|
|
2
2
|
* Built by Endavans
|
|
3
3
|
* © https://beeq.design - Apache 2 License.
|
|
4
4
|
*/
|
|
5
|
-
import { p as r, H as e, c as a, d as t, j as n, t as i } from "./p-DDCN9O42.js";
|
|
6
|
-
|
|
7
|
-
import { i as b } from "./p-B4sM1t6Z.js";
|
|
8
|
-
|
|
9
|
-
import { i as o } from "./p-BcPwGxIn.js";
|
|
10
|
-
|
|
11
|
-
import { i as d } from "./p-Dx-CEPSQ.js";
|
|
12
|
-
|
|
13
|
-
import { i as s } from "./p-BRbYDZoo.js";
|
|
14
|
-
|
|
15
|
-
import { i as l } from "./p-D1A0LpG_.js";
|
|
16
|
-
|
|
17
|
-
import { v as c } from "./p-zh4P02Kn.js";
|
|
18
|
-
|
|
19
|
-
import { b as q } from "./p-uqkxeAeG.js";
|
|
20
|
-
|
|
21
|
-
import { d as u } from "./p-DBPU_cIr.js";
|
|
22
|
-
|
|
23
|
-
import { d as v } from "./p-C8_OKNHL.js";
|
|
24
|
-
|
|
25
|
-
import { d as g } from "./p-YyF6_fWE.js";
|
|
26
|
-
|
|
27
|
-
import { d as p } from "./p-qOL6hl5s.js";
|
|
28
|
-
|
|
29
|
-
/** Cache for DateTimeFormat instances */ const f = new Map;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Gets or creates a cached DateTimeFormat instance
|
|
33
|
-
* @param locale - The locale for formatting
|
|
34
|
-
* @param options - DateTimeFormat options
|
|
35
|
-
* @returns Cached or new DateTimeFormat instance
|
|
36
|
-
*/ const getDateFormatter = (r, e) => {
|
|
37
|
-
const a = `${typeof r === "string" ? r : JSON.stringify(r)}-${JSON.stringify(e)}`;
|
|
38
|
-
let t = f.get(a);
|
|
39
|
-
if (!t) {
|
|
40
|
-
t = new Intl.DateTimeFormat(r, e);
|
|
41
|
-
f.set(a, t);
|
|
42
|
-
// Limit cache size to prevent memory leaks in long-running apps
|
|
43
|
-
if (f.size > 50) {
|
|
44
|
-
const r = f.keys().next().value;
|
|
45
|
-
f.delete(r);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return t;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Formats a date value for display based on the picker type and locale.
|
|
53
|
-
*
|
|
54
|
-
* @param value - The ISO date string(s) to format
|
|
55
|
-
* @param type - The picker type (single, multi, range)
|
|
56
|
-
* @param locale - The locale for formatting
|
|
57
|
-
* @param formatOptions - Intl.DateTimeFormat options
|
|
58
|
-
* @returns Formatted display string or undefined
|
|
59
|
-
*/ const formatDisplayValue = (r, e, a, t) => {
|
|
60
|
-
if (!r) return undefined;
|
|
61
|
-
const n = getDateFormatter(a, t);
|
|
62
|
-
if (e === "range") {
|
|
63
|
-
const [e, a] = r.split("/").map((r => new Date(`${r}T00:00:00`)));
|
|
64
|
-
if (!e || !a || Number.isNaN(e.getTime()) || Number.isNaN(a.getTime())) return undefined;
|
|
65
|
-
return n.formatRange(e, a);
|
|
66
|
-
}
|
|
67
|
-
if (e === "multi") {
|
|
68
|
-
const e = r.split(" ").map((r => new Date(`${r}T00:00:00`)));
|
|
69
|
-
if (e.some((r => Number.isNaN(r.getTime())))) return undefined;
|
|
70
|
-
return e.map((r => n.format(r))).join(", ");
|
|
71
|
-
}
|
|
72
|
-
const i = new Date(`${r}T00:00:00`);
|
|
73
|
-
return Number.isNaN(i.getTime()) ? undefined : n.format(i);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Extracts and returns the first date part from a given string. Handles single, multi, and range picker types.
|
|
78
|
-
* When the type of the date picker is 'range' or 'multi', the first or initial date part of the value
|
|
79
|
-
* should be the focused date in the calendar.
|
|
80
|
-
*
|
|
81
|
-
* @param value - The date value string
|
|
82
|
-
* @returns The first ISO date string or undefined
|
|
83
|
-
*/ const extractFocusedDate = r => {
|
|
84
|
-
if (!r) return undefined;
|
|
85
|
-
const e = /\b\d{4}-\d{2}-\d{2}\b/;
|
|
86
|
-
const a = e.exec(r);
|
|
87
|
-
return a ? a[0] : undefined;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Clamps a date string to a min/max range.
|
|
92
|
-
*
|
|
93
|
-
* @param dateStr - The ISO date string to clamp
|
|
94
|
-
* @param min - Optional minimum date
|
|
95
|
-
* @param max - Optional maximum date
|
|
96
|
-
* @returns The clamped date string
|
|
97
|
-
*/ const clampDateToRange = (r, e, a) => {
|
|
98
|
-
if (e && r < e) return e;
|
|
99
|
-
if (a && r > a) return a;
|
|
100
|
-
return r;
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
/** French Canadian locale used for ISO date formatting (YYYY-MM-DD) */ const h = "fr-CA";
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Static date parsing patterns
|
|
107
|
-
*/ const m = [ {
|
|
108
|
-
// Matches "30 May 2024" or "30 January 2024"
|
|
109
|
-
regex: /^(\d{1,2})\s+([a-z]+)\s+(\d{4})$/i,
|
|
110
|
-
parse: (r, e) => ({
|
|
111
|
-
day: +r[1],
|
|
112
|
-
month: e[r[2].toLowerCase()],
|
|
113
|
-
year: +r[3]
|
|
114
|
-
})
|
|
115
|
-
}, {
|
|
116
|
-
// Matches "05/30/2024", "30-05-2024", "30.05.2024", "05.30.2024" (with heuristic for day/month)
|
|
117
|
-
regex: /^(\d{1,2})[\s\-/.](\d{1,2})[\s\-/.](\d{4})$/,
|
|
118
|
-
parse: (r, e, a) => {
|
|
119
|
-
const {day: t, month: n} = parseNumericDate(+r[1], +r[2], a);
|
|
120
|
-
return {
|
|
121
|
-
day: t,
|
|
122
|
-
month: n,
|
|
123
|
-
year: +r[3]
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
}, {
|
|
127
|
-
// Matches "May 30, 2024" or "January 1, 1970" (with optional comma)
|
|
128
|
-
regex: /^([a-z]+)\s+(\d{1,2}),?\s+(\d{4})$/i,
|
|
129
|
-
parse: (r, e) => ({
|
|
130
|
-
month: e[r[1].toLowerCase()],
|
|
131
|
-
day: +r[2],
|
|
132
|
-
year: +r[3]
|
|
133
|
-
})
|
|
134
|
-
}, {
|
|
135
|
-
// Matches "2024-05-30" (ISO format without parsing as Date first)
|
|
136
|
-
regex: /^(\d{4})-(\d{2})-(\d{2})$/,
|
|
137
|
-
parse: r => ({
|
|
138
|
-
year: +r[1],
|
|
139
|
-
month: +r[2] - 1,
|
|
140
|
-
day: +r[3]
|
|
141
|
-
})
|
|
142
|
-
} ];
|
|
143
|
-
|
|
144
|
-
const k = new Map;
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Gets localized month names for the given locale (both short and long forms)
|
|
148
|
-
* Caches results for performance
|
|
149
|
-
* @param {Intl.LocalesArgument} locale - The locale identifier, e.g., 'en-GB', 'fr-FR', etc.
|
|
150
|
-
* @returns {Record<string, number>} Mapping of month names to month indices
|
|
151
|
-
*/ const getMonthNamesForLocale = r => {
|
|
152
|
-
const e = typeof r === "string" ? r : JSON.stringify(r);
|
|
153
|
-
const a = k.get(e);
|
|
154
|
-
if (a) return a;
|
|
155
|
-
const t = {};
|
|
156
|
-
const n = new Intl.DateTimeFormat(r, {
|
|
157
|
-
month: "short"
|
|
158
|
-
});
|
|
159
|
-
const i = new Intl.DateTimeFormat(r, {
|
|
160
|
-
month: "long"
|
|
161
|
-
});
|
|
162
|
-
for (let r = 0; r < 12; r++) {
|
|
163
|
-
const e = new Date(2024, r, 1);
|
|
164
|
-
t[n.format(e).toLowerCase()] = r;
|
|
165
|
-
t[i.format(e).toLowerCase()] = r;
|
|
166
|
-
}
|
|
167
|
-
k.set(e, t);
|
|
168
|
-
return t;
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Parses day-month-year or month-day-year numeric date format
|
|
173
|
-
* Uses heuristic: if any number > 12, treat it as day, otherwise defaults to locale preference
|
|
174
|
-
* @param {number} first - The first numeric part (day or month)
|
|
175
|
-
* @param {number} second - The second numeric part (month or day)
|
|
176
|
-
* @param {Intl.LocalesArgument} locale - The locale for determining format preference
|
|
177
|
-
* @returns {{day: number, month: number}} Object with day and month (0-based)
|
|
178
|
-
*/ const parseNumericDate = (r, e, a = "en-GB") => {
|
|
179
|
-
// If first number > 12, it must be the day (DD/MM format)
|
|
180
|
-
if (r > 12) return {
|
|
181
|
-
day: r,
|
|
182
|
-
month: e - 1
|
|
183
|
-
};
|
|
184
|
-
// If second number > 12, it must be the day (MM/DD format)
|
|
185
|
-
if (e > 12) return {
|
|
186
|
-
day: e,
|
|
187
|
-
month: r - 1
|
|
188
|
-
};
|
|
189
|
-
// Both numbers <= 12: ambiguous case
|
|
190
|
-
// Use locale to determine format preference
|
|
191
|
-
const t = typeof a === "string" ? a : a?.[0] || "en-GB";
|
|
192
|
-
const n = [ "en-US", "en-CA" ].some((r => t.startsWith(r)));
|
|
193
|
-
if (n) {
|
|
194
|
-
// US/Canada format: MM/DD
|
|
195
|
-
return {
|
|
196
|
-
day: e,
|
|
197
|
-
month: r - 1
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
// Default to DD/MM (European/most of world format)
|
|
201
|
-
return {
|
|
202
|
-
day: r,
|
|
203
|
-
month: e - 1
|
|
204
|
-
};
|
|
205
|
-
};
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Validates that a date is actually valid (not auto-corrected by Date constructor)
|
|
209
|
-
* @param {number} day - Day of the month
|
|
210
|
-
* @param {number} month - Month (0-based)
|
|
211
|
-
* @param {number} year - Full year
|
|
212
|
-
* @returns {boolean} True if the date is valid
|
|
213
|
-
*/ const isDateValid = (r, e, a) => {
|
|
214
|
-
const t = new Date(a, e, r);
|
|
215
|
-
return t.getDate() === r && t.getMonth() === e && t.getFullYear() === a;
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Validates and creates a Date object from day, month, and year
|
|
220
|
-
* @param {number} day - Day of the month
|
|
221
|
-
* @param {number} month - Month (0-based)
|
|
222
|
-
* @param {number} year - Full year
|
|
223
|
-
* @returns {Date | null} Valid Date object or null if invalid
|
|
224
|
-
*/ const createValidDate = (r, e, a) => {
|
|
225
|
-
if (e === undefined || !r || !a) return null;
|
|
226
|
-
if (!isDateValid(r, e, a)) return null;
|
|
227
|
-
return new Date(a, e, r);
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Parses various date input formats and returns a Date object
|
|
232
|
-
* Supports:
|
|
233
|
-
* - ISO format: "2024-05-30"
|
|
234
|
-
* - Text format: "30 May 2024", "May 30, 2024", "30 January 2024", "January 1, 1970" (locale-aware)
|
|
235
|
-
* - Numeric formats: "30/05/2024", "05-30-2024", "30.05.2024", "05.30.2024" (with heuristic for day/month)
|
|
236
|
-
*
|
|
237
|
-
* @param {string} inputValue - The date string to parse
|
|
238
|
-
* @param {Intl.LocalesArgument} locale - The locale for month name recognition (defaults to 'en-GB')
|
|
239
|
-
* @returns {Date | null} Parsed Date object or null if parsing fails
|
|
240
|
-
*/ const parseDateInput = (r, e = "en-GB") => {
|
|
241
|
-
if (!r?.trim()) return null;
|
|
242
|
-
// Try ISO format first
|
|
243
|
-
const a = new Date(`${r}T00:00:00`);
|
|
244
|
-
if (!Number.isNaN(a.getTime()) && isValidISODate(r)) return a;
|
|
245
|
-
const t = getMonthNamesForLocale(e);
|
|
246
|
-
for (const {regex: a, parse: n} of m) {
|
|
247
|
-
const i = a.exec(r);
|
|
248
|
-
if (!i) continue;
|
|
249
|
-
const {day: b, month: o, year: d} = n(i, t, e);
|
|
250
|
-
const s = createValidDate(b, o, d);
|
|
251
|
-
if (s) return s;
|
|
252
|
-
}
|
|
253
|
-
return null;
|
|
254
|
-
};
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* Validates if a string is in ISO date format (YYYY-MM-DD) with actual valid date values
|
|
258
|
-
* @param {string} dateStr - The date string to validate
|
|
259
|
-
* @returns {boolean} True if the date string is valid in ISO format and represents an actual valid date
|
|
260
|
-
*/ const isValidISODate = r => {
|
|
261
|
-
if (!/^\d{4}-\d{2}-\d{2}$/.test(r)) return false;
|
|
262
|
-
const [e, a, t] = r.split("-");
|
|
263
|
-
const n = +e;
|
|
264
|
-
const i = +a - 1;
|
|
265
|
-
const b = +t;
|
|
266
|
-
return isDateValid(b, i, n);
|
|
267
|
-
};
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Converts a Date object to ISO format string (YYYY-MM-DD).
|
|
271
|
-
* @param date - The date to convert
|
|
272
|
-
* @returns ISO formatted date string
|
|
273
|
-
*/ const toISODateString = r => r.toLocaleDateString(h);
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Gets today's date in ISO format.
|
|
277
|
-
* @returns Today's date as YYYY-MM-DD string
|
|
278
|
-
*/ const getTodayISO = () => (new Date).toLocaleDateString(h);
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* Updates form validity state for form-associated custom elements.
|
|
282
|
-
* Handles the required field validation and sets appropriate validity states.
|
|
283
|
-
*
|
|
284
|
-
* @param {FormValidityOptions} options - Validation options
|
|
285
|
-
* @param options.internals - The ElementInternals instance
|
|
286
|
-
* @param {boolean} options.required - Whether the field is required
|
|
287
|
-
* @param {string | string[] | number} options.value - The current field value
|
|
288
|
-
* @param {HTMLInputElement | HTMLTextAreaElement} options.inputElem - The input element
|
|
289
|
-
* @param {string} options.validationMessage - The custom validation message
|
|
290
|
-
* @param {string} options.defaultMessage - The default validation message
|
|
291
|
-
*/ const updateFormValidity = ({internals: r, required: e, value: a, inputElem: t, validationMessage: n, defaultMessage: i = "Please fill out this field"}) => {
|
|
292
|
-
if (!r) return;
|
|
293
|
-
// Clear the validity state
|
|
294
|
-
r.states.clear();
|
|
295
|
-
// Check if value is required but missing
|
|
296
|
-
if (e && !s(a)) {
|
|
297
|
-
// Set validity state to invalid
|
|
298
|
-
r.states.add("invalid");
|
|
299
|
-
r.setValidity({
|
|
300
|
-
valueMissing: true
|
|
301
|
-
}, n ?? i, t);
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
// Set validity state to valid if the input has value or is not required
|
|
305
|
-
r.states.add("valid");
|
|
306
|
-
r.setValidity({});
|
|
307
|
-
};
|
|
308
|
-
|
|
309
|
-
/** The type of the date picker */ const y = [ "single", "multi", "range" ];
|
|
310
|
-
|
|
311
|
-
/** Default fallback input ID */ const x = "date-picker";
|
|
312
|
-
|
|
313
|
-
/** Calendar month shadow DOM parts for common elements */ const w = "calendar__heading,calendar__table,calendar__tr,calendar__head,calendar__week,calendar__th,calendar__td";
|
|
314
|
-
|
|
315
|
-
/** Calendar month shadow DOM parts for button elements */ const _ = "calendar__button,calendar__day,calendar__selected,calendar__today,calendar__disallowed,calendar__outside,calendar__range-start,calendar__range-end,calendar__range-inner";
|
|
316
|
-
|
|
317
|
-
/** Combined export parts for calendar-month component */ const z = `${w},${_}`
|
|
318
|
-
/** Export parts for the calendar container component (calendar-date, calendar-range, calendar-multi) */;
|
|
319
|
-
|
|
320
|
-
const C = "container:calendar__container,header:calendar__header,button:calendar__button,previous:calendar__previous,next:calendar__next,disabled:calendar__disabled,heading:calendar__heading";
|
|
321
|
-
|
|
322
|
-
/** Maps picker type to Cally component tag name */ const D = {
|
|
323
|
-
single: "calendar-date",
|
|
324
|
-
multi: "calendar-multi",
|
|
325
|
-
range: "calendar-range"
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
/* -------------------------------------------------------------------------- */
|
|
329
|
-
/* Cally Library loader helper */
|
|
330
|
-
/* -------------------------------------------------------------------------- */ const E = "data-cally-library";
|
|
331
|
-
|
|
332
|
-
//❗ Make sure to update the version here when the library releases a new version
|
|
333
|
-
const O = "0.9.0";
|
|
334
|
-
|
|
335
|
-
/**
|
|
336
|
-
* ❗ Make sure to update the hash here if the `CALLY_LIB_VERSION` is updated
|
|
337
|
-
* This hash is used to ensure the integrity of the library when loading it
|
|
338
|
-
* from a CDN.
|
|
339
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity#tools_for_generating_sri_hashes
|
|
340
|
-
*/ const $ = "sha384-pM/XA9cWLgX65JRL+wCO7uw2DIwVqcK1WlITykq2OZYbP5vuMspYj0K29Ka6UyFU";
|
|
341
|
-
|
|
342
|
-
let j = false;
|
|
343
|
-
|
|
344
|
-
let P = null;
|
|
345
|
-
|
|
346
|
-
/**
|
|
347
|
-
* Helper function to load a script with given configuration
|
|
348
|
-
* @param {Object} config - Script configuration
|
|
349
|
-
* @param {string} config.type - The type of the script
|
|
350
|
-
* @param {string} config.src - The source URL of the script
|
|
351
|
-
* @param {Record<string, string>} [config.attributes] - Additional attributes to set on the script element
|
|
352
|
-
* @returns Promise that resolves when the script is loaded
|
|
353
|
-
* @throws {Error} If the script fails to load
|
|
354
|
-
*/ const loadScript = ({type: r, src: e, attributes: a = {}}) => new Promise(((t, n) => {
|
|
355
|
-
const i = document.createElement("script");
|
|
356
|
-
i.type = r;
|
|
357
|
-
i.src = e;
|
|
358
|
-
i.onload = () => t();
|
|
359
|
-
i.onerror = r => n(new Error(`Failed to load script: ${e}, ${r instanceof Error ? r.message : "Unknown error"}`));
|
|
360
|
-
Object.entries(a).forEach((([r, e]) => {
|
|
361
|
-
i.setAttribute(r, e);
|
|
362
|
-
}));
|
|
363
|
-
document.head.appendChild(i);
|
|
364
|
-
}));
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* Checks if the Cally library is already loaded in the document
|
|
368
|
-
* @returns {boolean} True if the library is loaded
|
|
369
|
-
*/ const isCallyLibraryLoaded = () => j || document.querySelector(`script[${E}]`) !== null;
|
|
370
|
-
|
|
371
|
-
/**
|
|
372
|
-
* Loads the Cally library for the date picker component.
|
|
373
|
-
* Uses a singleton promise pattern to prevent race conditions when multiple
|
|
374
|
-
* date picker components attempt to load the library simultaneously.
|
|
375
|
-
*
|
|
376
|
-
* @throws {Error} If the library fails to load
|
|
377
|
-
* @return {Promise<void>}
|
|
378
|
-
*/ const loadCallyLibrary = () => {
|
|
379
|
-
// Already loaded, return immediately
|
|
380
|
-
if (j) return Promise.resolve();
|
|
381
|
-
// If a load is already in progress, wait for it to complete
|
|
382
|
-
if (P !== null) return P;
|
|
383
|
-
// Check if script already exists in DOM (e.g., from a previous session or external source)
|
|
384
|
-
if (document.querySelector(`script[${E}]`) !== null) {
|
|
385
|
-
j = true;
|
|
386
|
-
return Promise.resolve();
|
|
387
|
-
}
|
|
388
|
-
// Start loading and store the promise so concurrent calls can await it
|
|
389
|
-
P = loadScript({
|
|
390
|
-
type: "module",
|
|
391
|
-
src: `https://unpkg.com/cally@${O}/dist/cally.js`,
|
|
392
|
-
attributes: {
|
|
393
|
-
[E]: "",
|
|
394
|
-
crossOrigin: "anonymous",
|
|
395
|
-
integrity: $
|
|
396
|
-
}
|
|
397
|
-
}).then((() => {
|
|
398
|
-
j = true;
|
|
399
|
-
})).catch((r => {
|
|
400
|
-
// Reset the promise so future attempts can retry
|
|
401
|
-
P = null;
|
|
402
|
-
j = false;
|
|
403
|
-
throw new Error(`Failed to load the cally library: ${r instanceof Error ? r.message : "Unknown error"}`);
|
|
404
|
-
}));
|
|
405
|
-
return P;
|
|
406
|
-
};
|
|
407
|
-
|
|
408
|
-
const bqDatePickerCss = () => `.border-spacing-0,calendar-month::part(table){--tw-border-spacing-x:0;--tw-border-spacing-y:0}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.pointer-events-none{pointer-events:none}.me-\\[--bq-date-picker--gap\\]{margin-inline-end:var(--bq-date-picker--gap)}.ms-\\[--bq-date-picker--gap\\]{margin-inline-start:var(--bq-date-picker--gap)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.size-\\[--bq-date-picker--day-size\\]{height:var(--bq-date-picker--day-size);width:var(--bq-date-picker--day-size)}.flex-auto{flex:1 1 auto}.flex-grow{flex-grow:1}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.cursor-inherit{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\\[--bq-date-picker--gap\\]{gap:var(--bq-date-picker--gap)}.gap-s{gap:var(--bq-spacing-s)}.rounded-\\[--bq-date-picker--border-radius\\]{border-radius:var(--bq-date-picker--border-radius)}.rounded-none{border-radius:var(--bq-radius--none)}.rounded-s{border-radius:var(--bq-radius--s)}.rounded-ee-none{border-end-end-radius:var(--bq-radius--none)}.rounded-es-none{border-end-start-radius:var(--bq-radius--none)}.rounded-se-none{border-start-end-radius:var(--bq-radius--none)}.rounded-ss-none{border-start-start-radius:var(--bq-radius--none)}.border-0{border-width:0}.border-\\[length\\:--bq-date-picker--border-width\\]{border-width:var(--bq-date-picker--border-width)}.border-\\[length\\:--bq-date-picker--currentDate-border-width\\]{border-width:var(--bq-date-picker--currentDate-border-width)}.border-none{border-style:none}.border-\\[color\\:--bq-date-picker--border-color\\]{border-color:var(--bq-date-picker--border-color)}.border-\\[color\\:--bq-date-picker--currentDate-border-color\\]{border-color:var(--bq-date-picker--currentDate-border-color)}.border-\\[color\\:--bq-focus\\]{border-color:var(--bq-focus)}.border-danger{border-color:var(--bq-stroke--danger)}.border-success{border-color:var(--bq-stroke--success)}.border-warning{border-color:var(--bq-stroke--warning)}.bg-\\[--bq-date-picker--background-color\\]{background-color:var(--bq-date-picker--background-color)}.bg-\\[--bq-date-picker--range-background-color\\]{background-color:var(--bq-date-picker--range-background-color)}.bg-\\[--bq-date-picker--range-inner-background-color\\]{background-color:var(--bq-date-picker--range-inner-background-color)}.bg-inherit{background-color:inherit}.bg-transparent{background-color:transparent}.pe-\\[--bq-date-picker--padding-end\\]{padding-inline-end:var(--bq-date-picker--padding-end)}.ps-\\[--bq-date-picker--padding-start\\]{padding-inline-start:var(--bq-date-picker--padding-start)}.font-default{font-family:var(--bq-font-family)}.font-inherit{font-family:inherit}.text-\\[length\\:--bq-date-picker--label-text-size\\]{font-size:var(--bq-date-picker--label-text-size)}.text-\\[length\\:--bq-date-picker--text-size\\]{font-size:var(--bq-date-picker--text-size)}.text-\\[length\\:_inherit\\],.text-\\[length\\:inherit\\]{font-size:inherit}.text-\\[color\\:--bq-date-picker--label-text-color\\]{color:var(--bq-date-picker--label-text-color)}.text-\\[color\\:--bq-date-picker--text-color\\]{color:var(--bq-date-picker--text-color)}.text-alt{color:var(--bq-text--alt)}.text-primary{color:var(--bq-text--primary)}.text-secondary{color:var(--bq-text--secondary)}.opacity-100{opacity:1}.opacity-60{opacity:.6}.transition-\\[border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.border-active-danger{border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.border-active-success{border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.border-active-warning{border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.is-full{inline-size:100%}.min-is-0{min-inline-size:0}.p-b-0{padding-block:0}.p-b-\\[--bq-date-picker--paddingY\\]{padding-block:var(--bq-date-picker--paddingY)}.p-b-xs2{padding-block:var(--bq-spacing-xs2)}.p-i-0{padding-inline:0}.p-i-xs{padding-inline:var(--bq-spacing-xs)}.m-b-0{margin-block:0}.m-be-\\[--bq-date-picker--label-margin-bottom\\]{margin-block-end:var(--bq-date-picker--label-margin-bottom)}.m-i-0{margin-inline:0}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-date-picker--background-color:var(--bq-ui--primary);--bq-date-picker--border-color:var(--bq-stroke--tertiary);--bq-date-picker--border-radius:var(--bq-radius--s);--bq-date-picker--border-style:solid;--bq-date-picker--border-width:var(--bq-stroke-s);--bq-date-picker--currentDate-border-color:var(--bq-stroke--brand);--bq-date-picker--currentDate-border-width:var(--bq-stroke-m);--bq-date-picker--day-size:2.25rem;--bq-date-picker--gap:var(--bq-spacing-xs);--bq-date-picker--icon-size:24px;--bq-date-picker--label-margin-bottom:var(--bq-spacing-xs);--bq-date-picker--label-text-color:var(--bq-text--primary);--bq-date-picker--label-text-size:var(--bq-font-size--s);--bq-date-picker--padding-end:var(--bq-spacing-m);--bq-date-picker--padding-start:var(--bq-spacing-m);--bq-date-picker--paddingY:var(--bq-spacing-s);--bq-date-picker--range-background-color:var(--bq-ui--brand);--bq-date-picker--range-inner-background-color:var(--bq-ui--brand-alt);--bq-date-picker--text-color:var(--bq-text--primary);--bq-date-picker--text-placeholder-color:var(--bq-text--secondary);--bq-date-picker--text-size:var(--bq-font-size--m);display:block;inline-size:100%}.bq-date-picker__label{align-items:center;color:var(--bq-date-picker--label-text-color);display:flex;flex-grow:1;font-size:var(--bq-date-picker--label-text-size);gap:var(--bq-date-picker--gap);margin-block-end:var(--bq-date-picker--label-margin-bottom)}.bq-date-picker__control{align-items:center;border-color:var(--bq-date-picker--border-color);border-radius:var(--bq-date-picker--border-radius);border-style:var(--bq-date-picker--border-style);border-width:var(--bq-date-picker--border-width);color:var(--bq-date-picker--text-color);display:flex;font-size:var(--bq-date-picker--text-size);inline-size:100%;padding-block:var(--bq-date-picker--paddingY);padding-inline-end:var(--bq-date-picker--padding-end);padding-inline-start:var(--bq-date-picker--padding-start);transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);user-select:none}.bq-date-picker__control::placeholder{color:var(--bq-date-picker--text-placeholder-color)}.bq-date-picker__control:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.bq-date-picker__control:not(.disabled):focus-within{--bq-ring-width:1px;--bq-ring-offset-width:0;border-color:var(--bq-focus);outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-date-picker__control:not(.disabled):focus-within .bq-date-picker__control--clear,.bq-date-picker__control:not(.disabled):hover .bq-date-picker__control--clear{display:inline-block}.bq-date-picker__control.disabled{cursor:not-allowed;opacity:.6}.bq-date-picker__control.validation-error{border-color:var(--bq-stroke--danger)}.bq-date-picker__control.validation-error:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-hover) 20%)}.bq-date-picker__control.validation-error:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--danger);border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.bq-date-picker__control.validation-success{border-color:var(--bq-stroke--success)}.bq-date-picker__control.validation-success:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-hover) 20%)}.bq-date-picker__control.validation-success:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--success);border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.bq-date-picker__control.validation-warning{border-color:var(--bq-stroke--warning)}.bq-date-picker__control.validation-warning:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-hover) 20%)}.bq-date-picker__control.validation-warning:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--warning);border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.bq-date-picker__control--input{appearance:none;background-color:inherit;border-style:none;color:inherit;cursor:inherit;flex:1 1 auto;font-family:inherit;font-size:inherit;margin-block:0;margin-inline:0;min-inline-size:0;padding-block:0;padding-inline:0;user-select:none}.bq-date-picker__control--input:focus{outline:2px solid transparent;outline-offset:2px}.bq-date-picker__control--input:focus-visible{outline:2px solid transparent;outline-offset:2px}.bq-date-picker__control--clear::part(button){--bq-ring-width:initial;--bq-ring-offset-width:initial;--bq-ring-color-focus:initial}.bq-date-picker__control--prefix,.bq-date-picker__control--suffix{align-items:center;color:var(--bq-date-picker--text-color);display:flex;pointer-events:none}.bq-date-picker__control--prefix{margin-inline-end:var(--bq-date-picker--gap)}.bq-date-picker__control--suffix{margin-inline-start:var(--bq-date-picker--gap)}calendar-date::part(header),calendar-multi::part(header),calendar-range::part(header){gap:var(--bq-spacing-s);justify-content:center}calendar-date::part(heading),calendar-multi::part(heading),calendar-range::part(heading){padding-block:var(--bq-spacing-xs2);padding-inline:var(--bq-spacing-xs)}calendar-date::part(button),calendar-multi::part(button),calendar-range::part(button){background-color:transparent;border-radius:var(--bq-radius--s);border-width:0;padding-block:var(--bq-spacing-xs2);padding-inline:var(--bq-spacing-xs2);transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}calendar-date::part(button):focus-visible,calendar-multi::part(button):focus-visible,calendar-range::part(button):focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}calendar-date::part(button):hover,calendar-multi::part(button):hover,calendar-range::part(button):hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}calendar-date::part(container),calendar-multi::part(container),calendar-range::part(container){background-color:var(--bq-date-picker--background-color);padding-block:0;padding-inline:0}calendar-month{--color-accent:var(--bq-ui--brand)}calendar-month::part(button){align-items:center;background-color:transparent;border-radius:var(--bq-radius--s);color:var(--bq-text--primary);display:flex;font-family:var(--bq-font-family);height:var(--bq-date-picker--day-size);justify-content:center;padding-block:0;padding-inline:0;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-date-picker--day-size)}calendar-month::part(button):focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}calendar-month::part(button):hover:enabled{background-color:color-mix(in srgb,var(--bq-background--secondary),var(--bq-hover) 20%)}calendar-month::part(button):disabled{cursor:not-allowed}calendar-month::part(button day disallowed){background-color:transparent!important;cursor:not-allowed!important}calendar-month::part(button day selected){background-color:var(--bq-date-picker--range-background-color);border-radius:var(--bq-radius--s);color:var(--bq-text--alt)}calendar-month::part(button day selected):hover:enabled{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}calendar-month::part(button day selected range-inner){background-color:var(--bq-date-picker--range-inner-background-color);border-radius:var(--bq-radius--none);color:var(--bq-text--primary)}calendar-month::part(button day selected range-inner):hover{color:var(--bq-text--alt)}calendar-month::part(button day outside){color:var(--bq-text--secondary);cursor:pointer;opacity:1}calendar-month::part(today){border-color:var(--bq-date-picker--currentDate-border-color);border-radius:var(--bq-radius--s);border-style:var(--bq-date-picker--border-style);border-width:var(--bq-date-picker--currentDate-border-width)}calendar-month::part(today selected){color:var(--bq-text--alt)}calendar-month::part(today selected range-inner){color:var(--bq-text--primary)}calendar-month::part(today range-inner){border-radius:var(--bq-radius--none)}calendar-month::part(today range-start){border-end-start-radius:var(--bq-radius--none);border-radius:var(--bq-radius--s)}calendar-month::part(today range-end){border-end-end-radius:var(--bq-radius--none);border-radius:var(--bq-radius--s)}calendar-month::part(range-start){border-end-end-radius:var(--bq-radius--none);border-start-end-radius:var(--bq-radius--none)}calendar-month::part(range-end){border-end-start-radius:var(--bq-radius--none);border-start-start-radius:var(--bq-radius--none)}calendar-month::part(range-start range-end){border-radius:var(--bq-radius--s)}calendar-month::part(table){--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);font-size:inherit}.focus-visible\\:focus:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.placeholder\\:text-\\[color\\:--bq-date-picker--text-placeholder-color\\]::placeholder{color:var(--bq-date-picker--text-placeholder-color)}.hover\\:text-alt:hover{color:var(--bq-text--alt)}.hover\\:bg-hover-ui-primary:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.enabled\\:hover\\:bg-hover-secondary:hover:enabled{background-color:color-mix(in srgb,var(--bq-background--secondary),var(--bq-hover) 20%)}.enabled\\:hover\\:bg-hover-ui-brand:hover:enabled{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.\\!hidden{display:none!important}.hidden{display:none}.flex-wrap{flex-wrap:wrap}.gap-\\[--bq-spacing-m\\]{gap:var(--bq-spacing-m)}@media (min-width:640px){.sm\\:block{display:block}}.\\[\\&\\:\\:part\\(button\\)\\]\\:border-none::part(button){border-style:none}.\\[\\&\\:\\:part\\(button\\)\\]\\:p-0::part(button){padding:0}.\\[\\&\\:\\:part\\(panel\\)\\]\\:p-m::part(panel){padding:var(--bq-spacing-m)}.\\[\\&\\:\\:part\\(panel\\)\\]\\:is-auto::part(panel){inline-size:auto}.text-\\[--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}.relative{position:relative}`;
|
|
409
|
-
|
|
410
|
-
const B = r(class r extends e {
|
|
411
|
-
constructor(r) {
|
|
412
|
-
super();
|
|
413
|
-
if (r !== false) {
|
|
414
|
-
this.__registerHost();
|
|
415
|
-
}
|
|
416
|
-
this.__attachShadow();
|
|
417
|
-
this.bqBlur = a(this, "bqBlur");
|
|
418
|
-
this.bqChange = a(this, "bqChange");
|
|
419
|
-
this.bqClear = a(this, "bqClear");
|
|
420
|
-
this.bqFocus = a(this, "bqFocus");
|
|
421
|
-
this.internals = this.attachInternals();
|
|
422
|
-
}
|
|
423
|
-
// Own Properties
|
|
424
|
-
// ====================
|
|
425
|
-
callyElem;
|
|
426
|
-
inputElem;
|
|
427
|
-
isInternalUpdate=false;
|
|
428
|
-
labelElem;
|
|
429
|
-
prefixElem;
|
|
430
|
-
suffixElem;
|
|
431
|
-
// Reference to host HTML element
|
|
432
|
-
// ===================================
|
|
433
|
-
internals;
|
|
434
|
-
get el() {
|
|
435
|
-
return this;
|
|
436
|
-
}
|
|
437
|
-
// State() variables
|
|
438
|
-
// Inlined decorator, alphabetical order
|
|
439
|
-
// =======================================
|
|
440
|
-
isCallyLoaded=false;
|
|
441
|
-
focusedDate;
|
|
442
|
-
displayDate;
|
|
443
|
-
hasLabel=false;
|
|
444
|
-
hasPrefix=false;
|
|
445
|
-
hasRangeEnd=false;
|
|
446
|
-
hasSuffix=false;
|
|
447
|
-
hasValue=false;
|
|
448
|
-
// Public Property API
|
|
449
|
-
// ========================
|
|
450
|
-
/** If `true`, the Date picker input will be focused on component render */
|
|
451
|
-
autofocus;
|
|
452
|
-
/** The clear button aria label */
|
|
453
|
-
clearButtonLabel="Clear value";
|
|
454
|
-
/** If `true`, the clear button won't be displayed */
|
|
455
|
-
disableClear=false;
|
|
456
|
-
/**
|
|
457
|
-
* Indicates whether the Date picker input is disabled or not.
|
|
458
|
-
* If `true`, the Date picker is disabled and cannot be interacted with.
|
|
459
|
-
*/
|
|
460
|
-
disabled=false;
|
|
461
|
-
/** Represents the distance (gutter or margin) between the Date picker panel and the input element. */
|
|
462
|
-
distance=8;
|
|
463
|
-
/** The first day of the week, where Sunday is 0, Monday is 1, etc */
|
|
464
|
-
firstDayOfWeek=1;
|
|
465
|
-
/** The options to use when formatting the displayed value.
|
|
466
|
-
* Details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options
|
|
467
|
-
*/
|
|
468
|
-
formatOptions={
|
|
469
|
-
day: "numeric",
|
|
470
|
-
month: "short",
|
|
471
|
-
year: "numeric"
|
|
472
|
-
};
|
|
473
|
-
/** The ID of the form that the Date picker input belongs to. */
|
|
474
|
-
form;
|
|
475
|
-
/** The native form validation message (mandatory if `required` is set) */
|
|
476
|
-
formValidationMessage;
|
|
477
|
-
/** A function that takes a date and returns true if the date should not be selectable */
|
|
478
|
-
isDateDisallowed;
|
|
479
|
-
/** The locale for formatting dates. If not set, will use the browser's locale.
|
|
480
|
-
* Details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument
|
|
481
|
-
*/
|
|
482
|
-
locale="en-GB";
|
|
483
|
-
/** The latest date that can be selected */
|
|
484
|
-
max;
|
|
485
|
-
/** The earliest date that can be selected */
|
|
486
|
-
min;
|
|
487
|
-
/** Number of months to show when range is `true` */
|
|
488
|
-
months;
|
|
489
|
-
/**
|
|
490
|
-
* Specifies how the next/previous buttons should navigate the calendar.
|
|
491
|
-
* - single: The buttons will navigate by a single month at a time.
|
|
492
|
-
* - months: The buttons will navigate by the number of months displayed per view.
|
|
493
|
-
*/
|
|
494
|
-
monthsPerView="single";
|
|
495
|
-
/** The Date picker input name. */
|
|
496
|
-
name;
|
|
497
|
-
/** If `true`, the Date picker panel will be visible. */
|
|
498
|
-
open=false;
|
|
499
|
-
/** When set, it will override the height of the Date picker panel. */
|
|
500
|
-
panelHeight="auto";
|
|
501
|
-
/** The Date picker input placeholder text value */
|
|
502
|
-
placeholder;
|
|
503
|
-
/** Position of the Date picker panel */
|
|
504
|
-
placement="bottom-end";
|
|
505
|
-
/** Indicates whether or not the Date picker input is required to be filled out before submitting the form. */
|
|
506
|
-
required;
|
|
507
|
-
/** Represents the skidding between the Date picker panel and the input element. */
|
|
508
|
-
skidding=0;
|
|
509
|
-
/** Whether to show days outside the month */
|
|
510
|
-
showOutsideDays=false;
|
|
511
|
-
/** Defines the strategy to position the Date picker panel */
|
|
512
|
-
strategy="fixed";
|
|
513
|
-
/** The date that is tentatively selected e.g. the start of a range selection */
|
|
514
|
-
tentative;
|
|
515
|
-
/** It defines how the calendar will behave, allowing single date selection, range selection, or multiple date selection */
|
|
516
|
-
type="single";
|
|
517
|
-
/**
|
|
518
|
-
* The validation status of the Select input.
|
|
519
|
-
*
|
|
520
|
-
* @remarks
|
|
521
|
-
* This property is used to indicate the validation status of the select input. It can be set to one of the following values:
|
|
522
|
-
* - `'none'`: No validation status is set.
|
|
523
|
-
* - `'error'`: The input has a validation error.
|
|
524
|
-
* - `'warning'`: The input has a validation warning.
|
|
525
|
-
* - `'success'`: The input has passed validation.
|
|
526
|
-
*/
|
|
527
|
-
validationStatus="none";
|
|
528
|
-
/** The select input value represents the currently selected date or range and can be used to reset the field to a previous value.
|
|
529
|
-
* All dates are expected in ISO-8601 format (YYYY-MM-DD). */
|
|
530
|
-
value;
|
|
531
|
-
// Prop lifecycle events
|
|
532
|
-
// =======================
|
|
533
|
-
handleValueChange(r, e) {
|
|
534
|
-
if (r === e) return;
|
|
535
|
-
const {formatOptions: a, internals: t, isCallyLoaded: n, locale: i, type: b} = this;
|
|
536
|
-
if (!n) return;
|
|
537
|
-
t.setFormValue(!o(r) ? `${r}` : undefined);
|
|
538
|
-
this.updateFormValidity();
|
|
539
|
-
this.hasValue = s(r);
|
|
540
|
-
this.displayDate = formatDisplayValue(r, b, i, a);
|
|
541
|
-
this.setFocusedDate();
|
|
542
|
-
}
|
|
543
|
-
checkPropValues() {
|
|
544
|
-
c(y, "single", this.el, "type");
|
|
545
|
-
}
|
|
546
|
-
// Events section
|
|
547
|
-
// Requires JSDocs for public API documentation
|
|
548
|
-
// ==============================================
|
|
549
|
-
/** Callback handler emitted when the input loses focus */
|
|
550
|
-
bqBlur;
|
|
551
|
-
/**
|
|
552
|
-
* Callback handler emitted when the input value has changed and the input loses focus.
|
|
553
|
-
* This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.
|
|
554
|
-
*/
|
|
555
|
-
bqChange;
|
|
556
|
-
/** Callback handler emitted when the input value has been cleared */
|
|
557
|
-
bqClear;
|
|
558
|
-
/** Callback handler emitted when the input has received focus */
|
|
559
|
-
bqFocus;
|
|
560
|
-
// Component lifecycle events
|
|
561
|
-
// Ordered by their natural call order
|
|
562
|
-
// =====================================
|
|
563
|
-
async componentWillLoad() {
|
|
564
|
-
if (!b() || this.isCallyLoaded) return;
|
|
565
|
-
try {
|
|
566
|
-
await loadCallyLibrary();
|
|
567
|
-
this.isCallyLoaded = isCallyLibraryLoaded();
|
|
568
|
-
} catch (r) {
|
|
569
|
-
console.error(r);
|
|
570
|
-
}
|
|
571
|
-
}
|
|
572
|
-
componentDidLoad() {
|
|
573
|
-
this.handleSlotChange();
|
|
574
|
-
this.handleValueChange(this.value, undefined);
|
|
575
|
-
}
|
|
576
|
-
componentDidRender() {
|
|
577
|
-
if (this.isInternalUpdate) {
|
|
578
|
-
this.isInternalUpdate = false;
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
formAssociatedCallback() {
|
|
582
|
-
this.updateFormValidity();
|
|
583
|
-
}
|
|
584
|
-
formResetCallback() {
|
|
585
|
-
if (o(this.value)) return;
|
|
586
|
-
this.clear();
|
|
587
|
-
}
|
|
588
|
-
// Listeners
|
|
589
|
-
// ==============
|
|
590
|
-
handleOpenChange(r) {
|
|
591
|
-
if (!d(r, this.el)) return;
|
|
592
|
-
const {open: e} = r.detail;
|
|
593
|
-
if (this.open === e) return;
|
|
594
|
-
this.open = e;
|
|
595
|
-
}
|
|
596
|
-
handleClickOutside(r) {
|
|
597
|
-
const {open: e, type: a, hasRangeEnd: t} = this;
|
|
598
|
-
if (!e || a !== "range" || r.button !== 0) return;
|
|
599
|
-
if (d(r, this.el) || t) return;
|
|
600
|
-
this.tentative = undefined;
|
|
601
|
-
this.hasRangeEnd = false;
|
|
602
|
-
}
|
|
603
|
-
// Public methods API
|
|
604
|
-
// These methods are exposed on the host element.
|
|
605
|
-
// Always use two lines.
|
|
606
|
-
// Public Methods must be async.
|
|
607
|
-
// Requires JSDocs for public API documentation.
|
|
608
|
-
// ===============================================
|
|
609
|
-
/**
|
|
610
|
-
* Clears the selected value.
|
|
611
|
-
* @returns {Promise<void>}
|
|
612
|
-
*/
|
|
613
|
-
async clear() {
|
|
614
|
-
if (this.disabled) return;
|
|
615
|
-
this.value = undefined;
|
|
616
|
-
this.internals.setFormValue(undefined);
|
|
617
|
-
this.bqClear.emit(this.el);
|
|
618
|
-
}
|
|
619
|
-
// Local methods
|
|
620
|
-
// Internal business logic.
|
|
621
|
-
// These methods cannot be called from the host element.
|
|
622
|
-
// =======================================================
|
|
623
|
-
/**
|
|
624
|
-
* Handles the blur event for the date picker input.
|
|
625
|
-
* @returns {void}
|
|
626
|
-
*/
|
|
627
|
-
handleBlur=() => {
|
|
628
|
-
if (this.disabled) return;
|
|
629
|
-
this.bqBlur.emit(this.el);
|
|
630
|
-
};
|
|
631
|
-
/**
|
|
632
|
-
* Handles the focus event for the date picker input.
|
|
633
|
-
* @returns {void}
|
|
634
|
-
*/
|
|
635
|
-
handleFocus=() => {
|
|
636
|
-
if (this.disabled) return;
|
|
637
|
-
this.bqFocus.emit(this.el);
|
|
638
|
-
};
|
|
639
|
-
/**
|
|
640
|
-
* Updates the focused date in the calendar component.
|
|
641
|
-
* Falls back to today's date if no value is set.
|
|
642
|
-
* @returns {void}
|
|
643
|
-
*/
|
|
644
|
-
setFocusedDate=() => {
|
|
645
|
-
const {callyElem: r, isCallyLoaded: e, value: a} = this;
|
|
646
|
-
if (!r || !e) return;
|
|
647
|
-
const t = a ? extractFocusedDate(a) : getTodayISO();
|
|
648
|
-
if (this.focusedDate === t) return;
|
|
649
|
-
this.focusedDate = t;
|
|
650
|
-
if (r.focusedDate !== this.focusedDate) {
|
|
651
|
-
// We need to set the focused date in the calendar component via a ref
|
|
652
|
-
// because it doesn't work when passed as a prop (the Cally element does not re-render)
|
|
653
|
-
r.focusedDate = this.focusedDate;
|
|
654
|
-
}
|
|
655
|
-
};
|
|
656
|
-
/**
|
|
657
|
-
* Handles user input changes with locale-aware date parsing.
|
|
658
|
-
* Validates against disallowed dates and min/max constraints.
|
|
659
|
-
* @param {Event} ev - The change event.
|
|
660
|
-
* @returns {void}
|
|
661
|
-
*/
|
|
662
|
-
handleChange=r => {
|
|
663
|
-
if (this.disabled || !l(r.target, "input")) return;
|
|
664
|
-
const e = r.target.value.trim();
|
|
665
|
-
if (!e) {
|
|
666
|
-
this.clearValue();
|
|
667
|
-
this.bqChange.emit({
|
|
668
|
-
value: this.value,
|
|
669
|
-
el: this.el
|
|
670
|
-
});
|
|
671
|
-
return;
|
|
672
|
-
}
|
|
673
|
-
// Try to parse as date with locale awareness
|
|
674
|
-
const a = parseDateInput(e, this.locale);
|
|
675
|
-
if (!a) {
|
|
676
|
-
// Invalid date: don't update component value to avoid side effects
|
|
677
|
-
this.internals.setFormValue(undefined);
|
|
678
|
-
this.updateFormValidity();
|
|
679
|
-
this.bqChange.emit({
|
|
680
|
-
value: e,
|
|
681
|
-
el: this.el
|
|
682
|
-
});
|
|
683
|
-
return;
|
|
684
|
-
}
|
|
685
|
-
// Check if date is disallowed
|
|
686
|
-
if (this.isDateDisallowed?.(a)) {
|
|
687
|
-
this.internals.setFormValue(undefined);
|
|
688
|
-
this.updateFormValidity();
|
|
689
|
-
this.bqChange.emit({
|
|
690
|
-
value: e,
|
|
691
|
-
el: this.el
|
|
692
|
-
});
|
|
693
|
-
return;
|
|
694
|
-
}
|
|
695
|
-
// Valid date: normalize to ISO format and clamp to range if needed
|
|
696
|
-
// Note: clamping is done based on string comparison of ISO dates and only when min/max are set
|
|
697
|
-
let t = toISODateString(a);
|
|
698
|
-
t = clampDateToRange(t, this.min, this.max);
|
|
699
|
-
this.value = t;
|
|
700
|
-
this.displayDate = formatDisplayValue(t, this.type, this.locale, this.formatOptions);
|
|
701
|
-
this.internals.setFormValue(t);
|
|
702
|
-
this.updateFormValidity();
|
|
703
|
-
this.bqChange.emit({
|
|
704
|
-
value: this.value,
|
|
705
|
-
el: this.el
|
|
706
|
-
});
|
|
707
|
-
};
|
|
708
|
-
/**
|
|
709
|
-
* Handles the change event when the user selects a date in the calendar component.
|
|
710
|
-
* @param {Event} ev - The change event.
|
|
711
|
-
* @returns {void}
|
|
712
|
-
*/
|
|
713
|
-
handleCalendarChange=r => {
|
|
714
|
-
if (this.isInternalUpdate) return;
|
|
715
|
-
const e = this.type === "multi";
|
|
716
|
-
const a = r.target.value;
|
|
717
|
-
if (this.value === a) {
|
|
718
|
-
this.open = e;
|
|
719
|
-
return;
|
|
720
|
-
}
|
|
721
|
-
this.isInternalUpdate = true;
|
|
722
|
-
this.value = a;
|
|
723
|
-
this.displayDate = formatDisplayValue(a, this.type, this.locale, this.formatOptions);
|
|
724
|
-
this.inputElem.value = this.displayDate;
|
|
725
|
-
this.inputElem.focus();
|
|
726
|
-
this.internals.setFormValue(a);
|
|
727
|
-
this.bqChange.emit({
|
|
728
|
-
value: this.value,
|
|
729
|
-
el: this.el
|
|
730
|
-
});
|
|
731
|
-
this.open = e;
|
|
732
|
-
};
|
|
733
|
-
/**
|
|
734
|
-
* Handles the range start event when the user starts selecting a date range
|
|
735
|
-
* @param {CustomEvent} ev - The range start event.
|
|
736
|
-
* @returns {void}
|
|
737
|
-
*/
|
|
738
|
-
handleCalendarRangeStart=r => {
|
|
739
|
-
this.hasRangeEnd = false;
|
|
740
|
-
this.tentative = r.detail;
|
|
741
|
-
};
|
|
742
|
-
/**
|
|
743
|
-
* Handles the range end event when the user finishes selecting a date range
|
|
744
|
-
* @returns {void}
|
|
745
|
-
*/
|
|
746
|
-
handleCalendarRangeEnd=() => {
|
|
747
|
-
this.hasRangeEnd = true;
|
|
748
|
-
};
|
|
749
|
-
/**
|
|
750
|
-
* Handles the clear click event when the user clicks the clear button
|
|
751
|
-
* @param {CustomEvent} ev - The clear click event.
|
|
752
|
-
* @returns {void}
|
|
753
|
-
*/
|
|
754
|
-
handleClearClick=r => {
|
|
755
|
-
if (this.disabled) return;
|
|
756
|
-
this.inputElem.value = "";
|
|
757
|
-
this.clearValue();
|
|
758
|
-
this.hasRangeEnd = false;
|
|
759
|
-
this.bqClear.emit(this.el);
|
|
760
|
-
this.bqChange.emit({
|
|
761
|
-
value: this.value,
|
|
762
|
-
el: this.el
|
|
763
|
-
});
|
|
764
|
-
this.inputElem.focus();
|
|
765
|
-
r.stopPropagation();
|
|
766
|
-
};
|
|
767
|
-
/**
|
|
768
|
-
* Clears the value of the date picker input.
|
|
769
|
-
* @returns {void}
|
|
770
|
-
*/
|
|
771
|
-
clearValue=() => {
|
|
772
|
-
this.value = undefined;
|
|
773
|
-
this.displayDate = undefined;
|
|
774
|
-
this.internals.setFormValue(undefined);
|
|
775
|
-
};
|
|
776
|
-
/**
|
|
777
|
-
* Handles the slot change event when the slots content changes
|
|
778
|
-
* @returns {void}
|
|
779
|
-
*/
|
|
780
|
-
handleSlotChange=() => {
|
|
781
|
-
this.hasLabel = q(this.labelElem);
|
|
782
|
-
this.hasPrefix = q(this.prefixElem);
|
|
783
|
-
this.hasSuffix = q(this.suffixElem);
|
|
784
|
-
};
|
|
785
|
-
/**
|
|
786
|
-
* Generates a calendar month element
|
|
787
|
-
* @param {number} offset - The offset of the calendar month.
|
|
788
|
-
* @param {string} className - The class name of the calendar month.
|
|
789
|
-
* @returns {JSX.Element | null} The calendar month element.
|
|
790
|
-
*/
|
|
791
|
-
generateCalendarMonth=(r, e = "") => {
|
|
792
|
-
if (!this.isCallyLoaded) return null;
|
|
793
|
-
return t("calendar-month", {
|
|
794
|
-
class: e,
|
|
795
|
-
exportparts: z,
|
|
796
|
-
offset: r
|
|
797
|
-
});
|
|
798
|
-
};
|
|
799
|
-
/**
|
|
800
|
-
* Generates an array of Elements representing the calendar months.
|
|
801
|
-
*
|
|
802
|
-
* If the type of the date picker is 'range' or 'multi' and the number of months is specified,
|
|
803
|
-
* it generates an array of calendar months with the specified length. Each month will have an offset
|
|
804
|
-
* and a class name based on its position in the array. The offset is used to determine the month to display,
|
|
805
|
-
* and the class name is used for responsive design.
|
|
806
|
-
*
|
|
807
|
-
* If the type of the date picker is not 'range' or 'multi', or if the number of months is not specified,
|
|
808
|
-
* it generates an array with a single calendar month.
|
|
809
|
-
*
|
|
810
|
-
* @returns {JSX.Element[]} An array of elements representing the calendar months.
|
|
811
|
-
*/
|
|
812
|
-
generateCalendarMonths=() => {
|
|
813
|
-
if (!this.isCallyLoaded) return [];
|
|
814
|
-
if (this.type === "range" || this.type === "multi" && this.months) {
|
|
815
|
-
return Array.from({
|
|
816
|
-
length: this.months
|
|
817
|
-
}, ((r, e) => {
|
|
818
|
-
const a = e > 0 ? e : undefined;
|
|
819
|
-
const t = a ? "hidden sm:block" : "";
|
|
820
|
-
return this.generateCalendarMonth(a, t);
|
|
821
|
-
}));
|
|
822
|
-
}
|
|
823
|
-
return [ this.generateCalendarMonth() ];
|
|
824
|
-
};
|
|
825
|
-
/**
|
|
826
|
-
* Updates the form validity of the date picker input.
|
|
827
|
-
* @returns {void}
|
|
828
|
-
*/
|
|
829
|
-
updateFormValidity=() => {
|
|
830
|
-
const {formValidationMessage: r, internals: e, required: a, value: t, inputElem: n} = this;
|
|
831
|
-
updateFormValidity({
|
|
832
|
-
internals: e,
|
|
833
|
-
required: a,
|
|
834
|
-
value: t,
|
|
835
|
-
inputElem: n,
|
|
836
|
-
validationMessage: r,
|
|
837
|
-
defaultMessage: "Please, input or select a valid date"
|
|
838
|
-
});
|
|
839
|
-
};
|
|
840
|
-
/**
|
|
841
|
-
* Returns the Cally calendar component tag name based on the picker type.
|
|
842
|
-
* Maps 'single' → 'calendar-date', 'multi' → 'calendar-multi', 'range' → 'calendar-range'
|
|
843
|
-
*
|
|
844
|
-
* @returns The Cally calendar component tag name.
|
|
845
|
-
*/
|
|
846
|
-
get calendarType() {
|
|
847
|
-
return D[this.type] ?? D.single;
|
|
848
|
-
}
|
|
849
|
-
// render() function
|
|
850
|
-
// Always the last one in the class.
|
|
851
|
-
// ===================================
|
|
852
|
-
render() {
|
|
853
|
-
const r = this.calendarType;
|
|
854
|
-
const e = `bq-date-picker__label-${this.name || x}`;
|
|
855
|
-
return n("div", {
|
|
856
|
-
class: "bq-date-picker",
|
|
857
|
-
part: "base",
|
|
858
|
-
children: [ t("label", {
|
|
859
|
-
"aria-labelledby": e,
|
|
860
|
-
class: {
|
|
861
|
-
"bq-date-picker__label": true,
|
|
862
|
-
"!hidden": !this.hasLabel
|
|
863
|
-
},
|
|
864
|
-
htmlFor: this.name || x,
|
|
865
|
-
part: "label",
|
|
866
|
-
ref: r => {
|
|
867
|
-
this.labelElem = r;
|
|
868
|
-
},
|
|
869
|
-
children: t("slot", {
|
|
870
|
-
id: e,
|
|
871
|
-
name: "label",
|
|
872
|
-
onSlotchange: this.handleSlotChange
|
|
873
|
-
}, "6070c604475bef562672492c607435e7ac647c1a")
|
|
874
|
-
}, "5a0aeb21acf08cacbf320ef6a87a2d8237ebedd0"), n("bq-dropdown", {
|
|
875
|
-
class: "bq-date-picker__dropdown is-full [&::part(panel)]:is-auto [&::part(panel)]:p-m",
|
|
876
|
-
disabled: this.disabled,
|
|
877
|
-
distance: this.distance,
|
|
878
|
-
exportparts: "panel",
|
|
879
|
-
open: this.open,
|
|
880
|
-
panelHeight: this.panelHeight,
|
|
881
|
-
placement: this.placement,
|
|
882
|
-
skidding: this.skidding,
|
|
883
|
-
strategy: this.strategy,
|
|
884
|
-
children: [ n("div", {
|
|
885
|
-
class: {
|
|
886
|
-
"bq-date-picker__control": true,
|
|
887
|
-
[`validation-${this.validationStatus}`]: true,
|
|
888
|
-
disabled: this.disabled
|
|
889
|
-
},
|
|
890
|
-
part: "control",
|
|
891
|
-
slot: "trigger",
|
|
892
|
-
children: [ t("span", {
|
|
893
|
-
class: {
|
|
894
|
-
"bq-date-picker__control--prefix": true,
|
|
895
|
-
"!hidden": !this.hasPrefix
|
|
896
|
-
},
|
|
897
|
-
part: "prefix",
|
|
898
|
-
ref: r => {
|
|
899
|
-
this.prefixElem = r;
|
|
900
|
-
},
|
|
901
|
-
children: t("slot", {
|
|
902
|
-
name: "prefix",
|
|
903
|
-
onSlotchange: this.handleSlotChange
|
|
904
|
-
}, "7f3bbec696f39303127be65762bb2a6dcf36be3e")
|
|
905
|
-
}, "3cef7076a1f189e5f906e4a9b702ad896758177c"), t("input", {
|
|
906
|
-
"aria-controls": `${this.name}`,
|
|
907
|
-
"aria-describedby": this.hasLabel ? e : null,
|
|
908
|
-
"aria-disabled": this.disabled ? "true" : "false",
|
|
909
|
-
"aria-invalid": this.validationStatus === "error" ? "true" : "false",
|
|
910
|
-
"aria-haspopup": "dialog",
|
|
911
|
-
autoCapitalize: "off",
|
|
912
|
-
autoComplete: "off",
|
|
913
|
-
class: "bq-date-picker__control--input",
|
|
914
|
-
disabled: this.disabled,
|
|
915
|
-
form: this.form,
|
|
916
|
-
id: this.name || x,
|
|
917
|
-
name: this.name,
|
|
918
|
-
onBlur: this.handleBlur,
|
|
919
|
-
onChange: this.handleChange,
|
|
920
|
-
onFocus: this.handleFocus,
|
|
921
|
-
part: "input",
|
|
922
|
-
placeholder: this.placeholder,
|
|
923
|
-
readonly: this.type !== "single",
|
|
924
|
-
ref: r => {
|
|
925
|
-
this.inputElem = r;
|
|
926
|
-
},
|
|
927
|
-
required: this.required,
|
|
928
|
-
spellcheck: false,
|
|
929
|
-
type: "text",
|
|
930
|
-
value: this.displayDate
|
|
931
|
-
}, "535c3a503761a059186e8635fd5c3515f0a7a405"), this.hasValue && !this.disabled && !this.disableClear &&
|
|
932
|
-
// The clear button will be visible as long as the input has a value
|
|
933
|
-
// and the parent group is hovered or has focus-within
|
|
934
|
-
t("bq-button", {
|
|
935
|
-
appearance: "text",
|
|
936
|
-
border: "s",
|
|
937
|
-
class: "bq-date-picker__control--clear ms-[--bq-date-picker--gap] hidden [&::part(button)]:border-none [&::part(button)]:p-0",
|
|
938
|
-
exportparts: "button",
|
|
939
|
-
label: this.clearButtonLabel,
|
|
940
|
-
onBqClick: this.handleClearClick,
|
|
941
|
-
onlyIcon: true,
|
|
942
|
-
part: "clear-btn",
|
|
943
|
-
size: "small",
|
|
944
|
-
children: t("slot", {
|
|
945
|
-
name: "clear-icon",
|
|
946
|
-
children: t("bq-icon", {
|
|
947
|
-
"aria-hidden": "true",
|
|
948
|
-
class: "flex",
|
|
949
|
-
name: "x-circle"
|
|
950
|
-
}, "9ad2d96b08e2221e03093ca76ad6dcd588707404")
|
|
951
|
-
}, "971e0e91974086bd4b263ece346ff1de3639a231")
|
|
952
|
-
}, "dbf106fe06a46cc654ce3848035ae7c758586855"), t("span", {
|
|
953
|
-
class: "bq-date-picker__control--suffix",
|
|
954
|
-
part: "suffix",
|
|
955
|
-
ref: r => {
|
|
956
|
-
this.suffixElem = r;
|
|
957
|
-
},
|
|
958
|
-
children: t("slot", {
|
|
959
|
-
name: "suffix",
|
|
960
|
-
onSlotchange: this.handleSlotChange,
|
|
961
|
-
children: t("bq-icon", {
|
|
962
|
-
class: "flex",
|
|
963
|
-
name: "calendar-blank"
|
|
964
|
-
}, "ed788d286ead83d0cb56afb97a51f690f1a0a7fa")
|
|
965
|
-
}, "0e9a0e5a7770726937bb0e82e79587706e383a2a")
|
|
966
|
-
}, "a59d1e17dedd9ca004bebe1cb6750fa9a22aadac") ]
|
|
967
|
-
}, "633d4083b42e3354d1b465deafc51a7124e41587"), this.isCallyLoaded && n(r, {
|
|
968
|
-
"aria-labelledby": e,
|
|
969
|
-
"aria-modal": "true",
|
|
970
|
-
exportparts: C,
|
|
971
|
-
firstDayOfWeek: this.firstDayOfWeek,
|
|
972
|
-
isDateDisallowed: this.isDateDisallowed,
|
|
973
|
-
locale: this.locale,
|
|
974
|
-
max: this.max,
|
|
975
|
-
min: this.min,
|
|
976
|
-
months: this.months,
|
|
977
|
-
onChange: this.handleCalendarChange,
|
|
978
|
-
onRangeend: this.handleCalendarRangeEnd,
|
|
979
|
-
onRangestart: this.handleCalendarRangeStart,
|
|
980
|
-
pageBy: this.monthsPerView,
|
|
981
|
-
ref: r => {
|
|
982
|
-
this.callyElem = r;
|
|
983
|
-
},
|
|
984
|
-
role: "dialog",
|
|
985
|
-
showOutsideDays: this.showOutsideDays,
|
|
986
|
-
tentative: this.tentative,
|
|
987
|
-
value: this.value,
|
|
988
|
-
children: [ t("bq-icon", {
|
|
989
|
-
color: "text--primary",
|
|
990
|
-
label: "Previous",
|
|
991
|
-
name: "caret-left",
|
|
992
|
-
slot: "previous"
|
|
993
|
-
}, "5b717c86faaa5fc7733b080c5fc6c80518c6c064"), t("bq-icon", {
|
|
994
|
-
color: "text--primary",
|
|
995
|
-
label: "Next",
|
|
996
|
-
name: "caret-right",
|
|
997
|
-
slot: "next"
|
|
998
|
-
}, "30cf13e187f0b0f1b5ead36875ddce8313d63ab9"), t("div", {
|
|
999
|
-
class: "flex flex-wrap justify-center gap-[--bq-spacing-m]",
|
|
1000
|
-
children: this.generateCalendarMonths()
|
|
1001
|
-
}, "65561cf18c5c34d309d306c38fa682f61d719fec") ]
|
|
1002
|
-
}, "ba2fa07f289f65ca95e5f4d3513c0647e537d25a") ]
|
|
1003
|
-
}, "6e46bde115a7bc8950e1d48439ac17207a5b5cbb") ]
|
|
1004
|
-
}, "00bdb12502734469ab0a29de76c830c1ca9dd927");
|
|
1005
|
-
}
|
|
1006
|
-
static get delegatesFocus() {
|
|
1007
|
-
return true;
|
|
1008
|
-
}
|
|
1009
|
-
static get formAssociated() {
|
|
1010
|
-
return true;
|
|
1011
|
-
}
|
|
1012
|
-
static get watchers() {
|
|
1013
|
-
return {
|
|
1014
|
-
value: [ {
|
|
1015
|
-
handleValueChange: 0
|
|
1016
|
-
} ],
|
|
1017
|
-
type: [ {
|
|
1018
|
-
checkPropValues: 0
|
|
1019
|
-
} ]
|
|
1020
|
-
};
|
|
1021
|
-
}
|
|
1022
|
-
static get style() {
|
|
1023
|
-
return bqDatePickerCss();
|
|
1024
|
-
}
|
|
1025
|
-
}, [ 849, "bq-date-picker", {
|
|
1026
|
-
autofocus: [ 516 ],
|
|
1027
|
-
clearButtonLabel: [ 513, "clear-button-label" ],
|
|
1028
|
-
disableClear: [ 516, "disable-clear" ],
|
|
1029
|
-
disabled: [ 1028 ],
|
|
1030
|
-
distance: [ 514 ],
|
|
1031
|
-
firstDayOfWeek: [ 514, "first-day-of-week" ],
|
|
1032
|
-
formatOptions: [ 16 ],
|
|
1033
|
-
form: [ 513 ],
|
|
1034
|
-
formValidationMessage: [ 1025, "form-validation-message" ],
|
|
1035
|
-
isDateDisallowed: [ 16 ],
|
|
1036
|
-
locale: [ 513 ],
|
|
1037
|
-
max: [ 513 ],
|
|
1038
|
-
min: [ 513 ],
|
|
1039
|
-
months: [ 514 ],
|
|
1040
|
-
monthsPerView: [ 513, "months-per-view" ],
|
|
1041
|
-
name: [ 513 ],
|
|
1042
|
-
open: [ 1540 ],
|
|
1043
|
-
panelHeight: [ 1537, "panel-height" ],
|
|
1044
|
-
placeholder: [ 513 ],
|
|
1045
|
-
placement: [ 513 ],
|
|
1046
|
-
required: [ 516 ],
|
|
1047
|
-
skidding: [ 514 ],
|
|
1048
|
-
showOutsideDays: [ 516, "show-outside-days" ],
|
|
1049
|
-
strategy: [ 513 ],
|
|
1050
|
-
tentative: [ 1537 ],
|
|
1051
|
-
type: [ 513 ],
|
|
1052
|
-
validationStatus: [ 513, "validation-status" ],
|
|
1053
|
-
value: [ 1537 ],
|
|
1054
|
-
isCallyLoaded: [ 32 ],
|
|
1055
|
-
focusedDate: [ 32 ],
|
|
1056
|
-
displayDate: [ 32 ],
|
|
1057
|
-
hasLabel: [ 32 ],
|
|
1058
|
-
hasPrefix: [ 32 ],
|
|
1059
|
-
hasRangeEnd: [ 32 ],
|
|
1060
|
-
hasSuffix: [ 32 ],
|
|
1061
|
-
hasValue: [ 32 ],
|
|
1062
|
-
clear: [ 64 ]
|
|
1063
|
-
}, [ [ 2, "bqOpen", "handleOpenChange" ], [ 18, "click", "handleClickOutside" ] ], {
|
|
1064
|
-
value: [ {
|
|
1065
|
-
handleValueChange: 0
|
|
1066
|
-
} ],
|
|
1067
|
-
type: [ {
|
|
1068
|
-
checkPropValues: 0
|
|
1069
|
-
} ]
|
|
1070
|
-
} ]);
|
|
1071
|
-
|
|
1072
|
-
function defineCustomElement$1() {
|
|
1073
|
-
if (typeof customElements === "undefined") {
|
|
1074
|
-
return;
|
|
1075
|
-
}
|
|
1076
|
-
const r = [ "bq-date-picker", "bq-button", "bq-dropdown", "bq-icon", "bq-panel" ];
|
|
1077
|
-
r.forEach((r => {
|
|
1078
|
-
switch (r) {
|
|
1079
|
-
case "bq-date-picker":
|
|
1080
|
-
if (!customElements.get(i(r))) {
|
|
1081
|
-
customElements.define(i(r), B);
|
|
1082
|
-
}
|
|
1083
|
-
break;
|
|
1084
|
-
|
|
1085
|
-
case "bq-button":
|
|
1086
|
-
if (!customElements.get(i(r))) {
|
|
1087
|
-
u();
|
|
1088
|
-
}
|
|
1089
|
-
break;
|
|
1090
|
-
|
|
1091
|
-
case "bq-dropdown":
|
|
1092
|
-
if (!customElements.get(i(r))) {
|
|
1093
|
-
v();
|
|
1094
|
-
}
|
|
1095
|
-
break;
|
|
1096
|
-
|
|
1097
|
-
case "bq-icon":
|
|
1098
|
-
if (!customElements.get(i(r))) {
|
|
1099
|
-
g();
|
|
1100
|
-
}
|
|
1101
|
-
break;
|
|
1102
|
-
|
|
1103
|
-
case "bq-panel":
|
|
1104
|
-
if (!customElements.get(i(r))) {
|
|
1105
|
-
p();
|
|
1106
|
-
}
|
|
1107
|
-
break;
|
|
1108
|
-
}
|
|
1109
|
-
}));
|
|
1110
|
-
}
|
|
1111
|
-
|
|
1112
|
-
const V = B;
|
|
1113
|
-
|
|
1114
|
-
const L = defineCustomElement$1;
|
|
1115
|
-
|
|
1116
|
-
export { V as BqDatePicker, h as I, clampDateToRange as c, L as defineCustomElement, extractFocusedDate as e, formatDisplayValue as f, getTodayISO as g, isValidISODate as i, parseDateInput as p, toISODateString as t, updateFormValidity as u };
|
|
1117
|
-
//# sourceMappingURL=bq-date-picker.js.map
|
|
5
|
+
import{p as r,H as e,c as a,h as t,t as n}from"./p-DDVIIUm1.js";import{i}from"./p-B4sM1t6Z.js";import{i as b}from"./p-BcPwGxIn.js";import{i as o}from"./p-Dx-CEPSQ.js";import{i as d}from"./p-BRbYDZoo.js";import{i as s}from"./p-D1A0LpG_.js";import{v as l}from"./p-zh4P02Kn.js";import{b as c}from"./p-uqkxeAeG.js";import{d as q}from"./p-DSdUt2Ay.js";import{d as u}from"./p-D97CZ-cz.js";import{d as v}from"./p-BHxv_w2i.js";import{d as g}from"./p-8mobOXPw.js";const p=new Map;const f=(r,e)=>{const a=`${typeof r==="string"?r:JSON.stringify(r)}-${JSON.stringify(e)}`;let t=p.get(a);if(!t){t=new Intl.DateTimeFormat(r,e);p.set(a,t);if(p.size>50){const r=p.keys().next().value;p.delete(r)}}return t};const h=(r,e,a,t)=>{if(!r)return undefined;const n=f(a,t);if(e==="range"){const[e,a]=r.split("/").map((r=>new Date(`${r}T00:00:00`)));if(!e||!a||Number.isNaN(e.getTime())||Number.isNaN(a.getTime()))return undefined;return n.formatRange(e,a)}if(e==="multi"){const e=r.split(" ").map((r=>new Date(`${r}T00:00:00`)));if(e.some((r=>Number.isNaN(r.getTime()))))return undefined;return e.map((r=>n.format(r))).join(", ")}const i=new Date(`${r}T00:00:00`);return Number.isNaN(i.getTime())?undefined:n.format(i)};const m=r=>{if(!r)return undefined;const e=/\b\d{4}-\d{2}-\d{2}\b/;const a=e.exec(r);return a?a[0]:undefined};const k=(r,e,a)=>{if(e&&r<e)return e;if(a&&r>a)return a;return r};const y="fr-CA";const x=[{regex:/^(\d{1,2})\s+([a-z]+)\s+(\d{4})$/i,parse:(r,e)=>({day:+r[1],month:e[r[2].toLowerCase()],year:+r[3]})},{regex:/^(\d{1,2})[\s\-/.](\d{1,2})[\s\-/.](\d{4})$/,parse:(r,e,a)=>{const{day:t,month:n}=z(+r[1],+r[2],a);return{day:t,month:n,year:+r[3]}}},{regex:/^([a-z]+)\s+(\d{1,2}),?\s+(\d{4})$/i,parse:(r,e)=>({month:e[r[1].toLowerCase()],day:+r[2],year:+r[3]})},{regex:/^(\d{4})-(\d{2})-(\d{2})$/,parse:r=>({year:+r[1],month:+r[2]-1,day:+r[3]})}];const w=new Map;const _=r=>{const e=typeof r==="string"?r:JSON.stringify(r);const a=w.get(e);if(a)return a;const t={};const n=new Intl.DateTimeFormat(r,{month:"short"});const i=new Intl.DateTimeFormat(r,{month:"long"});for(let r=0;r<12;r++){const e=new Date(2024,r,1);t[n.format(e).toLowerCase()]=r;t[i.format(e).toLowerCase()]=r}w.set(e,t);return t};const z=(r,e,a="en-GB")=>{if(r>12)return{day:r,month:e-1};if(e>12)return{day:e,month:r-1};const t=typeof a==="string"?a:a?.[0]||"en-GB";const n=["en-US","en-CA"].some((r=>t.startsWith(r)));if(n){return{day:e,month:r-1}}return{day:r,month:e-1}};const D=(r,e,a)=>{const t=new Date(a,e,r);return t.getDate()===r&&t.getMonth()===e&&t.getFullYear()===a};const C=(r,e,a)=>{if(e===undefined||!r||!a)return null;if(!D(r,e,a))return null;return new Date(a,e,r)};const E=(r,e="en-GB")=>{if(!r?.trim())return null;const a=new Date(`${r}T00:00:00`);if(!Number.isNaN(a.getTime())&&O(r))return a;const t=_(e);for(const{regex:a,parse:n}of x){const i=a.exec(r);if(!i)continue;const{day:b,month:o,year:d}=n(i,t,e);const s=C(b,o,d);if(s)return s}return null};const O=r=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(r))return false;const[e,a,t]=r.split("-");const n=+e;const i=+a-1;const b=+t;return D(b,i,n)};const $=r=>r.toLocaleDateString(y);const j=()=>(new Date).toLocaleDateString(y);const P=({internals:r,required:e,value:a,inputElem:t,validationMessage:n,defaultMessage:i="Please fill out this field"})=>{if(!r)return;r.states.clear();if(e&&!d(a)){r.states.add("invalid");r.setValidity({valueMissing:true},n??i,t);return}r.states.add("valid");r.setValidity({})};const V=["single","multi","range"];const B="date-picker";const S="calendar__heading,calendar__table,calendar__tr,calendar__head,calendar__week,calendar__th,calendar__td";const M="calendar__button,calendar__day,calendar__selected,calendar__today,calendar__disallowed,calendar__outside,calendar__range-start,calendar__range-end,calendar__range-inner";const L=`${S},${M}`;const Y="container:calendar__container,header:calendar__header,button:calendar__button,previous:calendar__previous,next:calendar__next,disabled:calendar__disabled,heading:calendar__heading";const F={single:"calendar-date",multi:"calendar-multi",range:"calendar-range"};const I="data-cally-library";const R="0.9.0";const A="sha384-pM/XA9cWLgX65JRL+wCO7uw2DIwVqcK1WlITykq2OZYbP5vuMspYj0K29Ka6UyFU";let N=false;let U=null;const G=({type:r,src:e,attributes:a={}})=>new Promise(((t,n)=>{const i=document.createElement("script");i.type=r;i.src=e;i.onload=()=>t();i.onerror=r=>n(new Error(`Failed to load script: ${e}, ${r instanceof Error?r.message:"Unknown error"}`));Object.entries(a).forEach((([r,e])=>{i.setAttribute(r,e)}));document.head.appendChild(i)}));const T=()=>N||document.querySelector(`script[${I}]`)!==null;const W=()=>{if(N)return Promise.resolve();if(U!==null)return U;if(document.querySelector(`script[${I}]`)!==null){N=true;return Promise.resolve()}U=G({type:"module",src:`https://unpkg.com/cally@${R}/dist/cally.js`,attributes:{[I]:"",crossOrigin:"anonymous",integrity:A}}).then((()=>{N=true})).catch((r=>{U=null;N=false;throw new Error(`Failed to load the cally library: ${r instanceof Error?r.message:"Unknown error"}`)}));return U};const X=()=>`.border-spacing-0,calendar-month::part(table){--tw-border-spacing-x:0;--tw-border-spacing-y:0}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.pointer-events-none{pointer-events:none}.me-\\[--bq-date-picker--gap\\]{margin-inline-end:var(--bq-date-picker--gap)}.ms-\\[--bq-date-picker--gap\\]{margin-inline-start:var(--bq-date-picker--gap)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.size-\\[--bq-date-picker--day-size\\]{height:var(--bq-date-picker--day-size);width:var(--bq-date-picker--day-size)}.flex-auto{flex:1 1 auto}.flex-grow{flex-grow:1}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.cursor-inherit{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\\[--bq-date-picker--gap\\]{gap:var(--bq-date-picker--gap)}.gap-s{gap:var(--bq-spacing-s)}.rounded-\\[--bq-date-picker--border-radius\\]{border-radius:var(--bq-date-picker--border-radius)}.rounded-none{border-radius:var(--bq-radius--none)}.rounded-s{border-radius:var(--bq-radius--s)}.rounded-ee-none{border-end-end-radius:var(--bq-radius--none)}.rounded-es-none{border-end-start-radius:var(--bq-radius--none)}.rounded-se-none{border-start-end-radius:var(--bq-radius--none)}.rounded-ss-none{border-start-start-radius:var(--bq-radius--none)}.border-0{border-width:0}.border-\\[length\\:--bq-date-picker--border-width\\]{border-width:var(--bq-date-picker--border-width)}.border-\\[length\\:--bq-date-picker--currentDate-border-width\\]{border-width:var(--bq-date-picker--currentDate-border-width)}.border-none{border-style:none}.border-\\[color\\:--bq-date-picker--border-color\\]{border-color:var(--bq-date-picker--border-color)}.border-\\[color\\:--bq-date-picker--currentDate-border-color\\]{border-color:var(--bq-date-picker--currentDate-border-color)}.border-\\[color\\:--bq-focus\\]{border-color:var(--bq-focus)}.border-danger{border-color:var(--bq-stroke--danger)}.border-success{border-color:var(--bq-stroke--success)}.border-warning{border-color:var(--bq-stroke--warning)}.bg-\\[--bq-date-picker--background-color\\]{background-color:var(--bq-date-picker--background-color)}.bg-\\[--bq-date-picker--range-background-color\\]{background-color:var(--bq-date-picker--range-background-color)}.bg-\\[--bq-date-picker--range-inner-background-color\\]{background-color:var(--bq-date-picker--range-inner-background-color)}.bg-inherit{background-color:inherit}.bg-transparent{background-color:transparent}.pe-\\[--bq-date-picker--padding-end\\]{padding-inline-end:var(--bq-date-picker--padding-end)}.ps-\\[--bq-date-picker--padding-start\\]{padding-inline-start:var(--bq-date-picker--padding-start)}.font-default{font-family:var(--bq-font-family)}.font-inherit{font-family:inherit}.text-\\[length\\:--bq-date-picker--label-text-size\\]{font-size:var(--bq-date-picker--label-text-size)}.text-\\[length\\:--bq-date-picker--text-size\\]{font-size:var(--bq-date-picker--text-size)}.text-\\[length\\:_inherit\\],.text-\\[length\\:inherit\\]{font-size:inherit}.text-\\[color\\:--bq-date-picker--label-text-color\\]{color:var(--bq-date-picker--label-text-color)}.text-\\[color\\:--bq-date-picker--text-color\\]{color:var(--bq-date-picker--text-color)}.text-alt{color:var(--bq-text--alt)}.text-primary{color:var(--bq-text--primary)}.text-secondary{color:var(--bq-text--secondary)}.opacity-100{opacity:1}.opacity-60{opacity:.6}.transition-\\[border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.border-active-danger{border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.border-active-success{border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.border-active-warning{border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.is-full{inline-size:100%}.min-is-0{min-inline-size:0}.p-b-0{padding-block:0}.p-b-\\[--bq-date-picker--paddingY\\]{padding-block:var(--bq-date-picker--paddingY)}.p-b-xs2{padding-block:var(--bq-spacing-xs2)}.p-i-0{padding-inline:0}.p-i-xs{padding-inline:var(--bq-spacing-xs)}.m-b-0{margin-block:0}.m-be-\\[--bq-date-picker--label-margin-bottom\\]{margin-block-end:var(--bq-date-picker--label-margin-bottom)}.m-i-0{margin-inline:0}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-date-picker--background-color:var(--bq-ui--primary);--bq-date-picker--border-color:var(--bq-stroke--tertiary);--bq-date-picker--border-radius:var(--bq-radius--s);--bq-date-picker--border-style:solid;--bq-date-picker--border-width:var(--bq-stroke-s);--bq-date-picker--currentDate-border-color:var(--bq-stroke--brand);--bq-date-picker--currentDate-border-width:var(--bq-stroke-m);--bq-date-picker--day-size:2.25rem;--bq-date-picker--gap:var(--bq-spacing-xs);--bq-date-picker--icon-size:24px;--bq-date-picker--label-margin-bottom:var(--bq-spacing-xs);--bq-date-picker--label-text-color:var(--bq-text--primary);--bq-date-picker--label-text-size:var(--bq-font-size--s);--bq-date-picker--padding-end:var(--bq-spacing-m);--bq-date-picker--padding-start:var(--bq-spacing-m);--bq-date-picker--paddingY:var(--bq-spacing-s);--bq-date-picker--range-background-color:var(--bq-ui--brand);--bq-date-picker--range-inner-background-color:var(--bq-ui--brand-alt);--bq-date-picker--text-color:var(--bq-text--primary);--bq-date-picker--text-placeholder-color:var(--bq-text--secondary);--bq-date-picker--text-size:var(--bq-font-size--m);display:block;inline-size:100%}.bq-date-picker__label{align-items:center;color:var(--bq-date-picker--label-text-color);display:flex;flex-grow:1;font-size:var(--bq-date-picker--label-text-size);gap:var(--bq-date-picker--gap);margin-block-end:var(--bq-date-picker--label-margin-bottom)}.bq-date-picker__control{align-items:center;border-color:var(--bq-date-picker--border-color);border-radius:var(--bq-date-picker--border-radius);border-style:var(--bq-date-picker--border-style);border-width:var(--bq-date-picker--border-width);color:var(--bq-date-picker--text-color);display:flex;font-size:var(--bq-date-picker--text-size);inline-size:100%;padding-block:var(--bq-date-picker--paddingY);padding-inline-end:var(--bq-date-picker--padding-end);padding-inline-start:var(--bq-date-picker--padding-start);transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);user-select:none}.bq-date-picker__control::placeholder{color:var(--bq-date-picker--text-placeholder-color)}.bq-date-picker__control:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.bq-date-picker__control:not(.disabled):focus-within{--bq-ring-width:1px;--bq-ring-offset-width:0;border-color:var(--bq-focus);outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-date-picker__control:not(.disabled):focus-within .bq-date-picker__control--clear,.bq-date-picker__control:not(.disabled):hover .bq-date-picker__control--clear{display:inline-block}.bq-date-picker__control.disabled{cursor:not-allowed;opacity:.6}.bq-date-picker__control.validation-error{border-color:var(--bq-stroke--danger)}.bq-date-picker__control.validation-error:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-hover) 20%)}.bq-date-picker__control.validation-error:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--danger);border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.bq-date-picker__control.validation-success{border-color:var(--bq-stroke--success)}.bq-date-picker__control.validation-success:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-hover) 20%)}.bq-date-picker__control.validation-success:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--success);border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.bq-date-picker__control.validation-warning{border-color:var(--bq-stroke--warning)}.bq-date-picker__control.validation-warning:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-hover) 20%)}.bq-date-picker__control.validation-warning:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--warning);border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.bq-date-picker__control--input{appearance:none;background-color:inherit;border-style:none;color:inherit;cursor:inherit;flex:1 1 auto;font-family:inherit;font-size:inherit;margin-block:0;margin-inline:0;min-inline-size:0;padding-block:0;padding-inline:0;user-select:none}.bq-date-picker__control--input:focus{outline:2px solid transparent;outline-offset:2px}.bq-date-picker__control--input:focus-visible{outline:2px solid transparent;outline-offset:2px}.bq-date-picker__control--clear::part(button){--bq-ring-width:initial;--bq-ring-offset-width:initial;--bq-ring-color-focus:initial}.bq-date-picker__control--prefix,.bq-date-picker__control--suffix{align-items:center;color:var(--bq-date-picker--text-color);display:flex;pointer-events:none}.bq-date-picker__control--prefix{margin-inline-end:var(--bq-date-picker--gap)}.bq-date-picker__control--suffix{margin-inline-start:var(--bq-date-picker--gap)}calendar-date::part(header),calendar-multi::part(header),calendar-range::part(header){gap:var(--bq-spacing-s);justify-content:center}calendar-date::part(heading),calendar-multi::part(heading),calendar-range::part(heading){padding-block:var(--bq-spacing-xs2);padding-inline:var(--bq-spacing-xs)}calendar-date::part(button),calendar-multi::part(button),calendar-range::part(button){background-color:transparent;border-radius:var(--bq-radius--s);border-width:0;padding-block:var(--bq-spacing-xs2);padding-inline:var(--bq-spacing-xs2);transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}calendar-date::part(button):focus-visible,calendar-multi::part(button):focus-visible,calendar-range::part(button):focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}calendar-date::part(button):hover,calendar-multi::part(button):hover,calendar-range::part(button):hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}calendar-date::part(container),calendar-multi::part(container),calendar-range::part(container){background-color:var(--bq-date-picker--background-color);padding-block:0;padding-inline:0}calendar-month{--color-accent:var(--bq-ui--brand)}calendar-month::part(button){align-items:center;background-color:transparent;border-radius:var(--bq-radius--s);color:var(--bq-text--primary);display:flex;font-family:var(--bq-font-family);height:var(--bq-date-picker--day-size);justify-content:center;padding-block:0;padding-inline:0;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-date-picker--day-size)}calendar-month::part(button):focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}calendar-month::part(button):hover:enabled{background-color:color-mix(in srgb,var(--bq-background--secondary),var(--bq-hover) 20%)}calendar-month::part(button):disabled{cursor:not-allowed}calendar-month::part(button day disallowed){background-color:transparent!important;cursor:not-allowed!important}calendar-month::part(button day selected){background-color:var(--bq-date-picker--range-background-color);border-radius:var(--bq-radius--s);color:var(--bq-text--alt)}calendar-month::part(button day selected):hover:enabled{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}calendar-month::part(button day selected range-inner){background-color:var(--bq-date-picker--range-inner-background-color);border-radius:var(--bq-radius--none);color:var(--bq-text--primary)}calendar-month::part(button day selected range-inner):hover{color:var(--bq-text--alt)}calendar-month::part(button day outside){color:var(--bq-text--secondary);cursor:pointer;opacity:1}calendar-month::part(today){border-color:var(--bq-date-picker--currentDate-border-color);border-radius:var(--bq-radius--s);border-style:var(--bq-date-picker--border-style);border-width:var(--bq-date-picker--currentDate-border-width)}calendar-month::part(today selected){color:var(--bq-text--alt)}calendar-month::part(today selected range-inner){color:var(--bq-text--primary)}calendar-month::part(today range-inner){border-radius:var(--bq-radius--none)}calendar-month::part(today range-start){border-end-start-radius:var(--bq-radius--none);border-radius:var(--bq-radius--s)}calendar-month::part(today range-end){border-end-end-radius:var(--bq-radius--none);border-radius:var(--bq-radius--s)}calendar-month::part(range-start){border-end-end-radius:var(--bq-radius--none);border-start-end-radius:var(--bq-radius--none)}calendar-month::part(range-end){border-end-start-radius:var(--bq-radius--none);border-start-start-radius:var(--bq-radius--none)}calendar-month::part(range-start range-end){border-radius:var(--bq-radius--s)}calendar-month::part(table){--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);font-size:inherit}.focus-visible\\:focus:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.placeholder\\:text-\\[color\\:--bq-date-picker--text-placeholder-color\\]::placeholder{color:var(--bq-date-picker--text-placeholder-color)}.hover\\:text-alt:hover{color:var(--bq-text--alt)}.hover\\:bg-hover-ui-primary:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.enabled\\:hover\\:bg-hover-secondary:hover:enabled{background-color:color-mix(in srgb,var(--bq-background--secondary),var(--bq-hover) 20%)}.enabled\\:hover\\:bg-hover-ui-brand:hover:enabled{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.\\!hidden{display:none!important}.hidden{display:none}.flex-wrap{flex-wrap:wrap}.gap-\\[--bq-spacing-m\\]{gap:var(--bq-spacing-m)}@media (min-width:640px){.sm\\:block{display:block}}.\\[\\&\\:\\:part\\(button\\)\\]\\:border-none::part(button){border-style:none}.\\[\\&\\:\\:part\\(button\\)\\]\\:p-0::part(button){padding:0}.\\[\\&\\:\\:part\\(panel\\)\\]\\:p-m::part(panel){padding:var(--bq-spacing-m)}.\\[\\&\\:\\:part\\(panel\\)\\]\\:is-auto::part(panel){inline-size:auto}.text-\\[--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}.relative{position:relative}`;const H=r(class r extends e{constructor(r){super();if(r!==false){this.__registerHost()}this.__attachShadow();this.bqBlur=a(this,"bqBlur");this.bqChange=a(this,"bqChange");this.bqClear=a(this,"bqClear");this.bqFocus=a(this,"bqFocus");this.internals=this.attachInternals()}callyElem;inputElem;isInternalUpdate=false;labelElem;prefixElem;suffixElem;internals;get el(){return this}isCallyLoaded=false;focusedDate;displayDate;hasLabel=false;hasPrefix=false;hasRangeEnd=false;hasSuffix=false;hasValue=false;autofocus;clearButtonLabel="Clear value";disableClear=false;disabled=false;distance=8;firstDayOfWeek=1;formatOptions={day:"numeric",month:"short",year:"numeric"};form;formValidationMessage;isDateDisallowed;locale="en-GB";max;min;months;monthsPerView="single";name;open=false;panelHeight="auto";placeholder;placement="bottom-end";required;skidding=0;showOutsideDays=false;strategy="fixed";tentative;type="single";validationStatus="none";value;handleValueChange(r,e){if(r===e)return;const{formatOptions:a,internals:t,isCallyLoaded:n,locale:i,type:o}=this;if(!n)return;t.setFormValue(!b(r)?`${r}`:undefined);this.updateFormValidity();this.hasValue=d(r);this.displayDate=h(r,o,i,a);this.setFocusedDate()}checkPropValues(){l(V,"single",this.el,"type")}bqBlur;bqChange;bqClear;bqFocus;async componentWillLoad(){if(!i()||this.isCallyLoaded)return;try{await W();this.isCallyLoaded=T()}catch(r){console.error(r)}}componentDidLoad(){this.handleSlotChange();this.handleValueChange(this.value,undefined)}componentDidRender(){if(this.isInternalUpdate){this.isInternalUpdate=false}}formAssociatedCallback(){this.updateFormValidity()}formResetCallback(){if(b(this.value))return;this.clear()}handleOpenChange(r){if(!o(r,this.el))return;const{open:e}=r.detail;if(this.open===e)return;this.open=e}handleClickOutside(r){const{open:e,type:a,hasRangeEnd:t}=this;if(!e||a!=="range"||r.button!==0)return;if(o(r,this.el)||t)return;this.tentative=undefined;this.hasRangeEnd=false}async clear(){if(this.disabled)return;this.value=undefined;this.internals.setFormValue(undefined);this.bqClear.emit(this.el)}handleBlur=()=>{if(this.disabled)return;this.bqBlur.emit(this.el)};handleFocus=()=>{if(this.disabled)return;this.bqFocus.emit(this.el)};setFocusedDate=()=>{const{callyElem:r,isCallyLoaded:e,value:a}=this;if(!r||!e)return;const t=a?m(a):j();if(this.focusedDate===t)return;this.focusedDate=t;if(r.focusedDate!==this.focusedDate){r.focusedDate=this.focusedDate}};handleChange=r=>{if(this.disabled||!s(r.target,"input"))return;const e=r.target.value.trim();if(!e){this.clearValue();this.bqChange.emit({value:this.value,el:this.el});return}const a=E(e,this.locale);if(!a){this.internals.setFormValue(undefined);this.updateFormValidity();this.bqChange.emit({value:e,el:this.el});return}if(this.isDateDisallowed?.(a)){this.internals.setFormValue(undefined);this.updateFormValidity();this.bqChange.emit({value:e,el:this.el});return}let t=$(a);t=k(t,this.min,this.max);this.value=t;this.displayDate=h(t,this.type,this.locale,this.formatOptions);this.internals.setFormValue(t);this.updateFormValidity();this.bqChange.emit({value:this.value,el:this.el})};handleCalendarChange=r=>{if(this.isInternalUpdate)return;const e=this.type==="multi";const a=r.target.value;if(this.value===a){this.open=e;return}this.isInternalUpdate=true;this.value=a;this.displayDate=h(a,this.type,this.locale,this.formatOptions);this.inputElem.value=this.displayDate;this.inputElem.focus();this.internals.setFormValue(a);this.bqChange.emit({value:this.value,el:this.el});this.open=e};handleCalendarRangeStart=r=>{this.hasRangeEnd=false;this.tentative=r.detail};handleCalendarRangeEnd=()=>{this.hasRangeEnd=true};handleClearClick=r=>{if(this.disabled)return;this.inputElem.value="";this.clearValue();this.hasRangeEnd=false;this.bqClear.emit(this.el);this.bqChange.emit({value:this.value,el:this.el});this.inputElem.focus();r.stopPropagation()};clearValue=()=>{this.value=undefined;this.displayDate=undefined;this.internals.setFormValue(undefined)};handleSlotChange=()=>{this.hasLabel=c(this.labelElem);this.hasPrefix=c(this.prefixElem);this.hasSuffix=c(this.suffixElem)};generateCalendarMonth=(r,e="")=>{if(!this.isCallyLoaded)return null;return t("calendar-month",{class:e,exportparts:L,offset:r})};generateCalendarMonths=()=>{if(!this.isCallyLoaded)return[];if(this.type==="range"||this.type==="multi"&&this.months){return Array.from({length:this.months},((r,e)=>{const a=e>0?e:undefined;const t=a?"hidden sm:block":"";return this.generateCalendarMonth(a,t)}))}return[this.generateCalendarMonth()]};updateFormValidity=()=>{const{formValidationMessage:r,internals:e,required:a,value:t,inputElem:n}=this;P({internals:e,required:a,value:t,inputElem:n,validationMessage:r,defaultMessage:"Please, input or select a valid date"})};get calendarType(){return F[this.type]??F.single}render(){const r=this.calendarType;const e=`bq-date-picker__label-${this.name||B}`;return t("div",{key:"d3bc7266653e663ceb7d09a7823bc3988ab94a39",class:"bq-date-picker",part:"base"},t("label",{key:"b36af597441d055958e36c0e3804cd7bcf25e820","aria-labelledby":e,class:{"bq-date-picker__label":true,"!hidden":!this.hasLabel},htmlFor:this.name||B,part:"label",ref:r=>{this.labelElem=r}},t("slot",{key:"6a56eb52cf58f8aba43750a154cf8ed81f864960",id:e,name:"label",onSlotchange:this.handleSlotChange})),t("bq-dropdown",{key:"1b2acccef5b1e12d3d3b4a239df4eda1f0df2e1f",class:"bq-date-picker__dropdown is-full [&::part(panel)]:is-auto [&::part(panel)]:p-m",disabled:this.disabled,distance:this.distance,exportparts:"panel",open:this.open,panelHeight:this.panelHeight,placement:this.placement,skidding:this.skidding,strategy:this.strategy},t("div",{key:"cbe0e797f421654c647ccf9539d515f1d9d6b515",class:{"bq-date-picker__control":true,[`validation-${this.validationStatus}`]:true,disabled:this.disabled},part:"control",slot:"trigger"},t("span",{key:"8b9a4d62b9682a0b99d41aac5d6a0ef6e919e622",class:{"bq-date-picker__control--prefix":true,"!hidden":!this.hasPrefix},part:"prefix",ref:r=>{this.prefixElem=r}},t("slot",{key:"2cb3a8524d866c584a3cf5141acdb1ad92224e86",name:"prefix",onSlotchange:this.handleSlotChange})),t("input",{key:"a2a3dc60a66e9bb5fea79d58ed5b92583f735f91","aria-controls":`${this.name}`,"aria-describedby":this.hasLabel?e:null,"aria-disabled":this.disabled?"true":"false","aria-invalid":this.validationStatus==="error"?"true":"false","aria-haspopup":"dialog",autoCapitalize:"off",autoComplete:"off",class:"bq-date-picker__control--input",disabled:this.disabled,form:this.form,id:this.name||B,name:this.name,onBlur:this.handleBlur,onChange:this.handleChange,onFocus:this.handleFocus,part:"input",placeholder:this.placeholder,readonly:this.type!=="single",ref:r=>{this.inputElem=r},required:this.required,spellcheck:false,type:"text",value:this.displayDate}),this.hasValue&&!this.disabled&&!this.disableClear&&t("bq-button",{key:"d88805afb10746d198428dc0a6da5d550092bdff",appearance:"text",border:"s",class:"bq-date-picker__control--clear ms-[--bq-date-picker--gap] hidden [&::part(button)]:border-none [&::part(button)]:p-0",exportparts:"button",label:this.clearButtonLabel,onBqClick:this.handleClearClick,onlyIcon:true,part:"clear-btn",size:"small"},t("slot",{key:"9e0440b32ae931bbaf731645dff13fa9522f9fa8",name:"clear-icon"},t("bq-icon",{key:"48602de99d51ada0a61ee141276a54054e08264c","aria-hidden":"true",class:"flex",name:"x-circle"}))),t("span",{key:"f1d346f483c58d0dbd64cf83baf0ef9f018eb94e",class:"bq-date-picker__control--suffix",part:"suffix",ref:r=>{this.suffixElem=r}},t("slot",{key:"5501e90797705d98883a0a9ec178ae21922407dd",name:"suffix",onSlotchange:this.handleSlotChange},t("bq-icon",{key:"0a7e047ade9014cb9997a0ffcf47098bbe6160eb",class:"flex",name:"calendar-blank"})))),this.isCallyLoaded&&t(r,{key:"cdbb9f9cb40d03b40f743d1086f9cc3c0055c233","aria-labelledby":e,"aria-modal":"true",exportparts:Y,firstDayOfWeek:this.firstDayOfWeek,isDateDisallowed:this.isDateDisallowed,locale:this.locale,max:this.max,min:this.min,months:this.months,onChange:this.handleCalendarChange,onRangeend:this.handleCalendarRangeEnd,onRangestart:this.handleCalendarRangeStart,pageBy:this.monthsPerView,ref:r=>{this.callyElem=r},role:"dialog",showOutsideDays:this.showOutsideDays,tentative:this.tentative,value:this.value},t("bq-icon",{key:"4c10bc74c6e248f07b66fc4af28917a9b83bcc48",color:"text--primary",label:"Previous",name:"caret-left",slot:"previous"}),t("bq-icon",{key:"4f1875fa4e48db09e83ae5aa5c4c7ab0591cb2d4",color:"text--primary",label:"Next",name:"caret-right",slot:"next"}),t("div",{key:"92d856991700e38e8fbf383eae2b8d2c85d0faed",class:"flex flex-wrap justify-center gap-[--bq-spacing-m]"},this.generateCalendarMonths()))))}static get delegatesFocus(){return true}static get formAssociated(){return true}static get watchers(){return{value:[{handleValueChange:0}],type:[{checkPropValues:0}]}}static get style(){return X()}},[849,"bq-date-picker",{autofocus:[516],clearButtonLabel:[513,"clear-button-label"],disableClear:[516,"disable-clear"],disabled:[1028],distance:[514],firstDayOfWeek:[514,"first-day-of-week"],formatOptions:[16],form:[513],formValidationMessage:[1025,"form-validation-message"],isDateDisallowed:[16],locale:[513],max:[513],min:[513],months:[514],monthsPerView:[513,"months-per-view"],name:[513],open:[1540],panelHeight:[1537,"panel-height"],placeholder:[513],placement:[513],required:[516],skidding:[514],showOutsideDays:[516,"show-outside-days"],strategy:[513],tentative:[1537],type:[513],validationStatus:[513,"validation-status"],value:[1537],isCallyLoaded:[32],focusedDate:[32],displayDate:[32],hasLabel:[32],hasPrefix:[32],hasRangeEnd:[32],hasSuffix:[32],hasValue:[32],clear:[64]},[[2,"bqOpen","handleOpenChange"],[18,"click","handleClickOutside"]],{value:[{handleValueChange:0}],type:[{checkPropValues:0}]}]);function J(){if(typeof customElements==="undefined"){return}const r=["bq-date-picker","bq-button","bq-dropdown","bq-icon","bq-panel"];r.forEach((r=>{switch(r){case"bq-date-picker":if(!customElements.get(n(r))){customElements.define(n(r),H)}break;case"bq-button":if(!customElements.get(n(r))){q()}break;case"bq-dropdown":if(!customElements.get(n(r))){u()}break;case"bq-icon":if(!customElements.get(n(r))){v()}break;case"bq-panel":if(!customElements.get(n(r))){g()}break}}))}const K=H;const Z=J;export{K as BqDatePicker,y as I,k as c,Z as defineCustomElement,m as e,h as f,j as g,O as i,E as p,$ as t,P as u};
|
|
1118
6
|
//# sourceMappingURL=bq-date-picker.js.map
|