@beeq/core 1.5.0 → 1.6.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.css +1 -1
- package/dist/beeq/beeq.esm.js +1 -1
- package/dist/beeq/beeq.esm.js.map +1 -1
- package/dist/beeq/{p-99569b08.entry.js → p-13be15a8.entry.js} +2 -2
- package/dist/beeq/p-13be15a8.entry.js.map +1 -0
- package/dist/beeq/{p-32a540a3.entry.js → p-1d0c1bea.entry.js} +2 -2
- package/dist/beeq/p-1d0c1bea.entry.js.map +1 -0
- package/dist/beeq/{p-a2788d92.entry.js → p-200dfdc6.entry.js} +2 -2
- package/dist/beeq/p-200dfdc6.entry.js.map +1 -0
- package/dist/beeq/p-23b51f25.entry.js +6 -0
- package/dist/beeq/p-23b51f25.entry.js.map +1 -0
- package/dist/beeq/p-282cde35.entry.js +6 -0
- package/dist/beeq/p-282cde35.entry.js.map +1 -0
- package/dist/beeq/{p-310c7537.entry.js → p-29e54a2f.entry.js} +2 -2
- package/dist/beeq/{p-310c7537.entry.js.map → p-29e54a2f.entry.js.map} +1 -1
- package/dist/beeq/{p-1cec06b2.entry.js → p-30e5d01e.entry.js} +2 -2
- package/dist/beeq/p-30e5d01e.entry.js.map +1 -0
- package/dist/beeq/{p-672a3ebd.entry.js → p-31432ada.entry.js} +2 -2
- package/dist/beeq/{p-672a3ebd.entry.js.map → p-31432ada.entry.js.map} +1 -1
- package/dist/beeq/{p-59406ccb.entry.js → p-3a4ec8c2.entry.js} +2 -2
- package/dist/beeq/p-3a4ec8c2.entry.js.map +1 -0
- package/dist/beeq/{p-7c0139af.js → p-3fd0d92d.js} +2 -2
- package/dist/beeq/p-3fd0d92d.js.map +1 -0
- package/dist/beeq/p-44982543.js +7 -0
- package/dist/beeq/p-44982543.js.map +1 -0
- package/dist/beeq/{p-91fe8d9d.entry.js → p-483de184.entry.js} +2 -2
- package/dist/beeq/p-483de184.entry.js.map +1 -0
- package/dist/beeq/{p-3b21c503.entry.js → p-50dd8873.entry.js} +2 -2
- package/dist/beeq/{p-3b21c503.entry.js.map → p-50dd8873.entry.js.map} +1 -1
- package/dist/beeq/{p-1d3a8563.entry.js → p-51087b73.entry.js} +2 -2
- package/dist/beeq/p-51087b73.entry.js.map +1 -0
- package/dist/beeq/p-5cbdfc4c.entry.js +6 -0
- package/dist/beeq/p-5cbdfc4c.entry.js.map +1 -0
- package/dist/beeq/{p-2ae112f2.entry.js → p-60446fb6.entry.js} +2 -2
- package/dist/beeq/p-60446fb6.entry.js.map +1 -0
- package/dist/beeq/{p-b687639a.entry.js → p-68fd8637.entry.js} +2 -2
- package/dist/beeq/p-68fd8637.entry.js.map +1 -0
- package/dist/beeq/p-68fdea6a.js +6 -0
- package/dist/beeq/p-68fdea6a.js.map +1 -0
- package/dist/beeq/{p-e6b0af67.entry.js → p-6bdb3bc8.entry.js} +2 -2
- package/dist/beeq/p-6bdb3bc8.entry.js.map +1 -0
- package/dist/beeq/{p-d1bec6cf.entry.js → p-6decf071.entry.js} +2 -2
- package/dist/beeq/p-6decf071.entry.js.map +1 -0
- package/dist/beeq/p-76e1659f.entry.js +6 -0
- package/dist/beeq/p-76e1659f.entry.js.map +1 -0
- package/dist/beeq/p-8450556c.entry.js +6 -0
- package/dist/beeq/p-8450556c.entry.js.map +1 -0
- package/dist/beeq/{p-f62a3301.entry.js → p-85ec14c6.entry.js} +2 -2
- package/dist/beeq/{p-f62a3301.entry.js.map → p-85ec14c6.entry.js.map} +1 -1
- package/dist/beeq/{p-9bc568c2.entry.js → p-90838ab1.entry.js} +2 -2
- package/dist/beeq/p-90838ab1.entry.js.map +1 -0
- package/dist/beeq/p-91db6d29.entry.js +6 -0
- package/dist/beeq/p-91db6d29.entry.js.map +1 -0
- package/dist/beeq/{p-c334917a.entry.js → p-95baffb3.entry.js} +2 -2
- package/dist/beeq/p-95baffb3.entry.js.map +1 -0
- package/dist/beeq/p-964825fa.entry.js +6 -0
- package/dist/beeq/p-964825fa.entry.js.map +1 -0
- package/dist/beeq/{p-b8534cc7.entry.js → p-9704f9ca.entry.js} +2 -2
- package/dist/beeq/p-9704f9ca.entry.js.map +1 -0
- package/dist/beeq/{p-fa00c825.entry.js → p-99267927.entry.js} +2 -2
- package/dist/beeq/{p-fa00c825.entry.js.map → p-99267927.entry.js.map} +1 -1
- package/dist/beeq/{p-4161e228.entry.js → p-a4ad6be7.entry.js} +2 -2
- package/dist/beeq/p-a4ad6be7.entry.js.map +1 -0
- package/dist/beeq/{p-f6215382.entry.js → p-a7e1fec8.entry.js} +2 -2
- package/dist/beeq/p-a7e1fec8.entry.js.map +1 -0
- package/dist/beeq/p-a8937946.entry.js +6 -0
- package/dist/beeq/p-a8937946.entry.js.map +1 -0
- package/dist/beeq/{p-011648c1.entry.js → p-aed662aa.entry.js} +2 -2
- package/dist/beeq/p-aed662aa.entry.js.map +1 -0
- package/dist/beeq/{p-09713e1b.entry.js → p-b40f3cd6.entry.js} +2 -2
- package/dist/beeq/{p-09713e1b.entry.js.map → p-b40f3cd6.entry.js.map} +1 -1
- package/dist/beeq/{p-44e85cc7.entry.js → p-b53be9dd.entry.js} +2 -2
- package/dist/beeq/p-b53be9dd.entry.js.map +1 -0
- package/dist/beeq/{p-4d9f03d7.entry.js → p-c4273f70.entry.js} +2 -2
- package/dist/beeq/p-c4273f70.entry.js.map +1 -0
- package/dist/beeq/{p-46efe162.entry.js → p-c51f0165.entry.js} +2 -2
- package/dist/beeq/p-c51f0165.entry.js.map +1 -0
- package/dist/beeq/{p-b02fe5d0.entry.js → p-cd244c61.entry.js} +2 -2
- package/dist/beeq/{p-b02fe5d0.entry.js.map → p-cd244c61.entry.js.map} +1 -1
- package/dist/beeq/{p-ca3eee1b.entry.js → p-d5523943.entry.js} +2 -2
- package/dist/beeq/p-d5523943.entry.js.map +1 -0
- package/dist/beeq/{p-f8324eef.entry.js → p-d66a1b57.entry.js} +2 -2
- package/dist/beeq/p-d66a1b57.entry.js.map +1 -0
- package/dist/beeq/p-da31e531.js.map +1 -1
- package/dist/beeq/{p-b38f3575.entry.js → p-e116f3e7.entry.js} +2 -2
- package/dist/beeq/p-e116f3e7.entry.js.map +1 -0
- package/dist/beeq/{p-c70d895b.entry.js → p-ec0e428a.entry.js} +2 -2
- package/dist/beeq/p-ec0e428a.entry.js.map +1 -0
- package/dist/cjs/{app-globals-53e231d9.js → app-globals-b11284b9.js} +397 -357
- package/dist/cjs/{app-globals-53e231d9.js.map → app-globals-b11284b9.js.map} +1 -1
- package/dist/cjs/assetsPath-11934549.js.map +1 -1
- package/dist/cjs/beeq.cjs.js +4 -4
- package/dist/cjs/beeq.cjs.js.map +1 -1
- package/dist/cjs/bq-accordion-group.cjs.entry.js +7 -4
- package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-accordion.cjs.entry.js +35 -11
- package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-alert.cjs.entry.js +7 -7
- package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-avatar.cjs.entry.js +14 -14
- package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-badge.cjs.entry.js +5 -5
- package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +5 -5
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-breadcrumb.cjs.entry.js +3 -3
- 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 +6 -6
- package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-date-picker.cjs.entry.js +52 -16
- package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dialog.cjs.entry.js +19 -9
- package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-divider.cjs.entry.js +36 -37
- package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-drawer.cjs.entry.js +68 -36
- 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 +15 -15
- package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-input.cjs.entry.js +6 -6
- package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-notification.cjs.entry.js +5 -5
- 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 +6 -6
- package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option.cjs.entry.js +6 -6
- package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-page-title.cjs.entry.js +65 -0
- package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -0
- package/dist/cjs/bq-progress.cjs.entry.js +8 -8
- package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio-group.cjs.entry.js +3 -3
- package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio.cjs.entry.js +4 -4
- package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-select.cjs.entry.js +6 -6
- 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-side-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-slider.cjs.entry.js +8 -8
- package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-spinner.cjs.entry.js +6 -6
- package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-status.cjs.entry.js +3 -3
- package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-step-item.cjs.entry.js +9 -9
- package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-steps.cjs.entry.js +5 -5
- package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-switch.cjs.entry.js +5 -5
- package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tab.cjs.entry.js +4 -4
- package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-textarea.cjs.entry.js +5 -5
- package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-toast.cjs.entry.js +3 -3
- package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-a08b6938.js → index-a09d1c08.js} +29 -17
- package/dist/cjs/index-a09d1c08.js.map +1 -0
- package/dist/cjs/{index-57a40a5c.js → index-ec84f14a.js} +785 -767
- package/dist/cjs/index-ec84f14a.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/accordion/bq-accordion.js +51 -7
- package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
- package/dist/collection/components/accordion/helper/index.js +1 -1
- package/dist/collection/components/accordion/helper/index.js.map +1 -1
- package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
- package/dist/collection/components/accordion-group/bq-accordion-group.js +44 -21
- package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
- package/dist/collection/components/alert/bq-alert.js +5 -5
- package/dist/collection/components/alert/bq-alert.js.map +1 -1
- package/dist/collection/components/alert/scss/bq-alert.css +1 -1
- package/dist/collection/components/avatar/bq-avatar.js +12 -12
- package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
- package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
- package/dist/collection/components/badge/bq-badge.js +3 -3
- package/dist/collection/components/badge/bq-badge.js.map +1 -1
- package/dist/collection/components/badge/scss/bq-badge.css +1 -1
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js +1 -1
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
- package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +3 -3
- package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
- package/dist/collection/components/button/bq-button.js +2 -2
- package/dist/collection/components/button/scss/bq-button.css +1 -1
- package/dist/collection/components/card/bq-card.js +4 -4
- package/dist/collection/components/card/bq-card.js.map +1 -1
- package/dist/collection/components/card/scss/bq-card.css +1 -1
- package/dist/collection/components/checkbox/bq-checkbox.js +3 -3
- 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 +106 -46
- package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
- package/dist/collection/components/dialog/bq-dialog.js +17 -7
- package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
- package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
- package/dist/collection/components/divider/bq-divider.js +37 -41
- package/dist/collection/components/divider/bq-divider.js.map +1 -1
- package/dist/collection/components/divider/scss/bq-divider.css +1 -1
- package/dist/collection/components/drawer/bq-drawer.js +130 -72
- package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
- package/dist/collection/components/drawer/bq-drawer.types.js +2 -0
- package/dist/collection/components/drawer/bq-drawer.types.js.map +1 -1
- package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
- package/dist/collection/components/dropdown/bq-dropdown.js +3 -3
- package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
- package/dist/collection/components/dropdown/scss/bq-dropdown.css +1 -1
- package/dist/collection/components/empty-state/bq-empty-state.js +13 -13
- package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
- 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/bq-icon.js.map +1 -1
- package/dist/collection/components/icon/scss/bq-icon.css +1 -1
- package/dist/collection/components/input/bq-input.js +4 -4
- package/dist/collection/components/input/scss/bq-input.css +1 -1
- package/dist/collection/components/notification/bq-notification.js +3 -3
- 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/scss/bq-option.css +1 -1
- package/dist/collection/components/option-group/bq-option-group.js +1 -1
- package/dist/collection/components/option-group/bq-option-group.js.map +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/page-title/bq-page-title.js +79 -0
- package/dist/collection/components/page-title/bq-page-title.js.map +1 -0
- package/dist/collection/components/page-title/scss/bq-page-title.css +1 -0
- 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/panel/scss/bq-panel.css +1 -1
- package/dist/collection/components/progress/bq-progress.js +6 -6
- package/dist/collection/components/progress/bq-progress.js.map +1 -1
- package/dist/collection/components/progress/scss/bq-progress.css +1 -1
- package/dist/collection/components/radio/bq-radio.js +2 -2
- package/dist/collection/components/radio/scss/bq-radio.css +1 -1
- package/dist/collection/components/radio-group/bq-radio-group.js +1 -1
- package/dist/collection/components/radio-group/scss/bq-radio-group.css +1 -1
- package/dist/collection/components/select/bq-select.js +6 -6
- 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 +1 -1
- package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
- package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
- package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
- package/dist/collection/components/slider/bq-slider.js +6 -6
- package/dist/collection/components/slider/bq-slider.js.map +1 -1
- package/dist/collection/components/slider/scss/bq-slider.css +1 -1
- package/dist/collection/components/spinner/bq-spinner.js +4 -4
- package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
- 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/bq-status.js.map +1 -1
- package/dist/collection/components/status/scss/bq-status.css +1 -1
- package/dist/collection/components/step-item/bq-step-item.js +8 -8
- 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 +4 -4
- package/dist/collection/components/steps/bq-steps.js.map +1 -1
- package/dist/collection/components/steps/scss/bq-steps.css +1 -1
- package/dist/collection/components/switch/bq-switch.js +3 -3
- 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 +2 -2
- package/dist/collection/components/tab/scss/bq-tab.css +1 -1
- package/dist/collection/components/tab-group/bq-tab-group.js +1 -1
- package/dist/collection/components/tab-group/scss/bq-tab-group.css +1 -1
- package/dist/collection/components/tag/bq-tag.js +3 -3
- package/dist/collection/components/tag/scss/bq-tag.css +1 -1
- package/dist/collection/components/textarea/bq-textarea.js +3 -3
- package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
- package/dist/collection/components/toast/bq-toast.js +1 -1
- package/dist/collection/components/toast/scss/bq-toast.css +1 -1
- package/dist/collection/components/tooltip/bq-tooltip.js +3 -3
- package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
- package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
- package/dist/collection/global/scripts/global.js.map +1 -1
- package/dist/collection/services/interfaces/floating-ui.js.map +1 -1
- package/dist/collection/shared/utils/assetsPath.js.map +1 -1
- package/dist/components/assetsPath.js.map +1 -1
- package/dist/components/bq-accordion-group.js +10 -5
- package/dist/components/bq-accordion-group.js.map +1 -1
- package/dist/components/bq-accordion.js +37 -11
- package/dist/components/bq-accordion.js.map +1 -1
- package/dist/components/bq-alert.js +6 -6
- package/dist/components/bq-alert.js.map +1 -1
- package/dist/components/bq-avatar.js +15 -15
- package/dist/components/bq-avatar.js.map +1 -1
- package/dist/components/bq-badge2.js +4 -4
- package/dist/components/bq-badge2.js.map +1 -1
- package/dist/components/bq-breadcrumb-item.js +4 -4
- package/dist/components/bq-breadcrumb-item.js.map +1 -1
- package/dist/components/bq-breadcrumb.js +2 -2
- package/dist/components/bq-breadcrumb.js.map +1 -1
- package/dist/components/bq-button2.js +3 -3
- package/dist/components/bq-button2.js.map +1 -1
- package/dist/components/bq-card.js +5 -5
- package/dist/components/bq-card.js.map +1 -1
- package/dist/components/bq-checkbox.js +3 -3
- package/dist/components/bq-checkbox.js.map +1 -1
- package/dist/components/bq-date-picker.js +57 -18
- package/dist/components/bq-date-picker.js.map +1 -1
- package/dist/components/bq-dialog.js +18 -8
- package/dist/components/bq-dialog.js.map +1 -1
- package/dist/components/bq-divider2.js +35 -36
- package/dist/components/bq-divider2.js.map +1 -1
- package/dist/components/bq-drawer.js +73 -39
- package/dist/components/bq-drawer.js.map +1 -1
- package/dist/components/bq-dropdown2.js +2 -2
- package/dist/components/bq-dropdown2.js.map +1 -1
- package/dist/components/bq-empty-state.js +14 -14
- package/dist/components/bq-empty-state.js.map +1 -1
- package/dist/components/bq-icon2.js +2 -2
- package/dist/components/bq-icon2.js.map +1 -1
- package/dist/components/bq-input.js +5 -5
- package/dist/components/bq-input.js.map +1 -1
- package/dist/components/bq-notification.js +4 -4
- package/dist/components/bq-notification.js.map +1 -1
- package/dist/components/bq-option-group.js +2 -2
- package/dist/components/bq-option-group.js.map +1 -1
- package/dist/components/bq-option-list2.js +3 -13
- package/dist/components/bq-option-list2.js.map +1 -1
- package/dist/components/bq-option.js +5 -5
- package/dist/components/bq-option.js.map +1 -1
- package/dist/components/bq-page-title.d.ts +11 -0
- package/dist/components/bq-page-title.js +83 -0
- package/dist/components/bq-page-title.js.map +1 -0
- package/dist/components/bq-panel2.js +2 -2
- package/dist/components/bq-panel2.js.map +1 -1
- package/dist/components/bq-progress.js +7 -7
- package/dist/components/bq-progress.js.map +1 -1
- package/dist/components/bq-radio-group.js +2 -2
- package/dist/components/bq-radio-group.js.map +1 -1
- package/dist/components/bq-radio.js +3 -3
- package/dist/components/bq-radio.js.map +1 -1
- package/dist/components/bq-select.js +5 -5
- 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-item.js.map +1 -1
- package/dist/components/bq-side-menu.js +2 -2
- package/dist/components/bq-side-menu.js.map +1 -1
- package/dist/components/bq-slider.js +7 -7
- package/dist/components/bq-slider.js.map +1 -1
- package/dist/components/bq-spinner.js +5 -5
- package/dist/components/bq-spinner.js.map +1 -1
- package/dist/components/bq-status.js +2 -2
- package/dist/components/bq-status.js.map +1 -1
- package/dist/components/bq-step-item.js +8 -8
- package/dist/components/bq-step-item.js.map +1 -1
- package/dist/components/bq-steps.js +4 -4
- package/dist/components/bq-steps.js.map +1 -1
- package/dist/components/bq-switch.js +4 -4
- package/dist/components/bq-switch.js.map +1 -1
- package/dist/components/bq-tab-group.js +2 -2
- package/dist/components/bq-tab-group.js.map +1 -1
- package/dist/components/bq-tab.js +3 -3
- package/dist/components/bq-tab.js.map +1 -1
- package/dist/components/bq-tag2.js +4 -4
- package/dist/components/bq-tag2.js.map +1 -1
- package/dist/components/bq-textarea.js +4 -4
- package/dist/components/bq-textarea.js.map +1 -1
- package/dist/components/bq-toast.js +2 -2
- package/dist/components/bq-toast.js.map +1 -1
- package/dist/components/bq-tooltip2.js +2 -2
- package/dist/components/bq-tooltip2.js.map +1 -1
- package/dist/components/event.js +18 -0
- package/dist/components/event.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +398 -357
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +28 -16
- package/dist/components/index2.js.map +1 -1
- package/dist/esm/{app-globals-fe9e74f7.js → app-globals-de5a646b.js} +397 -357
- package/dist/esm/{app-globals-fe9e74f7.js.map → app-globals-de5a646b.js.map} +1 -1
- package/dist/esm/assetsPath-4b5ef75f.js.map +1 -1
- package/dist/esm/beeq.js +5 -5
- package/dist/esm/beeq.js.map +1 -1
- package/dist/esm/bq-accordion-group.entry.js +7 -4
- package/dist/esm/bq-accordion-group.entry.js.map +1 -1
- package/dist/esm/bq-accordion.entry.js +35 -11
- package/dist/esm/bq-accordion.entry.js.map +1 -1
- package/dist/esm/bq-alert.entry.js +7 -7
- package/dist/esm/bq-alert.entry.js.map +1 -1
- package/dist/esm/bq-avatar.entry.js +14 -14
- package/dist/esm/bq-avatar.entry.js.map +1 -1
- package/dist/esm/bq-badge.entry.js +5 -5
- package/dist/esm/bq-badge.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb-item.entry.js +5 -5
- package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb.entry.js +3 -3
- 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 +6 -6
- package/dist/esm/bq-card.entry.js.map +1 -1
- package/dist/esm/bq-checkbox.entry.js +4 -4
- package/dist/esm/bq-checkbox.entry.js.map +1 -1
- package/dist/esm/bq-date-picker.entry.js +52 -16
- package/dist/esm/bq-date-picker.entry.js.map +1 -1
- package/dist/esm/bq-dialog.entry.js +19 -9
- package/dist/esm/bq-dialog.entry.js.map +1 -1
- package/dist/esm/bq-divider.entry.js +36 -37
- package/dist/esm/bq-divider.entry.js.map +1 -1
- package/dist/esm/bq-drawer.entry.js +68 -36
- 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 +15 -15
- package/dist/esm/bq-empty-state.entry.js.map +1 -1
- package/dist/esm/bq-input.entry.js +6 -6
- package/dist/esm/bq-input.entry.js.map +1 -1
- package/dist/esm/bq-notification.entry.js +5 -5
- 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 +6 -6
- package/dist/esm/bq-option-list_2.entry.js.map +1 -1
- package/dist/esm/bq-option.entry.js +6 -6
- package/dist/esm/bq-option.entry.js.map +1 -1
- package/dist/esm/bq-page-title.entry.js +61 -0
- package/dist/esm/bq-page-title.entry.js.map +1 -0
- package/dist/esm/bq-progress.entry.js +8 -8
- package/dist/esm/bq-progress.entry.js.map +1 -1
- package/dist/esm/bq-radio-group.entry.js +3 -3
- package/dist/esm/bq-radio-group.entry.js.map +1 -1
- package/dist/esm/bq-radio.entry.js +4 -4
- package/dist/esm/bq-radio.entry.js.map +1 -1
- package/dist/esm/bq-select.entry.js +6 -6
- 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-side-menu.entry.js.map +1 -1
- package/dist/esm/bq-slider.entry.js +8 -8
- package/dist/esm/bq-slider.entry.js.map +1 -1
- package/dist/esm/bq-spinner.entry.js +6 -6
- package/dist/esm/bq-spinner.entry.js.map +1 -1
- package/dist/esm/bq-status.entry.js +3 -3
- package/dist/esm/bq-status.entry.js.map +1 -1
- package/dist/esm/bq-step-item.entry.js +9 -9
- package/dist/esm/bq-step-item.entry.js.map +1 -1
- package/dist/esm/bq-steps.entry.js +5 -5
- package/dist/esm/bq-steps.entry.js.map +1 -1
- package/dist/esm/bq-switch.entry.js +5 -5
- package/dist/esm/bq-switch.entry.js.map +1 -1
- package/dist/esm/bq-tab-group.entry.js +3 -3
- package/dist/esm/bq-tab-group.entry.js.map +1 -1
- package/dist/esm/bq-tab.entry.js +4 -4
- package/dist/esm/bq-tab.entry.js.map +1 -1
- package/dist/esm/bq-textarea.entry.js +5 -5
- package/dist/esm/bq-textarea.entry.js.map +1 -1
- package/dist/esm/bq-toast.entry.js +3 -3
- package/dist/esm/bq-toast.entry.js.map +1 -1
- package/dist/esm/bq-tooltip.entry.js +4 -4
- package/dist/esm/bq-tooltip.entry.js.map +1 -1
- package/dist/esm/{index-359de4ba.js → index-138f308e.js} +29 -17
- package/dist/esm/index-138f308e.js.map +1 -0
- package/dist/esm/{index-81f7322c.js → index-93763e96.js} +785 -767
- package/dist/esm/index-93763e96.js.map +1 -0
- package/dist/esm/loader.js +4 -4
- package/dist/hydrate/index.d.ts +29 -11
- package/dist/hydrate/index.js +789 -591
- package/dist/hydrate/index.mjs +26516 -0
- package/dist/hydrate/package.json +7 -1
- package/dist/loader/index.d.ts +3 -0
- package/dist/types/components/accordion/bq-accordion.d.ts +7 -0
- package/dist/types/components/accordion-group/bq-accordion-group.d.ts +7 -2
- package/dist/types/components/avatar/bq-avatar.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 +44 -31
- package/dist/types/components/dialog/bq-dialog.d.ts +2 -0
- package/dist/types/components/divider/bq-divider.d.ts +4 -4
- package/dist/types/components/drawer/bq-drawer.d.ts +19 -12
- package/dist/types/components/drawer/bq-drawer.types.d.ts +2 -0
- package/dist/types/components/dropdown/bq-dropdown.d.ts +2 -2
- package/dist/types/components/page-title/bq-page-title.d.ts +20 -0
- package/dist/types/components/panel/bq-panel.d.ts +2 -2
- package/dist/types/components/select/bq-select.d.ts +2 -2
- package/dist/types/components/step-item/bq-step-item.d.ts +2 -1
- package/dist/types/components/tooltip/bq-tooltip.d.ts +2 -2
- package/dist/types/components.d.ts +69 -21
- package/dist/types/global/scripts/global.d.ts +6 -1
- package/dist/types/services/interfaces/floating-ui.d.ts +1 -1
- package/dist/types/shared/test-utils/setProperties.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +0 -2
- package/package.json +4 -5
- package/dist/beeq/p-011648c1.entry.js.map +0 -1
- package/dist/beeq/p-1cec06b2.entry.js.map +0 -1
- package/dist/beeq/p-1d3a8563.entry.js.map +0 -1
- package/dist/beeq/p-1e0341c2.entry.js +0 -6
- package/dist/beeq/p-1e0341c2.entry.js.map +0 -1
- package/dist/beeq/p-2ae112f2.entry.js.map +0 -1
- package/dist/beeq/p-32a540a3.entry.js.map +0 -1
- package/dist/beeq/p-40a04899.entry.js +0 -6
- package/dist/beeq/p-40a04899.entry.js.map +0 -1
- package/dist/beeq/p-4161e228.entry.js.map +0 -1
- package/dist/beeq/p-44e85cc7.entry.js.map +0 -1
- package/dist/beeq/p-4569a7eb.entry.js +0 -6
- package/dist/beeq/p-4569a7eb.entry.js.map +0 -1
- package/dist/beeq/p-46efe162.entry.js.map +0 -1
- package/dist/beeq/p-4d9f03d7.entry.js.map +0 -1
- package/dist/beeq/p-59406ccb.entry.js.map +0 -1
- package/dist/beeq/p-60cfdd95.js +0 -6
- package/dist/beeq/p-60cfdd95.js.map +0 -1
- package/dist/beeq/p-7c0139af.js.map +0 -1
- package/dist/beeq/p-91fe8d9d.entry.js.map +0 -1
- package/dist/beeq/p-99569b08.entry.js.map +0 -1
- package/dist/beeq/p-9bc568c2.entry.js.map +0 -1
- package/dist/beeq/p-a2788d92.entry.js.map +0 -1
- package/dist/beeq/p-b38f3575.entry.js.map +0 -1
- package/dist/beeq/p-b687639a.entry.js.map +0 -1
- package/dist/beeq/p-b8534cc7.entry.js.map +0 -1
- package/dist/beeq/p-b9455ea4.js +0 -7
- package/dist/beeq/p-b9455ea4.js.map +0 -1
- package/dist/beeq/p-bfcc83f2.entry.js +0 -6
- package/dist/beeq/p-bfcc83f2.entry.js.map +0 -1
- package/dist/beeq/p-c26c0ec7.entry.js +0 -6
- package/dist/beeq/p-c26c0ec7.entry.js.map +0 -1
- package/dist/beeq/p-c334917a.entry.js.map +0 -1
- package/dist/beeq/p-c70d895b.entry.js.map +0 -1
- package/dist/beeq/p-ca3eee1b.entry.js.map +0 -1
- package/dist/beeq/p-d1bec6cf.entry.js.map +0 -1
- package/dist/beeq/p-e1bf8339.entry.js +0 -6
- package/dist/beeq/p-e1bf8339.entry.js.map +0 -1
- package/dist/beeq/p-e6b0af67.entry.js.map +0 -1
- package/dist/beeq/p-eb910b4f.entry.js +0 -6
- package/dist/beeq/p-eb910b4f.entry.js.map +0 -1
- package/dist/beeq/p-f6215382.entry.js.map +0 -1
- package/dist/beeq/p-f8324eef.entry.js.map +0 -1
- package/dist/cjs/index-57a40a5c.js.map +0 -1
- package/dist/cjs/index-a08b6938.js.map +0 -1
- package/dist/collection/components/accordion/__tests__/bq-accordion.e2e.js +0 -101
- package/dist/collection/components/accordion/__tests__/bq-accordion.e2e.js.map +0 -1
- package/dist/collection/components/accordion-group/__tests__/bq-accordion-group.e2e.js +0 -156
- package/dist/collection/components/accordion-group/__tests__/bq-accordion-group.e2e.js.map +0 -1
- package/dist/collection/components/alert/__tests__/bq-alert.e2e.js +0 -119
- package/dist/collection/components/alert/__tests__/bq-alert.e2e.js.map +0 -1
- package/dist/collection/components/avatar/__tests__/bq-avatar.e2e.js +0 -75
- package/dist/collection/components/avatar/__tests__/bq-avatar.e2e.js.map +0 -1
- package/dist/collection/components/badge/__tests__/bq-badge.e2e.js +0 -52
- package/dist/collection/components/badge/__tests__/bq-badge.e2e.js.map +0 -1
- package/dist/collection/components/breadcrumb/__tests__/bq-breadcrumb.e2e.js +0 -88
- package/dist/collection/components/breadcrumb/__tests__/bq-breadcrumb.e2e.js.map +0 -1
- package/dist/collection/components/breadcrumb-item/__tests__/bq-breadcrumb-item.e2e.js +0 -38
- package/dist/collection/components/breadcrumb-item/__tests__/bq-breadcrumb-item.e2e.js.map +0 -1
- package/dist/collection/components/button/__tests__/bq-button.e2e.js +0 -162
- package/dist/collection/components/button/__tests__/bq-button.e2e.js.map +0 -1
- package/dist/collection/components/card/__tests__/bq-card.e2e.js +0 -43
- package/dist/collection/components/card/__tests__/bq-card.e2e.js.map +0 -1
- package/dist/collection/components/checkbox/__tests__/bq-checkbox.e2e.js +0 -89
- package/dist/collection/components/checkbox/__tests__/bq-checkbox.e2e.js.map +0 -1
- package/dist/collection/components/date-picker/__tests__/bq-date-picker.e2e.js +0 -67
- package/dist/collection/components/date-picker/__tests__/bq-date-picker.e2e.js.map +0 -1
- package/dist/collection/components/dialog/__tests__/bq-dialog.e2e.js +0 -32
- package/dist/collection/components/dialog/__tests__/bq-dialog.e2e.js.map +0 -1
- package/dist/collection/components/divider/__tests__/bq-divider.e2e.js +0 -59
- package/dist/collection/components/divider/__tests__/bq-divider.e2e.js.map +0 -1
- package/dist/collection/components/drawer/__tests__/bq-drawer.e2e.js +0 -123
- package/dist/collection/components/drawer/__tests__/bq-drawer.e2e.js.map +0 -1
- package/dist/collection/components/dropdown/__tests__/bq-dropdown.e2e.js +0 -78
- package/dist/collection/components/dropdown/__tests__/bq-dropdown.e2e.js.map +0 -1
- package/dist/collection/components/empty-state/__tests__/bq-empty-state.e2e.js +0 -34
- package/dist/collection/components/empty-state/__tests__/bq-empty-state.e2e.js.map +0 -1
- package/dist/collection/components/icon/__tests__/bq-icon.e2e.js +0 -68
- package/dist/collection/components/icon/__tests__/bq-icon.e2e.js.map +0 -1
- package/dist/collection/components/icon/helper/icons-set.js +0 -1262
- package/dist/collection/components/icon/helper/icons-set.js.map +0 -1
- package/dist/collection/components/input/__tests__/bq-input.e2e.js +0 -113
- package/dist/collection/components/input/__tests__/bq-input.e2e.js.map +0 -1
- package/dist/collection/components/notification/__tests__/bq-notification.e2e.js +0 -119
- package/dist/collection/components/notification/__tests__/bq-notification.e2e.js.map +0 -1
- package/dist/collection/components/option/__tests__/bq-option.e2e.js +0 -125
- package/dist/collection/components/option/__tests__/bq-option.e2e.js.map +0 -1
- package/dist/collection/components/option-group/__tests__/bq-option-group.e2e.js +0 -77
- package/dist/collection/components/option-group/__tests__/bq-option-group.e2e.js.map +0 -1
- package/dist/collection/components/option-list/__tests__/bq-option-list.e2e.js +0 -55
- package/dist/collection/components/option-list/__tests__/bq-option-list.e2e.js.map +0 -1
- package/dist/collection/components/panel/__tests__/bq-panel.e2e.js +0 -43
- package/dist/collection/components/panel/__tests__/bq-panel.e2e.js.map +0 -1
- package/dist/collection/components/progress/__tests__/bq-progress.e2e.js +0 -97
- package/dist/collection/components/progress/__tests__/bq-progress.e2e.js.map +0 -1
- package/dist/collection/components/radio/__tests__/bq-radio.e2e.js +0 -94
- package/dist/collection/components/radio/__tests__/bq-radio.e2e.js.map +0 -1
- package/dist/collection/components/select/__tests__/bq-select.e2e.js +0 -167
- package/dist/collection/components/select/__tests__/bq-select.e2e.js.map +0 -1
- package/dist/collection/components/side-menu/__tests__/bq-side-menu.e2e.js +0 -76
- package/dist/collection/components/side-menu/__tests__/bq-side-menu.e2e.js.map +0 -1
- package/dist/collection/components/side-menu-item/__tests__/bq-side-menu-item.e2e.js +0 -127
- package/dist/collection/components/side-menu-item/__tests__/bq-side-menu-item.e2e.js.map +0 -1
- package/dist/collection/components/slider/__tests__/bq-slider.e2e.js +0 -113
- package/dist/collection/components/slider/__tests__/bq-slider.e2e.js.map +0 -1
- package/dist/collection/components/spinner/__tests__/bq-spinner.e2e.js +0 -117
- package/dist/collection/components/spinner/__tests__/bq-spinner.e2e.js.map +0 -1
- package/dist/collection/components/status/__tests__/bq-status.e2e.js +0 -63
- package/dist/collection/components/status/__tests__/bq-status.e2e.js.map +0 -1
- package/dist/collection/components/step-item/__tests__/bq-step-item.e2e.js +0 -75
- package/dist/collection/components/step-item/__tests__/bq-step-item.e2e.js.map +0 -1
- package/dist/collection/components/steps/__tests__/bq-steps.e2e.js +0 -48
- package/dist/collection/components/steps/__tests__/bq-steps.e2e.js.map +0 -1
- package/dist/collection/components/switch/__tests__/bq-switch.e2e.js +0 -72
- package/dist/collection/components/switch/__tests__/bq-switch.e2e.js.map +0 -1
- package/dist/collection/components/tab/__tests__/bq-tab.e2e.js +0 -97
- package/dist/collection/components/tab/__tests__/bq-tab.e2e.js.map +0 -1
- package/dist/collection/components/tab-group/__tests__/bq-tab-group.e2e.js +0 -102
- package/dist/collection/components/tab-group/__tests__/bq-tab-group.e2e.js.map +0 -1
- package/dist/collection/components/tag/__tests__/bq-tag.e2e.js +0 -102
- package/dist/collection/components/tag/__tests__/bq-tag.e2e.js.map +0 -1
- package/dist/collection/components/textarea/__tests__/bq-textarea.e2e.js +0 -120
- package/dist/collection/components/textarea/__tests__/bq-textarea.e2e.js.map +0 -1
- package/dist/collection/components/toast/__tests__/bq-toast.e2e.js +0 -108
- package/dist/collection/components/toast/__tests__/bq-toast.e2e.js.map +0 -1
- package/dist/collection/components/tooltip/__tests__/bq-tooltip.e2e.js +0 -80
- package/dist/collection/components/tooltip/__tests__/bq-tooltip.e2e.js.map +0 -1
- package/dist/esm/index-359de4ba.js.map +0 -1
- package/dist/esm/index-81f7322c.js.map +0 -1
- package/dist/types/components/icon/helper/icons-set.d.ts +0 -8
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DATE_PICKER_TYPE","bqDatePickerCss","BqDatePickerStyle0","BqDatePicker","this","fallbackInputId","COMMON_EXPORT_PARTS","BUTTON_EXPORT_PARTS","handleBlur","disabled","bqBlur","emit","el","handleFocus","bqFocus","handleChange","ev","isHTMLElement","target","dateValue","Date","value","isNaN","getTime","toLocaleDateString","formattedDate","formatDate","bqChange","handleCalendarChange","inputElem","focus","open","type","handleClearClick","bqClear","stopPropagation","handleLabelSlotChange","hasLabel","hasSlotContent","labelElem","handlePrefixSlotChange","hasPrefix","prefixElem","handleSuffixSlotChange","hasSuffix","suffixElem","generateCalendarMonth","offset","className","h","class","exportparts","generateCalendarMonths","months","Array","from","length","_","i","undefined","focusedDate","dateRegex","match","exec","dateFormatter","Intl","DateTimeFormat","locale","formatOptions","start","end","split","map","dateStr","formatRange","dates","date","format","join","day","month","year","handleValueChange","isArray","hasValue","some","val","isDefined","checkPropValues","validatePropValue","componentDidLoad","handleOpenChange","composedPath","includes","detail","clear","CalendarType","componentTypes","single","multi","range","render","CallyCalendar","labelId","name","key","part","id","htmlFor","ref","onSlotchange","distance","panelHeight","placement","skidding","strategy","validationStatus","slot","spanElem","autoComplete","autoCapitalize","autoFocus","autofocus","form","placeholder","readonly","required","spellcheck","onBlur","onFocus","onChange","disableClear","appearance","clearButtonLabel","size","onBqClick","weight","isDateDisallowed","min","max","monthsPerView","firstDayOfWeek","showOutsideDays","color","label"],"sources":["../../packages/beeq/src/components/date-picker/bq-date-picker.types.ts","../../packages/beeq/src/components/date-picker/scss/bq-date-picker.scss?tag=bq-date-picker&encapsulation=shadow","../../packages/beeq/src/components/date-picker/bq-date-picker.tsx"],"sourcesContent":["export type DaysOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const DATE_PICKER_TYPE = ['single', 'multi', 'range'] as const;\nexport type TDatePickerType = (typeof DATE_PICKER_TYPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Date picker styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-date-picker.variables';\n\n:host {\n @apply block w-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__label {\n @apply mb-[--bq-date-picker--label-margin-bottom] flex flex-grow items-center gap-[--bq-date-picker--gap];\n @apply text-[length:--bq-date-picker--label-text-size] text-[color:--bq-date-picker--label-text-color];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Date picker input group control */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control {\n @apply flex w-full items-center transition-[border-color,box-shadow];\n // Border\n @apply rounded-[--bq-date-picker--border-radius] border-[length:--bq-date-picker--border-width] border-[color:--bq-date-picker--border-color];\n // Padding\n @apply py-[--bq-date-picker--paddingY] pe-[--bq-date-picker--padding-end] ps-[--bq-date-picker--padding-start];\n // Text\n @apply select-none text-[length:--bq-date-picker--text-size] text-[color:--bq-date-picker--text-color] placeholder:text-[color:--bq-date-picker--text-placeholder-color];\n // Hover\n @apply [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-brand;\n\n border-style: var(--bq-date-picker--border-style);\n\n // Focus\n &:not(.disabled):focus-within {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n\n @apply focus border-[color:--bq-focus];\n }\n\n // Enable clear button whenever the input group control is hovered or has focus\n &:not(.disabled):hover,\n &:not(.disabled):focus-within {\n .bq-date-picker__control--clear {\n @apply inline-block;\n }\n }\n}\n\n.bq-date-picker__control.disabled {\n @apply cursor-not-allowed opacity-60;\n}\n\n/* ------------------------------- Validation ------------------------------- */\n\n.bq-date-picker__control.validation-error {\n @apply border-stroke-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.danger);\n\n @apply border-active-stroke-danger;\n }\n}\n\n.bq-date-picker__control.validation-success {\n @apply border-stroke-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.success);\n\n @apply border-active-stroke-success;\n }\n}\n\n.bq-date-picker__control.validation-warning {\n @apply border-stroke-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.warning);\n\n @apply border-active-stroke-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Input */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--input {\n @apply flex-auto cursor-[inherit] select-none appearance-none bg-[inherit] font-[inherit] text-[length:inherit] text-[color:inherit];\n @apply m-0 min-h-[--bq-date-picker--icon-size] min-w-[0] border-none p-0 focus:outline-none focus-visible:outline-none;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Clear button */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--clear::part(button) {\n // Since the clear button is inside the input group control,\n // we need to reset the focus ring styles\n --bq-ring-width: initial;\n --bq-ring-offset-width: initial;\n --bq-ring-color-focus: initial;\n\n @apply h-auto rounded-xs border-none p-0;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and suffix */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--prefix,\n.bq-date-picker__control--suffix {\n @apply pointer-events-none flex items-center text-[color:--bq-date-picker--text-color];\n}\n\n.bq-date-picker__control--prefix {\n @apply me-[--bq-date-picker--gap];\n}\n\n.bq-date-picker__control--suffix {\n @apply ms-[--bq-date-picker--gap];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Slotted and internal icons */\n/* -------------------------------------------------------------------------- */\n\nbq-icon,\n::slotted(bq-icon) {\n --bq-icon--size: var(--bq-date-picker--icon-size) !important;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Customize Cally date picker */\n/* -------------------------------------------------------------------------- */\n\ncalendar-date,\ncalendar-range,\ncalendar-multi {\n &::part(header) {\n @apply justify-center gap-s;\n }\n\n &::part(heading) {\n @apply px-xs py-xs2;\n }\n\n &::part(button) {\n @apply rounded-s border-0 bg-transparent p-xs2 transition-colors duration-200;\n @apply focus-visible:focus hover:bg-hover-ui-primary;\n }\n\n &::part(container) {\n @apply bg-[--bq-date-picker--background-color] p-0;\n }\n}\n\ncalendar-month {\n /* stylelint-disable-next-line custom-property-pattern */\n --color-accent: var(--bq-ui--brand);\n\n &::part(button) {\n @apply flex items-center justify-center rounded-s bg-transparent p-0 font-default text-text-primary transition-colors duration-200 ease-in-out;\n @apply size-[--bq-date-picker--day-size] focus-visible:focus hover:bg-hover-bg-secondary;\n }\n\n &::part(button day selected) {\n @apply bg-[--bq-date-picker--range-background-color] hover:bg-hover-ui-brand;\n }\n\n &::part(outside) {\n @apply text-[--bq-text--secondary] opacity-100;\n }\n\n &::part(selected) {\n @apply rounded-s text-[color:var(--bq-text--alt)];\n }\n\n &::part(range-inner) {\n @apply rounded-none;\n }\n\n &::part(today) {\n @apply rounded-s border-[length:--bq-date-picker--currentDate-border-width] border-[color:--bq-date-picker--currentDate-border-color] text-[color:--bq-date-picker--currentDate-text-color];\n\n border-style: var(--bq-date-picker--border-style);\n }\n\n &::part(today selected) {\n @apply text-[color:var(--bq-text--alt)];\n }\n\n &::part(today range-inner) {\n @apply rounded-none;\n }\n\n &::part(today range-start) {\n @apply rounded-s rounded-es-none;\n }\n\n &::part(today range-end) {\n @apply rounded-s rounded-ee-none;\n }\n\n &::part(range-start) {\n @apply rounded-ee-none rounded-se-none;\n }\n\n &::part(range-end) {\n @apply rounded-es-none rounded-ss-none;\n }\n\n &::part(range-start range-end) {\n @apply rounded-s;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { DATE_PICKER_TYPE, DaysOfWeek, TDatePickerType } from './bq-date-picker.types';\nimport { FloatingUIPlacement } from '../../services/interfaces';\nimport { hasSlotContent, isDefined, isHTMLElement, validatePropValue } from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\n/**\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part input - The native HTML input element used under the hood.\n * @part label - The label slot container.\n * @part panel - The date picker panel container\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n\n// Parts from the Cally library for calendar-date and calendar-range components:\n * @part container - The container for the entire component.\n * @part header - The container for heading and button's.\n * @part button - Any button within the component.\n * @part previous - The previous page button.\n * @part next - The next page button.\n * @part disabled - A button that is disabled due to min/max.\n * @part heading - The heading containing the month and year.\n\n// Parts specific to the calendar-month component:\n * @part heading - The heading that labels the month.\n * @part table - The <table> element.\n * @part tr - Any row within the table.\n * @part head - The table's header row.\n * @part week - The table's body rows.\n * @part th - The table's header cells.\n * @part td - The table's body cells.\n * @part button - Any button used in the component.\n * @part day - The buttons corresponding to each day in the grid.\n * @part selected - Any days which are selected.\n * @part today - Today's day.\n * @part disallowed - Any day that has been disallowed via isDateDisallowed.\n * @part outside - Any days which are outside the current month.\n * @part range-start - The day at the start of a date range.\n * @part range-end - The day at the end of a date range.\n * @part range-inner - Any days between the start and end of a date range.\n */\n@Component({\n tag: 'bq-date-picker',\n styleUrl: './scss/bq-date-picker.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqDatePicker {\n // Own Properties\n // ====================\n\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private fallbackInputId = 'date-picker';\n\n // Export parts of the calendar-month component\n private readonly COMMON_EXPORT_PARTS = 'heading,table,tr,head,week,th,td';\n private readonly BUTTON_EXPORT_PARTS =\n 'button,day,selected,today,disallowed,outside,range-start,range-end,range-inner';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDatePickerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() formattedDate: string;\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /** If `true`, the Date picker input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /** If `true`, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /**\n * Indicates whether the Date picker input is disabled or not.\n * If `true`, the Date picker is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** Represents the distance (gutter or margin) between the Date picker panel and the input element. */\n @Prop({ reflect: true }) distance?: number = 8;\n\n /** The first day of the week, where Sunday is 0, Monday is 1, etc */\n @Prop({ reflect: true }) firstDayOfWeek?: DaysOfWeek = 1;\n\n /** The options to use when formatting the displayed value.\n * Details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options\n */\n @Prop() formatOptions: Intl.DateTimeFormatOptions = {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n };\n\n /** The ID of the form that the Date picker input belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** A function that takes a date and returns true if the date should not be selectable */\n @Prop({ reflect: true }) isDateDisallowed?: (date: Date) => boolean;\n\n /** The locale for formatting dates. If not set, will use the browser's locale.\n * Details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument\n */\n @Prop({ reflect: true }) locale: Intl.LocalesArgument = 'en-GB';\n\n /** The latest date that can be selected */\n @Prop({ reflect: true }) max?: string;\n\n /** The earliest date that can be selected */\n @Prop({ reflect: true }) min?: string;\n\n /** Number of months to show when range is `true` */\n @Prop({ reflect: true }) months: number;\n\n /** The number of months to display per page when using next/previous buttons. */\n @Prop({ reflect: true }) monthsPerView: number = 1;\n\n /** The Date picker input name. */\n @Prop({ reflect: true }) name!: string;\n\n /** If `true`, the Date picker panel will be visible. */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n /** When set, it will override the height of the Date picker panel. */\n @Prop({ reflect: true, mutable: true }) panelHeight?: string = 'auto';\n\n /** The Date picker input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** Position of the Date picker panel */\n @Prop({ reflect: true }) placement?: FloatingUIPlacement = 'bottom-end';\n\n /** Indicates whether or not the Date picker input is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /** Represents the skidding between the Date picker panel and the input element. */\n @Prop({ reflect: true }) skidding?: number = 0;\n\n /** Whether to show days outside the month */\n @Prop({ reflect: true }) showOutsideDays: boolean = false;\n\n /** Defines the strategy to position the Date picker panel */\n @Prop({ reflect: true }) strategy?: 'fixed' | 'absolute' = 'fixed';\n\n /** It defines how the calendar will behave, allowing single date selection, range selection, or multiple date selection */\n @Prop({ reflect: true }) type: TDatePickerType = 'single';\n\n /**\n * The validation status of the Select input.\n *\n * @remarks\n * This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The select input value represents the currently selected date or range and can be used to reset the field to a previous value.\n * All dates are expected in ISO-8601 format (YYYY-MM-DD). */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (Array.isArray(this.value)) {\n this.hasValue = this.value.some((val) => val.length > 0);\n return;\n }\n\n this.formattedDate = this.formatDate(this.value);\n this.hasValue = isDefined(this.value);\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(DATE_PICKER_TYPE, 'single', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqDatePickerElement>;\n\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n @Event() bqChange!: EventEmitter<{ value: string; el: HTMLBqDatePickerElement }>;\n\n /** Callback handler emitted when the input value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqDatePickerElement>;\n\n /** Callback handler emitted when the input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqDatePickerElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.handleValueChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqOpen', { capture: true })\n handleOpenChange(ev: CustomEvent<{ open: boolean }>) {\n if (!ev.composedPath().includes(this.el)) return;\n\n this.open = ev.detail.open;\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /**\n * Clears the selected value.\n *\n * @return {Promise<void>}\n * @memberof BqInput\n */\n @Method()\n async clear(): Promise<void> {\n if (this.disabled) return;\n\n this.value = undefined;\n\n this.bqClear.emit(this.el);\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'input')) return;\n\n const dateValue = new Date(ev.target.value);\n if (!isNaN(dateValue.getTime())) {\n // We need to force the value to respect the format: yyyy-mm-dd, hence the hardcoded locale\n this.value = dateValue.toLocaleDateString('fr-CA');\n this.formattedDate = this.formatDate(this.value);\n this.bqChange.emit({ value: this.value, el: this.el });\n }\n };\n\n private handleCalendarChange = (ev: Event) => {\n const { value } = ev.target as unknown as { value: string };\n\n this.value = value;\n this.formattedDate = this.formatDate(this.value);\n this.inputElem.value = this.formattedDate;\n this.inputElem.focus();\n\n this.bqChange.emit({ value: this.value, el: this.el });\n\n this.open = this.type === 'multi';\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n if (this.disabled) return;\n\n this.inputElem.value = '';\n this.value = this.inputElem.value;\n\n this.bqClear.emit(this.el);\n this.bqChange.emit({ value: this.value, el: this.el });\n this.inputElem.focus();\n\n ev.stopPropagation();\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private generateCalendarMonth = (offset?: number, className = ''): JSX.Element => {\n return (\n <calendar-month\n offset={offset}\n class={className}\n exportparts={`${this.COMMON_EXPORT_PARTS},${this.BUTTON_EXPORT_PARTS}`}\n />\n );\n };\n\n /**\n * Generates an array of JSX.Element representing calendar months.\n *\n * If the type of the date picker is 'range' or 'multi' and the number of months is specified,\n * it generates an array of calendar months with the specified length. Each month will have an offset\n * and a class name based on its position in the array. The offset is used to determine the month to display,\n * and the class name is used for responsive design.\n *\n * If the type of the date picker is not 'range' or 'multi', or if the number of months is not specified,\n * it generates an array with a single calendar month.\n *\n * @returns {JSX.Element[]} An array of JSX.Element representing calendar months.\n */\n private generateCalendarMonths = (): JSX.Element[] => {\n if (this.type === 'range' || (this.type === 'multi' && this.months)) {\n return Array.from({ length: this.months }, (_, i) => {\n const offset = i > 0 ? i : undefined;\n const className = offset ? 'hidden sm:block' : '';\n return this.generateCalendarMonth(offset, className);\n });\n }\n\n return [this.generateCalendarMonth()];\n };\n\n /**\n * Extracts and returns the first date part from a given string.\n * When the type of the date picker is 'range' or 'multi', the first or initial date part of the value\n * should be the focused date in the calendar.\n *\n * @param value - The value to be processed, can be a string.\n * @returns The extracted last date portion of the value.\n */\n private focusedDate = (value: string) => {\n if (!value) return;\n\n const dateRegex = /\\b\\d{4}-\\d{2}-\\d{2}\\b/;\n const match = dateRegex.exec(value);\n return match ? match[0] : null;\n };\n\n private formatDate = (value: string): string | undefined => {\n if (!value) return;\n\n const dateFormatter = new Intl.DateTimeFormat(this.locale, this.formatOptions);\n\n if (this.type === 'range') {\n const [start, end] = value.split('/').map((dateStr) => new Date(dateStr));\n return dateFormatter.formatRange(start, end);\n }\n\n if (this.type === 'multi') {\n const dates = value.split(' ').map((dateStr) => new Date(dateStr));\n return dates.map((date) => dateFormatter.format(date)).join(', ');\n }\n\n return dateFormatter.format(new Date(value));\n };\n\n private get CalendarType() {\n const componentTypes = {\n single: 'calendar-date',\n multi: 'calendar-multi',\n range: 'calendar-range',\n } as const;\n\n // Return the corresponding component type, based on the type prop value\n return componentTypes[this.type] || componentTypes.single;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const CallyCalendar = this.CalendarType;\n const labelId = `bq-date-picker__label-${this.name || this.fallbackInputId}`;\n\n return (\n <div class=\"bq-date-picker\" part=\"base\">\n {/* Label */}\n <label\n id={labelId}\n class={{ 'bq-date-picker__label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem: HTMLSpanElement) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Select date picker dropdown */}\n <bq-dropdown\n class=\"bq-date-picker__dropdown w-full [&::part(panel)]:w-auto [&::part(panel)]:p-m\"\n disabled={this.disabled}\n distance={this.distance}\n open={this.open}\n panelHeight={this.panelHeight}\n placement={this.placement}\n skidding={this.skidding}\n strategy={this.strategy}\n exportparts=\"panel\"\n >\n {/* Input control group */}\n <div\n class={{\n 'bq-date-picker__control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n slot=\"trigger\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-date-picker__control--prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem: HTMLSpanElement) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-date-picker__control--input\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoFocus={this.autofocus}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`${this.name}`}\n aria-haspopup=\"dialog\"\n disabled={this.disabled}\n form={this.form}\n name={this.name}\n placeholder={this.placeholder}\n readonly={this.type !== 'single'}\n ref={(inputElem: HTMLInputElement) => (this.inputElem = inputElem)}\n required={this.required}\n spellcheck={false}\n type=\"text\"\n value={this.formattedDate}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n />\n {/* Clear Button */}\n {this.hasValue && !this.disabled && !this.disableClear && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-date-picker__control--clear ms-[--bq-date-picker--gap] hidden\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n >\n <slot name=\"clear-icon\">\n <bq-icon weight=\"bold\" name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class=\"bq-date-picker__control--suffix\"\n ref={(spanElem: HTMLSpanElement) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange}>\n <bq-icon name=\"calendar-blank\" weight=\"bold\" class=\"flex\" />\n </slot>\n </span>\n </div>\n <div class=\"flex items-center justify-center\">\n <CallyCalendar\n isDateDisallowed={this.isDateDisallowed}\n locale={this.locale as string}\n value={this.value}\n min={this.min}\n max={this.max}\n months={this.monthsPerView}\n focusedDate={this.focusedDate(this.value)}\n firstDayOfWeek={this.firstDayOfWeek}\n showOutsideDays={this.showOutsideDays}\n onChange={this.handleCalendarChange}\n exportparts=\"container,header,button,previous,next,disabled,heading\"\n >\n <bq-icon color=\"text--primary\" slot=\"previous\" name=\"caret-left\" label=\"Previous\" />\n <bq-icon color=\"text--primary\" slot=\"next\" name=\"caret-right\" label=\"Next\" />\n\n <div class=\"flex flex-wrap justify-center gap-[--bq-spacing-m]\">{this.generateCalendarMonths()}</div>\n </CallyCalendar>\n </div>\n </bq-dropdown>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built by Endavans
|
|
3
|
-
* © https://beeq.design - Apache 2 License.
|
|
4
|
-
*/
|
|
5
|
-
import{r as e,c as r,h as a,g as t}from"./p-b9455ea4.js";import"./p-da31e531.js";import{d as b}from"./p-951ba558.js";import{i}from"./p-f33d1c98.js";import{i as n}from"./p-57621be1.js";import{i as o}from"./p-ecd27cf2.js";import{b as s,a as q}from"./p-d7a88b16.js";import"./p-99829fc7.js";const l='::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{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);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;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}}: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.light,.light,:root,[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-200);--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}.beeq.dark,.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-800);--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}.endava,[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,[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-200);--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-800);--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}.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))}.pointer-events-none{pointer-events:none}.m-0{margin:0}.mb-\\[--bq-select--label-margin-bottom\\]{margin-bottom:var(--bq-select--label-margin-bottom)}.me-\\[--bq-select--gap\\]{margin-inline-end:var(--bq-select--gap)}.ms-\\[--bq-select--gap\\]{margin-inline-start:var(--bq-select--gap)}.mt-\\[--bq-select--helper-margin-top\\]{margin-top:var(--bq-select--helper-margin-top)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.h-auto{height:auto}.min-h-\\[--bq-select--icon-size\\]{min-height:var(--bq-select--icon-size)}.w-full{width:100%}.min-w-\\[0\\]{min-width:0}.flex-auto{flex:1 1 auto}.cursor-\\[inherit\\]{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.select-none{user-select:none}.appearance-none{appearance:none}.items-center{align-items:center}.rounded-\\[--bq-select--border-radius\\]{border-radius:var(--bq-select--border-radius)}.rounded-xs{border-radius:var(--bq-radius--xs)}.border-\\[length\\:--bq-select--border-width\\]{border-width:var(--bq-select--border-width)}.border-none{border-style:none}.border-\\[color\\:--bq-select--border-color-focus\\]{border-color:var(--bq-select--border-color-focus)}.border-\\[color\\:--bq-select--border-color\\]{border-color:var(--bq-select--border-color)}.border-stroke-danger{border-color:var(--bq-stroke--danger)}.border-stroke-success{border-color:var(--bq-stroke--success)}.border-stroke-warning{border-color:var(--bq-stroke--warning)}.bg-\\[inherit\\]{background-color:inherit}.p-0{padding:0}.py-\\[--bq-select--paddingY\\]{padding-bottom:var(--bq-select--paddingY);padding-top:var(--bq-select--paddingY)}.pe-\\[--bq-select--padding-end\\]{padding-inline-end:var(--bq-select--padding-end)}.ps-\\[--bq-select--padding-start\\]{padding-inline-start:var(--bq-select--padding-start)}.font-\\[inherit\\]{font-family:inherit}.text-\\[length\\:--bq-select--helper-text-size\\]{font-size:var(--bq-select--helper-text-size)}.text-\\[length\\:--bq-select--label-text-size\\]{font-size:var(--bq-select--label-text-size)}.text-\\[length\\:--bq-select--text-size\\]{font-size:var(--bq-select--text-size)}.text-\\[length\\:inherit\\]{font-size:inherit}.text-\\[color\\:--bq-select--helper-text-color\\]{color:var(--bq-select--helper-text-color)}.text-\\[color\\:--bq-select--label-text-color\\]{color:var(--bq-select--label-text-color)}.text-\\[color\\:--bq-select--text-color\\]{color:var(--bq-select--text-color)}.text-\\[color\\:inherit\\]{color:inherit}.text-\\[color\\:var\\(--bq-select--text-color\\)\\]{color:var(--bq-select--text-color)}.text-text-danger{color:var(--bq-text--danger)}.text-text-success{color:var(--bq-text--success)}.text-text-warning{color:var(--bq-text--warning)}.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-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.border-active-stroke-danger{border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.border-active-stroke-success{border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.border-active-stroke-warning{border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.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-select--background-color:var(--bq-ui--primary);--bq-select--border-color:var(--bq-stroke--tertiary);--bq-select--border-color-focus:var(--bq-stroke--brand);--bq-select--border-radius:var(--bq-radius--s);--bq-select--border-width:var(--bq-stroke-s);--bq-select--border-style:solid;--bq-select--gap:var(--bq-spacing-xs);--bq-select--helper-margin-top:var(--bq-spacing-xs);--bq-select--helper-text-size:var(--bq-font-size--s);--bq-select--helper-text-color:var(--bq-text--primary);--bq-select--icon-size:24px;--bq-select--label-margin-bottom:var(--bq-spacing-xs);--bq-select--label-text-size:var(--bq-font-size--s);--bq-select--label-text-color:var(--bq-text--primary);--bq-select--padding-start:calc(var(--bq-spacing-m) - var(--bq-select--border-width));--bq-select--padding-end:calc(var(--bq-spacing-m) - var(--bq-select--border-width));--bq-select--paddingY:calc(var(--bq-spacing-s) - var(--bq-select--border-width));--bq-select--text-color:var(--bq-text--primary);--bq-select--text-size:var(--bq-font-size--m);--bq-select--text-placeholder-color:var(--bq-text--secondary);display:block;width:100%}.bq-select__label{align-items:center;color:var(--bq-select--label-text-color);display:flex;font-size:var(--bq-select--label-text-size);margin-bottom:var(--bq-select--label-margin-bottom)}.bq-select__helper-text{color:var(--bq-select--helper-text-color);font-size:var(--bq-select--helper-text-size);margin-top:var(--bq-select--helper-margin-top)}.bq-select__helper-text.validation-error{color:var(--bq-text--danger)}.bq-select__helper-text.validation-success{color:var(--bq-text--success)}.bq-select__helper-text.validation-warning{color:var(--bq-text--warning)}.bq-select__dropdown:has(:focus-within,:focus-visible) .bq-select__control{--bq-ring-width:1px;--bq-ring-offset-width:0;--bq-ring-color-focus:var(--bq-select--border-color-focus);border-color:var(--bq-select--border-color-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-select__control{align-items:center;border-color:var(--bq-select--border-color);border-radius:var(--bq-select--border-radius);border-style:var(--bq-select--border-style);border-width:var(--bq-select--border-width);color:var(--bq-select--text-color);display:flex;font-size:var(--bq-select--text-size);padding-bottom:var(--bq-select--paddingY);padding-inline-end:var(--bq-select--padding-end);padding-top:var(--bq-select--paddingY);padding-inline-start:var(--bq-select--padding-start);transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);user-select:none;width:100%}.bq-select__control::placeholder{color:var(--bq-select--text-placeholder-color)}.bq-select__control:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.bq-select__control:not(.disabled):focus-within .bq-select__control--clear,.bq-select__control:not(.disabled):hover .bq-select__control--clear{display:inline-block}.bq-select__control.disabled{cursor:not-allowed;opacity:.6}.bq-select__control.validation-error{border-color:var(--bq-stroke--danger)}.bq-select__control.validation-error:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-hover) 20%)}.bq-select__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-select__control.validation-success{border-color:var(--bq-stroke--success)}.bq-select__control.validation-success:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-hover) 20%)}.bq-select__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-select__control.validation-warning{border-color:var(--bq-stroke--warning)}.bq-select__control.validation-warning:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-hover) 20%)}.bq-select__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-select__control--input{appearance:none;background-color:inherit;border-style:none;-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:inherit;flex:1 1 auto;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;min-height:var(--bq-select--icon-size);min-width:0;padding:0;user-select:none}.bq-select__control--input:focus{outline:2px solid transparent;outline-offset:2px}.bq-select__control--input:focus-visible{outline:2px solid transparent;outline-offset:2px}.bq-select__control--clear::part(button){--bq-ring-width:initial;--bq-ring-offset-width:initial;--bq-ring-color-focus:initial;border-radius:var(--bq-radius--xs);border-style:none;height:auto;padding:0}.bq-select__control--prefix,.bq-select__control--suffix{align-items:center;color:var(--bq-select--text-color);display:flex;pointer-events:none}.bq-select__control--prefix{margin-inline-end:var(--bq-select--gap)}.bq-select__control--suffix{margin-inline-start:var(--bq-select--gap);transition-duration:.3s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}::slotted(bq-icon),bq-icon{--bq-icon--size:var(--bq-select--icon-size)!important}.placeholder\\:text-\\[color\\:--bq-select--text-placeholder-color\\]::placeholder{color:var(--bq-select--text-placeholder-color)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.rotate-0,.rotate-180{--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))}.blur,.filter{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}.me-xs2{margin-inline-end:var(--bq-spacing-xs2)}.\\!hidden{display:none!important}.hidden{display:none}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.rotate-0{--tw-rotate:0deg}.rotate-180{--tw-rotate:180deg}.gap-xs2{gap:var(--bq-spacing-xs2)}.overflow-x-auto{overflow-x:auto}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.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}}.\\[\\&\\>bq-tag\\:\\:part\\(text\\)\\]\\:text-nowrap>bq-tag::part(text){text-wrap:nowrap}.\\[\\&\\>bq-tag\\:\\:part\\(text\\)\\]\\:leading-small>bq-tag::part(text){line-height:var(--bq-font-line-height--small)}.\\[\\&\\>bq-tag\\]\\:inline-flex>bq-tag,.inline-flex{display:inline-flex}.text-m{font-size:var(--bq-font-size--m)}.text-s{font-size:var(--bq-font-size--s)}.text-xs{font-size:var(--bq-font-size--xs)}.h-\\[var\\(--bq-icon--size\\)\\]{height:var(--bq-icon--size)}.w-\\[var\\(--bq-icon--size\\)\\]{width:var(--bq-icon--size)}.text-\\[color\\:var\\(--bq-icon--color\\)\\]{color:var(--bq-icon--color)}.relative{position:relative}.flex-col{flex-direction:column}.gap-y-\\[--bq-option-group--gapY-list\\]{row-gap:var(--bq-option-group--gapY-list)}';const c=l;const d=class{constructor(a){e(this,a);this.bqBlur=r(this,"bqBlur",7);this.bqClear=r(this,"bqClear",7);this.bqFocus=r(this,"bqFocus",7);this.bqSelect=r(this,"bqSelect",7);this.fallbackInputId="select";this.handleBlur=()=>{if(this.disabled)return;this.bqBlur.emit(this.el)};this.handleFocus=()=>{if(this.disabled)return;this.bqFocus.emit(this.el)};this.handleSelect=e=>{if(this.disabled)return;if(this.multiple){e.stopPropagation()}const{value:r,item:a}=e.detail;if(this.multiple){this.handleMultipleSelection(a);this.inputElem.value="";this.bqSelect.emit({value:this.value,item:a})}else{this.value=r}this.resetOptionsVisibility();this.inputElem.focus()};this.handleMultipleSelection=e=>{const r=new Set(this.selectedOptions);if(r.has(e)){r.delete(e)}else{r.add(e)}this.selectedOptions=Array.from(r);this.value=this.selectedOptions.map((e=>e.value))};this.handleSearchFilter=e=>{var r,a;if(this.disabled)return;(r=this.debounceQuery)===null||r===void 0?void 0:r.cancel();const t=(a=e.target.value)===null||a===void 0?void 0:a.toLowerCase().trim();if(!i(t)){this.clear()}else{this.debounceQuery=b((()=>{this.options.forEach((e=>{const r=this.getOptionLabel(e).toLowerCase();e.hidden=!r.includes(t)}))}),this.debounceTime);this.debounceQuery()}this.open=true};this.handleClearClick=e=>{(async()=>{await this.clear()})();this.inputElem.focus();e.stopPropagation()};this.handleTagRemove=e=>{if(this.disabled)return;this.handleMultipleSelection(e);this.bqSelect.emit({value:this.value,item:e})};this.handleLabelSlotChange=()=>{this.hasLabel=s(this.labelElem)};this.handlePrefixSlotChange=()=>{this.hasPrefix=s(this.prefixElem)};this.handleSuffixSlotChange=()=>{this.hasSuffix=s(this.suffixElem)};this.handleHelperTextSlotChange=()=>{this.hasHelperText=s(this.helperTextElem)};this.resetOptionsVisibility=()=>{this.options.forEach((e=>e.hidden=false))};this.syncItemsFromValue=()=>{var e;const r=this.options;if(!r.length)return;this.options.forEach((e=>{if(this.multiple&&Array.isArray(this.value)){e.selected=this.value.includes(e.value)}else{e.selected=e.value.toLowerCase()===String(this.value).toLowerCase()}}));if(!this.multiple){const a=r.filter((e=>e.value===this.value))[0];this.displayValue=a?this.getOptionLabel(a):"";this.inputElem.value=(e=this.displayValue)!==null&&e!==void 0?e:""}else{this.selectedOptions=this.options.filter((e=>{var r;return(r=this.value)===null||r===void 0?void 0:r.includes(e.value)}))}};this.getOptionLabel=e=>{const r=e.shadowRoot.querySelector("slot:not([name])");if(!r)return;return q(r)};this.displayValue=undefined;this.hasHelperText=false;this.selectedOptions=[];this.hasLabel=false;this.hasPrefix=false;this.hasSuffix=false;this.hasValue=false;this.autofocus=undefined;this.clearButtonLabel="Clear value";this.debounceTime=0;this.disabled=false;this.disableClear=false;this.distance=8;this.form=undefined;this.keepOpenOnSelect=false;this.name=undefined;this.maxTagsVisible=2;this.multiple=false;this.open=false;this.panelHeight=undefined;this.placeholder=undefined;this.placement="bottom";this.readonly=undefined;this.required=undefined;this.sameWidth=true;this.skidding=0;this.strategy="fixed";this.validationStatus="none";this.value=undefined}handleValueChange(){if(this.multiple&&o(this.value)){this.value=Array.from(JSON.parse(String(this.value)));return}this.syncItemsFromValue()}connectedCallback(){if(this.multiple){this.value=Array.isArray(this.value)?this.value:Array.from(JSON.parse(String(this.value)))}}componentDidLoad(){if(this.multiple&&Array.isArray(this.value)){this.selectedOptions=this.options.filter((e=>this.value.includes(e.value)))}this.handleValueChange()}handleOpenChange(e){if(!e.composedPath().includes(this.el))return;this.open=e.detail.open}stopOptionFocusBlurPropagation(e){if(n(e.target,"bq-select"))return;e.stopPropagation()}async clear(){if(this.disabled)return;this.value=undefined;this.selectedOptions=[];if(!this.multiple){this.displayValue=undefined;this.inputElem.value=undefined}this.resetOptionsVisibility();this.bqClear.emit(this.el)}get options(){return Array.from(this.el.querySelectorAll("bq-option"))}get displayPlaceholder(){return this.multiple&&this.selectedOptions.length!==0?undefined:this.placeholder}get displayTags(){return this.selectedOptions.map(((e,r)=>{if(r<this.maxTagsVisible||this.maxTagsVisible<0){return a("bq-tag",{key:e.value,removable:true,size:"xsmall",variant:"filled",onBqClose:r=>{r.stopPropagation();this.handleTagRemove(e)},onClick:e=>e.stopPropagation(),exportparts:"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close",part:"tag"},this.getOptionLabel(e))}else if(r===this.maxTagsVisible){return a("bq-tag",{key:"more",size:"xsmall",variant:"filled",exportparts:"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close",part:"tag"},"+",this.selectedOptions.length-r)}return null}))}get hasClearIcon(){if(this.disableClear||this.disabled){return false}if(this.multiple){return this.selectedOptions.length>0}return i(this.displayValue)}render(){const e=`bq-select__label-${this.name||this.fallbackInputId}`;return a("div",{key:"93365bce60725fc80034b51de1e7ef751fe65c37",class:"bq-select",part:"base"},a("label",{key:"0065e122f209644a1fa877fed37b96cdd43332c2",id:e,class:{"bq-select__label":true,"!hidden":!this.hasLabel},htmlFor:this.name||this.fallbackInputId,ref:e=>this.labelElem=e,part:"label"},a("slot",{key:"377f747dacc7fdde8a131763d6f936643675606f",name:"label",onSlotchange:this.handleLabelSlotChange})),a("bq-dropdown",{key:"5e5a1cb415f5dca1cb5bd300a97551e619e8f7ec",class:"bq-select__dropdown w-full",disabled:this.disabled,distance:this.distance,keepOpenOnSelect:this.keepOpenOnSelect,open:this.open,panelHeight:this.panelHeight,placement:this.placement,sameWidth:this.sameWidth,skidding:this.skidding,strategy:this.strategy,exportparts:"panel"},a("div",{key:"e26f9abac85ac1aa4eef36866862eb9284a96aad",class:{"bq-select__control":true,[`validation-${this.validationStatus}`]:true,disabled:this.disabled},part:"control",slot:"trigger"},a("span",{key:"01ce8b1b75f83ab2cdec682ee2b68e1cd2cea2ab",class:{"bq-select__control--prefix":true,"!hidden":!this.hasPrefix},ref:e=>this.prefixElem=e,part:"prefix"},a("slot",{key:"0a6404d02c4cf3ea68d76cda304627629172d505",name:"prefix",onSlotchange:this.handlePrefixSlotChange})),a("div",{key:"5d9f95e9371c8dc78cbc89b519f1d523efb56fbb",class:"flex flex-1 overflow-x-auto",part:"input-outline"},this.multiple&&a("span",{key:"e2a41a90ff515cb050cb50d562fd3456a0c5a971",class:"me-xs2 flex flex-1 gap-xs2 [&>bq-tag::part(text)]:text-nowrap [&>bq-tag::part(text)]:leading-small [&>bq-tag]:inline-flex",part:"tags"},this.displayTags),a("input",{key:"179962a0c3572cf267c5787f5258f3251d0865a9",id:this.name||this.fallbackInputId,class:"bq-select__control--input w-full flex-grow",autoComplete:"off",autoCapitalize:"off",autoFocus:this.autofocus,"aria-disabled":this.disabled?"true":"false","aria-controls":`bq-options-${this.name}`,"aria-expanded":this.open?"true":"false","aria-haspopup":"listbox",disabled:this.disabled,form:this.form,name:this.name,placeholder:this.displayPlaceholder,ref:e=>this.inputElem=e,readOnly:this.readonly,required:this.required,role:"combobox",spellcheck:false,type:"text",value:this.displayValue,part:"input",onBlur:this.handleBlur,onFocus:this.handleFocus,onInput:this.handleSearchFilter})),this.hasClearIcon&&a("bq-button",{key:"2f94a0813747b23caaeaab20f28bd687b7cb7d3b",class:"bq-select__control--clear ms-[--bq-select--gap]",appearance:"text","aria-label":this.clearButtonLabel,size:"small",onBqClick:this.handleClearClick,part:"clear-btn",exportparts:"button",tabIndex:-1},a("slot",{key:"5b0168c7b8bce6ccc05080a8111216d098c987a7",name:"clear-icon"},a("bq-icon",{key:"ad6b5016896acb1226726599603465fb1b280b65",name:"x-circle",class:"flex"}))),a("span",{key:"505eebe64f8faed6b31a34b80429ea23a4517948",class:{"bq-select__control--suffix":true,"rotate-180":this.open,"rotate-0":!this.open},ref:e=>this.suffixElem=e,part:"suffix"},a("slot",{key:"f4ae5ea77e67b54e32206e68735a8eb1afd4d0e1",name:"suffix",onSlotchange:this.handleSuffixSlotChange},a("bq-icon",{key:"005e9c61ba8353db41f4aeb9ca0d5c47fae41bfe",name:"caret-down",class:"flex"})))),a("bq-option-list",{key:"206613838b1af99cbf41fe64bb9d5d008cd6fd92",id:`bq-options-${this.name}`,onBqSelect:this.handleSelect,"aria-expanded":this.open?"true":"false",exportparts:"base:option-list",role:"listbox"},a("slot",{key:"57b47f994fccfea12105b8fb45ab8f72766134a5"}))),a("div",{key:"3702dbb3eebc9485fc6089068c8aa3f318527c86",class:{[`bq-select__helper-text validation-${this.validationStatus}`]:true,"!hidden":!this.hasHelperText},ref:e=>this.helperTextElem=e,part:"helper-text"},a("slot",{key:"9464eeac52d5252be2e6d991688e4411a29bc148",name:"helper-text",onSlotchange:this.handleHelperTextSlotChange})))}static get delegatesFocus(){return true}get el(){return t(this)}static get watchers(){return{value:["handleValueChange"]}}};d.style=c;export{d as bq_select};
|
|
6
|
-
//# sourceMappingURL=p-c26c0ec7.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["bqSelectCss","BqSelectStyle0","BqSelect","this","fallbackInputId","handleBlur","disabled","bqBlur","emit","el","handleFocus","bqFocus","handleSelect","ev","multiple","stopPropagation","value","item","detail","handleMultipleSelection","inputElem","bqSelect","resetOptionsVisibility","focus","selectedOptionsSet","Set","selectedOptions","has","delete","add","Array","from","map","handleSearchFilter","_a","debounceQuery","cancel","query","_b","target","toLowerCase","trim","isDefined","clear","debounce","options","forEach","itemLabel","getOptionLabel","hidden","includes","debounceTime","open","handleClearClick","handleTagRemove","handleLabelSlotChange","hasLabel","hasSlotContent","labelElem","handlePrefixSlotChange","hasPrefix","prefixElem","handleSuffixSlotChange","hasSuffix","suffixElem","handleHelperTextSlotChange","hasHelperText","helperTextElem","syncItemsFromValue","items","length","option","isArray","selected","String","checkedItem","filter","displayValue","slot","shadowRoot","querySelector","getTextContent","handleValueChange","isString","JSON","parse","connectedCallback","componentDidLoad","handleOpenChange","composedPath","stopOptionFocusBlurPropagation","isHTMLElement","undefined","bqClear","querySelectorAll","displayPlaceholder","placeholder","displayTags","index","maxTagsVisible","h","key","removable","size","variant","onBqClose","event","onClick","exportparts","part","hasClearIcon","disableClear","render","labelId","name","class","id","htmlFor","ref","onSlotchange","distance","keepOpenOnSelect","panelHeight","placement","sameWidth","skidding","strategy","validationStatus","spanElem","autoComplete","autoCapitalize","autoFocus","autofocus","form","readOnly","readonly","required","role","spellcheck","type","onBlur","onFocus","onInput","appearance","clearButtonLabel","onBqClick","tabIndex","onBqSelect","divElem"],"sources":["../../packages/beeq/src/components/select/scss/bq-select.scss?tag=bq-select&encapsulation=shadow","../../packages/beeq/src/components/select/bq-select.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Select styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-select.variables';\n\n:host {\n @apply block w-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label and Helper text */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__label {\n @apply mb-[--bq-select--label-margin-bottom] flex items-center;\n @apply text-[length:--bq-select--label-text-size] text-[color:--bq-select--label-text-color];\n}\n\n.bq-select__helper-text {\n @apply mt-[--bq-select--helper-margin-top] text-[length:--bq-select--helper-text-size] text-[color:--bq-select--helper-text-color];\n}\n\n.bq-select__helper-text.validation-error {\n @apply text-text-danger;\n}\n\n.bq-select__helper-text.validation-success {\n @apply text-text-success;\n}\n\n.bq-select__helper-text.validation-warning {\n @apply text-text-warning;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Select input group control */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__dropdown:has(:focus-within, :focus-visible) {\n // The focus state will be controlled by the dropdown element\n // if any of its children has focus, the dropdown will set the focus state to the .bq-select__control\n .bq-select__control {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n --bq-ring-color-focus: var(--bq-select--border-color-focus);\n\n @apply focus border-[color:--bq-select--border-color-focus];\n }\n}\n\n.bq-select__control {\n @apply flex w-full items-center transition-[border-color,box-shadow];\n // Border\n @apply rounded-[--bq-select--border-radius] border-[length:--bq-select--border-width] border-[color:--bq-select--border-color];\n // Padding\n @apply py-[--bq-select--paddingY] pe-[--bq-select--padding-end] ps-[--bq-select--padding-start];\n // Text\n @apply select-none text-[length:--bq-select--text-size] text-[color:--bq-select--text-color] placeholder:text-[color:--bq-select--text-placeholder-color];\n // Hover\n @apply [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-brand;\n\n border-style: var(--bq-select--border-style);\n\n // Enable clear button whenever the input group control is hovered or has focus\n &:not(.disabled):hover,\n &:not(.disabled):focus-within {\n .bq-select__control--clear {\n @apply inline-block;\n }\n }\n}\n\n.bq-select__control.disabled {\n @apply cursor-not-allowed opacity-60;\n}\n\n/* ------------------------------- Validation ------------------------------- */\n\n.bq-select__control.validation-error {\n @apply border-stroke-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.danger);\n\n @apply border-active-stroke-danger;\n }\n}\n\n.bq-select__control.validation-success {\n @apply border-stroke-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.success);\n\n @apply border-active-stroke-success;\n }\n}\n\n.bq-select__control.validation-warning {\n @apply border-stroke-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.warning);\n\n @apply border-active-stroke-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Input */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__control--input {\n @apply flex-auto cursor-[inherit] select-none appearance-none bg-[inherit] font-[inherit] text-[length:inherit] text-[color:inherit];\n @apply m-0 min-h-[--bq-select--icon-size] min-w-[0] border-none p-0 focus:outline-none focus-visible:outline-none;\n\n box-shadow: none;\n font-weight: inherit;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Clear button */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__control--clear::part(button) {\n // Since the clear button is inside the input group control,\n // we need to reset the focus ring styles\n --bq-ring-width: initial;\n --bq-ring-offset-width: initial;\n --bq-ring-color-focus: initial;\n\n @apply h-auto rounded-xs border-none p-0;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and suffix */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__control--prefix,\n.bq-select__control--suffix {\n @apply pointer-events-none flex items-center text-[color:var(--bq-select--text-color)];\n}\n\n.bq-select__control--prefix {\n @apply me-[--bq-select--gap];\n}\n\n.bq-select__control--suffix {\n @apply ms-[--bq-select--gap] transition-transform duration-300 ease-in-out;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Slotted and internal icons */\n/* -------------------------------------------------------------------------- */\n\nbq-icon,\n::slotted(bq-icon) {\n --bq-icon--size: var(--bq-select--icon-size) !important;\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { FloatingUIPlacement } from '../../services/interfaces';\nimport {\n debounce,\n getTextContent,\n hasSlotContent,\n isDefined,\n isHTMLElement,\n isString,\n TDebounce,\n} from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\nexport type TSelectValue = string | string[];\n\n/**\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part input-outline - The input outline wrapper that holds the tags container and the native HTML input used under the hood.\n * @part helper-text - The helper text slot container.\n * @part input - The native HTML input element used under the hood.\n * @part label - The label slot container.\n * @part panel - The select panel container\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n * @part tags - The tags container of the BqTags for multiple selection.\n * @part tag - The tag container of the BqTag for multiple selection.\n * @part tag__base - The base wrapper of the BqTag for multiple selection.\n * @part tag__prefix - The prefix slot container of the BqTag for multiple selection.\n * @part tag__text - The text slot container of the BqTag for multiple selection.\n * @part tag__btn-close - The close button of the BqTag for multiple selection.\n * @part option-list - The option list container.\n */\n@Component({\n tag: 'bq-select',\n styleUrl: './scss/bq-select.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqSelect {\n // Own Properties\n // ====================\n\n private helperTextElem?: HTMLElement;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private debounceQuery: TDebounce<void>;\n\n private fallbackInputId = 'select';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSelectElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() displayValue?: string;\n @State() hasHelperText = false;\n @State() selectedOptions: HTMLBqOptionElement[] = [];\n\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /** If true, the Select input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /**\n * Indicates whether the Select input is disabled or not.\n * If `true`, the Select is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** If true, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /** Represents the distance (gutter or margin) between the Select panel and the input element. */\n @Prop({ reflect: true }) distance?: number = 8;\n\n /** The ID of the form that the Select input belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** If true, the Select panel will remain open after a selection is made. */\n @Prop({ reflect: true }) keepOpenOnSelect?: boolean = false;\n\n /** The Select input name. */\n @Prop({ reflect: true }) name!: string;\n\n /** The maximum number of tags to display when multiple selection is enabled */\n @Prop({ mutable: true }) maxTagsVisible: number = 2;\n\n /** If true, the Select input will allow multiple selections. */\n @Prop({ reflect: true }) multiple?: boolean = false;\n\n /** If true, the Select panel will be visible. */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n /** When set, it will override the height of the Select panel. */\n @Prop({ reflect: true }) panelHeight?: string;\n\n /** The Select input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** Position of the Select panel */\n @Prop({ reflect: true }) placement?: FloatingUIPlacement = 'bottom';\n\n /** If true, the list of options cannot be filtered (searching won't be available) */\n @Prop({ reflect: true }) readonly?: boolean;\n\n /** Indicates whether or not the Select input is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /** Whether the panel should have the Select same width as the input element */\n @Prop({ reflect: true }) sameWidth?: boolean = true;\n\n /** Represents the skidding between the Select panel and the input element. */\n @Prop({ reflect: true }) skidding?: number = 0;\n\n /** Defines the strategy to position the Select panel */\n @Prop({ reflect: true }) strategy?: 'fixed' | 'absolute' = 'fixed';\n\n /**\n * The validation status of the Select input.\n *\n * @remarks\n * This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The select input value, it can be used to reset the field to a previous value */\n @Prop({ reflect: true, mutable: true }) value: TSelectValue;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (this.multiple && isString(this.value)) {\n // NOTE: we ensure that value is an array, changing the value will trigger Watch to execute thus the return\n this.value = Array.from(JSON.parse(String(this.value)));\n return;\n }\n\n this.syncItemsFromValue();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the Select input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the selected value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the Select input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the selected value has changed */\n @Event() bqSelect!: EventEmitter<{ value: string | number | string[]; item: HTMLBqOptionElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n if (this.multiple) {\n this.value = Array.isArray(this.value) ? this.value : Array.from(JSON.parse(String(this.value)));\n }\n }\n\n componentDidLoad() {\n if (this.multiple && Array.isArray(this.value)) {\n this.selectedOptions = this.options.filter((item) => this.value.includes(item.value));\n }\n\n this.handleValueChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqOpen', { capture: true })\n handleOpenChange(ev: CustomEvent<{ open: boolean }>) {\n if (!ev.composedPath().includes(this.el)) return;\n\n this.open = ev.detail.open;\n }\n\n @Listen('bqFocus', { capture: true })\n @Listen('bqBlur', { capture: true })\n stopOptionFocusBlurPropagation(ev: CustomEvent) {\n // Stop propagation of focus and blur events coming from the `bq-option` elements\n if (isHTMLElement(ev.target, 'bq-select')) return;\n\n ev.stopPropagation();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /**\n * Clears the selected value.\n *\n * @return {Promise<void>}\n * @memberof BqSelect\n */\n @Method()\n async clear(): Promise<void> {\n if (this.disabled) return;\n\n this.value = undefined;\n this.selectedOptions = [];\n if (!this.multiple) {\n this.displayValue = undefined;\n this.inputElem.value = undefined;\n }\n\n this.resetOptionsVisibility();\n this.bqClear.emit(this.el);\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleSelect = (ev: CustomEvent<{ value: TSelectValue; item: HTMLBqOptionElement }>) => {\n if (this.disabled) return;\n\n if (this.multiple) {\n ev.stopPropagation();\n }\n\n const { value, item } = ev.detail;\n\n if (this.multiple) {\n this.handleMultipleSelection(item);\n // Clear the input value after selecting an item\n this.inputElem.value = '';\n // If multiple selection is enabled, emit the selected items array instead of relying on\n // the option list to emit the value of the selected item\n this.bqSelect.emit({ value: this.value, item });\n } else {\n this.value = value;\n }\n\n this.resetOptionsVisibility();\n this.inputElem.focus();\n };\n\n private handleMultipleSelection = (item: HTMLBqOptionElement) => {\n // Set has O(1) complexity for insertion, deletion, and search operations, compared to an Array's O(n)\n const selectedOptionsSet = new Set(this.selectedOptions);\n\n if (selectedOptionsSet.has(item)) {\n selectedOptionsSet.delete(item);\n } else {\n selectedOptionsSet.add(item);\n }\n\n this.selectedOptions = Array.from(selectedOptionsSet);\n this.value = this.selectedOptions.map((item) => item.value);\n };\n\n private handleSearchFilter = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceQuery?.cancel();\n\n const query = (ev.target as HTMLInputElement).value?.toLowerCase().trim();\n\n if (!isDefined(query)) {\n this.clear();\n } else {\n this.debounceQuery = debounce(() => {\n this.options.forEach((item: HTMLBqOptionElement) => {\n const itemLabel = this.getOptionLabel(item).toLowerCase();\n item.hidden = !itemLabel.includes(query);\n });\n }, this.debounceTime);\n\n this.debounceQuery();\n }\n\n // The panel will close once a selection is made\n // so we need to make sure it's open when the user is typing and the query is not empty\n this.open = true;\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n (async () => {\n await this.clear();\n })();\n this.inputElem.focus();\n\n ev.stopPropagation();\n };\n\n private handleTagRemove = (item: HTMLBqOptionElement) => {\n if (this.disabled) return;\n\n this.handleMultipleSelection(item);\n this.bqSelect.emit({ value: this.value, item });\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private handleHelperTextSlotChange = () => {\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n private resetOptionsVisibility = () => {\n this.options.forEach((item: HTMLBqOptionElement) => (item.hidden = false));\n };\n\n private syncItemsFromValue = () => {\n const items = this.options;\n if (!items.length) return;\n\n // Sync selected state of the BqOption elements\n this.options.forEach((option: HTMLBqOptionElement) => {\n if (this.multiple && Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = option.value.toLowerCase() === String(this.value).toLowerCase();\n }\n });\n\n if (!this.multiple) {\n // Sync display label\n const checkedItem = items.filter((item) => item.value === this.value)[0];\n this.displayValue = checkedItem ? this.getOptionLabel(checkedItem) : '';\n this.inputElem.value = this.displayValue ?? '';\n } else {\n this.selectedOptions = this.options.filter((item) => this.value?.includes(item.value));\n }\n };\n\n private getOptionLabel = (item: HTMLBqOptionElement) => {\n const slot = item.shadowRoot.querySelector('slot:not([name])');\n if (!slot) return;\n\n return getTextContent(slot as HTMLSlotElement);\n };\n\n private get options() {\n return Array.from(this.el.querySelectorAll('bq-option'));\n }\n\n private get displayPlaceholder() {\n // Hide the placeholder when multiple selection is enabled and there are selected items\n return this.multiple && this.selectedOptions.length !== 0 ? undefined : this.placeholder;\n }\n\n private get displayTags() {\n return this.selectedOptions.map((item, index) => {\n if (index < this.maxTagsVisible || this.maxTagsVisible < 0) {\n return (\n <bq-tag\n key={item.value}\n removable\n size=\"xsmall\"\n variant=\"filled\"\n onBqClose={(event) => {\n // NOTE: prevents triggering bqClose on parent\n event.stopPropagation();\n this.handleTagRemove(item);\n }}\n // Prevent the tag from closing the panel when clicked\n onClick={(ev: MouseEvent) => ev.stopPropagation()}\n exportparts=\"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close\"\n part=\"tag\"\n >\n {this.getOptionLabel(item)}\n </bq-tag>\n );\n } else if (index === this.maxTagsVisible) {\n return (\n <bq-tag\n key=\"more\"\n size=\"xsmall\"\n variant=\"filled\"\n exportparts=\"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close\"\n part=\"tag\"\n >\n +{this.selectedOptions.length - index}\n </bq-tag>\n );\n }\n\n return null;\n });\n }\n\n private get hasClearIcon() {\n if (this.disableClear || this.disabled) {\n return false;\n }\n\n if (this.multiple) {\n return this.selectedOptions.length > 0;\n }\n\n return isDefined(this.displayValue);\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const labelId = `bq-select__label-${this.name || this.fallbackInputId}`;\n\n return (\n <div class=\"bq-select\" part=\"base\">\n {/* Label */}\n <label\n id={labelId}\n class={{ 'bq-select__label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem: HTMLSpanElement) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Select dropdown */}\n <bq-dropdown\n class=\"bq-select__dropdown w-full\"\n disabled={this.disabled}\n distance={this.distance}\n keepOpenOnSelect={this.keepOpenOnSelect}\n open={this.open}\n panelHeight={this.panelHeight}\n placement={this.placement}\n sameWidth={this.sameWidth}\n skidding={this.skidding}\n strategy={this.strategy}\n exportparts=\"panel\"\n >\n {/* Input control group */}\n <div\n class={{\n 'bq-select__control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n slot=\"trigger\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-select__control--prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem: HTMLSpanElement) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n <div class=\"flex flex-1 overflow-x-auto\" part=\"input-outline\">\n {/* Display selected values using BqTags for multiple selection */}\n {this.multiple && (\n <span\n class=\"me-xs2 flex flex-1 gap-xs2 [&>bq-tag::part(text)]:text-nowrap [&>bq-tag::part(text)]:leading-small [&>bq-tag]:inline-flex\"\n part=\"tags\"\n >\n {this.displayTags}\n </span>\n )}\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-select__control--input w-full flex-grow\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoFocus={this.autofocus}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`bq-options-${this.name}`}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n disabled={this.disabled}\n form={this.form}\n name={this.name}\n placeholder={this.displayPlaceholder}\n ref={(inputElem: HTMLInputElement) => (this.inputElem = inputElem)}\n readOnly={this.readonly}\n required={this.required}\n role=\"combobox\"\n spellcheck={false}\n type=\"text\"\n value={this.displayValue}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onInput={this.handleSearchFilter}\n />\n </div>\n {/* Clear Button */}\n {this.hasClearIcon && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-select__control--clear ms-[--bq-select--gap]\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n tabIndex={-1}\n >\n <slot name=\"clear-icon\">\n <bq-icon name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class={{ 'bq-select__control--suffix': true, 'rotate-180': this.open, 'rotate-0': !this.open }}\n ref={(spanElem: HTMLSpanElement) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange}>\n <bq-icon name=\"caret-down\" class=\"flex\" />\n </slot>\n </span>\n </div>\n <bq-option-list\n id={`bq-options-${this.name}`}\n onBqSelect={this.handleSelect}\n aria-expanded={this.open ? 'true' : 'false'}\n exportparts=\"base:option-list\"\n role=\"listbox\"\n >\n <slot />\n </bq-option-list>\n </bq-dropdown>\n {/* Helper text */}\n <div\n class={{\n [`bq-select__helper-text validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText,\n }}\n ref={(divElem: HTMLDivElement) => (this.helperTextElem = divElem)}\n part=\"helper-text\"\n >\n <slot name=\"helper-text\" onSlotchange={this.handleHelperTextSlotChange} />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["STATUS_TYPE","bqStatusCss","BqStatusStyle0","BqStatus","checkPropValues","validatePropValue","this","el","componentWillLoad","render","h","key","class","part","role","type","size"],"sources":["../../packages/beeq/src/components/status/bq-status.types.ts","../../packages/beeq/src/components/status/scss/bq-status.scss?tag=bq-status&encapsulation=shadow","../../packages/beeq/src/components/status/bq-status.tsx"],"sourcesContent":["export const STATUS_TYPE = ['alert', 'danger', 'info', 'neutral', 'success'] as const;\nexport type TStatusType = (typeof STATUS_TYPE)[number];\n","@import './bq-status.variables';\n\n.bq-status__circle {\n &::part(base) {\n --bq-badge--size-medium: var(--bq-status-circle--size);\n }\n\n &.success::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.success);\n }\n\n &.danger::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.danger);\n }\n\n &.neutral::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.secondary);\n }\n\n &.alert::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.warning);\n }\n\n &.info::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.brand);\n }\n}\n\n.bq-status__text ::slotted(*) {\n @apply m-0 p-0 text-s font-medium leading-regular text-text-primary;\n}\n","import { Component, Element, h, Prop, Watch } from '@stencil/core';\n\nimport { STATUS_TYPE, TStatusType } from './bq-status.types';\nimport { validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The component's internal wrapper of the status component\n * @part circle - The colored circle that marks the status type\n * @part text - The `<div>` container that holds the text label of the status component\n */\n@Component({\n tag: 'bq-status',\n styleUrl: './scss/bq-status.scss',\n shadow: true,\n})\nexport class BqStatus {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqStatusElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** It defines the type of status to display */\n @Prop({ reflect: true }) type: TStatusType = 'neutral';\n\n // Prop lifecycle events\n // =======================\n @Watch('type')\n checkPropValues() {\n validatePropValue(STATUS_TYPE, 'neutral', this.el, 'type');\n }\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n // render() function\n // Always the last one in the class.\n // ===================================\n render() {\n return (\n <div class=\"bq-status inline-flex items-center gap-xs\" part=\"base\" role=\"status\">\n <bq-badge class={`bq-status__circle rounded-full ${this.type}`} size=\"medium\" part=\"circle\" role=\"img\" />\n <div\n class=\"bq-status__text m-0 max-h-[20px] p-0 text-s font-medium leading-regular text-text-primary\"\n part=\"text\"\n >\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;8GAAO,MAAMA,EAAc,CAAC,QAAS,SAAU,OAAQ,UAAW,WCAlE,MAAMC,EAAc,o1oBACpB,MAAAC,EAAeD,E,MCcFE,EAAQ,M,mCAgB0B,S,CAK7C,eAAAC,GACEC,EAAkBL,EAAa,UAAWM,KAAKC,GAAI,O,CAUrD,iBAAAC,GACEF,KAAKF,iB,CAoBP,MAAAK,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,4CAA4CC,KAAK,OAAOC,KAAK,UACtEJ,EAAA,YAAAC,IAAA,2CAAUC,MAAO,kCAAkCN,KAAKS,OAAQC,KAAK,SAASH,KAAK,SAASC,KAAK,QACjGJ,EAAA,OAAAC,IAAA,2CACEC,MAAM,4FACNC,KAAK,QAELH,EAAA,QAAAC,IAAA,8C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["bqCheckboxCss","BqCheckboxStyle0","BqCheckbox","this","handleChange","checked","inputElem","setAttribute","indeterminate","handleOnFocus","bqFocus","emit","el","handleOnBlur","bqBlur","handleIndeterminatePropChange","componentWillLoad","prevCheckedValue","componentDidUpdate","bqChange","vClick","_a","click","vFocus","focus","vBlur","blur","render","h","key","class","disabled","backgroundOnHover","part","type","name","isNil","undefined","form","formId","required","value","ref","input","onBlur","onChange","onFocus","tabindex","xmlns","viewBox","fill","d","stroke"],"sources":["../../packages/beeq/src/components/checkbox/scss/bq-checkbox.scss?tag=bq-checkbox&encapsulation=shadow","../../packages/beeq/src/components/checkbox/bq-checkbox.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Checkbox styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-checkbox.variables';\n\n:host {\n @apply inline-block;\n}\n\n.bq-checkbox {\n @apply box-border inline-flex cursor-pointer select-none rounded-s p-xs transition-colors duration-300 ease-in-out;\n\n // Default hover state\n &:not(.is-checked),\n &:not(.is-indeterminate) {\n &:not(.is-disabled):hover .bq-checkbox__checkbox {\n @apply border-hover-icon-brand;\n }\n }\n\n // Display background on hover (if enabled)\n &.has-background:not(.is-disabled):hover {\n @apply bg-hover-ui-primary;\n }\n\n // Checked/Indeterminate hover state\n &.is-checked,\n &.is-indeterminate {\n &:not(.is-disabled):hover .bq-checkbox__checkbox {\n @apply bg-hover-ui-brand border-hover-icon-brand;\n }\n }\n}\n\n.bq-checkbox__input {\n // Checkbox square icon has `FOCUS`\n &:focus-visible {\n ~ .bq-checkbox__checkbox {\n @apply focus border-stroke-brand;\n }\n }\n\n // Checkbox square icon is `CHECKED/INDETERMINATE`\n &:checked,\n &:indeterminate {\n ~ .bq-checkbox__checkbox {\n @apply border-stroke-brand bg-ui-brand;\n }\n }\n\n // Checkbox square icon is `CHECKED/INDETERMINATE` and `DISABLED`\n &:checked:disabled,\n &:indeterminate:disabled {\n ~ .bq-checkbox__checkbox {\n @apply opacity-60;\n }\n }\n\n &:disabled {\n ~ .bq-checkbox__checkbox {\n @apply opacity-60;\n }\n }\n}\n\n// Checkbox square icon `DEFAULT` state (not checked/indeterminate, not hover, not disabled)\n.bq-checkbox__checkbox {\n @apply rounded-[var(--bq-checkbox--border-radius)] border-[length:var(--bq-checkbox--border-width)] border-solid border-icon-primary;\n}\n\n.bq-checkbox__checkbox,\n.bq-checkbox__label {\n @apply transition-[color,background-color,border-color,box-shadow] duration-300;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, Watch } from '@stencil/core';\n\nimport { isNil } from '../../shared/utils';\n\n/**\n * @part base - The component's internal wrapper of the checkbox component.\n * @part control - The container `<div>` element that holds the custom checkbox.\n * @part input - The native HTML `<input type=\"checkbox\">` used under the hood.\n * @part checkbox - The `<span>` element that renders the custom checked/indeterminate state.\n * @part label - The `<span>` element that holds the text content.\n */\n@Component({\n tag: 'bq-checkbox',\n styleUrl: './scss/bq-checkbox.scss',\n shadow: true,\n})\nexport class BqCheckbox {\n // Own Properties\n // ====================\n\n private inputElem: HTMLInputElement;\n private prevCheckedValue: boolean;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqCheckboxElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If true checkbox displays background on hover */\n @Prop({ reflect: true }) backgroundOnHover? = false;\n\n /** The form ID that the checkbox is associated with */\n @Prop({ reflect: true }) formId?: string;\n\n /** If true checkbox is checked */\n @Prop({ reflect: true, mutable: true }) checked?: boolean;\n\n /** If true checkbox is disabled */\n @Prop({ reflect: true }) disabled? = false;\n\n /** A state that is neither checked nor unchecked */\n @Prop({ reflect: true, mutable: true }) indeterminate? = false;\n\n /** Name of the HTML input form control. Submitted with the form as part of a name/value pair. */\n @Prop({ reflect: true }) name!: string;\n\n /** If `true`, it will indicate that the user must specify a value for the checkbox before the owning form can be submitted */\n @Prop({ reflect: true }) required?: boolean;\n\n /** A string representing the value of the checkbox. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @Prop({ reflect: true }) value!: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('indeterminate')\n handleIndeterminatePropChange() {\n if (!this.inputElem) return;\n\n this.inputElem.indeterminate = this.indeterminate;\n if (this.indeterminate) {\n this.checked = false;\n }\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the chebkbox state changes */\n @Event() bqChange: EventEmitter<{ checked: boolean }>;\n\n /** Handler to be called when the checkbox gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqCheckboxElement>;\n\n /** Handler to be called when the checkbox loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqCheckboxElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.prevCheckedValue = this.checked;\n }\n\n componentDidUpdate() {\n /**\n * We need to trigger the `bqChange` immediately after the first update happens\n * so the checked attribute get applied, otherwise, a delay will happen\n * between the event emits and when the checked attribute value gets reflected in the element host.\n */\n if (this.checked !== this.prevCheckedValue) {\n if (!this.indeterminate) {\n this.bqChange.emit({ checked: this.checked });\n }\n this.prevCheckedValue = this.checked;\n }\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /**\n * Simulate a click event on the native `<input>` HTML element used under the hood.\n * Use this method instead of the global `element.click()`.\n */\n @Method()\n async vClick() {\n this.inputElem?.click();\n }\n\n /**\n * Sets focus on the native `<input>` HTML element used under the hood.\n * Use this method instead of the global `element.focus()`.\n */\n @Method()\n async vFocus() {\n this.inputElem?.focus();\n }\n\n /**\n * Remove focus from the native `<input>` HTML element used under the hood.\n * Use this method instead of the global `element.blur()`.\n */\n @Method()\n async vBlur() {\n this.inputElem?.blur();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleChange = () => {\n this.checked = !this.checked;\n this.inputElem.setAttribute('checked', `${this.checked}`);\n this.indeterminate = false;\n };\n\n private handleOnFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleOnBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <label\n class={{\n 'bq-checkbox group': true,\n 'is-checked': this.checked,\n 'is-indeterminate': this.indeterminate,\n 'is-disabled !cursor-not-allowed': this.disabled,\n 'has-background': this.backgroundOnHover,\n }}\n part=\"base\"\n >\n <div\n class=\"bq-checkbox__control relative box-border flex h-[var(--bq-checkbox--size)] w-[var(--bq-checkbox--size)] items-center justify-center p-xs3\"\n part=\"control\"\n >\n <input\n type=\"checkbox\"\n class=\"bq-checkbox__input pointer-events-none absolute m-0 p-0 opacity-0\"\n name={!isNil(this.name) ? this.name : undefined}\n checked={this.checked}\n disabled={this.disabled}\n indeterminate={this.indeterminate}\n form={this.formId}\n required={this.required}\n value={this.value}\n aria-checked={this.checked ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n ref={(input: HTMLInputElement) => (this.inputElem = input)}\n onBlur={this.handleOnBlur}\n onChange={this.handleChange}\n onFocus={this.handleOnFocus}\n part=\"input\"\n tabindex=\"0\"\n />\n <span\n class=\"bq-checkbox__checkbox relative box-border flex h-full w-[var(--bq-checkbox--size)] items-center justify-center\"\n part=\"checkbox\"\n >\n {/*\n We could move these SVGs to separated functional components, but it seems there's a weird issue with\n Stencil and pure SVG components: https://stencil-worldwide.slack.com/archives/C79EANFL7/p1663779385026389\n */}\n {this.checked && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"absolute h-full w-full text-neutral-white\"\n viewBox=\"0 0 256 256\"\n >\n <path fill=\"none\" d=\"M0 0h256v256H0z\" />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"32\"\n d=\"M216 72 104 184l-56-56\"\n />\n </svg>\n )}\n {!this.checked && this.indeterminate && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"absolute h-full w-full text-neutral-white\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n >\n <path fill=\"none\" d=\"M0 0h256v256H0z\" />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"32\"\n d=\"M40 128h176\"\n />\n </svg>\n )}\n </span>\n </div>\n <span\n class=\"bq-checkbox__label ps-xs text-start font-medium leading-regular text-text-primary group-hover-[&:not(.is-disabled)]:text-hover-text-primary group-[.is-disabled]:opacity-60\"\n part=\"label\"\n >\n <slot />\n </span>\n </label>\n );\n }\n}\n"],"mappings":";;;;gHAAA,MAAMA,EAAgB,uwvBACtB,MAAAC,EAAeD,E,MCeFE,EAAU,M,4HAqIbC,KAAAC,aAAe,KACrBD,KAAKE,SAAWF,KAAKE,QACrBF,KAAKG,UAAUC,aAAa,UAAW,GAAGJ,KAAKE,WAC/CF,KAAKK,cAAgB,KAAK,EAGpBL,KAAAM,cAAgB,KACtBN,KAAKO,QAAQC,KAAKR,KAAKS,GAAG,EAGpBT,KAAAU,aAAe,KACrBV,KAAKW,OAAOH,KAAKR,KAAKS,GAAG,E,uBA5HmB,M,2DAST,M,mBAGoB,M,iEAezD,6BAAAG,GACE,IAAKZ,KAAKG,UAAW,OAErBH,KAAKG,UAAUE,cAAgBL,KAAKK,cACpC,GAAIL,KAAKK,cAAe,CACtBL,KAAKE,QAAU,K,EAqBnB,iBAAAW,GACEb,KAAKc,iBAAmBd,KAAKE,O,CAG/B,kBAAAa,GAME,GAAIf,KAAKE,UAAYF,KAAKc,iBAAkB,CAC1C,IAAKd,KAAKK,cAAe,CACvBL,KAAKgB,SAASR,KAAK,CAAEN,QAASF,KAAKE,S,CAErCF,KAAKc,iBAAmBd,KAAKE,O,EAmBjC,YAAMe,G,OACJC,EAAAlB,KAAKG,aAAS,MAAAe,SAAA,SAAAA,EAAEC,O,CAQlB,YAAMC,G,OACJF,EAAAlB,KAAKG,aAAS,MAAAe,SAAA,SAAAA,EAAEG,O,CAQlB,WAAMC,G,OACJJ,EAAAlB,KAAKG,aAAS,MAAAe,SAAA,SAAAA,EAAEK,M,CA0BlB,MAAAC,GACE,OACEC,EAAA,SAAAC,IAAA,2CACEC,MAAO,CACL,oBAAqB,KACrB,aAAc3B,KAAKE,QACnB,mBAAoBF,KAAKK,cACzB,kCAAmCL,KAAK4B,SACxC,iBAAkB5B,KAAK6B,mBAEzBC,KAAK,QAELL,EAAA,OAAAC,IAAA,2CACEC,MAAM,4IACNG,KAAK,WAELL,EAAA,SAAAC,IAAA,2CACEK,KAAK,WACLJ,MAAM,oEACNK,MAAOC,EAAMjC,KAAKgC,MAAQhC,KAAKgC,KAAOE,UACtChC,QAASF,KAAKE,QACd0B,SAAU5B,KAAK4B,SACfvB,cAAeL,KAAKK,cACpB8B,KAAMnC,KAAKoC,OACXC,SAAUrC,KAAKqC,SACfC,MAAOtC,KAAKsC,MAAK,eACHtC,KAAKE,QAAU,OAAS,QAAO,gBAC9BF,KAAK4B,SAAW,OAAS,QACxCW,IAAMC,GAA6BxC,KAAKG,UAAYqC,EACpDC,OAAQzC,KAAKU,aACbgC,SAAU1C,KAAKC,aACf0C,QAAS3C,KAAKM,cACdwB,KAAK,QACLc,SAAS,MAEXnB,EAAA,QAAAC,IAAA,2CACEC,MAAM,iHACNG,KAAK,YAMJ9B,KAAKE,SACJuB,EAAA,OAAAC,IAAA,2CACEmB,MAAM,6BACNlB,MAAM,4CACNmB,QAAQ,eAERrB,EAAA,QAAAC,IAAA,2CAAMqB,KAAK,OAAOC,EAAE,oBACpBvB,EAAA,QAAAC,IAAA,2CACEqB,KAAK,OACLE,OAAO,eAAc,iBACN,QAAO,kBACN,QAAO,eACV,KACbD,EAAE,6BAINhD,KAAKE,SAAWF,KAAKK,eACrBoB,EAAA,OAAAC,IAAA,2CACEmB,MAAM,6BACNlB,MAAM,4CACNmB,QAAQ,cACRC,KAAK,gBAELtB,EAAA,QAAAC,IAAA,2CAAMqB,KAAK,OAAOC,EAAE,oBACpBvB,EAAA,QAAAC,IAAA,2CACEqB,KAAK,OACLE,OAAO,eAAc,iBACN,QAAO,kBACN,QAAO,eACV,KACbD,EAAE,mBAMZvB,EAAA,QAAAC,IAAA,2CACEC,MAAM,8KACNG,KAAK,SAELL,EAAA,QAAAC,IAAA,8C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ALERT_TYPE","bqAlertCss","BqAlertStyle0","BqAlert","this","handleHide","async","ev","bqHide","emit","el","defaultPrevented","leave","alertElement","classList","add","handleTransitionEnd","open","handleShow","bqShow","remove","enter","bqAfterOpen","bqAfterClose","handleContentSlotChange","hasContent","hasSlotContent","bodyElem","handleFooterSlotChange","hasFooter","footerElem","handleTimeout","_a","autoDismissDebounce","cancel","autoDismiss","debounce","hide","time","handleOpenChange","checkPropValues","validatePropValue","componentWillLoad","componentDidLoad","show","iconName","type","render","style","border","h","Host","key","class","sticky","hidden","role","ref","div","part","disableClose","appearance","size","onClick","name","hideIcon","exportparts","onSlotchange"],"sources":["../../packages/beeq/src/components/alert/bq-alert.types.ts","../../packages/beeq/src/components/alert/scss/bq-alert.scss?tag=bq-alert&encapsulation=shadow","../../packages/beeq/src/components/alert/bq-alert.tsx"],"sourcesContent":["export const ALERT_TYPE = ['info', 'success', 'warning', 'error', 'default'] as const;\nexport type TAlertType = (typeof ALERT_TYPE)[number];\n\nexport const ALERT_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TAlertBorderRadius = (typeof ALERT_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Alert styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-alert.variables';\n\n:host {\n @apply block;\n}\n\n:host(.is-hidden) {\n @apply hidden;\n}\n\n:host(.is-sticky) {\n @apply fixed inset-0 top-0 z-[var(--bq-alert--z-index)] w-full;\n\n .bq-alert {\n @apply items-center justify-center rounded-none;\n }\n}\n\n.bq-alert {\n @apply relative flex min-w-[var(--bq-alert--min-width)] p-[var(--bq-alert--padding)] transition-all;\n @apply rounded-[var(--bq-alert--border-radius)] border-[length:--bq-alert--border-width];\n\n border-style: var(--bq-alert--border-style);\n}\n\n/**\n * Set the alert background and border color based on the type value selected\n */\n\n.bq-alert__default {\n @apply border-[color:--bq-alert--border-default] bg-[color:--bq-alert--background-default];\n}\n\n.bq-alert__error {\n @apply border-[color:--bq-alert--border-error] bg-[color:--bq-alert--background-error];\n}\n\n.bq-alert__info {\n @apply border-[color:--bq-alert--border-info] bg-[color:--bq-alert--background-info];\n}\n\n.bq-alert__success {\n @apply border-[color:--bq-alert--border-success] bg-[color:--bq-alert--background-success];\n}\n\n.bq-alert__warning {\n @apply border-[color:--bq-alert--border-warning] bg-[color:--bq-alert--background-warning];\n}\n\n/**\n * Set the alert icon color based on the type value selected\n */\n.bq-alert__icon {\n &--default {\n @apply text-[color:--bq-alert--icon-color-default];\n }\n\n &--error {\n @apply text-[color:--bq-alert--icon-color-error];\n }\n\n &--info {\n @apply text-[color:--bq-alert--icon-color-info];\n }\n\n &--success {\n @apply text-[color:--bq-alert--icon-color-success];\n }\n\n &--warning {\n @apply text-[color:--bq-alert--icon-color-warning];\n }\n}\n\n/**\n * Tweak the close bq-button styles so it remain small without extra padding\n */\n.bq-alert__close::part(button) {\n @apply h-fit rounded-s border-0 p-0;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { ALERT_TYPE, TAlertBorderRadius, TAlertType } from './bq-alert.types';\nimport { debounce, enter, hasSlotContent, leave, TDebounce, validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The `<div>` container of the predefined bq-icon component\n * @part body - The container `<div>` that wraps the alert description content\n * @part btn-close - The `bq-button` used to close the alert\n * @part content - The container `<div>` that wraps all the alert content (title, description, footer)\n * @part footer - The container `<div>` that wraps the alert footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon based on the alert type (info, success, warning, error, default)\n * @part icon-outline - The container `<div>` that wraps the icon element\n * @part main - The container `<div>` that wraps the alert main content (title, description)\n * @part svg - The `<svg>` element of the predefined bq-icon component\n * @part title - The container `<div>` that wraps the alert title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n */\n\n@Component({\n tag: 'bq-alert',\n styleUrl: './scss/bq-alert.scss',\n shadow: true,\n})\nexport class BqAlert {\n // Own Properties\n // ====================\n\n private autoDismissDebounce: TDebounce<void>;\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n private alertElement: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAlertElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** If true, the alert will automatically hide after the specified amount of time */\n @Prop({ reflect: true }) autoDismiss: boolean;\n\n /** The corner radius of the alert component */\n @Prop({ reflect: true }) border: TAlertBorderRadius = 's';\n\n /** If true, the close button at the top right of the alert won't be shown */\n @Prop({ reflect: true }) disableClose: boolean;\n\n /** If true, the alert icon won't be shown */\n @Prop({ reflect: true }) hideIcon: boolean;\n\n /** If true, the alert will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"` */\n @Prop({ reflect: true }) time: number = 3000;\n\n /** Type of Alert */\n @Prop({ reflect: true }) type: TAlertType = 'default';\n\n /** If true, the alert component will remain fixed at the top of the page, occupying the full viewport */\n @Prop({ reflect: true }) sticky: boolean;\n\n // Prop lifecycle events\n // =======================\n @Watch('autoDismiss')\n @Watch('time')\n handleTimeout() {\n this.autoDismissDebounce?.cancel();\n if (!this.autoDismiss) return;\n\n this.autoDismissDebounce = debounce(() => {\n this.hide();\n }, this.time);\n // Make sure to autodismiss the notification if the `auto-dismiss` value changed while open\n if (this.open) this.autoDismissDebounce();\n }\n\n @Watch('open')\n handleOpenChange() {\n this.autoDismissDebounce?.cancel();\n\n if (!this.open) {\n this.handleHide();\n return;\n }\n\n this.handleShow();\n\n if (this.autoDismiss) {\n this.autoDismissDebounce();\n }\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(ALERT_TYPE, 'info', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the alert is hidden */\n @Event() bqHide!: EventEmitter;\n\n /** Callback handler to be called when the alert is shown */\n @Event() bqShow!: EventEmitter;\n\n /** Callback handler to be called after the alert has been opened */\n @Event() bqAfterOpen!: EventEmitter;\n\n /** Callback handler to be called after the alert has been closed */\n @Event() bqAfterClose!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleTimeout();\n }\n\n componentDidLoad() {\n if (!this.open) {\n this.el.classList.add('is-hidden');\n }\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to hide the alert component */\n @Method()\n async hide(): Promise<void> {\n await this.handleHide();\n }\n /** Method to be called to show the alert component */\n @Method()\n async show(): Promise<void> {\n await this.handleShow();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleHide = async () => {\n const ev = this.bqHide.emit(this.el);\n if (!ev.defaultPrevented) {\n await leave(this.alertElement);\n this.el.classList.add('is-hidden');\n this.handleTransitionEnd();\n this.open = false;\n }\n };\n\n private handleShow = async () => {\n const ev = this.bqShow.emit(this.el);\n if (!ev.defaultPrevented) {\n this.open = true;\n this.el.classList.remove('is-hidden');\n await enter(this.alertElement);\n this.handleTransitionEnd();\n }\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n };\n\n private handleContentSlotChange = () => {\n this.hasContent = hasSlotContent(this.bodyElem, 'body');\n };\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconName(): string {\n switch (this.type) {\n case 'error':\n return 'x-circle';\n case 'success':\n return 'check-circle';\n case 'warning':\n return 'warning-circle';\n default:\n return 'info';\n }\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-alert--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host\n style={style}\n class={{ 'is-sticky': this.sticky }}\n aria-hidden={!this.open ? 'true' : 'false'}\n hidden={!this.open ? 'true' : 'false'}\n role=\"alert\"\n >\n <div\n class={{\n [`bq-alert bq-alert__${this.type}`]: true,\n 'is-sticky': this.sticky,\n }}\n data-transition-enter=\"transition ease-out duration-300\"\n data-transition-enter-start=\"opacity-0\"\n data-transition-enter-end=\"opacity-100\"\n data-transition-leave=\"transition ease-in duration-200\"\n data-transition-leave-start=\"opacity-100\"\n data-transition-leave-end=\"opacity-0\"\n ref={(div) => (this.alertElement = div)}\n part=\"wrapper\"\n >\n {/* CLOSE BUTTON */}\n {!this.disableClose && (\n <bq-button\n class=\"bq-alert__close absolute right-5 focus-visible:focus\"\n appearance=\"text\"\n size=\"small\"\n onClick={() => this.hide()}\n part=\"btn-close\"\n >\n <bq-icon name=\"x\" />\n </bq-button>\n )}\n {/* ICON */}\n <div\n class={{\n [`bq-alert__icon--${this.type} mr-s flex text-left align-top`]: true,\n '!hidden': this.hideIcon,\n }}\n part=\"icon-outline\"\n >\n <slot name=\"icon\">\n {this.type !== 'default' && <bq-icon name={this.iconName} part=\"icon\" exportparts=\"base,svg\" />}\n </slot>\n </div>\n {/* MAIN */}\n <div class=\"flex flex-col items-start gap-[var(--bq-alert--content-footer-gap)]\" part=\"main\">\n <div class=\"flex flex-col gap-[var(--bq-alert--title-body-gap)]\" part=\"content\">\n {/* TITLE */}\n <div\n class={{\n 'title-font font-semibold leading-regular text-text-primary': true,\n 'flex items-center': this.sticky,\n }}\n part=\"title\"\n >\n <slot />\n </div>\n {/* BODY */}\n <div\n class={{ 'text-s leading-regular': true, '!hidden': !this.hasContent }}\n ref={(div) => (this.bodyElem = div)}\n part=\"body\"\n >\n <slot name=\"body\" onSlotchange={this.handleContentSlotChange} />\n </div>\n </div>\n {/* FOOTER */}\n <div\n class={{ 'flex items-start gap-xs': true, '!hidden': !this.hasFooter }}\n ref={(div) => (this.footerElem = div)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["bqBreadcrumbItemCss","BqBreadcrumbItemStyle0","BqBreadcrumbItem","this","onBlur","bqBlur","emit","el","onFocus","bqFocus","onClick","bqClick","render","isLink","isDefined","href","TagElem","h","key","class","ariaLabel","part","undefined","rel","target","isLastItem","name"],"sources":["../../packages/beeq/src/components/breadcrumb-item/scss/bq-breadcrumb-item.scss?tag=bq-breadcrumb-item&encapsulation=shadow","../../packages/beeq/src/components/breadcrumb-item/bq-breadcrumb-item.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Breadcrumb item styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-breadcrumb-item.variables';\n\n.breadcrumb-item {\n @apply border-[length:--bq-breadcrumb-item--border-width] border-[color:--bq-breadcrumb-item--border-color];\n @apply rounded-[--bq-breadcrumb-item--border-radius] bg-[--bq-breadcrumb-item--background] shadow-[shadow:--bq-breadcrumb-item--box-shadow];\n @apply py-[--bq-breadcrumb-item--paddingY] pe-[--bq-breadcrumb-item--padding-end] ps-[--bq-breadcrumb-item--padding-start];\n @apply text-[length:--bq-breadcrumb-item--text-size] font-regular leading-[--bq-breadcrumb-item--line-height] text-[color:--bq-breadcrumb-item--text-color];\n @apply focus-visible:focus hover:text-hover-text-brand active:outline-none;\n @apply transition-colors duration-300 ease-in-out;\n @apply cursor-pointer no-underline;\n\n border-style: var(--bq-avatar--border-style);\n}\n\n.breadcrumb-separator {\n @apply flex items-center text-[length:--bq-breadcrumb-item--text-size-separator];\n @apply pe-[--bq-breadcrumb-item--padding-end-separator] ps-[--bq-breadcrumb-item--padding-start-separator];\n}\n","import { Component, Element, Event, EventEmitter, h, Prop } from '@stencil/core';\n\nimport { isDefined } from '../../shared/utils';\n\n/**\n * @part base - The component wrapper container\n * @part base - The breadcrumb item wrapper (`button` or `a`)\n * @part content - The `span` tag that loads the content item\n * @part separator - The `span` tag that loads the separator\n */\n@Component({\n tag: 'bq-breadcrumb-item',\n styleUrl: './scss/bq-breadcrumb-item.scss',\n shadow: true,\n})\nexport class BqBreadcrumbItem {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqBreadcrumbItemElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /**\n * The aria-label that corresponds to the full title of the destination page.\n * This won't be shown in the page, but it will be used by screen readers and other assistive devices.\n */\n @Prop() ariaLabel: string;\n\n /** If true, the item is the last element inside breadcrumb */\n @Prop() isLastItem: boolean = false;\n\n /** If set, the breadcrumb item will be rendered as an `<a>` with this `href`, otherwise, a `<button>` will be rendered. */\n @Prop({ reflect: true }) href: string;\n\n /** Where to display the link in the browser context. Relevant only if `href` is set. */\n @Prop({ reflect: true }) target: '_blank' | '_parent' | '_self' | '_top';\n\n /** Where to display the link in the browser context. Relevant only if `href` is set. */\n @Prop({ reflect: true }) rel: string = 'noreferrer noopener';\n\n // Prop lifecycle events\n // =======================\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when item loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqBreadcrumbItemElement>;\n\n /** Handler to be called when item is focused */\n @Event() bqFocus: EventEmitter<HTMLBqBreadcrumbItemElement>;\n\n /** Handler to be called when item is clicked */\n @Event() bqClick: EventEmitter<HTMLBqBreadcrumbItemElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private onBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private onFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private onClick = () => {\n this.bqClick.emit(this.el);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const isLink = isDefined(this.href);\n const TagElem = isLink ? 'a' : 'button';\n\n return (\n <div class=\"flex items-center\" aria-label={this.ariaLabel} part=\"base\">\n <TagElem\n class=\"breadcrumb-item\"\n href={isLink ? this.href : undefined}\n rel={isLink && this.target ? 'noreferrer noopener' : undefined}\n target={isLink ? this.target : undefined}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.onClick}\n aria-current={isLink && this.isLastItem ? 'location' : undefined} // indicates the last link as the current page\n part=\"item\"\n >\n <span\n class={{\n 'flex items-center gap-xs2': true,\n 'text-text-brand': this.isLastItem,\n }}\n part=\"content\"\n >\n <slot></slot>\n </span>\n </TagElem>\n <span\n class={{\n 'breadcrumb-separator': true,\n }}\n part=\"separator\"\n >\n <slot name=\"separator\"></slot>\n </span>\n </div>\n );\n }\n}\n"],"mappings":";;;;wIAAA,MAAMA,EAAsB,y7vBAC5B,MAAAC,EAAeD,E,MCcFE,EAAgB,M,0HAqEnBC,KAAAC,OAAS,KACfD,KAAKE,OAAOC,KAAKH,KAAKI,GAAG,EAGnBJ,KAAAK,QAAU,KAChBL,KAAKM,QAAQH,KAAKH,KAAKI,GAAG,EAGpBJ,KAAAO,QAAU,KAChBP,KAAKQ,QAAQL,KAAKH,KAAKI,GAAG,E,yCAvDE,M,mDASS,qB,CAqDvC,MAAAK,GACE,MAAMC,EAASC,EAAUX,KAAKY,MAC9B,MAAMC,EAAUH,EAAS,IAAM,SAE/B,OACEI,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBAAmB,aAAahB,KAAKiB,UAAWC,KAAK,QAC9DJ,EAACD,EAAO,CAAAE,IAAA,2CACNC,MAAM,kBACNJ,KAAMF,EAASV,KAAKY,KAAOO,UAC3BC,IAAKV,GAAUV,KAAKqB,OAAS,sBAAwBF,UACrDE,OAAQX,EAASV,KAAKqB,OAASF,UAC/BlB,OAAQD,KAAKC,OACbI,QAASL,KAAKK,QACdE,QAASP,KAAKO,QAAO,eACPG,GAAUV,KAAKsB,WAAa,WAAaH,UACvDD,KAAK,QAELJ,EAAA,QAAAC,IAAA,2CACEC,MAAO,CACL,4BAA6B,KAC7B,kBAAmBhB,KAAKsB,YAE1BJ,KAAK,WAELJ,EAAA,QAAAC,IAAA,+CAGJD,EAAA,QAAAC,IAAA,2CACEC,MAAO,CACL,uBAAwB,MAE1BE,KAAK,aAELJ,EAAA,QAAAC,IAAA,2CAAMQ,KAAK,e","ignoreList":[]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built by Endavans
|
|
3
|
-
* © https://beeq.design - Apache 2 License.
|
|
4
|
-
*/
|
|
5
|
-
import{r as a,h as r,a as e,g as b}from"./p-b9455ea4.js";import"./p-da31e531.js";import{g as q}from"./p-0ab0b58d.js";import{v as t}from"./p-687da041.js";import{b as n,a as i}from"./p-d7a88b16.js";const s=["horizontal","vertical"];const d={HORIZONTAL:"horizontal",VERTICAL:"vertical"};const o=["start","middle","end"];const v=["square","round","butt"];const l='::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{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);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;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}}: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.light,.light,:root,[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-200);--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}.beeq.dark,.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-800);--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}.endava,[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,[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-200);--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-800);--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}.end,.rotate-180,.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}.flex{display:flex}.h-\\[var\\(--bq-divider--stroke-thickness\\)\\]{height:var(--bq-divider--stroke-thickness)}.h-full{height:100%}.w-\\[var\\(--bq-divider--stroke-thickness\\)\\]{width:var(--bq-divider--stroke-thickness)}.w-full{width:100%}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.basis-\\[var\\(--bq-divider--stroke-basis\\)\\]{flex-basis:var(--bq-divider--stroke-basis)}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{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))}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-\\[var\\(--bq-divider--title-marginX\\)\\]{gap:var(--bq-divider--title-marginX)}.stroke-\\[color\\:var\\(--bq-divider--stroke-color\\)\\]{stroke:var(--bq-divider--stroke-color)}@-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-divider--color:var(--bq-stroke--secondary);--bq-divider--title-marginX:var(--bq-spacing-m)}.bq-divider{align-items:center;display:flex;gap:var(--bq-divider--title-marginX)}.bq-divider--stroke{stroke:var(--bq-divider--stroke-color);flex-grow:1;height:var(--bq-divider--stroke-thickness);width:100%}.bq-divider--stroke.end{--tw-rotate:180deg;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))}.bq-divider--title__end .bq-divider--stroke.end,.bq-divider--title__start .bq-divider--stroke.start{flex-basis:var(--bq-divider--stroke-basis);flex-grow:0}.bq-divider--vertical{align-items:center;flex-direction:column;gap:var(--bq-divider--title-marginX);height:100%}.bq-divider--vertical .bq-divider--stroke{height:100%;width:var(--bq-divider--stroke-thickness)}.static{position:static}.\\!hidden{display:none!important}.gap-0{gap:0}';const c=l;const g={HORIZONTAL:a=>({x1:a,x2:"100%",y1:a,y2:a}),VERTICAL:a=>({x1:a,x2:a,y1:a,y2:"100%"})};const u=class{constructor(r){a(this,r);this.getStrokeDrawPositions=()=>{switch(this.orientation){case d.HORIZONTAL:return g.HORIZONTAL(this.strokeThickness/2);case d.VERTICAL:return g.VERTICAL(this.strokeThickness/2)}};this.getStrokeDasharray=()=>`${this.strokeDashWidth}, ${this.strokeDashGap}`;this.getStrokeAttributes=()=>({...this.getStrokeDrawPositions(),...this.dashed&&{"stroke-dasharray":this.getStrokeDasharray()},"stroke-linecap":this.strokeLinecap,"stroke-width":this.strokeThickness});this.handleSlotChange=()=>{this.hasTitle=n(this.titleElem)||!!i(this.titleElem.querySelector("slot"))};this.hasTitle=undefined;this.dashed=false;this.orientation="horizontal";this.strokeColor="stroke--secondary";this.titleAlignment="middle";this.strokeDashWidth=12;this.strokeDashGap=7;this.strokeThickness=2;this.strokeBasis=20;this.strokeLinecap="butt"}checkPropValues(){t(s,"horizontal",this.el,"orientation");t(o,"middle",this.el,"titleAlignment");t(v,"butt",this.el,"strokeLinecap")}componentWillLoad(){this.checkPropValues()}componentDidLoad(){this.handleSlotChange()}render(){const a={...this.strokeColor&&{"--bq-divider--stroke-color":q(this.strokeColor)},...this.strokeThickness&&{"--bq-divider--stroke-thickness":`${this.strokeThickness}px`},...this.strokeBasis&&{"--bq-divider--stroke-basis":`${this.strokeBasis}px`}};const b=this.getStrokeAttributes();return r(e,{key:"22dabf0c77f361bf3a4f495b4ed354e958125fd5",style:a},r("div",{key:"4f60cea65bcf572946537c5670a45899900c71ae",class:{"bq-divider":true,[`bq-divider--${this.orientation}`]:true,[`bq-divider--title__${this.titleAlignment}`]:true,"gap-0":!this.hasTitle},part:"base",ref:a=>this.titleElem=a,role:"separator","aria-orientation":this.orientation},r("svg",{key:"12e9d43ad16744cc3d25597935c27ce1193159b7",class:"bq-divider--stroke start",part:"dash-start"},r("line",{key:"169c4103d4370c0380b7ab84f8a89a6c300fc600",...b,part:"dash-start-line"})),r("slot",{key:"e4ee00aca9dcf252af3dc38c88388d01ca3f9f18",onSlotchange:this.handleSlotChange}),r("svg",{key:"d5bd8cdc0f1244b07efe40a62117f5e03f264484",class:{"bq-divider--stroke end":true,"!hidden":!this.hasTitle},part:"dash-end"},r("line",{key:"2db9f86167cbfc80f3200b9e5ba56753d498c751",...b,part:"dash-end-line"}))))}get el(){return b(this)}static get watchers(){return{orientation:["checkPropValues"],titleAlignment:["checkPropValues"],strokeLinecap:["checkPropValues"]}}};u.style=c;export{u as bq_divider};
|
|
6
|
-
//# sourceMappingURL=p-e1bf8339.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DIVIDER_ORIENTATION","DIVIDER_ORIENTATION_ENUM","HORIZONTAL","VERTICAL","DIVIDER_TITLE_ALIGNMENT","DIVIDER_STROKE_LINECAP","bqDividerCss","BqDividerStyle0","strokeDrawPositions","drawOffset","x1","x2","y1","y2","BqDivider","this","getStrokeDrawPositions","orientation","strokeThickness","getStrokeDasharray","strokeDashWidth","strokeDashGap","getStrokeAttributes","dashed","strokeLinecap","handleSlotChange","hasTitle","hasSlotContent","titleElem","getTextContent","querySelector","checkPropValues","validatePropValue","el","componentWillLoad","componentDidLoad","render","styles","strokeColor","getColorCSSVariable","strokeBasis","strokeAttributes","h","Host","key","style","class","titleAlignment","part","ref","div","role","onSlotchange"],"sources":["../../packages/beeq/src/components/divider/bq-divider.types.ts","../../packages/beeq/src/components/divider/scss/bq-divider.scss?tag=bq-divider&encapsulation=shadow","../../packages/beeq/src/components/divider/bq-divider.tsx"],"sourcesContent":["export const DIVIDER_ORIENTATION = ['horizontal', 'vertical'] as const;\nexport type TDividerOrientation = (typeof DIVIDER_ORIENTATION)[number];\n\nexport const DIVIDER_ORIENTATION_ENUM = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n} as const;\n\nexport const DIVIDER_TITLE_ALIGNMENT = ['start', 'middle', 'end'] as const;\nexport type TDividerTitleAlignment = (typeof DIVIDER_TITLE_ALIGNMENT)[number];\n\nexport const DIVIDER_STROKE_LINECAP = ['square', 'round', 'butt'] as const;\nexport type TDividerStrokeLinecap = (typeof DIVIDER_STROKE_LINECAP)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-divider.variables';\n\n.bq-divider {\n @apply flex items-center gap-[var(--bq-divider--title-marginX)];\n}\n\n.bq-divider--stroke {\n @apply h-[var(--bq-divider--stroke-thickness)] w-full flex-grow stroke-[color:var(--bq-divider--stroke-color)];\n\n &.end {\n @apply rotate-180;\n }\n}\n\n.bq-divider--title__start .bq-divider--stroke.start,\n.bq-divider--title__end .bq-divider--stroke.end {\n @apply flex-grow-0 basis-[var(--bq-divider--stroke-basis)];\n}\n\n.bq-divider--vertical {\n @apply h-full flex-col items-center gap-[var(--bq-divider--title-marginX)];\n\n .bq-divider--stroke {\n @apply h-full w-[var(--bq-divider--stroke-thickness)];\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIVIDER_ORIENTATION,\n DIVIDER_ORIENTATION_ENUM,\n DIVIDER_STROKE_LINECAP,\n DIVIDER_TITLE_ALIGNMENT,\n TDividerOrientation,\n TDividerStrokeLinecap,\n TDividerTitleAlignment,\n} from './bq-divider.types';\nimport { getColorCSSVariable, getTextContent, hasSlotContent, validatePropValue } from '../../shared/utils';\n\nconst strokeDrawPositions = {\n HORIZONTAL: (drawOffset: number) => {\n return { x1: drawOffset, x2: '100%', y1: drawOffset, y2: drawOffset };\n },\n VERTICAL: (drawOffset: number) => {\n return { x1: drawOffset, x2: drawOffset, y1: drawOffset, y2: '100%' };\n },\n};\n\n/**\n * @part base - The component's internal wrapper.\n * @part dash-start - The component's internal svg wrapper for the start line of the divider's stroke\n * @part dash-end - The component's internal svg wrapper for the end line of the divider's stroke\n * @part dash-start-line - The component's internal line component of the divider's stroke\n * @part dash-end-line - The component's internal line component of the divider's stroke\n */\n@Component({\n tag: 'bq-divider',\n styleUrl: './scss/bq-divider.scss',\n shadow: true,\n})\nexport class BqDivider {\n // Own Properties\n // ====================\n\n private titleElem: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDividerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasTitle: boolean;\n\n // Public Property API\n // ========================\n\n /** If true, the divider has a dashed pattern */\n @Prop() dashed = false;\n\n /** The default orientation of the divider */\n @Prop({ reflect: true }) orientation: TDividerOrientation = 'horizontal';\n\n /** Set the stroke color of the divider. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) strokeColor?: string = 'stroke--secondary';\n\n /** Set the alignment of the title on the main axis of the divider (horizontal / vertical) */\n @Prop({ reflect: true }) titleAlignment?: TDividerTitleAlignment = 'middle';\n\n /** Set the width of each dash of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeDashWidth?: number = 12;\n\n /** Set the gap of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeDashGap?: number = 7;\n\n /** Set the thickness of the divider's stroke. Value expressed in px*/\n @Prop({ reflect: true }) strokeThickness?: number = 2;\n\n /** Set the min width of the divider's stroke when text is not centered. Value expressed in px */\n @Prop({ reflect: true }) strokeBasis?: number = 20;\n\n /** Set the line of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeLinecap?: TDividerStrokeLinecap = 'butt';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('orientation')\n @Watch('titleAlignment')\n @Watch('strokeLinecap')\n checkPropValues() {\n validatePropValue(DIVIDER_ORIENTATION, 'horizontal', this.el, 'orientation');\n validatePropValue(DIVIDER_TITLE_ALIGNMENT, 'middle', this.el, 'titleAlignment');\n validatePropValue(DIVIDER_STROKE_LINECAP, 'butt', this.el, 'strokeLinecap');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private getStrokeDrawPositions = () => {\n switch (this.orientation) {\n case DIVIDER_ORIENTATION_ENUM.HORIZONTAL:\n return strokeDrawPositions.HORIZONTAL(this.strokeThickness / 2);\n case DIVIDER_ORIENTATION_ENUM.VERTICAL:\n return strokeDrawPositions.VERTICAL(this.strokeThickness / 2);\n default:\n break;\n }\n };\n\n private getStrokeDasharray = () => {\n return `${this.strokeDashWidth}, ${this.strokeDashGap}`;\n };\n\n private getStrokeAttributes = () => {\n return {\n ...this.getStrokeDrawPositions(),\n ...(this.dashed && { 'stroke-dasharray': this.getStrokeDasharray() }),\n 'stroke-linecap': this.strokeLinecap,\n 'stroke-width': this.strokeThickness,\n };\n };\n\n private handleSlotChange = () => {\n this.hasTitle = hasSlotContent(this.titleElem) || !!getTextContent(this.titleElem.querySelector('slot'));\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.strokeColor && { '--bq-divider--stroke-color': getColorCSSVariable(this.strokeColor) }),\n ...(this.strokeThickness && { '--bq-divider--stroke-thickness': `${this.strokeThickness}px` }),\n ...(this.strokeBasis && { '--bq-divider--stroke-basis': `${this.strokeBasis}px` }),\n };\n\n const strokeAttributes = this.getStrokeAttributes();\n\n return (\n <Host style={styles}>\n <div\n class={{\n 'bq-divider': true,\n [`bq-divider--${this.orientation}`]: true,\n [`bq-divider--title__${this.titleAlignment}`]: true,\n 'gap-0': !this.hasTitle,\n }}\n part=\"base\"\n ref={(div) => (this.titleElem = div)}\n role=\"separator\"\n aria-orientation={this.orientation}\n >\n <svg class=\"bq-divider--stroke start\" part=\"dash-start\">\n <line {...strokeAttributes} part=\"dash-start-line\" />\n </svg>\n <slot onSlotchange={this.handleSlotChange} />\n <svg class={{ 'bq-divider--stroke end': true, '!hidden': !this.hasTitle }} part=\"dash-end\">\n <line {...strokeAttributes} part=\"dash-end-line\" />\n </svg>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;oMAAO,MAAMA,EAAsB,CAAC,aAAc,YAG3C,MAAMC,EAA2B,CACtCC,WAAY,aACZC,SAAU,YAGL,MAAMC,EAA0B,CAAC,QAAS,SAAU,OAGpD,MAAMC,EAAyB,CAAC,SAAU,QAAS,QCX1D,MAAMC,EAAe,kxoBACrB,MAAAC,EAAeD,ECYf,MAAME,EAAsB,CAC1BN,WAAaO,IACJ,CAAEC,GAAID,EAAYE,GAAI,OAAQC,GAAIH,EAAYI,GAAIJ,IAE3DN,SAAWM,IACF,CAAEC,GAAID,EAAYE,GAAIF,EAAYG,GAAIH,EAAYI,GAAI,U,MAgBpDC,EAAS,M,yBA0FZC,KAAAC,uBAAyB,KAC/B,OAAQD,KAAKE,aACX,KAAKhB,EAAyBC,WAC5B,OAAOM,EAAoBN,WAAWa,KAAKG,gBAAkB,GAC/D,KAAKjB,EAAyBE,SAC5B,OAAOK,EAAoBL,SAASY,KAAKG,gBAAkB,G,EAMzDH,KAAAI,mBAAqB,IACpB,GAAGJ,KAAKK,oBAAoBL,KAAKM,gBAGlCN,KAAAO,oBAAsB,KACrB,IACFP,KAAKC,4BACJD,KAAKQ,QAAU,CAAE,mBAAoBR,KAAKI,sBAC9C,iBAAkBJ,KAAKS,cACvB,eAAgBT,KAAKG,kBAIjBH,KAAAU,iBAAmB,KACzBV,KAAKW,SAAWC,EAAeZ,KAAKa,cAAgBC,EAAed,KAAKa,UAAUE,cAAc,QAAQ,E,oCA9FzF,M,iBAG2C,a,iBAGZ,oB,oBAGmB,S,qBAGf,G,mBAGF,E,qBAGE,E,iBAGJ,G,mBAGiB,M,CAQjE,eAAAC,GACEC,EAAkBhC,EAAqB,aAAce,KAAKkB,GAAI,eAC9DD,EAAkB5B,EAAyB,SAAUW,KAAKkB,GAAI,kBAC9DD,EAAkB3B,EAAwB,OAAQU,KAAKkB,GAAI,gB,CAW7D,iBAAAC,GACEnB,KAAKgB,iB,CAGP,gBAAAI,GACEpB,KAAKU,kB,CAkDP,MAAAW,GACE,MAAMC,EAAS,IACTtB,KAAKuB,aAAe,CAAE,6BAA8BC,EAAoBxB,KAAKuB,iBAC7EvB,KAAKG,iBAAmB,CAAE,iCAAkC,GAAGH,KAAKG,wBACpEH,KAAKyB,aAAe,CAAE,6BAA8B,GAAGzB,KAAKyB,kBAGlE,MAAMC,EAAmB1B,KAAKO,sBAE9B,OACEoB,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOR,GACXK,EAAA,OAAAE,IAAA,2CACEE,MAAO,CACL,aAAc,KACd,CAAC,eAAe/B,KAAKE,eAAgB,KACrC,CAAC,sBAAsBF,KAAKgC,kBAAmB,KAC/C,SAAUhC,KAAKW,UAEjBsB,KAAK,OACLC,IAAMC,GAASnC,KAAKa,UAAYsB,EAChCC,KAAK,YAAW,mBACEpC,KAAKE,aAEvByB,EAAA,OAAAE,IAAA,2CAAKE,MAAM,2BAA2BE,KAAK,cACzCN,EAAA,QAAAE,IAAA,8CAAUH,EAAkBO,KAAK,qBAEnCN,EAAA,QAAAE,IAAA,2CAAMQ,aAAcrC,KAAKU,mBACzBiB,EAAA,OAAAE,IAAA,2CAAKE,MAAO,CAAE,yBAA0B,KAAM,WAAY/B,KAAKW,UAAYsB,KAAK,YAC9EN,EAAA,QAAAE,IAAA,8CAAUH,EAAkBO,KAAK,oB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DIALOG_SIZE","DIALOG_FOOTER_APPEARANCE","bqDialogCss","BqDialogStyle0","BqDialog","this","OPEN_CSS_CLASS","handleClose","async","dialogElem","close","leave","handleTransitionEnd","handleOpen","el","classList","add","disableBackdrop","show","showModal","enter","open","bqAfterOpen","emit","bqAfterClose","remove","handleContentSlotChange","hasContent","hasSlotContent","contentElem","handleFooterSlotChange","hasFooter","footerElem","checkPropValues","validatePropValue","handleOpenChange","componentWillLoad","componentDidLoad","handleMouseClick","event","disableCloseClickOutside","button","rect","getBoundingClientRect","clientY","top","bottom","clientX","left","right","cancel","handleKeyDown","ev","isEscapeKey","key","disableCloseEscKeydown","preventDefault","bqOpen","defaultPrevented","hide","bqClose","bqCancel","render","style","border","h","class","size","inert","undefined","ref","part","name","onClick","role","hideCloseButton","appearance","slot","title","mainElem","onSlotchange","footerAppearance"],"sources":["../../packages/beeq/src/components/dialog/bq-dialog.types.ts","../../packages/beeq/src/components/dialog/scss/bq-dialog.scss?tag=bq-dialog&encapsulation=shadow","../../packages/beeq/src/components/dialog/bq-dialog.tsx"],"sourcesContent":["export const DIALOG_SIZE = ['small', 'medium', 'large'] as const;\nexport type TDialogSize = (typeof DIALOG_SIZE)[number];\n\nexport const DIALOG_FOOTER_APPEARANCE = ['standard', 'highlight'] as const;\nexport type TDialogFooterAppearance = (typeof DIALOG_FOOTER_APPEARANCE)[number];\n\nexport const DIALOG_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TDialogBorderRadius = (typeof DIALOG_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Dialog styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-dialog.variables';\n\n:host {\n @apply invisible #{!important};\n}\n\n:host(.bq-dialog--open) {\n @apply visible #{!important};\n}\n\n/* --------------------------------- Dialog --------------------------------- */\n\n.bq-dialog {\n @apply absolute left-1/2 top-1/2 flex;\n @apply flex-col gap-[var(--bq-dialog--content-footer-gap)] p-0;\n @apply bg-[--bq-dialog--background] text-[--bq-dialog--text-color] shadow-[shadow:--bq-dialog--box-shadow];\n @apply rounded-[var(--bq-dialog--border-radius)] border-[color:--bq-dialog--border-color] [length:--bq-dialog--border-width];\n // After setting `optimizeUniversalDefaults` to `true` in `tailwind.config.js`,\n // `!important` is required to avoid default --tw-* variables to override custom transform values\n @apply -translate-x-1/2 -translate-y-1/2 #{!important};\n // If mobile resolution, dialog will be full width\n @apply w-[90vw];\n\n border-style: var(--bq-dialog--border-style);\n\n &.small {\n @apply sm:w-[--bq-dialog--width-small];\n }\n\n &.medium {\n @apply sm:w-[--bq-dialog--width-medium];\n }\n\n &.large {\n @apply sm:w-[--bq-dialog--width-large];\n }\n}\n\n/* ----------------------------- Dialog backdrop ---------------------------- */\n\n.bq-dialog::backdrop {\n @apply bg-[--bq-dialog--background-backdrop] opacity-0 transition-[opacity] duration-300 ease-in-out;\n}\n\n.bq-dialog[open]::backdrop {\n @apply opacity-60;\n}\n\n/* ------------------------------ Dialog header ----------------------------- */\n\n.bq-dialog--header {\n @apply sticky top-0 flex items-center gap-m p-[--bq-dialog--padding] pb-0;\n}\n\n/* ------------------------------ Dialog footer ----------------------------- */\n\n.bq-dialog--footer {\n @apply sticky top-full flex w-full items-center justify-end gap-xs p-[--bq-dialog--padding] pt-0;\n}\n\n/* --------------------------- Dialog close button -------------------------- */\n\n.bq-dialog--close {\n --bq-radius--m: theme(borderRadius.s);\n --bq-button--small-paddingX: theme(spacing.xs2);\n --bq-button--small-paddingY: theme(spacing.xs2);\n\n &::part(button) {\n @apply border-none;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIALOG_FOOTER_APPEARANCE,\n DIALOG_SIZE,\n TDialogBorderRadius,\n TDialogFooterAppearance,\n TDialogSize,\n} from './bq-dialog.types';\nimport { enter, hasSlotContent, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * @part body - The `<main>` that holds the dialog body content\n * @part button-close - The button that close the dialog on click\n * @part content - The `<div>` container that holds the dialog title and body content\n * @part dialog - The `<dialog>` wrapper container inside the shadow DOM\n * @part footer - The `<footer>` that holds footer content\n * @part header - The `<header>` that holds the icon, title, description and close button\n * @part title - The `<div>` that holds the title content\n */\n\n@Component({\n tag: 'bq-dialog',\n styleUrl: './scss/bq-dialog.scss',\n shadow: true,\n})\nexport class BqDialog {\n // Own Properties\n // ====================\n\n private dialogElem: HTMLDialogElement;\n private contentElem: HTMLElement;\n private footerElem: HTMLElement;\n private OPEN_CSS_CLASS = 'bq-dialog--open';\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqDialogElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** Corder radius of the dialog component */\n @Prop({ reflect: true }) border: TDialogBorderRadius = 'm';\n\n /** If true, the backdrop overlay won't be shown when the dialog opens */\n @Prop({ reflect: true }) disableBackdrop = false;\n\n /** If true, the dialog will not close when the [Esc] key is press */\n @Prop({ reflect: true }) disableCloseEscKeydown = false;\n\n /** If true, the dialog will not close when clicking on the backdrop overlay */\n @Prop({ reflect: true }) disableCloseClickOutside = false;\n\n /** The appearance of footer */\n @Prop({ reflect: true }) footerAppearance: TDialogFooterAppearance = 'standard';\n\n /** If true, it hides the close button */\n @Prop({ reflect: true }) hideCloseButton = false;\n\n /** If true, the dialog will be shown as open */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /** The size of the dialog */\n @Prop({ reflect: true, mutable: true }) size: TDialogSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n @Watch('footerAppearance')\n @Watch('size')\n checkPropValues() {\n validatePropValue(DIALOG_SIZE, 'large', this.el, 'size');\n validatePropValue(DIALOG_FOOTER_APPEARANCE, 'standard', this.el, 'footerAppearance');\n }\n\n @Watch('open')\n async handleOpenChange() {\n if (this.open) {\n await this.handleOpen();\n return;\n }\n\n await this.handleClose();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the dialog has been canceled or dismissed */\n @Event() bqCancel!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will close */\n @Event() bqClose!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will open */\n @Event() bqOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish opening */\n @Event() bqAfterOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish closing */\n @Event() bqAfterClose!: EventEmitter<void>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleOpenChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.dialogElem || this.disableCloseClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.dialogElem.getBoundingClientRect();\n if (\n event.clientY < rect.top ||\n event.clientY > rect.bottom ||\n event.clientX < rect.left ||\n event.clientX > rect.right\n ) {\n await this.cancel();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(ev: KeyboardEvent) {\n const isEscapeKey = ev.key === 'Escape' || ev.key === 'Esc';\n if (!this.open || !this.dialogElem || !isEscapeKey) return;\n\n if (this.disableCloseEscKeydown) {\n ev.preventDefault();\n return;\n }\n\n await this.cancel();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Open the dialog */\n @Method()\n async show() {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n /** Closes the dialog */\n @Method()\n async hide() {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Dismiss or cancel the dialog */\n @Method()\n async cancel() {\n const ev = this.bqCancel.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClose = async () => {\n if (!this.dialogElem) return;\n\n this.dialogElem.close();\n await leave(this.dialogElem);\n // Emit bqAfterClose event after the dialog is closed\n this.handleTransitionEnd();\n };\n\n private handleOpen = async () => {\n if (!this.dialogElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n // Show the dialog\n this.disableBackdrop ? this.dialogElem.show() : this.dialogElem.showModal();\n await enter(this.dialogElem);\n // Emit bqAfterOpen event after the dialog is opened\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private handleContentSlotChange = () => {\n this.hasContent = hasSlotContent(this.contentElem);\n };\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <dialog\n style={style}\n class={`bq-dialog hidden ${this.size} focus-visible:outline-none`}\n data-transition-enter=\"transition ease-in duration-300\"\n data-transition-enter-start=\"opacity-0 scale-75\"\n data-transition-enter-end=\"opacity-100 scale-100\"\n data-transition-leave=\"transition ease-out duration-300\"\n data-transition-leave-start=\"opacity-100 scale-100\"\n data-transition-leave-end=\"opacity-0 scale-75\"\n inert={this.open ? undefined : true}\n ref={(dialogElem) => (this.dialogElem = dialogElem)}\n part=\"dialog\"\n >\n <main class=\"flex flex-col gap-[var(--bq-dialog--title-body-gap)] overflow-hidden\" part=\"content\">\n <header class=\"bq-dialog--header\" part=\"header\">\n <div class=\"bq-dialog--title flex flex-1 items-center justify-between\" part=\"title\">\n <slot name=\"title\" />\n </div>\n <div class=\"flex\" onClick={() => this.hide()} role=\"button\" part=\"button-close\">\n <slot name=\"button-close\">\n {!this.hideCloseButton && (\n <bq-button class=\"bq-dialog--close\" appearance=\"text\" size=\"small\" slot=\"button-close\">\n <bq-icon class=\"cursor-pointer\" name=\"x\" role=\"img\" title=\"Close\" />\n </bq-button>\n )}\n </slot>\n </div>\n </header>\n <div\n class={{\n '!hidden': !this.hasContent,\n 'overflow-y-auto px-[var(--bq-dialog--padding)]': this.hasContent,\n '!pb-[var(--bq-dialog--padding)]': !this.hasFooter,\n }}\n ref={(mainElem) => (this.contentElem = mainElem)}\n part=\"body\"\n >\n <slot onSlotchange={this.handleContentSlotChange} />\n </div>\n </main>\n <footer\n class={{\n '!hidden': !this.hasFooter,\n 'bq-dialog--footer': this.hasFooter,\n 'bg-ui-alt !py-s': this.footerAppearance === 'highlight',\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </dialog>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|