@beeq/core 1.12.14-beta.0 → 1.13.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 -1
- package/dist/beeq/beeq.esm.js.map +1 -1
- package/dist/beeq/index.esm.js +1 -1
- package/dist/beeq/{p-9d1503bd.entry.js → p-0d078519.entry.js} +2 -2
- package/dist/beeq/{p-9d1503bd.entry.js.map → p-0d078519.entry.js.map} +1 -1
- package/dist/beeq/{p-7f9d895b.entry.js → p-1a2c4878.entry.js} +2 -2
- package/dist/beeq/{p-7f9d895b.entry.js.map → p-1a2c4878.entry.js.map} +1 -1
- package/dist/beeq/p-21db4f39.entry.js +6 -0
- package/dist/beeq/p-21db4f39.entry.js.map +1 -0
- package/dist/beeq/{p-f47905ae.entry.js → p-24bb2588.entry.js} +2 -2
- package/dist/beeq/{p-f47905ae.entry.js.map → p-24bb2588.entry.js.map} +1 -1
- package/dist/beeq/{p-41910dc5.entry.js → p-2a081a54.entry.js} +2 -2
- package/dist/beeq/{p-41910dc5.entry.js.map → p-2a081a54.entry.js.map} +1 -1
- package/dist/beeq/{p-515a1162.entry.js → p-2e1fffcd.entry.js} +2 -2
- package/dist/beeq/{p-515a1162.entry.js.map → p-2e1fffcd.entry.js.map} +1 -1
- package/dist/beeq/p-2fd6ea70.entry.js +6 -0
- package/dist/beeq/{p-2283258e.entry.js.map → p-2fd6ea70.entry.js.map} +1 -1
- package/dist/beeq/{p-7d356cce.entry.js → p-30d1bd84.entry.js} +2 -2
- package/dist/beeq/p-30d1bd84.entry.js.map +1 -0
- package/dist/beeq/{p-882966dd.entry.js → p-38006c8e.entry.js} +2 -2
- package/dist/beeq/p-3d754d97.entry.js +6 -0
- package/dist/beeq/p-3d754d97.entry.js.map +1 -0
- package/dist/beeq/{p-e9535627.entry.js → p-45ae19aa.entry.js} +2 -2
- package/dist/beeq/p-45ae19aa.entry.js.map +1 -0
- package/dist/beeq/{p-54bfb042.entry.js → p-56b49d4e.entry.js} +2 -2
- package/dist/beeq/{p-54bfb042.entry.js.map → p-56b49d4e.entry.js.map} +1 -1
- package/dist/beeq/{p-0d8618d2.entry.js → p-58813f83.entry.js} +2 -2
- package/dist/beeq/{p-0d8618d2.entry.js.map → p-58813f83.entry.js.map} +1 -1
- package/dist/beeq/{p-050c757b.entry.js → p-5eba392c.entry.js} +2 -2
- package/dist/beeq/{p-050c757b.entry.js.map → p-5eba392c.entry.js.map} +1 -1
- package/dist/beeq/{p-debcabde.entry.js → p-6a38fcaf.entry.js} +2 -2
- package/dist/beeq/{p-debcabde.entry.js.map → p-6a38fcaf.entry.js.map} +1 -1
- package/dist/beeq/{p-8dfd0329.entry.js → p-6b0f896f.entry.js} +2 -2
- package/dist/beeq/{p-a0ef4135.entry.js → p-6be3f23a.entry.js} +2 -2
- package/dist/beeq/{p-a0ef4135.entry.js.map → p-6be3f23a.entry.js.map} +1 -1
- package/dist/beeq/{p-ea473f56.entry.js → p-72ff2fe2.entry.js} +2 -2
- package/dist/beeq/{p-7527b08d.entry.js → p-79fd999a.entry.js} +2 -2
- package/dist/beeq/{p-7527b08d.entry.js.map → p-79fd999a.entry.js.map} +1 -1
- package/dist/beeq/{p-0323869d.entry.js → p-7ebe6b9d.entry.js} +2 -2
- package/dist/beeq/p-7ebe6b9d.entry.js.map +1 -0
- package/dist/beeq/{p-250ee94e.entry.js → p-817f7a5e.entry.js} +2 -2
- package/dist/beeq/{p-250ee94e.entry.js.map → p-817f7a5e.entry.js.map} +1 -1
- package/dist/beeq/{p-ad419446.entry.js → p-8bd7f4c2.entry.js} +2 -2
- package/dist/beeq/{p-e63d6c4f.entry.js → p-8be7ceb5.entry.js} +2 -2
- package/dist/beeq/{p-e63d6c4f.entry.js.map → p-8be7ceb5.entry.js.map} +1 -1
- package/dist/beeq/{p-42e388d0.entry.js → p-9413a4d3.entry.js} +2 -2
- package/dist/beeq/{p-42e388d0.entry.js.map → p-9413a4d3.entry.js.map} +1 -1
- package/dist/beeq/{p-c25c20bf.entry.js → p-96f72671.entry.js} +2 -2
- package/dist/beeq/p-96f72671.entry.js.map +1 -0
- package/dist/beeq/{p-CO2T68hs.js → p-BSSRzVAz.js} +2 -2
- package/dist/beeq/p-BSSRzVAz.js.map +1 -0
- package/dist/beeq/p-DbxZ8FhA.js +6 -0
- package/dist/beeq/p-DbxZ8FhA.js.map +1 -0
- package/dist/beeq/p-DdvbF5yL.js.map +1 -1
- package/dist/beeq/p-Dx-CEPSQ.js.map +1 -1
- package/dist/beeq/p-a0a8ea5b.entry.js +6 -0
- package/dist/beeq/p-a0a8ea5b.entry.js.map +1 -0
- package/dist/beeq/{p-2e9bc398.entry.js → p-a55354ee.entry.js} +2 -2
- package/dist/beeq/{p-2e9bc398.entry.js.map → p-a55354ee.entry.js.map} +1 -1
- package/dist/beeq/{p-7adb6e2e.entry.js → p-a72671f9.entry.js} +2 -2
- package/dist/beeq/p-a72671f9.entry.js.map +1 -0
- package/dist/beeq/{p-40bb4e2c.entry.js → p-bb99b400.entry.js} +2 -2
- package/dist/beeq/{p-40bb4e2c.entry.js.map → p-bb99b400.entry.js.map} +1 -1
- package/dist/beeq/p-bdb983f9.entry.js +6 -0
- package/dist/beeq/{p-bb46524f.entry.js.map → p-bdb983f9.entry.js.map} +1 -1
- package/dist/beeq/{p-cfe07fad.entry.js → p-cf2e4d57.entry.js} +2 -2
- package/dist/beeq/{p-cfe07fad.entry.js.map → p-cf2e4d57.entry.js.map} +1 -1
- package/dist/beeq/{p-6cd90918.entry.js → p-d6c35472.entry.js} +2 -2
- package/dist/beeq/{p-6cd90918.entry.js.map → p-d6c35472.entry.js.map} +1 -1
- package/dist/beeq/p-d792e3d3.entry.js +6 -0
- package/dist/beeq/{p-edc81a31.entry.js.map → p-d792e3d3.entry.js.map} +1 -1
- package/dist/beeq/{p-bae91da4.entry.js → p-e91ee0da.entry.js} +2 -2
- package/dist/beeq/{p-bae91da4.entry.js.map → p-e91ee0da.entry.js.map} +1 -1
- package/dist/beeq/{p-1fb43de2.entry.js → p-e9a1b183.entry.js} +2 -2
- package/dist/beeq/{p-580f0a77.entry.js → p-f3184477.entry.js} +2 -2
- package/dist/beeq/{p-580f0a77.entry.js.map → p-f3184477.entry.js.map} +1 -1
- package/dist/beeq/p-f688d230.entry.js +6 -0
- package/dist/beeq/{p-1e675bdc.entry.js.map → p-f688d230.entry.js.map} +1 -1
- package/dist/beeq/{p-3c77308c.entry.js → p-f891fb4b.entry.js} +2 -2
- package/dist/beeq/{p-40163197.entry.js → p-fa123a10.entry.js} +2 -2
- package/dist/beeq/{p-40163197.entry.js.map → p-fa123a10.entry.js.map} +1 -1
- package/dist/beeq/p-kY6d9Evy.js +6 -0
- package/dist/beeq/p-kY6d9Evy.js.map +1 -0
- package/dist/beeq/p-uqkxeAeG.js.map +1 -1
- package/dist/beeq/svg/.icons-meta.json +13 -0
- package/dist/beeq.html-custom-data.json +2214 -106
- package/dist/cjs/beeq.cjs.js +3 -3
- package/dist/cjs/beeq.cjs.js.map +1 -1
- package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -2
- package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-accordion.cjs.entry.js +3 -3
- package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-alert.cjs.entry.js +3 -3
- package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-avatar.cjs.entry.js +3 -3
- package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-badge.cjs.entry.js +3 -3
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +3 -3
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-button_2.cjs.entry.js +6 -6
- package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-card.cjs.entry.js +3 -3
- package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-checkbox.cjs.entry.js +35 -22
- package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-date-picker.cjs.entry.js +1743 -366
- package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dialog.cjs.entry.js +7 -7
- package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-divider.cjs.entry.js +7 -7
- package/dist/cjs/bq-drawer.cjs.entry.js +7 -7
- package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +6 -6
- package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-empty-state.cjs.entry.js +8 -8
- package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-input.cjs.entry.js +17 -10
- package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-notification.cjs.entry.js +8 -8
- package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option-group.cjs.entry.js +3 -3
- package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option-list_2.cjs.entry.js +10 -10
- package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option.cjs.entry.js +5 -5
- package/dist/cjs/bq-page-title.cjs.entry.js +6 -6
- package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-progress.cjs.entry.js +7 -7
- package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio-group.cjs.entry.js +8 -12
- package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio.cjs.entry.js +5 -5
- package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-select.cjs.entry.js +39 -10
- package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu.cjs.entry.js +3 -3
- package/dist/cjs/bq-slider.cjs.entry.js +4 -4
- package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-spinner.cjs.entry.js +8 -8
- package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-status.cjs.entry.js +4 -4
- package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-step-item.cjs.entry.js +7 -7
- package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-steps.cjs.entry.js +4 -4
- package/dist/cjs/bq-switch.cjs.entry.js +9 -20
- package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tab-group.cjs.entry.js +5 -5
- package/dist/cjs/bq-tab.cjs.entry.js +6 -6
- package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-textarea.cjs.entry.js +17 -15
- package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-toast.cjs.entry.js +5 -7
- package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +6 -6
- package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{cssVariables-exM7Oz37.js → cssVariables-DuVz7KcV.js} +3 -3
- package/dist/cjs/cssVariables-DuVz7KcV.js.map +1 -0
- package/dist/cjs/event-BhuEFC-I.js.map +1 -1
- package/dist/cjs/{index-BSrsKFVG.js → index-J9jJ-fFQ.js} +47 -12
- package/dist/cjs/index-J9jJ-fFQ.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{props-DzFXZXSF.js → props-BXpv3G-e.js} +6 -5
- package/dist/cjs/props-BXpv3G-e.js.map +1 -0
- package/dist/cjs/slot-DKWrtk4b.js.map +1 -1
- package/dist/cjs/transition-C0S-pYqN.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
- package/dist/collection/components/alert/scss/bq-alert.css +1 -1
- package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
- package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +1 -1
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
- package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
- package/dist/collection/components/button/scss/bq-button.css +1 -1
- package/dist/collection/components/card/scss/bq-card.css +1 -1
- package/dist/collection/components/checkbox/bq-checkbox.js +35 -21
- package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
- package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
- package/dist/collection/components/date-picker/bq-date-picker.js +1141 -457
- package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/bq-date-picker.types.js +29 -0
- package/dist/collection/components/date-picker/bq-date-picker.types.js.map +1 -1
- package/dist/collection/components/date-picker/components/CalendarDayView.js +96 -0
- package/dist/collection/components/date-picker/components/CalendarDayView.js.map +1 -0
- package/dist/collection/components/date-picker/components/CalendarHeader.js +18 -0
- package/dist/collection/components/date-picker/components/CalendarHeader.js.map +1 -0
- package/dist/collection/components/date-picker/components/CalendarMonthView.js +70 -0
- package/dist/collection/components/date-picker/components/CalendarMonthView.js.map +1 -0
- package/dist/collection/components/date-picker/components/CalendarYearView.js +68 -0
- package/dist/collection/components/date-picker/components/CalendarYearView.js.map +1 -0
- package/dist/collection/components/date-picker/helper/bounds.js +114 -0
- package/dist/collection/components/date-picker/helper/bounds.js.map +1 -0
- package/dist/collection/components/date-picker/helper/calendar.js +156 -0
- package/dist/collection/components/date-picker/helper/calendar.js.map +1 -0
- package/dist/collection/components/date-picker/helper/constants.js +62 -16
- package/dist/collection/components/date-picker/helper/constants.js.map +1 -1
- package/dist/collection/components/date-picker/helper/input.js +37 -0
- package/dist/collection/components/date-picker/helper/input.js.map +1 -0
- package/dist/collection/components/date-picker/helper/intl.js +78 -0
- package/dist/collection/components/date-picker/helper/intl.js.map +1 -0
- package/dist/collection/components/date-picker/helper/labels.js +61 -0
- package/dist/collection/components/date-picker/helper/labels.js.map +1 -0
- package/dist/collection/components/date-picker/helper/navigation.js +45 -0
- package/dist/collection/components/date-picker/helper/navigation.js.map +1 -0
- package/dist/collection/components/date-picker/helper/selection.js +167 -0
- package/dist/collection/components/date-picker/helper/selection.js.map +1 -0
- package/dist/collection/components/date-picker/helper/value.js +49 -0
- package/dist/collection/components/date-picker/helper/value.js.map +1 -0
- package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
- package/dist/collection/components/dialog/bq-dialog.js +4 -4
- package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
- package/dist/collection/components/divider/bq-divider.js +4 -4
- package/dist/collection/components/drawer/bq-drawer.js +4 -4
- package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
- package/dist/collection/components/dropdown/bq-dropdown.js +1 -1
- package/dist/collection/components/dropdown/scss/bq-dropdown.css +1 -1
- package/dist/collection/components/empty-state/bq-empty-state.js +5 -5
- package/dist/collection/components/empty-state/scss/bq-empty-state.css +1 -1
- package/dist/collection/components/icon/bq-icon.js +1 -1
- package/dist/collection/components/icon/helper/request.js +1 -1
- package/dist/collection/components/icon/helper/request.js.map +1 -1
- package/dist/collection/components/icon/svg/.icons-meta.json +13 -0
- package/dist/collection/components/input/bq-input.js +15 -8
- package/dist/collection/components/input/bq-input.js.map +1 -1
- package/dist/collection/components/input/scss/bq-input.css +1 -1
- package/dist/collection/components/notification/bq-notification.js +5 -5
- package/dist/collection/components/notification/bq-notification.js.map +1 -1
- package/dist/collection/components/notification/scss/bq-notification.css +1 -1
- package/dist/collection/components/option/bq-option.js +4 -4
- package/dist/collection/components/option-group/bq-option-group.js +1 -1
- package/dist/collection/components/option-group/scss/bq-option-group.css +1 -1
- package/dist/collection/components/option-list/bq-option-list.js +1 -1
- package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
- package/dist/collection/components/page-title/bq-page-title.js +4 -4
- package/dist/collection/components/page-title/scss/bq-page-title.css +1 -1
- package/dist/collection/components/panel/bq-panel.js +2 -2
- package/dist/collection/components/panel/scss/bq-panel.css +1 -1
- package/dist/collection/components/progress/bq-progress.js +4 -4
- package/dist/collection/components/progress/scss/bq-progress.css +1 -1
- package/dist/collection/components/radio/bq-radio.js +5 -4
- package/dist/collection/components/radio/bq-radio.js.map +1 -1
- package/dist/collection/components/radio/scss/bq-radio.css +1 -1
- package/dist/collection/components/radio-group/bq-radio-group.js +6 -10
- package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
- package/dist/collection/components/select/bq-select.js +59 -10
- 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 +2 -2
- package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
- package/dist/collection/components/slider/bq-slider.js +2 -2
- package/dist/collection/components/spinner/bq-spinner.js +4 -4
- package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
- package/dist/collection/components/status/bq-status.js +1 -1
- package/dist/collection/components/status/scss/bq-status.css +1 -1
- package/dist/collection/components/step-item/bq-step-item.js +4 -4
- package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
- package/dist/collection/components/steps/bq-steps.js +2 -2
- package/dist/collection/components/switch/bq-switch.js +9 -18
- package/dist/collection/components/switch/bq-switch.js.map +1 -1
- package/dist/collection/components/switch/scss/bq-switch.css +1 -1
- package/dist/collection/components/tab/bq-tab.js +3 -3
- package/dist/collection/components/tab/scss/bq-tab.css +1 -1
- package/dist/collection/components/tab-group/bq-tab-group.js +3 -3
- package/dist/collection/components/tag/bq-tag.js +4 -4
- package/dist/collection/components/tag/scss/bq-tag.css +1 -1
- package/dist/collection/components/textarea/bq-textarea.js +15 -13
- package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
- package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
- package/dist/collection/components/toast/bq-toast.js +2 -4
- package/dist/collection/components/toast/bq-toast.js.map +1 -1
- package/dist/collection/components/toast/scss/bq-toast.css +1 -1
- package/dist/collection/components/tooltip/bq-tooltip.js +4 -4
- package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
- package/dist/collection/shared/test-utils/computedStyle.js +24 -24
- package/dist/collection/shared/test-utils/computedStyle.js.map +1 -1
- package/dist/collection/shared/test-utils/sleep.js +5 -1
- package/dist/collection/shared/test-utils/sleep.js.map +1 -1
- package/dist/collection/shared/utils/cssVariables.js +1 -1
- package/dist/collection/shared/utils/cssVariables.js.map +1 -1
- package/dist/collection/shared/utils/event.js.map +1 -1
- package/dist/collection/shared/utils/props.js +4 -3
- package/dist/collection/shared/utils/props.js.map +1 -1
- package/dist/collection/shared/utils/slot.js.map +1 -1
- package/dist/collection/shared/utils/transition.js.map +1 -1
- package/dist/components/bq-accordion-group.js +1 -1
- package/dist/components/bq-accordion.js +1 -1
- package/dist/components/bq-alert.js +1 -1
- package/dist/components/bq-avatar.js +1 -1
- package/dist/components/bq-badge.js +1 -1
- package/dist/components/bq-breadcrumb-item.js +1 -1
- package/dist/components/bq-breadcrumb-item.js.map +1 -1
- package/dist/components/bq-breadcrumb.js +1 -1
- package/dist/components/bq-button.js +1 -1
- package/dist/components/bq-card.js +1 -1
- package/dist/components/bq-checkbox.js +1 -1
- package/dist/components/bq-checkbox.js.map +1 -1
- package/dist/components/bq-date-picker.js +1 -1
- package/dist/components/bq-date-picker.js.map +1 -1
- package/dist/components/bq-dialog.js +1 -1
- package/dist/components/bq-dialog.js.map +1 -1
- package/dist/components/bq-divider.js +1 -1
- package/dist/components/bq-drawer.js +1 -1
- package/dist/components/bq-drawer.js.map +1 -1
- package/dist/components/bq-dropdown.js +1 -1
- package/dist/components/bq-empty-state.js +1 -1
- package/dist/components/bq-icon.js +1 -1
- package/dist/components/bq-input.js +1 -1
- package/dist/components/bq-input.js.map +1 -1
- package/dist/components/bq-notification.js +1 -1
- package/dist/components/bq-notification.js.map +1 -1
- package/dist/components/bq-option-group.js +1 -1
- package/dist/components/bq-option-group.js.map +1 -1
- package/dist/components/bq-option-list.js +1 -1
- package/dist/components/bq-option.js +1 -1
- package/dist/components/bq-page-title.js +1 -1
- package/dist/components/bq-page-title.js.map +1 -1
- package/dist/components/bq-panel.js +1 -1
- package/dist/components/bq-progress.js +1 -1
- package/dist/components/bq-radio-group.js +1 -1
- package/dist/components/bq-radio-group.js.map +1 -1
- package/dist/components/bq-radio.js +1 -1
- package/dist/components/bq-radio.js.map +1 -1
- package/dist/components/bq-select.js +1 -1
- package/dist/components/bq-select.js.map +1 -1
- package/dist/components/bq-side-menu-item.js +1 -1
- package/dist/components/bq-side-menu.js +1 -1
- package/dist/components/bq-slider.js +1 -1
- package/dist/components/bq-spinner.js +1 -1
- package/dist/components/bq-status.js +1 -1
- package/dist/components/bq-status.js.map +1 -1
- package/dist/components/bq-step-item.js +1 -1
- package/dist/components/bq-step-item.js.map +1 -1
- package/dist/components/bq-steps.js +1 -1
- package/dist/components/bq-switch.js +1 -1
- package/dist/components/bq-switch.js.map +1 -1
- package/dist/components/bq-tab-group.js +1 -1
- package/dist/components/bq-tab.js +1 -1
- package/dist/components/bq-tag.js +1 -1
- package/dist/components/bq-textarea.js +1 -1
- package/dist/components/bq-textarea.js.map +1 -1
- package/dist/components/bq-toast.js +1 -1
- package/dist/components/bq-toast.js.map +1 -1
- package/dist/components/bq-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-YjPwN7vu.js → p-2eUC8A3N.js} +2 -2
- package/dist/components/p-2eUC8A3N.js.map +1 -0
- package/dist/components/{p-D3RCJ1ti.js → p-BBCVL6R0.js} +2 -2
- package/dist/components/{p-BY4GkNoQ.js → p-BMHXMsVR.js} +2 -2
- package/dist/components/{p-4ksDMBf6.js → p-BS8hIETL.js} +2 -2
- package/dist/components/{p-DTsYGX5p.js → p-CWawcXxA.js} +2 -2
- package/dist/components/{p-DTsYGX5p.js.map → p-CWawcXxA.js.map} +1 -1
- package/dist/components/{p-fdkSHq2G.js → p-D6ngGq0Y.js} +2 -2
- package/dist/components/p-D6ngGq0Y.js.map +1 -0
- package/dist/components/{p-B99eLANt.js → p-DMKBBBUE.js} +2 -2
- package/dist/components/p-DbxZ8FhA.js +6 -0
- package/dist/components/p-DbxZ8FhA.js.map +1 -0
- package/dist/components/{p-CvvcRGDG.js → p-Dd3v3b2E.js} +2 -2
- package/dist/components/p-DdvbF5yL.js.map +1 -1
- package/dist/components/p-Dx-CEPSQ.js.map +1 -1
- package/dist/components/{p-Dj-mQvqv.js → p-iyX-PhkX.js} +2 -2
- package/dist/components/p-kY6d9Evy.js +6 -0
- package/dist/components/p-kY6d9Evy.js.map +1 -0
- package/dist/components/p-uqkxeAeG.js.map +1 -1
- package/dist/{beeq/p-edc81a31.entry.js → components/p-v3c5-Hhf.js} +2 -2
- package/dist/components/p-v3c5-Hhf.js.map +1 -0
- package/dist/custom-elements.json +25954 -1583
- package/dist/esm/beeq.js +4 -4
- package/dist/esm/beeq.js.map +1 -1
- package/dist/esm/bq-accordion-group.entry.js +2 -2
- package/dist/esm/bq-accordion-group.entry.js.map +1 -1
- package/dist/esm/bq-accordion.entry.js +3 -3
- package/dist/esm/bq-accordion.entry.js.map +1 -1
- package/dist/esm/bq-alert.entry.js +3 -3
- package/dist/esm/bq-alert.entry.js.map +1 -1
- package/dist/esm/bq-avatar.entry.js +3 -3
- package/dist/esm/bq-avatar.entry.js.map +1 -1
- package/dist/esm/bq-badge.entry.js +3 -3
- package/dist/esm/bq-breadcrumb-item.entry.js +3 -3
- package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb.entry.js +2 -2
- package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
- package/dist/esm/bq-button_2.entry.js +6 -6
- package/dist/esm/bq-button_2.entry.js.map +1 -1
- package/dist/esm/bq-card.entry.js +3 -3
- package/dist/esm/bq-card.entry.js.map +1 -1
- package/dist/esm/bq-checkbox.entry.js +35 -22
- package/dist/esm/bq-checkbox.entry.js.map +1 -1
- package/dist/esm/bq-date-picker.entry.js +1744 -367
- package/dist/esm/bq-date-picker.entry.js.map +1 -1
- package/dist/esm/bq-dialog.entry.js +7 -7
- package/dist/esm/bq-dialog.entry.js.map +1 -1
- package/dist/esm/bq-divider.entry.js +7 -7
- package/dist/esm/bq-drawer.entry.js +7 -7
- package/dist/esm/bq-drawer.entry.js.map +1 -1
- package/dist/esm/bq-dropdown_2.entry.js +6 -6
- package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
- package/dist/esm/bq-empty-state.entry.js +8 -8
- package/dist/esm/bq-empty-state.entry.js.map +1 -1
- package/dist/esm/bq-input.entry.js +17 -10
- package/dist/esm/bq-input.entry.js.map +1 -1
- package/dist/esm/bq-notification.entry.js +8 -8
- package/dist/esm/bq-notification.entry.js.map +1 -1
- package/dist/esm/bq-option-group.entry.js +3 -3
- package/dist/esm/bq-option-group.entry.js.map +1 -1
- package/dist/esm/bq-option-list_2.entry.js +10 -10
- package/dist/esm/bq-option-list_2.entry.js.map +1 -1
- package/dist/esm/bq-option.entry.js +5 -5
- package/dist/esm/bq-page-title.entry.js +6 -6
- package/dist/esm/bq-page-title.entry.js.map +1 -1
- package/dist/esm/bq-progress.entry.js +7 -7
- package/dist/esm/bq-progress.entry.js.map +1 -1
- package/dist/esm/bq-radio-group.entry.js +8 -12
- package/dist/esm/bq-radio-group.entry.js.map +1 -1
- package/dist/esm/bq-radio.entry.js +5 -5
- package/dist/esm/bq-radio.entry.js.map +1 -1
- package/dist/esm/bq-select.entry.js +39 -10
- package/dist/esm/bq-select.entry.js.map +1 -1
- package/dist/esm/bq-side-menu-item.entry.js +2 -2
- package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
- package/dist/esm/bq-side-menu.entry.js +3 -3
- package/dist/esm/bq-slider.entry.js +4 -4
- package/dist/esm/bq-slider.entry.js.map +1 -1
- package/dist/esm/bq-spinner.entry.js +8 -8
- package/dist/esm/bq-spinner.entry.js.map +1 -1
- package/dist/esm/bq-status.entry.js +4 -4
- package/dist/esm/bq-status.entry.js.map +1 -1
- package/dist/esm/bq-step-item.entry.js +7 -7
- package/dist/esm/bq-step-item.entry.js.map +1 -1
- package/dist/esm/bq-steps.entry.js +4 -4
- package/dist/esm/bq-switch.entry.js +9 -20
- package/dist/esm/bq-switch.entry.js.map +1 -1
- package/dist/esm/bq-tab-group.entry.js +5 -5
- package/dist/esm/bq-tab.entry.js +6 -6
- package/dist/esm/bq-tab.entry.js.map +1 -1
- package/dist/esm/bq-textarea.entry.js +17 -15
- package/dist/esm/bq-textarea.entry.js.map +1 -1
- package/dist/esm/bq-toast.entry.js +5 -7
- package/dist/esm/bq-toast.entry.js.map +1 -1
- package/dist/esm/bq-tooltip.entry.js +6 -6
- package/dist/esm/bq-tooltip.entry.js.map +1 -1
- package/dist/esm/{cssVariables-CyiWA5Ok.js → cssVariables-DhGXeOL_.js} +3 -3
- package/dist/esm/cssVariables-DhGXeOL_.js.map +1 -0
- package/dist/esm/event-Dx-CEPSQ.js.map +1 -1
- package/dist/esm/{index-CO2T68hs.js → index-BSSRzVAz.js} +47 -12
- package/dist/esm/index-BSSRzVAz.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{props-zh4P02Kn.js → props-DbxZ8FhA.js} +6 -5
- package/dist/esm/props-DbxZ8FhA.js.map +1 -0
- package/dist/esm/slot-uqkxeAeG.js.map +1 -1
- package/dist/esm/transition-DdvbF5yL.js.map +1 -1
- package/dist/hydrate/index.js +2142 -675
- package/dist/hydrate/index.mjs +2142 -675
- package/dist/stencil.config.js +7 -0
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/checkbox/bq-checkbox.d.ts +4 -3
- package/dist/types/components/date-picker/bq-date-picker.d.ts +330 -238
- package/dist/types/components/date-picker/bq-date-picker.types.d.ts +30 -39
- package/dist/types/components/date-picker/components/CalendarDayView.d.ts +42 -0
- package/dist/types/components/date-picker/components/CalendarHeader.d.ts +34 -0
- package/dist/types/components/date-picker/components/CalendarMonthView.d.ts +34 -0
- package/dist/types/components/date-picker/components/CalendarYearView.d.ts +32 -0
- package/dist/types/components/date-picker/helper/bounds.d.ts +49 -0
- package/dist/types/components/date-picker/helper/calendar.d.ts +78 -0
- package/dist/types/components/date-picker/helper/constants.d.ts +62 -16
- package/dist/types/components/date-picker/helper/input.d.ts +23 -0
- package/dist/types/components/date-picker/helper/intl.d.ts +38 -0
- package/dist/types/components/date-picker/helper/labels.d.ts +29 -0
- package/dist/types/components/date-picker/helper/navigation.d.ts +23 -0
- package/dist/types/components/date-picker/helper/selection.d.ts +44 -0
- package/dist/types/components/date-picker/helper/value.d.ts +31 -0
- package/dist/types/components/input/bq-input.d.ts +1 -0
- package/dist/types/components/radio/bq-radio.d.ts +2 -1
- package/dist/types/components/select/bq-select.d.ts +5 -0
- package/dist/types/components/switch/bq-switch.d.ts +2 -3
- package/dist/types/components.d.ts +450 -350
- package/dist/types/home/runner/work/BEEQ/BEEQ/.stencil/packages/beeq/vitest.config.d.ts +2 -0
- package/dist/types/shared/test-utils/computedStyle.d.ts +7 -6
- package/dist/types/shared/test-utils/setProperties.d.ts +1 -1
- package/dist/types/shared/test-utils/sleep.d.ts +5 -1
- package/dist/types/shared/utils/event.d.ts +1 -1
- package/dist/types/shared/utils/slot.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +1 -0
- package/dist/vitest.config.js +81 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +1 -1
- package/dist/beeq/p-0323869d.entry.js.map +0 -1
- package/dist/beeq/p-1e675bdc.entry.js +0 -6
- package/dist/beeq/p-2283258e.entry.js +0 -6
- package/dist/beeq/p-654c7701.entry.js +0 -6
- package/dist/beeq/p-654c7701.entry.js.map +0 -1
- package/dist/beeq/p-7a6a89f1.entry.js +0 -6
- package/dist/beeq/p-7a6a89f1.entry.js.map +0 -1
- package/dist/beeq/p-7adb6e2e.entry.js.map +0 -1
- package/dist/beeq/p-7d356cce.entry.js.map +0 -1
- package/dist/beeq/p-CO2T68hs.js.map +0 -1
- package/dist/beeq/p-_RvVpeh2.js +0 -6
- package/dist/beeq/p-_RvVpeh2.js.map +0 -1
- package/dist/beeq/p-a83ce5aa.entry.js +0 -6
- package/dist/beeq/p-a83ce5aa.entry.js.map +0 -1
- package/dist/beeq/p-bb46524f.entry.js +0 -6
- package/dist/beeq/p-c25c20bf.entry.js.map +0 -1
- package/dist/beeq/p-e9535627.entry.js.map +0 -1
- package/dist/beeq/p-zh4P02Kn.js +0 -6
- package/dist/beeq/p-zh4P02Kn.js.map +0 -1
- package/dist/cjs/cssVariables-exM7Oz37.js.map +0 -1
- package/dist/cjs/index-BSrsKFVG.js.map +0 -1
- package/dist/cjs/props-DzFXZXSF.js.map +0 -1
- package/dist/collection/components/date-picker/libs/callyLibrary.js +0 -92
- package/dist/collection/components/date-picker/libs/callyLibrary.js.map +0 -1
- package/dist/components/p-DnqmdkvK.js +0 -6
- package/dist/components/p-DnqmdkvK.js.map +0 -1
- package/dist/components/p-YjPwN7vu.js.map +0 -1
- package/dist/components/p-_RvVpeh2.js +0 -6
- package/dist/components/p-_RvVpeh2.js.map +0 -1
- package/dist/components/p-fdkSHq2G.js.map +0 -1
- package/dist/components/p-zh4P02Kn.js +0 -6
- package/dist/components/p-zh4P02Kn.js.map +0 -1
- package/dist/esm/cssVariables-CyiWA5Ok.js.map +0 -1
- package/dist/esm/index-CO2T68hs.js.map +0 -1
- package/dist/esm/props-zh4P02Kn.js.map +0 -1
- package/dist/jest.config.js +0 -23
- package/dist/jest.config.js.map +0 -1
- package/dist/types/Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System/.stencil/packages/beeq/jest.config.d.ts +0 -19
- package/dist/types/components/date-picker/libs/callyLibrary.d.ts +0 -15
- /package/dist/beeq/{p-882966dd.entry.js.map → p-38006c8e.entry.js.map} +0 -0
- /package/dist/beeq/{p-8dfd0329.entry.js.map → p-6b0f896f.entry.js.map} +0 -0
- /package/dist/beeq/{p-ea473f56.entry.js.map → p-72ff2fe2.entry.js.map} +0 -0
- /package/dist/beeq/{p-ad419446.entry.js.map → p-8bd7f4c2.entry.js.map} +0 -0
- /package/dist/beeq/{p-1fb43de2.entry.js.map → p-e9a1b183.entry.js.map} +0 -0
- /package/dist/beeq/{p-3c77308c.entry.js.map → p-f891fb4b.entry.js.map} +0 -0
- /package/dist/components/{p-D3RCJ1ti.js.map → p-BBCVL6R0.js.map} +0 -0
- /package/dist/components/{p-BY4GkNoQ.js.map → p-BMHXMsVR.js.map} +0 -0
- /package/dist/components/{p-4ksDMBf6.js.map → p-BS8hIETL.js.map} +0 -0
- /package/dist/components/{p-B99eLANt.js.map → p-DMKBBBUE.js.map} +0 -0
- /package/dist/components/{p-CvvcRGDG.js.map → p-Dd3v3b2E.js.map} +0 -0
- /package/dist/components/{p-Dj-mQvqv.js.map → p-iyX-PhkX.js.map} +0 -0
- /package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/.stencil/packages/beeq/stencil.config.d.ts +0 -0
- /package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/.stencil/tailwind.config.d.ts +0 -0
|
@@ -1,45 +1,36 @@
|
|
|
1
1
|
/** The first day of the week, where Sunday is 0, Monday is 1, etc. */
|
|
2
2
|
export type DaysOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
3
|
+
export declare const DAYS_OF_WEEK: readonly DaysOfWeek[];
|
|
3
4
|
/** The type of the date picker */
|
|
4
5
|
export declare const DATE_PICKER_TYPE: readonly ["single", "multi", "range"];
|
|
5
6
|
/** The type of the date picker */
|
|
6
7
|
export type TDatePickerType = (typeof DATE_PICKER_TYPE)[number];
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
isDateDisallowed?: (date: Date) => boolean;
|
|
37
|
-
/** Handles the change event, when the user selects a date or a date range */
|
|
38
|
-
onChange?: (ev: Event) => void;
|
|
39
|
-
/** Handles the focus date event. E.g. when the user navigates back/forward in the calendar */
|
|
40
|
-
onFocusDate?: (ev: CustomEvent) => void;
|
|
41
|
-
/** Handles the date range start event. E.g. when the user starts selecting a date range */
|
|
42
|
-
onRangestart?: (ev: CustomEvent) => void;
|
|
43
|
-
/** Handles the date range end event. E.g. when the user finishes selecting a date range */
|
|
44
|
-
onRangeend?: (ev: CustomEvent) => void;
|
|
45
|
-
};
|
|
8
|
+
/** The calendar view */
|
|
9
|
+
export declare const CALENDAR_VIEW: readonly ["days", "months", "years"];
|
|
10
|
+
/** The calendar view */
|
|
11
|
+
export type TCalendarView = (typeof CALENDAR_VIEW)[number];
|
|
12
|
+
/** Positioning strategy for the panel. */
|
|
13
|
+
export declare const FLOATING_STRATEGY: readonly ["fixed", "absolute"];
|
|
14
|
+
export type TFloatingStrategy = (typeof FLOATING_STRATEGY)[number];
|
|
15
|
+
/** Placement of the panel — mirrors `@floating-ui/dom` placements. */
|
|
16
|
+
export declare const FLOATING_PLACEMENT: readonly ["top", "top-start", "top-end", "right", "right-start", "right-end", "bottom", "bottom-start", "bottom-end", "left", "left-start", "left-end"];
|
|
17
|
+
export type TFloatingPlacement = (typeof FLOATING_PLACEMENT)[number];
|
|
18
|
+
/** How the next/previous buttons should step through months. */
|
|
19
|
+
export declare const MONTHS_PER_VIEW: readonly ["single", "months"];
|
|
20
|
+
export type TMonthsPerView = (typeof MONTHS_PER_VIEW)[number];
|
|
21
|
+
/**
|
|
22
|
+
* The precision of the value produced by the date picker.
|
|
23
|
+
* - `day` → `YYYY-MM-DD` (default; drill-down to days)
|
|
24
|
+
* - `month` → `YYYY-MM` (selection commits on the months view)
|
|
25
|
+
* - `year` → `YYYY` (selection commits on the years view)
|
|
26
|
+
*/
|
|
27
|
+
export declare const DATE_PRECISION: readonly ["day", "month", "year"];
|
|
28
|
+
export type TDatePrecision = (typeof DATE_PRECISION)[number];
|
|
29
|
+
/**
|
|
30
|
+
* Internal representation of a selection.
|
|
31
|
+
* Always an array of ISO 8601 date strings (YYYY-MM-DD).
|
|
32
|
+
* - single → 0 or 1 entry
|
|
33
|
+
* - multi → N entries
|
|
34
|
+
* - range → 0 or 2 entries [startISO, endISO]
|
|
35
|
+
*/
|
|
36
|
+
export type TSelection = string[];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type FunctionalComponent } from '../../../stencil-public-runtime';
|
|
2
|
+
import type { TDatePickerType, TSelection } from '../bq-date-picker.types';
|
|
3
|
+
export type TCalendarDayViewProps = {
|
|
4
|
+
/** Anchor date for the month grid (any date within the month). */
|
|
5
|
+
viewDate: Date;
|
|
6
|
+
/** Current selection (parsed). */
|
|
7
|
+
selection: TSelection;
|
|
8
|
+
/** In-progress range selection (start pending or hovered end). */
|
|
9
|
+
tentativeRange: TSelection;
|
|
10
|
+
/** Focused date ISO (roving tabindex target). */
|
|
11
|
+
focusedISO: string;
|
|
12
|
+
/** Selection type. */
|
|
13
|
+
type: TDatePickerType;
|
|
14
|
+
/** Locale. */
|
|
15
|
+
locale: Intl.LocalesArgument;
|
|
16
|
+
/** First day of the week. */
|
|
17
|
+
firstDayOfWeek: number;
|
|
18
|
+
/** Whether to render outside-month days. */
|
|
19
|
+
showOutsideDays: boolean;
|
|
20
|
+
/** Optional min ISO. */
|
|
21
|
+
minISO?: string;
|
|
22
|
+
/** Optional max ISO. */
|
|
23
|
+
maxISO?: string;
|
|
24
|
+
/** Optional guard for disallowed days. */
|
|
25
|
+
isDateDisallowed?: (date: Date) => boolean;
|
|
26
|
+
/** Callback fired when a day is picked. */
|
|
27
|
+
onDaySelect: (iso: string, ev: MouseEvent | KeyboardEvent) => void;
|
|
28
|
+
/** Callback fired when the pointer hovers a day (used for range preview). */
|
|
29
|
+
onDayHover: (iso: string | undefined) => void;
|
|
30
|
+
/** Callback fired when a day receives focus. */
|
|
31
|
+
onDayFocus: (iso: string) => void;
|
|
32
|
+
/** Optional handler for keyboard nav bubbling up (Arrow, Home, End...). */
|
|
33
|
+
onGridKeyDown: (ev: KeyboardEvent) => void;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Day-level calendar view — weekday row + 6x7 grid.
|
|
37
|
+
*
|
|
38
|
+
* The grid is a `<table role="grid">` so it is announced correctly by screen
|
|
39
|
+
* readers, and it uses a roving tabindex so only the "focused" day is in the
|
|
40
|
+
* tab order. Keyboard nav is delegated to the host via `onGridKeyDown`.
|
|
41
|
+
*/
|
|
42
|
+
export declare const CalendarDayView: FunctionalComponent<TCalendarDayViewProps>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type FunctionalComponent } from '../../../stencil-public-runtime';
|
|
2
|
+
import type { TCalendarView } from '../bq-date-picker.types';
|
|
3
|
+
export type TCalendarHeaderProps = {
|
|
4
|
+
/** Current view. Used to pick the correct aria label and title. */
|
|
5
|
+
view: TCalendarView;
|
|
6
|
+
/** Label rendered inside the title button (e.g. "January 2026", "2026", "2016 – 2027"). */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Aria label for the previous button. */
|
|
9
|
+
previousLabel: string;
|
|
10
|
+
/** Aria label for the next button. */
|
|
11
|
+
nextLabel: string;
|
|
12
|
+
/** Aria label for the title button. */
|
|
13
|
+
titleLabel: string;
|
|
14
|
+
/** Whether the previous button is disabled. */
|
|
15
|
+
previousDisabled?: boolean;
|
|
16
|
+
/** Whether the next button is disabled. */
|
|
17
|
+
nextDisabled?: boolean;
|
|
18
|
+
/** Whether the title button is interactive. `false` when already on the years view. */
|
|
19
|
+
titleInteractive?: boolean;
|
|
20
|
+
/** Callback fired when the previous button is activated. */
|
|
21
|
+
onPrevious: (ev: Event) => void;
|
|
22
|
+
/** Callback fired when the next button is activated. */
|
|
23
|
+
onNext: (ev: Event) => void;
|
|
24
|
+
/** Callback fired when the title button is activated. */
|
|
25
|
+
onTitleClick: (ev: Event) => void;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Calendar header — previous / title / next.
|
|
29
|
+
*
|
|
30
|
+
* The header is rendered once per calendar panel. It exposes the standard
|
|
31
|
+
* `calendar__header`, `calendar__previous`, `calendar__heading`, and
|
|
32
|
+
* `calendar__next` shadow parts so consumers can theme any button.
|
|
33
|
+
*/
|
|
34
|
+
export declare const CalendarHeader: FunctionalComponent<TCalendarHeaderProps>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type FunctionalComponent } from '../../../stencil-public-runtime';
|
|
2
|
+
import type { TDatePickerType, TSelection } from '../bq-date-picker.types';
|
|
3
|
+
export type TCalendarMonthViewProps = {
|
|
4
|
+
/** Year currently shown in the header. */
|
|
5
|
+
year: number;
|
|
6
|
+
/** Focused month (0-based), used for the roving tabindex. */
|
|
7
|
+
focusedMonth: number;
|
|
8
|
+
/** Locale used for localized month names. */
|
|
9
|
+
locale: Intl.LocalesArgument;
|
|
10
|
+
/** Min year/month to keep enabled. */
|
|
11
|
+
minISO?: string;
|
|
12
|
+
/** Max year/month to keep enabled. */
|
|
13
|
+
maxISO?: string;
|
|
14
|
+
/** Current selection (as stored internally: array of YYYY-MM-DD). */
|
|
15
|
+
selection: TSelection;
|
|
16
|
+
/** In-progress range preview while hovering a second endpoint. */
|
|
17
|
+
tentativeRange: TSelection;
|
|
18
|
+
/** Selection type — drives multi / range highlighting. */
|
|
19
|
+
type: TDatePickerType;
|
|
20
|
+
/** Callback fired when the user picks a month. */
|
|
21
|
+
onMonthSelect: (month: number, ev: MouseEvent | KeyboardEvent) => void;
|
|
22
|
+
/** Callback fired when a month button receives focus. */
|
|
23
|
+
onMonthFocus: (month: number) => void;
|
|
24
|
+
/** Callback fired when hovering a month cell (range preview). */
|
|
25
|
+
onMonthHover: (iso: string | undefined) => void;
|
|
26
|
+
/** Optional keydown handler for the grid (roving tabindex management). */
|
|
27
|
+
onGridKeyDown: (ev: KeyboardEvent) => void;
|
|
28
|
+
/** Number of columns rendered by the month grid. */
|
|
29
|
+
gridColumns: number;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Month picker — 12 buttons in a 3×4 grid.
|
|
33
|
+
*/
|
|
34
|
+
export declare const CalendarMonthView: FunctionalComponent<TCalendarMonthViewProps>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type FunctionalComponent } from '../../../stencil-public-runtime';
|
|
2
|
+
import type { TDatePickerType, TSelection } from '../bq-date-picker.types';
|
|
3
|
+
export type TCalendarYearViewProps = {
|
|
4
|
+
/** Years to render (typically 12). */
|
|
5
|
+
years: number[];
|
|
6
|
+
/** Focused year (roving tabindex target). */
|
|
7
|
+
focusedYear: number;
|
|
8
|
+
/** Optional min bound (any precision — `YYYY`, `YYYY-MM`, `YYYY-MM-DD`). */
|
|
9
|
+
minISO?: string;
|
|
10
|
+
/** Optional max bound (any precision). */
|
|
11
|
+
maxISO?: string;
|
|
12
|
+
/** Current selection (as stored internally: array of YYYY-MM-DD). */
|
|
13
|
+
selection: TSelection;
|
|
14
|
+
/** In-progress range preview while hovering a second endpoint. */
|
|
15
|
+
tentativeRange: TSelection;
|
|
16
|
+
/** Selection type — drives multi / range highlighting. */
|
|
17
|
+
type: TDatePickerType;
|
|
18
|
+
/** Callback fired when the user picks a year. */
|
|
19
|
+
onYearSelect: (year: number, ev: MouseEvent | KeyboardEvent) => void;
|
|
20
|
+
/** Callback fired when a year button receives focus. */
|
|
21
|
+
onYearFocus: (year: number) => void;
|
|
22
|
+
/** Callback fired when hovering a year cell (range preview). */
|
|
23
|
+
onYearHover: (iso: string | undefined) => void;
|
|
24
|
+
/** Optional keydown handler for the grid (roving tabindex management). */
|
|
25
|
+
onGridKeyDown: (ev: KeyboardEvent) => void;
|
|
26
|
+
/** Number of columns rendered by the year grid. */
|
|
27
|
+
gridColumns: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Year picker — 12 buttons for a decade grid.
|
|
31
|
+
*/
|
|
32
|
+
export declare const CalendarYearView: FunctionalComponent<TCalendarYearViewProps>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounds predicates for the calendar.
|
|
3
|
+
*
|
|
4
|
+
* `min` and `max` may be at any wire precision (`YYYY`, `YYYY-MM`, or
|
|
5
|
+
* `YYYY-MM-DD`); internal cell values are always full `YYYY-MM-DD` strings.
|
|
6
|
+
* All predicates are pure and rely on lexicographic comparison, which is
|
|
7
|
+
* safe for ISO 8601 dates.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Extract the `YYYY` prefix (as a number) from a bound string.
|
|
11
|
+
* Returns `null` if the string does not begin with a 4-digit year.
|
|
12
|
+
*/
|
|
13
|
+
export declare const boundYear: (iso: string | undefined | null) => number | null;
|
|
14
|
+
/**
|
|
15
|
+
* Extract `{ year, month }` (month is 0-based) from a bound string. Falls
|
|
16
|
+
* back to `null` when the string doesn't contain a `YYYY-MM` prefix.
|
|
17
|
+
*/
|
|
18
|
+
export declare const boundYearMonth: (iso: string | undefined | null) => {
|
|
19
|
+
year: number;
|
|
20
|
+
month: number;
|
|
21
|
+
} | null;
|
|
22
|
+
/**
|
|
23
|
+
* Whether a given year is within the (inclusive) `min`/`max` range.
|
|
24
|
+
* A year cell is considered in-range when any day inside that year is
|
|
25
|
+
* still selectable — i.e. we compare on the year prefix only, ignoring
|
|
26
|
+
* the month/day components of `min` / `max`.
|
|
27
|
+
*/
|
|
28
|
+
export declare const isYearWithinBounds: (year: number, min?: string | null, max?: string | null) => boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Whether a given `(year, month)` pair is within the (inclusive) `min`/`max`
|
|
31
|
+
* range. A month cell is considered in-range when any day inside that month
|
|
32
|
+
* would still satisfy the bounds — we compare on the year-month prefix and
|
|
33
|
+
* ignore the day component of `min` / `max`.
|
|
34
|
+
*/
|
|
35
|
+
export declare const isMonthWithinBounds: (year: number, month: number, min?: string | null, max?: string | null) => boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Whether a full `YYYY-MM-DD` iso date is within the (inclusive) `min`/`max`
|
|
38
|
+
* range. Bounds may be at any precision — we pad `min` to the earliest day
|
|
39
|
+
* (`YYYY-01-01`) and `max` to the latest day (`YYYY-12-31`) before doing a
|
|
40
|
+
* lexical compare (safe because ISO 8601 sorts by calendar order).
|
|
41
|
+
*/
|
|
42
|
+
export declare const isDateWithinBounds: (iso: string, min?: string | null, max?: string | null) => boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Pad a bound string up to full `YYYY-MM-DD` length so it can be lexically
|
|
45
|
+
* compared with a full ISO date. `min` widens down (missing pieces become
|
|
46
|
+
* `-01`), `max` widens up (missing month → `-12`, missing day → last day of
|
|
47
|
+
* that month, honoring leap years).
|
|
48
|
+
*/
|
|
49
|
+
export declare const padBound: (iso: string | undefined | null, kind: "min" | "max") => string | null;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse an ISO 8601 date string (`YYYY-MM-DD`) into a local-time `Date`.
|
|
3
|
+
* Returns `null` when the string is missing or invalid.
|
|
4
|
+
*/
|
|
5
|
+
export declare const parseISO: (iso: string | undefined | null) => Date | null;
|
|
6
|
+
/**
|
|
7
|
+
* Convert a `Date` to `YYYY-MM-DD` in local time.
|
|
8
|
+
*/
|
|
9
|
+
export declare const toISO: (date: Date) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Extract the calendar year and 0-based month from an ISO date string.
|
|
12
|
+
* Returns `null` for missing or malformed input — safer than `Number(iso.slice(...))`
|
|
13
|
+
* which silently produces `NaN` for invalid bounds.
|
|
14
|
+
*/
|
|
15
|
+
export declare const getISOYearMonth: (iso: string | undefined | null) => {
|
|
16
|
+
year: number;
|
|
17
|
+
month: number;
|
|
18
|
+
} | null;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the ISO string is a valid `YYYY-MM-DD` date (round-trips through
|
|
21
|
+
* `parseISO`). Convenience predicate for input filtering.
|
|
22
|
+
*/
|
|
23
|
+
export declare const isValidISO: (iso: string | undefined | null) => boolean;
|
|
24
|
+
export declare const startOfDay: (date: Date) => Date;
|
|
25
|
+
export declare const startOfMonth: (date: Date) => Date;
|
|
26
|
+
export declare const endOfMonth: (date: Date) => Date;
|
|
27
|
+
export declare const addDays: (date: Date, amount: number) => Date;
|
|
28
|
+
export declare const addMonths: (date: Date, amount: number) => Date;
|
|
29
|
+
export declare const addYears: (date: Date, amount: number) => Date;
|
|
30
|
+
export declare const isSameDay: (a: Date | null, b: Date | null) => boolean;
|
|
31
|
+
export declare const isSameMonth: (a: Date | null, b: Date | null) => boolean;
|
|
32
|
+
export declare const isSameYear: (a: Date | null, b: Date | null) => boolean;
|
|
33
|
+
/** ISO-string based comparison; safe for `YYYY-MM-DD`. */
|
|
34
|
+
export declare const compareISO: (a: string, b: string) => number;
|
|
35
|
+
export type TCalendarCell = {
|
|
36
|
+
/** The day's `Date`. */
|
|
37
|
+
date: Date;
|
|
38
|
+
/** `YYYY-MM-DD` representation. */
|
|
39
|
+
iso: string;
|
|
40
|
+
/** `true` when the cell belongs to a month other than the current view. */
|
|
41
|
+
outside: boolean;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Build a 6x7 matrix for the given month starting on `firstDayOfWeek`.
|
|
45
|
+
* The matrix always has 42 cells so the calendar keeps a stable height.
|
|
46
|
+
*
|
|
47
|
+
* @param anchor Any date within the target month.
|
|
48
|
+
* @param firstDayOfWeek 0 = Sunday, 1 = Monday, ...
|
|
49
|
+
*/
|
|
50
|
+
export declare const buildMonthMatrix: (anchor: Date, firstDayOfWeek: number) => TCalendarCell[][];
|
|
51
|
+
/**
|
|
52
|
+
* Given any year, return the anchor year of the decade grid.
|
|
53
|
+
*
|
|
54
|
+
* The reference image shows a grid like `2016 – 2027` containing the current
|
|
55
|
+
* year (`2026`). We anchor the grid so the "round" decade start (e.g. 2020,
|
|
56
|
+
* 2010, ...) appears at index 1 - i.e. one extra year before the decade and
|
|
57
|
+
* one extra year after, filling the 3x4 grid cleanly.
|
|
58
|
+
*/
|
|
59
|
+
export declare const getDecadeStart: (year: number) => number;
|
|
60
|
+
/**
|
|
61
|
+
* Build the 12-year decade grid for the year that contains `anchor`.
|
|
62
|
+
* Returns `{ start, end, years }` where `years.length === DECADE_GRID_SIZE`.
|
|
63
|
+
*/
|
|
64
|
+
export declare const buildDecade: (anchor: Date) => {
|
|
65
|
+
start: number;
|
|
66
|
+
end: number;
|
|
67
|
+
years: number[];
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Clamp a `Date` between an optional min and max. Bounds may be at any
|
|
71
|
+
* ISO precision (`YYYY`, `YYYY-MM`, `YYYY-MM-DD`) and are padded to the
|
|
72
|
+
* widest matching day before comparing (`min` → first day, `max` → last day).
|
|
73
|
+
*/
|
|
74
|
+
export declare const clampDate: (date: Date, minISO?: string, maxISO?: string) => Date;
|
|
75
|
+
/** Whether the given `Date` is within `[min, max]` ISO bounds (inclusive). */
|
|
76
|
+
export declare const isWithinBounds: (date: Date, minISO?: string, maxISO?: string) => boolean;
|
|
77
|
+
/** Sort two ISO strings and return `[start, end]`. */
|
|
78
|
+
export declare const sortRange: (a: string, b: string) => [string, string];
|
|
@@ -1,18 +1,64 @@
|
|
|
1
|
-
import { ISO_DATE_LOCALE } from '../../../shared/utils/date';
|
|
2
1
|
/** Default fallback input ID */
|
|
3
|
-
declare const DEFAULT_INPUT_ID = "date-picker";
|
|
4
|
-
/**
|
|
5
|
-
declare const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
readonly
|
|
15
|
-
readonly multi: "calendar-multi";
|
|
16
|
-
readonly range: "calendar-range";
|
|
2
|
+
export declare const DEFAULT_INPUT_ID = "date-picker";
|
|
3
|
+
/** Default aria labels used by the calendar navigation */
|
|
4
|
+
export declare const DEFAULT_ARIA_LABELS: {
|
|
5
|
+
readonly previousMonth: "Previous month";
|
|
6
|
+
readonly nextMonth: "Next month";
|
|
7
|
+
readonly previousYear: "Previous year";
|
|
8
|
+
readonly nextYear: "Next year";
|
|
9
|
+
readonly previousDecade: "Previous decade";
|
|
10
|
+
readonly nextDecade: "Next decade";
|
|
11
|
+
readonly chooseMonth: "Choose month";
|
|
12
|
+
readonly chooseYear: "Choose year";
|
|
13
|
+
readonly chooseDate: "Choose date";
|
|
17
14
|
};
|
|
18
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Shadow DOM parts exposed by the component.
|
|
17
|
+
* Kept as a single list so it is easy to audit against the JSDoc @part list.
|
|
18
|
+
*/
|
|
19
|
+
export declare const CALENDAR_PARTS: {
|
|
20
|
+
readonly base: "base";
|
|
21
|
+
readonly label: "label";
|
|
22
|
+
readonly control: "control";
|
|
23
|
+
readonly prefix: "prefix";
|
|
24
|
+
readonly suffix: "suffix";
|
|
25
|
+
readonly input: "input";
|
|
26
|
+
readonly clearBtn: "clear-btn";
|
|
27
|
+
readonly button: "button";
|
|
28
|
+
readonly panel: "panel";
|
|
29
|
+
readonly container: "calendar__container";
|
|
30
|
+
readonly header: "calendar__header";
|
|
31
|
+
readonly heading: "calendar__heading";
|
|
32
|
+
readonly previous: "calendar__previous";
|
|
33
|
+
readonly next: "calendar__next";
|
|
34
|
+
readonly table: "calendar__table";
|
|
35
|
+
readonly head: "calendar__head";
|
|
36
|
+
readonly tr: "calendar__tr";
|
|
37
|
+
readonly th: "calendar__th";
|
|
38
|
+
readonly week: "calendar__week";
|
|
39
|
+
readonly td: "calendar__td";
|
|
40
|
+
readonly day: "calendar__day";
|
|
41
|
+
readonly today: "calendar__today";
|
|
42
|
+
readonly selected: "calendar__selected";
|
|
43
|
+
readonly outside: "calendar__outside";
|
|
44
|
+
readonly disallowed: "calendar__disallowed";
|
|
45
|
+
readonly disabled: "calendar__disabled";
|
|
46
|
+
readonly rangeStart: "calendar__range-start";
|
|
47
|
+
readonly rangeEnd: "calendar__range-end";
|
|
48
|
+
readonly rangeInner: "calendar__range-inner";
|
|
49
|
+
readonly months: "calendar__months";
|
|
50
|
+
readonly month: "calendar__month";
|
|
51
|
+
readonly monthSelected: "calendar__month-selected";
|
|
52
|
+
readonly years: "calendar__years";
|
|
53
|
+
readonly year: "calendar__year";
|
|
54
|
+
readonly yearSelected: "calendar__year-selected";
|
|
55
|
+
readonly calendarTrigger: "calendar-trigger";
|
|
56
|
+
};
|
|
57
|
+
/** Number of years shown in the decade view grid. Uses 12 to fill a 3x4 grid. */
|
|
58
|
+
export declare const DECADE_GRID_SIZE = 12;
|
|
59
|
+
/**
|
|
60
|
+
* Maximum number of month panels rendered side-by-side. Range pickers only
|
|
61
|
+
* benefit from up to 2 panels — beyond that the popover overflows most
|
|
62
|
+
* viewports and roving keyboard navigation becomes confusing.
|
|
63
|
+
*/
|
|
64
|
+
export declare const MAX_MONTHS_PER_VIEW = 2;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { TDatePrecision } from '../bq-date-picker.types';
|
|
2
|
+
/**
|
|
3
|
+
* Result of parsing user-typed input.
|
|
4
|
+
* - `value` is set when parsing succeeded — always at the configured precision.
|
|
5
|
+
* - `invalid: true` when the string could not be parsed or `isDateDisallowed`
|
|
6
|
+
* rejected the result.
|
|
7
|
+
*/
|
|
8
|
+
export type TParsedInput = {
|
|
9
|
+
value?: string;
|
|
10
|
+
invalid?: boolean;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Precision-aware, bounds-aware parser for the trigger input field.
|
|
14
|
+
* Returns the parsed date as a wire-format string at the configured
|
|
15
|
+
* precision, clamped against `min`/`max`, or `{ invalid: true }` on failure.
|
|
16
|
+
*/
|
|
17
|
+
export declare const parseTypedInput: (text: string, locale: Intl.LocalesArgument, precision: TDatePrecision, min?: string, max?: string, isDateDisallowed?: (date: Date) => boolean) => TParsedInput;
|
|
18
|
+
/**
|
|
19
|
+
* Lexically clamp a full `YYYY-MM-DD` ISO date to precision-padded bounds.
|
|
20
|
+
* Coarser bounds (`YYYY`, `YYYY-MM`) are padded to the widest matching day
|
|
21
|
+
* before comparing.
|
|
22
|
+
*/
|
|
23
|
+
export declare const clampISO: (iso: string, min?: string, max?: string) => string;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cached `Intl.DateTimeFormat` factories.
|
|
3
|
+
*
|
|
4
|
+
* The Intl API is powerful but relatively expensive to instantiate. Since the
|
|
5
|
+
* calendar re-renders on every user interaction we keep a small LRU-ish cache
|
|
6
|
+
* keyed by locale + option shape.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Format a full date, e.g. "1 January 2026".
|
|
10
|
+
*/
|
|
11
|
+
export declare const formatDate: (date: Date, locale: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string;
|
|
12
|
+
/**
|
|
13
|
+
* Format a month, e.g. "January 2026" or "Jan".
|
|
14
|
+
*/
|
|
15
|
+
export declare const formatMonth: (date: Date, locale: Intl.LocalesArgument, monthStyle?: "long" | "short" | "narrow", includeYear?: boolean) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Format a year, e.g. "2026".
|
|
18
|
+
*/
|
|
19
|
+
export declare const formatYear: (date: Date, locale: Intl.LocalesArgument) => string;
|
|
20
|
+
/**
|
|
21
|
+
* Returns the weekday names for the given locale ordered from `firstDayOfWeek`.
|
|
22
|
+
*
|
|
23
|
+
* @param locale The locale used for formatting.
|
|
24
|
+
* @param firstDayOfWeek The first day of the week (0 = Sunday, 1 = Monday, ...).
|
|
25
|
+
* @param style Weekday style (long, short, narrow).
|
|
26
|
+
* @returns An array of `{short, long}` names in display order.
|
|
27
|
+
*/
|
|
28
|
+
export declare const getWeekdayNames: (locale: Intl.LocalesArgument, firstDayOfWeek: number, style?: "long" | "short" | "narrow") => Array<{
|
|
29
|
+
short: string;
|
|
30
|
+
long: string;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the localized month names.
|
|
34
|
+
*
|
|
35
|
+
* @param locale The locale used for formatting.
|
|
36
|
+
* @param style Month style (long, short, narrow).
|
|
37
|
+
*/
|
|
38
|
+
export declare const getMonthNames: (locale: Intl.LocalesArgument, style?: "long" | "short" | "narrow") => string[];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { TCalendarView, TDatePrecision } from '../bq-date-picker.types';
|
|
2
|
+
interface HeaderLabelArgs {
|
|
3
|
+
view: TCalendarView;
|
|
4
|
+
viewDate: Date;
|
|
5
|
+
focusedYear: number;
|
|
6
|
+
decadeStart: number;
|
|
7
|
+
monthCount: number;
|
|
8
|
+
locale: Intl.LocalesArgument;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Builds the label shown in the calendar header title button.
|
|
12
|
+
*
|
|
13
|
+
* - `days`: localized "Month Year" for a single panel, or "StartYear – EndYear"
|
|
14
|
+
* when several months are visible at once.
|
|
15
|
+
* - `months`: the localized year currently in focus.
|
|
16
|
+
* - `years`: the closed range spanning the visible decade.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getHeaderLabel: ({ view, viewDate, focusedYear, decadeStart, monthCount, locale, }: HeaderLabelArgs) => string;
|
|
19
|
+
/**
|
|
20
|
+
* Aria label announcing what clicking the title switches to.
|
|
21
|
+
* Views cycle days → months → years → back to the base view (days for
|
|
22
|
+
* `precision="day"`, months for `precision="month"`).
|
|
23
|
+
*/
|
|
24
|
+
export declare const getHeaderTitleLabel: (view: TCalendarView, precision?: TDatePrecision) => string;
|
|
25
|
+
/** Aria label for the "previous" navigation button, per view. */
|
|
26
|
+
export declare const getPreviousLabel: (view: TCalendarView) => string;
|
|
27
|
+
/** Aria label for the "next" navigation button, per view. */
|
|
28
|
+
export declare const getNextLabel: (view: TCalendarView) => string;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Advances a focused month cursor by `delta` months, carrying over to the
|
|
3
|
+
* previous or next year as needed. Pure — accepts and returns primitives so
|
|
4
|
+
* it can be unit-tested and reused by keyboard handlers.
|
|
5
|
+
*/
|
|
6
|
+
export declare const advanceFocusedMonth: (focusedMonth: number, focusedYear: number, delta: number) => {
|
|
7
|
+
month: number;
|
|
8
|
+
year: number;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Advances a focused year cursor by `delta` years, sliding the visible
|
|
12
|
+
* decade grid so the focused year always stays in view.
|
|
13
|
+
*/
|
|
14
|
+
export declare const advanceFocusedYear: (focusedYear: number, decadeStart: number, delta: number) => {
|
|
15
|
+
year: number;
|
|
16
|
+
decadeStart: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Number of columns used to render the months/years grids. The grids widen
|
|
20
|
+
* from 3 → 4 columns when multiple months are visible, so vertical arrow
|
|
21
|
+
* navigation stride must match.
|
|
22
|
+
*/
|
|
23
|
+
export declare const getGridColumns: (monthCount: number) => number;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { TDatePickerType, TDatePrecision, TSelection } from '../bq-date-picker.types';
|
|
2
|
+
/**
|
|
3
|
+
* Parse a raw `value` string into an internal `TSelection` array.
|
|
4
|
+
*
|
|
5
|
+
* Wire format:
|
|
6
|
+
* - single: `YYYY-MM-DD` (or `YYYY-MM` / `YYYY` at coarser precision)
|
|
7
|
+
* - multi: space-separated tokens
|
|
8
|
+
* - range: `<start>/<end>`
|
|
9
|
+
*
|
|
10
|
+
* Internally the selection is always stored as full `YYYY-MM-DD` — month
|
|
11
|
+
* precision expands to the first day of the month; year precision to Jan 1st.
|
|
12
|
+
*
|
|
13
|
+
* Invalid tokens (malformed strings, impossible dates like `2026-99-99`,
|
|
14
|
+
* non-ISO input) are silently discarded — the returned selection is
|
|
15
|
+
* guaranteed to contain only valid ISO-8601 dates.
|
|
16
|
+
*/
|
|
17
|
+
export declare const parseValue: (value: string | undefined | null, type: TDatePickerType, precision?: TDatePrecision) => TSelection;
|
|
18
|
+
/**
|
|
19
|
+
* Serialize an internal `TSelection` array back to the wire format.
|
|
20
|
+
* Truncates each entry to the precision's ISO shape.
|
|
21
|
+
*/
|
|
22
|
+
export declare const serializeValue: (selection: TSelection, type: TDatePickerType, precision?: TDatePrecision) => string;
|
|
23
|
+
/** Whether the given ISO day is included in the selection. */
|
|
24
|
+
export declare const isSelected: (iso: string, selection: TSelection, type: TDatePickerType) => boolean;
|
|
25
|
+
/** Whether the ISO day is the start of a range selection. */
|
|
26
|
+
export declare const isRangeStart: (iso: string, selection: TSelection, type: TDatePickerType) => boolean;
|
|
27
|
+
/** Whether the ISO day is the end of a range selection. */
|
|
28
|
+
export declare const isRangeEnd: (iso: string, selection: TSelection, type: TDatePickerType) => boolean;
|
|
29
|
+
/** Whether the ISO day sits strictly inside the range (not start/end). */
|
|
30
|
+
export declare const isRangeInner: (iso: string, selection: TSelection, type: TDatePickerType) => boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Apply a click on `iso` and return the next selection.
|
|
33
|
+
*
|
|
34
|
+
* - single: always replace.
|
|
35
|
+
* - multi: toggle (add if missing, remove if present).
|
|
36
|
+
* - range: if there is no start OR a full range exists, start a new range;
|
|
37
|
+
* otherwise complete the range (auto-sorted).
|
|
38
|
+
*/
|
|
39
|
+
export declare const applySelection: (iso: string, selection: TSelection, type: TDatePickerType) => TSelection;
|
|
40
|
+
/**
|
|
41
|
+
* Build the highlighted range while the user is hovering with an in-progress
|
|
42
|
+
* range selection (`tentative` = the pending start).
|
|
43
|
+
*/
|
|
44
|
+
export declare const buildTentativeRange: (tentative: string | undefined, hovered: string | undefined) => TSelection;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { TDatePickerType, TDatePrecision } from '../bq-date-picker.types';
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes a raw public `value` string against the current picker `type`
|
|
4
|
+
* and `precision`.
|
|
5
|
+
*
|
|
6
|
+
* Runs the value through `parseValue`/`serializeValue` so any invalid ISO
|
|
7
|
+
* tokens are dropped before the value ever reaches the form, the display
|
|
8
|
+
* input, or the visible selection. Returns `undefined` when normalization
|
|
9
|
+
* leaves an empty string, so callers can distinguish "no value" from "empty
|
|
10
|
+
* string value".
|
|
11
|
+
*/
|
|
12
|
+
export declare const normalizeValue: (raw: string | undefined, type: TDatePickerType, precision?: TDatePrecision) => string | undefined;
|
|
13
|
+
/** Whether a value string is present and non-empty — used to drive UI affordances. */
|
|
14
|
+
export declare const computeHasValue: (value: string | undefined) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Formats the current value for display in the trigger input. Thin wrapper
|
|
17
|
+
* around `formatDisplayValue` that accepts `undefined` and coerces to an
|
|
18
|
+
* empty string, so callers don't have to repeat the null check.
|
|
19
|
+
*
|
|
20
|
+
* Precision-agnostic: internally the selection is stored as full ISO dates
|
|
21
|
+
* (the first day of the month / January 1st for coarser precisions), so
|
|
22
|
+
* `Intl.DateTimeFormat(locale, formatOptions)` produces the right label
|
|
23
|
+
* whether the user asked for `{ year: 'numeric' }` or `{ dateStyle: 'full' }`.
|
|
24
|
+
*/
|
|
25
|
+
export declare const computeDisplayDate: (value: string | undefined, type: TDatePickerType, locale: Intl.LocalesArgument, formatOptions: Intl.DateTimeFormatOptions, precision?: TDatePrecision) => string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Default `Intl.DateTimeFormat` options per precision.
|
|
28
|
+
* Applied when the consumer hasn't explicitly overridden `formatOptions`, so
|
|
29
|
+
* a `precision="month"` picker doesn't show "1 May 2026".
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_FORMAT_OPTIONS_BY_PRECISION: Record<TDatePrecision, Intl.DateTimeFormatOptions>;
|
|
@@ -192,6 +192,7 @@ export declare class BqInput {
|
|
|
192
192
|
/** The input value, it can be used to reset the input to a previous value */
|
|
193
193
|
value: TInputValue;
|
|
194
194
|
handleValueChange(): void;
|
|
195
|
+
handleRequiredPropChange(): void;
|
|
195
196
|
/** Callback handler emitted when the input loses focus */
|
|
196
197
|
bqBlur: EventEmitter<HTMLBqInputElement>;
|
|
197
198
|
/**
|