@beeq/core 1.11.0-beta.2 → 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/beeq/beeq.esm.js +1 -1
- package/dist/beeq/beeq.esm.js.map +1 -1
- package/dist/beeq/bq-accordion-group.entry.esm.js.map +1 -1
- package/dist/beeq/bq-accordion.entry.esm.js.map +1 -1
- package/dist/beeq/bq-alert.entry.esm.js.map +1 -1
- package/dist/beeq/bq-avatar.entry.esm.js.map +1 -1
- package/dist/beeq/bq-badge.entry.esm.js.map +1 -1
- package/dist/beeq/bq-breadcrumb-item.entry.esm.js.map +1 -1
- package/dist/beeq/bq-breadcrumb.entry.esm.js.map +1 -1
- package/dist/beeq/bq-button.bq-icon.entry.esm.js.map +1 -1
- package/dist/beeq/bq-card.entry.esm.js.map +1 -1
- package/dist/beeq/bq-checkbox.entry.esm.js.map +1 -1
- package/dist/beeq/bq-date-picker.entry.esm.js.map +1 -1
- package/dist/beeq/bq-dialog.entry.esm.js.map +1 -1
- package/dist/beeq/bq-divider.entry.esm.js.map +1 -1
- package/dist/beeq/bq-drawer.entry.esm.js.map +1 -1
- package/dist/beeq/bq-dropdown.bq-panel.entry.esm.js.map +1 -1
- package/dist/beeq/bq-empty-state.entry.esm.js.map +1 -1
- package/dist/beeq/bq-input.entry.esm.js.map +1 -1
- package/dist/beeq/bq-notification.entry.esm.js.map +1 -1
- package/dist/beeq/bq-option-group.entry.esm.js.map +1 -1
- package/dist/beeq/bq-option-list.bq-tag.entry.esm.js.map +1 -1
- package/dist/beeq/bq-option.entry.esm.js.map +1 -1
- package/dist/beeq/bq-page-title.entry.esm.js.map +1 -1
- package/dist/beeq/bq-progress.entry.esm.js.map +1 -1
- package/dist/beeq/bq-radio-group.entry.esm.js.map +1 -1
- package/dist/beeq/bq-radio.entry.esm.js.map +1 -1
- package/dist/beeq/bq-select.entry.esm.js.map +1 -1
- package/dist/beeq/bq-side-menu-item.entry.esm.js.map +1 -1
- package/dist/beeq/bq-side-menu.entry.esm.js.map +1 -1
- package/dist/beeq/bq-slider.entry.esm.js.map +1 -1
- package/dist/beeq/bq-spinner.entry.esm.js.map +1 -1
- package/dist/beeq/bq-status.entry.esm.js.map +1 -1
- package/dist/beeq/bq-step-item.entry.esm.js.map +1 -1
- package/dist/beeq/bq-steps.entry.esm.js.map +1 -1
- package/dist/beeq/bq-switch.entry.esm.js.map +1 -1
- package/dist/beeq/bq-tab-group.entry.esm.js.map +1 -1
- package/dist/beeq/bq-tab.entry.esm.js.map +1 -1
- package/dist/beeq/bq-textarea.entry.esm.js.map +1 -1
- package/dist/beeq/bq-toast.entry.esm.js.map +1 -1
- package/dist/beeq/bq-tooltip.entry.esm.js.map +1 -1
- package/dist/beeq/index.esm.js +1 -1
- package/dist/beeq/index.esm.js.map +1 -1
- package/dist/beeq/{p-6eb0f643.entry.js → p-0bf5e367.entry.js} +2 -2
- package/dist/beeq/p-0bf5e367.entry.js.map +1 -0
- package/dist/beeq/{p-acec3250.entry.js → p-16defa87.entry.js} +2 -2
- package/dist/beeq/{p-acec3250.entry.js.map → p-16defa87.entry.js.map} +1 -1
- package/dist/beeq/{p-e1450a16.entry.js → p-17de1ba4.entry.js} +2 -2
- package/dist/beeq/{p-e1450a16.entry.js.map → p-17de1ba4.entry.js.map} +1 -1
- package/dist/beeq/p-1df8fe61.entry.js +6 -0
- package/dist/beeq/p-1df8fe61.entry.js.map +1 -0
- package/dist/beeq/{p-c7471d26.entry.js → p-24749f67.entry.js} +2 -2
- package/dist/beeq/{p-c7471d26.entry.js.map → p-24749f67.entry.js.map} +1 -1
- package/dist/beeq/{p-92fed771.entry.js → p-38add122.entry.js} +2 -2
- package/dist/beeq/p-38add122.entry.js.map +1 -0
- package/dist/beeq/{p-14588d1f.entry.js → p-454fa535.entry.js} +2 -2
- package/dist/beeq/{p-14588d1f.entry.js.map → p-454fa535.entry.js.map} +1 -1
- package/dist/beeq/{p-0e481031.entry.js → p-4647a0fb.entry.js} +2 -2
- package/dist/beeq/{p-0e481031.entry.js.map → p-4647a0fb.entry.js.map} +1 -1
- package/dist/beeq/{p-ba7572f4.entry.js → p-4725a142.entry.js} +2 -2
- package/dist/beeq/{p-ba7572f4.entry.js.map → p-4725a142.entry.js.map} +1 -1
- package/dist/beeq/{p-73054d34.entry.js → p-51351eed.entry.js} +2 -2
- package/dist/beeq/p-51351eed.entry.js.map +1 -0
- package/dist/beeq/{p-84c96afc.entry.js → p-5b0a56e7.entry.js} +2 -2
- package/dist/beeq/p-5b0a56e7.entry.js.map +1 -0
- package/dist/beeq/{p-28788a48.entry.js → p-5c23324d.entry.js} +2 -2
- package/dist/beeq/p-5c23324d.entry.js.map +1 -0
- package/dist/beeq/p-5dd30c4c.entry.js +6 -0
- package/dist/beeq/p-5dd30c4c.entry.js.map +1 -0
- package/dist/beeq/{p-bcd00932.entry.js → p-5df7df5d.entry.js} +2 -2
- package/dist/beeq/p-5df7df5d.entry.js.map +1 -0
- package/dist/beeq/{p-1f8cc15c.entry.js → p-5e8c8e90.entry.js} +2 -2
- package/dist/beeq/{p-1f8cc15c.entry.js.map → p-5e8c8e90.entry.js.map} +1 -1
- package/dist/beeq/{p-b324e939.entry.js → p-662578a2.entry.js} +2 -2
- package/dist/beeq/{p-b324e939.entry.js.map → p-662578a2.entry.js.map} +1 -1
- package/dist/beeq/{p-f82cff9e.entry.js → p-6ae2ca4b.entry.js} +2 -2
- package/dist/beeq/{p-f82cff9e.entry.js.map → p-6ae2ca4b.entry.js.map} +1 -1
- package/dist/beeq/{p-3b1ef7e6.entry.js → p-7ca73c06.entry.js} +2 -2
- package/dist/beeq/p-7ca73c06.entry.js.map +1 -0
- package/dist/beeq/{p-61fe519c.entry.js → p-84e62655.entry.js} +2 -2
- package/dist/beeq/{p-61fe519c.entry.js.map → p-84e62655.entry.js.map} +1 -1
- package/dist/beeq/{p-afecb3f2.entry.js → p-93d6f4f0.entry.js} +2 -2
- package/dist/beeq/p-93d6f4f0.entry.js.map +1 -0
- package/dist/beeq/{p-3424586a.entry.js → p-9585221e.entry.js} +2 -2
- package/dist/beeq/p-9585221e.entry.js.map +1 -0
- package/dist/beeq/{p-9584ff4f.entry.js → p-9e9baa82.entry.js} +2 -2
- package/dist/beeq/{p-9584ff4f.entry.js.map → p-9e9baa82.entry.js.map} +1 -1
- package/dist/beeq/{p-DMf9D39m.js → p-BNvWMggA.js} +2 -2
- package/dist/beeq/{p-DMf9D39m.js.map → p-BNvWMggA.js.map} +1 -1
- package/dist/beeq/p-BOf9EC3C.js +7 -0
- package/dist/beeq/p-BOf9EC3C.js.map +1 -0
- package/dist/beeq/{p-Ci39rxuU.js → p-BRbYDZoo.js} +2 -2
- package/dist/beeq/{p-Ci39rxuU.js.map → p-BRbYDZoo.js.map} +1 -1
- package/dist/beeq/{p-D9ofIraD.js → p-CVw85-WU.js} +1 -1
- package/dist/beeq/p-CVw85-WU.js.map +1 -0
- package/dist/{components/p-C_mtknb1.js → beeq/p-CgIw4Syg.js} +2 -2
- package/dist/beeq/{p-C_mtknb1.js.map → p-CgIw4Syg.js.map} +1 -1
- package/dist/beeq/{p-895454b8.entry.js → p-b1d2e472.entry.js} +2 -2
- package/dist/beeq/{p-895454b8.entry.js.map → p-b1d2e472.entry.js.map} +1 -1
- package/dist/beeq/p-b7efb629.entry.js +6 -0
- package/dist/beeq/{p-4a726c36.entry.js.map → p-b7efb629.entry.js.map} +1 -1
- package/dist/beeq/{p-7bf79e31.entry.js → p-b88b2573.entry.js} +2 -2
- package/dist/beeq/p-b88b2573.entry.js.map +1 -0
- package/dist/beeq/p-bfca08f5.entry.js +6 -0
- package/dist/beeq/p-bfca08f5.entry.js.map +1 -0
- package/dist/beeq/{p-7ecff021.entry.js → p-c63b89d2.entry.js} +2 -2
- package/dist/beeq/p-c63b89d2.entry.js.map +1 -0
- package/dist/beeq/{p-33899839.entry.js → p-ca93325b.entry.js} +2 -2
- package/dist/beeq/{p-33899839.entry.js.map → p-ca93325b.entry.js.map} +1 -1
- package/dist/beeq/{p-db38b20c.entry.js → p-cb0639d5.entry.js} +2 -2
- package/dist/beeq/{p-db38b20c.entry.js.map → p-cb0639d5.entry.js.map} +1 -1
- package/dist/beeq/{p-b40aaef2.entry.js → p-cd53041f.entry.js} +2 -2
- package/dist/beeq/p-cd53041f.entry.js.map +1 -0
- package/dist/beeq/{p-ee9117e4.entry.js → p-d8118f0b.entry.js} +2 -2
- package/dist/beeq/p-d8118f0b.entry.js.map +1 -0
- package/dist/beeq/p-d9c5ab1d.entry.js +6 -0
- package/dist/beeq/p-d9c5ab1d.entry.js.map +1 -0
- package/dist/beeq/{p-25e92d0a.entry.js → p-dc5aa386.entry.js} +2 -2
- package/dist/beeq/{p-25e92d0a.entry.js.map → p-dc5aa386.entry.js.map} +1 -1
- package/dist/beeq/{p-32a07a71.entry.js → p-dcda1181.entry.js} +2 -2
- package/dist/beeq/{p-32a07a71.entry.js.map → p-dcda1181.entry.js.map} +1 -1
- package/dist/beeq/{p-1770fd5b.entry.js → p-e5c12fd7.entry.js} +2 -2
- package/dist/beeq/p-e5c12fd7.entry.js.map +1 -0
- package/dist/beeq/p-eaa8c123.entry.js +6 -0
- package/dist/beeq/p-eaa8c123.entry.js.map +1 -0
- package/dist/beeq/{p-de332995.entry.js → p-eb47c1ae.entry.js} +2 -2
- package/dist/beeq/p-eb47c1ae.entry.js.map +1 -0
- package/dist/beeq/{p-b387860a.entry.js → p-eb6eac82.entry.js} +2 -2
- package/dist/beeq/{p-b387860a.entry.js.map → p-eb6eac82.entry.js.map} +1 -1
- package/dist/beeq/{p-e1ecf09d.entry.js → p-f691f00c.entry.js} +2 -2
- package/dist/beeq/{p-e1ecf09d.entry.js.map → p-f691f00c.entry.js.map} +1 -1
- package/dist/beeq/p-igOoibr-.js +6 -0
- package/dist/beeq/p-igOoibr-.js.map +1 -0
- package/dist/beeq/{p-CVMdKx0v.js → p-lysmVw2n.js} +2 -2
- package/dist/beeq/{p-CVMdKx0v.js.map → p-lysmVw2n.js.map} +1 -1
- package/dist/beeq.html-custom-data.json +20 -29
- package/dist/cjs/beeq.cjs.js +3 -3
- package/dist/cjs/beeq.cjs.js.map +1 -1
- package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -2
- package/dist/cjs/bq-accordion-group.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-accordion.cjs.entry.js +18 -8
- package/dist/cjs/bq-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-alert.cjs.entry.js +13 -10
- package/dist/cjs/bq-alert.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-avatar.cjs.entry.js +6 -6
- package/dist/cjs/bq-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-badge.cjs.entry.js +4 -2
- package/dist/cjs/bq-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +5 -5
- package/dist/cjs/bq-breadcrumb-item.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-breadcrumb.cjs.entry.js +7 -3
- package/dist/cjs/bq-breadcrumb.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-button.bq-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-button_2.cjs.entry.js +14 -10
- package/dist/cjs/bq-card.cjs.entry.js +3 -3
- package/dist/cjs/bq-card.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-checkbox.cjs.entry.js +6 -4
- package/dist/cjs/bq-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-date-picker.cjs.entry.js +70 -25
- package/dist/cjs/bq-date-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-dialog.cjs.entry.js +13 -7
- package/dist/cjs/bq-dialog.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-divider.cjs.entry.js +7 -5
- package/dist/cjs/bq-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-drawer.cjs.entry.js +9 -5
- package/dist/cjs/bq-drawer.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-dropdown.bq-panel.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +13 -7
- package/dist/cjs/bq-empty-state.cjs.entry.js +10 -6
- package/dist/cjs/bq-empty-state.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-input.cjs.entry.js +30 -22
- package/dist/cjs/bq-input.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-notification.cjs.entry.js +11 -5
- package/dist/cjs/bq-notification.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-option-group.cjs.entry.js +3 -3
- package/dist/cjs/bq-option-group.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-option-list.bq-tag.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-option-list_2.cjs.entry.js +8 -6
- package/dist/cjs/bq-option.cjs.entry.js +17 -10
- package/dist/cjs/bq-option.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-page-title.cjs.entry.js +11 -5
- package/dist/cjs/bq-page-title.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-progress.cjs.entry.js +7 -7
- package/dist/cjs/bq-progress.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-radio-group.cjs.entry.js +15 -9
- package/dist/cjs/bq-radio-group.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-radio.cjs.entry.js +4 -2
- package/dist/cjs/bq-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-select.cjs.entry.js +76 -29
- package/dist/cjs/bq-select.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js +7 -5
- package/dist/cjs/bq-side-menu-item.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-side-menu.cjs.entry.js +11 -7
- package/dist/cjs/bq-side-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-slider.cjs.entry.js +25 -12
- package/dist/cjs/bq-slider.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-spinner.cjs.entry.js +12 -12
- package/dist/cjs/bq-spinner.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-status.cjs.entry.js +3 -3
- package/dist/cjs/bq-status.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-step-item.cjs.entry.js +7 -7
- package/dist/cjs/bq-step-item.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-steps.cjs.entry.js +6 -4
- package/dist/cjs/bq-steps.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-switch.cjs.entry.js +9 -5
- package/dist/cjs/bq-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-tab-group.cjs.entry.js +9 -7
- package/dist/cjs/bq-tab-group.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-tab.cjs.entry.js +9 -5
- package/dist/cjs/bq-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-textarea.cjs.entry.js +17 -14
- package/dist/cjs/bq-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-toast.cjs.entry.js +5 -6
- package/dist/cjs/bq-toast.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +9 -3
- package/dist/cjs/bq-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/date-C-h2CBps.js +170 -0
- package/dist/cjs/date-C-h2CBps.js.map +1 -0
- package/dist/cjs/{debounce-DFaAa1Cu.js → debounce-D0tIpUuS.js} +4 -4
- package/dist/cjs/debounce-D0tIpUuS.js.map +1 -0
- package/dist/cjs/{index-B6fG32hZ.js → index-D7RDSS0K.js} +36 -27
- package/dist/cjs/{index-B6fG32hZ.js.map → index-D7RDSS0K.js.map} +1 -1
- package/dist/cjs/{index-DMgUhnao.js → index-g8MkV15i.js} +56 -48
- package/dist/cjs/index-g8MkV15i.js.map +1 -0
- package/dist/cjs/index.cjs.js +7 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{isDefined-K4EcmGLZ.js → isDefined-D24L82z9.js} +3 -3
- package/dist/cjs/{isDefined-K4EcmGLZ.js.map → isDefined-D24L82z9.js.map} +1 -1
- package/dist/cjs/{isString-CHgmxASW.js → isString-CA9m1aBg.js} +3 -3
- package/dist/cjs/{isString-CHgmxASW.js.map → isString-CA9m1aBg.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{stringToArray-DTx7uqZ4.js → stringToArray-B747BpEA.js} +4 -4
- package/dist/cjs/{stringToArray-DTx7uqZ4.js.map → stringToArray-B747BpEA.js.map} +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion/bq-accordion.js +17 -11
- package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
- package/dist/collection/components/accordion/helper/index.js +6 -2
- package/dist/collection/components/accordion/helper/index.js.map +1 -1
- package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
- package/dist/collection/components/accordion-group/bq-accordion-group.js +6 -6
- package/dist/collection/components/alert/bq-alert.js +25 -22
- package/dist/collection/components/alert/bq-alert.js.map +1 -1
- package/dist/collection/components/avatar/bq-avatar.js +16 -16
- package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
- package/dist/collection/components/badge/bq-badge.js +10 -8
- package/dist/collection/components/badge/bq-badge.js.map +1 -1
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js +7 -3
- package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +6 -6
- package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
- package/dist/collection/components/button/bq-button.js +23 -19
- package/dist/collection/components/button/bq-button.js.map +1 -1
- package/dist/collection/components/button/scss/bq-button.css +1 -1
- package/dist/collection/components/card/bq-card.js +5 -5
- package/dist/collection/components/card/bq-card.js.map +1 -1
- package/dist/collection/components/checkbox/bq-checkbox.js +19 -17
- package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
- package/dist/collection/components/date-picker/bq-date-picker.js +103 -61
- package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
- package/dist/collection/components/dialog/bq-dialog.js +20 -14
- package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
- package/dist/collection/components/divider/bq-divider.js +17 -15
- package/dist/collection/components/divider/bq-divider.js.map +1 -1
- package/dist/collection/components/drawer/bq-drawer.js +16 -12
- package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
- package/dist/collection/components/dropdown/bq-dropdown.js +18 -14
- package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
- package/dist/collection/components/empty-state/bq-empty-state.js +10 -6
- package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
- package/dist/collection/components/icon/bq-icon.js +17 -17
- package/dist/collection/components/icon/bq-icon.js.map +1 -1
- package/dist/collection/components/input/bq-input.js +89 -86
- package/dist/collection/components/input/bq-input.js.map +1 -1
- package/dist/collection/components/notification/bq-notification.js +21 -15
- package/dist/collection/components/notification/bq-notification.js.map +1 -1
- package/dist/collection/components/option/bq-option.js +42 -16
- package/dist/collection/components/option/bq-option.js.map +1 -1
- package/dist/collection/components/option/scss/bq-option.css +1 -1
- package/dist/collection/components/option-group/bq-option-group.js +1 -1
- package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
- package/dist/collection/components/option-list/bq-option-list.js +1 -1
- package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
- package/dist/collection/components/page-title/bq-page-title.js +9 -3
- package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
- package/dist/collection/components/panel/bq-panel.js +10 -8
- package/dist/collection/components/panel/bq-panel.js.map +1 -1
- package/dist/collection/components/progress/bq-progress.js +14 -14
- package/dist/collection/components/progress/bq-progress.js.map +1 -1
- package/dist/collection/components/radio/bq-radio.js +16 -14
- package/dist/collection/components/radio/bq-radio.js.map +1 -1
- package/dist/collection/components/radio-group/bq-radio-group.js +25 -19
- package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
- package/dist/collection/components/select/bq-select.js +103 -56
- 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 +12 -8
- package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
- package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
- package/dist/collection/components/side-menu-item/bq-side-menu-item.js +8 -6
- package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
- package/dist/collection/components/slider/bq-slider.js +36 -23
- package/dist/collection/components/slider/bq-slider.js.map +1 -1
- package/dist/collection/components/spinner/bq-spinner.js +14 -14
- package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
- package/dist/collection/components/spinner/bq-spinner.types.js +1 -1
- package/dist/collection/components/spinner/bq-spinner.types.js.map +1 -1
- package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
- package/dist/collection/components/status/bq-status.js +3 -3
- package/dist/collection/components/status/bq-status.js.map +1 -1
- package/dist/collection/components/step-item/bq-step-item.js +11 -11
- package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
- package/dist/collection/components/steps/bq-steps.js +8 -6
- package/dist/collection/components/steps/bq-steps.js.map +1 -1
- package/dist/collection/components/switch/bq-switch.js +22 -18
- package/dist/collection/components/switch/bq-switch.js.map +1 -1
- package/dist/collection/components/tab/bq-tab.js +17 -13
- package/dist/collection/components/tab/bq-tab.js.map +1 -1
- package/dist/collection/components/tab-group/bq-tab-group.js +15 -13
- package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
- package/dist/collection/components/tag/bq-tag.js +19 -17
- package/dist/collection/components/tag/bq-tag.js.map +1 -1
- package/dist/collection/components/tag/helper/index.js.map +1 -1
- package/dist/collection/components/textarea/bq-textarea.js +51 -62
- package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
- package/dist/collection/components/toast/bq-toast.js +11 -12
- package/dist/collection/components/toast/bq-toast.js.map +1 -1
- package/dist/collection/components/tooltip/bq-tooltip.js +14 -8
- package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
- package/dist/collection/services/interfaces/floating-ui.js.map +1 -1
- package/dist/collection/services/libraries/floating-ui/index.js +34 -25
- package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
- package/dist/collection/shared/test-utils/sleep.js +1 -1
- package/dist/collection/shared/test-utils/sleep.js.map +1 -1
- package/dist/collection/shared/utils/date.js +163 -0
- package/dist/collection/shared/utils/date.js.map +1 -0
- package/dist/collection/shared/utils/debounce.js +2 -1
- package/dist/collection/shared/utils/debounce.js.map +1 -1
- package/dist/collection/shared/utils/index.js +1 -0
- package/dist/collection/shared/utils/index.js.map +1 -1
- package/dist/collection/shared/utils/isString.js +1 -1
- package/dist/collection/shared/utils/isString.js.map +1 -1
- package/dist/collection/shared/utils/setRafTimeout.js +0 -1
- package/dist/collection/shared/utils/setRafTimeout.js.map +1 -1
- package/dist/collection/tools/angular-value-accessor-config.js.map +1 -1
- package/dist/collection/tools/generate-custom-elements-json.js +2 -2
- package/dist/collection/tools/generate-custom-elements-json.js.map +1 -1
- package/dist/collection/tools/vue-model-config.js.map +1 -1
- package/dist/components/bq-accordion-group.js +1 -1
- package/dist/components/bq-accordion-group.js.map +1 -1
- package/dist/components/bq-accordion.js +1 -1
- package/dist/components/bq-accordion.js.map +1 -1
- package/dist/components/bq-alert.js +1 -1
- package/dist/components/bq-alert.js.map +1 -1
- package/dist/components/bq-avatar.js +1 -1
- package/dist/components/bq-avatar.js.map +1 -1
- package/dist/components/bq-badge.js +1 -1
- package/dist/components/bq-breadcrumb-item.js +1 -1
- package/dist/components/bq-breadcrumb-item.js.map +1 -1
- package/dist/components/bq-breadcrumb.js +1 -1
- package/dist/components/bq-breadcrumb.js.map +1 -1
- package/dist/components/bq-button.js +1 -1
- package/dist/components/bq-card.js +1 -1
- package/dist/components/bq-card.js.map +1 -1
- package/dist/components/bq-checkbox.js +1 -1
- package/dist/components/bq-checkbox.js.map +1 -1
- package/dist/components/bq-date-picker.js +1 -1
- package/dist/components/bq-date-picker.js.map +1 -1
- package/dist/components/bq-dialog.js +1 -1
- package/dist/components/bq-dialog.js.map +1 -1
- package/dist/components/bq-divider.js +1 -1
- package/dist/components/bq-drawer.js +1 -1
- package/dist/components/bq-drawer.js.map +1 -1
- package/dist/components/bq-dropdown.js +1 -1
- package/dist/components/bq-empty-state.js +1 -1
- package/dist/components/bq-empty-state.js.map +1 -1
- package/dist/components/bq-icon.js +1 -1
- package/dist/components/bq-input.js +1 -1
- package/dist/components/bq-input.js.map +1 -1
- package/dist/components/bq-notification.js +1 -1
- package/dist/components/bq-notification.js.map +1 -1
- package/dist/components/bq-option-group.js +1 -1
- package/dist/components/bq-option-group.js.map +1 -1
- package/dist/components/bq-option-list.js +1 -1
- package/dist/components/bq-option.js +1 -1
- package/dist/components/bq-option.js.map +1 -1
- package/dist/components/bq-page-title.js +1 -1
- package/dist/components/bq-page-title.js.map +1 -1
- package/dist/components/bq-panel.js +1 -1
- package/dist/components/bq-progress.js +1 -1
- package/dist/components/bq-progress.js.map +1 -1
- package/dist/components/bq-radio-group.js +1 -1
- package/dist/components/bq-radio-group.js.map +1 -1
- package/dist/components/bq-radio.js +1 -1
- package/dist/components/bq-radio.js.map +1 -1
- package/dist/components/bq-select.js +1 -1
- package/dist/components/bq-select.js.map +1 -1
- package/dist/components/bq-side-menu-item.js +1 -1
- package/dist/components/bq-side-menu-item.js.map +1 -1
- package/dist/components/bq-side-menu.js +1 -1
- package/dist/components/bq-side-menu.js.map +1 -1
- package/dist/components/bq-slider.js +1 -1
- package/dist/components/bq-slider.js.map +1 -1
- package/dist/components/bq-spinner.js +1 -1
- package/dist/components/bq-spinner.js.map +1 -1
- package/dist/components/bq-status.js +1 -1
- package/dist/components/bq-status.js.map +1 -1
- package/dist/components/bq-step-item.js +1 -1
- package/dist/components/bq-step-item.js.map +1 -1
- package/dist/components/bq-steps.js +1 -1
- package/dist/components/bq-steps.js.map +1 -1
- package/dist/components/bq-switch.js +1 -1
- package/dist/components/bq-switch.js.map +1 -1
- package/dist/components/bq-tab-group.js +1 -1
- package/dist/components/bq-tab-group.js.map +1 -1
- package/dist/components/bq-tab.js +1 -1
- package/dist/components/bq-tab.js.map +1 -1
- package/dist/components/bq-tag.js +1 -1
- package/dist/components/bq-textarea.js +1 -1
- package/dist/components/bq-textarea.js.map +1 -1
- package/dist/components/bq-toast.js +1 -1
- package/dist/components/bq-toast.js.map +1 -1
- package/dist/components/bq-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-DX628oDu.js → p-16lKXCDk.js} +2 -2
- package/dist/components/p-16lKXCDk.js.map +1 -0
- package/dist/components/{p-3U5U42sd.js → p-A6e1tN-B.js} +2 -2
- package/dist/components/p-A6e1tN-B.js.map +1 -0
- package/dist/components/{p-CHy0sCco.js → p-B5XEhmuc.js} +2 -2
- package/dist/components/{p-CHy0sCco.js.map → p-B5XEhmuc.js.map} +1 -1
- package/dist/components/{p-BeCgojET.js → p-BBhidARY.js} +2 -2
- package/dist/components/p-BBhidARY.js.map +1 -0
- package/dist/components/{p-Ci39rxuU.js → p-BRbYDZoo.js} +2 -2
- package/dist/components/{p-D9ofIraD.js → p-CVw85-WU.js} +1 -1
- package/dist/components/p-CVw85-WU.js.map +1 -0
- package/dist/components/p-CXUO6Zub.js +6 -0
- package/dist/components/p-CXUO6Zub.js.map +1 -0
- package/dist/{beeq/p-C_mtknb1.js → components/p-CgIw4Syg.js} +2 -2
- package/dist/components/p-CgIw4Syg.js.map +1 -0
- package/dist/components/{p-B6nMRjwz.js → p-D14_9VoZ.js} +2 -2
- package/dist/components/{p-B6nMRjwz.js.map → p-D14_9VoZ.js.map} +1 -1
- package/dist/components/{p-eLopxgQr.js → p-DGysEMss.js} +2 -2
- package/dist/components/p-DGysEMss.js.map +1 -0
- package/dist/components/p-DHdYy1q5.js +6 -0
- package/dist/components/p-DHdYy1q5.js.map +1 -0
- package/dist/components/{p--r87nWid.js → p-DokL_HVP.js} +2 -2
- package/dist/components/p-DokL_HVP.js.map +1 -0
- package/dist/components/{p-DwLfHxB7.js → p-eRUe5rRq.js} +2 -2
- package/dist/components/p-eRUe5rRq.js.map +1 -0
- package/dist/components/{p-CVMdKx0v.js → p-lysmVw2n.js} +2 -2
- package/dist/components/{p-CVMdKx0v.js.map → p-lysmVw2n.js.map} +1 -1
- package/dist/custom-elements.json +374 -378
- package/dist/esm/beeq.js +4 -4
- package/dist/esm/beeq.js.map +1 -1
- package/dist/esm/bq-accordion-group.entry.js +2 -2
- package/dist/esm/bq-accordion-group.entry.js.map +1 -1
- package/dist/esm/bq-accordion.entry.js +18 -8
- package/dist/esm/bq-accordion.entry.js.map +1 -1
- package/dist/esm/bq-alert.entry.js +13 -10
- package/dist/esm/bq-alert.entry.js.map +1 -1
- package/dist/esm/bq-avatar.entry.js +6 -6
- package/dist/esm/bq-avatar.entry.js.map +1 -1
- package/dist/esm/bq-badge.entry.js +4 -2
- package/dist/esm/bq-badge.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb-item.entry.js +5 -5
- package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/bq-breadcrumb.entry.js +7 -3
- package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
- package/dist/esm/bq-button.bq-icon.entry.js.map +1 -1
- package/dist/esm/bq-button_2.entry.js +14 -10
- package/dist/esm/bq-card.entry.js +3 -3
- package/dist/esm/bq-card.entry.js.map +1 -1
- package/dist/esm/bq-checkbox.entry.js +6 -4
- package/dist/esm/bq-checkbox.entry.js.map +1 -1
- package/dist/esm/bq-date-picker.entry.js +70 -25
- package/dist/esm/bq-date-picker.entry.js.map +1 -1
- package/dist/esm/bq-dialog.entry.js +13 -7
- package/dist/esm/bq-dialog.entry.js.map +1 -1
- package/dist/esm/bq-divider.entry.js +7 -5
- package/dist/esm/bq-divider.entry.js.map +1 -1
- package/dist/esm/bq-drawer.entry.js +9 -5
- package/dist/esm/bq-drawer.entry.js.map +1 -1
- package/dist/esm/bq-dropdown.bq-panel.entry.js.map +1 -1
- package/dist/esm/bq-dropdown_2.entry.js +13 -7
- package/dist/esm/bq-empty-state.entry.js +10 -6
- package/dist/esm/bq-empty-state.entry.js.map +1 -1
- package/dist/esm/bq-input.entry.js +30 -22
- package/dist/esm/bq-input.entry.js.map +1 -1
- package/dist/esm/bq-notification.entry.js +11 -5
- package/dist/esm/bq-notification.entry.js.map +1 -1
- package/dist/esm/bq-option-group.entry.js +3 -3
- package/dist/esm/bq-option-group.entry.js.map +1 -1
- package/dist/esm/bq-option-list.bq-tag.entry.js.map +1 -1
- package/dist/esm/bq-option-list_2.entry.js +8 -6
- package/dist/esm/bq-option.entry.js +17 -10
- package/dist/esm/bq-option.entry.js.map +1 -1
- package/dist/esm/bq-page-title.entry.js +11 -5
- package/dist/esm/bq-page-title.entry.js.map +1 -1
- package/dist/esm/bq-progress.entry.js +7 -7
- package/dist/esm/bq-progress.entry.js.map +1 -1
- package/dist/esm/bq-radio-group.entry.js +15 -9
- package/dist/esm/bq-radio-group.entry.js.map +1 -1
- package/dist/esm/bq-radio.entry.js +4 -2
- package/dist/esm/bq-radio.entry.js.map +1 -1
- package/dist/esm/bq-select.entry.js +76 -29
- package/dist/esm/bq-select.entry.js.map +1 -1
- package/dist/esm/bq-side-menu-item.entry.js +7 -5
- package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
- package/dist/esm/bq-side-menu.entry.js +11 -7
- package/dist/esm/bq-side-menu.entry.js.map +1 -1
- package/dist/esm/bq-slider.entry.js +25 -12
- package/dist/esm/bq-slider.entry.js.map +1 -1
- package/dist/esm/bq-spinner.entry.js +12 -12
- package/dist/esm/bq-spinner.entry.js.map +1 -1
- package/dist/esm/bq-status.entry.js +3 -3
- package/dist/esm/bq-status.entry.js.map +1 -1
- package/dist/esm/bq-step-item.entry.js +7 -7
- package/dist/esm/bq-step-item.entry.js.map +1 -1
- package/dist/esm/bq-steps.entry.js +6 -4
- package/dist/esm/bq-steps.entry.js.map +1 -1
- package/dist/esm/bq-switch.entry.js +9 -5
- package/dist/esm/bq-switch.entry.js.map +1 -1
- package/dist/esm/bq-tab-group.entry.js +9 -7
- package/dist/esm/bq-tab-group.entry.js.map +1 -1
- package/dist/esm/bq-tab.entry.js +9 -5
- package/dist/esm/bq-tab.entry.js.map +1 -1
- package/dist/esm/bq-textarea.entry.js +17 -14
- package/dist/esm/bq-textarea.entry.js.map +1 -1
- package/dist/esm/bq-toast.entry.js +5 -6
- package/dist/esm/bq-toast.entry.js.map +1 -1
- package/dist/esm/bq-tooltip.entry.js +9 -3
- package/dist/esm/bq-tooltip.entry.js.map +1 -1
- package/dist/esm/date-igOoibr-.js +167 -0
- package/dist/esm/date-igOoibr-.js.map +1 -0
- package/dist/esm/{debounce-cjfQylgg.js → debounce-gVeuteEJ.js} +4 -4
- package/dist/esm/debounce-gVeuteEJ.js.map +1 -0
- package/dist/esm/{index-B2Q_ACEf.js → index-BOf9EC3C.js} +56 -48
- package/dist/esm/index-BOf9EC3C.js.map +1 -0
- package/dist/esm/{index-C_mtknb1.js → index-CgIw4Syg.js} +36 -27
- package/dist/esm/{index-C_mtknb1.js.map → index-CgIw4Syg.js.map} +1 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{isDefined-DjmcVyb_.js → isDefined-DvmFa_bD.js} +3 -3
- package/dist/esm/{isDefined-DjmcVyb_.js.map → isDefined-DvmFa_bD.js.map} +1 -1
- package/dist/esm/{isString-CVMdKx0v.js → isString-lysmVw2n.js} +3 -3
- package/dist/esm/{isString-CVMdKx0v.js.map → isString-lysmVw2n.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{stringToArray-DD7NecAG.js → stringToArray-CIJArUww.js} +4 -4
- package/dist/esm/{stringToArray-DD7NecAG.js.map → stringToArray-CIJArUww.js.map} +1 -1
- package/dist/hydrate/index.d.ts +2 -0
- package/dist/hydrate/index.js +905 -519
- package/dist/hydrate/index.mjs +905 -519
- package/dist/jest.config.js +3 -0
- package/dist/jest.config.js.map +1 -1
- package/dist/stencil.config.js +3 -2
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/date-picker/bq-date-picker.d.ts +5 -2
- package/dist/types/components/dropdown/bq-dropdown.d.ts +1 -0
- package/dist/types/components/icon/bq-icon.d.ts +1 -1
- package/dist/types/components/input/bq-input.d.ts +10 -11
- package/dist/types/components/option/bq-option.d.ts +4 -2
- package/dist/types/components/select/bq-select.d.ts +1 -0
- package/dist/types/components/spinner/bq-spinner.types.d.ts +1 -1
- package/dist/types/components/step-item/bq-step-item.d.ts +1 -1
- package/dist/types/components/tag/helper/index.d.ts +1 -1
- package/dist/types/components/textarea/bq-textarea.d.ts +5 -9
- package/dist/types/components.d.ts +40 -42
- package/dist/types/global.d.ts +1 -4
- package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/.stencil/packages/beeq/jest.config.d.ts +3 -0
- package/dist/types/services/interfaces/floating-ui.d.ts +1 -1
- package/dist/types/services/libraries/floating-ui/index.d.ts +5 -2
- package/dist/types/shared/test-utils/setProperties.d.ts +1 -1
- package/dist/types/shared/test-utils/sleep.d.ts +1 -1
- package/dist/types/shared/utils/date.d.ts +18 -0
- package/dist/types/shared/utils/debounce.d.ts +1 -1
- package/dist/types/shared/utils/index.d.ts +1 -0
- package/dist/types/shared/utils/setRafTimeout.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +35 -11
- package/dist/types/tools/angular-value-accessor-config.d.ts +1 -1
- package/dist/types/tools/vue-model-config.d.ts +1 -1
- package/package.json +4 -4
- package/dist/beeq/p-1770fd5b.entry.js.map +0 -1
- package/dist/beeq/p-28788a48.entry.js.map +0 -1
- package/dist/beeq/p-3424586a.entry.js.map +0 -1
- package/dist/beeq/p-3b1ef7e6.entry.js.map +0 -1
- package/dist/beeq/p-4a726c36.entry.js +0 -6
- package/dist/beeq/p-61065a1c.entry.js +0 -6
- package/dist/beeq/p-61065a1c.entry.js.map +0 -1
- package/dist/beeq/p-6eb0f643.entry.js.map +0 -1
- package/dist/beeq/p-73054d34.entry.js.map +0 -1
- package/dist/beeq/p-7bf79e31.entry.js.map +0 -1
- package/dist/beeq/p-7ecff021.entry.js.map +0 -1
- package/dist/beeq/p-84c96afc.entry.js.map +0 -1
- package/dist/beeq/p-92fed771.entry.js.map +0 -1
- package/dist/beeq/p-B2Q_ACEf.js +0 -7
- package/dist/beeq/p-B2Q_ACEf.js.map +0 -1
- package/dist/beeq/p-D9ofIraD.js.map +0 -1
- package/dist/beeq/p-afecb3f2.entry.js.map +0 -1
- package/dist/beeq/p-b40aaef2.entry.js.map +0 -1
- package/dist/beeq/p-bcd00932.entry.js.map +0 -1
- package/dist/beeq/p-c737da48.entry.js +0 -6
- package/dist/beeq/p-c737da48.entry.js.map +0 -1
- package/dist/beeq/p-dc188227.entry.js +0 -6
- package/dist/beeq/p-dc188227.entry.js.map +0 -1
- package/dist/beeq/p-de332995.entry.js.map +0 -1
- package/dist/beeq/p-e2aec11c.entry.js +0 -6
- package/dist/beeq/p-e2aec11c.entry.js.map +0 -1
- package/dist/beeq/p-e5e294ad.entry.js +0 -6
- package/dist/beeq/p-e5e294ad.entry.js.map +0 -1
- package/dist/beeq/p-ee9117e4.entry.js.map +0 -1
- package/dist/cjs/debounce-DFaAa1Cu.js.map +0 -1
- package/dist/cjs/index-DMgUhnao.js.map +0 -1
- package/dist/components/p--r87nWid.js.map +0 -1
- package/dist/components/p-3U5U42sd.js.map +0 -1
- package/dist/components/p-BeCgojET.js.map +0 -1
- package/dist/components/p-C_mtknb1.js.map +0 -1
- package/dist/components/p-D5Ui9x2e.js +0 -6
- package/dist/components/p-D5Ui9x2e.js.map +0 -1
- package/dist/components/p-D8zAe4nK.js +0 -6
- package/dist/components/p-D8zAe4nK.js.map +0 -1
- package/dist/components/p-D9ofIraD.js.map +0 -1
- package/dist/components/p-DX628oDu.js.map +0 -1
- package/dist/components/p-DwLfHxB7.js.map +0 -1
- package/dist/components/p-eLopxgQr.js.map +0 -1
- package/dist/esm/debounce-cjfQylgg.js.map +0 -1
- package/dist/esm/index-B2Q_ACEf.js.map +0 -1
- /package/dist/components/{p-Ci39rxuU.js.map → p-BRbYDZoo.js.map} +0 -0
- /package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/.stencil/packages/beeq/stencil.config.d.ts +0 -0
- /package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/.stencil/tailwind.config.d.ts +0 -0
package/dist/beeq/beeq.esm.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Built by Endavans
|
|
3
3
|
* © https://beeq.design - Apache 2 License.
|
|
4
4
|
*/
|
|
5
|
-
import{p as e,H as a,g as o,b as n}from"./p-B2Q_ACEf.js";export{s as setNonce}from"./p-B2Q_ACEf.js";var l=()=>{{i(a.prototype)}const o=import.meta.url;const n={};if(o!==""){n.resourcesUrl=new URL(".",o).href}return e(n)};var i=e=>{const a=e.cloneNode;e.cloneNode=function(e){if(this.nodeName==="TEMPLATE"){return a.call(this,e)}const o=a.call(this,false);const n=this.childNodes;if(e){for(let e=0;e<n.length;e++){if(n[e].nodeType!==2){o.appendChild(n[e].cloneNode(true))}}}return o}};l().then((async e=>{await o();return n(JSON.parse('[["p-1770fd5b",[[337,"bq-select",{"autofocus":[516],"clearButtonLabel":[513,"clear-button-label"],"debounceTime":[1538,"debounce-time"],"disableScrollLock":[516,"disable-scroll-lock"],"disabled":[1028],"disableClear":[516,"disable-clear"],"distance":[514],"form":[513],"keepOpenOnSelect":[516,"keep-open-on-select"],"name":[513],"maxTagsVisible":[1026,"max-tags-visible"],"multiple":[516],"open":[1540],"panelHeight":[513,"panel-height"],"placeholder":[513],"placement":[513],"readonly":[516],"required":[516],"sameWidth":[516,"same-width"],"skidding":[514],"strategy":[513],"validationStatus":[513,"validation-status"],"value":[1537],"displayValue":[32],"hasHelperText":[32],"selectedOptions":[32],"hasLabel":[32],"hasPrefix":[32],"hasSuffix":[32],"hasValue":[32],"clear":[64],"reset":[64]},[[2,"bqOpen","handleOpenChange"],[2,"bqFocus","stopOptionFocusBlurPropagation"],[2,"bqBlur","stopOptionFocusBlurPropagation"],[11,"scroll","handleScrollEvent"]],{"value":["handleValueChange"]}]]],["p-e5e294ad",[[337,"bq-date-picker",{"autofocus":[516],"clearButtonLabel":[513,"clear-button-label"],"disableClear":[516,"disable-clear"],"disabled":[1028],"distance":[514],"firstDayOfWeek":[514,"first-day-of-week"],"formatOptions":[16,"format-options"],"form":[513],"formValidationMessage":[1025,"form-validation-message"],"isDateDisallowed":[16,"is-date-disallowed"],"locale":[513],"max":[513],"min":[513],"months":[514],"monthsPerView":[513,"months-per-view"],"name":[513],"open":[1540],"panelHeight":[1537,"panel-height"],"placeholder":[513],"placement":[513],"required":[516],"skidding":[514],"showOutsideDays":[516,"show-outside-days"],"strategy":[513],"tentative":[1537],"type":[513],"validationStatus":[513,"validation-status"],"value":[1537],"isCallyLoaded":[32],"focusedDate":[32],"displayDate":[32],"hasLabel":[32],"hasPrefix":[32],"hasRangeEnd":[32],"hasSuffix":[32],"hasValue":[32],"clear":[64]},[[2,"bqOpen","handleOpenChange"],[18,"click","handleClickOutside"]],{"value":["handleValueChange"],"type":["checkPropValues"]}]]],["p-3424586a",[[257,"bq-drawer",{"enableBackdrop":[516,"enable-backdrop"],"closeOnClickOutside":[516,"close-on-click-outside"],"closeOnEsc":[516,"close-on-esc"],"open":[1540],"placement":[1537],"position":[1537],"hasFooter":[32],"hasIcon":[32],"hide":[64],"show":[64]},[[11,"mousedown","handleMouseClick"],[10,"keydown","handleKeyDown"]],{"open":["handleOpenChange"],"placement":["handlePlacementChange"],"position":["handlePositionChange"]}]]],["p-3b1ef7e6",[[257,"bq-alert",{"autoDismiss":[516,"auto-dismiss"],"border":[513],"disableClose":[516,"disable-close"],"hideIcon":[516,"hide-icon"],"open":[1540],"time":[514],"type":[513],"sticky":[516],"hasContent":[32],"hasFooter":[32],"hide":[64],"show":[64]},null,{"autoDismiss":["handleTimeout"],"time":["handleTimeout"],"open":["handleOpenChange"],"type":["checkPropValues"]}]]],["p-7bf79e31",[[257,"bq-dialog",{"border":[513],"disableBackdrop":[516,"disable-backdrop"],"disableCloseEscKeydown":[516,"disable-close-esc-keydown"],"disableCloseClickOutside":[516,"disable-close-click-outside"],"footerAppearance":[513,"footer-appearance"],"hideCloseButton":[516,"hide-close-button"],"open":[1540],"size":[1537],"hasContent":[32],"hasFooter":[32],"show":[64],"hide":[64],"cancel":[64]},[[11,"mousedown","handleMouseClick"],[10,"keydown","handleKeyDown"]],{"footerAppearance":["checkPropValues"],"size":["checkPropValues"],"open":["handleOpenChange"]}]]],["p-ee9117e4",[[337,"bq-input",{"autocapitalize":[513],"autocomplete":[513],"autocorrect":[513],"autofocus":[516],"clearButtonLabel":[513,"clear-button-label"],"debounceTime":[1538,"debounce-time"],"disabled":[1028],"disableClear":[516,"disable-clear"],"form":[513],"formValidationMessage":[1025,"form-validation-message"],"inputmode":[1],"max":[520],"maxlength":[514],"min":[520],"minlength":[514],"name":[513],"pattern":[513],"placeholder":[513],"readonly":[516],"required":[516],"step":[520],"type":[513],"validationStatus":[513,"validation-status"],"value":[1544],"hasHelperText":[32],"hasLabel":[32],"hasPrefix":[32],"hasSuffix":[32],"hasValue":[32]},null,{"value":["handleValueChange"]}]]],["p-84c96afc",[[257,"bq-notification",{"autoDismiss":[516,"auto-dismiss"],"border":[513],"disableClose":[516,"disable-close"],"hideIcon":[516,"hide-icon"],"open":[1540],"time":[514],"type":[513],"hasContent":[32],"hasFooter":[32],"notificationPortal":[32],"hide":[64],"show":[64],"toast":[64]},[[0,"bqAfterClose","afterNotificationClose"]],{"autoDismiss":["handleTimeout"],"time":["handleTimeout"],"open":["handleOpenChange"],"type":["checkPropValues"]}]]],["p-e2aec11c",[[257,"bq-accordion",{"appearance":[1537],"disabled":[516],"expanded":[1540],"noAnimation":[516,"no-animation"],"rotate":[516],"size":[1537],"hasPrefix":[32],"hasSuffix":[32]},[[0,"accordionTransitionEnd","onAccordionTransitionEnd"]],{"size":["checkPropValues"],"expanded":["handleExpandedChange"],"disabled":["handleDisabledChange"],"noAnimation":["handleJsAnimation"]}]]],["p-b324e939",[[257,"bq-empty-state",{"size":[1537],"hasBody":[32],"hasFooter":[32]},null,{"size":["checkPropValues"]}]]],["p-25e92d0a",[[257,"bq-progress",{"borderShape":[513,"border-shape"],"enableTooltip":[516,"enable-tooltip"],"indeterminate":[516],"label":[516],"thickness":[513],"type":[513],"value":[1538]},null,{"borderShape":["handleTypePropChange"],"thickness":["handleTypePropChange"],"type":["handleTypePropChange"],"value":["handleValuePropChange"]}]]],["p-92fed771",[[257,"bq-side-menu-item",{"active":[4],"collapse":[4],"disabled":[4],"textContent":[32]}]]],["p-33899839",[[337,"bq-slider",{"debounceTime":[514,"debounce-time"],"disabled":[516],"enableValueIndicator":[516,"enable-value-indicator"],"gap":[1538],"max":[514],"min":[514],"name":[513],"step":[514],"type":[513],"value":[1544],"enableTooltip":[516,"enable-tooltip"],"tooltipAlwaysVisible":[516,"tooltip-always-visible"],"minValue":[32],"maxValue":[32],"minThumbPosition":[32],"maxThumbPosition":[32]},null,{"value":["handleValuePropChange"],"step":["handleStepPropChange"],"gap":["handleGapChange"]}]]],["p-895454b8",[[257,"bq-status",{"type":[513]},null,{"type":["checkPropValues"]}]]],["p-f82cff9e",[[257,"bq-steps",{"dividerColor":[513,"divider-color"],"size":[513],"type":[513],"setCurrentStepItem":[64]},null,{"type":["checkPropValues"],"size":["checkPropValues"]}]]],["p-ba7572f4",[[337,"bq-switch",{"backgroundOnHover":[516,"background-on-hover"],"checked":[1540],"disabled":[516],"formValidationMessage":[1025,"form-validation-message"],"fullWidth":[516,"full-width"],"innerLabel":[513,"inner-label"],"justifyContent":[513,"justify-content"],"name":[513],"required":[516],"reverseOrder":[516,"reverse-order"],"value":[513],"hasLabel":[32],"vClick":[64],"vFocus":[64],"vBlur":[64]},null,{"required":["handleRequiredChange"]}]]],["p-7ecff021",[[257,"bq-toast",{"border":[513],"type":[1537],"placement":[1537],"hideIcon":[1540,"hide-icon"],"open":[1540],"time":[514],"toastPortal":[32],"show":[64],"hide":[64],"toast":[64]},[[0,"bqHide","onNotificationHide"]],{"type":["checkPropValues"],"placement":["checkPropValues"],"time":["handleTimeChange"],"open":["handleOpenChange"]}]]],["p-e1ecf09d",[[257,"bq-accordion-group",{"appearance":[1537],"expandAll":[516,"expand-all"],"noAnimation":[516,"no-animation"],"multiple":[516],"size":[1537]},[[1,"bqClick","onBqClick"]],{"appearance":["checkPropValues"],"expandAll":["checkPropValues"],"noAnimation":["checkPropValues"],"size":["checkPropValues"]}]]],["p-b387860a",[[257,"bq-avatar",{"altText":[513,"alt-text"],"image":[513],"label":[513],"initials":[513],"shape":[513],"size":[1537],"hasError":[32]},null,{"image":["handleImagePropChange"],"shape":["checkPropValues"],"size":["checkPropValues","onInitialsChange"],"initials":["onInitialsChange"]}]]],["p-9584ff4f",[[257,"bq-breadcrumb",{"label":[513]}]]],["p-0e481031",[[257,"bq-breadcrumb-item",{"href":[513],"target":[513],"rel":[513]}]]],["p-32a07a71",[[257,"bq-card",{"type":[513],"border":[513]},null,{"type":["checkPropValue"]}]]],["p-1f8cc15c",[[337,"bq-checkbox",{"backgroundOnHover":[516,"background-on-hover"],"formId":[513,"form-id"],"formValidationMessage":[1025,"form-validation-message"],"checked":[1540],"disabled":[516],"indeterminate":[1540],"name":[513],"required":[516],"value":[513],"vClick":[64],"vFocus":[64],"vBlur":[64]},null,{"indeterminate":["handleIndeterminatePropChange"],"required":["handleRequiredPropChange"]}]]],["p-afecb3f2",[[257,"bq-option",{"hidden":[516],"disabled":[516],"value":[513],"selected":[516],"hasPrefix":[32],"hasSuffix":[32]},[[0,"keydown","onKeyDown"]]]]],["p-14588d1f",[[257,"bq-option-group"]]],["p-e1450a16",[[257,"bq-page-title",{"haveBackNavigation":[32],"hasSuffix":[32],"hasSubTitle":[32]}]]],["p-acec3250",[[273,"bq-radio",{"backgroundOnHover":[516,"background-on-hover"],"checked":[1540],"disabled":[516],"forceDisabled":[516,"force-disabled"],"formId":[513,"form-id"],"name":[513],"required":[516],"value":[513],"vClick":[64],"vFocus":[64],"vBlur":[64],"getNativeInput":[64]}]]],["p-b40aaef2",[[337,"bq-radio-group",{"backgroundOnHover":[516,"background-on-hover"],"debounceTime":[1538,"debounce-time"],"disabled":[516],"fieldset":[516],"name":[513],"orientation":[1537],"required":[516],"requiredValidationMessage":[513,"required-validation-message"],"value":[1537],"checkedRadio":[32],"tabIndex":[32]},[[2,"bqClick","onBqClick"],[0,"bqKeyDown","onBqKeyDown"],[2,"bqFocus","onBqFocus"],[2,"bqBlur","onBqBlur"]],{"debounceTime":["handleDebounceTimeChange"],"disabled":["handleDisabledChange","handleGroupProperties"],"backgroundOnHover":["handleGroupProperties"],"name":["handleGroupProperties"],"required":["handleGroupProperties","handleRequiredChange"],"orientation":["checkPropValues"],"value":["handleValueChange"]}]]],["p-73054d34",[[257,"bq-side-menu",{"appearance":[513],"collapse":[516],"size":[513],"documentBody":[32],"toggleCollapse":[64]},[[1,"bqClick","onMenuItemClick"]],{"collapse":["onCollapsePropChange"]}]]],["p-4a726c36",[[257,"bq-spinner",{"animation":[516],"textPosition":[513,"text-position"],"size":[513],"hasIconSlot":[32],"hasSlot":[32],"slotContentLength":[32]},null,{"textPosition":["handleTextPositionProp"],"size":["handleSizeProp"],"hasIconSlot":["handleHasIconSlot"]}]]],["p-61fe519c",[[273,"bq-step-item",{"size":[513],"status":[1537],"type":[513]},null,{"size":["checkPropValues"],"status":["checkPropValues"]}]]],["p-bcd00932",[[257,"bq-tab",{"active":[1540],"controls":[513],"disabled":[516],"orientation":[513],"placement":[513],"size":[513],"tabId":[513,"tab-id"],"tabIndex":[32],"hasIcon":[32],"vClick":[64],"vFocus":[64],"vBlur":[64],"enableFocus":[64]},null,{"size":["checkPropValues"],"orientation":["checkPropValues"],"placement":["checkPropValues"]}]]],["p-db38b20c",[[257,"bq-tab-group",{"debounceTime":[1538,"debounce-time"],"disableDivider":[516,"disable-divider"],"orientation":[513],"placement":[513],"size":[513],"value":[1537]},[[19,"keyup","onKeyUp"],[1,"bqClick","onBqClick"],[1,"bqKeyDown","onBqKeyDown"],[3,"bqBlur","onBqBlur"]],{"debounceTime":["checkDebounceChange"],"size":["checkPropValues"],"value":["checkPropValues"],"orientation":["checkPropValues"],"placement":["checkPropValues"]}]]],["p-de332995",[[337,"bq-textarea",{"autocapitalize":[513],"autocomplete":[513],"autocorrect":[513],"autofocus":[516],"autoGrow":[516,"auto-grow"],"debounceTime":[1538,"debounce-time"],"disabled":[516],"disableResize":[516,"disable-resize"],"form":[513],"formValidationMessage":[1025,"form-validation-message"],"maxlength":[514],"name":[513],"placeholder":[513],"readonly":[516],"required":[516],"rows":[514],"spellcheck":[516],"validationStatus":[1537,"validation-status"],"value":[1025],"wrap":[513],"hasHelperText":[32],"hasLabel":[32]},null,{"value":["handleValueChange"],"required":["handleRequiredPropChange"]}]]],["p-c7471d26",[[257,"bq-badge",{"backgroundColor":[1537,"background-color"],"textColor":[1537,"text-color"],"size":[1537],"contentLength":[32]},null,{"size":["handleSizePropChange"]}]]],["p-dc188227",[[337,"bq-button",{"appearance":[513],"block":[516],"border":[513],"disabled":[4],"download":[1],"href":[513],"justifyContent":[513,"justify-content"],"loading":[4],"size":[513],"target":[513],"type":[513],"variant":[513],"hasPrefix":[32],"hasSuffix":[32]},null,{"appearance":["checkPropValues"],"type":["checkPropValues"],"size":["checkPropValues"],"variant":["checkPropValues"]}],[257,"bq-icon",{"label":[513],"color":[513],"name":[513],"size":[520],"src":[513],"weight":[513],"_svgContent":[32]},null,{"color":["handlePropsChange"],"name":["handlePropsChange"],"size":["handlePropsChange"],"weight":["handleWeightChange"]}]]],["p-61065a1c",[[273,"bq-tag",{"border":[513],"clickable":[516],"color":[513],"disabled":[516],"hidden":[1540],"removable":[516],"selected":[1540],"size":[513],"variant":[513],"hasPrefix":[32],"hide":[64],"show":[64]},null,{"size":["checkPropValues"],"variant":["checkPropValues"]}],[257,"bq-option-list",{"ariaLabel":[513,"aria-label"]},[[1,"bqClick","onBqSelect"],[1,"bqEnter","onBqSelect"]]]]],["p-28788a48",[[257,"bq-divider",{"dashed":[4],"orientation":[513],"strokeColor":[513,"stroke-color"],"titleAlignment":[513,"title-alignment"],"strokeDashWidth":[514,"stroke-dash-width"],"strokeDashGap":[514,"stroke-dash-gap"],"strokeThickness":[514,"stroke-thickness"],"strokeBasis":[514,"stroke-basis"],"strokeLinecap":[513,"stroke-linecap"],"hasTitle":[32]},null,{"orientation":["checkPropValues"],"titleAlignment":["checkPropValues"],"strokeLinecap":["checkPropValues"]}]]],["p-6eb0f643",[[257,"bq-tooltip",{"alwaysVisible":[4,"always-visible"],"distance":[514],"hideArrow":[516,"hide-arrow"],"placement":[513],"sameWidth":[516,"same-width"],"displayOn":[513,"display-on"],"visible":[1540],"show":[64],"hide":[64]},[[4,"keydown","handleDocumentKeyDown"],[5,"mousedown","handleDocumentMouseDown"],[5,"scroll","handleDocumentScroll"]],{"visible":["handleVisibleChange"],"distance":["handleFloatingUIOptionsChange"],"hideArrow":["handleFloatingUIOptionsChange"],"placement":["handleFloatingUIOptionsChange"],"sameWidth":["handleFloatingUIOptionsChange"]}]]],["p-c737da48",[[257,"bq-dropdown",{"disableScrollLock":[516,"disable-scroll-lock"],"disabled":[516],"distance":[514],"keepOpenOnSelect":[516,"keep-open-on-select"],"placement":[513],"open":[1540],"panelHeight":[513,"panel-height"],"sameWidth":[516,"same-width"],"skidding":[514],"strategy":[513]},[[1,"bqSelect","onItemSelect"],[5,"click","onClickOutside"],[9,"keyup","onEscape"],[11,"scroll","handleScrollEvent"]],{"open":["onOpenChange"],"disabled":["handleDisabledChange"]}],[257,"bq-panel",{"disableScrollLock":[516,"disable-scroll-lock"],"distance":[514],"placement":[513],"open":[1540],"sameWidth":[516,"same-width"],"skidding":[514],"strategy":[513]},null,{"open":["handleOpenChange"],"distance":["onPropChange"],"placement":["onPropChange"],"sameWidth":["onPropChange"],"skidding":["onPropChange"],"strategy":["onPropChange"]}]]]]'),e)}));
|
|
5
|
+
import{p as e,H as a,g as o,b as n}from"./p-BOf9EC3C.js";export{s as setNonce}from"./p-BOf9EC3C.js";var l=()=>{{i(a.prototype)}const o=import.meta.url;const n={};if(o!==""){n.resourcesUrl=new URL(".",o).href}return e(n)};var i=e=>{const a=e.cloneNode;e.cloneNode=function(e){if(this.nodeName==="TEMPLATE"){return a.call(this,e)}const o=a.call(this,false);const n=this.childNodes;if(e){for(let e=0;e<n.length;e++){if(n[e].nodeType!==2){o.appendChild(n[e].cloneNode(true))}}}return o}};l().then((async e=>{await o();return n(JSON.parse('[["p-e5c12fd7",[[849,"bq-select",{"autofocus":[516],"clearButtonLabel":[513,"clear-button-label"],"debounceTime":[1538,"debounce-time"],"disableScrollLock":[516,"disable-scroll-lock"],"disabled":[1028],"disableClear":[516,"disable-clear"],"distance":[514],"form":[513],"keepOpenOnSelect":[516,"keep-open-on-select"],"name":[513],"maxTagsVisible":[1026,"max-tags-visible"],"multiple":[516],"open":[1540],"panelHeight":[513,"panel-height"],"placeholder":[513],"placement":[513],"readonly":[516],"required":[516],"sameWidth":[516,"same-width"],"skidding":[514],"strategy":[513],"validationStatus":[513,"validation-status"],"value":[1537],"displayValue":[32],"hasHelperText":[32],"selectedOptions":[32],"hasLabel":[32],"hasPrefix":[32],"hasSuffix":[32],"hasValue":[32],"clear":[64],"reset":[64]},[[2,"bqOpen","handleOpenChange"],[2,"bqFocus","stopOptionFocusBlurPropagation"],[2,"bqBlur","stopOptionFocusBlurPropagation"],[11,"scroll","handleScrollEvent"]],{"value":["handleValueChange"]}]]],["p-bfca08f5",[[849,"bq-date-picker",{"autofocus":[516],"clearButtonLabel":[513,"clear-button-label"],"disableClear":[516,"disable-clear"],"disabled":[1028],"distance":[514],"firstDayOfWeek":[514,"first-day-of-week"],"formatOptions":[16],"form":[513],"formValidationMessage":[1025,"form-validation-message"],"isDateDisallowed":[16],"locale":[513],"max":[513],"min":[513],"months":[514],"monthsPerView":[513,"months-per-view"],"name":[513],"open":[1540],"panelHeight":[1537,"panel-height"],"placeholder":[513],"placement":[513],"required":[516],"skidding":[514],"showOutsideDays":[516,"show-outside-days"],"strategy":[513],"tentative":[1537],"type":[513],"validationStatus":[513,"validation-status"],"value":[1537],"isCallyLoaded":[32],"focusedDate":[32],"displayDate":[32],"hasLabel":[32],"hasPrefix":[32],"hasRangeEnd":[32],"hasSuffix":[32],"hasValue":[32],"clear":[64]},[[2,"bqOpen","handleOpenChange"],[18,"click","handleClickOutside"]],{"value":["handleValueChange"],"type":["checkPropValues"]}]]],["p-9585221e",[[769,"bq-drawer",{"enableBackdrop":[516,"enable-backdrop"],"closeOnClickOutside":[516,"close-on-click-outside"],"closeOnEsc":[516,"close-on-esc"],"open":[1540],"placement":[1537],"position":[1537],"hasFooter":[32],"hasIcon":[32],"hide":[64],"show":[64]},[[11,"mousedown","handleMouseClick"],[10,"keydown","handleKeyDown"]],{"open":["handleOpenChange"],"placement":["handlePlacementChange"],"position":["handlePositionChange"]}]]],["p-7ca73c06",[[769,"bq-alert",{"autoDismiss":[516,"auto-dismiss"],"border":[513],"disableClose":[516,"disable-close"],"hideIcon":[516,"hide-icon"],"open":[1540],"time":[514],"type":[513],"sticky":[516],"hasContent":[32],"hasFooter":[32],"hide":[64],"show":[64]},null,{"autoDismiss":["handleTimeout"],"time":["handleTimeout"],"open":["handleOpenChange"],"type":["checkPropValues"]}]]],["p-b88b2573",[[769,"bq-dialog",{"border":[513],"disableBackdrop":[516,"disable-backdrop"],"disableCloseEscKeydown":[516,"disable-close-esc-keydown"],"disableCloseClickOutside":[516,"disable-close-click-outside"],"footerAppearance":[513,"footer-appearance"],"hideCloseButton":[516,"hide-close-button"],"open":[1540],"size":[1537],"hasContent":[32],"hasFooter":[32],"show":[64],"hide":[64],"cancel":[64]},[[11,"mousedown","handleMouseClick"],[10,"keydown","handleKeyDown"]],{"footerAppearance":["checkPropValues"],"size":["checkPropValues"],"open":["handleOpenChange"]}]]],["p-d8118f0b",[[849,"bq-input",{"autocapitalize":[513],"autocomplete":[513],"autofocus":[516],"clearButtonLabel":[513,"clear-button-label"],"debounceTime":[1538,"debounce-time"],"disabled":[1028],"disableClear":[516,"disable-clear"],"form":[513],"formValidationMessage":[1025,"form-validation-message"],"inputmode":[1],"max":[520],"maxlength":[514],"min":[520],"minlength":[514],"name":[513],"pattern":[513],"placeholder":[513],"readonly":[516],"required":[516],"step":[520],"type":[513],"validationStatus":[513,"validation-status"],"value":[1544],"hasHelperText":[32],"hasLabel":[32],"hasPrefix":[32],"hasSuffix":[32],"hasValue":[32]},null,{"value":["handleValueChange"]}]]],["p-5b0a56e7",[[769,"bq-notification",{"autoDismiss":[516,"auto-dismiss"],"border":[513],"disableClose":[516,"disable-close"],"hideIcon":[516,"hide-icon"],"open":[1540],"time":[514],"type":[513],"hasContent":[32],"hasFooter":[32],"notificationPortal":[32],"hide":[64],"show":[64],"toast":[64]},[[0,"bqAfterClose","afterNotificationClose"]],{"autoDismiss":["handleTimeout"],"time":["handleTimeout"],"open":["handleOpenChange"],"type":["checkPropValues"]}]]],["p-1df8fe61",[[769,"bq-accordion",{"appearance":[1537],"disabled":[516],"expanded":[1540],"noAnimation":[516,"no-animation"],"rotate":[516],"size":[1537],"hasPrefix":[32],"hasSuffix":[32]},[[0,"accordionTransitionEnd","onAccordionTransitionEnd"]],{"size":["checkPropValues"],"expanded":["handleExpandedChange"],"disabled":["handleDisabledChange"],"noAnimation":["handleJsAnimation"]}]]],["p-662578a2",[[769,"bq-empty-state",{"size":[1537],"hasBody":[32],"hasFooter":[32]},null,{"size":["checkPropValues"]}]]],["p-dc5aa386",[[769,"bq-progress",{"borderShape":[513,"border-shape"],"enableTooltip":[516,"enable-tooltip"],"indeterminate":[516],"label":[516],"thickness":[513],"type":[513],"value":[1538]},null,{"borderShape":["handleTypePropChange"],"thickness":["handleTypePropChange"],"type":["handleTypePropChange"],"value":["handleValuePropChange"]}]]],["p-38add122",[[769,"bq-side-menu-item",{"active":[4],"collapse":[4],"disabled":[4],"textContent":[32]}]]],["p-ca93325b",[[849,"bq-slider",{"debounceTime":[514,"debounce-time"],"disabled":[516],"enableValueIndicator":[516,"enable-value-indicator"],"gap":[1538],"max":[514],"min":[514],"name":[513],"step":[514],"type":[513],"value":[1544],"enableTooltip":[516,"enable-tooltip"],"tooltipAlwaysVisible":[516,"tooltip-always-visible"],"minValue":[32],"maxValue":[32],"minThumbPosition":[32],"maxThumbPosition":[32]},null,{"value":["handleValuePropChange"],"step":["handleStepPropChange"],"gap":["handleGapChange"]}]]],["p-b1d2e472",[[769,"bq-status",{"type":[513]},null,{"type":["checkPropValues"]}]]],["p-6ae2ca4b",[[769,"bq-steps",{"dividerColor":[513,"divider-color"],"size":[513],"type":[513],"setCurrentStepItem":[64]},null,{"type":["checkPropValues"],"size":["checkPropValues"]}]]],["p-4725a142",[[849,"bq-switch",{"backgroundOnHover":[516,"background-on-hover"],"checked":[1540],"disabled":[516],"formValidationMessage":[1025,"form-validation-message"],"fullWidth":[516,"full-width"],"innerLabel":[513,"inner-label"],"justifyContent":[513,"justify-content"],"name":[513],"required":[516],"reverseOrder":[516,"reverse-order"],"value":[513],"hasLabel":[32],"vClick":[64],"vFocus":[64],"vBlur":[64]},null,{"required":["handleRequiredChange"]}]]],["p-c63b89d2",[[769,"bq-toast",{"border":[513],"type":[1537],"placement":[1537],"hideIcon":[1540,"hide-icon"],"open":[1540],"time":[514],"toastPortal":[32],"show":[64],"hide":[64],"toast":[64]},[[0,"bqHide","onNotificationHide"]],{"type":["checkPropValues"],"placement":["checkPropValues"],"time":["handleTimeChange"],"open":["handleOpenChange"]}]]],["p-f691f00c",[[769,"bq-accordion-group",{"appearance":[1537],"expandAll":[516,"expand-all"],"noAnimation":[516,"no-animation"],"multiple":[516],"size":[1537]},[[1,"bqClick","onBqClick"]],{"appearance":["checkPropValues"],"expandAll":["checkPropValues"],"noAnimation":["checkPropValues"],"size":["checkPropValues"]}]]],["p-eb6eac82",[[769,"bq-avatar",{"altText":[513,"alt-text"],"image":[513],"label":[513],"initials":[513],"shape":[513],"size":[1537],"hasError":[32]},null,{"image":["handleImagePropChange"],"shape":["checkPropValues"],"size":["checkPropValues","onInitialsChange"],"initials":["onInitialsChange"]}]]],["p-9e9baa82",[[769,"bq-breadcrumb",{"label":[513]}]]],["p-4647a0fb",[[769,"bq-breadcrumb-item",{"href":[513],"target":[513],"rel":[513]}]]],["p-dcda1181",[[769,"bq-card",{"type":[513],"border":[513]},null,{"type":["checkPropValue"]}]]],["p-5e8c8e90",[[849,"bq-checkbox",{"backgroundOnHover":[516,"background-on-hover"],"formId":[513,"form-id"],"formValidationMessage":[1025,"form-validation-message"],"checked":[1540],"disabled":[516],"indeterminate":[1540],"name":[513],"required":[516],"value":[513],"vClick":[64],"vFocus":[64],"vBlur":[64]},null,{"indeterminate":["handleIndeterminatePropChange"],"required":["handleRequiredPropChange"]}]]],["p-93d6f4f0",[[769,"bq-option",{"hidden":[516],"disabled":[516],"displayValue":[513,"display-value"],"selected":[516],"value":[513],"hasPrefix":[32],"hasSuffix":[32]},[[0,"keydown","onKeyDown"]]]]],["p-454fa535",[[257,"bq-option-group"]]],["p-17de1ba4",[[769,"bq-page-title",{"haveBackNavigation":[32],"hasSuffix":[32],"hasSubTitle":[32]}]]],["p-16defa87",[[785,"bq-radio",{"backgroundOnHover":[516,"background-on-hover"],"checked":[1540],"disabled":[516],"forceDisabled":[516,"force-disabled"],"formId":[513,"form-id"],"name":[513],"required":[516],"value":[513],"vClick":[64],"vFocus":[64],"vBlur":[64],"getNativeInput":[64]}]]],["p-cd53041f",[[849,"bq-radio-group",{"backgroundOnHover":[516,"background-on-hover"],"debounceTime":[1538,"debounce-time"],"disabled":[516],"fieldset":[516],"name":[513],"orientation":[1537],"required":[516],"requiredValidationMessage":[513,"required-validation-message"],"value":[1537],"checkedRadio":[32],"tabIndex":[32]},[[2,"bqClick","onBqClick"],[0,"bqKeyDown","onBqKeyDown"],[2,"bqFocus","onBqFocus"],[2,"bqBlur","onBqBlur"]],{"debounceTime":["handleDebounceTimeChange"],"disabled":["handleDisabledChange","handleGroupProperties"],"backgroundOnHover":["handleGroupProperties"],"name":["handleGroupProperties"],"required":["handleGroupProperties","handleRequiredChange"],"orientation":["checkPropValues"],"value":["handleValueChange"]}]]],["p-51351eed",[[769,"bq-side-menu",{"appearance":[513],"collapse":[516],"size":[513],"documentBody":[32],"toggleCollapse":[64]},[[1,"bqClick","onMenuItemClick"]],{"collapse":["onCollapsePropChange"]}]]],["p-b7efb629",[[769,"bq-spinner",{"animation":[516],"textPosition":[513,"text-position"],"size":[513],"hasIconSlot":[32],"hasSlot":[32],"slotContentLength":[32]},null,{"textPosition":["handleTextPositionProp"],"size":["handleSizeProp"],"hasIconSlot":["handleHasIconSlot"]}]]],["p-84e62655",[[785,"bq-step-item",{"size":[513],"status":[1537],"type":[513]},null,{"size":["checkPropValues"],"status":["checkPropValues"]}]]],["p-5df7df5d",[[769,"bq-tab",{"active":[1540],"controls":[513],"disabled":[516],"orientation":[513],"placement":[513],"size":[513],"tabId":[513,"tab-id"],"tabIndex":[32],"hasIcon":[32],"vClick":[64],"vFocus":[64],"vBlur":[64],"enableFocus":[64]},null,{"size":["checkPropValues"],"orientation":["checkPropValues"],"placement":["checkPropValues"]}]]],["p-cb0639d5",[[769,"bq-tab-group",{"debounceTime":[1538,"debounce-time"],"disableDivider":[516,"disable-divider"],"orientation":[513],"placement":[513],"size":[513],"value":[1537]},[[19,"keyup","onKeyUp"],[1,"bqClick","onBqClick"],[1,"bqKeyDown","onBqKeyDown"],[3,"bqBlur","onBqBlur"]],{"debounceTime":["checkDebounceChange"],"size":["checkPropValues"],"value":["checkPropValues"],"orientation":["checkPropValues"],"placement":["checkPropValues"]}]]],["p-eb47c1ae",[[849,"bq-textarea",{"autocapitalize":[513],"autocomplete":[513],"autofocus":[516],"autoGrow":[516,"auto-grow"],"debounceTime":[1538,"debounce-time"],"disabled":[516],"disableResize":[516,"disable-resize"],"form":[513],"formValidationMessage":[1025,"form-validation-message"],"maxlength":[514],"name":[513],"placeholder":[513],"readonly":[516],"required":[516],"rows":[514],"spellcheck":[516],"validationStatus":[1537,"validation-status"],"value":[1025],"wrap":[513],"hasHelperText":[32],"hasLabel":[32]},null,{"value":["handleValueChange"],"required":["handleRequiredPropChange"]}]]],["p-24749f67",[[769,"bq-badge",{"backgroundColor":[1537,"background-color"],"textColor":[1537,"text-color"],"size":[1537],"contentLength":[32]},null,{"size":["handleSizePropChange"]}]]],["p-eaa8c123",[[849,"bq-button",{"appearance":[513],"block":[516],"border":[513],"disabled":[4],"download":[1],"href":[513],"justifyContent":[513,"justify-content"],"loading":[4],"size":[513],"target":[513],"type":[513],"variant":[513],"hasPrefix":[32],"hasSuffix":[32]},null,{"appearance":["checkPropValues"],"type":["checkPropValues"],"size":["checkPropValues"],"variant":["checkPropValues"]}],[769,"bq-icon",{"label":[513],"color":[513],"name":[513],"size":[520],"src":[513],"weight":[513],"svgContent":[32]},null,{"color":["handlePropsChange"],"name":["handlePropsChange"],"size":["handlePropsChange"],"weight":["handleWeightChange"]}]]],["p-5dd30c4c",[[785,"bq-tag",{"border":[513],"clickable":[516],"color":[513],"disabled":[516],"hidden":[1540],"removable":[516],"selected":[1540],"size":[513],"variant":[513],"hasPrefix":[32],"hide":[64],"show":[64]},null,{"size":["checkPropValues"],"variant":["checkPropValues"]}],[769,"bq-option-list",{"ariaLabel":[513,"aria-label"]},[[1,"bqClick","onBqSelect"],[1,"bqEnter","onBqSelect"]]]]],["p-5c23324d",[[769,"bq-divider",{"dashed":[4],"orientation":[513],"strokeColor":[513,"stroke-color"],"titleAlignment":[513,"title-alignment"],"strokeDashWidth":[514,"stroke-dash-width"],"strokeDashGap":[514,"stroke-dash-gap"],"strokeThickness":[514,"stroke-thickness"],"strokeBasis":[514,"stroke-basis"],"strokeLinecap":[513,"stroke-linecap"],"hasTitle":[32]},null,{"orientation":["checkPropValues"],"titleAlignment":["checkPropValues"],"strokeLinecap":["checkPropValues"]}]]],["p-0bf5e367",[[769,"bq-tooltip",{"alwaysVisible":[4,"always-visible"],"distance":[514],"hideArrow":[516,"hide-arrow"],"placement":[513],"sameWidth":[516,"same-width"],"displayOn":[513,"display-on"],"visible":[1540],"show":[64],"hide":[64]},[[4,"keydown","handleDocumentKeyDown"],[5,"mousedown","handleDocumentMouseDown"],[5,"scroll","handleDocumentScroll"]],{"visible":["handleVisibleChange"],"distance":["handleFloatingUIOptionsChange"],"hideArrow":["handleFloatingUIOptionsChange"],"placement":["handleFloatingUIOptionsChange"],"sameWidth":["handleFloatingUIOptionsChange"]}]]],["p-d9c5ab1d",[[769,"bq-dropdown",{"disableScrollLock":[516,"disable-scroll-lock"],"disabled":[516],"distance":[514],"keepOpenOnSelect":[516,"keep-open-on-select"],"placement":[513],"open":[1540],"panelHeight":[513,"panel-height"],"sameWidth":[516,"same-width"],"skidding":[514],"strategy":[513]},[[1,"bqSelect","onItemSelect"],[5,"click","onClickOutside"],[9,"keyup","onEscape"],[11,"scroll","handleScrollEvent"]],{"open":["onOpenChange"],"disabled":["handleDisabledChange"]}],[769,"bq-panel",{"disableScrollLock":[516,"disable-scroll-lock"],"distance":[514],"placement":[513],"open":[1540],"sameWidth":[516,"same-width"],"skidding":[514],"strategy":[513]},null,{"open":["handleOpenChange"],"distance":["onPropChange"],"placement":["onPropChange"],"sameWidth":["onPropChange"],"skidding":["onPropChange"],"strategy":["onPropChange"]}]]]]'),e)}));
|
|
6
6
|
//# sourceMappingURL=beeq.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beeq.esm.js","sources":["../../node_modules/.pnpm/@stencil+core@4.
|
|
1
|
+
{"version":3,"file":"beeq.esm.js","sources":["../../node_modules/.pnpm/@stencil+core@4.38.3/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAIzB,EAA0B;AAC1B,IAAI,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AAClC;AAIA,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;AACD,IAAI,iBAAiB,GAAG,CAAC,oBAAoB,KAAK;AAClD,EAAE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,SAAS;AAC1D,EAAE,oBAAoB,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE;AACtC,MAAM,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC/C;AACA,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC1D,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU;AACzC,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;AAC7C,UAAU,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAClE;AACA;AACA;AACA,IAAI,OAAO,UAAU;AACrB,GAAG;AACH,CAAC;;ACrCD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bq-accordion-group.entry.esm.js","sources":["../../packages/beeq/src/components/accordion-group/scss/bq-accordion-group.scss?tag=bq-accordion-group&encapsulation=shadow","../../packages/beeq/src/components/accordion-group/bq-accordion-group.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Accordion group styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion-group.variables';\n\n:host {\n @apply block;\n}\n","import { Component, Element, h, Listen, Prop, Watch } from '@stencil/core';\n\nimport { isHTMLElement, isNil } from '../../shared/utils';\nimport type { TAccordionAppearance, TAccordionSize } from '../accordion/bq-accordion.types';\n\n/**\n * The accordion group component is a container for multiple accordion elements.\n * It allows to manage the appearance and size of all accordions at once.\n *\n * @example How to use it\n * ```html\n * <bq-accordion-group appearance=\"filled\" size=\"medium\">\n * <bq-accordion> ... </bq-accordion>\n * <bq-accordion> ... </bq-accordion>\n * <bq-accordion> ... </bq-accordion>\n * </bq-accordion-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/713eae-accordion\n * @status stable\n *\n * @attr {\"filled\" | \"ghost\"} [appearance=\"filled\"] - The appearance style of accordion to be applied to all accordions\n * @attr {boolean} [expandAll=false] - If true all accordions are expanded\n * @attr {boolean} [no-animation=false] - Animation is set through JS when the browser does not support CSS calc-size() If true, the accordion animation, will be disabled. No animation will be applied.\n * @attr {boolean} [multiple=false] - If true multiple accordions can be expanded at the same time\n * @attr {\"small\" | \"medium\"} [size=\"medium\"] - The size of accordion to be applied to all accordions\n *\n * @slot - The default slot where the bq-accordion elements are placed.\n *\n * @part base - The component's base wrapper.\n *\n * @cssprop --bq-accordion-group--gap - Accordion group distance between elements\n */\n@Component({\n tag: 'bq-accordion-group',\n styleUrl: './scss/bq-accordion-group.scss',\n shadow: true,\n})\nexport class BqAccordionGroup {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** The appearance style of accordion to be applied to all accordions */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true all accordions are expanded */\n @Prop({ reflect: true }) expandAll: boolean;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true multiple accordions can be expanded at the same time */\n @Prop({ reflect: true }) multiple: boolean = false;\n\n /** The size of accordion to be applied to all accordions */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('expandAll')\n @Watch('noAnimation')\n @Watch('size')\n checkPropValues() {\n this.bqAccordionElements.forEach((bqAccordionElement) => {\n // NOTE: if expandAll is nil we will keep accordion default state\n if (!isNil(this.expandAll)) {\n bqAccordionElement.expanded = this.expandAll;\n }\n bqAccordionElement.appearance = this.appearance;\n bqAccordionElement.noAnimation = this.noAnimation;\n bqAccordionElement.size = this.size;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqAccordionElement>) {\n const { detail: bqElem } = event;\n // Make sure the event is coming from a bq-accordion element and its a child of the bq-accordion-group\n if (!isHTMLElement(bqElem, 'bq-accordion') || !this.el.contains(bqElem)) return;\n // We keep default behavior if multiple accordion can be expanded\n if (this.multiple) return;\n\n this.bqAccordionElements.forEach((bqAccordionElement) => {\n if (bqAccordionElement === event.detail) return;\n\n bqAccordionElement.expanded = false;\n });\n }\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\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 get bqAccordionElements(): HTMLBqAccordionElement[] {\n return Array.from(this.el.querySelectorAll('bq-accordion'));\n }\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"flex flex-col gap-[--bq-accordion-group--gap]\" part=\"base\">\n <slot />\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"bq-accordion-group.entry.esm.js","sources":["../../packages/beeq/src/components/accordion-group/scss/bq-accordion-group.scss?tag=bq-accordion-group&encapsulation=shadow","../../packages/beeq/src/components/accordion-group/bq-accordion-group.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Accordion group styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion-group.variables';\n\n:host {\n @apply block;\n}\n","import { Component, Element, h, Listen, Prop, Watch } from '@stencil/core';\n\nimport { isHTMLElement, isNil } from '../../shared/utils';\nimport type { TAccordionAppearance, TAccordionSize } from '../accordion/bq-accordion.types';\n\n/**\n * The accordion group component is a container for multiple accordion elements.\n * It allows to manage the appearance and size of all accordions at once.\n *\n * @example How to use it\n * ```html\n * <bq-accordion-group appearance=\"filled\" size=\"medium\">\n * <bq-accordion> ... </bq-accordion>\n * <bq-accordion> ... </bq-accordion>\n * <bq-accordion> ... </bq-accordion>\n * </bq-accordion-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/713eae-accordion\n * @status stable\n *\n * @attr {\"filled\" | \"ghost\"} [appearance=\"filled\"] - The appearance style of accordion to be applied to all accordions\n * @attr {boolean} [expandAll=false] - If true all accordions are expanded\n * @attr {boolean} [no-animation=false] - Animation is set through JS when the browser does not support CSS calc-size() If true, the accordion animation, will be disabled. No animation will be applied.\n * @attr {boolean} [multiple=false] - If true multiple accordions can be expanded at the same time\n * @attr {\"small\" | \"medium\"} [size=\"medium\"] - The size of accordion to be applied to all accordions\n *\n * @slot - The default slot where the bq-accordion elements are placed.\n *\n * @part base - The component's base wrapper.\n *\n * @cssprop --bq-accordion-group--gap - Accordion group distance between elements\n */\n@Component({\n tag: 'bq-accordion-group',\n styleUrl: './scss/bq-accordion-group.scss',\n shadow: true,\n})\nexport class BqAccordionGroup {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** The appearance style of accordion to be applied to all accordions */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true all accordions are expanded */\n @Prop({ reflect: true }) expandAll: boolean;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true multiple accordions can be expanded at the same time */\n @Prop({ reflect: true }) multiple: boolean = false;\n\n /** The size of accordion to be applied to all accordions */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('expandAll')\n @Watch('noAnimation')\n @Watch('size')\n checkPropValues() {\n this.bqAccordionElements.forEach((bqAccordionElement) => {\n // NOTE: if expandAll is nil we will keep accordion default state\n if (!isNil(this.expandAll)) {\n bqAccordionElement.expanded = this.expandAll;\n }\n bqAccordionElement.appearance = this.appearance;\n bqAccordionElement.noAnimation = this.noAnimation;\n bqAccordionElement.size = this.size;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqAccordionElement>) {\n const { detail: bqElem } = event;\n // Make sure the event is coming from a bq-accordion element and its a child of the bq-accordion-group\n if (!isHTMLElement(bqElem, 'bq-accordion') || !this.el.contains(bqElem)) return;\n // We keep default behavior if multiple accordion can be expanded\n if (this.multiple) return;\n\n this.bqAccordionElements.forEach((bqAccordionElement) => {\n if (bqAccordionElement === event.detail) return;\n\n bqAccordionElement.expanded = false;\n });\n }\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\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 get bqAccordionElements(): HTMLBqAccordionElement[] {\n return Array.from(this.el.querySelectorAll('bq-accordion'));\n }\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"flex flex-col gap-[--bq-accordion-group--gap]\" part=\"base\">\n <slot />\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA,MAAM,mBAAmB,GAAG,k0mBAAk0mB;;MCsCj1mB,gBAAgB,GAAA,MAAA;;;;;;;;;;;IAiBa,UAAU,GAAyB,QAAQ;;AAG1D,IAAA,SAAS;AAElC;;;AAGG;IACsB,WAAW,GAAY,KAAK;;IAG5B,QAAQ,GAAY,KAAK;;IAGV,IAAI,GAAmB,QAAQ;;;IASvE,eAAe,GAAA;QACb,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,kBAAkB,KAAI;;YAEtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC1B,gBAAA,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS;;AAE9C,YAAA,kBAAkB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AAC/C,YAAA,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AACjD,YAAA,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACrC,SAAC,CAAC;;;;;AAQJ,IAAA,SAAS,CAAC,KAA0C,EAAA;AAClD,QAAA,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK;;AAEhC,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE;;QAEzE,IAAI,IAAI,CAAC,QAAQ;YAAE;QAEnB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,kBAAkB,KAAI;AACtD,YAAA,IAAI,kBAAkB,KAAK,KAAK,CAAC,MAAM;gBAAE;AAEzC,YAAA,kBAAkB,CAAC,QAAQ,GAAG,KAAK;AACrC,SAAC,CAAC;;;;;IAOJ,iBAAiB,GAAA;QACf,IAAI,CAAC,eAAe,EAAE;;;;;;;;;;;;;;AAkBxB,IAAA,IAAY,mBAAmB,GAAA;AAC7B,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;;;;;IAM7D,MAAM,GAAA;AACJ,QAAA,QACE,4DAAK,KAAK,EAAC,+CAA+C,EAAC,IAAI,EAAC,MAAM,EAAA,EACpE,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bq-accordion.entry.esm.js","sources":["../../packages/beeq/src/components/accordion/bq-accordion.types.ts","../../packages/beeq/src/components/accordion/helper/index.ts","../../packages/beeq/src/components/accordion/scss/bq-accordion.scss?tag=bq-accordion&encapsulation=shadow","../../packages/beeq/src/components/accordion/bq-accordion.tsx"],"sourcesContent":["export const ACCORDION_SIZE = ['small', 'medium'] as const;\nexport type TAccordionSize = (typeof ACCORDION_SIZE)[number];\n\nexport const ACCORDION_APPEARANCE = ['filled', 'ghost'] as const;\nexport type TAccordionAppearance = (typeof ACCORDION_APPEARANCE)[number];\n","/* -------------------------------------------------------------------------------------- */\n/* 💡 Credits: https://css-tricks.com/how-to-animate-the-details-element-using-waapi */\n/* -------------------------------------------------------------------------------------- */\n\nexport class Accordion {\n private el: HTMLDetailsElement;\n private header: HTMLElement;\n private panel: HTMLElement;\n private animation: Animation | null;\n private isClosing: boolean;\n private isExpanding: boolean;\n private animationOptions = {\n duration: 200,\n easing: 'ease-in-out',\n };\n\n constructor(el: HTMLDetailsElement) {\n // Store the <details> element\n this.el = el;\n // Store the <summary> header element\n this.header = el.querySelector('summary');\n // Store the <div class=\"content\"> element\n this.panel = el.querySelector('.bq-accordion__body');\n // Store the animation object (so we can cancel it, if needed)\n this.animation = null;\n // Store if the element is closing\n this.isClosing = false;\n // Store if the element is expanding\n this.isExpanding = false;\n }\n\n public open() {\n // Check if the element is being closed or is already closed\n if (!this.isClosing && this.el.open) return;\n // Apply a fixed height on the element\n this.el.style.height = `${this.el.offsetHeight}px`;\n // Force the [open] attribute on the details element\n this.el.open = true;\n // Wait for the next frame to call the expand function\n window.requestAnimationFrame(() => this.expand());\n }\n\n public close() {\n // Check if the element is being opened or is already open\n if (!this.isExpanding && !this.el.open) return;\n // Set the element as \"being closed\"\n this.isClosing = true;\n\n // Store the current height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the height of the <summary> header\n const endHeight = `${this.header.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(false);\n // If the animation is cancelled, isClosing variable is set to false\n this.animation.oncancel = () => (this.isClosing = false);\n }\n\n // Expands the accordion\n private expand() {\n // Set the element as \"being expanding\"\n this.isExpanding = true;\n // Get the current fixed height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the open height of the element (summary header height + panel body height)\n const endHeight = `${this.header.offsetHeight + this.panel.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(true);\n // If the animation is cancelled, isExpanding variable is set to false\n this.animation.oncancel = () => (this.isExpanding = false);\n }\n\n // Handles the end of the animation\n private onAnimationFinish(open: boolean) {\n // Set the open attribute based on the parameter\n this.el.open = open;\n // Clear the stored animation\n this.animation = null;\n // Reset isClosing & isExpanding\n this.isClosing = false;\n this.isExpanding = false;\n // Remove the overflow hidden and the fixed height\n this.el.removeAttribute('style');\n // Dispatch a custom event based on the open parameter\n const endEvent = new Event('accordionTransitionEnd', { bubbles: false, composed: true });\n this.el.dispatchEvent(endEvent);\n }\n}\n","/* -------------------------------------------------------------------------- */\n/* Accordion styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion.variables';\n\n:host {\n @apply block;\n}\n\n.bq-accordion:not(.no-animation) {\n /* -------------------------------------------------------------------- */\n /* Opt-in the component to animating to/from intrinsic sizing keywords */\n /* Details: https://chrome.dev/css-wrapped-2024/#animate-to-height-auto */\n /* -------------------------------------------------------------------- */\n @apply supports-[interpolate-size:_allow-keywords]:[interpolate-size:_allow-keywords];\n}\n\n.bq-accordion {\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n\n .bq-accordion__header {\n @apply pointer-events-none;\n }\n }\n\n &.small .bq-accordion__header {\n @apply gap-[--bq-accordion--small-gap] pe-[--bq-accordion--small-padding-end] ps-[--bq-accordion--small-padding-start] p-b-[--bq-accordion--small-padding-y];\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[--bq-accordion--small-radius] rounded-ss-[--bq-accordion--small-radius];\n }\n\n &.medium .bq-accordion__header {\n @apply gap-[--bq-accordion--medium-gap] pe-[--bq-accordion--medium-padding-end] ps-[--bq-accordion--medium-padding-start] p-b-[--bq-accordion--medium-padding-y];\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[--bq-accordion--medium-radius] rounded-ss-[--bq-accordion--medium-radius];\n }\n\n &[open] .bq-accordion__header {\n @apply border-[length:--bq-accordion--expanded-border-width] border-[color:--bq-accordion--expanded-border-color];\n @apply rounded-ee-[0px] rounded-es-[0px];\n\n border-style: var(--bq-accordion--expanded-border-style);\n }\n\n &.small .bq-accordion__content {\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.medium .bq-accordion__content {\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.filled {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-collapsed-text-color];\n }\n\n .bq-accordion__content {\n @apply border-[length:--bq-accordion--panel-filled-border-width] border-[color:--bq-accordion--panel-filled-border-color];\n\n border-style: var(--bq-accordion--panel-filled-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-expanded-text-color];\n }\n }\n\n &.ghost {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-collapsed-text-color];\n }\n\n .bq-accordion__content {\n @apply border-[length:--bq-accordion--panel-ghost-border-width] border-[color:--bq-accordion--panel-ghost-border-color];\n\n border-style: var(--bq-accordion--panel-ghost-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-expanded-text-color];\n }\n }\n\n &.small.filled .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-small-filled-padding-end] ps-[--bq-accordion--panel-small-filled-padding-start] p-b-[--bq-accordion--panel-small-filled-padding-y];\n }\n\n &.medium.filled .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-medium-filled-padding-end] ps-[--bq-accordion--panel-medium-filled-padding-start] p-b-[--bq-accordion--panel-medium-filled-padding-y];\n }\n\n &.small.ghost .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-small-ghost-padding-end] ps-[--bq-accordion--panel-small-ghost-padding-start] p-b-[--bq-accordion--panel-small-ghost-padding-y];\n }\n\n &.medium.ghost .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-medium-ghost-padding-end] ps-[--bq-accordion--panel-medium-ghost-padding-start] p-b-[--bq-accordion--panel-medium-ghost-padding-y];\n }\n}\n\n.bq-accordion::details-content {\n @apply block overflow-clip transition-all duration-300 ease-in-out bs-0 [transition-behavior:allow-discrete];\n}\n\n.bq-accordion[open]::details-content {\n @apply bs-auto;\n}\n\n.bq-accordion__header {\n // Since there's an overflow on the <summary> element, the focus outline is not visible,\n // so we force it to be inset to avoid the overflow hidden.\n --bq-ring-offset-width: -2px;\n\n @apply flex cursor-pointer select-none list-none items-center transition-colors duration-300 ease-in-out focus-visible:focus;\n @apply border-[length:--bq-accordion--collapsed-border-width] border-[color:--bq-accordion--collapsed-border-color];\n\n border-style: var(--bq-accordion--collapsed-border-style);\n\n &::marker,\n &::-webkit-details-marker {\n @apply hidden;\n }\n}\n\n.bq-accordion__header--text {\n @apply flex-1;\n}\n\n.bq-accordion__header--prefix,\n.bq-accordion__header--suffix {\n @apply flex items-center justify-center;\n}\n","import { Component, Element, Event, h, Listen, Prop, State, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport { ACCORDION_APPEARANCE, ACCORDION_SIZE } from './bq-accordion.types';\nimport type { TAccordionAppearance, TAccordionSize } from './bq-accordion.types';\nimport { Accordion } from './helper';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n/**\n * The Accordion is a UI component that allows users to toggle between showing and hiding content sections. It provides a collapsible functionality, where only one section can be expanded at a time, while the others remain collapsed.\n *\n * @example How to use it\n * ```html\n * <bq-accordion appearance=\"filled\" size=\"medium\">\n * <bq-avatar size=\"xsmall\" image=\"/image/url/img.png\" slot=\"prefix\"></bq-avatar>\n * <h3 slot=\"header\">Header</h3>\n * <div>Lorem ipsum dolor...</div>\n * </bq-accordion>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/713eae-accordion\n * @status stable\n *\n * @dependency bq-icon\n *\n * @attr {\"filled\" | \"ghost\"} [appearance=\"filled\"] - The appearance style of the Accordion\n * @attr {boolean} [disabled=false] - If true, the Accordion is disabled\n * @attr {boolean} [expanded=false] - If true, the Accordion is expanded\n * @attr {boolean} [no-animation=false] - Animation is set through JS when the browser does not support CSS calc-size() If true, the Accordion animation, will be disabled. No animation will be applied.\n * @attr {boolean} [rotate=false] - If true, the Accordion expand icon is rotate 180deg when expanded\n * @attr {\"small\" | \"medium\"} [size=\"medium\"] - The size of the the Accordion\n *\n * @event bqOpen - Handler to be called when the accordion is opened\n * @event bqAfterOpen - Handler to be called after the accordion is opened\n * @event bqClose - Handler to be called when the accordion is closed\n * @event bqAfterClose - Handler to be called after the accordion is closed\n * @event bqFocus - Handler to be called when the accordion gets focus\n * @event bqClick - Handler to be called when the accordion is clicked\n * @event bqBlur - Handler to be called when the accordion loses focus\n *\n * @slot - The accordion panel content\n * @slot collapse - The accordion collapse icon\n * @slot expand - The accordion expand icon\n * @slot header - The accordion header content\n * @slot prefix - The accordion prefix content (icon or avatar)\n * @slot suffix - The accordion suffix content (icon or avatar)\n *\n * @part base - The `<details>` that holds the accordion content\n * @part header - The `<summary>` that holds the accordion header content\n * @part panel - The `<div>` that holds the accordion panel content\n * @part prefix - The `<div>` that holds the accordion prefix content\n * @part suffix - The `<div>` that holds the accordion suffix content\n * @part text - The `<div>` that holds the accordion header text content\n *\n * @cssprop --bq-accordion--small-padding-y - Accordion small vertical padding\n * @cssprop --bq-accordion--small-padding-start - Accordion small start padding\n * @cssprop --bq-accordion--small-padding-end - Accordion small end padding\n * @cssprop --bq-accordion--small-padding-gap - Accordion small gap distance between suffix, title and prefix\n * @cssprop --bq-accordion--small-radius - Accordion small border radius\n *\n * @cssprop --bq-accordion--medium-padding-y - Accordion medium vertical padding\n * @cssprop --bq-accordion--medium-padding-start - Accordion medium start padding\n * @cssprop --bq-accordion--medium-padding-end - Accordion medium end padding\n * @cssprop --bq-accordion--medium-padding-gap - Accordion medium gap distance between suffix, title and prefix\n * @cssprop --bq-accordion--medium-radius - Accordion medium border radius\n *\n * @cssprop --bq-accordion--collapsed-border-color - Accordion collapsed border color\n * @cssprop --bq-accordion--collapsed-border-style - Accordion collapsed border style\n * @cssprop --bq-accordion--collapsed-border-width - Accordion collapsed border width\n *\n * @cssprop --bq-accordion--expanded-border-color - Accordion expanded border color\n * @cssprop --bq-accordion--expanded-border-style - Accordion expanded border style\n * @cssprop --bq-accordion--expanded-border-width - Accordion expanded border width\n *\n * @cssprop --bq-accordion--filled-collapsed-background - Accordion filled collapsed header background\n * @cssprop --bq-accordion--filled-collapsed-text-color - Accordion filled collapsed header text color\n * @cssprop --bq-accordion--filled-expanded-background - Accordion filled expanded header background\n * @cssprop --bq-accordion--filled-expanded-collapsed-hover - Accordion filled expanded header color on hover\n * @cssprop --bq-accordion--filled-expanded-text-color - Accordion filled expanded header text color\n *\n * @cssprop --bq-accordion--ghost-collapsed-background - Accordion ghost collapsed header background\n * @cssprop --bq-accordion--ghost-collapsed-text-color - Accordion ghost collapsed header text color\n * @cssprop --bq-accordion--ghost-expanded-background - Accordion ghost expanded header background\n * @cssprop --bq-accordion--ghost-expanded-collapsed-hover - Accordion ghost expanded header color on hover\n * @cssprop --bq-accordion--ghost-expanded-text-color - Accordion ghost expanded header text color\n *\n * @cssprop --bq-accordion--panel-filled-border-color - Accordion filled panel border color\n * @cssprop --bq-accordion--panel-filled-border-style - Accordion filled panel border style\n * @cssprop --bq-accordion--panel-filled-border-width - Accordion filled panel border width\n * @cssprop --bq-accordion--panel-small-filled-padding-y - Accordion small filled panel vertical padding\n * @cssprop --bq-accordion--panel-small-filled-padding-start - Accordion small filled panel start padding\n * @cssprop --bq-accordion--panel-small-filled-padding-end - Accordion small filled panel end padding\n * @cssprop --bq-accordion--panel-medium-filled-padding-y - Accordion medium filled panel vertical padding\n * @cssprop --bq-accordion--panel-medium-filled-padding-start - Accordion medium filled panel start padding\n * @cssprop --bq-accordion--panel-medium-filled-padding-end - Accordion medium filled panel end padding\n *\n * @cssprop --bq-accordion--panel-ghost-border-color - Accordion ghost panel border color\n * @cssprop --bq-accordion--panel-ghost-border-style - Accordion ghost panel border style\n * @cssprop --bq-accordion--panel-ghost-border-width - Accordion ghost panel border width\n * @cssprop --bq-accordion--panel-small-ghost-padding-y - Accordion small ghost panel vertical padding\n * @cssprop --bq-accordion--panel-small-ghost-padding-start - Accordion small ghost panel start padding\n * @cssprop --bq-accordion--panel-small-ghost-padding-end - Accordion small ghost panel end padding\n * @cssprop --bq-accordion--panel-medium-ghost-padding-y - Accordion medium ghost panel vertical padding\n * @cssprop --bq-accordion--panel-medium-ghost-padding-start - Accordion medium ghost panel start padding\n * @cssprop --bq-accordion--panel-medium-ghost-padding-end - Accordion medium ghost panel end padding\n */\n@Component({\n tag: 'bq-accordion',\n styleUrl: './scss/bq-accordion.scss',\n shadow: true,\n})\nexport class BqAccordion {\n // Own Properties\n // ====================\n\n private accordion: Accordion;\n private prefixElem: HTMLDivElement;\n private suffixElem: HTMLDivElement;\n private detailsElem: HTMLDetailsElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n // Public Property API\n // ========================\n\n /** The appearance style of the Accordion */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true, the Accordion is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If true, the Accordion is expanded */\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the Accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true, the Accordion expand icon is rotate 180deg when expanded */\n @Prop({ reflect: true }) rotate: boolean = false;\n\n /** The size of the Accordion */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(ACCORDION_SIZE, 'medium', this.el, 'size');\n validatePropValue(ACCORDION_APPEARANCE, 'filled', this.el, 'appearance');\n }\n\n @Watch('expanded')\n handleExpandedChange() {\n const event = this.expanded ? this.bqOpen.emit(this.el) : this.bqClose.emit(this.el);\n if (event.defaultPrevented) {\n this.expanded = !this.expanded;\n return;\n }\n\n if (this.expanded) {\n this.accordion?.open();\n } else {\n this.accordion?.close();\n }\n if (!this.isCssInterpolateSizeSupported) return;\n\n // NOTE: This is a workaround to trigger the transitionEnd event\n // when the open/close animation is handled via CSS instead of JS\n setTimeout(() => {\n this.el.dispatchEvent(new CustomEvent('accordionTransitionEnd', { bubbles: false, composed: true }));\n }, 200);\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n if (!this.disabled) return;\n\n this.expanded = false;\n }\n\n @Watch('noAnimation')\n handleJsAnimation() {\n if (this.isCssInterpolateSizeSupported) return;\n\n console.warn(\n `[bq-accordion] animating to/from intrinsic sizing keywords (interpolate-size: allow-keywords) is not supported and animation will be set through JS.\n For vertical layout, consider using the 'noAnimation' prop ('no-animation' attribute) to disable it`,\n );\n this.accordion = !this.noAnimation ? new Accordion(this.detailsElem) : null;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the accordion loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is opened */\n @Event() bqOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is opened */\n @Event() bqAfterOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is closed */\n @Event() bqClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is closed */\n @Event() bqAfterClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is clicked */\n @Event() bqClick: EventEmitter<HTMLBqAccordionElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleJsAnimation();\n this.handleExpandedChange();\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('accordionTransitionEnd')\n onAccordionTransitionEnd(event: CustomEvent) {\n event.stopPropagation();\n if (event.target !== this.el) return;\n\n if (this.expanded) {\n this.bqAfterOpen.emit(this.el);\n return;\n }\n\n this.bqAfterClose.emit(this.el);\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 handleClick = (event: MouseEvent) => {\n event.preventDefault();\n\n if (this.disabled) return;\n\n this.bqClick.emit(this.el);\n this.expanded = !this.expanded;\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private get open() {\n return this.expanded && !this.disabled;\n }\n\n private get isCssInterpolateSizeSupported() {\n return window.CSS?.supports('(interpolate-size: allow-keywords)');\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <details\n class={{\n [`bq-accordion overflow-hidden ${this.size} ${this.appearance}`]: true,\n 'no-animation': this.noAnimation,\n disabled: this.disabled,\n }}\n ref={(detailsElem: HTMLDetailsElement) => (this.detailsElem = detailsElem)}\n open={this.open}\n part=\"base\"\n >\n <summary\n id=\"bq-accordion__header\"\n class=\"bq-accordion__header\"\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-expanded={this.expanded ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls=\"bq-accordion__content\"\n tabindex={this.disabled ? -1 : 0}\n role=\"button\"\n part=\"header\"\n >\n <div\n ref={(element) => (this.prefixElem = element)}\n class={{ 'bq-accordion__header--prefix': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </div>\n <div class=\"bq-accordion__header--text\" part=\"text\">\n <slot name=\"header\" />\n </div>\n <div\n ref={(element) => (this.suffixElem = element)}\n class={{ 'bq-accordion__header--suffix': true, '!hidden': !this.hasSuffix }}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </div>\n <div\n class={{\n 'flex items-center justify-center text-primary transition-transform duration-300 ease-in-out': true,\n '!hidden': this.open && !this.rotate,\n 'rotate-180': this.rotate && this.open,\n }}\n aria-hidden=\"true\"\n >\n <slot name=\"expand\">\n <bq-icon name=\"plus\" />\n </slot>\n </div>\n <div\n class={{\n 'flex items-center justify-center text-primary': true,\n '!hidden': (!this.open && !this.rotate) || this.rotate,\n }}\n aria-hidden=\"true\"\n >\n <slot name=\"collapse\">\n <bq-icon name=\"minus\" />\n </slot>\n </div>\n </summary>\n <div\n class=\"bq-accordion__body overflow-hidden bg-ui-primary text-primary\"\n aria-labelledby=\"bq-accordion__header\"\n role=\"region\"\n part=\"panel\"\n >\n <slot id=\"bq-accordion__content\" class=\"bq-accordion__content block\" />\n </div>\n </details>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bq-accordion.entry.esm.js","sources":["../../packages/beeq/src/components/accordion/bq-accordion.types.ts","../../packages/beeq/src/components/accordion/helper/index.ts","../../packages/beeq/src/components/accordion/scss/bq-accordion.scss?tag=bq-accordion&encapsulation=shadow","../../packages/beeq/src/components/accordion/bq-accordion.tsx"],"sourcesContent":["export const ACCORDION_SIZE = ['small', 'medium'] as const;\nexport type TAccordionSize = (typeof ACCORDION_SIZE)[number];\n\nexport const ACCORDION_APPEARANCE = ['filled', 'ghost'] as const;\nexport type TAccordionAppearance = (typeof ACCORDION_APPEARANCE)[number];\n","/* -------------------------------------------------------------------------------------- */\n/* 💡 Credits: https://css-tricks.com/how-to-animate-the-details-element-using-waapi */\n/* -------------------------------------------------------------------------------------- */\n\nexport class Accordion {\n private el: HTMLDetailsElement;\n private header: HTMLElement;\n private panel: HTMLElement;\n private animation: Animation | null;\n private isClosing: boolean;\n private isExpanding: boolean;\n private animationOptions = {\n duration: 200,\n easing: 'ease-in-out',\n };\n\n constructor(el: HTMLDetailsElement) {\n // Store the <details> element\n this.el = el;\n // Store the <summary> header element\n this.header = el.querySelector('summary');\n // Store the <div class=\"content\"> element\n this.panel = el.querySelector('.bq-accordion__body');\n // Store the animation object (so we can cancel it, if needed)\n this.animation = null;\n // Store if the element is closing\n this.isClosing = false;\n // Store if the element is expanding\n this.isExpanding = false;\n }\n\n public open() {\n // Check if the element is being closed or is already closed\n if (!this.isClosing && this.el.open) return;\n // Apply a fixed height on the element\n this.el.style.height = `${this.el.offsetHeight}px`;\n // Force the [open] attribute on the details element\n this.el.open = true;\n // Wait for the next frame to call the expand function\n window.requestAnimationFrame(() => this.expand());\n }\n\n public close() {\n // Check if the element is being opened or is already open\n if (!this.isExpanding && !this.el.open) return;\n // Set the element as \"being closed\"\n this.isClosing = true;\n\n // Store the current height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the height of the <summary> header\n const endHeight = `${this.header.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(false);\n // If the animation is cancelled, isClosing variable is set to false\n this.animation.oncancel = () => {\n this.isClosing = false;\n };\n }\n\n // Expands the accordion\n private expand() {\n // Set the element as \"being expanding\"\n this.isExpanding = true;\n // Get the current fixed height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the open height of the element (summary header height + panel body height)\n const endHeight = `${this.header.offsetHeight + this.panel.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(true);\n // If the animation is cancelled, isExpanding variable is set to false\n this.animation.oncancel = () => {\n this.isExpanding = false;\n };\n }\n\n // Handles the end of the animation\n private onAnimationFinish(open: boolean) {\n // Set the open attribute based on the parameter\n this.el.open = open;\n // Clear the stored animation\n this.animation = null;\n // Reset isClosing & isExpanding\n this.isClosing = false;\n this.isExpanding = false;\n // Remove the overflow hidden and the fixed height\n this.el.removeAttribute('style');\n // Dispatch a custom event based on the open parameter\n const endEvent = new Event('accordionTransitionEnd', { bubbles: false, composed: true });\n this.el.dispatchEvent(endEvent);\n }\n}\n","/* -------------------------------------------------------------------------- */\n/* Accordion styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion.variables';\n\n:host {\n @apply block;\n}\n\n.bq-accordion:not(.no-animation) {\n /* -------------------------------------------------------------------- */\n /* Opt-in the component to animating to/from intrinsic sizing keywords */\n /* Details: https://chrome.dev/css-wrapped-2024/#animate-to-height-auto */\n /* -------------------------------------------------------------------- */\n @apply supports-[interpolate-size:_allow-keywords]:[interpolate-size:_allow-keywords];\n}\n\n.bq-accordion {\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n\n .bq-accordion__header {\n @apply pointer-events-none;\n }\n }\n\n &.small .bq-accordion__header {\n @apply gap-[--bq-accordion--small-gap] pe-[--bq-accordion--small-padding-end] ps-[--bq-accordion--small-padding-start] p-b-[--bq-accordion--small-padding-y];\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[--bq-accordion--small-radius] rounded-ss-[--bq-accordion--small-radius];\n }\n\n &.medium .bq-accordion__header {\n @apply gap-[--bq-accordion--medium-gap] pe-[--bq-accordion--medium-padding-end] ps-[--bq-accordion--medium-padding-start] p-b-[--bq-accordion--medium-padding-y];\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[--bq-accordion--medium-radius] rounded-ss-[--bq-accordion--medium-radius];\n }\n\n &[open] .bq-accordion__header {\n @apply border-[length:--bq-accordion--expanded-border-width] border-[color:--bq-accordion--expanded-border-color];\n @apply rounded-ee-[0px] rounded-es-[0px];\n\n border-style: var(--bq-accordion--expanded-border-style);\n }\n\n &.small .bq-accordion__content {\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.medium .bq-accordion__content {\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.filled {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-collapsed-text-color];\n }\n\n .bq-accordion__content {\n @apply border-[length:--bq-accordion--panel-filled-border-width] border-[color:--bq-accordion--panel-filled-border-color];\n\n border-style: var(--bq-accordion--panel-filled-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-expanded-text-color];\n }\n }\n\n &.ghost {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-collapsed-text-color];\n }\n\n .bq-accordion__content {\n @apply border-[length:--bq-accordion--panel-ghost-border-width] border-[color:--bq-accordion--panel-ghost-border-color];\n\n border-style: var(--bq-accordion--panel-ghost-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-expanded-text-color];\n }\n }\n\n &.small.filled .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-small-filled-padding-end] ps-[--bq-accordion--panel-small-filled-padding-start] p-b-[--bq-accordion--panel-small-filled-padding-y];\n }\n\n &.medium.filled .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-medium-filled-padding-end] ps-[--bq-accordion--panel-medium-filled-padding-start] p-b-[--bq-accordion--panel-medium-filled-padding-y];\n }\n\n &.small.ghost .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-small-ghost-padding-end] ps-[--bq-accordion--panel-small-ghost-padding-start] p-b-[--bq-accordion--panel-small-ghost-padding-y];\n }\n\n &.medium.ghost .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-medium-ghost-padding-end] ps-[--bq-accordion--panel-medium-ghost-padding-start] p-b-[--bq-accordion--panel-medium-ghost-padding-y];\n }\n}\n\n.bq-accordion::details-content {\n @apply block overflow-clip transition-all duration-300 ease-in-out bs-0 [transition-behavior:allow-discrete];\n}\n\n.bq-accordion[open]::details-content {\n @apply bs-auto;\n}\n\n.bq-accordion__header {\n // Since there's an overflow on the <summary> element, the focus outline is not visible,\n // so we force it to be inset to avoid the overflow hidden.\n --bq-ring-offset-width: -2px;\n\n @apply flex cursor-pointer select-none list-none items-center transition-colors duration-300 ease-in-out focus-visible:focus;\n @apply border-[length:--bq-accordion--collapsed-border-width] border-[color:--bq-accordion--collapsed-border-color];\n\n border-style: var(--bq-accordion--collapsed-border-style);\n\n &::marker,\n &::-webkit-details-marker {\n @apply hidden;\n }\n}\n\n.bq-accordion__header--text {\n @apply flex-1;\n}\n\n.bq-accordion__header--prefix,\n.bq-accordion__header--suffix {\n @apply flex items-center justify-center;\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, h, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\nimport type { TAccordionAppearance, TAccordionSize } from './bq-accordion.types';\nimport { ACCORDION_APPEARANCE, ACCORDION_SIZE } from './bq-accordion.types';\nimport { Accordion } from './helper';\n\n/**\n * The Accordion is a UI component that allows users to toggle between showing and hiding content sections. It provides a collapsible functionality, where only one section can be expanded at a time, while the others remain collapsed.\n *\n * @example How to use it\n * ```html\n * <bq-accordion appearance=\"filled\" size=\"medium\">\n * <bq-avatar size=\"xsmall\" image=\"/image/url/img.png\" slot=\"prefix\"></bq-avatar>\n * <h3 slot=\"header\">Header</h3>\n * <div>Lorem ipsum dolor...</div>\n * </bq-accordion>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/713eae-accordion\n * @status stable\n *\n * @dependency bq-icon\n *\n * @attr {\"filled\" | \"ghost\"} [appearance=\"filled\"] - The appearance style of the Accordion\n * @attr {boolean} [disabled=false] - If true, the Accordion is disabled\n * @attr {boolean} [expanded=false] - If true, the Accordion is expanded\n * @attr {boolean} [no-animation=false] - Animation is set through JS when the browser does not support CSS calc-size() If true, the Accordion animation, will be disabled. No animation will be applied.\n * @attr {boolean} [rotate=false] - If true, the Accordion expand icon is rotate 180deg when expanded\n * @attr {\"small\" | \"medium\"} [size=\"medium\"] - The size of the the Accordion\n *\n * @event bqOpen - Handler to be called when the accordion is opened\n * @event bqAfterOpen - Handler to be called after the accordion is opened\n * @event bqClose - Handler to be called when the accordion is closed\n * @event bqAfterClose - Handler to be called after the accordion is closed\n * @event bqFocus - Handler to be called when the accordion gets focus\n * @event bqClick - Handler to be called when the accordion is clicked\n * @event bqBlur - Handler to be called when the accordion loses focus\n *\n * @slot - The accordion panel content\n * @slot collapse - The accordion collapse icon\n * @slot expand - The accordion expand icon\n * @slot header - The accordion header content\n * @slot prefix - The accordion prefix content (icon or avatar)\n * @slot suffix - The accordion suffix content (icon or avatar)\n *\n * @part base - The `<details>` that holds the accordion content\n * @part header - The `<summary>` that holds the accordion header content\n * @part panel - The `<div>` that holds the accordion panel content\n * @part prefix - The `<div>` that holds the accordion prefix content\n * @part suffix - The `<div>` that holds the accordion suffix content\n * @part text - The `<div>` that holds the accordion header text content\n *\n * @cssprop --bq-accordion--small-padding-y - Accordion small vertical padding\n * @cssprop --bq-accordion--small-padding-start - Accordion small start padding\n * @cssprop --bq-accordion--small-padding-end - Accordion small end padding\n * @cssprop --bq-accordion--small-padding-gap - Accordion small gap distance between suffix, title and prefix\n * @cssprop --bq-accordion--small-radius - Accordion small border radius\n *\n * @cssprop --bq-accordion--medium-padding-y - Accordion medium vertical padding\n * @cssprop --bq-accordion--medium-padding-start - Accordion medium start padding\n * @cssprop --bq-accordion--medium-padding-end - Accordion medium end padding\n * @cssprop --bq-accordion--medium-padding-gap - Accordion medium gap distance between suffix, title and prefix\n * @cssprop --bq-accordion--medium-radius - Accordion medium border radius\n *\n * @cssprop --bq-accordion--collapsed-border-color - Accordion collapsed border color\n * @cssprop --bq-accordion--collapsed-border-style - Accordion collapsed border style\n * @cssprop --bq-accordion--collapsed-border-width - Accordion collapsed border width\n *\n * @cssprop --bq-accordion--expanded-border-color - Accordion expanded border color\n * @cssprop --bq-accordion--expanded-border-style - Accordion expanded border style\n * @cssprop --bq-accordion--expanded-border-width - Accordion expanded border width\n *\n * @cssprop --bq-accordion--filled-collapsed-background - Accordion filled collapsed header background\n * @cssprop --bq-accordion--filled-collapsed-text-color - Accordion filled collapsed header text color\n * @cssprop --bq-accordion--filled-expanded-background - Accordion filled expanded header background\n * @cssprop --bq-accordion--filled-expanded-collapsed-hover - Accordion filled expanded header color on hover\n * @cssprop --bq-accordion--filled-expanded-text-color - Accordion filled expanded header text color\n *\n * @cssprop --bq-accordion--ghost-collapsed-background - Accordion ghost collapsed header background\n * @cssprop --bq-accordion--ghost-collapsed-text-color - Accordion ghost collapsed header text color\n * @cssprop --bq-accordion--ghost-expanded-background - Accordion ghost expanded header background\n * @cssprop --bq-accordion--ghost-expanded-collapsed-hover - Accordion ghost expanded header color on hover\n * @cssprop --bq-accordion--ghost-expanded-text-color - Accordion ghost expanded header text color\n *\n * @cssprop --bq-accordion--panel-filled-border-color - Accordion filled panel border color\n * @cssprop --bq-accordion--panel-filled-border-style - Accordion filled panel border style\n * @cssprop --bq-accordion--panel-filled-border-width - Accordion filled panel border width\n * @cssprop --bq-accordion--panel-small-filled-padding-y - Accordion small filled panel vertical padding\n * @cssprop --bq-accordion--panel-small-filled-padding-start - Accordion small filled panel start padding\n * @cssprop --bq-accordion--panel-small-filled-padding-end - Accordion small filled panel end padding\n * @cssprop --bq-accordion--panel-medium-filled-padding-y - Accordion medium filled panel vertical padding\n * @cssprop --bq-accordion--panel-medium-filled-padding-start - Accordion medium filled panel start padding\n * @cssprop --bq-accordion--panel-medium-filled-padding-end - Accordion medium filled panel end padding\n *\n * @cssprop --bq-accordion--panel-ghost-border-color - Accordion ghost panel border color\n * @cssprop --bq-accordion--panel-ghost-border-style - Accordion ghost panel border style\n * @cssprop --bq-accordion--panel-ghost-border-width - Accordion ghost panel border width\n * @cssprop --bq-accordion--panel-small-ghost-padding-y - Accordion small ghost panel vertical padding\n * @cssprop --bq-accordion--panel-small-ghost-padding-start - Accordion small ghost panel start padding\n * @cssprop --bq-accordion--panel-small-ghost-padding-end - Accordion small ghost panel end padding\n * @cssprop --bq-accordion--panel-medium-ghost-padding-y - Accordion medium ghost panel vertical padding\n * @cssprop --bq-accordion--panel-medium-ghost-padding-start - Accordion medium ghost panel start padding\n * @cssprop --bq-accordion--panel-medium-ghost-padding-end - Accordion medium ghost panel end padding\n */\n@Component({\n tag: 'bq-accordion',\n styleUrl: './scss/bq-accordion.scss',\n shadow: true,\n})\nexport class BqAccordion {\n // Own Properties\n // ====================\n\n private accordion: Accordion;\n private prefixElem: HTMLDivElement;\n private suffixElem: HTMLDivElement;\n private detailsElem: HTMLDetailsElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n // Public Property API\n // ========================\n\n /** The appearance style of the Accordion */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true, the Accordion is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If true, the Accordion is expanded */\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the Accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true, the Accordion expand icon is rotate 180deg when expanded */\n @Prop({ reflect: true }) rotate: boolean = false;\n\n /** The size of the Accordion */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(ACCORDION_SIZE, 'medium', this.el, 'size');\n validatePropValue(ACCORDION_APPEARANCE, 'filled', this.el, 'appearance');\n }\n\n @Watch('expanded')\n handleExpandedChange() {\n const event = this.expanded ? this.bqOpen.emit(this.el) : this.bqClose.emit(this.el);\n if (event.defaultPrevented) {\n this.expanded = !this.expanded;\n return;\n }\n\n if (this.expanded) {\n this.accordion?.open();\n } else {\n this.accordion?.close();\n }\n if (!this.isCssInterpolateSizeSupported) return;\n\n // NOTE: This is a workaround to trigger the transitionEnd event\n // when the open/close animation is handled via CSS instead of JS\n setTimeout(() => {\n this.el.dispatchEvent(new CustomEvent('accordionTransitionEnd', { bubbles: false, composed: true }));\n }, 200);\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n if (!this.disabled) return;\n\n this.expanded = false;\n }\n\n @Watch('noAnimation')\n handleJsAnimation() {\n if (this.isCssInterpolateSizeSupported) return;\n\n console.warn(\n `[bq-accordion] animating to/from intrinsic sizing keywords (interpolate-size: allow-keywords) is not supported and animation will be set through JS.\n For vertical layout, consider using the 'noAnimation' prop ('no-animation' attribute) to disable it`,\n );\n this.accordion = !this.noAnimation ? new Accordion(this.detailsElem) : null;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the accordion loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is opened */\n @Event() bqOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is opened */\n @Event() bqAfterOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is closed */\n @Event() bqClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is closed */\n @Event() bqAfterClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is clicked */\n @Event() bqClick: EventEmitter<HTMLBqAccordionElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleJsAnimation();\n this.handleExpandedChange();\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('accordionTransitionEnd')\n onAccordionTransitionEnd(event: CustomEvent) {\n event.stopPropagation();\n if (event.target !== this.el) return;\n\n if (this.expanded) {\n this.bqAfterOpen.emit(this.el);\n return;\n }\n\n this.bqAfterClose.emit(this.el);\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 handleClick = (event: MouseEvent) => {\n event.preventDefault();\n\n if (this.disabled) return;\n\n this.bqClick.emit(this.el);\n this.expanded = !this.expanded;\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private get open() {\n return this.expanded && !this.disabled;\n }\n\n private get isCssInterpolateSizeSupported() {\n return window.CSS?.supports('(interpolate-size: allow-keywords)');\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <details\n class={{\n [`bq-accordion overflow-hidden ${this.size} ${this.appearance}`]: true,\n 'no-animation': this.noAnimation,\n disabled: this.disabled,\n }}\n open={this.open}\n part=\"base\"\n ref={(detailsElem: HTMLDetailsElement) => {\n this.detailsElem = detailsElem;\n }}\n >\n <summary\n aria-controls=\"bq-accordion__content\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-expanded={this.expanded ? 'true' : 'false'}\n class=\"bq-accordion__header\"\n id=\"bq-accordion__header\"\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n part=\"header\"\n role=\"button\"\n tabindex={this.disabled ? -1 : 0}\n >\n <div\n class={{ 'bq-accordion__header--prefix': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n ref={(element) => {\n this.prefixElem = element;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </div>\n <div class=\"bq-accordion__header--text\" part=\"text\">\n <slot name=\"header\" />\n </div>\n <div\n class={{ 'bq-accordion__header--suffix': true, '!hidden': !this.hasSuffix }}\n part=\"suffix\"\n ref={(element) => {\n this.suffixElem = element;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </div>\n <div\n aria-hidden=\"true\"\n class={{\n 'flex items-center justify-center text-primary transition-transform duration-300 ease-in-out': true,\n '!hidden': this.open && !this.rotate,\n 'rotate-180': this.rotate && this.open,\n }}\n >\n <slot name=\"expand\">\n <bq-icon name=\"plus\" />\n </slot>\n </div>\n <div\n aria-hidden=\"true\"\n class={{\n 'flex items-center justify-center text-primary': true,\n '!hidden': (!this.open && !this.rotate) || this.rotate,\n }}\n >\n <slot name=\"collapse\">\n <bq-icon name=\"minus\" />\n </slot>\n </div>\n </summary>\n <div\n aria-labelledby=\"bq-accordion__header\"\n class=\"bq-accordion__body overflow-hidden bg-ui-primary text-primary\"\n part=\"panel\"\n role=\"region\"\n >\n <slot class=\"bq-accordion__content block\" id=\"bq-accordion__content\" />\n </div>\n </details>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bq-alert.entry.esm.js","sources":["../../packages/beeq/src/components/alert/bq-alert.types.ts","../../packages/beeq/src/components/alert/scss/bq-alert.scss?tag=bq-alert&encapsulation=shadow","../../packages/beeq/src/components/alert/bq-alert.tsx"],"sourcesContent":["export const ALERT_TYPE = ['info', 'success', 'warning', 'error', 'default'] as const;\nexport type TAlertType = (typeof ALERT_TYPE)[number];\n\nexport const ALERT_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TAlertBorderRadius = (typeof ALERT_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Alert styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-alert.variables';\n\n:host {\n @apply block;\n}\n\n:host(.is-hidden) {\n @apply hidden;\n}\n\n:host(.is-sticky) {\n @apply fixed inset-0 z-[var(--bq-alert--z-index)] is-full inset-bs-0;\n\n .bq-alert {\n @apply items-center justify-center rounded-none;\n }\n}\n\n.bq-alert {\n @apply relative flex transition-all min-is-[--bq-alert--min-width] p-b-[--bq-alert--padding] p-i-[--bq-alert--padding];\n @apply rounded-[var(--bq-alert--border-radius)] border-[length:--bq-alert--border-width];\n\n border-style: var(--bq-alert--border-style);\n}\n\n/**\n * Set the alert background and border color based on the type value selected\n */\n\n.bq-alert__default {\n @apply border-[color:--bq-alert--border-default] bg-[color:--bq-alert--background-default];\n}\n\n.bq-alert__error {\n @apply border-[color:--bq-alert--border-error] bg-[color:--bq-alert--background-error];\n}\n\n.bq-alert__info {\n @apply border-[color:--bq-alert--border-info] bg-[color:--bq-alert--background-info];\n}\n\n.bq-alert__success {\n @apply border-[color:--bq-alert--border-success] bg-[color:--bq-alert--background-success];\n}\n\n.bq-alert__warning {\n @apply border-[color:--bq-alert--border-warning] bg-[color:--bq-alert--background-warning];\n}\n\n/**\n * Set the alert icon color based on the type value selected\n */\n.bq-alert__icon {\n &--default {\n @apply text-[color:--bq-alert--icon-color-default];\n }\n\n &--error {\n @apply text-[color:--bq-alert--icon-color-error];\n }\n\n &--info {\n @apply text-[color:--bq-alert--icon-color-info];\n }\n\n &--success {\n @apply text-[color:--bq-alert--icon-color-success];\n }\n\n &--warning {\n @apply text-[color:--bq-alert--icon-color-warning];\n }\n}\n\n/**\n * Tweak the close bq-button styles so it remain small without extra padding\n */\n.bq-alert__close::part(button) {\n @apply rounded-s border-0 bs-fit p-b-0 p-i-0;\n}\n","import { Component, Element, Event, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport { ALERT_TYPE } from './bq-alert.types';\nimport type { TAlertBorderRadius, TAlertType } from './bq-alert.types';\nimport { debounce, enter, hasSlotContent, leave, TDebounce, validatePropValue } from '../../shared/utils';\n\n/**\n * The Alert is a user interface component used to convey important information to the user in a clear and concise manner.\n * It can be used to notify users of success, failure, warning, or any other type of information that needs to be brought to their attention.\n *\n * @example How to use it\n * ```html\n * <bq-alert>\n * <bq-icon name=\"star\" slot=\"icon\"></bq-icon>\n * Title\n * <span slot=\"body\">\n * Description\n * <a class=\"bq-link\" href=\"https://example.com\">Link</a>\n * </span>\n * <div slot=\"footer\">\n * <bq-button appearance=\"primary\" size=\"small\">Button</bq-button>\n * <bq-button appearance=\"link\" size=\"small\">Button</bq-button>\n * </div>\n * </bq-alert>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/848a50-alert\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {boolean} [auto-dismiss=false] - If true, the alert will automatically hide after the specified amount of time\n * @attr {\"none\" | \"xs2\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"full\"} [border='s'] - The corner radius of the alert component\n * @attr {boolean} [disable-close=false] - If true, the close button at the top right of the alert won't be shown\n * @attr {boolean} [hide-icon=false] - If true, the alert icon won't be shown\n * @attr {boolean} [open=false] - If true, the alert will be shown\n * @attr {number} [time=3000] - The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"`\n * @attr {\"info\" | \"success\" | \"warning\" | \"error\" | \"default\"} [type='default'] - Type of Alert\n * @attr {boolean} [sticky=false] - If true, the alert component will remain fixed at the top of the page, occupying the full viewport\n *\n * @event bqHide - Callback handler to be called when the alert is hidden\n * @event bqShow - Callback handler to be called when the alert is shown\n * @event bqAfterShow - Callback handler to be called after the alert has been shown\n * @event bqAfterHide - Callback handler to be called after the alert has been hidden\n *\n * @slot - The alert title content (no slot name required)\n * @slot body - The alert description content\n * @slot footer - The alert footer content\n * @slot icon - The predefined icon based on the alert type (info, success, warning, error, default)\n * @slot btn-close - The close button of the alert\n *\n * @part base - The `<div>` container of the predefined bq-icon component\n * @part body - The container `<div>` that wraps the alert description content\n * @part btn-close - The `bq-button` used to close the alert\n * @part content - The container `<div>` that wraps all the alert content (title, description, footer)\n * @part footer - The container `<div>` that wraps the alert footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon based on the alert type (info, success, warning, error, default)\n * @part icon-outline - The container `<div>` that wraps the icon element\n * @part main - The container `<div>` that wraps the alert main content (title, description)\n * @part svg - The `<svg>` element of the predefined bq-icon component\n * @part title - The container `<div>` that wraps the alert title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n *\n * @cssprop --bq-alert--background - The alert background color\n * @cssprop --bq-alert--border-radius - The alert border radius\n * @cssprop --bq-alert--content-footer-gap - The alert content and footer gap\n * @cssprop --bq-alert--title-body-gap - The alert title and body gap\n *\n * @cssprop --bq-alert--border-color - The alert border color\n * @cssprop --bq-alert--border-style - The alert border style\n * @cssprop --bq-alert--border-width - The alert border width\n *\n * @cssprop --bq-alert--background-info - The alert background color for info type\n * @cssprop --bq-alert--background-success - The alert background color for success type\n * @cssprop --bq-alert--background-warning - The alert background color for warning type\n * @cssprop --bq-alert--background-error - The alert background color for error type\n *\n * @cssprop --bq-alert--border-info - The alert border color for info type\n * @cssprop --bq-alert--border-success - The alert border color for success type\n * @cssprop --bq-alert--border-warning - The alert border color for warning type\n * @cssprop --bq-alert--border-error - The alert border color for error type\n *\n * @cssprop --bq-alert--icon-color-info - The alert icon color for info type\n * @cssprop --bq-alert--icon-color-success - The alert icon color for success type\n * @cssprop --bq-alert--icon-color-warning - The alert icon color for warning type\n * @cssprop --bq-alert--icon-color-error - The alert icon color for error type\n *\n * @cssprop --bq-alert--padding - The alert padding\n * @cssprop --bq-alert--min-width - The alert min width\n */\n@Component({\n tag: 'bq-alert',\n styleUrl: './scss/bq-alert.scss',\n shadow: true,\n})\nexport class BqAlert {\n // Own Properties\n // ====================\n\n private autoDismissDebounce: TDebounce<void>;\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n private alertElement: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAlertElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** If true, the alert will automatically hide after the specified amount of time */\n @Prop({ reflect: true }) autoDismiss: boolean;\n\n /** The corner radius of the alert component */\n @Prop({ reflect: true }) border: TAlertBorderRadius = 's';\n\n /** If true, the close button at the top right of the alert won't be shown */\n @Prop({ reflect: true }) disableClose: boolean;\n\n /** If true, the alert icon won't be shown */\n @Prop({ reflect: true }) hideIcon: boolean;\n\n /** If true, the alert will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"` */\n @Prop({ reflect: true }) time: number = 3000;\n\n /** Type of Alert */\n @Prop({ reflect: true }) type: TAlertType = 'default';\n\n /** If true, the alert component will remain fixed at the top of the page, occupying the full viewport */\n @Prop({ reflect: true }) sticky: boolean;\n\n // Prop lifecycle events\n // =======================\n @Watch('autoDismiss')\n @Watch('time')\n handleTimeout() {\n this.autoDismissDebounce?.cancel();\n if (!this.autoDismiss) return;\n\n this.autoDismissDebounce = debounce(() => {\n this.hide();\n }, this.time);\n // Make sure to autodismiss the notification if the `auto-dismiss` value changed while open\n if (this.open) this.autoDismissDebounce();\n }\n\n @Watch('open')\n handleOpenChange() {\n this.autoDismissDebounce?.cancel();\n\n if (!this.open) {\n this.handleHide();\n return;\n }\n\n this.handleShow();\n\n if (this.autoDismiss) {\n this.autoDismissDebounce();\n }\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(ALERT_TYPE, 'info', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the alert is hidden */\n @Event() bqHide!: EventEmitter;\n\n /** Callback handler to be called when the alert is shown */\n @Event() bqShow!: EventEmitter;\n\n /** Callback handler to be called after the alert has been shown */\n @Event() bqAfterShow!: EventEmitter;\n\n /** Callback handler to be called after the alert has been hidden */\n @Event() bqAfterHide!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleTimeout();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n\n if (!this.open) {\n this.el.classList.add('is-hidden');\n }\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to hide the alert component */\n @Method()\n async hide(): Promise<void> {\n this.open = false;\n }\n\n /** Method to be called to show the alert component */\n @Method()\n async show(): Promise<void> {\n this.open = true;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleHide = async () => {\n const ev = this.bqHide.emit(this.el);\n if (!ev.defaultPrevented) {\n await leave(this.alertElement);\n this.el.classList.add('is-hidden');\n this.handleTransitionEnd();\n }\n };\n\n private handleShow = async () => {\n const ev = this.bqShow.emit(this.el);\n if (!ev.defaultPrevented) {\n this.el.classList.remove('is-hidden');\n await enter(this.alertElement);\n this.handleTransitionEnd();\n }\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterShow.emit();\n return;\n }\n\n this.bqAfterHide.emit();\n };\n\n private handleSlotChange = () => {\n this.hasContent = hasSlotContent(this.bodyElem, 'body');\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconName(): string {\n const iconName = {\n error: 'x-circle',\n success: 'check-circle',\n warning: 'warning-circle',\n };\n\n return iconName[this.type] || 'info';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-alert--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host\n style={style}\n class={{ 'is-sticky': this.sticky }}\n aria-hidden={!this.open ? 'true' : 'false'}\n hidden={!this.open ? 'true' : 'false'}\n role=\"alert\"\n >\n <div\n class={{\n [`bq-alert bq-alert__${this.type}`]: true,\n 'is-sticky': this.sticky,\n }}\n data-transition-enter=\"transition ease-out duration-300\"\n data-transition-enter-start=\"opacity-0\"\n data-transition-enter-end=\"opacity-100\"\n data-transition-leave=\"transition ease-in duration-200\"\n data-transition-leave-start=\"opacity-100\"\n data-transition-leave-end=\"opacity-0\"\n ref={(div) => (this.alertElement = div)}\n part=\"wrapper\"\n >\n {/* CLOSE BUTTON */}\n {!this.disableClose && (\n <bq-button\n class=\"bq-alert__close absolute end-5 focus-visible:focus [&::part(label)]:inline-flex\"\n appearance=\"text\"\n size=\"small\"\n onClick={this.hide.bind(this)}\n part=\"btn-close\"\n >\n <slot name=\"btn-close\">\n <bq-icon name=\"x\" />\n </slot>\n </bq-button>\n )}\n {/* ICON */}\n <div\n class={{\n [`bq-alert__icon--${this.type} me-s flex text-left align-top`]: true,\n '!hidden': this.hideIcon,\n }}\n part=\"icon-outline\"\n >\n <slot name=\"icon\">\n {this.type !== 'default' && <bq-icon name={this.iconName} part=\"icon\" exportparts=\"base,svg\" />}\n </slot>\n </div>\n {/* MAIN */}\n <div class=\"flex flex-col items-start gap-[--bq-alert--content-footer-gap]\" part=\"main\">\n <div class=\"flex flex-col gap-[--bq-alert--title-body-gap]\" part=\"content\">\n {/* TITLE */}\n <div\n class={{\n 'title-font font-semibold leading-regular text-primary': true,\n 'flex items-center': this.sticky,\n }}\n part=\"title\"\n >\n <slot />\n </div>\n {/* BODY */}\n <div\n class={{ 'text-s leading-regular text-primary': true, '!hidden': !this.hasContent }}\n ref={(div) => (this.bodyElem = div)}\n part=\"body\"\n >\n <slot name=\"body\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n {/* FOOTER */}\n <div\n class={{ 'flex items-start gap-xs': true, '!hidden': !this.hasFooter }}\n ref={(div) => (this.footerElem = div)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bq-alert.entry.esm.js","sources":["../../packages/beeq/src/components/alert/bq-alert.types.ts","../../packages/beeq/src/components/alert/scss/bq-alert.scss?tag=bq-alert&encapsulation=shadow","../../packages/beeq/src/components/alert/bq-alert.tsx"],"sourcesContent":["export const ALERT_TYPE = ['info', 'success', 'warning', 'error', 'default'] as const;\nexport type TAlertType = (typeof ALERT_TYPE)[number];\n\nexport const ALERT_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TAlertBorderRadius = (typeof ALERT_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Alert styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-alert.variables';\n\n:host {\n @apply block;\n}\n\n:host(.is-hidden) {\n @apply hidden;\n}\n\n:host(.is-sticky) {\n @apply fixed inset-0 z-[var(--bq-alert--z-index)] is-full inset-bs-0;\n\n .bq-alert {\n @apply items-center justify-center rounded-none;\n }\n}\n\n.bq-alert {\n @apply relative flex transition-all min-is-[--bq-alert--min-width] p-b-[--bq-alert--padding] p-i-[--bq-alert--padding];\n @apply rounded-[var(--bq-alert--border-radius)] border-[length:--bq-alert--border-width];\n\n border-style: var(--bq-alert--border-style);\n}\n\n/**\n * Set the alert background and border color based on the type value selected\n */\n\n.bq-alert__default {\n @apply border-[color:--bq-alert--border-default] bg-[color:--bq-alert--background-default];\n}\n\n.bq-alert__error {\n @apply border-[color:--bq-alert--border-error] bg-[color:--bq-alert--background-error];\n}\n\n.bq-alert__info {\n @apply border-[color:--bq-alert--border-info] bg-[color:--bq-alert--background-info];\n}\n\n.bq-alert__success {\n @apply border-[color:--bq-alert--border-success] bg-[color:--bq-alert--background-success];\n}\n\n.bq-alert__warning {\n @apply border-[color:--bq-alert--border-warning] bg-[color:--bq-alert--background-warning];\n}\n\n/**\n * Set the alert icon color based on the type value selected\n */\n.bq-alert__icon {\n &--default {\n @apply text-[color:--bq-alert--icon-color-default];\n }\n\n &--error {\n @apply text-[color:--bq-alert--icon-color-error];\n }\n\n &--info {\n @apply text-[color:--bq-alert--icon-color-info];\n }\n\n &--success {\n @apply text-[color:--bq-alert--icon-color-success];\n }\n\n &--warning {\n @apply text-[color:--bq-alert--icon-color-warning];\n }\n}\n\n/**\n * Tweak the close bq-button styles so it remain small without extra padding\n */\n.bq-alert__close::part(button) {\n @apply rounded-s border-0 bs-fit p-b-0 p-i-0;\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, h, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { debounce, enter, hasSlotContent, leave, type TDebounce, validatePropValue } from '../../shared/utils';\nimport type { TAlertBorderRadius, TAlertType } from './bq-alert.types';\nimport { ALERT_TYPE } from './bq-alert.types';\n\n/**\n * The Alert is a user interface component used to convey important information to the user in a clear and concise manner.\n * It can be used to notify users of success, failure, warning, or any other type of information that needs to be brought to their attention.\n *\n * @example How to use it\n * ```html\n * <bq-alert>\n * <bq-icon name=\"star\" slot=\"icon\"></bq-icon>\n * Title\n * <span slot=\"body\">\n * Description\n * <a class=\"bq-link\" href=\"https://example.com\">Link</a>\n * </span>\n * <div slot=\"footer\">\n * <bq-button appearance=\"primary\" size=\"small\">Button</bq-button>\n * <bq-button appearance=\"link\" size=\"small\">Button</bq-button>\n * </div>\n * </bq-alert>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/848a50-alert\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {boolean} [auto-dismiss=false] - If true, the alert will automatically hide after the specified amount of time\n * @attr {\"none\" | \"xs2\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"full\"} [border='s'] - The corner radius of the alert component\n * @attr {boolean} [disable-close=false] - If true, the close button at the top right of the alert won't be shown\n * @attr {boolean} [hide-icon=false] - If true, the alert icon won't be shown\n * @attr {boolean} [open=false] - If true, the alert will be shown\n * @attr {number} [time=3000] - The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"`\n * @attr {\"info\" | \"success\" | \"warning\" | \"error\" | \"default\"} [type='default'] - Type of Alert\n * @attr {boolean} [sticky=false] - If true, the alert component will remain fixed at the top of the page, occupying the full viewport\n *\n * @event bqHide - Callback handler to be called when the alert is hidden\n * @event bqShow - Callback handler to be called when the alert is shown\n * @event bqAfterShow - Callback handler to be called after the alert has been shown\n * @event bqAfterHide - Callback handler to be called after the alert has been hidden\n *\n * @slot - The alert title content (no slot name required)\n * @slot body - The alert description content\n * @slot footer - The alert footer content\n * @slot icon - The predefined icon based on the alert type (info, success, warning, error, default)\n * @slot btn-close - The close button of the alert\n *\n * @part base - The `<div>` container of the predefined bq-icon component\n * @part body - The container `<div>` that wraps the alert description content\n * @part btn-close - The `bq-button` used to close the alert\n * @part content - The container `<div>` that wraps all the alert content (title, description, footer)\n * @part footer - The container `<div>` that wraps the alert footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon based on the alert type (info, success, warning, error, default)\n * @part icon-outline - The container `<div>` that wraps the icon element\n * @part main - The container `<div>` that wraps the alert main content (title, description)\n * @part svg - The `<svg>` element of the predefined bq-icon component\n * @part title - The container `<div>` that wraps the alert title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n *\n * @cssprop --bq-alert--background - The alert background color\n * @cssprop --bq-alert--border-radius - The alert border radius\n * @cssprop --bq-alert--content-footer-gap - The alert content and footer gap\n * @cssprop --bq-alert--title-body-gap - The alert title and body gap\n *\n * @cssprop --bq-alert--border-color - The alert border color\n * @cssprop --bq-alert--border-style - The alert border style\n * @cssprop --bq-alert--border-width - The alert border width\n *\n * @cssprop --bq-alert--background-info - The alert background color for info type\n * @cssprop --bq-alert--background-success - The alert background color for success type\n * @cssprop --bq-alert--background-warning - The alert background color for warning type\n * @cssprop --bq-alert--background-error - The alert background color for error type\n *\n * @cssprop --bq-alert--border-info - The alert border color for info type\n * @cssprop --bq-alert--border-success - The alert border color for success type\n * @cssprop --bq-alert--border-warning - The alert border color for warning type\n * @cssprop --bq-alert--border-error - The alert border color for error type\n *\n * @cssprop --bq-alert--icon-color-info - The alert icon color for info type\n * @cssprop --bq-alert--icon-color-success - The alert icon color for success type\n * @cssprop --bq-alert--icon-color-warning - The alert icon color for warning type\n * @cssprop --bq-alert--icon-color-error - The alert icon color for error type\n *\n * @cssprop --bq-alert--padding - The alert padding\n * @cssprop --bq-alert--min-width - The alert min width\n */\n@Component({\n tag: 'bq-alert',\n styleUrl: './scss/bq-alert.scss',\n shadow: true,\n})\nexport class BqAlert {\n // Own Properties\n // ====================\n\n private autoDismissDebounce: TDebounce<void>;\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n private alertElement: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAlertElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** If true, the alert will automatically hide after the specified amount of time */\n @Prop({ reflect: true }) autoDismiss: boolean;\n\n /** The corner radius of the alert component */\n @Prop({ reflect: true }) border: TAlertBorderRadius = 's';\n\n /** If true, the close button at the top right of the alert won't be shown */\n @Prop({ reflect: true }) disableClose: boolean;\n\n /** If true, the alert icon won't be shown */\n @Prop({ reflect: true }) hideIcon: boolean;\n\n /** If true, the alert will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"` */\n @Prop({ reflect: true }) time: number = 3000;\n\n /** Type of Alert */\n @Prop({ reflect: true }) type: TAlertType = 'default';\n\n /** If true, the alert component will remain fixed at the top of the page, occupying the full viewport */\n @Prop({ reflect: true }) sticky: boolean;\n\n // Prop lifecycle events\n // =======================\n @Watch('autoDismiss')\n @Watch('time')\n handleTimeout() {\n this.autoDismissDebounce?.cancel();\n if (!this.autoDismiss) return;\n\n this.autoDismissDebounce = debounce(() => {\n this.hide();\n }, this.time);\n // Make sure to autodismiss the notification if the `auto-dismiss` value changed while open\n if (this.open) this.autoDismissDebounce();\n }\n\n @Watch('open')\n handleOpenChange() {\n this.autoDismissDebounce?.cancel();\n\n if (!this.open) {\n this.handleHide();\n return;\n }\n\n this.handleShow();\n\n if (this.autoDismiss) {\n this.autoDismissDebounce();\n }\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(ALERT_TYPE, 'info', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the alert is hidden */\n @Event() bqHide!: EventEmitter;\n\n /** Callback handler to be called when the alert is shown */\n @Event() bqShow!: EventEmitter;\n\n /** Callback handler to be called after the alert has been shown */\n @Event() bqAfterShow!: EventEmitter;\n\n /** Callback handler to be called after the alert has been hidden */\n @Event() bqAfterHide!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleTimeout();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n\n if (!this.open) {\n this.el.classList.add('is-hidden');\n }\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to hide the alert component */\n @Method()\n async hide(): Promise<void> {\n this.open = false;\n }\n\n /** Method to be called to show the alert component */\n @Method()\n async show(): Promise<void> {\n this.open = true;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleHide = async () => {\n const ev = this.bqHide.emit(this.el);\n if (!ev.defaultPrevented) {\n await leave(this.alertElement);\n this.el.classList.add('is-hidden');\n this.handleTransitionEnd();\n }\n };\n\n private handleShow = async () => {\n const ev = this.bqShow.emit(this.el);\n if (!ev.defaultPrevented) {\n this.el.classList.remove('is-hidden');\n await enter(this.alertElement);\n this.handleTransitionEnd();\n }\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterShow.emit();\n return;\n }\n\n this.bqAfterHide.emit();\n };\n\n private handleSlotChange = () => {\n this.hasContent = hasSlotContent(this.bodyElem, 'body');\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconName(): string {\n const iconName = {\n error: 'x-circle',\n success: 'check-circle',\n warning: 'warning-circle',\n };\n\n return iconName[this.type] || 'info';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-alert--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host\n aria-hidden={!this.open ? 'true' : 'false'}\n class={{ 'is-sticky': this.sticky }}\n hidden={!this.open ? 'true' : 'false'}\n role=\"alert\"\n style={style}\n >\n <div\n class={{ [`bq-alert bq-alert__${this.type}`]: true, 'is-sticky': this.sticky }}\n data-transition-enter=\"transition ease-out duration-300\"\n data-transition-enter-end=\"opacity-100\"\n data-transition-enter-start=\"opacity-0\"\n data-transition-leave=\"transition ease-in duration-200\"\n data-transition-leave-end=\"opacity-0\"\n data-transition-leave-start=\"opacity-100\"\n part=\"wrapper\"\n ref={(div) => {\n this.alertElement = div;\n }}\n >\n {/* CLOSE BUTTON */}\n {!this.disableClose && (\n <bq-button\n appearance=\"text\"\n class=\"bq-alert__close focus-visible:focus absolute end-5 [&::part(label)]:inline-flex\"\n onBqClick={() => this.hide()}\n part=\"btn-close\"\n size=\"small\"\n >\n <slot name=\"btn-close\">\n <bq-icon name=\"x\" />\n </slot>\n </bq-button>\n )}\n {/* ICON */}\n <div\n class={{\n [`bq-alert__icon--${this.type} me-s flex text-left align-top`]: true,\n '!hidden': this.hideIcon,\n }}\n part=\"icon-outline\"\n >\n <slot name=\"icon\">\n {this.type !== 'default' && <bq-icon exportparts=\"base,svg\" name={this.iconName} part=\"icon\" />}\n </slot>\n </div>\n {/* MAIN */}\n <div class=\"flex flex-col items-start gap-[--bq-alert--content-footer-gap]\" part=\"main\">\n <div class=\"flex flex-col gap-[--bq-alert--title-body-gap]\" part=\"content\">\n {/* TITLE */}\n <div\n class={{\n 'title-font font-semibold text-primary leading-regular': true,\n 'flex items-center': this.sticky,\n }}\n part=\"title\"\n >\n <slot />\n </div>\n {/* BODY */}\n <div\n class={{ 'text-primary text-s leading-regular': true, '!hidden': !this.hasContent }}\n part=\"body\"\n ref={(div) => {\n this.bodyElem = div;\n }}\n >\n <slot name=\"body\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n {/* FOOTER */}\n <div\n class={{ 'flex items-start gap-xs': true, '!hidden': !this.hasFooter }}\n part=\"footer\"\n ref={(div) => {\n this.footerElem = div;\n }}\n >\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bq-avatar.entry.esm.js","sources":["../../packages/beeq/src/components/avatar/bq-avatar.types.ts","../../packages/beeq/src/components/avatar/scss/bq-avatar.scss?tag=bq-avatar&encapsulation=shadow","../../packages/beeq/src/components/avatar/bq-avatar.tsx"],"sourcesContent":["export const AVATAR_SIZE = ['xsmall', 'small', 'medium', 'large'] as const;\nexport type TAvatarSize = (typeof AVATAR_SIZE)[number];\n\nexport const AVATAR_SHAPE = ['circle', 'square'] as const;\nexport type TAvatarShape = (typeof AVATAR_SHAPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Avatar styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-avatar.variables';\n\n:host {\n @apply relative inline-block;\n}\n\n.bq-avatar {\n @apply relative overflow-hidden bg-[var(--bq-avatar-background)];\n @apply border-[length:var(--bq-avatar--border-width)] border-[color:var(--bq-avatar--border-color)];\n\n border-style: var(--bq-avatar--border-style);\n}\n\n.size {\n &--xsmall {\n @apply text-[length:var(--bq-avatar--font-size-xsmall)] bs-[--bq-avatar--size-xsmall] is-[--bq-avatar--size-xsmall];\n }\n\n &--small {\n @apply text-[length:var(--bq-avatar--font-size-small)] bs-[--bq-avatar--size-small] is-[--bq-avatar--size-small];\n }\n\n &--medium {\n @apply text-[length:var(--bq-avatar--font-size-medium)] bs-[--bq-avatar--size-medium] is-[--bq-avatar--size-medium];\n }\n\n &--large {\n @apply text-[length:var(--bq-avatar--font-size-large)] bs-[--bq-avatar--size-large] is-[--bq-avatar--size-large];\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { AVATAR_SHAPE, AVATAR_SIZE } from './bq-avatar.types';\nimport type { TAvatarShape, TAvatarSize } from './bq-avatar.types';\nimport { validatePropValue } from '../../shared/utils';\n\n/**\n * The Avatar component is a simple and customizable element that displays an image or initials in a circular or square shape.\n * This component is useful for displaying user profile pictures or any other image that represents a person or an entity.\n *\n * @example How to use it\n * ```html\n * <bq-avatar\n * alt-text=\"John Doe profile picture\"\n * image=\"/image/url/photo-1524593689594.jpeg\"\n * label=\"John Doe profile picture\"\n * shape=\"circle\"\n * size=\"medium\"\n * >\n * <bq-badge slot=\"badge\" text-color=\"#fff\">9</bq-badge>\n * </bq-avatar>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/148da7-avatar\n * @status stable\n *\n * @attr {string} alt-text - Alternate text for the avatar image if the image cannot be displayed.\n * @attr {string} image - The image source to load on the avatar (this can be also a base64 encoded image).\n * @attr {string} label - A text to use for describing the avatar on assistive devices.\n * @attr {string} initials - The text to display on avatar.\n * @attr {\"circle\" | \"square\"} shape - The shape of the avatar.\n * @attr {\"xsmall\" | \"small\" | \"medium\" | \"large\"} size - The size of the avatar.\n *\n * @slot badge - The badge slot is used to add a badge to the avatar. The badge is a small circle or square that can be used to display a number or a status.\n *\n * @part base - The component's internal wrapper.\n * @part img - The `<image>` tag element that load the image source.\n * @part text - The `<span>` tag element that rendered the `Initials` text string.\n * @part badge - The container that wraps the badge slot element.\n *\n * @cssprop --bq-avatar--background - Avatar background color\n *\n * @cssprop --bq-avatar--border-color - Avatar border color\n * @cssprop --bq-avatar--border-style - Avatar border style\n * @cssprop --bq-avatar--border-width - Avatar border width\n *\n * @cssprop --bq-avatar--border-radius-circle - Avatar border radius for circle & any size\n * @cssprop --bq-avatar--border-radius-squareXs - Avatar border radius for square & size xsmall\n * @cssprop --bq-avatar--border-radius-squareS - Avatar border radius for square & size small\n * @cssprop --bq-avatar--border-radius-squareM - Avatar border radius for square & size medium/large\n *\n * @cssprop --bq-avatar--size-xsmall - Avatar xsmall size\n * @cssprop --bq-avatar--size-small - Avatar small size\n * @cssprop --bq-avatar--size-medium - Avatar medium size\n * @cssprop --bq-avatar--size-large - Avatar large size\n *\n * @cssprop --bq-avatar--badge-top-square - Badge top position shape square\n * @cssprop --bq-avatar--badge-left-square - Badge left position shape square\n * @cssprop --bq-avatar--badge-top-circle - Badge top position shape circle\n * @cssprop --bq-avatar--badge-left-circle - Badge left position shape circle\n */\n@Component({\n tag: 'bq-avatar',\n styleUrl: './scss/bq-avatar.scss',\n shadow: true,\n})\nexport class BqAvatar {\n // Own Properties\n // ====================\n\n trimmedInitials: string;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAvatarElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasError: boolean;\n\n // Public Property API\n // ========================\n\n /** Alternate text for the avatar image if the image cannot be displayed */\n @Prop({ reflect: true }) altText: string;\n\n /** The image source to load on the avatar (this can be also a base64 encoded image) */\n @Prop({ reflect: true }) image: string;\n\n /** A text to use for describing the avatar on assistive devices */\n @Prop({ reflect: true }) label: string;\n\n /** The text to display on avatar */\n @Prop({ reflect: true }) initials: string;\n\n /** The shape of the avatar */\n @Prop({ reflect: true }) shape: TAvatarShape = 'circle';\n\n /** The size of the avatar */\n @Prop({ reflect: true, mutable: true }) size: TAvatarSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('image')\n handleImagePropChange() {\n // Reset the error when a new image source is provided\n this.hasError = false;\n }\n\n @Watch('shape')\n @Watch('size')\n checkPropValues() {\n validatePropValue(AVATAR_SHAPE, 'circle', this.el, 'shape');\n validatePropValue(AVATAR_SIZE, 'medium', this.el, 'size');\n }\n\n @Watch('initials')\n @Watch('size')\n onInitialsChange() {\n this.trimInitialsBasedOnSize();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.trimInitialsBasedOnSize();\n this.checkPropValues();\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 onImageError = () => {\n this.hasError = true;\n };\n\n private trimInitialsBasedOnSize = (): void => {\n if (!this.initials) return;\n\n AVATAR_SIZE.forEach((size: TAvatarSize) => {\n if (this.size === size) {\n this.trimmedInitials = this.initials.substring(0, this.getIndex(size));\n }\n });\n };\n\n private getIndex = (size: TAvatarSize): number => {\n const sizeIndexMap = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 4,\n };\n return sizeIndexMap[size] ?? sizeIndexMap.xsmall;\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'bq-avatar': true,\n [`size--${this.size}`]: true,\n 'rounded-[--bq-avatar--border-radius-circle]': this.shape === 'circle',\n 'rounded-[--bq-avatar--border-radius-squareXs]': this.shape === 'square' && this.size === 'xsmall',\n 'rounded-[--bq-avatar--border-radius-squareS]': this.shape === 'square' && this.size === 'small',\n 'rounded-[--bq-avatar--border-radius-squareM]':\n this.shape === 'square' && (this.size === 'medium' || this.size === 'large'),\n }}\n aria-label={this.label}\n role=\"img\"\n part=\"base\"\n >\n {this.initials && (\n <span\n class=\"absolute start-0 inline-flex items-center justify-center font-bold text-primary bs-full is-full inset-bs-0\"\n part=\"text\"\n >\n {this.trimmedInitials}\n </span>\n )}\n {this.image && !this.hasError && (\n <img\n class=\"absolute start-0 object-cover bs-full is-full inset-bs-0\"\n alt={this.altText ?? undefined}\n src={this.image}\n onError={this.onImageError}\n part=\"img\"\n />\n )}\n </div>\n <div\n class={{\n 'absolute flex items-center justify-center': true,\n 'start-[--bq-avatar--badge-left-square] inset-bs-[--bq-avatar--badge-top-square]': this.shape === 'square',\n 'start-[--bq-avatar--badge-left-circle] inset-bs-[--bq-avatar--badge-top-circle]': this.shape === 'circle',\n }}\n part=\"badge\"\n >\n <slot name=\"badge\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bq-avatar.entry.esm.js","sources":["../../packages/beeq/src/components/avatar/bq-avatar.types.ts","../../packages/beeq/src/components/avatar/scss/bq-avatar.scss?tag=bq-avatar&encapsulation=shadow","../../packages/beeq/src/components/avatar/bq-avatar.tsx"],"sourcesContent":["export const AVATAR_SIZE = ['xsmall', 'small', 'medium', 'large'] as const;\nexport type TAvatarSize = (typeof AVATAR_SIZE)[number];\n\nexport const AVATAR_SHAPE = ['circle', 'square'] as const;\nexport type TAvatarShape = (typeof AVATAR_SHAPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Avatar styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-avatar.variables';\n\n:host {\n @apply relative inline-block;\n}\n\n.bq-avatar {\n @apply relative overflow-hidden bg-[var(--bq-avatar-background)];\n @apply border-[length:var(--bq-avatar--border-width)] border-[color:var(--bq-avatar--border-color)];\n\n border-style: var(--bq-avatar--border-style);\n}\n\n.size {\n &--xsmall {\n @apply text-[length:var(--bq-avatar--font-size-xsmall)] bs-[--bq-avatar--size-xsmall] is-[--bq-avatar--size-xsmall];\n }\n\n &--small {\n @apply text-[length:var(--bq-avatar--font-size-small)] bs-[--bq-avatar--size-small] is-[--bq-avatar--size-small];\n }\n\n &--medium {\n @apply text-[length:var(--bq-avatar--font-size-medium)] bs-[--bq-avatar--size-medium] is-[--bq-avatar--size-medium];\n }\n\n &--large {\n @apply text-[length:var(--bq-avatar--font-size-large)] bs-[--bq-avatar--size-large] is-[--bq-avatar--size-large];\n }\n}\n","import { Component, Element, Host, h, Prop, State, Watch } from '@stencil/core';\n\nimport { validatePropValue } from '../../shared/utils';\nimport type { TAvatarShape, TAvatarSize } from './bq-avatar.types';\nimport { AVATAR_SHAPE, AVATAR_SIZE } from './bq-avatar.types';\n\n/**\n * The Avatar component is a simple and customizable element that displays an image or initials in a circular or square shape.\n * This component is useful for displaying user profile pictures or any other image that represents a person or an entity.\n *\n * @example How to use it\n * ```html\n * <bq-avatar\n * alt-text=\"John Doe profile picture\"\n * image=\"/image/url/photo-1524593689594.jpeg\"\n * label=\"John Doe profile picture\"\n * shape=\"circle\"\n * size=\"medium\"\n * >\n * <bq-badge slot=\"badge\" text-color=\"#fff\">9</bq-badge>\n * </bq-avatar>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/148da7-avatar\n * @status stable\n *\n * @attr {string} alt-text - Alternate text for the avatar image if the image cannot be displayed.\n * @attr {string} image - The image source to load on the avatar (this can be also a base64 encoded image).\n * @attr {string} label - A text to use for describing the avatar on assistive devices.\n * @attr {string} initials - The text to display on avatar.\n * @attr {\"circle\" | \"square\"} shape - The shape of the avatar.\n * @attr {\"xsmall\" | \"small\" | \"medium\" | \"large\"} size - The size of the avatar.\n *\n * @slot badge - The badge slot is used to add a badge to the avatar. The badge is a small circle or square that can be used to display a number or a status.\n *\n * @part base - The component's internal wrapper.\n * @part img - The `<image>` tag element that load the image source.\n * @part text - The `<span>` tag element that rendered the `Initials` text string.\n * @part badge - The container that wraps the badge slot element.\n *\n * @cssprop --bq-avatar--background - Avatar background color\n *\n * @cssprop --bq-avatar--border-color - Avatar border color\n * @cssprop --bq-avatar--border-style - Avatar border style\n * @cssprop --bq-avatar--border-width - Avatar border width\n *\n * @cssprop --bq-avatar--border-radius-circle - Avatar border radius for circle & any size\n * @cssprop --bq-avatar--border-radius-squareXs - Avatar border radius for square & size xsmall\n * @cssprop --bq-avatar--border-radius-squareS - Avatar border radius for square & size small\n * @cssprop --bq-avatar--border-radius-squareM - Avatar border radius for square & size medium/large\n *\n * @cssprop --bq-avatar--size-xsmall - Avatar xsmall size\n * @cssprop --bq-avatar--size-small - Avatar small size\n * @cssprop --bq-avatar--size-medium - Avatar medium size\n * @cssprop --bq-avatar--size-large - Avatar large size\n *\n * @cssprop --bq-avatar--badge-top-square - Badge top position shape square\n * @cssprop --bq-avatar--badge-left-square - Badge left position shape square\n * @cssprop --bq-avatar--badge-top-circle - Badge top position shape circle\n * @cssprop --bq-avatar--badge-left-circle - Badge left position shape circle\n */\n@Component({\n tag: 'bq-avatar',\n styleUrl: './scss/bq-avatar.scss',\n shadow: true,\n})\nexport class BqAvatar {\n // Own Properties\n // ====================\n\n trimmedInitials: string;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAvatarElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasError: boolean;\n\n // Public Property API\n // ========================\n\n /** Alternate text for the avatar image if the image cannot be displayed */\n @Prop({ reflect: true }) altText: string;\n\n /** The image source to load on the avatar (this can be also a base64 encoded image) */\n @Prop({ reflect: true }) image: string;\n\n /** A text to use for describing the avatar on assistive devices */\n @Prop({ reflect: true }) label: string;\n\n /** The text to display on avatar */\n @Prop({ reflect: true }) initials: string;\n\n /** The shape of the avatar */\n @Prop({ reflect: true }) shape: TAvatarShape = 'circle';\n\n /** The size of the avatar */\n @Prop({ reflect: true, mutable: true }) size: TAvatarSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('image')\n handleImagePropChange() {\n // Reset the error when a new image source is provided\n this.hasError = false;\n }\n\n @Watch('shape')\n @Watch('size')\n checkPropValues() {\n validatePropValue(AVATAR_SHAPE, 'circle', this.el, 'shape');\n validatePropValue(AVATAR_SIZE, 'medium', this.el, 'size');\n }\n\n @Watch('initials')\n @Watch('size')\n onInitialsChange() {\n this.trimInitialsBasedOnSize();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.trimInitialsBasedOnSize();\n this.checkPropValues();\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 onImageError = () => {\n this.hasError = true;\n };\n\n private trimInitialsBasedOnSize = (): void => {\n if (!this.initials) return;\n\n AVATAR_SIZE.forEach((size: TAvatarSize) => {\n if (this.size === size) {\n this.trimmedInitials = this.initials.substring(0, this.getIndex(size));\n }\n });\n };\n\n private getIndex = (size: TAvatarSize): number => {\n const sizeIndexMap = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 4,\n };\n return sizeIndexMap[size] ?? sizeIndexMap.xsmall;\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n <div\n aria-label={this.label}\n class={{\n 'bq-avatar': true,\n [`size--${this.size}`]: true,\n 'rounded-[--bq-avatar--border-radius-circle]': this.shape === 'circle',\n 'rounded-[--bq-avatar--border-radius-squareXs]': this.shape === 'square' && this.size === 'xsmall',\n 'rounded-[--bq-avatar--border-radius-squareS]': this.shape === 'square' && this.size === 'small',\n 'rounded-[--bq-avatar--border-radius-squareM]':\n this.shape === 'square' && (this.size === 'medium' || this.size === 'large'),\n }}\n part=\"base\"\n role=\"img\"\n >\n {this.initials && (\n <span\n class=\"bs-full is-full absolute inset-bs-0 start-0 inline-flex items-center justify-center font-bold text-primary\"\n part=\"text\"\n >\n {this.trimmedInitials}\n </span>\n )}\n {this.image && !this.hasError && (\n <img\n alt={this.altText ?? undefined}\n class=\"bs-full is-full absolute inset-bs-0 start-0 object-cover\"\n onError={this.onImageError}\n part=\"img\"\n src={this.image}\n />\n )}\n </div>\n <div\n class={{\n 'absolute flex items-center justify-center': true,\n 'inset-bs-[--bq-avatar--badge-top-square] start-[--bq-avatar--badge-left-square]': this.shape === 'square',\n 'inset-bs-[--bq-avatar--badge-top-circle] start-[--bq-avatar--badge-left-circle]': this.shape === 'circle',\n }}\n part=\"badge\"\n >\n <slot name=\"badge\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bq-badge.entry.esm.js","sources":["../../packages/beeq/src/components/badge/bq-badge.types.ts","../../packages/beeq/src/components/badge/scss/bq-badge.scss?tag=bq-badge&encapsulation=shadow","../../packages/beeq/src/components/badge/bq-badge.tsx"],"sourcesContent":["export const BADGE_SIZE = ['small', 'medium'] as const;\nexport type TBadgeSize = (typeof BADGE_SIZE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Badge styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-badge.variables';\n\n:host {\n @apply inline-block;\n}\n\n.bq-badge {\n @apply flex items-center justify-center bg-[color:--bq-badge--background-color] text-[color:--bq-badge--text-color];\n @apply rounded-[--bq-badge--border-radius] border-[length:--bq-badge--border-width] border-[color:--bq-badge--border-color];\n\n border-style: var(--bq-badge--border-style);\n box-shadow: var(--bq-badge--box-shadow);\n}\n\n.size {\n &--small {\n @apply bs-[--bq-badge--size-small] is-[--bq-badge--size-small];\n }\n\n &--medium {\n @apply bs-[--bq-badge--size-medium] is-[--bq-badge--size-medium];\n }\n}\n\n.digit {\n @apply min-bs-[--bq-badge--size-large] min-is-[--bq-badge--size-large];\n}\n","import { Component, Element,
|
|
1
|
+
{"version":3,"file":"bq-badge.entry.esm.js","sources":["../../packages/beeq/src/components/badge/bq-badge.types.ts","../../packages/beeq/src/components/badge/scss/bq-badge.scss?tag=bq-badge&encapsulation=shadow","../../packages/beeq/src/components/badge/bq-badge.tsx"],"sourcesContent":["export const BADGE_SIZE = ['small', 'medium'] as const;\nexport type TBadgeSize = (typeof BADGE_SIZE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Badge styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-badge.variables';\n\n:host {\n @apply inline-block;\n}\n\n.bq-badge {\n @apply flex items-center justify-center bg-[color:--bq-badge--background-color] text-[color:--bq-badge--text-color];\n @apply rounded-[--bq-badge--border-radius] border-[length:--bq-badge--border-width] border-[color:--bq-badge--border-color];\n\n border-style: var(--bq-badge--border-style);\n box-shadow: var(--bq-badge--box-shadow);\n}\n\n.size {\n &--small {\n @apply bs-[--bq-badge--size-small] is-[--bq-badge--size-small];\n }\n\n &--medium {\n @apply bs-[--bq-badge--size-medium] is-[--bq-badge--size-medium];\n }\n}\n\n.digit {\n @apply min-bs-[--bq-badge--size-large] min-is-[--bq-badge--size-large];\n}\n","import { Component, Element, Host, h, Prop, State, Watch } from '@stencil/core';\n\nimport { getColorCSSVariable, getTextContent, isNil, validatePropValue } from '../../shared/utils';\nimport type { TBadgeSize } from './bq-badge.types';\nimport { BADGE_SIZE } from './bq-badge.types';\n\n/**\n * The Badge component is a visual indicator that can be added to various elements within a user interface.\n * It is typically used to highlight important or relevant information, such as alerts, notifications, or statuses.\n *\n * @example How to use it\n * ```html\n * <bq-badge background-color=\"ui--success\" text-color=\"text--inverse\" size=\"small\">9</bq-badge>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/194fd1-badge\n * @status stable\n *\n * @attr {string} background-color - Badge background color. The value should be a valid value of the palette color.\n * @attr {string} text-color - Badge number color. The value should be a valid value of the palette color.\n * @attr {\"small\" | \"medium\" | \"large\"} size - The size of the badge. Relevant if badge has no content.\n *\n * @slot - The default slot is used to add content to the badge. The content can be a number or a text.\n *\n * @part base - The component's internal wrapper that holds the count.\n * @part number - The component's internal wrapper that holds the slot.\n *\n * @cssprop --bq-badge--background-color - The badge background color\n * @cssprop --bq-badge--box-shadow - The badge box shadow\n * @cssprop --bq-badge--border-color - The badge border color\n * @cssprop --bq-badge--border-radius - The badge border radius\n * @cssprop --bq-badge--border-style - The badge border style\n * @cssprop --bq-badge--border-width - The badge border width\n * @cssprop --bq-badge--size-small - The badge small size\n * @cssprop --bq-badge--size-medium - The badge medium size\n * @cssprop --bq-badge--size-large - The badge large size\n * @cssprop --bq-badge--text-color - The badge text color\n */\n@Component({\n tag: 'bq-badge',\n styleUrl: './scss/bq-badge.scss',\n shadow: true,\n})\nexport class BqBadge {\n // Own Properties\n // ====================\n\n private spanElement?: HTMLSpanElement;\n\n private observer: MutationObserver = new MutationObserver((mutations) => {\n const [mutation] = mutations;\n this.contentLength = mutation.target.textContent.length;\n });\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el: HTMLBqBadgeElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private contentLength = 0;\n\n // Public Property API\n // ========================\n\n /** Badge background color. The value should be a valid value of the palette color */\n @Prop({ mutable: true, reflect: true }) backgroundColor?: string;\n\n /** Badge number color. The value should be a valid value of the palette color */\n @Prop({ mutable: true, reflect: true }) textColor?: string;\n\n /** The size of the badge. Relevant if badge has no content. */\n @Prop({ reflect: true, mutable: true }) size?: TBadgeSize = 'small';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n handleSizePropChange() {\n validatePropValue(BADGE_SIZE, 'small', this.el, 'size');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handleSizePropChange();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\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 handleSlotChange = () => {\n const slot = this.slot;\n\n if (isNil(slot)) return;\n\n this.contentLength = getTextContent(slot, { recurse: true }).length;\n const [node] = slot.assignedNodes({ flatten: true });\n\n if (isNil(node)) {\n this.observer.takeRecords();\n return;\n }\n\n this.observer.observe(node, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n };\n\n private get slot(): HTMLSlotElement | null {\n return this.spanElement?.querySelector('slot') ?? null;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.backgroundColor && { '--bq-badge--background-color': getColorCSSVariable(this.backgroundColor) }),\n ...(this.textColor && { '--bq-badge--text-color': getColorCSSVariable(this.textColor) }),\n };\n\n return (\n <Host style={styles}>\n <div\n class={{\n 'bq-badge': true,\n [`size--${this.size}`]: this.contentLength === 0,\n digit: this.contentLength > 0,\n 'p-i-xs2': this.contentLength > 1,\n }}\n part=\"base\"\n >\n <span\n class=\"font-bold text-xs leading-small\"\n part=\"number\"\n ref={(element) => {\n this.spanElement = element;\n }}\n >\n <slot onSlotchange={this.handleSlotChange}></slot>\n </span>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|