@beeq/core 1.12.4 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/beeq/beeq.esm.js +1 -1
- package/dist/beeq/{p-b4b02b99.entry.js → p-0d078519.entry.js} +2 -2
- package/dist/beeq/{p-b4b02b99.entry.js.map → p-0d078519.entry.js.map} +1 -1
- package/dist/beeq/{p-49a999b4.entry.js → p-1a2c4878.entry.js} +2 -2
- package/dist/beeq/p-21db4f39.entry.js +6 -0
- package/dist/beeq/p-21db4f39.entry.js.map +1 -0
- package/dist/beeq/{p-21db2c4e.entry.js → p-24bb2588.entry.js} +2 -2
- package/dist/beeq/{p-21db2c4e.entry.js.map → p-24bb2588.entry.js.map} +1 -1
- package/dist/beeq/{p-327cb74b.entry.js → p-2a081a54.entry.js} +2 -2
- package/dist/beeq/{p-327cb74b.entry.js.map → p-2a081a54.entry.js.map} +1 -1
- package/dist/beeq/{p-8974f66f.entry.js → p-2e1fffcd.entry.js} +2 -2
- package/dist/beeq/p-2fd6ea70.entry.js +6 -0
- package/dist/beeq/{p-d4df64ae.entry.js.map → p-2fd6ea70.entry.js.map} +1 -1
- package/dist/beeq/{p-f4c66e83.entry.js → p-30d1bd84.entry.js} +2 -2
- package/dist/beeq/{p-f4c66e83.entry.js.map → p-30d1bd84.entry.js.map} +1 -1
- package/dist/beeq/{p-b31d249b.entry.js → p-38006c8e.entry.js} +2 -2
- package/dist/beeq/{p-b8bac7c7.entry.js → p-3d754d97.entry.js} +2 -2
- package/dist/beeq/{p-b8bac7c7.entry.js.map → p-3d754d97.entry.js.map} +1 -1
- package/dist/beeq/{p-25772ebd.entry.js → p-45ae19aa.entry.js} +2 -2
- package/dist/beeq/p-45ae19aa.entry.js.map +1 -0
- package/dist/beeq/{p-f0a2c87e.entry.js → p-56b49d4e.entry.js} +2 -2
- package/dist/beeq/{p-f0a2c87e.entry.js.map → p-56b49d4e.entry.js.map} +1 -1
- package/dist/beeq/{p-644013aa.entry.js → p-58813f83.entry.js} +2 -2
- package/dist/beeq/{p-644013aa.entry.js.map → p-58813f83.entry.js.map} +1 -1
- package/dist/beeq/{p-0a3c5b97.entry.js → p-5eba392c.entry.js} +2 -2
- package/dist/beeq/{p-fe22de00.entry.js → p-6a38fcaf.entry.js} +2 -2
- package/dist/beeq/{p-d7c20c6f.entry.js → p-6be3f23a.entry.js} +2 -2
- package/dist/beeq/{p-d7c20c6f.entry.js.map → p-6be3f23a.entry.js.map} +1 -1
- package/dist/beeq/{p-ef783b95.entry.js → p-72ff2fe2.entry.js} +2 -2
- package/dist/beeq/{p-1764899f.entry.js → p-7ebe6b9d.entry.js} +2 -2
- package/dist/beeq/{p-1764899f.entry.js.map → p-7ebe6b9d.entry.js.map} +1 -1
- package/dist/beeq/{p-69cf0536.entry.js → p-817f7a5e.entry.js} +2 -2
- package/dist/beeq/{p-69cf0536.entry.js.map → p-817f7a5e.entry.js.map} +1 -1
- package/dist/beeq/{p-fb763ec5.entry.js → p-8bd7f4c2.entry.js} +2 -2
- package/dist/beeq/{p-8d9bef7a.entry.js → p-8be7ceb5.entry.js} +2 -2
- package/dist/beeq/{p-8d9bef7a.entry.js.map → p-8be7ceb5.entry.js.map} +1 -1
- package/dist/beeq/{p-f07f4d99.entry.js → p-9413a4d3.entry.js} +2 -2
- package/dist/beeq/{p-b7c6fdbd.entry.js → p-96f72671.entry.js} +2 -2
- package/dist/beeq/p-96f72671.entry.js.map +1 -0
- package/dist/beeq/p-Dx-CEPSQ.js.map +1 -1
- package/dist/beeq/p-a0a8ea5b.entry.js +6 -0
- package/dist/beeq/p-a0a8ea5b.entry.js.map +1 -0
- package/dist/beeq/{p-7972ba08.entry.js → p-a55354ee.entry.js} +2 -2
- package/dist/beeq/{p-365f0372.entry.js → p-a72671f9.entry.js} +2 -2
- package/dist/beeq/p-a72671f9.entry.js.map +1 -0
- package/dist/beeq/{p-56810dba.entry.js → p-bdb983f9.entry.js} +2 -2
- package/dist/beeq/{p-56810dba.entry.js.map → p-bdb983f9.entry.js.map} +1 -1
- package/dist/beeq/{p-2a7c5b1e.entry.js → p-d6c35472.entry.js} +2 -2
- package/dist/beeq/{p-2a7c5b1e.entry.js.map → p-d6c35472.entry.js.map} +1 -1
- package/dist/beeq/{p-84e96891.entry.js → p-d792e3d3.entry.js} +2 -2
- package/dist/beeq/{p-5645238d.entry.js → p-e9a1b183.entry.js} +2 -2
- package/dist/beeq/p-f688d230.entry.js +6 -0
- package/dist/beeq/{p-79aab4dd.entry.js.map → p-f688d230.entry.js.map} +1 -1
- package/dist/beeq/{p-b6f5430a.entry.js → p-f891fb4b.entry.js} +2 -2
- package/dist/beeq/{p-b26ee039.entry.js → p-fa123a10.entry.js} +2 -2
- package/dist/beeq/{p-b26ee039.entry.js.map → p-fa123a10.entry.js.map} +1 -1
- package/dist/beeq/p-uqkxeAeG.js.map +1 -1
- package/dist/beeq/svg/.icons-meta.json +13 -0
- package/dist/beeq.html-custom-data.json +2153 -50
- package/dist/cjs/beeq.cjs.js +1 -1
- package/dist/cjs/bq-accordion.cjs.entry.js +1 -1
- package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-alert.cjs.entry.js +1 -1
- package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-button_2.cjs.entry.js +2 -2
- package/dist/cjs/bq-button_2.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 +1741 -364
- package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dialog.cjs.entry.js +5 -5
- package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-divider.cjs.entry.js +4 -4
- package/dist/cjs/bq-drawer.cjs.entry.js +5 -5
- package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +4 -4
- package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-empty-state.cjs.entry.js +6 -6
- package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-input.cjs.entry.js +8 -8
- package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-notification.cjs.entry.js +6 -6
- package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option-group.cjs.entry.js +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 +4 -4
- package/dist/cjs/bq-page-title.cjs.entry.js +4 -4
- package/dist/cjs/bq-progress.cjs.entry.js +5 -5
- package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio-group.cjs.entry.js +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 +1 -1
- package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu.cjs.entry.js +2 -2
- package/dist/cjs/bq-slider.cjs.entry.js +3 -3
- package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-spinner.cjs.entry.js +4 -4
- package/dist/cjs/bq-status.cjs.entry.js +2 -2
- package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-step-item.cjs.entry.js +5 -5
- package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-steps.cjs.entry.js +2 -2
- package/dist/cjs/bq-switch.cjs.entry.js +4 -4
- 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.cjs.entry.js +3 -3
- package/dist/cjs/bq-textarea.cjs.entry.js +5 -5
- package/dist/cjs/bq-toast.cjs.entry.js +2 -2
- package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/event-BhuEFC-I.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/slot-DKWrtk4b.js.map +1 -1
- package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
- package/dist/collection/components/alert/scss/bq-alert.css +1 -1
- package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
- package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
- package/dist/collection/components/button/scss/bq-button.css +1 -1
- package/dist/collection/components/card/scss/bq-card.css +1 -1
- package/dist/collection/components/checkbox/bq-checkbox.js +5 -4
- package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
- package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
- package/dist/collection/components/date-picker/bq-date-picker.js +1141 -457
- package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/bq-date-picker.types.js +29 -0
- package/dist/collection/components/date-picker/bq-date-picker.types.js.map +1 -1
- package/dist/collection/components/date-picker/components/CalendarDayView.js +96 -0
- package/dist/collection/components/date-picker/components/CalendarDayView.js.map +1 -0
- package/dist/collection/components/date-picker/components/CalendarHeader.js +18 -0
- package/dist/collection/components/date-picker/components/CalendarHeader.js.map +1 -0
- package/dist/collection/components/date-picker/components/CalendarMonthView.js +70 -0
- package/dist/collection/components/date-picker/components/CalendarMonthView.js.map +1 -0
- package/dist/collection/components/date-picker/components/CalendarYearView.js +68 -0
- package/dist/collection/components/date-picker/components/CalendarYearView.js.map +1 -0
- package/dist/collection/components/date-picker/helper/bounds.js +114 -0
- package/dist/collection/components/date-picker/helper/bounds.js.map +1 -0
- package/dist/collection/components/date-picker/helper/calendar.js +156 -0
- package/dist/collection/components/date-picker/helper/calendar.js.map +1 -0
- package/dist/collection/components/date-picker/helper/constants.js +62 -16
- package/dist/collection/components/date-picker/helper/constants.js.map +1 -1
- package/dist/collection/components/date-picker/helper/input.js +37 -0
- package/dist/collection/components/date-picker/helper/input.js.map +1 -0
- package/dist/collection/components/date-picker/helper/intl.js +78 -0
- package/dist/collection/components/date-picker/helper/intl.js.map +1 -0
- package/dist/collection/components/date-picker/helper/labels.js +61 -0
- package/dist/collection/components/date-picker/helper/labels.js.map +1 -0
- package/dist/collection/components/date-picker/helper/navigation.js +45 -0
- package/dist/collection/components/date-picker/helper/navigation.js.map +1 -0
- package/dist/collection/components/date-picker/helper/selection.js +167 -0
- package/dist/collection/components/date-picker/helper/selection.js.map +1 -0
- package/dist/collection/components/date-picker/helper/value.js +49 -0
- package/dist/collection/components/date-picker/helper/value.js.map +1 -0
- package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
- package/dist/collection/components/dialog/bq-dialog.js +4 -4
- package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
- package/dist/collection/components/divider/bq-divider.js +4 -4
- package/dist/collection/components/drawer/bq-drawer.js +4 -4
- package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
- package/dist/collection/components/dropdown/bq-dropdown.js +1 -1
- package/dist/collection/components/dropdown/scss/bq-dropdown.css +1 -1
- package/dist/collection/components/empty-state/bq-empty-state.js +5 -5
- package/dist/collection/components/empty-state/scss/bq-empty-state.css +1 -1
- package/dist/collection/components/icon/bq-icon.js +1 -1
- package/dist/collection/components/icon/svg/.icons-meta.json +13 -0
- package/dist/collection/components/input/bq-input.js +7 -7
- package/dist/collection/components/input/scss/bq-input.css +1 -1
- package/dist/collection/components/notification/bq-notification.js +5 -5
- package/dist/collection/components/notification/scss/bq-notification.css +1 -1
- package/dist/collection/components/option/bq-option.js +4 -4
- package/dist/collection/components/option-group/bq-option-group.js +1 -1
- package/dist/collection/components/option-group/scss/bq-option-group.css +1 -1
- package/dist/collection/components/option-list/bq-option-list.js +1 -1
- package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
- package/dist/collection/components/page-title/bq-page-title.js +4 -4
- package/dist/collection/components/page-title/scss/bq-page-title.css +1 -1
- package/dist/collection/components/panel/bq-panel.js +2 -2
- package/dist/collection/components/panel/scss/bq-panel.css +1 -1
- package/dist/collection/components/progress/bq-progress.js +4 -4
- package/dist/collection/components/progress/scss/bq-progress.css +1 -1
- package/dist/collection/components/radio/bq-radio.js +5 -4
- package/dist/collection/components/radio/bq-radio.js.map +1 -1
- package/dist/collection/components/radio/scss/bq-radio.css +1 -1
- package/dist/collection/components/radio-group/bq-radio-group.js +1 -1
- package/dist/collection/components/select/scss/bq-select.css +1 -1
- package/dist/collection/components/side-menu/bq-side-menu.js +2 -2
- package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
- package/dist/collection/components/slider/bq-slider.js +2 -2
- package/dist/collection/components/spinner/bq-spinner.js +4 -4
- package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
- package/dist/collection/components/status/bq-status.js +1 -1
- package/dist/collection/components/status/scss/bq-status.css +1 -1
- package/dist/collection/components/step-item/bq-step-item.js +4 -4
- package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
- package/dist/collection/components/steps/bq-steps.js +2 -2
- package/dist/collection/components/switch/bq-switch.js +3 -3
- package/dist/collection/components/switch/scss/bq-switch.css +1 -1
- package/dist/collection/components/tab/bq-tab.js +3 -3
- package/dist/collection/components/tab/scss/bq-tab.css +1 -1
- package/dist/collection/components/tab-group/bq-tab-group.js +3 -3
- package/dist/collection/components/tag/bq-tag.js +4 -4
- package/dist/collection/components/tag/scss/bq-tag.css +1 -1
- package/dist/collection/components/textarea/bq-textarea.js +5 -5
- 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 +4 -4
- package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
- package/dist/collection/shared/utils/event.js.map +1 -1
- package/dist/collection/shared/utils/slot.js.map +1 -1
- package/dist/components/bq-accordion-group.js +1 -1
- package/dist/components/bq-accordion-group.js.map +1 -1
- package/dist/components/bq-accordion.js +1 -1
- package/dist/components/bq-alert.js +1 -1
- package/dist/components/bq-alert.js.map +1 -1
- package/dist/components/bq-avatar.js +1 -1
- package/dist/components/bq-avatar.js.map +1 -1
- package/dist/components/bq-breadcrumb-item.js +1 -1
- package/dist/components/bq-breadcrumb-item.js.map +1 -1
- package/dist/components/bq-breadcrumb.js +1 -1
- package/dist/components/bq-breadcrumb.js.map +1 -1
- package/dist/components/bq-button.js +1 -1
- package/dist/components/bq-card.js +1 -1
- package/dist/components/bq-card.js.map +1 -1
- package/dist/components/bq-checkbox.js +1 -1
- package/dist/components/bq-checkbox.js.map +1 -1
- package/dist/components/bq-date-picker.js +1 -1
- package/dist/components/bq-date-picker.js.map +1 -1
- package/dist/components/bq-dialog.js +1 -1
- package/dist/components/bq-dialog.js.map +1 -1
- package/dist/components/bq-divider.js +1 -1
- package/dist/components/bq-drawer.js +1 -1
- package/dist/components/bq-drawer.js.map +1 -1
- package/dist/components/bq-dropdown.js +1 -1
- package/dist/components/bq-empty-state.js +1 -1
- package/dist/components/bq-empty-state.js.map +1 -1
- package/dist/components/bq-icon.js +1 -1
- package/dist/components/bq-input.js +1 -1
- package/dist/components/bq-input.js.map +1 -1
- package/dist/components/bq-notification.js +1 -1
- package/dist/components/bq-notification.js.map +1 -1
- package/dist/components/bq-option-group.js +1 -1
- package/dist/components/bq-option-group.js.map +1 -1
- package/dist/components/bq-option-list.js +1 -1
- package/dist/components/bq-option.js +1 -1
- package/dist/components/bq-page-title.js +1 -1
- package/dist/components/bq-page-title.js.map +1 -1
- package/dist/components/bq-panel.js +1 -1
- package/dist/components/bq-progress.js +1 -1
- package/dist/components/bq-progress.js.map +1 -1
- package/dist/components/bq-radio-group.js +1 -1
- package/dist/components/bq-radio.js +1 -1
- package/dist/components/bq-radio.js.map +1 -1
- package/dist/components/bq-select.js +1 -1
- package/dist/components/bq-select.js.map +1 -1
- package/dist/components/bq-side-menu-item.js +1 -1
- package/dist/components/bq-side-menu-item.js.map +1 -1
- package/dist/components/bq-side-menu.js +1 -1
- package/dist/components/bq-slider.js +1 -1
- package/dist/components/bq-spinner.js +1 -1
- package/dist/components/bq-spinner.js.map +1 -1
- package/dist/components/bq-status.js +1 -1
- package/dist/components/bq-status.js.map +1 -1
- package/dist/components/bq-step-item.js +1 -1
- package/dist/components/bq-step-item.js.map +1 -1
- package/dist/components/bq-steps.js +1 -1
- package/dist/components/bq-switch.js +1 -1
- package/dist/components/bq-switch.js.map +1 -1
- package/dist/components/bq-tab-group.js +1 -1
- package/dist/components/bq-tab.js +1 -1
- package/dist/components/bq-tab.js.map +1 -1
- package/dist/components/bq-tag.js +1 -1
- package/dist/components/bq-textarea.js +1 -1
- package/dist/components/bq-textarea.js.map +1 -1
- package/dist/components/bq-toast.js +1 -1
- package/dist/components/bq-toast.js.map +1 -1
- package/dist/components/bq-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-CK3SnGa2.js → p-BBCVL6R0.js} +2 -2
- package/dist/components/{p-MSqM1CAF.js → p-BS8hIETL.js} +2 -2
- package/dist/components/{p-MSqM1CAF.js.map → p-BS8hIETL.js.map} +1 -1
- package/dist/components/{p-wi7vUIoV.js → p-CWawcXxA.js} +2 -2
- package/dist/components/{p-wi7vUIoV.js.map → p-CWawcXxA.js.map} +1 -1
- package/dist/components/{p-CNITfoR_.js → p-D6ngGq0Y.js} +2 -2
- package/dist/components/{p-CNITfoR_.js.map → p-D6ngGq0Y.js.map} +1 -1
- package/dist/components/{p-jrBUnEFW.js → p-DMKBBBUE.js} +2 -2
- package/dist/components/{p-jrBUnEFW.js.map → p-DMKBBBUE.js.map} +1 -1
- package/dist/components/p-Dd3v3b2E.js +6 -0
- package/dist/components/{p-CfP6le1E.js.map → p-Dd3v3b2E.js.map} +1 -1
- package/dist/components/p-Dx-CEPSQ.js.map +1 -1
- package/dist/components/{p-BOuMP_Rm.js → p-iyX-PhkX.js} +2 -2
- package/dist/components/{p-BOuMP_Rm.js.map → p-iyX-PhkX.js.map} +1 -1
- package/dist/components/p-uqkxeAeG.js.map +1 -1
- package/dist/components/{p-2bpX-u8x.js → p-v3c5-Hhf.js} +2 -2
- package/dist/custom-elements.json +25333 -1261
- package/dist/esm/beeq.js +1 -1
- package/dist/esm/bq-accordion.entry.js +1 -1
- package/dist/esm/bq-accordion.entry.js.map +1 -1
- package/dist/esm/bq-alert.entry.js +1 -1
- package/dist/esm/bq-alert.entry.js.map +1 -1
- package/dist/esm/bq-button_2.entry.js +2 -2
- package/dist/esm/bq-button_2.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 +1743 -366
- package/dist/esm/bq-date-picker.entry.js.map +1 -1
- package/dist/esm/bq-dialog.entry.js +5 -5
- package/dist/esm/bq-dialog.entry.js.map +1 -1
- package/dist/esm/bq-divider.entry.js +4 -4
- package/dist/esm/bq-drawer.entry.js +5 -5
- package/dist/esm/bq-drawer.entry.js.map +1 -1
- package/dist/esm/bq-dropdown_2.entry.js +4 -4
- package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
- package/dist/esm/bq-empty-state.entry.js +6 -6
- package/dist/esm/bq-empty-state.entry.js.map +1 -1
- package/dist/esm/bq-input.entry.js +8 -8
- package/dist/esm/bq-input.entry.js.map +1 -1
- package/dist/esm/bq-notification.entry.js +6 -6
- package/dist/esm/bq-notification.entry.js.map +1 -1
- package/dist/esm/bq-option-group.entry.js +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 +4 -4
- package/dist/esm/bq-page-title.entry.js +4 -4
- package/dist/esm/bq-progress.entry.js +5 -5
- package/dist/esm/bq-progress.entry.js.map +1 -1
- package/dist/esm/bq-radio-group.entry.js +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 +1 -1
- package/dist/esm/bq-select.entry.js.map +1 -1
- package/dist/esm/bq-side-menu-item.entry.js +1 -1
- package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
- package/dist/esm/bq-side-menu.entry.js +2 -2
- package/dist/esm/bq-slider.entry.js +3 -3
- package/dist/esm/bq-slider.entry.js.map +1 -1
- package/dist/esm/bq-spinner.entry.js +4 -4
- package/dist/esm/bq-status.entry.js +2 -2
- package/dist/esm/bq-status.entry.js.map +1 -1
- package/dist/esm/bq-step-item.entry.js +5 -5
- package/dist/esm/bq-step-item.entry.js.map +1 -1
- package/dist/esm/bq-steps.entry.js +2 -2
- package/dist/esm/bq-switch.entry.js +4 -4
- 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.entry.js +3 -3
- package/dist/esm/bq-textarea.entry.js +5 -5
- package/dist/esm/bq-toast.entry.js +2 -2
- package/dist/esm/bq-toast.entry.js.map +1 -1
- package/dist/esm/bq-tooltip.entry.js +4 -4
- package/dist/esm/event-Dx-CEPSQ.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/slot-uqkxeAeG.js.map +1 -1
- package/dist/hydrate/index.js +1980 -601
- package/dist/hydrate/index.mjs +1980 -601
- package/dist/stencil.config.js +6 -0
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/checkbox/bq-checkbox.d.ts +2 -1
- package/dist/types/components/date-picker/bq-date-picker.d.ts +330 -238
- package/dist/types/components/date-picker/bq-date-picker.types.d.ts +30 -39
- package/dist/types/components/date-picker/components/CalendarDayView.d.ts +42 -0
- package/dist/types/components/date-picker/components/CalendarHeader.d.ts +34 -0
- package/dist/types/components/date-picker/components/CalendarMonthView.d.ts +34 -0
- package/dist/types/components/date-picker/components/CalendarYearView.d.ts +32 -0
- package/dist/types/components/date-picker/helper/bounds.d.ts +49 -0
- package/dist/types/components/date-picker/helper/calendar.d.ts +78 -0
- package/dist/types/components/date-picker/helper/constants.d.ts +62 -16
- package/dist/types/components/date-picker/helper/input.d.ts +23 -0
- package/dist/types/components/date-picker/helper/intl.d.ts +38 -0
- package/dist/types/components/date-picker/helper/labels.d.ts +29 -0
- package/dist/types/components/date-picker/helper/navigation.d.ts +23 -0
- package/dist/types/components/date-picker/helper/selection.d.ts +44 -0
- package/dist/types/components/date-picker/helper/value.d.ts +31 -0
- package/dist/types/components/radio/bq-radio.d.ts +2 -1
- package/dist/types/components.d.ts +437 -350
- package/dist/types/shared/utils/event.d.ts +1 -1
- package/dist/types/shared/utils/slot.d.ts +1 -1
- package/package.json +1 -1
- package/dist/beeq/p-0cfa8d0b.entry.js +0 -6
- package/dist/beeq/p-0cfa8d0b.entry.js.map +0 -1
- package/dist/beeq/p-25772ebd.entry.js.map +0 -1
- package/dist/beeq/p-365f0372.entry.js.map +0 -1
- package/dist/beeq/p-53ea5999.entry.js +0 -6
- package/dist/beeq/p-53ea5999.entry.js.map +0 -1
- package/dist/beeq/p-79aab4dd.entry.js +0 -6
- package/dist/beeq/p-b7c6fdbd.entry.js.map +0 -1
- package/dist/beeq/p-d4df64ae.entry.js +0 -6
- package/dist/collection/components/date-picker/libs/callyLibrary.js +0 -92
- package/dist/collection/components/date-picker/libs/callyLibrary.js.map +0 -1
- package/dist/components/p-CfP6le1E.js +0 -6
- package/dist/types/components/date-picker/libs/callyLibrary.d.ts +0 -15
- /package/dist/beeq/{p-49a999b4.entry.js.map → p-1a2c4878.entry.js.map} +0 -0
- /package/dist/beeq/{p-8974f66f.entry.js.map → p-2e1fffcd.entry.js.map} +0 -0
- /package/dist/beeq/{p-b31d249b.entry.js.map → p-38006c8e.entry.js.map} +0 -0
- /package/dist/beeq/{p-0a3c5b97.entry.js.map → p-5eba392c.entry.js.map} +0 -0
- /package/dist/beeq/{p-fe22de00.entry.js.map → p-6a38fcaf.entry.js.map} +0 -0
- /package/dist/beeq/{p-ef783b95.entry.js.map → p-72ff2fe2.entry.js.map} +0 -0
- /package/dist/beeq/{p-fb763ec5.entry.js.map → p-8bd7f4c2.entry.js.map} +0 -0
- /package/dist/beeq/{p-f07f4d99.entry.js.map → p-9413a4d3.entry.js.map} +0 -0
- /package/dist/beeq/{p-7972ba08.entry.js.map → p-a55354ee.entry.js.map} +0 -0
- /package/dist/beeq/{p-84e96891.entry.js.map → p-d792e3d3.entry.js.map} +0 -0
- /package/dist/beeq/{p-5645238d.entry.js.map → p-e9a1b183.entry.js.map} +0 -0
- /package/dist/beeq/{p-b6f5430a.entry.js.map → p-f891fb4b.entry.js.map} +0 -0
- /package/dist/components/{p-CK3SnGa2.js.map → p-BBCVL6R0.js.map} +0 -0
- /package/dist/components/{p-2bpX-u8x.js.map → p-v3c5-Hhf.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BUTTON_SIZE","BUTTON_TYPE","BUTTON_APPEARANCE","BUTTON_VARIANT","bqButtonCss","BqButton","prefixElem","suffixElem","internals","hasPrefix","hasSuffix","appearance","block","border","disabled","download","href","justifyContent","label","loading","onlyIcon","size","target","type","variant","checkPropValues","validatePropValue","this","el","handleOnlyIconPropChange","isNil","console","warn","bqBlur","bqFocus","bqClick","componentWillLoad","componentDidLoad","handleSlotChange","handleBlur","emit","handleFocus","handleClick","ev","preventEvent","bqClickEvent","defaultPrevented","handleFormAction","form","formAction","formActions","submit","submitAssociatedForm","reset","isClient","btn","document","createElement","hidden","append","click","remove","hasSlotContent","preventDefault","stopPropagation","render","isLink","isDefined","TagElem","style","h","Host","key","undefined","class","onBlur","onClick","onFocus","part","rel","tabIndex","ref","spanElem","name","onSlotchange","SVG_TAG","ICON_CSS_CLASS","cache","requests","Map","content","sanitizeSvgElement","svg","currentClass","getAttribute","setAttribute","trim","removeAttribute","validateElement","element","nodeType","Node","ELEMENT_NODE","nodeName","toLowerCase","hasUnsafeAttribute","Array","from","attributes","some","attr","value","startsWith","includes","children","every","child","processSvgContent","domParser","DOMParser","doc","parseFromString","querySelector","XMLSerializer","serializeToString","error","fetchAndProcessSvg","async","url","shouldSanitize","response","fetch","ok","Error","status","statusText","text","getSvgContent","sanitize","has","cachedContent","get","request","then","set","delete","bqIconCss","BqIcon","svgContent","color","src","weight","handlePropsChange","loadIcon","handleWeightChange","REGULAR","isWeightedIcon","weightSuffix","iconName","svgLoaded","connectedCallback","setupIconComponent","getIconSource","SVG_EXTENSION","iconFileName","getBasePath","styles","getColorCSSVariable","innerHTML","role"],"sources":["../../packages/beeq/src/components/button/bq-button.types.ts","../../packages/beeq/src/components/button/scss/bq-button.scss?tag=bq-button&encapsulation=shadow","../../packages/beeq/src/components/button/bq-button.tsx","../../packages/beeq/src/components/icon/helper/request.ts","../../packages/beeq/src/components/icon/scss/bq-icon.scss?tag=bq-icon&encapsulation=shadow","../../packages/beeq/src/components/icon/bq-icon.tsx"],"sourcesContent":["export const BUTTON_SIZE = ['small', 'medium', 'large'] as const;\nexport type TButtonSize = (typeof BUTTON_SIZE)[number];\n\nexport const BUTTON_TYPE = ['button', 'submit', 'reset'] as const;\nexport type TButtonType = (typeof BUTTON_TYPE)[number];\n\nexport const BUTTON_APPEARANCE = ['primary', 'secondary', 'link', 'text'] as const;\nexport type TButtonAppearance = (typeof BUTTON_APPEARANCE)[number];\n\nexport const BUTTON_VARIANT = ['standard', 'ghost', 'danger'] as const;\nexport type TButtonVariant = (typeof BUTTON_VARIANT)[number];\n\nexport const BUTTON_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TButtonBorderRadius = (typeof BUTTON_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-button.variables';\n\n@layer components {\n // Common button base style\n .bq-button {\n @apply box-border flex cursor-[inherit] items-center justify-center font-medium leading-regular;\n @apply rounded-[--bq-button--border-radius] border-solid border-[length:--bq-button--border-width] border-[color:--bq-button--border-color];\n @apply transition-[background-color,border-color,color] duration-300 ease-in-out;\n // Prevent text selection on click\n @apply select-none;\n // `DISABLED` state\n @apply disabled:cursor-not-allowed disabled:opacity-60;\n // `FOCUS` state\n @apply focus-visible:focus;\n // Internal workaround to allow overriding icon color via CSS variables from slotted bq-buttons\n // @see: packages/beeq/src/components/side-menu/scss/bq-side-menu.scss\n @apply [&_::slotted(bq-icon)]:[--bq-icon--color:_var(--bq-button--icon-color,_currentColor)];\n // On hover, update the icon color if custom property is defined\n &:hover:not(:disabled) ::slotted(bq-icon) {\n --bq-icon--color: var(--bq-button-hover--icon-color, var(--bq-button--icon-color, currentColor));\n }\n }\n}\n\n:host {\n @apply is-auto relative inline-block rounded-[--bq-button--border-radius];\n}\n\n:host([block]),\n.block {\n @apply is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Appearance */\n/* -------------------------------------------------------------------------- */\n\n.bq-button--primary {\n @apply bg-ui-brand text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-brand;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-brand active:enabled:hover:bg-active-ui-brand;\n}\n\n.bq-button--primary.ghost {\n @apply [--bq-button--border-color:var(--bq-stroke--brand)] bg-transparent text-brand;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-primary active:enabled:hover:bg-active-ui-primary;\n}\n\n.bq-button--primary.danger {\n @apply bg-ui-danger text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-danger;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-danger active:enabled:hover:bg-active-ui-danger;\n}\n\n.bq-button--secondary {\n @apply bg-ui-secondary text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--secondary.ghost {\n @apply [--bq-button--border-color:var(--bq-stroke--tertiary)] bg-transparent text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--link {\n @apply cursor-pointer bg-transparent text-brand no-underline;\n // Primary `HOVER` state\n @apply [&:not(.disabled)]:hover:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply [&:not(.disabled)]:active:bg-active-ui-secondary [&:not(.disabled)]:active:hover:bg-active-ui-secondary;\n // HTML `<a>` elements does not have a `disabled` state so we need to handle it manually\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n }\n}\n\n.bq-button--text {\n @apply bg-transparent text-primary;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Size */\n/* -------------------------------------------------------------------------- */\n\n.only-icon {\n @apply aspect-square;\n}\n\n.small {\n @apply text-[length:--bq-button--small-font-size] p-b-[--bq-button--small-paddingY] p-i-[--bq-button--small-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--small-paddingY];\n }\n}\n\n.medium {\n @apply text-[length:--bq-button--medium-font-size] p-b-[--bq-button--medium-paddingY] p-i-[--bq-button--medium-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--medium-paddingY];\n }\n}\n\n.large {\n @apply text-[length:--bq-button--large-font-size] p-b-[--bq-button--large-paddingY] p-i-[--bq-button--large-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--large-paddingY];\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__label ::slotted(bq-icon) {\n @apply flex;\n}\n\n.content-left {\n @apply justify-start;\n}\n\n.content-right {\n @apply justify-end;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and Suffix slots */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__prefix,\n.bq-button__suffix {\n @apply pointer-events-none flex shrink-0 grow-0 basis-auto items-center;\n}\n\n.bq-button.has-prefix .bq-button__label {\n @apply ps-xs2;\n}\n\n.bq-button.has-suffix .bq-button__label {\n @apply pe-xs2;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Loading */\n/* -------------------------------------------------------------------------- */\n\n.bq-button.loading {\n @apply relative cursor-wait;\n}\n\n.bq-button.loading .bq-button__prefix,\n.bq-button.loading .bq-button__label,\n.bq-button.loading .bq-button__suffix {\n @apply invisible;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner icon */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__loader {\n @include animation-spin;\n @apply absolute;\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, Host, h, Prop, State, Watch } from '@stencil/core';\n\nimport { hasSlotContent, isClient, isDefined, isNil, validatePropValue } from '../../shared/utils';\nimport type {\n TButtonAppearance,\n TButtonBorderRadius,\n TButtonSize,\n TButtonType,\n TButtonVariant,\n} from './bq-button.types';\nimport { BUTTON_APPEARANCE, BUTTON_SIZE, BUTTON_TYPE, BUTTON_VARIANT } from './bq-button.types';\n\n/**\n * Buttons are designed for users to take action on a page or a screen.\n *\n * @example How to use it\n * ```html\n * <bq-button appearance=\"primary\" border=\"m\" size=\"medium\">\n * <bq-icon name=\"arrow-circle-left\" slot=\"prefix\"></bq-icon>\n * Go back\n * </bq-button>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/286b43-buttons\n * @status stable\n *\n * @dependency bq-icon\n *\n * @attr {\"primary\" | \"secondary\" | \"link\" | \"text\"} appearance - The appearance style to apply to the button\n * @attr {boolean} block - If `true`, it will make the button fit to its parent width.\n * @attr {string} border - The corner radius of the button\n * @attr {boolean} disabled - If `true`, the button will be disabled (no interaction allowed)\n * @attr {string} download - Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * @attr {string} href - When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`\n * @attr {\"left\" | \"center\" | \"right\"} justify-content - It determinate how the content should be aligned\n * @attr {boolean} loading - If `true` it will display the button in a loading state\n * @attr {boolean} only-icon - If `true` it will display the button as an icon-only button with aspect ratio 1:1 (square dimensions)\n * @attr {\"small\" | \"medium\" | \"large\"} size - The size of the button\n * @attr {\"_blank\" | \"_parent\" | \"_self\" | \"_top\"} target - Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * @attr {\"button\" | \"submit\" | \"reset\"} type - The default behavior of the button\n * @attr {\"standard\" | \"ghost\" | \"danger\"} variant - The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`)\n *\n * @event bqBlur - Handler to be called when the button loses focus\n * @event bqFocus - Handler to be called when button gets focus\n * @event bqClick - Handler to be called when the button is clicked\n *\n * @slot prefix - The prefix content to be displayed before the button label\n * @slot - The button label content\n * @slot suffix - The suffix content to be displayed after the button label\n *\n * @part button - The `<a>` or `<button>` HTML element used under the hood.\n * @part prefix - The `<span>` tag element that acts as prefix container.\n * @part label - The `<span>` tag element that renders the text of the button.\n * @part suffix - The `<span>` tag element that acts as suffix container.\n *\n * @cssprop --bq-button--border-color - Button border color\n * @cssprop --bq-button--border-radius - Button border radius\n * @cssprop --bq-button--border-style - Button border style\n * @cssprop --bq-button--border-width - Button border width\n * @cssprop --bq-button--small-paddingX - Button small padding block (top and bottom)\n * @cssprop --bq-button--small-paddingY - Button small padding inline (left and right)\n * @cssprop --bq-button--small-font-size - Button small font size\n * @cssprop --bq-button--medium-paddingX - Button medium padding block (top and bottom)\n * @cssprop --bq-button--medium-paddingY - Button medium padding inline (left and right)\n * @cssprop --bq-button--medium-font-size - Button medium font size\n * @cssprop --bq-button--large-paddingX - Button large padding block (top and bottom)\n * @cssprop --bq-button--large-paddingY - Button large padding inline (left and right)\n * @cssprop --bq-button--large-font-size - Button large font size\n */\n@Component({\n tag: 'bq-button',\n styleUrl: './scss/bq-button.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqButton {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n private suffixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqButtonElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n // Public Property API\n // ========================\n\n /** The appearance style to apply to the button */\n @Prop({ reflect: true }) appearance?: TButtonAppearance = 'primary';\n\n /** If `true`, it will make the button fit to its parent width. */\n @Prop({ reflect: true }) block?: boolean = false;\n\n /** The corner radius of the button */\n @Prop({ reflect: true }) border?: TButtonBorderRadius = 'm';\n\n /** If true, the button will be disabled (no interaction allowed) */\n @Prop() disabled?: boolean = false;\n\n /**\n * Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n @Prop() download?: string;\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>` */\n @Prop({ reflect: true }) href?: string;\n\n /** It determinate how the content should be aligned */\n @Prop({ reflect: true }) justifyContent?: 'left' | 'center' | 'right' = 'center';\n\n /** Text used for accessibility purposes, specially screen readers, to describe the button action */\n @Prop({ reflect: true }) label?: string;\n\n /** If `true` it will display the button in a loading state */\n @Prop() loading?: boolean = false;\n\n /** If `true` it will display the button as an icon-only button with aspect ratio 1:1 (square dimensions). Make sure to set the `label` prop for accessibility purposes. */\n @Prop() onlyIcon?: boolean = false;\n\n /** The size of the button */\n @Prop({ reflect: true }) size?: TButtonSize = 'medium';\n\n /**\n * Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n @Prop({ reflect: true }) target?: '_blank' | '_parent' | '_self' | '_top';\n\n /** The default behavior of the button */\n @Prop({ reflect: true }) type?: TButtonType = 'button';\n\n /** The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`) */\n @Prop({ reflect: true }) variant?: TButtonVariant = 'standard';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('type')\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(BUTTON_APPEARANCE, 'primary', this.el, 'appearance');\n validatePropValue(BUTTON_TYPE, 'button', this.el, 'type');\n validatePropValue(BUTTON_SIZE, 'medium', this.el, 'size');\n validatePropValue(BUTTON_VARIANT, 'standard', this.el, 'variant');\n }\n\n @Watch('onlyIcon')\n handleOnlyIconPropChange() {\n if (!this.onlyIcon || !isNil(this.label)) return;\n\n console.warn(\n '⚠️ [BqButton]: When using `only-icon` attribute (`onlyIcon` prop), it is required to set the `label` prop for accessibility reasons.',\n );\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the button loses focus. */\n @Event() bqBlur: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button gets focus. */\n @Event() bqFocus: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button is clicked. */\n @Event() bqClick: EventEmitter<HTMLBqButtonElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleOnlyIconPropChange();\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 handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleClick = (ev: Event) => {\n const { disabled, loading, bqClick, el } = this;\n\n if (disabled || loading) {\n this.preventEvent(ev);\n return;\n }\n\n const bqClickEvent = bqClick.emit(el);\n if (bqClickEvent.defaultPrevented) {\n this.preventEvent(ev);\n return;\n }\n\n this.handleFormAction();\n };\n\n private handleFormAction() {\n const {\n type,\n internals: { form },\n } = this;\n if (isNil(form)) return;\n\n const formAction = this.formActions(form)[type];\n if (isNil(formAction)) return;\n\n formAction();\n }\n\n private formActions = (form: HTMLFormElement) => ({\n submit: () => this.submitAssociatedForm(form),\n reset: () => form.reset(),\n });\n\n private submitAssociatedForm = (form: HTMLFormElement) => {\n if (!isClient() || isNil(form)) return;\n\n const btn = document.createElement('button');\n btn.type = this.type;\n btn.hidden = true;\n form.append(btn);\n\n btn.click();\n btn.remove();\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private preventEvent(ev: Event) {\n ev.preventDefault();\n ev.stopPropagation();\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 const style = {\n ...(this.border && { '--bq-button--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host style={style}>\n <TagElem\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.label ?? undefined}\n class={{\n 'bq-button': true,\n [`bq-button--${this.appearance}`]: true,\n [`content-${this.justifyContent}`]: true,\n [`${this.variant}`]: true,\n [`${this.size}`]: true,\n block: this.block,\n disabled: this.disabled,\n 'has-prefix': this.hasPrefix,\n 'has-suffix': this.hasSuffix,\n loading: this.loading,\n 'only-icon': this.onlyIcon,\n }}\n disabled={this.disabled}\n download={isLink ? this.download : undefined}\n href={isLink ? this.href : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n part=\"button\"\n rel={isLink && this.target ? 'noreferrer noopener' : undefined}\n tabIndex={this.disabled ? -1 : 0}\n target={isLink ? this.target : undefined}\n type={this.type}\n >\n <span\n class=\"bq-button__prefix\"\n part=\"prefix\"\n ref={(spanElem) => {\n this.prefixElem = spanElem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <span class=\"bq-button__label\" part=\"label\">\n <slot />\n </span>\n <span\n class=\"bq-button__suffix\"\n part=\"suffix\"\n ref={(spanElem) => {\n this.suffixElem = spanElem;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n {this.loading && <bq-icon class=\"bq-button__loader\" name=\"spinner-gap\" />}\n </TagElem>\n </Host>\n );\n }\n}\n","/* -------------------------------------------------------------------------- */\n/* Icon request helper */\n/* -------------------------------------------------------------------------- */\n\nimport { isClient, isNil } from '../../../shared/utils';\n\nconst SVG_TAG = 'svg';\nconst ICON_CSS_CLASS = 'bq-icon__svg';\n\ninterface IconCache {\n requests: Map<string, Promise<string>>;\n content: Map<string, string>;\n}\n\nconst cache: IconCache = {\n requests: new Map(),\n content: new Map(),\n};\n\n/**\n * Sanitizes SVG element by setting required attributes and removing unwanted ones\n * @param svg - The SVG element to sanitize\n */\nconst sanitizeSvgElement = (svg: SVGElement): void => {\n const currentClass = svg.getAttribute('class') || '';\n\n svg.setAttribute('class', `${currentClass} ${ICON_CSS_CLASS}`.trim());\n svg.setAttribute('part', SVG_TAG);\n svg.removeAttribute('height');\n svg.removeAttribute('width');\n};\n\n/**\n * Validates element security (no scripts or event handlers)\n * @param element - The element to validate\n * @returns True if the element is valid, false otherwise\n */\nconst validateElement = (element: Element): boolean => {\n if (element?.nodeType !== Node.ELEMENT_NODE) return false;\n if (element.nodeName.toLowerCase() === 'script') return false;\n\n // Check for malicious attributes using modern array methods\n const hasUnsafeAttribute = Array.from(element.attributes).some((attr) => {\n const value = attr.value?.toLowerCase() || '';\n const name = attr.name.toLowerCase();\n\n // Check for event handlers\n if (name.startsWith('on')) return true;\n // Check for javascript: URLs\n if (value.includes('javascript:')) return true;\n\n return false;\n });\n\n if (hasUnsafeAttribute) return false;\n\n // Recursively validate children\n return Array.from(element.children).every((child) => validateElement(child));\n};\n\n/**\n * Processes SVG content with security checks and sanitization\n * @param content - The SVG content to process\n * @returns The processed and sanitized SVG content\n */\nconst processSvgContent = (content: string): string => {\n if (!isClient() || isNil(content)) return '';\n\n try {\n const domParser = new DOMParser();\n const doc = domParser.parseFromString(content, 'image/svg+xml');\n const svg = doc.querySelector(SVG_TAG);\n\n if (!svg || !validateElement(svg)) {\n console.warn('[BqIcon] SVG content failed security validation');\n return '';\n }\n\n sanitizeSvgElement(svg);\n return new XMLSerializer().serializeToString(svg);\n } catch (error) {\n console.error('[BqIcon] Error processing SVG content:', error);\n return '';\n }\n};\n\n/**\n * Fetches and processes SVG content from URL\n * @param url - The URL of the SVG to fetch\n * @param shouldSanitize - Whether to sanitize the SVG content\n * @returns Promise that resolves to the processed SVG content\n */\nconst fetchAndProcessSvg = async (url: string, shouldSanitize = true): Promise<string> => {\n if (!isClient()) return '';\n\n try {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n\n const content = await response.text();\n\n if (!content.trim()) {\n console.warn(`[BqIcon] Empty SVG content received from ${url}`);\n return '';\n }\n\n return shouldSanitize ? processSvgContent(content) : content;\n } catch (error) {\n console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);\n return '';\n }\n};\n\n/**\n * Retrieves SVG content with caching, security validation, and sanitization\n * @param url - The URL of the SVG to fetch\n * @param sanitize - Whether to sanitize the SVG content (default: true)\n * @returns Promise that resolves to the processed SVG content or undefined\n */\nexport const getSvgContent = async (url?: string, sanitize = true): Promise<string> => {\n if (!isClient() || isNil(url)) return undefined;\n\n // Return cached content if available\n if (cache.content.has(url)) {\n const cachedContent = cache.content.get(url);\n return cachedContent;\n }\n\n // Check if the request is already in the cache\n if (!cache.requests.has(url)) {\n // Create new request with proper cleanup\n const request = fetchAndProcessSvg(url, sanitize).then((content) => {\n // Cache the result (including empty strings for failed requests)\n cache.content.set(url, content);\n // Clean up the pending request\n cache.requests.delete(url);\n return content;\n });\n\n cache.requests.set(url, request);\n }\n\n return cache.requests.get(url);\n};\n\n/**\n * Clears the icon cache - useful for testing or memory management\n */\nexport const clearIconCache = (): void => {\n cache.requests.clear();\n cache.content.clear();\n};\n\n/**\n * Gets cache statistics for debugging\n */\nexport const getCacheStats = () => ({\n pendingRequests: cache.requests.size,\n cachedContent: cache.content.size,\n urls: Array.from(cache.content.keys()),\n});\n\n// Export cache for external access if needed\nexport { cache as iconCache };\n","/* -------------------------------------------------------------------------- */\n/* Icon styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-icon.variables';\n\n:host {\n @apply inline-block;\n}\n\n/**\n * This class is added on packages/beeq/src/components/icon/helper/request.ts\n * See lines 42 and 58 for details.\n */\n.bq-icon__svg {\n @apply scale-x-[--bq-icon--direction];\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Event, Host, h, Prop, State, Watch } from '@stencil/core';\n\nimport { getBasePath, getColorCSSVariable, isNil } from '../../shared/utils';\nimport type { TIconWeight } from './bq-icon.types';\nimport { getSvgContent } from './helper/request';\n\n/**\n * The Icon component is an image that provides a visual representation of an object, action, or concept displayed on the screen.\n * It is a small graphical element that is used to enhance the user interface and improve user experience.\n *\n * @example How to use it\n * ```html\n * <bq-icon color=\"text--brand\" name=\"bell-ringing\" size=\"24\"></bq-icon>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/675fad-icon\n * @status stable\n *\n * @attr {string} color - Set the stroke color of the SVG. The value should be a valid value of the palette color.\n * @attr {string} label - Label for the icon, used for accessibility.\n * @attr {string} name - Icon name to load. Please check all available icons [here](https://phosphoricons.com/).\n * @attr {string | number} size - Set the size of the SVG.\n * @attr {string} src - Set the source of the SVG. If the source is set, the name property will be ignored.\n *\n * @event svgLoaded - Callback handler to be called when the SVG has loaded.\n *\n * @part base - The component's internal wrapper that holds the icon SVG content.\n * @part svg - The `<svg>` tag element inside the component.\n *\n * @cssprop --bq-icon--color - The stroke color of the SVG.\n * @cssprop --bq-icon--size - The size of the SVG.\n */\n@Component({\n assetsDirs: ['svg'],\n tag: 'bq-icon',\n styleUrl: './scss/bq-icon.scss',\n shadow: true,\n})\nexport class BqIcon {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private svgContent: string;\n\n // Public Property API\n // ========================\n\n /** Label for the icon, used for accessibility */\n @Prop({ reflect: true }) label?: string;\n\n /** Set the stroke color of the SVG. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) color?: string;\n\n /** Icon name to load. Please check all available icons [here](https://phosphoricons.com/) */\n @Prop({ reflect: true }) name?: string;\n\n /** Set the size of the SVG */\n @Prop({ reflect: true }) size?: string | number = 24;\n\n /** Set the source of the SVG. If the source is set, the name property will be ignored */\n @Prop({ reflect: true }) src?: string;\n\n /** @deprecated It set the icon weight/style */\n @Prop({ reflect: true }) weight?: TIconWeight = undefined;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('color')\n @Watch('name')\n @Watch('size')\n handlePropsChange() {\n this.loadIcon(this.name);\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `weight` property is removed\n * We need to maintain retro-compatibility until the next major release\n */\n @Watch('weight')\n handleWeightChange() {\n if (this.name.includes(this.weight)) return;\n\n console.warn(\n `❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\\n\n For example, '<bq-icon name=\"bell-fill\"></bq-icon>' instead of '<bq-icon name=\"bell\" weight=\"fill\"></bq-icon>'`,\n );\n // Check if the icon is weighted. An icon is considered weighted if its weight is not 'regular' and ENV_SVG_PATH is not set.\n // Eg: if the weight is 'bold' and ENV_SVG_PATH is not set, isWeightedIcon will be true.\n const REGULAR = 'regular';\n const isWeightedIcon = !isNil(this.weight) && this.weight !== REGULAR;\n // If the icon is weighted, append the weight to the icon name. Otherwise, append nothing.\n // Eg: if isWeightedIcon is true and the weight is 'bold', weightSuffix will be '-bold'.\n const weightSuffix = isWeightedIcon ? `-${this.weight}` : '';\n // Construct the icon name by appending the weight suffix (if any) and the file extension.\n // Eg: if the name is 'my-icon' and weightSuffix is '-bold', iconName will be 'my-icon-bold.svg'.\n const iconName = `${this.name}${weightSuffix}`;\n this.loadIcon(iconName);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the SVG has loaded */\n @Event() svgLoaded: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.setupIconComponent();\n }\n\n componentWillLoad() {\n this.setupIconComponent();\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 setupIconComponent = () => {\n this.loadIcon(this.name);\n // !TO BE REMOVED: Delete this once the deprecated `weight` property is removed\n if (!isNil(this.weight)) this.handleWeightChange();\n };\n\n private getIconSource = (name: string) => {\n if (!this.name && !this.src) return undefined;\n // Return the src if it is set\n if (this.src) return this.src;\n\n const SVG_EXTENSION = '.svg';\n const iconFileName = `${name}${SVG_EXTENSION}`;\n\n return getBasePath(iconFileName);\n };\n\n private loadIcon = async (name: string) => {\n const url = this.getIconSource(name);\n if (!url) return;\n\n try {\n const content = await getSvgContent(url, true);\n if (!content) return;\n\n this.svgContent = content;\n this.svgLoaded.emit(this.svgContent);\n } catch (error) {\n console.error('[BEEQ] Failed to load the icon SVG content', error);\n }\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const { color, label, name, size } = this;\n const styles = {\n ...(color && { '--bq-icon--color': getColorCSSVariable(color) }),\n ...(size && { '--bq-icon--size': `${size}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n aria-label={label ?? `${name} icon`}\n class=\"bs-[--bq-icon--size] is-[--bq-icon--size] flex text-[--bq-icon--color]\"\n innerHTML={this.svgContent}\n part=\"base\"\n role=\"img\"\n />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["BUTTON_SIZE","BUTTON_TYPE","BUTTON_APPEARANCE","BUTTON_VARIANT","bqButtonCss","BqButton","prefixElem","suffixElem","internals","hasPrefix","hasSuffix","appearance","block","border","disabled","download","href","justifyContent","label","loading","onlyIcon","size","target","type","variant","checkPropValues","validatePropValue","this","el","handleOnlyIconPropChange","isNil","console","warn","bqBlur","bqFocus","bqClick","componentWillLoad","componentDidLoad","handleSlotChange","handleBlur","emit","handleFocus","handleClick","ev","preventEvent","bqClickEvent","defaultPrevented","handleFormAction","form","formAction","formActions","submit","submitAssociatedForm","reset","isClient","btn","document","createElement","hidden","append","click","remove","hasSlotContent","preventDefault","stopPropagation","render","isLink","isDefined","TagElem","style","h","Host","key","undefined","class","onBlur","onClick","onFocus","part","rel","tabIndex","ref","spanElem","name","onSlotchange","SVG_TAG","ICON_CSS_CLASS","cache","requests","Map","content","sanitizeSvgElement","svg","currentClass","getAttribute","setAttribute","trim","removeAttribute","validateElement","element","nodeType","Node","ELEMENT_NODE","nodeName","toLowerCase","hasUnsafeAttribute","Array","from","attributes","some","attr","value","startsWith","includes","children","every","child","processSvgContent","domParser","DOMParser","doc","parseFromString","querySelector","XMLSerializer","serializeToString","error","fetchAndProcessSvg","async","url","shouldSanitize","response","fetch","ok","Error","status","statusText","text","getSvgContent","sanitize","has","cachedContent","get","request","then","set","delete","bqIconCss","BqIcon","svgContent","color","src","weight","handlePropsChange","loadIcon","handleWeightChange","REGULAR","isWeightedIcon","weightSuffix","iconName","svgLoaded","connectedCallback","setupIconComponent","getIconSource","SVG_EXTENSION","iconFileName","getBasePath","styles","getColorCSSVariable","innerHTML","role"],"sources":["../../packages/beeq/src/components/button/bq-button.types.ts","../../packages/beeq/src/components/button/scss/bq-button.scss?tag=bq-button&encapsulation=shadow","../../packages/beeq/src/components/button/bq-button.tsx","../../packages/beeq/src/components/icon/helper/request.ts","../../packages/beeq/src/components/icon/scss/bq-icon.scss?tag=bq-icon&encapsulation=shadow","../../packages/beeq/src/components/icon/bq-icon.tsx"],"sourcesContent":["export const BUTTON_SIZE = ['small', 'medium', 'large'] as const;\nexport type TButtonSize = (typeof BUTTON_SIZE)[number];\n\nexport const BUTTON_TYPE = ['button', 'submit', 'reset'] as const;\nexport type TButtonType = (typeof BUTTON_TYPE)[number];\n\nexport const BUTTON_APPEARANCE = ['primary', 'secondary', 'link', 'text'] as const;\nexport type TButtonAppearance = (typeof BUTTON_APPEARANCE)[number];\n\nexport const BUTTON_VARIANT = ['standard', 'ghost', 'danger'] as const;\nexport type TButtonVariant = (typeof BUTTON_VARIANT)[number];\n\nexport const BUTTON_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TButtonBorderRadius = (typeof BUTTON_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-button.variables';\n\n@layer components {\n // Common button base style\n .bq-button {\n @apply box-border flex cursor-[inherit] items-center justify-center font-medium leading-regular;\n @apply rounded-[--bq-button--border-radius] border-solid border-[length:--bq-button--border-width] border-[color:--bq-button--border-color];\n @apply transition-[background-color,border-color,color] duration-300 ease-in-out;\n // Prevent text selection on click\n @apply select-none;\n // `DISABLED` state\n @apply disabled:cursor-not-allowed disabled:opacity-60;\n // `FOCUS` state\n @apply focus-visible:focus;\n // Internal workaround to allow overriding icon color via CSS variables from slotted bq-buttons\n // @see: packages/beeq/src/components/side-menu/scss/bq-side-menu.scss\n @apply [&_::slotted(bq-icon)]:[--bq-icon--color:_var(--bq-button--icon-color,_currentColor)];\n // On hover, update the icon color if custom property is defined\n &:hover:not(:disabled) ::slotted(bq-icon) {\n --bq-icon--color: var(--bq-button-hover--icon-color, var(--bq-button--icon-color, currentColor));\n }\n }\n}\n\n:host {\n @apply is-auto relative inline-block rounded-[--bq-button--border-radius];\n}\n\n:host([block]),\n.block {\n @apply is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Appearance */\n/* -------------------------------------------------------------------------- */\n\n.bq-button--primary {\n @apply bg-ui-brand text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-brand;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-brand active:enabled:hover:bg-active-ui-brand;\n}\n\n.bq-button--primary.ghost {\n @apply [--bq-button--border-color:var(--bq-stroke--brand)] bg-transparent text-brand;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-primary active:enabled:hover:bg-active-ui-primary;\n}\n\n.bq-button--primary.danger {\n @apply bg-ui-danger text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-danger;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-danger active:enabled:hover:bg-active-ui-danger;\n}\n\n.bq-button--secondary {\n @apply bg-ui-secondary text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--secondary.ghost {\n @apply [--bq-button--border-color:var(--bq-stroke--tertiary)] bg-transparent text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--link {\n @apply cursor-pointer bg-transparent text-brand no-underline;\n // Primary `HOVER` state\n @apply [&:not(.disabled)]:hover:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply [&:not(.disabled)]:active:bg-active-ui-secondary [&:not(.disabled)]:active:hover:bg-active-ui-secondary;\n // HTML `<a>` elements does not have a `disabled` state so we need to handle it manually\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n }\n}\n\n.bq-button--text {\n @apply bg-transparent text-primary;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Size */\n/* -------------------------------------------------------------------------- */\n\n.only-icon {\n @apply aspect-square;\n}\n\n.small {\n @apply text-[length:--bq-button--small-font-size] p-b-[--bq-button--small-paddingY] p-i-[--bq-button--small-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--small-paddingY];\n }\n}\n\n.medium {\n @apply text-[length:--bq-button--medium-font-size] p-b-[--bq-button--medium-paddingY] p-i-[--bq-button--medium-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--medium-paddingY];\n }\n}\n\n.large {\n @apply text-[length:--bq-button--large-font-size] p-b-[--bq-button--large-paddingY] p-i-[--bq-button--large-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--large-paddingY];\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__label ::slotted(bq-icon) {\n @apply flex;\n}\n\n.content-left {\n @apply justify-start;\n}\n\n.content-right {\n @apply justify-end;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and Suffix slots */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__prefix,\n.bq-button__suffix {\n @apply pointer-events-none flex shrink-0 grow-0 basis-auto items-center;\n}\n\n.bq-button.has-prefix .bq-button__label {\n @apply ps-xs2;\n}\n\n.bq-button.has-suffix .bq-button__label {\n @apply pe-xs2;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Loading */\n/* -------------------------------------------------------------------------- */\n\n.bq-button.loading {\n @apply relative cursor-wait;\n}\n\n.bq-button.loading .bq-button__prefix,\n.bq-button.loading .bq-button__label,\n.bq-button.loading .bq-button__suffix {\n @apply invisible;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner icon */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__loader {\n @include animation-spin;\n @apply absolute;\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, Host, h, Prop, State, Watch } from '@stencil/core';\n\nimport { hasSlotContent, isClient, isDefined, isNil, validatePropValue } from '../../shared/utils';\nimport type {\n TButtonAppearance,\n TButtonBorderRadius,\n TButtonSize,\n TButtonType,\n TButtonVariant,\n} from './bq-button.types';\nimport { BUTTON_APPEARANCE, BUTTON_SIZE, BUTTON_TYPE, BUTTON_VARIANT } from './bq-button.types';\n\n/**\n * Buttons are designed for users to take action on a page or a screen.\n *\n * @example How to use it\n * ```html\n * <bq-button appearance=\"primary\" border=\"m\" size=\"medium\">\n * <bq-icon name=\"arrow-circle-left\" slot=\"prefix\"></bq-icon>\n * Go back\n * </bq-button>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/286b43-buttons\n * @status stable\n *\n * @dependency bq-icon\n *\n * @attr {\"primary\" | \"secondary\" | \"link\" | \"text\"} appearance - The appearance style to apply to the button\n * @attr {boolean} block - If `true`, it will make the button fit to its parent width.\n * @attr {string} border - The corner radius of the button\n * @attr {boolean} disabled - If `true`, the button will be disabled (no interaction allowed)\n * @attr {string} download - Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * @attr {string} href - When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`\n * @attr {\"left\" | \"center\" | \"right\"} justify-content - It determinate how the content should be aligned\n * @attr {boolean} loading - If `true` it will display the button in a loading state\n * @attr {boolean} only-icon - If `true` it will display the button as an icon-only button with aspect ratio 1:1 (square dimensions)\n * @attr {\"small\" | \"medium\" | \"large\"} size - The size of the button\n * @attr {\"_blank\" | \"_parent\" | \"_self\" | \"_top\"} target - Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * @attr {\"button\" | \"submit\" | \"reset\"} type - The default behavior of the button\n * @attr {\"standard\" | \"ghost\" | \"danger\"} variant - The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`)\n *\n * @event bqBlur - Handler to be called when the button loses focus\n * @event bqFocus - Handler to be called when button gets focus\n * @event bqClick - Handler to be called when the button is clicked\n *\n * @slot prefix - The prefix content to be displayed before the button label\n * @slot - The button label content\n * @slot suffix - The suffix content to be displayed after the button label\n *\n * @part button - The `<a>` or `<button>` HTML element used under the hood.\n * @part prefix - The `<span>` tag element that acts as prefix container.\n * @part label - The `<span>` tag element that renders the text of the button.\n * @part suffix - The `<span>` tag element that acts as suffix container.\n *\n * @cssprop --bq-button--border-color - Button border color\n * @cssprop --bq-button--border-radius - Button border radius\n * @cssprop --bq-button--border-style - Button border style\n * @cssprop --bq-button--border-width - Button border width\n * @cssprop --bq-button--small-paddingX - Button small padding block (top and bottom)\n * @cssprop --bq-button--small-paddingY - Button small padding inline (left and right)\n * @cssprop --bq-button--small-font-size - Button small font size\n * @cssprop --bq-button--medium-paddingX - Button medium padding block (top and bottom)\n * @cssprop --bq-button--medium-paddingY - Button medium padding inline (left and right)\n * @cssprop --bq-button--medium-font-size - Button medium font size\n * @cssprop --bq-button--large-paddingX - Button large padding block (top and bottom)\n * @cssprop --bq-button--large-paddingY - Button large padding inline (left and right)\n * @cssprop --bq-button--large-font-size - Button large font size\n */\n@Component({\n tag: 'bq-button',\n styleUrl: './scss/bq-button.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqButton {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n private suffixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqButtonElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n // Public Property API\n // ========================\n\n /** The appearance style to apply to the button */\n @Prop({ reflect: true }) appearance?: TButtonAppearance = 'primary';\n\n /** If `true`, it will make the button fit to its parent width. */\n @Prop({ reflect: true }) block?: boolean = false;\n\n /** The corner radius of the button */\n @Prop({ reflect: true }) border?: TButtonBorderRadius = 'm';\n\n /** If true, the button will be disabled (no interaction allowed) */\n @Prop() disabled?: boolean = false;\n\n /**\n * Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n @Prop() download?: string;\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>` */\n @Prop({ reflect: true }) href?: string;\n\n /** It determinate how the content should be aligned */\n @Prop({ reflect: true }) justifyContent?: 'left' | 'center' | 'right' = 'center';\n\n /** Text used for accessibility purposes, specially screen readers, to describe the button action */\n @Prop({ reflect: true }) label?: string;\n\n /** If `true` it will display the button in a loading state */\n @Prop() loading?: boolean = false;\n\n /** If `true` it will display the button as an icon-only button with aspect ratio 1:1 (square dimensions). Make sure to set the `label` prop for accessibility purposes. */\n @Prop() onlyIcon?: boolean = false;\n\n /** The size of the button */\n @Prop({ reflect: true }) size?: TButtonSize = 'medium';\n\n /**\n * Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n @Prop({ reflect: true }) target?: '_blank' | '_parent' | '_self' | '_top';\n\n /** The default behavior of the button */\n @Prop({ reflect: true }) type?: TButtonType = 'button';\n\n /** The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`) */\n @Prop({ reflect: true }) variant?: TButtonVariant = 'standard';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('type')\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(BUTTON_APPEARANCE, 'primary', this.el, 'appearance');\n validatePropValue(BUTTON_TYPE, 'button', this.el, 'type');\n validatePropValue(BUTTON_SIZE, 'medium', this.el, 'size');\n validatePropValue(BUTTON_VARIANT, 'standard', this.el, 'variant');\n }\n\n @Watch('onlyIcon')\n handleOnlyIconPropChange() {\n if (!this.onlyIcon || !isNil(this.label)) return;\n\n console.warn(\n '⚠️ [BqButton]: When using `only-icon` attribute (`onlyIcon` prop), it is required to set the `label` prop for accessibility reasons.',\n );\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the button loses focus. */\n @Event() bqBlur: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button gets focus. */\n @Event() bqFocus: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button is clicked. */\n @Event() bqClick: EventEmitter<HTMLBqButtonElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleOnlyIconPropChange();\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 handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleClick = (ev: Event) => {\n const { disabled, loading, bqClick, el } = this;\n\n if (disabled || loading) {\n this.preventEvent(ev);\n return;\n }\n\n const bqClickEvent = bqClick.emit(el);\n if (bqClickEvent.defaultPrevented) {\n this.preventEvent(ev);\n return;\n }\n\n this.handleFormAction();\n };\n\n private handleFormAction() {\n const {\n type,\n internals: { form },\n } = this;\n if (isNil(form)) return;\n\n const formAction = this.formActions(form)[type];\n if (isNil(formAction)) return;\n\n formAction();\n }\n\n private formActions = (form: HTMLFormElement) => ({\n submit: () => this.submitAssociatedForm(form),\n reset: () => form.reset(),\n });\n\n private submitAssociatedForm = (form: HTMLFormElement) => {\n if (!isClient() || isNil(form)) return;\n\n const btn = document.createElement('button');\n btn.type = this.type;\n btn.hidden = true;\n form.append(btn);\n\n btn.click();\n btn.remove();\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private preventEvent(ev: Event) {\n ev.preventDefault();\n ev.stopPropagation();\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 const style = {\n ...(this.border && { '--bq-button--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host style={style}>\n <TagElem\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.label ?? undefined}\n class={{\n 'bq-button': true,\n [`bq-button--${this.appearance}`]: true,\n [`content-${this.justifyContent}`]: true,\n [`${this.variant}`]: true,\n [`${this.size}`]: true,\n block: this.block,\n disabled: this.disabled,\n 'has-prefix': this.hasPrefix,\n 'has-suffix': this.hasSuffix,\n loading: this.loading,\n 'only-icon': this.onlyIcon,\n }}\n disabled={this.disabled}\n download={isLink ? this.download : undefined}\n href={isLink ? this.href : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n part=\"button\"\n rel={isLink && this.target ? 'noreferrer noopener' : undefined}\n tabIndex={this.disabled ? -1 : 0}\n target={isLink ? this.target : undefined}\n type={this.type}\n >\n <span\n class=\"bq-button__prefix\"\n part=\"prefix\"\n ref={(spanElem) => {\n this.prefixElem = spanElem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <span class=\"bq-button__label\" part=\"label\">\n <slot />\n </span>\n <span\n class=\"bq-button__suffix\"\n part=\"suffix\"\n ref={(spanElem) => {\n this.suffixElem = spanElem;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n {this.loading && <bq-icon class=\"bq-button__loader\" name=\"spinner-gap\" />}\n </TagElem>\n </Host>\n );\n }\n}\n","/* -------------------------------------------------------------------------- */\n/* Icon request helper */\n/* -------------------------------------------------------------------------- */\n\nimport { isClient, isNil } from '../../../shared/utils';\n\nconst SVG_TAG = 'svg';\nconst ICON_CSS_CLASS = 'bq-icon__svg';\n\ninterface IconCache {\n requests: Map<string, Promise<string>>;\n content: Map<string, string>;\n}\n\nconst cache: IconCache = {\n requests: new Map(),\n content: new Map(),\n};\n\n/**\n * Sanitizes SVG element by setting required attributes and removing unwanted ones\n * @param svg - The SVG element to sanitize\n */\nconst sanitizeSvgElement = (svg: SVGElement): void => {\n const currentClass = svg.getAttribute('class') || '';\n\n svg.setAttribute('class', `${currentClass} ${ICON_CSS_CLASS}`.trim());\n svg.setAttribute('part', SVG_TAG);\n svg.removeAttribute('height');\n svg.removeAttribute('width');\n};\n\n/**\n * Validates element security (no scripts or event handlers)\n * @param element - The element to validate\n * @returns True if the element is valid, false otherwise\n */\nconst validateElement = (element: Element): boolean => {\n if (element?.nodeType !== Node.ELEMENT_NODE) return false;\n if (element.nodeName.toLowerCase() === 'script') return false;\n\n // Check for malicious attributes using modern array methods\n const hasUnsafeAttribute = Array.from(element.attributes).some((attr) => {\n const value = attr.value?.toLowerCase() || '';\n const name = attr.name.toLowerCase();\n\n // Check for event handlers\n if (name.startsWith('on')) return true;\n // Check for javascript: URLs\n if (value.includes('javascript:')) return true;\n\n return false;\n });\n\n if (hasUnsafeAttribute) return false;\n\n // Recursively validate children\n return Array.from(element.children).every((child) => validateElement(child));\n};\n\n/**\n * Processes SVG content with security checks and sanitization\n * @param content - The SVG content to process\n * @returns The processed and sanitized SVG content\n */\nconst processSvgContent = (content: string): string => {\n if (!isClient() || isNil(content)) return '';\n\n try {\n const domParser = new DOMParser();\n const doc = domParser.parseFromString(content, 'image/svg+xml');\n const svg = doc.querySelector(SVG_TAG);\n\n if (!svg || !validateElement(svg)) {\n console.warn('[BqIcon] SVG content failed security validation');\n return '';\n }\n\n sanitizeSvgElement(svg);\n return new XMLSerializer().serializeToString(svg);\n } catch (error) {\n console.error('[BqIcon] Error processing SVG content:', error);\n return '';\n }\n};\n\n/**\n * Fetches and processes SVG content from URL\n * @param url - The URL of the SVG to fetch\n * @param shouldSanitize - Whether to sanitize the SVG content\n * @returns Promise that resolves to the processed SVG content\n */\nconst fetchAndProcessSvg = async (url: string, shouldSanitize = true): Promise<string> => {\n if (!isClient()) return '';\n\n try {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n\n const content = await response.text();\n\n if (!content.trim()) {\n console.warn(`[BqIcon] Empty SVG content received from ${url}`);\n return '';\n }\n\n return shouldSanitize ? processSvgContent(content) : content;\n } catch (error) {\n console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);\n return '';\n }\n};\n\n/**\n * Retrieves SVG content with caching, security validation, and sanitization\n * @param url - The URL of the SVG to fetch\n * @param sanitize - Whether to sanitize the SVG content (default: true)\n * @returns Promise that resolves to the processed SVG content or undefined\n */\nexport const getSvgContent = async (url?: string, sanitize = true): Promise<string> => {\n if (!isClient() || isNil(url)) return undefined;\n\n // Return cached content if available\n if (cache.content.has(url)) {\n const cachedContent = cache.content.get(url);\n return cachedContent;\n }\n\n // Check if the request is already in the cache\n if (!cache.requests.has(url)) {\n // Create new request with proper cleanup\n const request = fetchAndProcessSvg(url, sanitize).then((content) => {\n // Cache the result (including empty strings for failed requests)\n cache.content.set(url, content);\n // Clean up the pending request\n cache.requests.delete(url);\n return content;\n });\n\n cache.requests.set(url, request);\n }\n\n return cache.requests.get(url);\n};\n\n/**\n * Clears the icon cache - useful for testing or memory management\n */\nexport const clearIconCache = (): void => {\n cache.requests.clear();\n cache.content.clear();\n};\n\n/**\n * Gets cache statistics for debugging\n */\nexport const getCacheStats = () => ({\n pendingRequests: cache.requests.size,\n cachedContent: cache.content.size,\n urls: Array.from(cache.content.keys()),\n});\n\n// Export cache for external access if needed\nexport { cache as iconCache };\n","/* -------------------------------------------------------------------------- */\n/* Icon styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-icon.variables';\n\n:host {\n @apply inline-block;\n}\n\n/**\n * This class is added on packages/beeq/src/components/icon/helper/request.ts\n * See lines 42 and 58 for details.\n */\n.bq-icon__svg {\n @apply scale-x-[--bq-icon--direction];\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Event, Host, h, Prop, State, Watch } from '@stencil/core';\n\nimport { getBasePath, getColorCSSVariable, isNil } from '../../shared/utils';\nimport type { TIconWeight } from './bq-icon.types';\nimport { getSvgContent } from './helper/request';\n\n/**\n * The Icon component is an image that provides a visual representation of an object, action, or concept displayed on the screen.\n * It is a small graphical element that is used to enhance the user interface and improve user experience.\n *\n * @example How to use it\n * ```html\n * <bq-icon color=\"text--brand\" name=\"bell-ringing\" size=\"24\"></bq-icon>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/675fad-icon\n * @status stable\n *\n * @attr {string} color - Set the stroke color of the SVG. The value should be a valid value of the palette color.\n * @attr {string} label - Label for the icon, used for accessibility.\n * @attr {string} name - Icon name to load. Please check all available icons [here](https://phosphoricons.com/).\n * @attr {string | number} size - Set the size of the SVG.\n * @attr {string} src - Set the source of the SVG. If the source is set, the name property will be ignored.\n *\n * @event svgLoaded - Callback handler to be called when the SVG has loaded.\n *\n * @part base - The component's internal wrapper that holds the icon SVG content.\n * @part svg - The `<svg>` tag element inside the component.\n *\n * @cssprop --bq-icon--color - The stroke color of the SVG.\n * @cssprop --bq-icon--size - The size of the SVG.\n */\n@Component({\n assetsDirs: ['svg'],\n tag: 'bq-icon',\n styleUrl: './scss/bq-icon.scss',\n shadow: true,\n})\nexport class BqIcon {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private svgContent: string;\n\n // Public Property API\n // ========================\n\n /** Label for the icon, used for accessibility */\n @Prop({ reflect: true }) label?: string;\n\n /** Set the stroke color of the SVG. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) color?: string;\n\n /** Icon name to load. Please check all available icons [here](https://phosphoricons.com/) */\n @Prop({ reflect: true }) name?: string;\n\n /** Set the size of the SVG */\n @Prop({ reflect: true }) size?: string | number = 24;\n\n /** Set the source of the SVG. If the source is set, the name property will be ignored */\n @Prop({ reflect: true }) src?: string;\n\n /** @deprecated It set the icon weight/style */\n @Prop({ reflect: true }) weight?: TIconWeight = undefined;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('color')\n @Watch('name')\n @Watch('size')\n handlePropsChange() {\n this.loadIcon(this.name);\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `weight` property is removed\n * We need to maintain retro-compatibility until the next major release\n */\n @Watch('weight')\n handleWeightChange() {\n if (this.name.includes(this.weight)) return;\n\n console.warn(\n `❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\\n\n For example, '<bq-icon name=\"bell-fill\"></bq-icon>' instead of '<bq-icon name=\"bell\" weight=\"fill\"></bq-icon>'`,\n );\n // Check if the icon is weighted. An icon is considered weighted if its weight is not 'regular' and ENV_SVG_PATH is not set.\n // Eg: if the weight is 'bold' and ENV_SVG_PATH is not set, isWeightedIcon will be true.\n const REGULAR = 'regular';\n const isWeightedIcon = !isNil(this.weight) && this.weight !== REGULAR;\n // If the icon is weighted, append the weight to the icon name. Otherwise, append nothing.\n // Eg: if isWeightedIcon is true and the weight is 'bold', weightSuffix will be '-bold'.\n const weightSuffix = isWeightedIcon ? `-${this.weight}` : '';\n // Construct the icon name by appending the weight suffix (if any) and the file extension.\n // Eg: if the name is 'my-icon' and weightSuffix is '-bold', iconName will be 'my-icon-bold.svg'.\n const iconName = `${this.name}${weightSuffix}`;\n this.loadIcon(iconName);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the SVG has loaded */\n @Event() svgLoaded: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.setupIconComponent();\n }\n\n componentWillLoad() {\n this.setupIconComponent();\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 setupIconComponent = () => {\n this.loadIcon(this.name);\n // !TO BE REMOVED: Delete this once the deprecated `weight` property is removed\n if (!isNil(this.weight)) this.handleWeightChange();\n };\n\n private getIconSource = (name: string) => {\n if (!this.name && !this.src) return undefined;\n // Return the src if it is set\n if (this.src) return this.src;\n\n const SVG_EXTENSION = '.svg';\n const iconFileName = `${name}${SVG_EXTENSION}`;\n\n return getBasePath(iconFileName);\n };\n\n private loadIcon = async (name: string) => {\n const url = this.getIconSource(name);\n if (!url) return;\n\n try {\n const content = await getSvgContent(url, true);\n if (!content) return;\n\n this.svgContent = content;\n this.svgLoaded.emit(this.svgContent);\n } catch (error) {\n console.error('[BEEQ] Failed to load the icon SVG content', error);\n }\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const { color, label, name, size } = this;\n const styles = {\n ...(color && { '--bq-icon--color': getColorCSSVariable(color) }),\n ...(size && { '--bq-icon--size': `${size}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n aria-label={label ?? `${name} icon`}\n class=\"bs-[--bq-icon--size] is-[--bq-icon--size] flex text-[--bq-icon--color]\"\n innerHTML={this.svgContent}\n part=\"base\"\n role=\"img\"\n />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Built by Endavans
|
|
3
3
|
* © https://beeq.design - Apache 2 License.
|
|
4
4
|
*/
|
|
5
|
-
import{r,c as a,a as b,h as e,d as n}from"./p-BSSRzVAz.js";const q=()=>`.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.relative{position:relative}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.rounded-full{border-radius:var(--bq-radius--full)}.rounded-s{border-radius:var(--bq-radius--s)}.border-\\[length\\:--bq-radio--border-width\\]{border-width:var(--bq-radio--border-width)}.border-solid{border-style:solid}.border-icon-brand{border-color:var(--bq-icon--brand)}.bg-ui-brand{background-color:var(--bq-ui--brand)}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-primary{color:var(--bq-text--primary)}.opacity-60{opacity:.6}.transition-\\[background-color\\]{transition-duration:.15s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\\[color\\2c background-color\\2c border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.bg-hover-ui-primary{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.border-hover-icon-brand{border-color:color-mix(in srgb,var(--bq-icon--brand),var(--bq-hover) 20%)}.border-hover-icon-primary{border-color:color-mix(in srgb,var(--bq-icon--primary),var(--bq-hover) 20%)}.bs-\\[--bq-radio--size\\]{block-size:var(--bq-radio--size)}.bs-full{block-size:100%}.is-\\[--bq-radio--size\\]{inline-size:var(--bq-radio--size)}.is-full{inline-size:100%}.p-b-\\[2px\\]{padding-block:2px}.p-b-\\[3px\\]{padding-block:3px}.p-b-xs{padding-block:var(--bq-spacing-xs)}.p-i-\\[2px\\]{padding-inline:2px}.p-i-\\[3px\\]{padding-inline:3px}.p-i-xs{padding-inline:var(--bq-spacing-xs)}.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-radio--size:24px;--bq-radio--border-width:var(--bq-stroke-m);display:inline-block}.bq-radio{align-items:center;border-radius:var(--bq-radius--s);box-sizing:border-box;cursor:pointer;display:inline-flex;gap:.5rem;justify-content:center;padding-block:var(--bq-spacing-xs);padding-inline:var(--bq-spacing-xs);transition-duration:.3s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-radio.is-disabled{cursor:not-allowed;opacity:.6}.bq-radio.is-disabled.is-checked .bq-radio__circle{border-color:var(--bq-icon--brand)}.bq-radio.is-disabled.is-checked .bq-radio__checked{background-color:var(--bq-ui--brand)}.bq-radio.has-background:not(.is-disabled):hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-radio.is-checked:not(.is-disabled) .bq-radio__circle{border-color:var(--bq-icon--brand)}.bq-radio.is-checked:not(.is-disabled) .bq-radio__checked{background-color:var(--bq-ui--brand)}.bq-radio.is-checked:not(.is-disabled):hover .bq-radio__checked,.bq-radio.is-checked:not(.is-disabled):hover .bq-radio__circle,.bq-radio:not(.is-disabled):hover .bq-radio__circle{border-color:color-mix(in srgb,var(--bq-icon--brand),var(--bq-hover) 20%)}.bq-radio__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.bq-radio__input:focus-visible~.bq-radio__circle{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-radio__control{block-size:var(--bq-radio--size);inline-size:var(--bq-radio--size);padding-block:2px;padding-inline:2px}.bq-radio__circle,.bq-radio__control{align-items:center;border-radius:var(--bq-radius--full);box-sizing:border-box;display:flex;justify-content:center}.bq-radio__circle{block-size:100%;border-color:color-mix(in srgb,var(--bq-icon--primary),var(--bq-hover) 20%);border-style:solid;border-width:var(--bq-radio--border-width);inline-size:100%;padding-block:3px;padding-inline:3px;position:relative}.bq-radio__checked{block-size:100%;border-radius:var(--bq-radius--full);inline-size:100%}.bq-radio__label{color:var(--bq-text--primary);font-weight:var(--bq-font-weight--medium);line-height:var(--bq-font-line-height--regular)}.bq-radio__checked,.bq-radio__circle,.bq-radio__label{transition-duration:.3s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.static{position:static}`;const i=class{constructor(b){r(this,b);this.bqClick=a(this,"bqClick");this.bqFocus=a(this,"bqFocus");this.bqBlur=a(this,"bqBlur");this.bqKeyDown=a(this,"bqKeyDown")}inputElement;get el(){return b(this)}backgroundOnHover=false;checked=false;disabled=false;forceDisabled=false;formId;name;required;value;bqClick;bqFocus;bqBlur;bqKeyDown;async vClick(){this.inputElement?.click()}async vFocus(){this.inputElement?.focus()}async vBlur(){this.inputElement?.blur()}async getNativeInput(){return this.inputElement}handleClick=r=>{r.preventDefault();if(this.disabled)return;const a=this.bqClick.emit({value:this.value,target:this.el});if(a.defaultPrevented){r.stopImmediatePropagation()}};handleOnFocus=()=>{this.bqFocus.emit(this.el)};handleOnBlur=()=>{this.bqBlur.emit(this.el)};handleOnKeyDown=r=>{this.bqKeyDown.emit({key:r.key,target:this.el})};get isDisabled(){return this.disabled||this.forceDisabled}render(){return e(n,{key:"249afdf1c2d2cc1c16ae7fd6df091e4e9b67080f"},e("label",{key:"8ccd3bd89aacea77cf04f3c772d0e244442f02a3",class:{"bq-radio group":true,"is-disabled":this.isDisabled,"is-checked":this.checked,"has-background":this.backgroundOnHover},part:"base"},e("div",{key:"438b1daf66ba3fab98ed6e5afaac925e4086c050",class:"bq-radio__control"},e("input",{key:"6fe9c908da9f0dc81d368ecd9721e24e27520c95","aria-checked":this.checked?"true":"false","aria-disabled":this.isDisabled?"true":"false","aria-labelledby":"bq-radio__label",checked:this.checked,class:"bq-radio__input",disabled:this.isDisabled,form:this.formId,name:this.name,onBlur:this.handleOnBlur,onClick:this.handleClick,onFocus:this.handleOnFocus,onKeyDown:this.handleOnKeyDown,part:"input",ref:r=>{this.inputElement=r},required:this.required,type:"radio",value:this.value}),e("div",{key:"d3f23f57a905431a31dfb4eb426176c04a4295d4",class:"bq-radio__circle",part:"radio"},e("div",{key:"074045b752f2e1541d9fe2b51c8290b55dc23fb3",class:"bq-radio__checked"}))),e("span",{key:"d2849008f9e81df99ddfc9fefa38aab255bf22aa",class:"bq-radio__label group-hover:text-text-primary-hover group-[.is-disabled]:text-text-primary-disabled",part:"label"},e("slot",{key:"97c17462f377502cad6a6f2e3588df84ee762ea3",id:"bq-radio__label"}))))}static get delegatesFocus(){return true}};i.style=q();export{i as bq_radio};
|
|
6
|
-
//# sourceMappingURL=p-
|
|
5
|
+
import{r,c as a,a as b,h as e,d as n}from"./p-BSSRzVAz.js";const q=()=>`.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.relative{position:relative}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.rounded-full{border-radius:var(--bq-radius--full)}.rounded-s{border-radius:var(--bq-radius--s)}.border-\\[length\\:--bq-radio--border-width\\]{border-width:var(--bq-radio--border-width)}.border-solid{border-style:solid}.border-icon-brand{border-color:var(--bq-icon--brand)}.bg-\\[--bq-radio--background-color\\]{background-color:var(--bq-radio--background-color)}.bg-ui-brand{background-color:var(--bq-ui--brand)}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-primary{color:var(--bq-text--primary)}.opacity-60{opacity:.6}.transition-\\[background-color\\]{transition-duration:.15s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\\[color\\2c background-color\\2c border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.bg-hover-ui-primary{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.border-hover-icon-brand{border-color:color-mix(in srgb,var(--bq-icon--brand),var(--bq-hover) 20%)}.border-hover-icon-primary{border-color:color-mix(in srgb,var(--bq-icon--primary),var(--bq-hover) 20%)}.bs-\\[--bq-radio--size\\]{block-size:var(--bq-radio--size)}.bs-full{block-size:100%}.is-\\[--bq-radio--size\\]{inline-size:var(--bq-radio--size)}.is-full{inline-size:100%}.p-b-\\[2px\\]{padding-block:2px}.p-b-\\[3px\\]{padding-block:3px}.p-b-xs{padding-block:var(--bq-spacing-xs)}.p-i-\\[2px\\]{padding-inline:2px}.p-i-\\[3px\\]{padding-inline:3px}.p-i-xs{padding-inline:var(--bq-spacing-xs)}.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-radio--background-color:var(--bq-ui--primary);--bq-radio--border-width:var(--bq-stroke-m);--bq-radio--size:24px;display:inline-block}.bq-radio{align-items:center;border-radius:var(--bq-radius--s);box-sizing:border-box;cursor:pointer;display:inline-flex;gap:.5rem;justify-content:center;padding-block:var(--bq-spacing-xs);padding-inline:var(--bq-spacing-xs);transition-duration:.3s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-radio.is-disabled{cursor:not-allowed;opacity:.6}.bq-radio.is-disabled.is-checked .bq-radio__circle{border-color:var(--bq-icon--brand)}.bq-radio.is-disabled.is-checked .bq-radio__checked{background-color:var(--bq-ui--brand)}.bq-radio.has-background:not(.is-disabled):hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-radio.is-checked:not(.is-disabled) .bq-radio__circle{border-color:var(--bq-icon--brand)}.bq-radio.is-checked:not(.is-disabled) .bq-radio__checked{background-color:var(--bq-ui--brand)}.bq-radio.is-checked:not(.is-disabled):hover .bq-radio__checked,.bq-radio.is-checked:not(.is-disabled):hover .bq-radio__circle,.bq-radio:not(.is-disabled):hover .bq-radio__circle{border-color:color-mix(in srgb,var(--bq-icon--brand),var(--bq-hover) 20%)}.bq-radio__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.bq-radio__input:focus-visible~.bq-radio__circle{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-radio__control{block-size:var(--bq-radio--size);inline-size:var(--bq-radio--size);padding-block:2px;padding-inline:2px}.bq-radio__circle,.bq-radio__control{align-items:center;border-radius:var(--bq-radius--full);box-sizing:border-box;display:flex;justify-content:center}.bq-radio__circle{background-color:var(--bq-radio--background-color);block-size:100%;border-color:color-mix(in srgb,var(--bq-icon--primary),var(--bq-hover) 20%);border-style:solid;border-width:var(--bq-radio--border-width);inline-size:100%;padding-block:3px;padding-inline:3px;position:relative}.bq-radio__checked{block-size:100%;border-radius:var(--bq-radius--full);inline-size:100%}.bq-radio__label{color:var(--bq-text--primary);font-weight:var(--bq-font-weight--medium);line-height:var(--bq-font-line-height--regular)}.bq-radio__checked,.bq-radio__circle,.bq-radio__label{transition-duration:.3s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.static{position:static}`;const i=class{constructor(b){r(this,b);this.bqClick=a(this,"bqClick");this.bqFocus=a(this,"bqFocus");this.bqBlur=a(this,"bqBlur");this.bqKeyDown=a(this,"bqKeyDown")}inputElement;get el(){return b(this)}backgroundOnHover=false;checked=false;disabled=false;forceDisabled=false;formId;name;required;value;bqClick;bqFocus;bqBlur;bqKeyDown;async vClick(){this.inputElement?.click()}async vFocus(){this.inputElement?.focus()}async vBlur(){this.inputElement?.blur()}async getNativeInput(){return this.inputElement}handleClick=r=>{r.preventDefault();if(this.disabled)return;const a=this.bqClick.emit({value:this.value,target:this.el});if(a.defaultPrevented){r.stopImmediatePropagation()}};handleOnFocus=()=>{this.bqFocus.emit(this.el)};handleOnBlur=()=>{this.bqBlur.emit(this.el)};handleOnKeyDown=r=>{this.bqKeyDown.emit({key:r.key,target:this.el})};get isDisabled(){return this.disabled||this.forceDisabled}render(){return e(n,{key:"a1e692789c2393fdc99d22f4324b15fbb6617c6d"},e("label",{key:"db3526636755485bab5e1750daeda401a89a53c9",class:{"bq-radio group":true,"is-disabled":this.isDisabled,"is-checked":this.checked,"has-background":this.backgroundOnHover},part:"base"},e("div",{key:"ff2abd4132d35305030970cc445eae4b8ea90e00",class:"bq-radio__control"},e("input",{key:"d81d7629d620768196351ce5bd6db349e02af845","aria-checked":this.checked?"true":"false","aria-disabled":this.isDisabled?"true":"false","aria-labelledby":"bq-radio__label",checked:this.checked,class:"bq-radio__input",disabled:this.isDisabled,form:this.formId,name:this.name,onBlur:this.handleOnBlur,onClick:this.handleClick,onFocus:this.handleOnFocus,onKeyDown:this.handleOnKeyDown,part:"input",ref:r=>{this.inputElement=r},required:this.required,type:"radio",value:this.value}),e("div",{key:"8ba5bd8d136d54ed101e06164d9e6189a31c3dae",class:"bq-radio__circle",part:"radio"},e("div",{key:"2e7c7c89ec9f3d53d0ed849f4e9843d391bfa421",class:"bq-radio__checked"}))),e("span",{key:"5d2977d06b362c5245e8bb9780a6a67ae75e36f0",class:"bq-radio__label group-hover:text-text-primary-hover group-[.is-disabled]:text-text-primary-disabled",part:"label"},e("slot",{key:"b4fde227da6ae438ee2e02e45e9e83980d488997",id:"bq-radio__label"}))))}static get delegatesFocus(){return true}};i.style=q();export{i as bq_radio};
|
|
6
|
+
//# sourceMappingURL=p-45ae19aa.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["bqRadioCss","BqRadio","inputElement","backgroundOnHover","checked","disabled","forceDisabled","formId","name","required","value","bqClick","bqFocus","bqBlur","bqKeyDown","vClick","this","click","vFocus","focus","vBlur","blur","getNativeInput","handleClick","event","preventDefault","bqClickEvent","emit","target","el","defaultPrevented","stopImmediatePropagation","handleOnFocus","handleOnBlur","handleOnKeyDown","key","isDisabled","render","h","Host","class","part","form","onBlur","onClick","onFocus","onKeyDown","ref","element","type","id"],"sources":["../../packages/beeq/src/components/radio/scss/bq-radio.scss?tag=bq-radio&encapsulation=shadow","../../packages/beeq/src/components/radio/bq-radio.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Radio styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-radio.variables';\n\n:host {\n @apply inline-block;\n}\n\n.bq-radio {\n @apply box-border inline-flex cursor-pointer items-center justify-center gap-2 transition-[background-color] duration-300;\n @apply rounded-s p-b-xs p-i-xs;\n\n &.is-disabled {\n @apply cursor-not-allowed opacity-60;\n\n &.is-checked .bq-radio__circle {\n @apply border-icon-brand;\n }\n\n &.is-checked .bq-radio__checked {\n @apply bg-ui-brand;\n }\n }\n\n &.has-background:not(.is-disabled):hover {\n @apply bg-hover-ui-primary;\n }\n\n &.is-checked:not(.is-disabled) {\n .bq-radio__circle {\n @apply border-icon-brand;\n }\n\n .bq-radio__checked {\n @apply bg-ui-brand;\n }\n }\n\n &:not(.is-disabled):hover .bq-radio__circle {\n @apply border-hover-icon-brand;\n }\n\n &.is-checked:not(.is-disabled):hover {\n .bq-radio__checked,\n .bq-radio__circle {\n @apply border-hover-icon-brand;\n }\n }\n}\n\n.bq-radio__input {\n @apply sr-only;\n\n &:focus-visible {\n ~ .bq-radio__circle {\n @apply focus;\n }\n }\n}\n\n.bq-radio__control {\n @apply box-border flex items-center justify-center rounded-full bs-[--bq-radio--size] is-[--bq-radio--size] p-b-[2px] p-i-[2px];\n}\n\n.bq-radio__circle {\n @apply relative box-border flex items-center justify-center bg-[--bq-radio--background-color] rounded-full border-[length:--bq-radio--border-width] border-solid border-hover-icon-primary bs-full is-full p-b-[3px] p-i-[3px];\n}\n\n.bq-radio__checked {\n @apply rounded-full bs-full is-full;\n}\n\n.bq-radio__label {\n @apply font-medium leading-regular text-primary;\n}\n\n.bq-radio__circle,\n.bq-radio__checked,\n.bq-radio__label {\n @apply transition-[color,background-color,border-color,box-shadow] duration-300;\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, h, Method, Prop } from '@stencil/core';\n\n/**\n * The radio button is a user interface element that allows users to select a single option.\n *\n * @example How to use it\n * ```html\n * <bq-radio value=\"option1\">Radio option 1</bq-radio>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/9718e1-radio-button/b/09d7b1\n * @status stable\n *\n * @attr {boolean} background-on-hover - If `true`, the radio displays background on hover\n * @attr {boolean} checked - If `true` radio input is checked\n * @attr {boolean} disabled - If `true` radio input is disabled\n * @attr {string} form-id - The form ID that the radio input is associated with\n * @attr {string} name - Name of the HTML input form control. Submitted with the form as part of a name/value pair\n * @attr {boolean} required - If `true`, it will indicate that the user must specify a value for the radio before the owning form can be submitted\n * @attr {boolean} value - A string representing the value of the radio\n *\n * @method vClick - Simulate a click event on the native `<input>` HTML element used under the hood\n * @method vFocus - Sets focus on the native `<input>` HTML element used under the hood\n * @method vBlur - Remove focus from the native `<input>` HTML element used under the hood\n * @method getNativeInput - Returns the native `<input>` HTML element used under the hood\n *\n * @event bqBlur - Handler to be called when the radio loses focus\n * @event bqClick - Handler to be called when the radio state changes\n * @event bqFocus - Handler to be called when the radio gets focused\n * @event bqKeyDown - The handler is to be called when the radio key is pressed\n *\n * @slot - The bq-radio item\n *\n * @part base - The component's internal wrapper of the radio component.\n * @part input - The native HTML `<input type=\"radio\">` used under the hood.\n * @part radio - The component's internal wrapper of the radio component.\n * @part label - The `<span>` element that holds the text content.\n *\n * @cssprop --bq-radio--background-color - Radio background color\n * @cssprop --bq-radio--border-width - Radio border width\n * @cssprop --bq-radio--size - Radio size\n */\n@Component({\n tag: 'bq-radio',\n styleUrl: './scss/bq-radio.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqRadio {\n // Own Properties\n // ====================\n private inputElement: HTMLInputElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqRadioElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If true radio displays background on hover */\n @Prop({ reflect: true }) backgroundOnHover = false;\n\n /** If true radio input is checked */\n @Prop({ reflect: true, mutable: true }) checked = false;\n\n /** If true radio input is disabled */\n @Prop({ reflect: true }) disabled = false;\n\n /** @internal Used by the radio-group parent component to force the disabled state of the radio input */\n @Prop({ reflect: true }) forceDisabled = false;\n\n /** The form ID that the radio input is associated with */\n @Prop({ reflect: true }) formId?: string;\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 radio before the owning form can be submitted */\n @Prop({ reflect: true }) required?: boolean;\n\n /** A string representing the value of the radio. */\n @Prop({ reflect: true }) value!: string;\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 the radio state changes */\n @Event() bqClick: EventEmitter<{ value: string; target: HTMLBqRadioElement }>;\n\n /** Handler to be called when the radio gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqRadioElement>;\n\n /** Handler to be called when the radio loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqRadioElement>;\n\n /** Handler to be called when the radio key is pressed */\n @Event() bqKeyDown: EventEmitter<{ key: string; target: HTMLBqRadioElement }>;\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 /**\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.inputElement?.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.inputElement?.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.inputElement?.blur();\n }\n\n /**\n * Returns the native `<input>` HTML element used under the hood.\n */\n @Method()\n async getNativeInput() {\n return this.inputElement;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClick = (event: MouseEvent) => {\n // Prevent the native input click default behavior\n event.preventDefault();\n if (this.disabled) return;\n\n // Emit the event without changing state\n // Let the radio-group handle all state management and event propagation\n const bqClickEvent = this.bqClick.emit({ value: this.value, target: this.el });\n if (bqClickEvent.defaultPrevented) {\n event.stopImmediatePropagation();\n }\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 private handleOnKeyDown = (event: KeyboardEvent) => {\n this.bqKeyDown.emit({ key: event.key, target: this.el });\n };\n\n private get isDisabled() {\n return this.disabled || this.forceDisabled;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n <label\n class={{\n 'bq-radio group': true,\n 'is-disabled': this.isDisabled,\n 'is-checked': this.checked,\n 'has-background': this.backgroundOnHover,\n }}\n part=\"base\"\n >\n <div class=\"bq-radio__control\">\n <input\n aria-checked={this.checked ? 'true' : 'false'}\n aria-disabled={this.isDisabled ? 'true' : 'false'}\n aria-labelledby=\"bq-radio__label\"\n checked={this.checked}\n class=\"bq-radio__input\"\n disabled={this.isDisabled}\n form={this.formId}\n name={this.name}\n onBlur={this.handleOnBlur}\n onClick={this.handleClick}\n onFocus={this.handleOnFocus}\n onKeyDown={this.handleOnKeyDown}\n part=\"input\"\n ref={(element) => {\n this.inputElement = element;\n }}\n required={this.required}\n type=\"radio\"\n value={this.value}\n />\n <div class=\"bq-radio__circle\" part=\"radio\">\n <div class=\"bq-radio__checked\" />\n </div>\n </div>\n <span\n class=\"bq-radio__label group-hover:text-text-primary-hover group-[.is-disabled]:text-text-primary-disabled\"\n part=\"label\"\n >\n <slot id=\"bq-radio__label\"></slot>\n </span>\n </label>\n </Host>\n );\n }\n}\n"],"mappings":";;;;2DAAA,MAAMA,EAAa,IAAM,4xvB,MCkDZC,EAAO,M,uJAGVC,a,wBAeiBC,kBAAoB,MAGLC,QAAU,MAGzBC,SAAW,MAGXC,cAAgB,MAGhBC,OAGAC,KAGAC,SAGAC,MAUhBC,QAGAC,QAGAC,OAGAC,UAqBT,YAAMC,GACJC,KAAKd,cAAce,O,CAQrB,YAAMC,GACJF,KAAKd,cAAciB,O,CAQrB,WAAMC,GACJJ,KAAKd,cAAcmB,M,CAOrB,oBAAMC,GACJ,OAAON,KAAKd,Y,CAQNqB,YAAeC,IAErBA,EAAMC,iBACN,GAAIT,KAAKX,SAAU,OAInB,MAAMqB,EAAeV,KAAKL,QAAQgB,KAAK,CAAEjB,MAAOM,KAAKN,MAAOkB,OAAQZ,KAAKa,KACzE,GAAIH,EAAaI,iBAAkB,CACjCN,EAAMO,0B,GAIFC,cAAgB,KACtBhB,KAAKJ,QAAQe,KAAKX,KAAKa,GAAG,EAGpBI,aAAe,KACrBjB,KAAKH,OAAOc,KAAKX,KAAKa,GAAG,EAGnBK,gBAAmBV,IACzBR,KAAKF,UAAUa,KAAK,CAAEQ,IAAKX,EAAMW,IAAKP,OAAQZ,KAAKa,IAAK,EAG1D,cAAYO,GACV,OAAOpB,KAAKX,UAAYW,KAAKV,a,CAO/B,MAAA+B,GACE,OACEC,EAACC,EAAI,CAAAJ,IAAA,4CACHG,EAAA,SAAAH,IAAA,2CACEK,MAAO,CACL,iBAAkB,KAClB,cAAexB,KAAKoB,WACpB,aAAcpB,KAAKZ,QACnB,iBAAkBY,KAAKb,mBAEzBsC,KAAK,QAELH,EAAA,OAAAH,IAAA,2CAAKK,MAAM,qBACTF,EAAA,SAAAH,IAAA,0DACgBnB,KAAKZ,QAAU,OAAS,QAAO,gBAC9BY,KAAKoB,WAAa,OAAS,QAAO,kBACjC,kBAChBhC,QAASY,KAAKZ,QACdoC,MAAM,kBACNnC,SAAUW,KAAKoB,WACfM,KAAM1B,KAAKT,OACXC,KAAMQ,KAAKR,KACXmC,OAAQ3B,KAAKiB,aACbW,QAAS5B,KAAKO,YACdsB,QAAS7B,KAAKgB,cACdc,UAAW9B,KAAKkB,gBAChBO,KAAK,QACLM,IAAMC,IACJhC,KAAKd,aAAe8C,CAAO,EAE7BvC,SAAUO,KAAKP,SACfwC,KAAK,QACLvC,MAAOM,KAAKN,QAEd4B,EAAA,OAAAH,IAAA,2CAAKK,MAAM,mBAAmBC,KAAK,SACjCH,EAAA,OAAAH,IAAA,2CAAKK,MAAM,wBAGfF,EAAA,QAAAH,IAAA,2CACEK,MAAM,sGACNC,KAAK,SAELH,EAAA,QAAAH,IAAA,2CAAMe,GAAG,sB","ignoreList":[]}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Built by Endavans
|
|
3
3
|
* © https://beeq.design - Apache 2 License.
|
|
4
4
|
*/
|
|
5
|
-
import{r as a,a as r,h as e,d as b}from"./p-BSSRzVAz.js";import{v as n}from"./p-DbxZ8FhA.js";const t=["square","rounded"];const q=["medium","large"];const i=["default","error"];const s=()=>`.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.relative{position:relative}.appearance-none{appearance:none}.rounded-full{border-radius:var(--bq-radius--full)}.bg-\\[--bq-progress-bar--indicatorColor\\]{background-color:var(--bq-progress-bar--indicatorColor)}.bg-\\[--bq-progress-bar--trackColor\\]{background-color:var(--bq-progress-bar--trackColor)}.bs-\\[--bq-progress-bar--height\\]{block-size:var(--bq-progress-bar--height)}.is-full{inline-size:100%}@-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-progress-bar--height:0.25rem;--bq-progress-bar--indeterminateWidth:25%;--bq-progress-bar--indicatorColor:var(--bq-ui--brand);--bq-progress-bar--trackColor:var(--bq-ui--secondary)}@layer component{@-webkit-keyframes move-indeterminate{0%{inset-inline-start:0}to{inset-inline-start:calc(100% - var(--bq-progress-bar--indeterminateWidth))}}@keyframes move-indeterminate{0%{inset-inline-start:0}to{inset-inline-start:calc(100% - var(--bq-progress-bar--indeterminateWidth))}}.animate-indeterminate{animation:move-indeterminate 1s linear 0s infinite alternate-reverse}}.progress-bar{appearance:none;block-size:var(--bq-progress-bar--height);inline-size:100%;position:relative}.progress-bar::-webkit-progress-bar{background-color:var(--bq-progress-bar--trackColor)}.progress-bar::-webkit-progress-value{background-color:var(--bq-progress-bar--indicatorColor)}.progress-bar::-moz-progress-bar{background-color:var(--bq-progress-bar--indicatorColor)}@layer component{.progress-bar::-moz-progress-bar{animation:move-indeterminate 1s linear 0s infinite alternate-reverse}}.progress-bar:indeterminate::-moz-progress-bar{background-color:var(--bq-progress-bar--trackColor)}.progress-bar.progress-bar__border-shape::-webkit-progress-bar,.progress-bar.progress-bar__border-shape::-webkit-progress-value{border-radius:var(--bq-radius--full)}@layer component{.progress-bar__indeterminate{animation:move-indeterminate 1s linear 0s infinite alternate-reverse}}.progress-bar.progress-bar__border-shape::-moz-progress-bar{border-radius:var(--bq-radius--full)}@layer component{.progress-bar.progress-bar__border-shape::-moz-progress-bar{animation:move-indeterminate 1s linear 0s infinite alternate-reverse}}.tabular-nums{--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.invisible{visibility:hidden}.static{position:static}.absolute{position:absolute}.ms-0{margin-inline-start:0}.ms-xs{margin-inline-start:var(--bq-spacing-xs)}.flex{display:flex}.items-center{align-items:center}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-danger{color:var(--bq-text--danger)}.text-primary{color:var(--bq-text--primary)}.bs-1{block-size:.25rem}.is-0{inline-size:0}.is-1{inline-size:.25rem}.is-\\[--bq-progress-bar--indeterminateWidth\\]{inline-size:var(--bq-progress-bar--indeterminateWidth)}.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}}.\\[\\&\\:\\:part\\(panel\\)\\]\\:absolute::part(panel){position:absolute}.visible{visibility:visible}.fixed{position:fixed}.hidden{display:none}`;const o=class{constructor(r){a(this,r)}get el(){return r(this)}borderShape="rounded";enableTooltip=false;indeterminate=false;label=false;thickness="medium";type="default";value=0;handleTypePropChange(){n(t,"rounded",this.el,"borderShape");n(q,"medium",this.el,"thickness");n(i,"default",this.el,"type")}handleValuePropChange(a){this.validateValue(a)}componentWillLoad(){this.handleTypePropChange();this.handleValuePropChange(this.value)}validateValue(a){const r=Math.max(0,Math.min(100,a));if(a!==r){this.value=r}return this.value}render(){const a={...this.thickness==="large"&&{"--bq-progress-bar--height":"var(--bq-spacing-xs)"},...this.type==="error"&&{"--bq-progress-bar--indicatorColor":"var(--bq-ui--danger)"}};return e(b,{key:"db2ef23caba8731b42a7c74fd7d19aa366a1ba30",style:a},e("div",{key:"b657b368fa271571de30a925c2c7e8ab77380524",class:"flex items-center",part:"wrapper"},e("div",{key:"97cafbe2deceb4c979b2765dfdeb8be6296722cd",class:"is-full relative flex items-center",part:"progress"},e("progress",{key:"5d9e1a576b18383ca67135e1fffe4cc71c57fcc4",class:{[`progress-bar progress-bar__${this.type} ${this.thickness}`]:true,"progress-bar__border-shape rounded-full":this.borderShape==="rounded"},max:"100",part:"progress-bar",value:this.indeterminate?undefined:this.value}),this.enableTooltip&&!this.indeterminate&&e("bq-tooltip",{key:"c903b6e6f689610b6285e484702ea8fca1c20bff",alwaysVisible:true,class:"absolute [&::part(panel)]:absolute",distance:16,exportparts:"base,trigger,panel",style:{insetInlineStart:`${this.value}%`,fontVariant:"tabular-nums"}},e("div",{key:"558222b0e2ab822fb4d59fe7665157fa8dd22dcf",class:"bs-1 is-1 absolute",slot:"trigger"}),this.value),this.indeterminate&&e("div",{key:"e1a35b5e085b7853e8599bc9b7ff00417a15ee11",class:{"progress-bar__indeterminate bs-[--bq-progress-bar--height] is-[--bq-progress-bar--indeterminateWidth] absolute bg-[--bq-progress-bar--indicatorColor]":true,"rounded-full":this.borderShape==="rounded"},part:"indeterminate"})),e("div",{key:"c3bf63045c31d9eb98f2b5c4033630b835ed076d","aria-hidden":!this.label||this.indeterminate?"true":"false",class:{"ms-xs font-medium leading-regular":true,"text-primary":this.type!=="error","text-danger":this.type==="error","is-0 invisible ms-0":!this.label||this.indeterminate},part:"label",style:{fontVariant:"tabular-nums"}},e("span",{key:"9e2413dcea94c034f7106203085c35ad27bcbdd7"},this.value,"%"))))}static get watchers(){return{borderShape:[{handleTypePropChange:0}],thickness:[{handleTypePropChange:0}],type:[{handleTypePropChange:0}],value:[{handleValuePropChange:0}]}}};o.style=s();export{o as bq_progress};
|
|
6
|
-
//# sourceMappingURL=p-
|
|
5
|
+
import{r as a,a as r,h as e,d as b}from"./p-BSSRzVAz.js";import{v as n}from"./p-DbxZ8FhA.js";const t=["square","rounded"];const q=["medium","large"];const i=["default","error"];const s=()=>`.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.relative{position:relative}.appearance-none{appearance:none}.rounded-full{border-radius:var(--bq-radius--full)}.bg-\\[--bq-progress-bar--indicatorColor\\]{background-color:var(--bq-progress-bar--indicatorColor)}.bg-\\[--bq-progress-bar--trackColor\\]{background-color:var(--bq-progress-bar--trackColor)}.bs-\\[--bq-progress-bar--height\\]{block-size:var(--bq-progress-bar--height)}.is-full{inline-size:100%}@-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-progress-bar--height:0.25rem;--bq-progress-bar--indeterminateWidth:25%;--bq-progress-bar--indicatorColor:var(--bq-ui--brand);--bq-progress-bar--trackColor:var(--bq-ui--secondary)}@layer component{@-webkit-keyframes move-indeterminate{0%{inset-inline-start:0}to{inset-inline-start:calc(100% - var(--bq-progress-bar--indeterminateWidth))}}@keyframes move-indeterminate{0%{inset-inline-start:0}to{inset-inline-start:calc(100% - var(--bq-progress-bar--indeterminateWidth))}}.animate-indeterminate{animation:move-indeterminate 1s linear 0s infinite alternate-reverse}}.progress-bar{appearance:none;block-size:var(--bq-progress-bar--height);inline-size:100%;position:relative}.progress-bar::-webkit-progress-bar{background-color:var(--bq-progress-bar--trackColor)}.progress-bar::-webkit-progress-value{background-color:var(--bq-progress-bar--indicatorColor)}.progress-bar::-moz-progress-bar{background-color:var(--bq-progress-bar--indicatorColor)}@layer component{.progress-bar::-moz-progress-bar{animation:move-indeterminate 1s linear 0s infinite alternate-reverse}}.progress-bar:indeterminate::-moz-progress-bar{background-color:var(--bq-progress-bar--trackColor)}.progress-bar.progress-bar__border-shape::-webkit-progress-bar,.progress-bar.progress-bar__border-shape::-webkit-progress-value{border-radius:var(--bq-radius--full)}@layer component{.progress-bar__indeterminate{animation:move-indeterminate 1s linear 0s infinite alternate-reverse}}.progress-bar.progress-bar__border-shape::-moz-progress-bar{border-radius:var(--bq-radius--full)}@layer component{.progress-bar.progress-bar__border-shape::-moz-progress-bar{animation:move-indeterminate 1s linear 0s infinite alternate-reverse}}.tabular-nums{--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.invisible{visibility:hidden}.static{position:static}.absolute{position:absolute}.ms-0{margin-inline-start:0}.ms-xs{margin-inline-start:var(--bq-spacing-xs)}.flex{display:flex}.items-center{align-items:center}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-danger{color:var(--bq-text--danger)}.text-primary{color:var(--bq-text--primary)}.bs-1{block-size:.25rem}.is-0{inline-size:0}.is-1{inline-size:.25rem}.is-\\[--bq-progress-bar--indeterminateWidth\\]{inline-size:var(--bq-progress-bar--indeterminateWidth)}.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}}.\\[\\&\\:\\:part\\(panel\\)\\]\\:absolute::part(panel){position:absolute}`;const o=class{constructor(r){a(this,r)}get el(){return r(this)}borderShape="rounded";enableTooltip=false;indeterminate=false;label=false;thickness="medium";type="default";value=0;handleTypePropChange(){n(t,"rounded",this.el,"borderShape");n(q,"medium",this.el,"thickness");n(i,"default",this.el,"type")}handleValuePropChange(a){this.validateValue(a)}componentWillLoad(){this.handleTypePropChange();this.handleValuePropChange(this.value)}validateValue(a){const r=Math.max(0,Math.min(100,a));if(a!==r){this.value=r}return this.value}render(){const a={...this.thickness==="large"&&{"--bq-progress-bar--height":"var(--bq-spacing-xs)"},...this.type==="error"&&{"--bq-progress-bar--indicatorColor":"var(--bq-ui--danger)"}};return e(b,{key:"c9217825deccf8c07fb429d245b30fb526033380",style:a},e("div",{key:"f0d1159a0223423d0b910dd98ae9dee25d0be728",class:"flex items-center",part:"wrapper"},e("div",{key:"ff83729f215ea1d26d637e3f10825c65327b1293",class:"is-full relative flex items-center",part:"progress"},e("progress",{key:"6e687183e9bcda8c4cbd60fd465759fcb7374310",class:{[`progress-bar progress-bar__${this.type} ${this.thickness}`]:true,"progress-bar__border-shape rounded-full":this.borderShape==="rounded"},max:"100",part:"progress-bar",value:this.indeterminate?undefined:this.value}),this.enableTooltip&&!this.indeterminate&&e("bq-tooltip",{key:"caac9f059401976fc10374dfe67b2f26e9363b2b",alwaysVisible:true,class:"absolute [&::part(panel)]:absolute",distance:16,exportparts:"base,trigger,panel",style:{insetInlineStart:`${this.value}%`,fontVariant:"tabular-nums"}},e("div",{key:"362af6dd27301f7eab3e28289f73c424bf277749",class:"bs-1 is-1 absolute",slot:"trigger"}),this.value),this.indeterminate&&e("div",{key:"daa3b58ad9e03665ea2674d0facbb92fbeb6f9f1",class:{"progress-bar__indeterminate bs-[--bq-progress-bar--height] is-[--bq-progress-bar--indeterminateWidth] absolute bg-[--bq-progress-bar--indicatorColor]":true,"rounded-full":this.borderShape==="rounded"},part:"indeterminate"})),e("div",{key:"b2e3aaa541f15283d965cf4acfc46e3253391353","aria-hidden":!this.label||this.indeterminate?"true":"false",class:{"ms-xs font-medium leading-regular":true,"text-primary":this.type!=="error","text-danger":this.type==="error","is-0 invisible ms-0":!this.label||this.indeterminate},part:"label",style:{fontVariant:"tabular-nums"}},e("span",{key:"659c4d614b21b36b736882be7cf0a2f597098f82"},this.value,"%"))))}static get watchers(){return{borderShape:[{handleTypePropChange:0}],thickness:[{handleTypePropChange:0}],type:[{handleTypePropChange:0}],value:[{handleValuePropChange:0}]}}};o.style=s();export{o as bq_progress};
|
|
6
|
+
//# sourceMappingURL=p-56b49d4e.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PROGRESS_BORDER_SHAPE","PROGRESS_THICKNESS","PROGRESS_TYPE","bqProgressCss","BqProgress","borderShape","enableTooltip","indeterminate","label","thickness","type","value","handleTypePropChange","validatePropValue","this","el","handleValuePropChange","newValue","validateValue","componentWillLoad","clampedValue","Math","max","min","render","style","h","Host","key","class","part","undefined","alwaysVisible","distance","exportparts","insetInlineStart","fontVariant","slot"],"sources":["../../packages/beeq/src/components/progress/bq-progress.types.ts","../../packages/beeq/src/components/progress/scss/bq-progress.scss?tag=bq-progress&encapsulation=shadow","../../packages/beeq/src/components/progress/bq-progress.tsx"],"sourcesContent":["export const PROGRESS_BORDER_SHAPE = ['square', 'rounded'] as const;\nexport type TProgressBorderShape = (typeof PROGRESS_BORDER_SHAPE)[number];\n\nexport const PROGRESS_THICKNESS = ['medium', 'large'] as const;\nexport type TProgressThickness = (typeof PROGRESS_THICKNESS)[number];\n\nexport const PROGRESS_TYPE = ['default', 'error'] as const;\nexport type TProgressType = (typeof PROGRESS_TYPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Progress styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-progress.variables';\n\n@layer component {\n @keyframes move-indeterminate {\n 0% {\n inset-inline-start: 0;\n }\n\n 100% {\n inset-inline-start: calc(100% - var(--bq-progress-bar--indeterminateWidth));\n }\n }\n\n .animate-indeterminate {\n animation: move-indeterminate 1s linear 0s infinite alternate-reverse;\n }\n}\n\n.progress-bar {\n @apply relative appearance-none bs-[--bq-progress-bar--height] is-full;\n}\n\n.progress-bar::-webkit-progress-bar {\n @apply bg-[--bq-progress-bar--trackColor];\n}\n\n.progress-bar::-webkit-progress-value {\n @apply bg-[--bq-progress-bar--indicatorColor];\n}\n\n.progress-bar::-moz-progress-bar {\n @apply animate-indeterminate bg-[--bq-progress-bar--indicatorColor];\n}\n\n.progress-bar:indeterminate::-moz-progress-bar {\n @apply bg-[--bq-progress-bar--trackColor];\n}\n\n.progress-bar.progress-bar__border-shape::-webkit-progress-value,\n.progress-bar.progress-bar__border-shape::-webkit-progress-bar {\n @apply rounded-full;\n}\n\n.progress-bar__indeterminate {\n @apply animate-indeterminate;\n}\n\n.progress-bar.progress-bar__border-shape::-moz-progress-bar {\n @apply animate-indeterminate rounded-full;\n}\n","import { Component, Element, Host, h, Prop, Watch } from '@stencil/core';\n\nimport { validatePropValue } from '../../shared/utils';\nimport type { TProgressBorderShape, TProgressThickness, TProgressType } from './bq-progress.types';\nimport { PROGRESS_BORDER_SHAPE, PROGRESS_THICKNESS, PROGRESS_TYPE } from './bq-progress.types';\n\n/**\n * The progress bar is a user interface component that visually represents the completion status of a task or process.\n *\n * @example How to use it\n * ```html\n * <bq-progress value=\"50\"></bq-progress>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/691cb3-progress\n * @status stable\n *\n * @dependency bq-tooltip\n *\n * @attr {\"rounded\" | \"rounded-full\"} border-shape - It will set the border style of the progress bar\n * @attr {boolean} enable-tooltip - If `true`, a tooltip will be shown displaying the progress value\n * @attr {boolean} indeterminate - If `true` the indeterminate state of progress bar is enabled\n * @attr {boolean} label - If `true`, a label text showing the value (in percentage) will be shown\n * @attr {\"small\" | \"medium\" | \"large\"} thickness - Progress bar thickness\n * @attr {\"default\" | \"error\"} type - Progress type\n * @attr {number} value - A number representing the current value of the progress bar\n *\n * @part wrapper - The component wrapper container inside the shadow DOM\n * @part progress - The `<div>` container that holds the native progress element\n * @part progress-bar - The native html for progress element\n * @part label - The `<div>` container that holds the label value (in percentage)\n * @part indeterminate - The `<div>` container that holds the indeterminate progress bar\n * @part base - The base container for the tooltip component inside the shadow DOM when hovering over the progress bar\n * @part trigger - The container holding the element that triggers the tooltip display when hovering over the progress bar\n * @part panel - The container holding the content of the tooltip when hovering over the progress bar\n *\n * @cssprop --bq-progress-bar--height - The progress bars height\n * @cssprop --bq-progress-bar--indeterminateWidth - The progress bar width when its indeterminate\n * @cssprop --bq-progress-bar--indicatorColor - The progress bar color (inside the track area)\n * @cssprop --bq-progress-bar--trackColor - The progress bar track area (the grey one)\n */\n@Component({\n tag: 'bq-progress',\n styleUrl: './scss/bq-progress.scss',\n shadow: true,\n})\nexport class BqProgress {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqProgressElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** It will set the border style of the progress bar */\n @Prop({ reflect: true }) borderShape: TProgressBorderShape = 'rounded';\n\n /** If `true`, a tooltip will be shown displaying the progress value */\n @Prop({ reflect: true }) enableTooltip: boolean = false;\n\n /** If `true` the indeterminate state of progress bar is enabled */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /** If `true, a label text showing the value (in percentage) will be shown */\n @Prop({ reflect: true }) label: boolean = false;\n\n /** Progress bar thickness */\n @Prop({ reflect: true }) thickness: TProgressThickness = 'medium';\n\n /** Progress type */\n @Prop({ reflect: true }) type: TProgressType = 'default';\n\n /** A number representing the current value of the progress bar */\n @Prop({ reflect: true, mutable: true }) value = 0;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('borderShape')\n @Watch('thickness')\n @Watch('type')\n handleTypePropChange() {\n validatePropValue(PROGRESS_BORDER_SHAPE, 'rounded', this.el, 'borderShape');\n validatePropValue(PROGRESS_THICKNESS, 'medium', this.el, 'thickness');\n validatePropValue(PROGRESS_TYPE, 'default', this.el, 'type');\n }\n\n @Watch('value')\n handleValuePropChange(newValue: number) {\n this.validateValue(newValue);\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.handleTypePropChange();\n this.handleValuePropChange(this.value);\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 validateValue(newValue: number) {\n const clampedValue = Math.max(0, Math.min(100, newValue));\n if (newValue !== clampedValue) {\n this.value = clampedValue;\n }\n return this.value;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.thickness === 'large' && { '--bq-progress-bar--height': 'var(--bq-spacing-xs)' }),\n ...(this.type === 'error' && { '--bq-progress-bar--indicatorColor': 'var(--bq-ui--danger)' }),\n };\n\n return (\n <Host style={style}>\n <div class=\"flex items-center\" part=\"wrapper\">\n <div class=\"is-full relative flex items-center\" part=\"progress\">\n <progress\n class={{\n [`progress-bar progress-bar__${this.type} ${this.thickness}`]: true,\n 'progress-bar__border-shape rounded-full': this.borderShape === 'rounded',\n }}\n max=\"100\"\n part=\"progress-bar\"\n value={this.indeterminate ? undefined : this.value}\n />\n {this.enableTooltip && !this.indeterminate && (\n <bq-tooltip\n alwaysVisible={true}\n class=\"absolute [&::part(panel)]:absolute\"\n distance={16}\n exportparts=\"base,trigger,panel\"\n style={{ insetInlineStart: `${this.value}%`, fontVariant: 'tabular-nums' }}\n >\n <div class=\"bs-1 is-1 absolute\" slot=\"trigger\"></div>\n {this.value}\n </bq-tooltip>\n )}\n {this.indeterminate && (\n <div\n class={{\n 'progress-bar__indeterminate bs-[--bq-progress-bar--height] is-[--bq-progress-bar--indeterminateWidth] absolute bg-[--bq-progress-bar--indicatorColor]': true,\n 'rounded-full': this.borderShape === 'rounded',\n }}\n part=\"indeterminate\"\n />\n )}\n </div>\n <div\n aria-hidden={!this.label || this.indeterminate ? 'true' : 'false'}\n class={{\n 'ms-xs font-medium leading-regular': true,\n 'text-primary': this.type !== 'error',\n 'text-danger': this.type === 'error',\n 'is-0 invisible ms-0': !this.label || this.indeterminate,\n }}\n part=\"label\"\n style={{ fontVariant: 'tabular-nums' }}\n >\n <span>{this.value}%</span>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;6FAAO,MAAMA,EAAwB,CAAC,SAAU,WAGzC,MAAMC,EAAqB,CAAC,SAAU,SAGtC,MAAMC,EAAgB,CAAC,UAAW,SCNzC,MAAMC,EAAgB,IAAM,4osB,MC8CfC,EAAU,M,iDAiBIC,YAAoC,UAGpCC,cAAyB,MAGzBC,cAAyB,MAGzBC,MAAiB,MAGjBC,UAAgC,SAGhCC,KAAsB,UAGPC,MAAQ,EAQhD,oBAAAC,GACEC,EAAkBb,EAAuB,UAAWc,KAAKC,GAAI,eAC7DF,EAAkBZ,EAAoB,SAAUa,KAAKC,GAAI,aACzDF,EAAkBX,EAAe,UAAWY,KAAKC,GAAI,O,CAIvD,qBAAAC,CAAsBC,GACpBH,KAAKI,cAAcD,E,CAWrB,iBAAAE,GACEL,KAAKF,uBACLE,KAAKE,sBAAsBF,KAAKH,M,CAkB1B,aAAAO,CAAcD,GACpB,MAAMG,EAAeC,KAAKC,IAAI,EAAGD,KAAKE,IAAI,IAAKN,IAC/C,GAAIA,IAAaG,EAAc,CAC7BN,KAAKH,MAAQS,C,CAEf,OAAON,KAAKH,K,CAOd,MAAAa,GACE,MAAMC,EAAQ,IACRX,KAAKL,YAAc,SAAW,CAAE,4BAA6B,2BAC7DK,KAAKJ,OAAS,SAAW,CAAE,oCAAqC,yBAGtE,OACEgB,EAACC,EAAI,CAAAC,IAAA,2CAACH,MAAOA,GACXC,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBAAoBC,KAAK,WAClCJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qCAAqCC,KAAK,YACnDJ,EAAA,YAAAE,IAAA,2CACEC,MAAO,CACL,CAAC,8BAA8Bf,KAAKJ,QAAQI,KAAKL,aAAc,KAC/D,0CAA2CK,KAAKT,cAAgB,WAElEiB,IAAI,MACJQ,KAAK,eACLnB,MAAOG,KAAKP,cAAgBwB,UAAYjB,KAAKH,QAE9CG,KAAKR,gBAAkBQ,KAAKP,eAC3BmB,EAAA,cAAAE,IAAA,2CACEI,cAAe,KACfH,MAAM,qCACNI,SAAU,GACVC,YAAY,qBACZT,MAAO,CAAEU,iBAAkB,GAAGrB,KAAKH,SAAUyB,YAAa,iBAE1DV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBAAqBQ,KAAK,YACpCvB,KAAKH,OAGTG,KAAKP,eACJmB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,wJAAyJ,KACzJ,eAAgBf,KAAKT,cAAgB,WAEvCyB,KAAK,mBAIXJ,EAAA,OAAAE,IAAA,0DACgBd,KAAKN,OAASM,KAAKP,cAAgB,OAAS,QAC1DsB,MAAO,CACL,oCAAqC,KACrC,eAAgBf,KAAKJ,OAAS,QAC9B,cAAeI,KAAKJ,OAAS,QAC7B,uBAAwBI,KAAKN,OAASM,KAAKP,eAE7CuB,KAAK,QACLL,MAAO,CAAEW,YAAa,iBAEtBV,EAAA,QAAAE,IAAA,4CAAOd,KAAKH,MAAK,O","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PROGRESS_BORDER_SHAPE","PROGRESS_THICKNESS","PROGRESS_TYPE","bqProgressCss","BqProgress","borderShape","enableTooltip","indeterminate","label","thickness","type","value","handleTypePropChange","validatePropValue","this","el","handleValuePropChange","newValue","validateValue","componentWillLoad","clampedValue","Math","max","min","render","style","h","Host","key","class","part","undefined","alwaysVisible","distance","exportparts","insetInlineStart","fontVariant","slot"],"sources":["../../packages/beeq/src/components/progress/bq-progress.types.ts","../../packages/beeq/src/components/progress/scss/bq-progress.scss?tag=bq-progress&encapsulation=shadow","../../packages/beeq/src/components/progress/bq-progress.tsx"],"sourcesContent":["export const PROGRESS_BORDER_SHAPE = ['square', 'rounded'] as const;\nexport type TProgressBorderShape = (typeof PROGRESS_BORDER_SHAPE)[number];\n\nexport const PROGRESS_THICKNESS = ['medium', 'large'] as const;\nexport type TProgressThickness = (typeof PROGRESS_THICKNESS)[number];\n\nexport const PROGRESS_TYPE = ['default', 'error'] as const;\nexport type TProgressType = (typeof PROGRESS_TYPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Progress styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-progress.variables';\n\n@layer component {\n @keyframes move-indeterminate {\n 0% {\n inset-inline-start: 0;\n }\n\n 100% {\n inset-inline-start: calc(100% - var(--bq-progress-bar--indeterminateWidth));\n }\n }\n\n .animate-indeterminate {\n animation: move-indeterminate 1s linear 0s infinite alternate-reverse;\n }\n}\n\n.progress-bar {\n @apply relative appearance-none bs-[--bq-progress-bar--height] is-full;\n}\n\n.progress-bar::-webkit-progress-bar {\n @apply bg-[--bq-progress-bar--trackColor];\n}\n\n.progress-bar::-webkit-progress-value {\n @apply bg-[--bq-progress-bar--indicatorColor];\n}\n\n.progress-bar::-moz-progress-bar {\n @apply animate-indeterminate bg-[--bq-progress-bar--indicatorColor];\n}\n\n.progress-bar:indeterminate::-moz-progress-bar {\n @apply bg-[--bq-progress-bar--trackColor];\n}\n\n.progress-bar.progress-bar__border-shape::-webkit-progress-value,\n.progress-bar.progress-bar__border-shape::-webkit-progress-bar {\n @apply rounded-full;\n}\n\n.progress-bar__indeterminate {\n @apply animate-indeterminate;\n}\n\n.progress-bar.progress-bar__border-shape::-moz-progress-bar {\n @apply animate-indeterminate rounded-full;\n}\n","import { Component, Element, Host, h, Prop, Watch } from '@stencil/core';\n\nimport { validatePropValue } from '../../shared/utils';\nimport type { TProgressBorderShape, TProgressThickness, TProgressType } from './bq-progress.types';\nimport { PROGRESS_BORDER_SHAPE, PROGRESS_THICKNESS, PROGRESS_TYPE } from './bq-progress.types';\n\n/**\n * The progress bar is a user interface component that visually represents the completion status of a task or process.\n *\n * @example How to use it\n * ```html\n * <bq-progress value=\"50\"></bq-progress>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/691cb3-progress\n * @status stable\n *\n * @dependency bq-tooltip\n *\n * @attr {\"rounded\" | \"rounded-full\"} border-shape - It will set the border style of the progress bar\n * @attr {boolean} enable-tooltip - If `true`, a tooltip will be shown displaying the progress value\n * @attr {boolean} indeterminate - If `true` the indeterminate state of progress bar is enabled\n * @attr {boolean} label - If `true`, a label text showing the value (in percentage) will be shown\n * @attr {\"small\" | \"medium\" | \"large\"} thickness - Progress bar thickness\n * @attr {\"default\" | \"error\"} type - Progress type\n * @attr {number} value - A number representing the current value of the progress bar\n *\n * @part wrapper - The component wrapper container inside the shadow DOM\n * @part progress - The `<div>` container that holds the native progress element\n * @part progress-bar - The native html for progress element\n * @part label - The `<div>` container that holds the label value (in percentage)\n * @part indeterminate - The `<div>` container that holds the indeterminate progress bar\n * @part base - The base container for the tooltip component inside the shadow DOM when hovering over the progress bar\n * @part trigger - The container holding the element that triggers the tooltip display when hovering over the progress bar\n * @part panel - The container holding the content of the tooltip when hovering over the progress bar\n *\n * @cssprop --bq-progress-bar--height - The progress bars height\n * @cssprop --bq-progress-bar--indeterminateWidth - The progress bar width when its indeterminate\n * @cssprop --bq-progress-bar--indicatorColor - The progress bar color (inside the track area)\n * @cssprop --bq-progress-bar--trackColor - The progress bar track area (the grey one)\n */\n@Component({\n tag: 'bq-progress',\n styleUrl: './scss/bq-progress.scss',\n shadow: true,\n})\nexport class BqProgress {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqProgressElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** It will set the border style of the progress bar */\n @Prop({ reflect: true }) borderShape: TProgressBorderShape = 'rounded';\n\n /** If `true`, a tooltip will be shown displaying the progress value */\n @Prop({ reflect: true }) enableTooltip: boolean = false;\n\n /** If `true` the indeterminate state of progress bar is enabled */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /** If `true, a label text showing the value (in percentage) will be shown */\n @Prop({ reflect: true }) label: boolean = false;\n\n /** Progress bar thickness */\n @Prop({ reflect: true }) thickness: TProgressThickness = 'medium';\n\n /** Progress type */\n @Prop({ reflect: true }) type: TProgressType = 'default';\n\n /** A number representing the current value of the progress bar */\n @Prop({ reflect: true, mutable: true }) value = 0;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('borderShape')\n @Watch('thickness')\n @Watch('type')\n handleTypePropChange() {\n validatePropValue(PROGRESS_BORDER_SHAPE, 'rounded', this.el, 'borderShape');\n validatePropValue(PROGRESS_THICKNESS, 'medium', this.el, 'thickness');\n validatePropValue(PROGRESS_TYPE, 'default', this.el, 'type');\n }\n\n @Watch('value')\n handleValuePropChange(newValue: number) {\n this.validateValue(newValue);\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.handleTypePropChange();\n this.handleValuePropChange(this.value);\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 validateValue(newValue: number) {\n const clampedValue = Math.max(0, Math.min(100, newValue));\n if (newValue !== clampedValue) {\n this.value = clampedValue;\n }\n return this.value;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.thickness === 'large' && { '--bq-progress-bar--height': 'var(--bq-spacing-xs)' }),\n ...(this.type === 'error' && { '--bq-progress-bar--indicatorColor': 'var(--bq-ui--danger)' }),\n };\n\n return (\n <Host style={style}>\n <div class=\"flex items-center\" part=\"wrapper\">\n <div class=\"is-full relative flex items-center\" part=\"progress\">\n <progress\n class={{\n [`progress-bar progress-bar__${this.type} ${this.thickness}`]: true,\n 'progress-bar__border-shape rounded-full': this.borderShape === 'rounded',\n }}\n max=\"100\"\n part=\"progress-bar\"\n value={this.indeterminate ? undefined : this.value}\n />\n {this.enableTooltip && !this.indeterminate && (\n <bq-tooltip\n alwaysVisible={true}\n class=\"absolute [&::part(panel)]:absolute\"\n distance={16}\n exportparts=\"base,trigger,panel\"\n style={{ insetInlineStart: `${this.value}%`, fontVariant: 'tabular-nums' }}\n >\n <div class=\"bs-1 is-1 absolute\" slot=\"trigger\"></div>\n {this.value}\n </bq-tooltip>\n )}\n {this.indeterminate && (\n <div\n class={{\n 'progress-bar__indeterminate bs-[--bq-progress-bar--height] is-[--bq-progress-bar--indeterminateWidth] absolute bg-[--bq-progress-bar--indicatorColor]': true,\n 'rounded-full': this.borderShape === 'rounded',\n }}\n part=\"indeterminate\"\n />\n )}\n </div>\n <div\n aria-hidden={!this.label || this.indeterminate ? 'true' : 'false'}\n class={{\n 'ms-xs font-medium leading-regular': true,\n 'text-primary': this.type !== 'error',\n 'text-danger': this.type === 'error',\n 'is-0 invisible ms-0': !this.label || this.indeterminate,\n }}\n part=\"label\"\n style={{ fontVariant: 'tabular-nums' }}\n >\n <span>{this.value}%</span>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;6FAAO,MAAMA,EAAwB,CAAC,SAAU,WAGzC,MAAMC,EAAqB,CAAC,SAAU,SAGtC,MAAMC,EAAgB,CAAC,UAAW,SCNzC,MAAMC,EAAgB,IAAM,qksB,MC8CfC,EAAU,M,iDAiBIC,YAAoC,UAGpCC,cAAyB,MAGzBC,cAAyB,MAGzBC,MAAiB,MAGjBC,UAAgC,SAGhCC,KAAsB,UAGPC,MAAQ,EAQhD,oBAAAC,GACEC,EAAkBb,EAAuB,UAAWc,KAAKC,GAAI,eAC7DF,EAAkBZ,EAAoB,SAAUa,KAAKC,GAAI,aACzDF,EAAkBX,EAAe,UAAWY,KAAKC,GAAI,O,CAIvD,qBAAAC,CAAsBC,GACpBH,KAAKI,cAAcD,E,CAWrB,iBAAAE,GACEL,KAAKF,uBACLE,KAAKE,sBAAsBF,KAAKH,M,CAkB1B,aAAAO,CAAcD,GACpB,MAAMG,EAAeC,KAAKC,IAAI,EAAGD,KAAKE,IAAI,IAAKN,IAC/C,GAAIA,IAAaG,EAAc,CAC7BN,KAAKH,MAAQS,C,CAEf,OAAON,KAAKH,K,CAOd,MAAAa,GACE,MAAMC,EAAQ,IACRX,KAAKL,YAAc,SAAW,CAAE,4BAA6B,2BAC7DK,KAAKJ,OAAS,SAAW,CAAE,oCAAqC,yBAGtE,OACEgB,EAACC,EAAI,CAAAC,IAAA,2CAACH,MAAOA,GACXC,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBAAoBC,KAAK,WAClCJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qCAAqCC,KAAK,YACnDJ,EAAA,YAAAE,IAAA,2CACEC,MAAO,CACL,CAAC,8BAA8Bf,KAAKJ,QAAQI,KAAKL,aAAc,KAC/D,0CAA2CK,KAAKT,cAAgB,WAElEiB,IAAI,MACJQ,KAAK,eACLnB,MAAOG,KAAKP,cAAgBwB,UAAYjB,KAAKH,QAE9CG,KAAKR,gBAAkBQ,KAAKP,eAC3BmB,EAAA,cAAAE,IAAA,2CACEI,cAAe,KACfH,MAAM,qCACNI,SAAU,GACVC,YAAY,qBACZT,MAAO,CAAEU,iBAAkB,GAAGrB,KAAKH,SAAUyB,YAAa,iBAE1DV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBAAqBQ,KAAK,YACpCvB,KAAKH,OAGTG,KAAKP,eACJmB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,wJAAyJ,KACzJ,eAAgBf,KAAKT,cAAgB,WAEvCyB,KAAK,mBAIXJ,EAAA,OAAAE,IAAA,0DACgBd,KAAKN,OAASM,KAAKP,cAAgB,OAAS,QAC1DsB,MAAO,CACL,oCAAqC,KACrC,eAAgBf,KAAKJ,OAAS,QAC9B,cAAeI,KAAKJ,OAAS,QAC7B,uBAAwBI,KAAKN,OAASM,KAAKP,eAE7CuB,KAAK,QACLL,MAAO,CAAEW,YAAa,iBAEtBV,EAAA,QAAAE,IAAA,4CAAOd,KAAKH,MAAK,O","ignoreList":[]}
|