@beeq/core 1.8.0-beta.0 → 1.8.0-beta.2
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 +43 -1
- package/dist/beeq/beeq.esm.js.map +1 -1
- package/dist/beeq/index.esm.js +64 -1
- package/dist/beeq/index.esm.js.map +1 -1
- package/dist/beeq/p-026222c6.entry.js +309 -0
- package/dist/beeq/{p-63ad9702.entry.js.map → p-026222c6.entry.js.map} +1 -1
- package/dist/beeq/p-04d98ed3.entry.js +257 -0
- package/dist/beeq/p-04d98ed3.entry.js.map +1 -0
- package/dist/beeq/p-05685544.entry.js +121 -0
- package/dist/beeq/{p-c9c942e6.entry.js.map → p-05685544.entry.js.map} +1 -1
- package/dist/beeq/p-0ab0b58d.js +25 -1
- package/dist/beeq/p-0ab0b58d.js.map +1 -1
- package/dist/beeq/p-0c42c08a.js +1811 -0
- package/dist/beeq/p-0c42c08a.js.map +1 -0
- package/dist/beeq/p-0ebe73ef.entry.js +149 -0
- package/dist/beeq/{p-571b40ff.entry.js.map → p-0ebe73ef.entry.js.map} +1 -1
- package/dist/beeq/p-115ed5b2.js +25 -1
- package/dist/beeq/p-115ed5b2.js.map +1 -1
- package/dist/beeq/p-11eaeb5d.entry.js +330 -0
- package/dist/beeq/{p-4739f5c3.entry.js.map → p-11eaeb5d.entry.js.map} +1 -1
- package/dist/beeq/p-12dbc6ac.entry.js +87 -0
- package/dist/beeq/{p-3b2ce34b.entry.js.map → p-12dbc6ac.entry.js.map} +1 -1
- package/dist/beeq/p-19df76ba.entry.js +220 -0
- package/dist/beeq/{p-79b7547b.entry.js.map → p-19df76ba.entry.js.map} +1 -1
- package/dist/beeq/p-1c8b6eb4.js +12 -1
- package/dist/beeq/p-1c8b6eb4.js.map +1 -1
- package/dist/beeq/p-1f3a4359.js +11 -1
- package/dist/beeq/p-1f3a4359.js.map +1 -1
- package/dist/beeq/p-2ef721e1.entry.js +261 -0
- package/dist/beeq/{p-52577f3a.entry.js.map → p-2ef721e1.entry.js.map} +1 -1
- package/dist/beeq/p-37466506.entry.js +103 -0
- package/dist/beeq/{p-b90c6de9.entry.js.map → p-37466506.entry.js.map} +1 -1
- package/dist/beeq/p-377c70d1.entry.js +173 -0
- package/dist/beeq/{p-eddb77c7.entry.js.map → p-377c70d1.entry.js.map} +1 -1
- package/dist/beeq/p-38d4bd8a.js +1934 -1
- package/dist/beeq/p-38d4bd8a.js.map +1 -1
- package/dist/beeq/p-3dd0e436.entry.js +130 -0
- package/dist/beeq/p-3dd0e436.entry.js.map +1 -0
- package/dist/beeq/p-3fd0d92d.js +1228 -1
- package/dist/beeq/p-3fd0d92d.js.map +1 -1
- package/dist/beeq/p-41033fe6.entry.js +84 -0
- package/dist/beeq/{p-94d62f1b.entry.js.map → p-41033fe6.entry.js.map} +1 -1
- package/dist/beeq/p-43e4fcdb.entry.js +173 -0
- package/dist/beeq/{p-9c6c6646.entry.js.map → p-43e4fcdb.entry.js.map} +1 -1
- package/dist/beeq/p-4a235cd2.entry.js +258 -0
- package/dist/beeq/{p-b9544567.entry.js.map → p-4a235cd2.entry.js.map} +1 -1
- package/dist/beeq/p-4a3d8532.entry.js +205 -0
- package/dist/beeq/{p-8059836c.entry.js.map → p-4a3d8532.entry.js.map} +1 -1
- package/dist/beeq/p-4dd962a7.entry.js +104 -0
- package/dist/beeq/{p-ae8ffb81.entry.js.map → p-4dd962a7.entry.js.map} +1 -1
- package/dist/beeq/p-4eccc020.entry.js +203 -0
- package/dist/beeq/{p-a006be9e.entry.js.map → p-4eccc020.entry.js.map} +1 -1
- package/dist/beeq/p-4fc098bb.entry.js +90 -0
- package/dist/beeq/{p-be664fb0.entry.js.map → p-4fc098bb.entry.js.map} +1 -1
- package/dist/beeq/p-513bab02.js +16 -0
- package/dist/beeq/{p-aee056e5.js.map → p-513bab02.js.map} +1 -1
- package/dist/beeq/p-57621be1.js +9 -1
- package/dist/beeq/p-57621be1.js.map +1 -1
- package/dist/beeq/p-5eab4f55.entry.js +117 -0
- package/dist/beeq/{p-9f40249f.entry.js.map → p-5eab4f55.entry.js.map} +1 -1
- package/dist/beeq/p-600e7c38.entry.js +102 -0
- package/dist/beeq/{p-633319f3.entry.js.map → p-600e7c38.entry.js.map} +1 -1
- package/dist/beeq/p-687da041.js +20 -1
- package/dist/beeq/p-687da041.js.map +1 -1
- package/dist/beeq/p-7089c66a.entry.js +156 -0
- package/dist/beeq/{p-235328ee.entry.js.map → p-7089c66a.entry.js.map} +1 -1
- package/dist/beeq/p-734853f9.entry.js +259 -0
- package/dist/beeq/{p-d2bbae3b.entry.js.map → p-734853f9.entry.js.map} +1 -1
- package/dist/beeq/p-7774eec3.entry.js +135 -0
- package/dist/beeq/{p-255fcbe4.entry.js.map → p-7774eec3.entry.js.map} +1 -1
- package/dist/beeq/p-7b9ff03f.entry.js +437 -0
- package/dist/beeq/p-7b9ff03f.entry.js.map +1 -0
- package/dist/beeq/p-7c06dfec.entry.js +204 -0
- package/dist/beeq/{p-a8cb8989.entry.js.map → p-7c06dfec.entry.js.map} +1 -1
- package/dist/beeq/p-900d4e78.entry.js +102 -0
- package/dist/beeq/{p-b7281046.entry.js.map → p-900d4e78.entry.js.map} +1 -1
- package/dist/beeq/p-911e07b7.entry.js +513 -0
- package/dist/beeq/p-911e07b7.entry.js.map +1 -0
- package/dist/beeq/p-924ebf7d.entry.js +394 -0
- package/dist/beeq/p-924ebf7d.entry.js.map +1 -0
- package/dist/beeq/p-951ba558.js +64 -1
- package/dist/beeq/p-951ba558.js.map +1 -1
- package/dist/beeq/p-99829fc7.js +8 -1
- package/dist/beeq/p-99829fc7.js.map +1 -1
- package/dist/beeq/p-9aa18e2f.entry.js +303 -0
- package/dist/beeq/p-9aa18e2f.entry.js.map +1 -0
- package/dist/beeq/p-a5dc1c94.js +118 -1
- package/dist/beeq/p-a5dc1c94.js.map +1 -1
- package/dist/beeq/p-a8cad5ab.js +5 -1
- package/dist/beeq/p-a8cad5ab.js.map +1 -1
- package/dist/beeq/p-ae94b9f8.entry.js +144 -0
- package/dist/beeq/{p-41bac721.entry.js.map → p-ae94b9f8.entry.js.map} +1 -1
- package/dist/beeq/p-af062402.js +7 -1
- package/dist/beeq/p-af062402.js.map +1 -1
- package/dist/beeq/p-b38e8c5a.entry.js +208 -0
- package/dist/beeq/p-b38e8c5a.entry.js.map +1 -0
- package/dist/beeq/p-b4278945.entry.js +195 -0
- package/dist/beeq/{p-a7b0fd0b.entry.js.map → p-b4278945.entry.js.map} +1 -1
- package/dist/beeq/p-b48545b6.entry.js +248 -0
- package/dist/beeq/{p-4ba2bec7.entry.js.map → p-b48545b6.entry.js.map} +1 -1
- package/dist/beeq/p-c907de72.entry.js +145 -0
- package/dist/beeq/{p-96d7f361.entry.js.map → p-c907de72.entry.js.map} +1 -1
- package/dist/beeq/p-ceb3bb9a.entry.js +187 -0
- package/dist/beeq/p-ceb3bb9a.entry.js.map +1 -0
- package/dist/beeq/p-d3008f60.entry.js +279 -0
- package/dist/beeq/p-d3008f60.entry.js.map +1 -0
- package/dist/beeq/p-d7a88b16.js +87 -1
- package/dist/beeq/p-d7a88b16.js.map +1 -1
- package/dist/beeq/p-e5afdf8c.js +87 -0
- package/dist/beeq/p-e5afdf8c.js.map +1 -0
- package/dist/beeq/p-e7d75b87.entry.js +144 -0
- package/dist/beeq/{p-6e026fad.entry.js.map → p-e7d75b87.entry.js.map} +1 -1
- package/dist/beeq/p-ecd27cf2.js +11 -1
- package/dist/beeq/p-ecd27cf2.js.map +1 -1
- package/dist/beeq/p-f00abfb8.entry.js +145 -0
- package/dist/beeq/{p-90c5851d.entry.js.map → p-f00abfb8.entry.js.map} +1 -1
- package/dist/beeq/p-f8663855.entry.js +329 -0
- package/dist/beeq/{p-e6382462.entry.js.map → p-f8663855.entry.js.map} +1 -1
- package/dist/cjs/assetsPath-7ead23b7.js +89 -0
- package/dist/cjs/assetsPath-7ead23b7.js.map +1 -0
- package/dist/cjs/beeq.cjs.js +2 -2
- package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -2
- package/dist/cjs/bq-accordion.cjs.entry.js +2 -2
- package/dist/cjs/bq-alert.cjs.entry.js +19 -25
- package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-avatar.cjs.entry.js +5 -5
- package/dist/cjs/bq-badge.cjs.entry.js +4 -4
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +6 -6
- package/dist/cjs/bq-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/bq-button_2.cjs.entry.js +16 -10
- package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-card.cjs.entry.js +4 -4
- package/dist/cjs/bq-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/bq-date-picker.cjs.entry.js +10 -7
- package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-dialog.cjs.entry.js +7 -7
- package/dist/cjs/bq-divider.cjs.entry.js +9 -6
- package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-drawer.cjs.entry.js +7 -7
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +3 -3
- package/dist/cjs/bq-empty-state.cjs.entry.js +6 -6
- package/dist/cjs/bq-input.cjs.entry.js +7 -7
- package/dist/cjs/bq-notification.cjs.entry.js +26 -19
- package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-option-group.cjs.entry.js +2 -2
- package/dist/cjs/bq-option-list_2.cjs.entry.js +7 -7
- package/dist/cjs/bq-option.cjs.entry.js +6 -6
- package/dist/cjs/bq-page-title.cjs.entry.js +4 -4
- package/dist/cjs/bq-progress.cjs.entry.js +6 -6
- package/dist/cjs/bq-radio-group.cjs.entry.js +3 -3
- package/dist/cjs/bq-radio.cjs.entry.js +3 -3
- package/dist/cjs/bq-select.cjs.entry.js +21 -15
- package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/bq-side-menu.cjs.entry.js +3 -3
- package/dist/cjs/bq-slider.cjs.entry.js +12 -6
- package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-spinner.cjs.entry.js +6 -6
- package/dist/cjs/bq-status.cjs.entry.js +3 -3
- package/dist/cjs/bq-step-item.cjs.entry.js +9 -6
- package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-steps.cjs.entry.js +3 -3
- package/dist/cjs/bq-switch.cjs.entry.js +4 -4
- package/dist/cjs/bq-tab-group.cjs.entry.js +5 -5
- package/dist/cjs/bq-tab.cjs.entry.js +4 -4
- package/dist/cjs/bq-textarea.cjs.entry.js +5 -5
- package/dist/cjs/bq-toast.cjs.entry.js +29 -31
- package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/{index-e6d59dbb.js → index-1d3aac65.js} +20 -2
- package/dist/cjs/index-1d3aac65.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{isDefined-4f4a320b.js → isDefined-a9dd6d5b.js} +2 -2
- package/dist/cjs/{isDefined-4f4a320b.js.map → isDefined-a9dd6d5b.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/components/alert/bq-alert.js +26 -26
- package/dist/collection/components/alert/bq-alert.js.map +1 -1
- package/dist/collection/components/alert/scss/bq-alert.css +1 -1
- package/dist/collection/components/avatar/bq-avatar.js +3 -3
- package/dist/collection/components/badge/bq-badge.js +2 -2
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js +1 -1
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +3 -3
- package/dist/collection/components/button/bq-button.js +2 -2
- package/dist/collection/components/card/bq-card.js +2 -2
- package/dist/collection/components/checkbox/bq-checkbox.js +2 -2
- package/dist/collection/components/date-picker/bq-date-picker.js +6 -3
- package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
- package/dist/collection/components/dialog/bq-dialog.js +4 -4
- package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
- package/dist/collection/components/divider/bq-divider.js +7 -4
- package/dist/collection/components/divider/bq-divider.js.map +1 -1
- 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/empty-state/bq-empty-state.js +4 -4
- package/dist/collection/components/icon/bq-icon.js +13 -7
- package/dist/collection/components/icon/bq-icon.js.map +1 -1
- package/dist/collection/components/input/bq-input.js +4 -4
- package/dist/collection/components/notification/bq-notification.js +31 -17
- package/dist/collection/components/notification/bq-notification.js.map +1 -1
- package/dist/collection/components/notification/scss/bq-notification.css +1 -1
- package/dist/collection/components/option/bq-option.js +4 -4
- package/dist/collection/components/option-group/bq-option-group.js +1 -1
- package/dist/collection/components/option-list/bq-option-list.js +1 -1
- package/dist/collection/components/page-title/bq-page-title.js +2 -2
- package/dist/collection/components/panel/bq-panel.js +1 -1
- package/dist/collection/components/progress/bq-progress.js +4 -4
- package/dist/collection/components/radio/bq-radio.js +2 -2
- package/dist/collection/components/radio-group/bq-radio-group.js +1 -1
- package/dist/collection/components/select/bq-select.js +18 -12
- package/dist/collection/components/select/bq-select.js.map +1 -1
- package/dist/collection/components/select/scss/bq-select.css +1 -1
- package/dist/collection/components/side-menu/bq-side-menu.js +1 -1
- package/dist/collection/components/slider/bq-slider.js +10 -4
- package/dist/collection/components/slider/bq-slider.js.map +1 -1
- package/dist/collection/components/spinner/bq-spinner.js +4 -4
- package/dist/collection/components/status/bq-status.js +1 -1
- package/dist/collection/components/step-item/bq-step-item.js +7 -4
- package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
- package/dist/collection/components/steps/bq-steps.js +1 -1
- package/dist/collection/components/switch/bq-switch.js +2 -2
- package/dist/collection/components/tab/bq-tab.js +2 -2
- package/dist/collection/components/tab-group/bq-tab-group.js +3 -3
- package/dist/collection/components/tag/bq-tag.js +3 -3
- package/dist/collection/components/tag/scss/bq-tag.css +1 -1
- package/dist/collection/components/textarea/bq-textarea.js +3 -3
- package/dist/collection/components/toast/bq-toast.js +35 -29
- package/dist/collection/components/toast/bq-toast.js.map +1 -1
- package/dist/collection/components/tooltip/bq-tooltip.js +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/shared/utils/assetsPath.js +64 -27
- package/dist/collection/shared/utils/assetsPath.js.map +1 -1
- package/dist/components/assetsPath.js +64 -27
- package/dist/components/assetsPath.js.map +1 -1
- package/dist/components/bq-alert.js +17 -23
- package/dist/components/bq-alert.js.map +1 -1
- package/dist/components/bq-avatar.js +3 -3
- package/dist/components/bq-badge2.js +2 -2
- package/dist/components/bq-breadcrumb-item.js +3 -3
- package/dist/components/bq-breadcrumb.js +1 -1
- package/dist/components/bq-button2.js +2 -2
- package/dist/components/bq-card.js +2 -2
- package/dist/components/bq-checkbox.js +2 -2
- package/dist/components/bq-date-picker.js +7 -4
- package/dist/components/bq-date-picker.js.map +1 -1
- package/dist/components/bq-dialog.js +5 -5
- package/dist/components/bq-divider2.js +7 -4
- package/dist/components/bq-divider2.js.map +1 -1
- package/dist/components/bq-drawer.js +5 -5
- package/dist/components/bq-dropdown2.js +1 -1
- package/dist/components/bq-empty-state.js +4 -4
- package/dist/components/bq-icon2.js +11 -5
- package/dist/components/bq-icon2.js.map +1 -1
- package/dist/components/bq-input.js +4 -4
- package/dist/components/bq-notification.js +25 -17
- package/dist/components/bq-notification.js.map +1 -1
- package/dist/components/bq-option-group.js +1 -1
- package/dist/components/bq-option-list2.js +1 -1
- package/dist/components/bq-option.js +4 -4
- package/dist/components/bq-page-title.js +2 -2
- package/dist/components/bq-panel2.js +1 -1
- package/dist/components/bq-progress.js +4 -4
- package/dist/components/bq-radio-group.js +1 -1
- package/dist/components/bq-radio.js +2 -2
- package/dist/components/bq-select.js +19 -13
- package/dist/components/bq-select.js.map +1 -1
- package/dist/components/bq-side-menu.js +1 -1
- package/dist/components/bq-slider.js +10 -4
- package/dist/components/bq-slider.js.map +1 -1
- package/dist/components/bq-spinner.js +4 -4
- package/dist/components/bq-status.js +1 -1
- package/dist/components/bq-step-item.js +7 -4
- package/dist/components/bq-step-item.js.map +1 -1
- package/dist/components/bq-steps.js +1 -1
- package/dist/components/bq-switch.js +2 -2
- package/dist/components/bq-tab-group.js +3 -3
- package/dist/components/bq-tab.js +2 -2
- package/dist/components/bq-tag2.js +4 -4
- package/dist/components/bq-textarea.js +3 -3
- package/dist/components/bq-toast.js +28 -29
- package/dist/components/bq-toast.js.map +1 -1
- package/dist/components/bq-tooltip2.js +1 -1
- package/dist/esm/assetsPath-c02b0e16.js +86 -0
- package/dist/esm/assetsPath-c02b0e16.js.map +1 -0
- package/dist/esm/beeq.js +3 -3
- package/dist/esm/bq-accordion-group.entry.js +2 -2
- package/dist/esm/bq-accordion.entry.js +2 -2
- package/dist/esm/bq-alert.entry.js +19 -25
- package/dist/esm/bq-alert.entry.js.map +1 -1
- package/dist/esm/bq-avatar.entry.js +5 -5
- package/dist/esm/bq-badge.entry.js +4 -4
- package/dist/esm/bq-breadcrumb-item.entry.js +6 -6
- package/dist/esm/bq-breadcrumb.entry.js +3 -3
- package/dist/esm/bq-button_2.entry.js +16 -10
- package/dist/esm/bq-button_2.entry.js.map +1 -1
- package/dist/esm/bq-card.entry.js +4 -4
- package/dist/esm/bq-checkbox.entry.js +4 -4
- package/dist/esm/bq-date-picker.entry.js +10 -7
- package/dist/esm/bq-date-picker.entry.js.map +1 -1
- package/dist/esm/bq-dialog.entry.js +7 -7
- package/dist/esm/bq-divider.entry.js +9 -6
- package/dist/esm/bq-divider.entry.js.map +1 -1
- package/dist/esm/bq-drawer.entry.js +7 -7
- package/dist/esm/bq-dropdown_2.entry.js +3 -3
- package/dist/esm/bq-empty-state.entry.js +6 -6
- package/dist/esm/bq-input.entry.js +7 -7
- package/dist/esm/bq-notification.entry.js +26 -19
- package/dist/esm/bq-notification.entry.js.map +1 -1
- package/dist/esm/bq-option-group.entry.js +2 -2
- package/dist/esm/bq-option-list_2.entry.js +7 -7
- package/dist/esm/bq-option.entry.js +6 -6
- package/dist/esm/bq-page-title.entry.js +4 -4
- package/dist/esm/bq-progress.entry.js +6 -6
- package/dist/esm/bq-radio-group.entry.js +3 -3
- package/dist/esm/bq-radio.entry.js +3 -3
- package/dist/esm/bq-select.entry.js +22 -16
- package/dist/esm/bq-select.entry.js.map +1 -1
- package/dist/esm/bq-side-menu-item.entry.js +2 -2
- package/dist/esm/bq-side-menu.entry.js +3 -3
- package/dist/esm/bq-slider.entry.js +12 -6
- package/dist/esm/bq-slider.entry.js.map +1 -1
- package/dist/esm/bq-spinner.entry.js +6 -6
- package/dist/esm/bq-status.entry.js +3 -3
- package/dist/esm/bq-step-item.entry.js +9 -6
- package/dist/esm/bq-step-item.entry.js.map +1 -1
- package/dist/esm/bq-steps.entry.js +3 -3
- package/dist/esm/bq-switch.entry.js +4 -4
- package/dist/esm/bq-tab-group.entry.js +5 -5
- package/dist/esm/bq-tab.entry.js +4 -4
- package/dist/esm/bq-textarea.entry.js +5 -5
- package/dist/esm/bq-toast.entry.js +29 -31
- package/dist/esm/bq-toast.entry.js.map +1 -1
- package/dist/esm/bq-tooltip.entry.js +2 -2
- package/dist/esm/{index-efc1c2ef.js → index-f69556fe.js} +20 -2
- package/dist/esm/index-f69556fe.js.map +1 -0
- package/dist/esm/index.js +3 -3
- package/dist/esm/{isDefined-91ae4cd3.js → isDefined-1e676215.js} +2 -2
- package/dist/esm/{isDefined-91ae4cd3.js.map → isDefined-1e676215.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/hydrate/index.js +281 -201
- package/dist/hydrate/index.mjs +281 -201
- package/dist/stencil.config.js +6 -0
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/alert/bq-alert.d.ts +10 -4
- package/dist/types/components/date-picker/bq-date-picker.d.ts +1 -0
- package/dist/types/components/divider/bq-divider.d.ts +1 -0
- package/dist/types/components/icon/bq-icon.d.ts +3 -1
- package/dist/types/components/notification/bq-notification.d.ts +8 -0
- package/dist/types/components/select/bq-select.d.ts +2 -0
- package/dist/types/components/slider/bq-slider.d.ts +2 -0
- package/dist/types/components/step-item/bq-step-item.d.ts +1 -0
- package/dist/types/components/toast/bq-toast.d.ts +5 -0
- package/dist/types/components.d.ts +8 -8
- package/dist/types/index.d.ts +1 -1
- package/dist/types/shared/utils/assetsPath.d.ts +18 -11
- package/package.json +4 -4
- package/dist/beeq/p-235328ee.entry.js +0 -6
- package/dist/beeq/p-255fcbe4.entry.js +0 -6
- package/dist/beeq/p-268dc1e3.entry.js +0 -6
- package/dist/beeq/p-268dc1e3.entry.js.map +0 -1
- package/dist/beeq/p-3aa41d80.entry.js +0 -6
- package/dist/beeq/p-3aa41d80.entry.js.map +0 -1
- package/dist/beeq/p-3b2ce34b.entry.js +0 -6
- package/dist/beeq/p-41bac721.entry.js +0 -6
- package/dist/beeq/p-4739f5c3.entry.js +0 -6
- package/dist/beeq/p-4ba2bec7.entry.js +0 -6
- package/dist/beeq/p-52577f3a.entry.js +0 -6
- package/dist/beeq/p-571b40ff.entry.js +0 -6
- package/dist/beeq/p-606c080c.entry.js +0 -6
- package/dist/beeq/p-606c080c.entry.js.map +0 -1
- package/dist/beeq/p-633319f3.entry.js +0 -6
- package/dist/beeq/p-63ad9702.entry.js +0 -6
- package/dist/beeq/p-6e026fad.entry.js +0 -6
- package/dist/beeq/p-6edc8a33.js +0 -6
- package/dist/beeq/p-6edc8a33.js.map +0 -1
- package/dist/beeq/p-76e714c6.js +0 -7
- package/dist/beeq/p-76e714c6.js.map +0 -1
- package/dist/beeq/p-79b7547b.entry.js +0 -6
- package/dist/beeq/p-7f23cde7.entry.js +0 -6
- package/dist/beeq/p-7f23cde7.entry.js.map +0 -1
- package/dist/beeq/p-8059836c.entry.js +0 -6
- package/dist/beeq/p-8b7c7049.entry.js +0 -6
- package/dist/beeq/p-8b7c7049.entry.js.map +0 -1
- package/dist/beeq/p-90c5851d.entry.js +0 -6
- package/dist/beeq/p-94d62f1b.entry.js +0 -6
- package/dist/beeq/p-96d7f361.entry.js +0 -6
- package/dist/beeq/p-9acfedb8.entry.js +0 -6
- package/dist/beeq/p-9acfedb8.entry.js.map +0 -1
- package/dist/beeq/p-9c6c6646.entry.js +0 -6
- package/dist/beeq/p-9cd26e8d.entry.js +0 -6
- package/dist/beeq/p-9cd26e8d.entry.js.map +0 -1
- package/dist/beeq/p-9f40249f.entry.js +0 -6
- package/dist/beeq/p-a006be9e.entry.js +0 -6
- package/dist/beeq/p-a7b0fd0b.entry.js +0 -6
- package/dist/beeq/p-a8cb8989.entry.js +0 -6
- package/dist/beeq/p-ae8ffb81.entry.js +0 -6
- package/dist/beeq/p-aee056e5.js +0 -6
- package/dist/beeq/p-b7281046.entry.js +0 -6
- package/dist/beeq/p-b90c6de9.entry.js +0 -6
- package/dist/beeq/p-b9544567.entry.js +0 -6
- package/dist/beeq/p-be664fb0.entry.js +0 -6
- package/dist/beeq/p-c9c942e6.entry.js +0 -6
- package/dist/beeq/p-d2bbae3b.entry.js +0 -6
- package/dist/beeq/p-ddb23180.entry.js +0 -6
- package/dist/beeq/p-ddb23180.entry.js.map +0 -1
- package/dist/beeq/p-e6382462.entry.js +0 -6
- package/dist/beeq/p-eab59153.entry.js +0 -6
- package/dist/beeq/p-eab59153.entry.js.map +0 -1
- package/dist/beeq/p-eddb77c7.entry.js +0 -6
- package/dist/cjs/assetsPath-eac0a3bf.js +0 -52
- package/dist/cjs/assetsPath-eac0a3bf.js.map +0 -1
- package/dist/cjs/index-e6d59dbb.js.map +0 -1
- package/dist/esm/assetsPath-ae18c25e.js +0 -49
- package/dist/esm/assetsPath-ae18c25e.js.map +0 -1
- package/dist/esm/index-efc1c2ef.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setRafTimeout","func","wait","args","invokeFunc","timeoutId","setTimeout","clearTimeout","rafId","currentTime","performance","now","cancel","cancelAnimationFrame","handleRequestAnimationFrame","time","delta","requestAnimationFrame","debounce","immediate","debounceHandler","context","this","timeoutHandler","fn","apply","isNil","Object","assign"],"sources":["../../packages/beeq/src/shared/utils/setRafTimeout.ts","../../packages/beeq/src/shared/utils/debounce.ts"],"sourcesContent":["/**\n * Implements setTimeout using requestAnimationFrame. Uses setTimeout if wait is 0.\n *\n * @param {Function} func - The function to timeout.\n * @param {Number} wait - The number of milliseconds to delay.\n * @param {Any[]} args - The arguments of func.\n * @returns {void}\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const setRafTimeout = <TFunc extends (...args: any[]) => void>(\n func: TFunc,\n wait: number,\n ...args: Parameters<TFunc>\n): (() => void) => {\n const invokeFunc = () => func(...args);\n\n if (wait === 0) {\n const timeoutId = setTimeout(invokeFunc, wait);\n return () => clearTimeout(timeoutId);\n } else {\n let rafId: number;\n const currentTime = performance.now();\n\n const cancel = () => cancelAnimationFrame(rafId);\n\n const handleRequestAnimationFrame: FrameRequestCallback = (time) => {\n const delta = time - currentTime;\n\n cancel();\n\n if (delta < wait) {\n rafId = requestAnimationFrame(handleRequestAnimationFrame);\n } else {\n invokeFunc();\n }\n };\n\n rafId = requestAnimationFrame(handleRequestAnimationFrame);\n\n return cancel;\n }\n};\n","import { isNil } from './isNil';\nimport { setRafTimeout } from './setRafTimeout';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TFunction = (...args: any[]) => unknown;\n\ntype TDebounceFnReturn<T> = T extends unknown[] ? (...params: T) => void : (param: T) => void;\nexport type TDebounce<T> = TDebounceFnReturn<T> & { cancel: () => void } extends infer U ? U : never;\n\n/**\n * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed\n * since the last time the debounced function was invoked.\n *\n * @param {Function} func - The function to debounce.\n * @param {Number} wait - The number of milliseconds to delay.\n * @param {Boolean} immediate - If `true`, the function triggers immediately and then waits for the interval before being called again.\n * @return {Function} The new debounced function.\n */\nexport const debounce = <TFunc extends TFunction>(func: TFunc, wait = 0, immediate = false) => {\n let cancel: () => void | undefined;\n\n function debounceHandler(...args: Parameters<typeof func>) {\n cancel?.();\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n function timeoutHandler(fn: TFunc, context: unknown, ...args: Parameters<typeof fn>) {\n fn.apply(context, args);\n }\n\n if (immediate && isNil(cancel)) {\n func.apply(context, args);\n }\n\n cancel = setRafTimeout(timeoutHandler, wait, func, context, ...args);\n }\n\n return Object.assign(debounceHandler, {\n cancel: () => {\n cancel?.();\n },\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["setRafTimeout","func","wait","args","invokeFunc","timeoutId","setTimeout","clearTimeout","rafId","currentTime","performance","now","cancel","cancelAnimationFrame","handleRequestAnimationFrame","time","delta","requestAnimationFrame","debounce","immediate","debounceHandler","context","this","timeoutHandler","fn","apply","isNil","Object","assign"],"sources":["../../packages/beeq/src/shared/utils/setRafTimeout.ts","../../packages/beeq/src/shared/utils/debounce.ts"],"sourcesContent":["/**\n * Implements setTimeout using requestAnimationFrame. Uses setTimeout if wait is 0.\n *\n * @param {Function} func - The function to timeout.\n * @param {Number} wait - The number of milliseconds to delay.\n * @param {Any[]} args - The arguments of func.\n * @returns {void}\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const setRafTimeout = <TFunc extends (...args: any[]) => void>(\n func: TFunc,\n wait: number,\n ...args: Parameters<TFunc>\n): (() => void) => {\n const invokeFunc = () => func(...args);\n\n if (wait === 0) {\n const timeoutId = setTimeout(invokeFunc, wait);\n return () => clearTimeout(timeoutId);\n } else {\n let rafId: number;\n const currentTime = performance.now();\n\n const cancel = () => cancelAnimationFrame(rafId);\n\n const handleRequestAnimationFrame: FrameRequestCallback = (time) => {\n const delta = time - currentTime;\n\n cancel();\n\n if (delta < wait) {\n rafId = requestAnimationFrame(handleRequestAnimationFrame);\n } else {\n invokeFunc();\n }\n };\n\n rafId = requestAnimationFrame(handleRequestAnimationFrame);\n\n return cancel;\n }\n};\n","import { isNil } from './isNil';\nimport { setRafTimeout } from './setRafTimeout';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TFunction = (...args: any[]) => unknown;\n\ntype TDebounceFnReturn<T> = T extends unknown[] ? (...params: T) => void : (param: T) => void;\nexport type TDebounce<T> = TDebounceFnReturn<T> & { cancel: () => void } extends infer U ? U : never;\n\n/**\n * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed\n * since the last time the debounced function was invoked.\n *\n * @param {Function} func - The function to debounce.\n * @param {Number} wait - The number of milliseconds to delay.\n * @param {Boolean} immediate - If `true`, the function triggers immediately and then waits for the interval before being called again.\n * @return {Function} The new debounced function.\n */\nexport const debounce = <TFunc extends TFunction>(func: TFunc, wait = 0, immediate = false) => {\n let cancel: () => void | undefined;\n\n function debounceHandler(...args: Parameters<typeof func>) {\n cancel?.();\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n function timeoutHandler(fn: TFunc, context: unknown, ...args: Parameters<typeof fn>) {\n fn.apply(context, args);\n }\n\n if (immediate && isNil(cancel)) {\n func.apply(context, args);\n }\n\n cancel = setRafTimeout(timeoutHandler, wait, func, context, ...args);\n }\n\n return Object.assign(debounceHandler, {\n cancel: () => {\n cancel?.();\n },\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;MASaA,gBAAgB,CAC3BC,GACAC,MACGC;EAEH,MAAMC,aAAa,MAAMH,KAAQE;EAEjC,IAAID,MAAS,GAAG;IACd,MAAMG,IAAYC,WAAWF,YAAYF;IACzC,OAAO,MAAMK,aAAaF;SACrB;IACL,IAAIG;IACJ,MAAMC,IAAcC,YAAYC;IAEhC,MAAMC,SAAS,MAAMC,qBAAqBL;IAE1C,MAAMM,8BAAqDC;MACzD,MAAMC,IAAQD,IAAON;MAErBG;MAEA,IAAII,IAAQd,GAAM;QAChBM,IAAQS,sBAAsBH;aACzB;QACLV;;;IAIJI,IAAQS,sBAAsBH;IAE9B,OAAOF;;;;;;;;;;;;UCrBEM,WAAW,CAA0BjB,GAAaC,IAAO,GAAGiB,IAAY;EACnF,IAAIP;EAEJ,SAASQ,mBAAmBjB;IAC1BS,MAAM,QAANA,WAAM,aAANA;;QAGA,MAAMS,IAAUC;IAEhB,SAASC,eAAeC,GAAWH,MAAqBlB;MACtDqB,EAAGC,MAAMJ,GAASlB;;IAGpB,IAAIgB,KAAaO,EAAMd,IAAS;MAC9BX,EAAKwB,MAAMJ,GAASlB;;IAGtBS,IAASZ,cAAcuB,gBAAgBrB,GAAMD,GAAMoB,MAAYlB;;EAGjE,OAAOwB,OAAOC,OAAOR,iBAAiB;IACpCR,QAAQ;MACNA,MAAM,QAANA,WAAM,aAANA;AAAU;;AAEZ","ignoreList":[]}
|
package/dist/beeq/p-99829fc7.js
CHANGED
|
@@ -2,5 +2,12 @@
|
|
|
2
2
|
* Built by Endavans
|
|
3
3
|
* © https://beeq.design - Apache 2 License.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Check if the value is null or undefined
|
|
7
|
+
* @param value the value to be checked
|
|
8
|
+
* @returns {boolean} the value is null or undefined
|
|
9
|
+
*/
|
|
10
|
+
const isNil = n => n === null || n === undefined;
|
|
11
|
+
|
|
12
|
+
export { isNil as i };
|
|
6
13
|
//# sourceMappingURL=p-99829fc7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isNil","value","undefined"],"sources":["../../packages/beeq/src/shared/utils/isNil.ts"],"sourcesContent":["/**\n * Check if the value is null or undefined\n * @param value the value to be checked\n * @returns {boolean} the value is null or undefined\n */\nexport const isNil = <T>(value: T): value is null | undefined => {\n return value === null || value === undefined;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["isNil","value","undefined"],"sources":["../../packages/beeq/src/shared/utils/isNil.ts"],"sourcesContent":["/**\n * Check if the value is null or undefined\n * @param value the value to be checked\n * @returns {boolean} the value is null or undefined\n */\nexport const isNil = <T>(value: T): value is null | undefined => {\n return value === null || value === undefined;\n};\n"],"mappings":";;;;;;;;;MAKaA,QAAYC,KAChBA,MAAU,QAAQA,MAAUC","ignoreList":[]}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Endavans
|
|
3
|
+
* © https://beeq.design - Apache 2 License.
|
|
4
|
+
*/
|
|
5
|
+
import { r, c as a, h as e, g as b } from "./p-0c42c08a.js";
|
|
6
|
+
|
|
7
|
+
import "./p-e5afdf8c.js";
|
|
8
|
+
|
|
9
|
+
import { c as t } from "./p-1f3a4359.js";
|
|
10
|
+
|
|
11
|
+
import { d as i } from "./p-951ba558.js";
|
|
12
|
+
|
|
13
|
+
import { i as n } from "./p-99829fc7.js";
|
|
14
|
+
|
|
15
|
+
import { i as s } from "./p-ecd27cf2.js";
|
|
16
|
+
|
|
17
|
+
const o = '::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.pointer-events-auto{pointer-events:auto}.box-content{box-sizing:content-box}.block{display:block}.size-\\[--bq-slider--thumb-size\\]{height:var(--bq-slider--thumb-size);width:var(--bq-slider--thumb-size)}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.rounded-full{border-radius:var(--bq-radius--full)}.border-m{border-width:var(--bq-stroke-m)}.border-solid{border-style:solid}.border-stroke-brand{border-color:var(--bq-stroke--brand)}.transition-\\[background-color\\2c border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.bg-active-ui-brand{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.border-active-stroke-brand{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-active) 20%)}.border-hover-stroke-brand{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.is-full{inline-size:100%}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.thumb{appearance:none;background-color:var(--bq-ui--primary);border-color:var(--bq-stroke--brand);border-radius:var(--bq-radius--full);border-style:solid;border-width:var(--bq-stroke-m);box-sizing:content-box;cursor:pointer;height:var(--bq-slider--thumb-size);pointer-events:auto;transition-duration:.3s;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-slider--thumb-size)}.thumb-focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.thumb-hover{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.thumb-active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%);border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-active) 20%);cursor:grabbing}@-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-slider--size:4px;--bq-slider--border-radius:var(--bq-radius--xs);--bq-slider--thumb-size:13px;--bq-slider--progress-color:var(--bq-ui--brand);--bq-slider--trackarea-color:var(--bq-ui--secondary);display:block;inline-size:100%}input[type=range]::-webkit-slider-thumb{appearance:none;background-color:var(--bq-ui--primary);border-color:var(--bq-stroke--brand);border-radius:var(--bq-radius--full);border-style:solid;border-width:var(--bq-stroke-m);box-sizing:content-box;cursor:pointer;height:var(--bq-slider--thumb-size);pointer-events:auto;transition-duration:.3s;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-slider--thumb-size)}input[type=range]::-webkit-slider-runnable-track{transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,1,1)}input[type=range]:focus-visible::-webkit-slider-thumb{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}input[type=range]:hover::-webkit-slider-thumb{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}input[type=range]:active::-webkit-slider-thumb{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%);border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-active) 20%);cursor:grabbing}input[type=range][disabled]::-webkit-slider-thumb{cursor:not-allowed}input[type=range]::-moz-range-thumb{appearance:none;background-color:var(--bq-ui--primary);border-color:var(--bq-stroke--brand);border-radius:var(--bq-radius--full);border-style:solid;border-width:var(--bq-stroke-m);box-sizing:content-box;cursor:pointer;height:var(--bq-slider--thumb-size);pointer-events:auto;transition-duration:.3s;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-slider--thumb-size)}input[type=range]::-moz-range-track{transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,1,1)}input[type=range]:focus-visible::-moz-range-thumb{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}input[type=range]:hover::-moz-range-thumb{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}input[type=range]:active::-moz-range-thumb{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%);border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-active) 20%);cursor:grabbing}input[type=range][disabled]::-moz-range-thumb{cursor:not-allowed}.-translate-y-1\\/2{--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;--tw-translate-y:-50%;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))}.tabular-nums{--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)}.pointer-events-none{pointer-events:none}.static{position:static}.absolute{position:absolute}.relative{position:relative}.start-0{inset-inline-start:0}.me-xs{margin-inline-end:var(--bq-spacing-xs)}.ms-xs{margin-inline-start:var(--bq-spacing-xs)}.flex{display:flex}.hidden{display:none}.rounded-xs{border-radius:var(--bq-radius--xs)}.bg-\\[--bq-slider--progress-color\\]{background-color:var(--bq-slider--progress-color)}.bg-\\[--bq-slider--trackarea-color\\]{background-color:var(--bq-slider--trackarea-color)}.bg-transparent{background-color:transparent}.text-start{text-align:start}.text-end{text-align:end}.text-s{font-size:var(--bq-font-size--s)}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-text-primary{color:var(--bq-text--primary)}.opacity-60{opacity:.6}.outline-none{outline:2px solid transparent;outline-offset:2px}.bs-1{block-size:.25rem}.is-1{inline-size:.25rem}.is-\\[50\\%\\]{inline-size:50%}.is-fit{inline-size:fit-content}.min-is-8{min-inline-size:2rem}.inset-bs-\\[50\\%\\]{inset-block-start:50%}.\\[font-variant\\:tabular-nums\\]{font-variant:tabular-nums}.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}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&\\:\\:part\\(panel\\)\\]\\:absolute::part(panel){position:absolute}.visible{visibility:visible}.fixed{position:fixed}';
|
|
18
|
+
|
|
19
|
+
const q = o;
|
|
20
|
+
|
|
21
|
+
const d = class {
|
|
22
|
+
constructor(b) {
|
|
23
|
+
r(this, b);
|
|
24
|
+
this.bqChange = a(this, "bqChange", 7);
|
|
25
|
+
this.bqBlur = a(this, "bqBlur", 7);
|
|
26
|
+
this.bqFocus = a(this, "bqFocus", 7);
|
|
27
|
+
// Listeners
|
|
28
|
+
// ==============
|
|
29
|
+
// Public methods API
|
|
30
|
+
// These methods are exposed on the host element.
|
|
31
|
+
// Always use two lines.
|
|
32
|
+
// Public Methods must be async.
|
|
33
|
+
// Requires JSDocs for public API documentation.
|
|
34
|
+
// ===============================================
|
|
35
|
+
// Local methods
|
|
36
|
+
// Internal business logic.
|
|
37
|
+
// These methods cannot be called from the host element.
|
|
38
|
+
// =======================================================
|
|
39
|
+
this.init = () => {
|
|
40
|
+
this.handleGapChange(this.gap);
|
|
41
|
+
this.setState(this.value);
|
|
42
|
+
this.handleStepPropChange();
|
|
43
|
+
};
|
|
44
|
+
this.runUpdates = () => {
|
|
45
|
+
this.updateProgressTrack();
|
|
46
|
+
this.syncInputsValue();
|
|
47
|
+
this.setThumbPosition();
|
|
48
|
+
};
|
|
49
|
+
this.setState = r => {
|
|
50
|
+
const a = this.isRangeType;
|
|
51
|
+
const e = this.stringToObject(r);
|
|
52
|
+
this.minValue = a ? t(e[0], this.min, this.max - this.gap) : e;
|
|
53
|
+
this.maxValue = a ? t(e[1], this.minValue + this.gap, this.max) : this.minValue;
|
|
54
|
+
};
|
|
55
|
+
this.setThumbPosition = () => {
|
|
56
|
+
if (!this.enableTooltip) return;
|
|
57
|
+
// Destructure the returned object from this.thumbPosition() and assign the properties to this.minThumbPosition and this.maxThumbPosition
|
|
58
|
+
({minThumbPosition: this.minThumbPosition, maxThumbPosition: this.maxThumbPosition} = this.thumbPosition());
|
|
59
|
+
};
|
|
60
|
+
this.syncInputsValue = () => {
|
|
61
|
+
var r, a;
|
|
62
|
+
(r = this.inputMinElem) === null || r === void 0 ? void 0 : r.setAttribute("value", this.minValue.toString());
|
|
63
|
+
(a = this.inputMaxElem) === null || a === void 0 ? void 0 : a.setAttribute("value", this.maxValue.toString());
|
|
64
|
+
};
|
|
65
|
+
this.stringToObject = r => s(r) ? JSON.parse(r) : r;
|
|
66
|
+
this.handleInputChange = (r, a) => {
|
|
67
|
+
const e = a.target;
|
|
68
|
+
const b = parseFloat(e.value);
|
|
69
|
+
if (r === "min") {
|
|
70
|
+
this.minValue = this.isRangeType ? Math.min(b, this.maxValue - this.gap) : b;
|
|
71
|
+
} else if (r === "max") {
|
|
72
|
+
this.maxValue = this.isRangeType ? Math.max(b, this.minValue + this.gap) : b;
|
|
73
|
+
}
|
|
74
|
+
// Update the input value to reflect the clamped value
|
|
75
|
+
const t = (r === "min" ? this.minValue : this.maxValue).toString();
|
|
76
|
+
e.value = t;
|
|
77
|
+
e.setAttribute("value", t);
|
|
78
|
+
// Sync the prop value.
|
|
79
|
+
// This will trigger the `@Watch('value')` method and emit the `bqChange` event.
|
|
80
|
+
this.value = this.isRangeType ? [ this.minValue, this.maxValue ] : this.minValue;
|
|
81
|
+
};
|
|
82
|
+
this.calculatePercent = r => {
|
|
83
|
+
const a = Number(this.max) - Number(this.min);
|
|
84
|
+
return r / a * 100;
|
|
85
|
+
};
|
|
86
|
+
this.updateProgressTrack = () => {
|
|
87
|
+
if (!this.progressElem) return;
|
|
88
|
+
// For range type, left starts from the `min` value and width is the difference between `max` and `min`.
|
|
89
|
+
// For non-range type, left starts from 0 and width is the `min` value.
|
|
90
|
+
const r = this.isRangeType ? this.calculatePercent(this.minValue) : 0;
|
|
91
|
+
const a = this.isRangeType ? this.calculatePercent(Number(this.maxValue) - Number(this.minValue)) : this.calculatePercent(this.minValue);
|
|
92
|
+
this.progressElem.style.insetInlineStart = `${r}%`;
|
|
93
|
+
this.progressElem.style.inlineSize = `${a}%`;
|
|
94
|
+
};
|
|
95
|
+
this.calculateThumbPosition = r => {
|
|
96
|
+
if (!this.progressElem) return;
|
|
97
|
+
// Get the width of the track area and the size of the input range thumb
|
|
98
|
+
const a = this.trackElem.getBoundingClientRect().width;
|
|
99
|
+
// We need to also add 4px to the thumb size,
|
|
100
|
+
// this is because the thumb is 2px border (`border-m`)
|
|
101
|
+
const e = parseInt(getComputedStyle(this.el).getPropertyValue("--bq-slider--thumb-size"), 10) + 4;
|
|
102
|
+
const b = a - e;
|
|
103
|
+
return (r - this.min) / (this.max - this.min) * b + e / 2;
|
|
104
|
+
};
|
|
105
|
+
this.thumbPosition = () => {
|
|
106
|
+
const r = this.calculateThumbPosition(this.minValue);
|
|
107
|
+
const a = this.isRangeType ? this.calculateThumbPosition(this.maxValue) : undefined;
|
|
108
|
+
return {
|
|
109
|
+
minThumbPosition: r,
|
|
110
|
+
maxThumbPosition: a
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
this.emitBqChange = () => {
|
|
114
|
+
var r;
|
|
115
|
+
(r = this.debounceBqChange) === null || r === void 0 ? void 0 : r.cancel();
|
|
116
|
+
const a = this.isRangeType ? [ this.minValue, this.maxValue ] : this.minValue;
|
|
117
|
+
this.debounceBqChange = i((() => this.bqChange.emit({
|
|
118
|
+
value: a,
|
|
119
|
+
el: this.el
|
|
120
|
+
})), this.debounceTime);
|
|
121
|
+
this.debounceBqChange();
|
|
122
|
+
};
|
|
123
|
+
this.handleBlur = () => {
|
|
124
|
+
this.bqBlur.emit(this.el);
|
|
125
|
+
};
|
|
126
|
+
this.handleFocus = () => {
|
|
127
|
+
this.bqFocus.emit(this.el);
|
|
128
|
+
};
|
|
129
|
+
this.handleMouseDown = r => {
|
|
130
|
+
this.handleTooltipVisibility(r, "remove");
|
|
131
|
+
};
|
|
132
|
+
this.handleMouseUp = r => {
|
|
133
|
+
this.handleTooltipVisibility(r, "add");
|
|
134
|
+
};
|
|
135
|
+
this.handleTooltipVisibility = (r, a) => {
|
|
136
|
+
if (!this.enableTooltip || this.tooltipAlwaysVisible) return;
|
|
137
|
+
const e = r.target;
|
|
138
|
+
const b = e === this.inputMinElem ? this.minTooltipElem : this.maxTooltipElem;
|
|
139
|
+
b.classList[a]("hidden");
|
|
140
|
+
};
|
|
141
|
+
this.renderLabel = (r, a, b) => e("span", {
|
|
142
|
+
class: {
|
|
143
|
+
[`${b} box-content block text-s font-medium leading-regular text-text-primary is-fit min-is-8 [font-variant:tabular-nums]`]: true,
|
|
144
|
+
hidden: a === "start" ? !this.enableValueIndicator : !this.enableValueIndicator || !this.isRangeType
|
|
145
|
+
},
|
|
146
|
+
part: `label-${a}`
|
|
147
|
+
}, r.toFixed(this.decimalCount));
|
|
148
|
+
this.renderInput = (r, a, b) => {
|
|
149
|
+
// Determine the zIndex value based on the type and the current min and max values.
|
|
150
|
+
const zIndexValue = r => {
|
|
151
|
+
const a = {
|
|
152
|
+
min: this.minValue === this.min && this.maxValue === this.minValue,
|
|
153
|
+
max: this.maxValue === this.max && this.minValue === this.maxValue
|
|
154
|
+
};
|
|
155
|
+
// If the value of both thumbs is the same as the min or max value, set the zIndex to -1
|
|
156
|
+
return a[r] ? "-1" : "0";
|
|
157
|
+
};
|
|
158
|
+
return e("input", {
|
|
159
|
+
type: "range",
|
|
160
|
+
class: {
|
|
161
|
+
"absolute start-0 -translate-y-1/2 cursor-pointer appearance-none bg-transparent outline-none is-full inset-bs-[50%] disabled:cursor-not-allowed": true,
|
|
162
|
+
"pointer-events-none": this.isRangeType
|
|
163
|
+
},
|
|
164
|
+
style: this.isRangeType ? {
|
|
165
|
+
zIndex: zIndexValue(r)
|
|
166
|
+
} : undefined,
|
|
167
|
+
disabled: this.disabled,
|
|
168
|
+
min: this.min,
|
|
169
|
+
max: this.max,
|
|
170
|
+
step: this.step,
|
|
171
|
+
ref: b,
|
|
172
|
+
onInput: a => this.handleInputChange(r, a),
|
|
173
|
+
onBlur: this.handleBlur,
|
|
174
|
+
onFocus: this.handleFocus,
|
|
175
|
+
onMouseDown: this.handleMouseDown,
|
|
176
|
+
onMouseUp: this.handleMouseUp,
|
|
177
|
+
value: a,
|
|
178
|
+
part: `input-${r}`
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
this.renderTooltip = (r, a, b) => e("bq-tooltip", {
|
|
182
|
+
class: {
|
|
183
|
+
"absolute [&::part(panel)]:absolute": true,
|
|
184
|
+
hidden: !this.isTooltipAlwaysVisible
|
|
185
|
+
},
|
|
186
|
+
exportparts: "base,trigger,panel",
|
|
187
|
+
alwaysVisible: true,
|
|
188
|
+
distance: this.enableValueIndicator ? 6 : 16,
|
|
189
|
+
style: {
|
|
190
|
+
insetInlineStart: `${a}px`,
|
|
191
|
+
fontVariant: "tabular-nums"
|
|
192
|
+
},
|
|
193
|
+
ref: b
|
|
194
|
+
}, e("div", {
|
|
195
|
+
class: "absolute bs-1 is-1",
|
|
196
|
+
slot: "trigger"
|
|
197
|
+
}), r.toFixed(this.decimalCount));
|
|
198
|
+
this.minValue = undefined;
|
|
199
|
+
this.maxValue = undefined;
|
|
200
|
+
this.minThumbPosition = undefined;
|
|
201
|
+
this.maxThumbPosition = undefined;
|
|
202
|
+
this.debounceTime = 0;
|
|
203
|
+
this.disabled = false;
|
|
204
|
+
this.enableValueIndicator = false;
|
|
205
|
+
this.gap = 0;
|
|
206
|
+
this.max = 100;
|
|
207
|
+
this.min = 0;
|
|
208
|
+
this.step = 1;
|
|
209
|
+
this.type = "single";
|
|
210
|
+
this.value = undefined;
|
|
211
|
+
this.enableTooltip = false;
|
|
212
|
+
this.tooltipAlwaysVisible = false;
|
|
213
|
+
}
|
|
214
|
+
// Prop lifecycle events
|
|
215
|
+
// =======================
|
|
216
|
+
handleValuePropChange(r) {
|
|
217
|
+
this.setState(r);
|
|
218
|
+
this.emitBqChange();
|
|
219
|
+
}
|
|
220
|
+
handleStepPropChange() {
|
|
221
|
+
this.minValue = Math.round(this.minValue / this.step) * this.step;
|
|
222
|
+
this.maxValue = Math.round(this.maxValue / this.step) * this.step;
|
|
223
|
+
}
|
|
224
|
+
handleGapChange(r) {
|
|
225
|
+
if (!this.isRangeType) return;
|
|
226
|
+
// Use the this.value prop value when the component is initialized
|
|
227
|
+
// Otherwise, use the current this.min and this.max state values
|
|
228
|
+
const a = !n(this.min) && !n(this.max) ? [ this.min, this.max ] : this.stringToObject(this.value);
|
|
229
|
+
// If the gap is less than the min or greater than the max, set it to 0
|
|
230
|
+
this.gap = r < a[0] || r > a[1] ? 0 : r;
|
|
231
|
+
}
|
|
232
|
+
// Component lifecycle events
|
|
233
|
+
// Ordered by their natural call order
|
|
234
|
+
// =====================================
|
|
235
|
+
connectedCallback() {
|
|
236
|
+
this.init();
|
|
237
|
+
}
|
|
238
|
+
componentWillLoad() {
|
|
239
|
+
this.init();
|
|
240
|
+
}
|
|
241
|
+
componentDidLoad() {
|
|
242
|
+
this.runUpdates();
|
|
243
|
+
}
|
|
244
|
+
componentDidUpdate() {
|
|
245
|
+
this.runUpdates();
|
|
246
|
+
}
|
|
247
|
+
get decimalCount() {
|
|
248
|
+
// Return the length of the decimal part of the step value.
|
|
249
|
+
return (this.step % 1).toFixed(10).split(".")[1].replace(/0+$/, "").length;
|
|
250
|
+
}
|
|
251
|
+
get isRangeType() {
|
|
252
|
+
return this.type === "range";
|
|
253
|
+
}
|
|
254
|
+
get isTooltipAlwaysVisible() {
|
|
255
|
+
return this.tooltipAlwaysVisible && this.enableTooltip;
|
|
256
|
+
}
|
|
257
|
+
// render() function
|
|
258
|
+
// Always the last one in the class.
|
|
259
|
+
// ===================================
|
|
260
|
+
render() {
|
|
261
|
+
return e("div", {
|
|
262
|
+
key: "7e5e51fd0071e51d0044aad5806ca6f0830effd6",
|
|
263
|
+
"aria-disabled": this.disabled ? "true" : "false",
|
|
264
|
+
class: {
|
|
265
|
+
"flex is-full": true,
|
|
266
|
+
"cursor-not-allowed opacity-60": this.disabled
|
|
267
|
+
},
|
|
268
|
+
part: "base"
|
|
269
|
+
}, this.renderLabel(this.minValue, "start", "me-xs text-end"), e("div", {
|
|
270
|
+
key: "a634215936756adc80b3b1334be46e043d56e0e5",
|
|
271
|
+
class: "relative is-full",
|
|
272
|
+
part: "container"
|
|
273
|
+
}, e("span", {
|
|
274
|
+
key: "84706af7ff86d2f7552671716e202c5c1cf2726a",
|
|
275
|
+
class: "absolute start-0 -translate-y-1/2 rounded-xs bg-[--bq-slider--trackarea-color] bs-1 is-full inset-bs-[50%]",
|
|
276
|
+
ref: r => this.trackElem = r,
|
|
277
|
+
part: "track-area"
|
|
278
|
+
}), e("span", {
|
|
279
|
+
key: "be9989047cee5228530fe55522341adc818bac2e",
|
|
280
|
+
class: "absolute -translate-y-1/2 rounded-xs bg-[--bq-slider--progress-color] bs-1 is-[50%] inset-bs-[50%]",
|
|
281
|
+
ref: r => this.progressElem = r,
|
|
282
|
+
part: "progress-area"
|
|
283
|
+
}), this.enableTooltip && this.renderTooltip(this.minValue, this.minThumbPosition, (r => this.minTooltipElem = r)), this.renderInput("min", this.minValue, (r => this.inputMinElem = r)), this.enableTooltip && this.isRangeType && this.renderTooltip(this.maxValue, this.maxThumbPosition, (r => this.maxTooltipElem = r)), this.isRangeType && this.renderInput("max", this.maxValue, (r => this.inputMaxElem = r))), this.renderLabel(this.maxValue, "end", "ms-xs text-start"));
|
|
284
|
+
}
|
|
285
|
+
static get delegatesFocus() {
|
|
286
|
+
return true;
|
|
287
|
+
}
|
|
288
|
+
get el() {
|
|
289
|
+
return b(this);
|
|
290
|
+
}
|
|
291
|
+
static get watchers() {
|
|
292
|
+
return {
|
|
293
|
+
value: [ "handleValuePropChange" ],
|
|
294
|
+
step: [ "handleStepPropChange" ],
|
|
295
|
+
gap: [ "handleGapChange" ]
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
d.style = q;
|
|
301
|
+
|
|
302
|
+
export { d as bq_slider };
|
|
303
|
+
//# sourceMappingURL=p-9aa18e2f.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["bqSliderCss","BqSliderStyle0","BqSlider","this","init","handleGapChange","gap","setState","value","handleStepPropChange","runUpdates","updateProgressTrack","syncInputsValue","setThumbPosition","newValue","isRangeType","stringToObject","minValue","clamp","min","max","maxValue","enableTooltip","minThumbPosition","maxThumbPosition","thumbPosition","_a","inputMinElem","setAttribute","toString","_b","inputMaxElem","isString","JSON","parse","handleInputChange","type","event","target","parseFloat","Math","reflectedValue","calculatePercent","totalRange","Number","progressElem","left","width","style","insetInlineStart","inlineSize","calculateThumbPosition","trackAreaWidth","trackElem","getBoundingClientRect","inputThumbSize","parseInt","getComputedStyle","el","getPropertyValue","totalWidth","undefined","emitBqChange","debounceBqChange","cancel","debounce","bqChange","emit","debounceTime","handleBlur","bqBlur","handleFocus","bqFocus","handleMouseDown","handleTooltipVisibility","handleMouseUp","action","tooltipAlwaysVisible","tooltipElem","minTooltipElem","maxTooltipElem","classList","renderLabel","position","css","h","class","hidden","enableValueIndicator","part","toFixed","decimalCount","renderInput","refCallback","zIndexValue","zIndex","disabled","step","ref","onInput","ev","onBlur","onFocus","onMouseDown","onMouseUp","renderTooltip","isTooltipAlwaysVisible","exportparts","alwaysVisible","distance","fontVariant","slot","handleValuePropChange","round","isNil","connectedCallback","componentWillLoad","componentDidLoad","componentDidUpdate","split","replace","length","render","key","elem","input"],"sources":["../../packages/beeq/src/components/slider/scss/bq-slider.scss?tag=bq-slider&encapsulation=shadow","../../packages/beeq/src/components/slider/bq-slider.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Slider styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-slider.variables';\n\n@layer components {\n .thumb {\n @apply pointer-events-auto box-content size-[--bq-slider--thumb-size] cursor-pointer appearance-none rounded-full border-m border-solid border-stroke-brand bg-ui-primary;\n @apply transition-[background-color,border-color,box-shadow] duration-300;\n }\n\n .thumb-focus {\n @apply focus;\n }\n\n .thumb-hover {\n @apply border-hover-stroke-brand;\n }\n\n .thumb-active {\n @apply cursor-grabbing bg-active-ui-brand border-active-stroke-brand;\n }\n}\n\n:host {\n @apply block is-full;\n}\n\n/* ---------------------- Webkit (Chrome, Safari, Edge) --------------------- */\n\ninput[type='range']::-webkit-slider-thumb {\n @apply thumb;\n}\n\ninput[type='range']::-webkit-slider-runnable-track {\n @apply transition-all duration-300 ease-in;\n}\n\ninput[type='range']:focus-visible::-webkit-slider-thumb {\n @apply thumb-focus;\n}\n\ninput[type='range']:hover::-webkit-slider-thumb {\n @apply thumb-hover;\n}\n\ninput[type='range']:active::-webkit-slider-thumb {\n @apply thumb-active;\n}\n\ninput[type='range'][disabled]::-webkit-slider-thumb {\n @apply cursor-not-allowed;\n}\n\n/* ---------------------------- Mozilla (Firefox) --------------------------- */\n\ninput[type='range']::-moz-range-thumb {\n @apply thumb;\n}\n\ninput[type='range']::-moz-range-track {\n @apply transition-all duration-300 ease-in;\n}\n\ninput[type='range']:focus-visible::-moz-range-thumb {\n @apply thumb-focus;\n}\n\ninput[type='range']:hover::-moz-range-thumb {\n @apply thumb-hover;\n}\n\ninput[type='range']:active::-moz-range-thumb {\n @apply thumb-active;\n}\n\ninput[type='range'][disabled]::-moz-range-thumb {\n @apply cursor-not-allowed;\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\n\nimport { TSliderType, TSliderValue } from './bq-slider.types';\nimport { clamp, debounce, isNil, isString, TDebounce } from '../../shared/utils';\n\n/**\n * @part base - The component's base wrapper.\n * @part container - The container of the slider.\n * @part track-area - The track area of the slider.\n * @part progress-area - The progress area of the slider.\n * @part input-min - The input element for the value when the slider type is `single` or the minimum value when the slider type is `range`.\n * @part input-max - The input element for the maximum value.\n * @part label-start - The label for the value when the slider type is `single` or the minimum value when the slider type is `range`.\n * @part label-end - The label for maximum value when the slider type is `range`.\n */\n@Component({\n tag: 'bq-slider',\n styleUrl: './scss/bq-slider.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqSlider {\n // Own Properties\n // ====================\n\n private inputMinElem: HTMLInputElement;\n private inputMaxElem: HTMLInputElement;\n private minTooltipElem: HTMLBqTooltipElement;\n private maxTooltipElem: HTMLBqTooltipElement;\n private progressElem: HTMLSpanElement;\n private trackElem: HTMLSpanElement;\n private debounceBqChange: TDebounce<void>;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSliderElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n /**\n * The `minValue` state is the only value when the slider type is `single`\n * and the minimum value when the slider type is `range`.\n */\n @State() minValue: number;\n /** The `maxValue` state is only used when the slider type is `range`. */\n @State() maxValue: number;\n /** It hold the left position of the Thumb for the value or the minimum value (if the slider type is `range`) */\n @State() minThumbPosition: number;\n /** It hold the left position of the Thumb for the maximum value (if the slider type is `range`) */\n @State() maxThumbPosition: number;\n\n // Public Property API\n // ========================\n\n /** The amount of time, in milliseconds, to wait to trigger the `bqChange` event after each value change. */\n @Prop({ reflect: true }) debounceTime = 0;\n\n /** If `true` the slider is disabled. */\n @Prop({ reflect: true }) disabled? = false;\n\n /** If `true` it will show the value label on a side of the slider track area */\n @Prop({ reflect: true }) enableValueIndicator? = false;\n\n /** A number representing the amount to remain between the minimum and maximum values (only for range type). */\n @Prop({ reflect: true, mutable: true }) gap = 0;\n\n /** A number representing the max value of the slider. */\n @Prop({ reflect: true }) max = 100;\n\n /** A number representing the min value of the slider. */\n @Prop({ reflect: true }) min = 0;\n\n /**\n * A number representing the step of the slider.\n * ⚠️ Please notice that the value (or list of values if the slider type is `range`) will be rounded to the nearest multiple of `step`.\n */\n @Prop({ reflect: true }) step = 1;\n\n /** It defines the type of slider to display */\n @Prop({ reflect: true }) type: TSliderType = 'single';\n\n /**\n * The value of the slider.\n * - If the slider type is `single`, the value is a number.\n * - If the slider type is `range`, the value is an array of two numbers (the first number represents the `min` value and the second number represents the `max` value).\n */\n @Prop({ reflect: true, mutable: true }) value: TSliderValue;\n\n /** If `true`, a tooltip will be shown displaying the progress value */\n @Prop({ reflect: true }) enableTooltip: boolean = false;\n\n /**\n * If `true`, a tooltip will always display the progress value.\n * It relies on enableTooltip and if enableTooltip is false, tooltipAlwaysVisible cannot be true.\n */\n @Prop({ reflect: true }) tooltipAlwaysVisible: boolean = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValuePropChange(newValue: TSliderValue) {\n this.setState(newValue);\n this.emitBqChange();\n }\n\n @Watch('step')\n handleStepPropChange() {\n this.minValue = Math.round(this.minValue / this.step) * this.step;\n this.maxValue = Math.round(this.maxValue / this.step) * this.step;\n }\n\n @Watch('gap')\n handleGapChange(newValue: number) {\n if (!this.isRangeType) return;\n // Use the this.value prop value when the component is initialized\n // Otherwise, use the current this.min and this.max state values\n const value = !isNil(this.min) && !isNil(this.max) ? [this.min, this.max] : this.stringToObject(this.value);\n // If the gap is less than the min or greater than the max, set it to 0\n this.gap = newValue < value[0] || newValue > value[1] ? 0 : newValue;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when change the value on range inputs */\n @Event() bqChange: EventEmitter<{ value: Exclude<TSliderValue, string>; el: HTMLBqSliderElement }>;\n\n /** Handler to be called when the slider loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqSliderElement>;\n\n /** Handler to be called when the slider gets focused */\n @Event() bqFocus: EventEmitter<HTMLBqSliderElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.init();\n }\n\n componentWillLoad() {\n this.init();\n }\n\n componentDidLoad() {\n this.runUpdates();\n }\n\n componentDidUpdate() {\n this.runUpdates();\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 init = () => {\n this.handleGapChange(this.gap);\n this.setState(this.value);\n this.handleStepPropChange();\n };\n\n private runUpdates = () => {\n this.updateProgressTrack();\n this.syncInputsValue();\n this.setThumbPosition();\n };\n\n private setState = (newValue: TSliderValue) => {\n const isRangeType = this.isRangeType;\n const value = this.stringToObject(newValue);\n\n this.minValue = isRangeType ? clamp(value[0], this.min, this.max - this.gap) : value;\n this.maxValue = isRangeType ? clamp(value[1], this.minValue + this.gap, this.max) : this.minValue;\n };\n\n private setThumbPosition = () => {\n if (!this.enableTooltip) return;\n\n // Destructure the returned object from this.thumbPosition() and assign the properties to this.minThumbPosition and this.maxThumbPosition\n ({ minThumbPosition: this.minThumbPosition, maxThumbPosition: this.maxThumbPosition } = this.thumbPosition());\n };\n\n private syncInputsValue = () => {\n this.inputMinElem?.setAttribute('value', this.minValue.toString());\n this.inputMaxElem?.setAttribute('value', this.maxValue.toString());\n };\n\n private stringToObject = (value: TSliderValue) => (isString(value) ? JSON.parse(value) : value);\n\n private handleInputChange = (type: 'min' | 'max', event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n const value = parseFloat(target.value);\n\n if (type === 'min') {\n this.minValue = this.isRangeType ? Math.min(value, this.maxValue - this.gap) : value;\n } else if (type === 'max') {\n this.maxValue = this.isRangeType ? Math.max(value, this.minValue + this.gap) : value;\n }\n\n // Update the input value to reflect the clamped value\n const reflectedValue = (type === 'min' ? this.minValue : this.maxValue).toString();\n target.value = reflectedValue;\n target.setAttribute('value', reflectedValue);\n\n // Sync the prop value.\n // This will trigger the `@Watch('value')` method and emit the `bqChange` event.\n this.value = this.isRangeType ? [this.minValue, this.maxValue] : this.minValue;\n };\n\n private calculatePercent = (value: number) => {\n const totalRange = Number(this.max) - Number(this.min);\n return (value / totalRange) * 100;\n };\n\n private updateProgressTrack = () => {\n if (!this.progressElem) return;\n\n // For range type, left starts from the `min` value and width is the difference between `max` and `min`.\n // For non-range type, left starts from 0 and width is the `min` value.\n const left = this.isRangeType ? this.calculatePercent(this.minValue) : 0;\n const width = this.isRangeType\n ? this.calculatePercent(Number(this.maxValue) - Number(this.minValue))\n : this.calculatePercent(this.minValue);\n\n this.progressElem.style.insetInlineStart = `${left}%`;\n this.progressElem.style.inlineSize = `${width}%`;\n };\n\n private calculateThumbPosition = (value: number): number => {\n if (!this.progressElem) return;\n\n // Get the width of the track area and the size of the input range thumb\n const trackAreaWidth = this.trackElem.getBoundingClientRect().width;\n // We need to also add 4px to the thumb size,\n // this is because the thumb is 2px border (`border-m`)\n const inputThumbSize = parseInt(getComputedStyle(this.el).getPropertyValue('--bq-slider--thumb-size'), 10) + 4;\n const totalWidth = trackAreaWidth - inputThumbSize;\n\n return ((value - this.min) / (this.max - this.min)) * totalWidth + inputThumbSize / 2;\n };\n\n private thumbPosition = (): { minThumbPosition: number; maxThumbPosition?: number } => {\n const minThumbPosition = this.calculateThumbPosition(this.minValue);\n const maxThumbPosition = this.isRangeType ? this.calculateThumbPosition(this.maxValue) : undefined;\n\n return { minThumbPosition, maxThumbPosition };\n };\n\n private emitBqChange = () => {\n this.debounceBqChange?.cancel();\n\n const value: Exclude<TSliderValue, string> = this.isRangeType ? [this.minValue, this.maxValue] : this.minValue;\n this.debounceBqChange = debounce(() => this.bqChange.emit({ value, el: this.el }), this.debounceTime);\n\n this.debounceBqChange();\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 handleMouseDown = (event: MouseEvent) => {\n this.handleTooltipVisibility(event, 'remove');\n };\n\n private handleMouseUp = (event: MouseEvent) => {\n this.handleTooltipVisibility(event, 'add');\n };\n\n private handleTooltipVisibility = (event: MouseEvent, action: 'add' | 'remove') => {\n if (!this.enableTooltip || this.tooltipAlwaysVisible) return;\n\n const target = event.target as HTMLElement;\n const tooltipElem = target === this.inputMinElem ? this.minTooltipElem : this.maxTooltipElem;\n tooltipElem.classList[action]('hidden');\n };\n\n private get decimalCount(): number {\n // Return the length of the decimal part of the step value.\n return (this.step % 1).toFixed(10).split('.')[1].replace(/0+$/, '').length;\n }\n\n private get isRangeType() {\n return this.type === 'range';\n }\n\n private get isTooltipAlwaysVisible(): boolean {\n return this.tooltipAlwaysVisible && this.enableTooltip;\n }\n\n private renderLabel = (value: number, position: 'start' | 'end', css?: string) => {\n return (\n <span\n class={{\n [`${css} box-content block text-s font-medium leading-regular text-text-primary is-fit min-is-8 [font-variant:tabular-nums]`]:\n true,\n hidden: position === 'start' ? !this.enableValueIndicator : !this.enableValueIndicator || !this.isRangeType,\n }}\n part={`label-${position}`}\n >\n {value.toFixed(this.decimalCount)}\n </span>\n );\n };\n\n private renderInput = (type: 'max' | 'min', value: number, refCallback: (input: HTMLInputElement) => void) => {\n // Determine the zIndex value based on the type and the current min and max values.\n const zIndexValue = (type: 'min' | 'max'): string => {\n const zIndex = {\n min: this.minValue === this.min && this.maxValue === this.minValue,\n max: this.maxValue === this.max && this.minValue === this.maxValue,\n };\n\n // If the value of both thumbs is the same as the min or max value, set the zIndex to -1\n return zIndex[type] ? '-1' : '0';\n };\n\n return (\n <input\n type=\"range\"\n class={{\n 'absolute start-0 -translate-y-1/2 cursor-pointer appearance-none bg-transparent outline-none is-full inset-bs-[50%] disabled:cursor-not-allowed':\n true,\n 'pointer-events-none': this.isRangeType,\n }}\n style={this.isRangeType ? { zIndex: zIndexValue(type) } : undefined}\n disabled={this.disabled}\n min={this.min}\n max={this.max}\n step={this.step}\n ref={refCallback}\n onInput={(ev) => this.handleInputChange(type, ev)}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n value={value}\n part={`input-${type}`}\n />\n );\n };\n\n private renderTooltip = (\n value: number,\n thumbPosition: number,\n refCallback: (elem: HTMLBqTooltipElement) => void,\n ): HTMLBqTooltipElement => (\n <bq-tooltip\n class={{\n 'absolute [&::part(panel)]:absolute': true,\n hidden: !this.isTooltipAlwaysVisible,\n }}\n exportparts=\"base,trigger,panel\"\n alwaysVisible={true}\n distance={this.enableValueIndicator ? 6 : 16}\n style={{ insetInlineStart: `${thumbPosition}px`, fontVariant: 'tabular-nums' }}\n ref={refCallback}\n >\n <div class=\"absolute bs-1 is-1\" slot=\"trigger\" />\n {value.toFixed(this.decimalCount)}\n </bq-tooltip>\n );\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div\n aria-disabled={this.disabled ? 'true' : 'false'}\n class={{ 'flex is-full': true, 'cursor-not-allowed opacity-60': this.disabled }}\n part=\"base\"\n >\n {/* LABEL (start) */}\n {this.renderLabel(this.minValue, 'start', 'me-xs text-end')}\n {/* SLIDER */}\n <div class=\"relative is-full\" part=\"container\">\n {/* TRACK AREA */}\n <span\n class=\"absolute start-0 -translate-y-1/2 rounded-xs bg-[--bq-slider--trackarea-color] bs-1 is-full inset-bs-[50%]\"\n ref={(elem) => (this.trackElem = elem)}\n part=\"track-area\"\n />\n {/* PROGRESS AREA */}\n <span\n class=\"absolute -translate-y-1/2 rounded-xs bg-[--bq-slider--progress-color] bs-1 is-[50%] inset-bs-[50%]\"\n ref={(elem) => (this.progressElem = elem)}\n part=\"progress-area\"\n />\n {/* TOOLTIP on top of the value or min value (if the slider type is `range`) */}\n {this.enableTooltip &&\n this.renderTooltip(this.minValue, this.minThumbPosition, (elem) => (this.minTooltipElem = elem))}\n {/* INPUT (Min), used on single type */}\n {this.renderInput('min', this.minValue, (input) => (this.inputMinElem = input))}\n {/* TOOLTIP on top of the max value (if the slider type is `range`) */}\n {this.enableTooltip &&\n this.isRangeType &&\n this.renderTooltip(this.maxValue, this.maxThumbPosition, (elem) => (this.maxTooltipElem = elem))}\n {/* INPUT (Max) */}\n {this.isRangeType && this.renderInput('max', this.maxValue, (input) => (this.inputMaxElem = input))}\n </div>\n {/* LABEL (end) */}\n {this.renderLabel(this.maxValue, 'end', 'ms-xs text-start')}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/beeq/p-a5dc1c94.js
CHANGED
|
@@ -2,5 +2,122 @@
|
|
|
2
2
|
* Built by Endavans
|
|
3
3
|
* © https://beeq.design - Apache 2 License.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
/* -------------------------------------------------------------------------- */
|
|
6
|
+
/* Credits to MikeMcCall for the original implementation */
|
|
7
|
+
/* Github: https://github.com/mmccall10/el-transition */
|
|
8
|
+
/* -------------------------------------------------------------------------- */
|
|
9
|
+
/**
|
|
10
|
+
* Transition an element entry
|
|
11
|
+
*
|
|
12
|
+
* @param element The element to enter
|
|
13
|
+
* @param transitionName The name of the transition
|
|
14
|
+
* @returns A promise that resolves when the transition is complete
|
|
15
|
+
*/
|
|
16
|
+
const enter = async (t, n = null) => {
|
|
17
|
+
t.classList.remove("hidden");
|
|
18
|
+
await transition("enter", t, n);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Transition an element exit
|
|
23
|
+
*
|
|
24
|
+
* @param element The element to leave
|
|
25
|
+
* @param transitionName The name of the transition
|
|
26
|
+
* @returns A promise that resolves when the transition is complete
|
|
27
|
+
*/ const leave = async (t, n = null) => {
|
|
28
|
+
await transition("leave", t, n);
|
|
29
|
+
t.classList.add("hidden");
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Toggle an element entry/exit
|
|
34
|
+
*
|
|
35
|
+
* @param element The element to toggle
|
|
36
|
+
* @param transitionName The name of the transition
|
|
37
|
+
* @returns A promise that resolves when the transition is complete
|
|
38
|
+
*/ const toggle = async (t, n = null) => {
|
|
39
|
+
if (t.classList.contains("hidden")) {
|
|
40
|
+
await enter(t, n);
|
|
41
|
+
} else {
|
|
42
|
+
await leave(t, n);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Perform a transition on an element
|
|
48
|
+
*
|
|
49
|
+
* @param direction The direction of the transition
|
|
50
|
+
* @param element The element to transition
|
|
51
|
+
* @param animation The animation to use
|
|
52
|
+
* @returns A promise that resolves when the transition is complete
|
|
53
|
+
* @internal
|
|
54
|
+
*/ const transition = async (t, n, s) => {
|
|
55
|
+
const {dataset: a} = n;
|
|
56
|
+
const e = s ? `${s}-${t}` : t;
|
|
57
|
+
const o = `transition${t.charAt(0).toUpperCase() + t.slice(1)}`;
|
|
58
|
+
// Get the genesis, start, and end classes
|
|
59
|
+
const c = getDatasetValueOrDefault(a, o, e);
|
|
60
|
+
const i = getDatasetValueOrDefault(a, `${o}Start`, `${e}-start`);
|
|
61
|
+
const r = getDatasetValueOrDefault(a, `${o}End`, `${e}-end`);
|
|
62
|
+
// Add genesis and start classes, then wait for the next frame
|
|
63
|
+
addClasses(n, c);
|
|
64
|
+
addClasses(n, i);
|
|
65
|
+
await nextFrame();
|
|
66
|
+
// Replace start classes with end classes, then wait for the transition to finish
|
|
67
|
+
removeClasses(n, i);
|
|
68
|
+
addClasses(n, r);
|
|
69
|
+
await afterTransition(n);
|
|
70
|
+
// Remove end and genesis classes
|
|
71
|
+
removeClasses(n, r);
|
|
72
|
+
removeClasses(n, c);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Get the value of a dataset key or a default value
|
|
77
|
+
*
|
|
78
|
+
* @param dataset The dataset to get the value from
|
|
79
|
+
* @param key The key to get the value for
|
|
80
|
+
* @param defaultValue The default value to return if the key is not found
|
|
81
|
+
* @returns The value of the dataset key or the default value
|
|
82
|
+
* @internal
|
|
83
|
+
*/ const getDatasetValueOrDefault = (t, n, s) => t[n] ? t[n].split(" ") : [ s ];
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Add classes to an element
|
|
87
|
+
*
|
|
88
|
+
* @param element The element to add the CSS classes to
|
|
89
|
+
* @param classes The classes to add
|
|
90
|
+
* @internal
|
|
91
|
+
*/ const addClasses = (t, n) => {
|
|
92
|
+
t.classList.add(...n);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Remove classes from an element
|
|
97
|
+
*
|
|
98
|
+
* @param element The element to remove the CSS classes from
|
|
99
|
+
* @param classes The classes to remove
|
|
100
|
+
* @internal
|
|
101
|
+
*/ const removeClasses = (t, n) => {
|
|
102
|
+
t.classList.remove(...n);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Wait for the next frame
|
|
107
|
+
* @returns A promise that resolves when the next frame is available
|
|
108
|
+
* @internal
|
|
109
|
+
*/ const nextFrame = () => new Promise((t => {
|
|
110
|
+
requestAnimationFrame((() => {
|
|
111
|
+
requestAnimationFrame((() => t()));
|
|
112
|
+
}));
|
|
113
|
+
}));
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Wait for all animations to finish
|
|
117
|
+
* @param element The element to wait for
|
|
118
|
+
* @returns A promise that resolves when all animations are finished
|
|
119
|
+
* @internal
|
|
120
|
+
*/ const afterTransition = t => Promise.all(t.getAnimations().map((t => t.finished)));
|
|
121
|
+
|
|
122
|
+
export { enter as e, leave as l, toggle as t };
|
|
6
123
|
//# sourceMappingURL=p-a5dc1c94.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["enter","async","element","transitionName","classList","remove","transition","leave","add","toggle","contains","direction","animation","dataset","animationClass","transitionKey","charAt","toUpperCase","slice","genesisClasses","getDatasetValueOrDefault","startClasses","endClasses","addClasses","nextFrame","removeClasses","afterTransition","key","defaultValue","split","classes","Promise","resolve","requestAnimationFrame","all","getAnimations","map","finished"],"sources":["../../packages/beeq/src/shared/utils/transition.ts"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Credits to MikeMcCall for the original implementation */\n/* Github: https://github.com/mmccall10/el-transition */\n/* -------------------------------------------------------------------------- */\n\ninterface HTMLElementWithAnimations extends HTMLElement {\n getAnimations(): Animation[];\n}\n\n/**\n * Transition an element entry\n *\n * @param element The element to enter\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const enter = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n element.classList.remove('hidden');\n await transition('enter', element, transitionName);\n};\n\n/**\n * Transition an element exit\n *\n * @param element The element to leave\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const leave = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n await transition('leave', element, transitionName);\n element.classList.add('hidden');\n};\n\n/**\n * Toggle an element entry/exit\n *\n * @param element The element to toggle\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const toggle = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n if (element.classList.contains('hidden')) {\n await enter(element, transitionName);\n } else {\n await leave(element, transitionName);\n }\n};\n\n/**\n * Perform a transition on an element\n *\n * @param direction The direction of the transition\n * @param element The element to transition\n * @param animation The animation to use\n * @returns A promise that resolves when the transition is complete\n * @internal\n */\nconst transition = async (direction: string, element: HTMLElement, animation: string | null): Promise<void> => {\n const { dataset } = element;\n const animationClass = animation ? `${animation}-${direction}` : direction;\n const transitionKey = `transition${direction.charAt(0).toUpperCase() + direction.slice(1)}`;\n\n // Get the genesis, start, and end classes\n const genesisClasses = getDatasetValueOrDefault(dataset, transitionKey, animationClass);\n const startClasses = getDatasetValueOrDefault(dataset, `${transitionKey}Start`, `${animationClass}-start`);\n const endClasses = getDatasetValueOrDefault(dataset, `${transitionKey}End`, `${animationClass}-end`);\n\n // Add genesis and start classes, then wait for the next frame\n addClasses(element, genesisClasses);\n addClasses(element, startClasses);\n await nextFrame();\n\n // Replace start classes with end classes, then wait for the transition to finish\n removeClasses(element, startClasses);\n addClasses(element, endClasses);\n await afterTransition(element as HTMLElementWithAnimations);\n\n // Remove end and genesis classes\n removeClasses(element, endClasses);\n removeClasses(element, genesisClasses);\n};\n\n/**\n * Get the value of a dataset key or a default value\n *\n * @param dataset The dataset to get the value from\n * @param key The key to get the value for\n * @param defaultValue The default value to return if the key is not found\n * @returns The value of the dataset key or the default value\n * @internal\n */\nconst getDatasetValueOrDefault = (dataset: DOMStringMap, key: string, defaultValue: string): string[] => {\n return dataset[key] ? dataset[key].split(' ') : [defaultValue];\n};\n\n/**\n * Add classes to an element\n *\n * @param element The element to add the CSS classes to\n * @param classes The classes to add\n * @internal\n */\nconst addClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.add(...classes);\n};\n\n/**\n * Remove classes from an element\n *\n * @param element The element to remove the CSS classes from\n * @param classes The classes to remove\n * @internal\n */\nconst removeClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.remove(...classes);\n};\n\n/**\n * Wait for the next frame\n * @returns A promise that resolves when the next frame is available\n * @internal\n */\nconst nextFrame = (): Promise<void> => {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => resolve());\n });\n });\n};\n\n/**\n * Wait for all animations to finish\n * @param element The element to wait for\n * @returns A promise that resolves when all animations are finished\n * @internal\n */\nconst afterTransition = (element: HTMLElementWithAnimations): Promise<Animation[]> => {\n return Promise.all(element.getAnimations().map((animation) => animation.finished));\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["enter","async","element","transitionName","classList","remove","transition","leave","add","toggle","contains","direction","animation","dataset","animationClass","transitionKey","charAt","toUpperCase","slice","genesisClasses","getDatasetValueOrDefault","startClasses","endClasses","addClasses","nextFrame","removeClasses","afterTransition","key","defaultValue","split","classes","Promise","resolve","requestAnimationFrame","all","getAnimations","map","finished"],"sources":["../../packages/beeq/src/shared/utils/transition.ts"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Credits to MikeMcCall for the original implementation */\n/* Github: https://github.com/mmccall10/el-transition */\n/* -------------------------------------------------------------------------- */\n\ninterface HTMLElementWithAnimations extends HTMLElement {\n getAnimations(): Animation[];\n}\n\n/**\n * Transition an element entry\n *\n * @param element The element to enter\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const enter = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n element.classList.remove('hidden');\n await transition('enter', element, transitionName);\n};\n\n/**\n * Transition an element exit\n *\n * @param element The element to leave\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const leave = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n await transition('leave', element, transitionName);\n element.classList.add('hidden');\n};\n\n/**\n * Toggle an element entry/exit\n *\n * @param element The element to toggle\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const toggle = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n if (element.classList.contains('hidden')) {\n await enter(element, transitionName);\n } else {\n await leave(element, transitionName);\n }\n};\n\n/**\n * Perform a transition on an element\n *\n * @param direction The direction of the transition\n * @param element The element to transition\n * @param animation The animation to use\n * @returns A promise that resolves when the transition is complete\n * @internal\n */\nconst transition = async (direction: string, element: HTMLElement, animation: string | null): Promise<void> => {\n const { dataset } = element;\n const animationClass = animation ? `${animation}-${direction}` : direction;\n const transitionKey = `transition${direction.charAt(0).toUpperCase() + direction.slice(1)}`;\n\n // Get the genesis, start, and end classes\n const genesisClasses = getDatasetValueOrDefault(dataset, transitionKey, animationClass);\n const startClasses = getDatasetValueOrDefault(dataset, `${transitionKey}Start`, `${animationClass}-start`);\n const endClasses = getDatasetValueOrDefault(dataset, `${transitionKey}End`, `${animationClass}-end`);\n\n // Add genesis and start classes, then wait for the next frame\n addClasses(element, genesisClasses);\n addClasses(element, startClasses);\n await nextFrame();\n\n // Replace start classes with end classes, then wait for the transition to finish\n removeClasses(element, startClasses);\n addClasses(element, endClasses);\n await afterTransition(element as HTMLElementWithAnimations);\n\n // Remove end and genesis classes\n removeClasses(element, endClasses);\n removeClasses(element, genesisClasses);\n};\n\n/**\n * Get the value of a dataset key or a default value\n *\n * @param dataset The dataset to get the value from\n * @param key The key to get the value for\n * @param defaultValue The default value to return if the key is not found\n * @returns The value of the dataset key or the default value\n * @internal\n */\nconst getDatasetValueOrDefault = (dataset: DOMStringMap, key: string, defaultValue: string): string[] => {\n return dataset[key] ? dataset[key].split(' ') : [defaultValue];\n};\n\n/**\n * Add classes to an element\n *\n * @param element The element to add the CSS classes to\n * @param classes The classes to add\n * @internal\n */\nconst addClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.add(...classes);\n};\n\n/**\n * Remove classes from an element\n *\n * @param element The element to remove the CSS classes from\n * @param classes The classes to remove\n * @internal\n */\nconst removeClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.remove(...classes);\n};\n\n/**\n * Wait for the next frame\n * @returns A promise that resolves when the next frame is available\n * @internal\n */\nconst nextFrame = (): Promise<void> => {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => resolve());\n });\n });\n};\n\n/**\n * Wait for all animations to finish\n * @param element The element to wait for\n * @returns A promise that resolves when all animations are finished\n * @internal\n */\nconst afterTransition = (element: HTMLElementWithAnimations): Promise<Animation[]> => {\n return Promise.all(element.getAnimations().map((animation) => animation.finished));\n};\n"],"mappings":";;;;;;;;;;;;;;;MAgBaA,QAAQC,OAAOC,GAAsBC,IAAgC;EAChFD,EAAQE,UAAUC,OAAO;QACnBC,WAAW,SAASJ,GAASC;AAAe;;;;;;;;UAUvCI,QAAQN,OAAOC,GAAsBC,IAAgC;QAC1EG,WAAW,SAASJ,GAASC;EACnCD,EAAQE,UAAUI,IAAI;AAAS;;;;;;;;UAUpBC,SAASR,OAAOC,GAAsBC,IAAgC;EACjF,IAAID,EAAQE,UAAUM,SAAS,WAAW;UAClCV,MAAME,GAASC;SAChB;UACCI,MAAML,GAASC;;;;;;;;;;;;GAazB,OAAMG,aAAaL,OAAOU,GAAmBT,GAAsBU;EACjE,OAAMC,SAAEA,KAAYX;EACpB,MAAMY,IAAiBF,IAAY,GAAGA,KAAaD,MAAcA;EACjE,MAAMI,IAAgB,aAAaJ,EAAUK,OAAO,GAAGC,gBAAgBN,EAAUO,MAAM;;IAGvF,MAAMC,IAAiBC,yBAAyBP,GAASE,GAAeD;EACxE,MAAMO,IAAeD,yBAAyBP,GAAS,GAAGE,UAAsB,GAAGD;EACnF,MAAMQ,IAAaF,yBAAyBP,GAAS,GAAGE,QAAoB,GAAGD;;IAG/ES,WAAWrB,GAASiB;EACpBI,WAAWrB,GAASmB;QACdG;;IAGNC,cAAcvB,GAASmB;EACvBE,WAAWrB,GAASoB;QACdI,gBAAgBxB;;IAGtBuB,cAAcvB,GAASoB;EACvBG,cAAcvB,GAASiB;AAAe;;;;;;;;;;GAYxC,OAAMC,2BAA2B,CAACP,GAAuBc,GAAaC,MAC7Df,EAAQc,KAAOd,EAAQc,GAAKE,MAAM,OAAO,EAACD;;;;;;;;GAUnD,OAAML,aAAa,CAACrB,GAAsB4B;EACxC5B,EAAQE,UAAUI,OAAOsB;AAAQ;;;;;;;;GAUnC,OAAML,gBAAgB,CAACvB,GAAsB4B;EAC3C5B,EAAQE,UAAUC,UAAUyB;AAAQ;;;;;;GAQtC,OAAMN,YAAY,MACT,IAAIO,SAASC;EAClBC,uBAAsB;IACpBA,uBAAsB,MAAMD;AAAU;AACtC;;;;;;;GAUN,OAAMN,kBAAmBxB,KAChB6B,QAAQG,IAAIhC,EAAQiC,gBAAgBC,KAAKxB,KAAcA,EAAUyB","ignoreList":[]}
|