@beeq/core 1.10.0 → 1.11.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/beeq/beeq.esm.js +1 -1
- package/dist/beeq/beeq.esm.js.map +1 -1
- package/dist/beeq/bq-radio-group.entry.esm.js.map +1 -1
- package/dist/beeq/bq-select.entry.esm.js.map +1 -1
- package/dist/beeq/index.esm.js +1 -1
- package/dist/beeq/{p-1a19b5fa.entry.js → p-04745600.entry.js} +2 -2
- package/dist/beeq/{p-c7d5983f.entry.js → p-0deed5d1.entry.js} +2 -2
- package/dist/beeq/{p-12c13e8e.entry.js → p-1421f4a3.entry.js} +2 -2
- package/dist/beeq/{p-694593eb.entry.js → p-1c6ef374.entry.js} +2 -2
- package/dist/beeq/{p-9b03ec25.entry.js → p-1cd1ae48.entry.js} +2 -2
- package/dist/beeq/{p-def3bd26.entry.js → p-2f008ed1.entry.js} +2 -2
- package/dist/beeq/{p-5b60b7fa.entry.js → p-37a2fb82.entry.js} +2 -2
- package/dist/beeq/{p-ef64ddbc.entry.js → p-3c7397cf.entry.js} +2 -2
- package/dist/beeq/{p-afb356b4.entry.js → p-3dca7a14.entry.js} +2 -2
- package/dist/beeq/{p-622b9249.entry.js → p-3e8980ff.entry.js} +2 -2
- package/dist/beeq/{p-b7be6f2a.entry.js → p-477f032f.entry.js} +2 -2
- package/dist/beeq/{p-dac78869.entry.js → p-48811a09.entry.js} +2 -2
- package/dist/beeq/{p-36d1fb9d.entry.js → p-540d625a.entry.js} +2 -2
- package/dist/beeq/{p-88a8f431.entry.js → p-5ce77af6.entry.js} +2 -2
- package/dist/beeq/{p-9573c018.entry.js → p-60db3689.entry.js} +2 -2
- package/dist/beeq/{p-38b70ecf.entry.js → p-6852a0b0.entry.js} +2 -2
- package/dist/beeq/{p-d90d892b.entry.js → p-6a10175b.entry.js} +2 -2
- package/dist/beeq/{p-69f1f5ad.entry.js → p-6d429afd.entry.js} +2 -2
- package/dist/beeq/{p-69f1f5ad.entry.js.map → p-6d429afd.entry.js.map} +1 -1
- package/dist/beeq/{p-4aa72d5a.entry.js → p-7063e5c2.entry.js} +2 -2
- package/dist/beeq/p-78be94d2.entry.js +6 -0
- package/dist/beeq/p-78be94d2.entry.js.map +1 -0
- package/dist/beeq/{p-c886eaab.entry.js → p-8280145e.entry.js} +2 -2
- package/dist/beeq/{p-cf711f06.entry.js → p-87430ad8.entry.js} +2 -2
- package/dist/beeq/{p-67597553.entry.js → p-8eb8612b.entry.js} +2 -2
- package/dist/beeq/{p-b144f52a.entry.js → p-9305e1a2.entry.js} +2 -2
- package/dist/beeq/{p-18af4fe6.entry.js → p-96f6c9ae.entry.js} +2 -2
- package/dist/beeq/{p-C4jSqdYP.js → p-DDw-pDpy.js} +2 -2
- package/dist/beeq/{p-C4jSqdYP.js.map → p-DDw-pDpy.js.map} +1 -1
- package/dist/beeq/p-DMf9D39m.js +6 -0
- package/dist/beeq/p-DMf9D39m.js.map +1 -0
- package/dist/beeq/p-Ds7rcaFH.js +6 -0
- package/dist/beeq/p-Ds7rcaFH.js.map +1 -0
- package/dist/beeq/{p-1dded250.entry.js → p-a9643899.entry.js} +2 -2
- package/dist/beeq/{p-96fed9ed.entry.js → p-b268b017.entry.js} +2 -2
- package/dist/beeq/{p-bb038cc5.entry.js → p-b520bdb8.entry.js} +2 -2
- package/dist/beeq/{p-c7b5ae9b.entry.js → p-ba12d135.entry.js} +2 -2
- package/dist/beeq/{p-6eb439a3.entry.js → p-c023718e.entry.js} +2 -2
- package/dist/beeq/{p-1ca28052.entry.js → p-d0a16e94.entry.js} +2 -2
- package/dist/beeq/{p-83c5cd25.entry.js → p-d1dd36ca.entry.js} +2 -2
- package/dist/beeq/{p-fc2f0022.entry.js → p-dc4d2d77.entry.js} +2 -2
- package/dist/beeq/{p-cb1ec3ac.entry.js → p-dd896cd8.entry.js} +2 -2
- package/dist/beeq/{p-3464beb1.entry.js → p-e7bd48a0.entry.js} +2 -2
- package/dist/beeq/{p-ad56e393.entry.js → p-eb2cfa90.entry.js} +2 -2
- package/dist/beeq/{p-8918acc2.entry.js → p-f12a127c.entry.js} +2 -2
- package/dist/beeq/{p-4362ebdd.entry.js → p-f8d5c1ab.entry.js} +2 -2
- package/dist/beeq/{p-22c634b5.entry.js → p-fbc38c77.entry.js} +2 -2
- package/dist/beeq.html-custom-data.json +61 -61
- package/dist/cjs/{assetsPath-CyeA6tpY.js → assetsPath-pf4usGy6.js} +8 -12
- package/dist/cjs/assetsPath-pf4usGy6.js.map +1 -0
- package/dist/cjs/beeq.cjs.js +2 -2
- package/dist/cjs/beeq.cjs.js.map +1 -1
- package/dist/cjs/bq-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/bq-accordion.cjs.entry.js +1 -1
- package/dist/cjs/bq-alert.cjs.entry.js +1 -1
- package/dist/cjs/bq-avatar.cjs.entry.js +1 -1
- package/dist/cjs/bq-badge.cjs.entry.js +1 -1
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/bq-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/bq-button_2.cjs.entry.js +2 -2
- package/dist/cjs/bq-card.cjs.entry.js +1 -1
- package/dist/cjs/bq-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/bq-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/bq-dialog.cjs.entry.js +1 -1
- package/dist/cjs/bq-divider.cjs.entry.js +1 -1
- package/dist/cjs/bq-drawer.cjs.entry.js +1 -1
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +1 -1
- package/dist/cjs/bq-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/bq-input.cjs.entry.js +1 -1
- package/dist/cjs/bq-notification.cjs.entry.js +1 -1
- package/dist/cjs/bq-option-group.cjs.entry.js +1 -1
- package/dist/cjs/bq-option-list_2.cjs.entry.js +1 -1
- package/dist/cjs/bq-option.cjs.entry.js +1 -1
- package/dist/cjs/bq-page-title.cjs.entry.js +1 -1
- package/dist/cjs/bq-progress.cjs.entry.js +1 -1
- package/dist/cjs/bq-radio-group.cjs.entry.js +18 -9
- package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-radio-group.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-radio.cjs.entry.js +1 -1
- package/dist/cjs/bq-select.cjs.entry.js +11 -9
- package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-select.entry.cjs.js.map +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/bq-side-menu.cjs.entry.js +1 -1
- package/dist/cjs/bq-slider.cjs.entry.js +1 -1
- package/dist/cjs/bq-spinner.cjs.entry.js +1 -1
- package/dist/cjs/bq-status.cjs.entry.js +1 -1
- package/dist/cjs/bq-step-item.cjs.entry.js +1 -1
- package/dist/cjs/bq-steps.cjs.entry.js +1 -1
- package/dist/cjs/bq-switch.cjs.entry.js +1 -1
- package/dist/cjs/bq-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/bq-tab.cjs.entry.js +1 -1
- package/dist/cjs/bq-textarea.cjs.entry.js +1 -1
- package/dist/cjs/bq-toast.cjs.entry.js +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/{index-BKXwzJHW.js → index-CLoLF-_B.js} +4 -4
- package/dist/cjs/{index-BKXwzJHW.js.map → index-CLoLF-_B.js.map} +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{stringToArray-DWnmNBjZ.js → stringToArray-DTx7uqZ4.js} +4 -3
- package/dist/cjs/stringToArray-DTx7uqZ4.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
- package/dist/collection/components/radio-group/bq-radio-group.js +35 -9
- package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
- package/dist/collection/components/select/bq-select.js +10 -8
- 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/shared/utils/assetsPath.js +6 -10
- package/dist/collection/shared/utils/assetsPath.js.map +1 -1
- package/dist/collection/shared/utils/stringToArray.js +2 -1
- package/dist/collection/shared/utils/stringToArray.js.map +1 -1
- package/dist/components/bq-accordion-group.js +1 -1
- package/dist/components/bq-accordion.js +1 -1
- package/dist/components/bq-alert.js +1 -1
- package/dist/components/bq-avatar.js +1 -1
- package/dist/components/bq-badge.js +1 -1
- package/dist/components/bq-breadcrumb-item.js +1 -1
- package/dist/components/bq-breadcrumb.js +1 -1
- package/dist/components/bq-button.js +1 -1
- package/dist/components/bq-card.js +1 -1
- package/dist/components/bq-checkbox.js +1 -1
- package/dist/components/bq-date-picker.js +1 -1
- package/dist/components/bq-dialog.js +1 -1
- package/dist/components/bq-divider.js +1 -1
- package/dist/components/bq-drawer.js +1 -1
- package/dist/components/bq-dropdown.js +1 -1
- package/dist/components/bq-empty-state.js +1 -1
- package/dist/components/bq-icon.js +1 -1
- package/dist/components/bq-input.js +1 -1
- package/dist/components/bq-notification.js +1 -1
- package/dist/components/bq-option-group.js +1 -1
- package/dist/components/bq-option-list.js +1 -1
- package/dist/components/bq-option.js +1 -1
- package/dist/components/bq-page-title.js +1 -1
- package/dist/components/bq-panel.js +1 -1
- package/dist/components/bq-progress.js +1 -1
- package/dist/components/bq-radio-group.js +1 -1
- package/dist/components/bq-radio-group.js.map +1 -1
- package/dist/components/bq-radio.js +1 -1
- package/dist/components/bq-select.js +1 -1
- package/dist/components/bq-select.js.map +1 -1
- package/dist/components/bq-side-menu-item.js +1 -1
- package/dist/components/bq-side-menu.js +1 -1
- package/dist/components/bq-slider.js +1 -1
- package/dist/components/bq-spinner.js +1 -1
- package/dist/components/bq-status.js +1 -1
- package/dist/components/bq-step-item.js +1 -1
- package/dist/components/bq-steps.js +1 -1
- package/dist/components/bq-switch.js +1 -1
- package/dist/components/bq-tab-group.js +1 -1
- package/dist/components/bq-tab.js +1 -1
- package/dist/components/bq-tag.js +1 -1
- package/dist/components/bq-textarea.js +1 -1
- package/dist/components/bq-toast.js +1 -1
- package/dist/components/bq-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-BrcJUBET.js → p-5er2o4Mn.js} +2 -2
- package/dist/components/{p-CttsUm37.js → p-BIl7Vq5P.js} +2 -2
- package/dist/components/{p-DZeqNx0s.js → p-BPVTwD6U.js} +2 -2
- package/dist/components/{p-DngixUI8.js → p-Bkf_oCvP.js} +2 -2
- package/dist/components/{p-BzYR7w7X.js → p-Bs3hKCXS.js} +2 -2
- package/dist/components/{p-9gvSRSmi.js → p-C4Jb3i-D.js} +2 -2
- package/dist/components/{p-DpHyV2gx.js → p-CjS2vgik.js} +2 -2
- package/dist/components/p-DE7kLeHf.js +6 -0
- package/dist/components/p-DE7kLeHf.js.map +1 -0
- package/dist/components/{p-DZoizZde.js → p-fQPjV9jm.js} +2 -2
- package/dist/components/{p-DZoizZde.js.map → p-fQPjV9jm.js.map} +1 -1
- package/dist/components/{p-BREXcAn5.js → p-k2047NJf.js} +2 -2
- package/dist/custom-elements.json +1315 -1308
- package/dist/esm/{assetsPath-v2hVBSPV.js → assetsPath-CJqXJ_hN.js} +8 -12
- package/dist/esm/assetsPath-CJqXJ_hN.js.map +1 -0
- package/dist/esm/beeq.js +3 -3
- package/dist/esm/beeq.js.map +1 -1
- package/dist/esm/bq-accordion-group.entry.js +1 -1
- package/dist/esm/bq-accordion.entry.js +1 -1
- package/dist/esm/bq-alert.entry.js +1 -1
- package/dist/esm/bq-avatar.entry.js +1 -1
- package/dist/esm/bq-badge.entry.js +1 -1
- package/dist/esm/bq-breadcrumb-item.entry.js +1 -1
- package/dist/esm/bq-breadcrumb.entry.js +1 -1
- package/dist/esm/bq-button_2.entry.js +2 -2
- package/dist/esm/bq-card.entry.js +1 -1
- package/dist/esm/bq-checkbox.entry.js +1 -1
- package/dist/esm/bq-date-picker.entry.js +2 -2
- package/dist/esm/bq-dialog.entry.js +1 -1
- package/dist/esm/bq-divider.entry.js +1 -1
- package/dist/esm/bq-drawer.entry.js +1 -1
- package/dist/esm/bq-dropdown_2.entry.js +1 -1
- package/dist/esm/bq-empty-state.entry.js +1 -1
- package/dist/esm/bq-input.entry.js +1 -1
- package/dist/esm/bq-notification.entry.js +1 -1
- package/dist/esm/bq-option-group.entry.js +1 -1
- package/dist/esm/bq-option-list_2.entry.js +1 -1
- package/dist/esm/bq-option.entry.js +1 -1
- package/dist/esm/bq-page-title.entry.js +1 -1
- package/dist/esm/bq-progress.entry.js +1 -1
- package/dist/esm/bq-radio-group.entry.js +18 -9
- package/dist/esm/bq-radio-group.entry.js.map +1 -1
- package/dist/esm/bq-radio.entry.js +1 -1
- package/dist/esm/bq-select.entry.js +11 -9
- package/dist/esm/bq-select.entry.js.map +1 -1
- package/dist/esm/bq-side-menu-item.entry.js +1 -1
- package/dist/esm/bq-side-menu.entry.js +1 -1
- package/dist/esm/bq-slider.entry.js +1 -1
- package/dist/esm/bq-spinner.entry.js +1 -1
- package/dist/esm/bq-status.entry.js +1 -1
- package/dist/esm/bq-step-item.entry.js +1 -1
- package/dist/esm/bq-steps.entry.js +1 -1
- package/dist/esm/bq-switch.entry.js +1 -1
- package/dist/esm/bq-tab-group.entry.js +1 -1
- package/dist/esm/bq-tab.entry.js +1 -1
- package/dist/esm/bq-textarea.entry.js +1 -1
- package/dist/esm/bq-toast.entry.js +1 -1
- package/dist/esm/bq-tooltip.entry.js +1 -1
- package/dist/esm/{index-C4jSqdYP.js → index-DDw-pDpy.js} +4 -4
- package/dist/esm/{index-C4jSqdYP.js.map → index-DDw-pDpy.js.map} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +2 -2
- package/dist/esm/{stringToArray-g9MEtfgW.js → stringToArray-DD7NecAG.js} +4 -3
- package/dist/esm/stringToArray-DD7NecAG.js.map +1 -0
- package/dist/hydrate/index.js +34 -29
- package/dist/hydrate/index.mjs +34 -29
- package/dist/types/components/radio-group/bq-radio-group.d.ts +2 -0
- package/dist/types/components.d.ts +5 -0
- package/package.json +1 -1
- package/dist/beeq/p-BO2RoztC.js +0 -6
- package/dist/beeq/p-BO2RoztC.js.map +0 -1
- package/dist/beeq/p-DG51kDIQ.js +0 -6
- package/dist/beeq/p-DG51kDIQ.js.map +0 -1
- package/dist/beeq/p-a8c20aaf.entry.js +0 -6
- package/dist/beeq/p-a8c20aaf.entry.js.map +0 -1
- package/dist/cjs/assetsPath-CyeA6tpY.js.map +0 -1
- package/dist/cjs/stringToArray-DWnmNBjZ.js.map +0 -1
- package/dist/components/p-DSDQV9S1.js +0 -6
- package/dist/components/p-DSDQV9S1.js.map +0 -1
- package/dist/esm/assetsPath-v2hVBSPV.js.map +0 -1
- package/dist/esm/stringToArray-g9MEtfgW.js.map +0 -1
- /package/dist/beeq/{p-1a19b5fa.entry.js.map → p-04745600.entry.js.map} +0 -0
- /package/dist/beeq/{p-c7d5983f.entry.js.map → p-0deed5d1.entry.js.map} +0 -0
- /package/dist/beeq/{p-12c13e8e.entry.js.map → p-1421f4a3.entry.js.map} +0 -0
- /package/dist/beeq/{p-694593eb.entry.js.map → p-1c6ef374.entry.js.map} +0 -0
- /package/dist/beeq/{p-9b03ec25.entry.js.map → p-1cd1ae48.entry.js.map} +0 -0
- /package/dist/beeq/{p-def3bd26.entry.js.map → p-2f008ed1.entry.js.map} +0 -0
- /package/dist/beeq/{p-5b60b7fa.entry.js.map → p-37a2fb82.entry.js.map} +0 -0
- /package/dist/beeq/{p-ef64ddbc.entry.js.map → p-3c7397cf.entry.js.map} +0 -0
- /package/dist/beeq/{p-afb356b4.entry.js.map → p-3dca7a14.entry.js.map} +0 -0
- /package/dist/beeq/{p-622b9249.entry.js.map → p-3e8980ff.entry.js.map} +0 -0
- /package/dist/beeq/{p-b7be6f2a.entry.js.map → p-477f032f.entry.js.map} +0 -0
- /package/dist/beeq/{p-dac78869.entry.js.map → p-48811a09.entry.js.map} +0 -0
- /package/dist/beeq/{p-36d1fb9d.entry.js.map → p-540d625a.entry.js.map} +0 -0
- /package/dist/beeq/{p-88a8f431.entry.js.map → p-5ce77af6.entry.js.map} +0 -0
- /package/dist/beeq/{p-9573c018.entry.js.map → p-60db3689.entry.js.map} +0 -0
- /package/dist/beeq/{p-38b70ecf.entry.js.map → p-6852a0b0.entry.js.map} +0 -0
- /package/dist/beeq/{p-d90d892b.entry.js.map → p-6a10175b.entry.js.map} +0 -0
- /package/dist/beeq/{p-4aa72d5a.entry.js.map → p-7063e5c2.entry.js.map} +0 -0
- /package/dist/beeq/{p-c886eaab.entry.js.map → p-8280145e.entry.js.map} +0 -0
- /package/dist/beeq/{p-cf711f06.entry.js.map → p-87430ad8.entry.js.map} +0 -0
- /package/dist/beeq/{p-67597553.entry.js.map → p-8eb8612b.entry.js.map} +0 -0
- /package/dist/beeq/{p-b144f52a.entry.js.map → p-9305e1a2.entry.js.map} +0 -0
- /package/dist/beeq/{p-18af4fe6.entry.js.map → p-96f6c9ae.entry.js.map} +0 -0
- /package/dist/beeq/{p-1dded250.entry.js.map → p-a9643899.entry.js.map} +0 -0
- /package/dist/beeq/{p-96fed9ed.entry.js.map → p-b268b017.entry.js.map} +0 -0
- /package/dist/beeq/{p-bb038cc5.entry.js.map → p-b520bdb8.entry.js.map} +0 -0
- /package/dist/beeq/{p-c7b5ae9b.entry.js.map → p-ba12d135.entry.js.map} +0 -0
- /package/dist/beeq/{p-6eb439a3.entry.js.map → p-c023718e.entry.js.map} +0 -0
- /package/dist/beeq/{p-1ca28052.entry.js.map → p-d0a16e94.entry.js.map} +0 -0
- /package/dist/beeq/{p-83c5cd25.entry.js.map → p-d1dd36ca.entry.js.map} +0 -0
- /package/dist/beeq/{p-fc2f0022.entry.js.map → p-dc4d2d77.entry.js.map} +0 -0
- /package/dist/beeq/{p-cb1ec3ac.entry.js.map → p-dd896cd8.entry.js.map} +0 -0
- /package/dist/beeq/{p-3464beb1.entry.js.map → p-e7bd48a0.entry.js.map} +0 -0
- /package/dist/beeq/{p-ad56e393.entry.js.map → p-eb2cfa90.entry.js.map} +0 -0
- /package/dist/beeq/{p-8918acc2.entry.js.map → p-f12a127c.entry.js.map} +0 -0
- /package/dist/beeq/{p-4362ebdd.entry.js.map → p-f8d5c1ab.entry.js.map} +0 -0
- /package/dist/beeq/{p-22c634b5.entry.js.map → p-fbc38c77.entry.js.map} +0 -0
- /package/dist/components/{p-BrcJUBET.js.map → p-5er2o4Mn.js.map} +0 -0
- /package/dist/components/{p-CttsUm37.js.map → p-BIl7Vq5P.js.map} +0 -0
- /package/dist/components/{p-DZeqNx0s.js.map → p-BPVTwD6U.js.map} +0 -0
- /package/dist/components/{p-DngixUI8.js.map → p-Bkf_oCvP.js.map} +0 -0
- /package/dist/components/{p-BzYR7w7X.js.map → p-Bs3hKCXS.js.map} +0 -0
- /package/dist/components/{p-9gvSRSmi.js.map → p-C4Jb3i-D.js.map} +0 -0
- /package/dist/components/{p-DpHyV2gx.js.map → p-CjS2vgik.js.map} +0 -0
- /package/dist/components/{p-BREXcAn5.js.map → p-k2047NJf.js.map} +0 -0
- /package/dist/types/{home/runner/work/BEEQ/BEEQ → Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System}/.stencil/packages/beeq/jest.config.d.ts +0 -0
- /package/dist/types/{home/runner/work/BEEQ/BEEQ → Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System}/.stencil/packages/beeq/stencil.config.d.ts +0 -0
- /package/dist/types/{home/runner/work/BEEQ/BEEQ → Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System}/.stencil/tailwind.config.d.ts +0 -0
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built by Endavans
|
|
3
|
-
* © https://beeq.design - Apache 2 License.
|
|
4
|
-
*/
|
|
5
|
-
import{r as a,c as r,a as e,h as b,d as n}from"./p-C4jSqdYP.js";import{d as q}from"./p-D9ofIraD.js";import{i as t}from"./p-Dx-CEPSQ.js";import{g as i}from"./p-BsSDkLU5.js";import{i as o}from"./p-BcPwGxIn.js";import{v as s}from"./p-zh4P02Kn.js";const d=["horizontal","vertical"];const l='::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.inline-block{display:inline-block}.flex{display:flex}.flex-col{flex-direction:column}.border-0{border-width:0}.p-b-0{padding-block:0}.p-i-0{padding-inline:0}.m-b-0{margin-block:0}.m-i-0{margin-inline:0}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{display:inline-block}.bq-radio-group{margin-block:0;margin-inline:0}.bq-radio-group:not(.has-fieldset){border-width:0;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.bq-radio-group--horizontal{display:flex}.bq-radio-group--vertical{display:flex;flex-direction:column}.static{position:static}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}';const c={ArrowDown:"forward",ArrowRight:"forward",ArrowUp:"backward",ArrowLeft:"backward"};const v=class{constructor(e){a(this,e);this.bqChange=r(this,"bqChange");if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}}initialValue;debouncedBqChange;focusedBqRadio=null;radioElementsSet=new Set;cachedRadioElements=[];internals;get el(){return e(this)}checkedRadio;tabIndex="0";backgroundOnHover=false;debounceTime=0;disabled=false;fieldset=false;name;orientation="vertical";required=false;requiredValidationMessage;value;handleDebounceTimeChange(){const a=0;const r=Math.max(a,this.debounceTime);if(r!==this.debounceTime){this.debounceTime=r}this.debouncedBqChange?.cancel();this.debouncedBqChange=q((a=>{this.bqChange?.emit(a)}),this.debounceTime)}handleDisabledChange(){this.tabIndex=this.disabled?"-1":"0";this.updateRadioTabIndexes()}handleGroupProperties(){this.updateRadioProperties()}checkPropValues(){s(d,"vertical",this.el,"orientation")}handleRequiredChange(){this.updateFormValidity()}handleValueChange(){this.updateRadioProperties();this.updateFormValidity();const a=this.cachedRadioElements.find((a=>a.value===this.value));if(a){this.checkedRadio=a;this.debouncedBqChange?.({value:this.value,target:a})}else{this.checkedRadio=undefined}}bqChange;componentWillLoad(){this.initialValue=this.value;this.handleDebounceTimeChange();this.internals.setFormValue(this.value??null);this.updateCustomStates();this.updateFormValidity()}disconnectedCallback(){this.debouncedBqChange?.cancel()}formAssociatedCallback(){this.internals.setFormValue(this.value??null);this.updateFormValidity()}formResetCallback(){this.value=this.initialValue;this.internals.setFormValue(this.value??null);this.updateFormValidity();this.updateCustomStates()}async onBqClick(a){if(!t(a,this.el))return;const{target:r,value:e}=a.detail;if(e===this.value)return;requestAnimationFrame((()=>{if(a.defaultPrevented)return;this.updateRadioSelection(r)}))}onBqKeyDown(a){if(!t(a,this.el))return;const r=c[a.detail.key];if(!r)return;this.focusRadioInputSibling(a.detail.target,r)}onBqFocus(a){if(!t(a,this.el))return;const r=this.focusedBqRadio&&a.detail!==this.focusedBqRadio;if(r){a.stopPropagation()}this.focusedBqRadio=a.detail}onBqBlur(a){if(!t(a,this.el))return;const r=this.focusedBqRadio&&a.detail!==this.focusedBqRadio;if(r){a.stopPropagation();return}this.focusedBqRadio=null}initializeRadioElements=()=>{this.radioElementsSet.clear();this.el.querySelectorAll("bq-radio").forEach((a=>this.radioElementsSet.add(a)));this.cachedRadioElements=Array.from(this.radioElementsSet);this.tabIndex=this.cachedRadioElements.length===0||this.disabled?"-1":"0";this.updateRadioTabIndexes()};updateRadioTabIndexes=()=>{if(this.cachedRadioElements.length===0)return;if(this.disabled){this.cachedRadioElements.forEach((a=>a.tabIndex=-1));return}let a;a=this.cachedRadioElements.find((a=>a.checked));if(!a&&this.value){a=this.cachedRadioElements.find((a=>a.value===this.value))}if(!a){a=this.cachedRadioElements.find((a=>!a.disabled))}this.cachedRadioElements.forEach((r=>{r.tabIndex=r===a?0:-1}))};updateRadioSelection=a=>{if(this.checkedRadio&&this.checkedRadio!==a){this.checkedRadio.checked=false;this.checkedRadio.tabIndex=-1}a.checked=true;a.tabIndex=0;a.vFocus();this.checkedRadio=a;this.value=a.value;this.internals?.setFormValue(this.value??null);this.updateRadioTabIndexes()};updateRadioProperties=()=>{if(this.cachedRadioElements.length===0)return;const{backgroundOnHover:a,disabled:r,name:e,required:b,value:n}=this;for(const q of this.cachedRadioElements){q.backgroundOnHover=a;q.checked=n===q.value;q.forceDisabled=r;q.name=e;q.required=b}};focusRadioInputSibling=(a,r)=>{if(this.cachedRadioElements.length<=1)return;const e=this.cachedRadioElements.indexOf(a);if(e===-1)return;const b=i(this.cachedRadioElements,e,r);this.updateRadioSelection(b)};updateFormValidity=async()=>{const{internals:a,required:r,requiredValidationMessage:e,value:b}=this;a?.states.clear();if(!r||r&&!o(b)){a?.states.add("valid");a?.setValidity({});return}const n=this.cachedRadioElements[0];if(!n)return;a?.states.add("invalid");a?.setValidity({valueMissing:true},e??"Please select an option",await n.getNativeInput())};updateCustomStates=()=>{const a=new Set;if(this.disabled)a.add("disabled");if(this.orientation)a.add(this.orientation);this.internals?.states.clear();a.forEach((a=>this.internals?.states.add(a)))};handleSlotChange=()=>{this.initializeRadioElements();this.updateRadioProperties()};render(){return b(n,{key:"0f3d7f7b43b4d98eaee94ffa79ad0e23c0f80cd9",tabindex:this.tabIndex},b("fieldset",{key:"e48c6c15370dd881ed26b7df9e578350f3a42e34",class:{"bq-radio-group":true,"has-fieldset":this.fieldset},"aria-controls":"bq-radiogroup","aria-labelledby":"bq-radio-group__label","aria-disabled":this.disabled,"aria-required":this.required,disabled:this.disabled,role:"radiogroup",part:"base"},b("legend",{key:"56faba3e726d627fe1b76f96d2eb0dc352c72165",part:"label"},b("slot",{key:"87ae7a460396a150e136123be5b895f2e50b229e",id:"bq-radiogroup__label",name:"label"})),b("div",{key:"6aad53784020d3e1a4fe1a22d4e53812f6311058",class:`bq-radio-group--${this.orientation}`,part:"group"},b("slot",{key:"9753cae782f6e3e4a2a419d31d786b7d838336bd",id:"bq-radiogroup",onSlotchange:this.handleSlotChange}))))}static get delegatesFocus(){return true}static get formAssociated(){return true}static get watchers(){return{debounceTime:["handleDebounceTimeChange"],disabled:["handleDisabledChange","handleGroupProperties"],backgroundOnHover:["handleGroupProperties"],name:["handleGroupProperties"],required:["handleGroupProperties","handleRequiredChange"],orientation:["checkPropValues"],value:["handleValueChange"]}}};v.style=l;export{v as bq_radio_group};
|
|
6
|
-
//# sourceMappingURL=p-a8c20aaf.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["RADIO_GROUP_ORIENTATION","bqRadioGroupCss","KEY_MAP","ArrowDown","ArrowRight","ArrowUp","ArrowLeft","BqRadioGroup","initialValue","debouncedBqChange","focusedBqRadio","radioElementsSet","Set","cachedRadioElements","internals","checkedRadio","tabIndex","backgroundOnHover","debounceTime","disabled","fieldset","name","orientation","required","requiredValidationMessage","value","handleDebounceTimeChange","MIN_DEBOUNCE_TIME","normalizedDebounceTime","Math","max","this","cancel","debounce","event","bqChange","emit","handleDisabledChange","updateRadioTabIndexes","handleGroupProperties","updateRadioProperties","checkPropValues","validatePropValue","el","handleRequiredChange","updateFormValidity","handleValueChange","newCheckedRadio","find","radio","target","undefined","componentWillLoad","setFormValue","updateCustomStates","disconnectedCallback","formAssociatedCallback","formResetCallback","onBqClick","isEventTargetChildOfElement","detail","requestAnimationFrame","defaultPrevented","updateRadioSelection","onBqKeyDown","direction","key","focusRadioInputSibling","onBqFocus","shouldStopPropagation","stopPropagation","onBqBlur","initializeRadioElements","clear","querySelectorAll","forEach","add","Array","from","length","focusableRadio","checked","vFocus","forceDisabled","currentTarget","currentIndex","indexOf","nextElement","getNextElement","async","states","isNil","setValidity","firstRadio","valueMissing","getNativeInput","state","handleSlotChange","render","h","Host","tabindex","class","role","part","id","onSlotchange"],"sources":["../../packages/beeq/src/components/radio-group/bq-radio-group.types.ts","../../packages/beeq/src/components/radio-group/scss/bq-radio-group.scss?tag=bq-radio-group&encapsulation=shadow","../../packages/beeq/src/components/radio-group/bq-radio-group.tsx"],"sourcesContent":["export const RADIO_GROUP_ORIENTATION = ['horizontal', 'vertical'] as const;\nexport type TRadioGroupOrientation = (typeof RADIO_GROUP_ORIENTATION)[number];\n","/* -------------------------------------------------------------------------- */\n/* Radio group styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply inline-block;\n}\n\n.bq-radio-group {\n @apply m-b-0 m-i-0;\n\n &:not(.has-fieldset) {\n @apply border-0 m-b-0 m-i-0 p-b-0 p-i-0;\n }\n\n &--horizontal {\n @apply flex;\n }\n\n &--vertical {\n @apply flex flex-col;\n }\n}\n","import { AttachInternals, Component, Element, Event, h, Host, Listen, Prop, State, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport { RADIO_GROUP_ORIENTATION } from './bq-radio-group.types';\nimport type { TRadioGroupOrientation } from './bq-radio-group.types';\nimport {\n debounce,\n getNextElement,\n isEventTargetChildOfElement,\n isNil,\n TDebounce,\n validatePropValue,\n} from '../../shared/utils';\n\nconst KEY_MAP = {\n ArrowDown: 'forward',\n ArrowRight: 'forward',\n ArrowUp: 'backward',\n ArrowLeft: 'backward',\n} as const;\n\ntype Direction = (typeof KEY_MAP)[keyof typeof KEY_MAP];\n\n/**\n * The radio group is a user interface component that groups radio buttons to enable a single selection within the group.\n *\n * @example How to use it\n * ```html\n * <bq-radio-group fieldset value=\"option1\">\n * <span slot=\"label\">radio group</span>\n * <bq-radio value=\"option1\">Radio option 1</bq-radio>\n * <bq-radio value=\"option2\">Radio option 2</bq-radio>\n * <bq-radio value=\"option3\">Radio option 3</bq-radio>\n * </bq-radio-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/9718e1-radio-button/b/09d7b1\n * @status stable\n *\n * @attr {boolean} background-on-hover - If `true`, the radio displays background on hover\n * @attr {number} debounce-time - A number representing the delay time (in milliseconds) that bqChange event handler gets triggered once the value change\n * @attr {boolean} disabled - If `true` radio inputs are disabled\n * @attr {boolean} fieldset - If `true` displays fieldset\n * @attr {string} name - Name of the HTML input form control. Submitted with the form as part of a name/value pair\n * @attr {\"horizontal\" | \"vertical\"} orientation - The display orientation of the radio inputs\n * @attr {boolean} required - If `true`, the radio group is required\n * @attr {string} required-validation-message - The native form validation message when the radio group is required\n * @attr {string} value - The display orientation of the radio inputs\n *\n * @method vClick - Simulate a click event on the native `<input>` HTML element used under the hood\n * @method vFocus - Sets focus on the native `<input>` HTML element used under the hood\n * @method vBlur - Remove focus from the native `<input>` HTML element used under the hood\n *\n * @event bqChange - Handler to be called when the radio state changes\n *\n * @slot - The bq-radio items to group\n * @slot label - The label content of radio group\n *\n * @part base - The component's internal wrapper of the radio components.\n * @part label - The `<legend>` element that holds the text content.\n * @part group - The `<div>` element that holds the radio inputs.\n */\n@Component({\n tag: 'bq-radio-group',\n styleUrl: './scss/bq-radio-group.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqRadioGroup {\n // Own Properties\n // ====================\n\n private initialValue?: string;\n private debouncedBqChange: TDebounce<{ value: string; target: HTMLBqRadioElement }>;\n private focusedBqRadio: HTMLBqRadioElement | null = null;\n private readonly radioElementsSet = new Set<HTMLBqRadioElement>();\n private cachedRadioElements: HTMLBqRadioElement[] = [];\n\n // Reference to host HTML element\n // ===================================\n\n @AttachInternals() internals!: ElementInternals;\n @Element() el!: HTMLBqRadioGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() checkedRadio?: HTMLBqRadioElement;\n @State() tabIndex: '0' | '-1' = '0';\n\n // Public Property API\n // ========================\n\n /** If true, all radio inputs in the group will display a background on hover */\n @Prop({ reflect: true }) backgroundOnHover = false;\n\n /** A number representing the delay time (in milliseconds) that `bqChange` event handler gets triggered once the value change */\n @Prop({ reflect: true, mutable: true }) debounceTime = 0;\n\n /** If true radio inputs are disabled */\n @Prop({ reflect: true }) disabled = false;\n\n /** If true displays fieldset */\n @Prop({ reflect: true }) fieldset = false;\n\n /** Name of the HTML input form control. Submitted with the form as part of a name/value pair. */\n @Prop({ reflect: true }) name!: string;\n\n /** The display orientation of the radio inputs */\n @Prop({ reflect: true, mutable: true }) orientation: TRadioGroupOrientation = 'vertical';\n\n /** If true, the radio group is required */\n @Prop({ reflect: true }) required = false;\n\n /** The native form validation message when the radio group is required */\n @Prop({ reflect: true }) requiredValidationMessage?: string;\n\n /** A string representing the value of the radio. */\n @Prop({ reflect: true, mutable: true }) value?: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('debounceTime')\n handleDebounceTimeChange() {\n const MIN_DEBOUNCE_TIME = 0;\n const normalizedDebounceTime = Math.max(MIN_DEBOUNCE_TIME, this.debounceTime);\n\n if (normalizedDebounceTime !== this.debounceTime) {\n this.debounceTime = normalizedDebounceTime;\n }\n\n this.debouncedBqChange?.cancel();\n this.debouncedBqChange = debounce((event: { value: string; target: HTMLBqRadioElement }): void => {\n this.bqChange?.emit(event);\n }, this.debounceTime);\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n this.tabIndex = this.disabled ? '-1' : '0';\n this.updateRadioTabIndexes();\n }\n\n @Watch('backgroundOnHover')\n @Watch('disabled')\n @Watch('name')\n @Watch('required')\n handleGroupProperties() {\n this.updateRadioProperties();\n }\n\n @Watch('orientation')\n checkPropValues() {\n validatePropValue(RADIO_GROUP_ORIENTATION, 'vertical', this.el, 'orientation');\n }\n\n @Watch('required')\n handleRequiredChange() {\n this.updateFormValidity();\n }\n\n @Watch('value')\n handleValueChange() {\n this.updateRadioProperties();\n this.updateFormValidity();\n\n // Find and update the checked radio based on the new value\n const newCheckedRadio = this.cachedRadioElements.find((radio) => radio.value === this.value);\n if (newCheckedRadio) {\n this.checkedRadio = newCheckedRadio;\n this.debouncedBqChange?.({ value: this.value, target: newCheckedRadio });\n } else {\n this.checkedRadio = undefined;\n }\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the radio state changes */\n @Event() bqChange: EventEmitter<{ value: string; target: HTMLBqRadioElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.initialValue = this.value;\n this.handleDebounceTimeChange();\n this.internals.setFormValue(this.value ?? null);\n\n this.updateCustomStates();\n this.updateFormValidity();\n }\n\n disconnectedCallback() {\n this.debouncedBqChange?.cancel();\n }\n\n formAssociatedCallback() {\n this.internals.setFormValue(this.value ?? null);\n this.updateFormValidity();\n }\n\n formResetCallback() {\n this.value = this.initialValue;\n this.internals.setFormValue(this.value ?? null);\n this.updateFormValidity();\n this.updateCustomStates();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqClick', { capture: true })\n async onBqClick(event: CustomEvent<{ value: string; target: HTMLBqRadioElement }>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const { target, value } = event.detail;\n if (value === this.value) return;\n\n requestAnimationFrame(() => {\n if (event.defaultPrevented) return;\n this.updateRadioSelection(target);\n });\n }\n\n @Listen('bqKeyDown')\n onBqKeyDown(event: CustomEvent<{ key: string; target: HTMLBqRadioElement }>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const direction: Direction | undefined = KEY_MAP[event.detail.key];\n if (!direction) return;\n\n this.focusRadioInputSibling(event.detail.target, direction);\n }\n\n @Listen('bqFocus', { capture: true })\n onBqFocus(event: CustomEvent<HTMLBqRadioElement>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const shouldStopPropagation = this.focusedBqRadio && event.detail !== this.focusedBqRadio;\n if (shouldStopPropagation) {\n event.stopPropagation();\n }\n\n this.focusedBqRadio = event.detail;\n }\n\n @Listen('bqBlur', { capture: true })\n onBqBlur(event: CustomEvent<HTMLBqRadioElement>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const shouldStopPropagation = this.focusedBqRadio && event.detail !== this.focusedBqRadio;\n if (shouldStopPropagation) {\n event.stopPropagation();\n return;\n }\n\n this.focusedBqRadio = null;\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 /**\n * Initializes the radio elements set by querying the host element for `ds-radio` elements.\n * This is done to avoid re-querying the host element for radio elements on every change.\n */\n private initializeRadioElements = (): void => {\n this.radioElementsSet.clear();\n this.el.querySelectorAll('bq-radio').forEach((radio) => this.radioElementsSet.add(radio));\n // Caching the radio elements in an array for faster access and iteration\n this.cachedRadioElements = Array.from(this.radioElementsSet);\n // Set the tabIndex of the host element to -1 if there are no radio elements or the group is disabled, otherwise set it to 0\n this.tabIndex = this.cachedRadioElements.length === 0 || this.disabled ? '-1' : '0';\n // Set initial tabIndex for all radios\n this.updateRadioTabIndexes();\n };\n\n /**\n * Sets tabIndex for all radio elements based on current state\n * Handles all scenarios: disabled state, checked radio, value matching, fallback to first\n */\n private updateRadioTabIndexes = (): void => {\n if (this.cachedRadioElements.length === 0) return;\n\n // If disabled, all radios get tabIndex -1\n if (this.disabled) {\n this.cachedRadioElements.forEach((radio) => (radio.tabIndex = -1));\n return;\n }\n\n // Find which radio should be focusable\n let focusableRadio: HTMLBqRadioElement | undefined;\n\n // Priority 1: Currently checked radio\n focusableRadio = this.cachedRadioElements.find((radio) => radio.checked);\n\n // Priority 2: Radio matching current value\n if (!focusableRadio && this.value) {\n focusableRadio = this.cachedRadioElements.find((radio) => radio.value === this.value);\n }\n\n // Priority 3: First enabled radio (fallback)\n if (!focusableRadio) {\n focusableRadio = this.cachedRadioElements.find((radio) => !radio.disabled);\n }\n\n // Apply tabIndex to all radios\n this.cachedRadioElements.forEach((radio) => {\n radio.tabIndex = radio === focusableRadio ? 0 : -1;\n });\n };\n\n /**\n * Updates the radio selection and focus.\n * @param target - The radio element to update.\n */\n private updateRadioSelection = (target: HTMLBqRadioElement): void => {\n // Only uncheck the previously checked radio if it's different\n if (this.checkedRadio && this.checkedRadio !== target) {\n this.checkedRadio.checked = false;\n this.checkedRadio.tabIndex = -1;\n }\n\n target.checked = true;\n target.tabIndex = 0;\n target.vFocus();\n\n this.checkedRadio = target;\n this.value = target.value;\n this.internals?.setFormValue(this.value ?? null);\n\n this.updateRadioTabIndexes();\n };\n\n /**\n * Synchronizes properties of child radio elements with the group's state.\n */\n private updateRadioProperties = (): void => {\n if (this.cachedRadioElements.length === 0) return;\n\n const { backgroundOnHover, disabled, name, required, value } = this;\n\n for (const radio of this.cachedRadioElements) {\n radio.backgroundOnHover = backgroundOnHover;\n radio.checked = value === radio.value;\n // This will allows us to force all radio elements to be disabled\n // while keeping the disabled state of the radio element if it was set individually by the user\n radio.forceDisabled = disabled;\n radio.name = name;\n radio.required = required;\n }\n };\n\n /**\n * Focuses the next/previous radio element in the group based on the current target.\n * Handles circular navigation and skips disabled elements.\n * @param currentTarget - The currently focused radio element\n * @param direction - The navigation direction ('forward' | 'backward')\n */\n private focusRadioInputSibling = (currentTarget: HTMLBqRadioElement, direction: Direction): void => {\n // If there is none or only one radio element, there will be no sibling to focus\n if (this.cachedRadioElements.length <= 1) return;\n\n const currentIndex = this.cachedRadioElements.indexOf(currentTarget);\n // If the index of the radio element target is not found, it means that it's not part of the group\n if (currentIndex === -1) return;\n\n const nextElement = getNextElement(this.cachedRadioElements, currentIndex, direction);\n this.updateRadioSelection(nextElement);\n };\n\n private updateFormValidity = async (): Promise<void> => {\n const { internals, required, requiredValidationMessage, value } = this;\n // Clear the validity state\n internals?.states.clear();\n\n if (!required || (required && !isNil(value))) {\n // If the radio group is not required or has a value, set the validity state to valid\n internals?.states.add('valid');\n internals?.setValidity({});\n return;\n }\n\n const firstRadio = this.cachedRadioElements[0];\n if (!firstRadio) return;\n // If the radio group is required and has no value, set the validity state to invalid\n internals?.states.add('invalid');\n // We need to pass the native input element to the setValidity method as anchor element\n internals?.setValidity(\n { valueMissing: true },\n requiredValidationMessage ?? 'Please select an option',\n await firstRadio.getNativeInput(),\n );\n };\n\n /**\n * Updates the custom states based on the component properties.\n * The custom states can be used to style the component based on the component properties.\n * The custom states are `disabled`, based on the component properties.\n */\n private updateCustomStates = (): void => {\n const states = new Set<string>();\n\n if (this.disabled) states.add('disabled');\n if (this.orientation) states.add(this.orientation);\n\n // Update states\n this.internals?.states.clear();\n states.forEach((state) => this.internals?.states.add(state));\n };\n\n private handleSlotChange = (): void => {\n this.initializeRadioElements();\n this.updateRadioProperties();\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host tabindex={this.tabIndex}>\n <fieldset\n class={{ 'bq-radio-group': true, 'has-fieldset': this.fieldset }}\n aria-controls=\"bq-radiogroup\"\n aria-labelledby=\"bq-radio-group__label\"\n aria-disabled={this.disabled}\n aria-required={this.required}\n disabled={this.disabled}\n role=\"radiogroup\"\n part=\"base\"\n >\n <legend part=\"label\">\n <slot id=\"bq-radiogroup__label\" name=\"label\" />\n </legend>\n <div class={`bq-radio-group--${this.orientation}`} part=\"group\">\n <slot id=\"bq-radiogroup\" onSlotchange={this.handleSlotChange} />\n </div>\n </fieldset>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assetsPath-CyeA6tpY.js","sources":["../../packages/beeq/src/shared/utils/assetsPath.ts"],"sourcesContent":["/**\n * Inspired by Shoelace's `getBasePath` and `setBasePath` functions.\n * https://github.com/shoelace-style/shoelace/blob/next/src/utilities/base-path.ts\n */\nimport { isClient } from './isClient';\n\nlet beeqBasePath: string | undefined;\nconst DATA_BEEQ_ATTRIBUTE = 'data-beeq';\nconst DEFAULT_SVG_PATH = 'svg';\n\n/**\n * Sets the base path for the assets.\n * @param {string} path - The base path to set.\n */\nexport const setBasePath = (path: string): void => {\n beeqBasePath = path;\n};\n\n/**\n * Gets the base path for the assets.\n * @param {string} subpath - An optional subpath to append to the base path.\n * @returns {string} The base path of the assets.\n */\nexport const getBasePath = (subpath: string = ''): string => {\n if (!beeqBasePath) {\n const configScript = findConfigScript();\n const fallbackScript = configScript ? null : findFallbackScript();\n\n const script = configScript || fallbackScript;\n if (script) {\n const path = configScript ? script.getAttribute(DATA_BEEQ_ATTRIBUTE) : getScriptPath(script);\n setBasePath(`${path}/${DEFAULT_SVG_PATH}`);\n } else {\n // Fallback: use the default path\n setBasePath(`./${DEFAULT_SVG_PATH}`);\n }\n }\n\n // Return the base path without a trailing slash. If one exists, append the subpath separated by a slash.\n const formattedSubpath = subpath ? `/${subpath.replace(/^\\//, '')}` : '';\n return beeqBasePath.replace(/\\/$/, '') + formattedSubpath;\n};\n\n/**\n * Finds the configuration script element.\n * @returns The configuration script element or null if not found.\n */\nconst findConfigScript = (): HTMLScriptElement | null => {\n if (!isClient()) return null;\n\n return document.querySelector(`script[${DATA_BEEQ_ATTRIBUTE}]`);\n};\n\n/**\n * Finds the fallback script element.\n * @returns The fallback script element or null if not found.\n */\nconst findFallbackScript = (): HTMLScriptElement | null => {\n if (!isClient()) return null;\n\n return document.querySelector(`script[src*=\"beeq\"]`);\n};\n\n/**\n * Gets the path of a script element.\n * @param {HTMLScriptElement} script - The script element.\n * @returns The path of the script element.\n */\nconst getScriptPath = (script: HTMLScriptElement): string => {\n if (!isClient()) return '';\n\n const src = script.getAttribute('src');\n return src ? src.substring(0, src.lastIndexOf('/')) : '';\n};\n"],"names":["isClient"],"mappings":";;;;;;;;AAAA;;;AAGG;AAGH,IAAI,YAAgC;AACpC,MAAM,mBAAmB,GAAG,WAAW;AACvC,MAAM,gBAAgB,GAAG,KAAK;AAE9B;;;AAGG;AACU,MAAA,WAAW,GAAG,CAAC,IAAY,KAAU;IAChD,YAAY,GAAG,IAAI;AACrB;AAEA;;;;AAIG;MACU,WAAW,GAAG,CAAC,OAAkB,GAAA,EAAE,KAAY;IAC1D,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACvC,QAAA,MAAM,cAAc,GAAG,YAAY,GAAG,IAAI,GAAG,kBAAkB,EAAE;AAEjE,QAAA,MAAM,MAAM,GAAG,YAAY,IAAI,cAAc;QAC7C,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,IAAI,GAAG,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;AAC5F,YAAA,WAAW,CAAC,CAAG,EAAA,IAAI,IAAI,gBAAgB,CAAA,CAAE,CAAC;;aACrC;;AAEL,YAAA,WAAW,CAAC,CAAA,EAAA,EAAK,gBAAgB,CAAA,CAAE,CAAC;;;;IAKxC,MAAM,gBAAgB,GAAG,OAAO,GAAG,CAAA,CAAA,EAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA,CAAE,GAAG,EAAE;IACxE,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,gBAAgB;AAC3D;AAEA;;;AAGG;AACH,MAAM,gBAAgB,GAAG,MAA+B;IACtD,IAAI,CAACA,iBAAQ,EAAE;AAAE,QAAA,OAAO,IAAI;IAE5B,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,mBAAmB,CAAA,CAAA,CAAG,CAAC;AACjE,CAAC;AAED;;;AAGG;AACH,MAAM,kBAAkB,GAAG,MAA+B;IACxD,IAAI,CAACA,iBAAQ,EAAE;AAAE,QAAA,OAAO,IAAI;AAE5B,IAAA,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAA,mBAAA,CAAqB,CAAC;AACtD,CAAC;AAED;;;;AAIG;AACH,MAAM,aAAa,GAAG,CAAC,MAAyB,KAAY;IAC1D,IAAI,CAACA,iBAAQ,EAAE;AAAE,QAAA,OAAO,EAAE;IAE1B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;IACtC,OAAO,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;AAC1D,CAAC;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stringToArray-DWnmNBjZ.js","sources":["../../packages/beeq/src/shared/utils/stringToArray.ts"],"sourcesContent":["import { isString } from './isString';\n\n/**\n * Converts a string or array to an array.\n *\n * @param {string | string[]} value - The value to convert.\n * @return {string[]} The converted array.\n * @throws {Error} If the input string is not a valid JSON array\n */\nexport const stringToArray = (value: string | string[]): string[] => {\n if (isString(value)) {\n try {\n return Array.from(JSON.parse(String(value)));\n } catch (error) {\n throw new Error(\n `Failed to parse string to array. Input must be a valid JSON array string. Details: ${error.message}`,\n );\n }\n }\n return Array.isArray(value) ? value : [];\n};\n"],"names":["isString"],"mappings":";;;;;;;;AAEA;;;;;;AAMG;AACU,MAAA,aAAa,GAAG,CAAC,KAAwB,KAAc;AAClE,IAAA,IAAIA,iBAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,QAAA,IAAI;AACF,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;;QAC5C,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CACb,CAAA,mFAAA,EAAsF,KAAK,CAAC,OAAO,CAAE,CAAA,CACtG;;;AAGL,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AAC1C;;;;"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built by Endavans
|
|
3
|
-
* © https://beeq.design - Apache 2 License.
|
|
4
|
-
*/
|
|
5
|
-
import{p as a,H as r,c as e,h as b,d as n}from"./p-DZoizZde.js";import{i as q}from"./p-B4sM1t6Z.js";import{i as t}from"./p-BcPwGxIn.js";import{g as i}from"./p-_RvVpeh2.js";let o;const s="data-beeq";const c="svg";const d=a=>{o=a};const l=(a="")=>{if(!o){const a=v();const r=a?null:u();const e=a||r;if(e){const r=a?e.getAttribute(s):g(e);d(`${r}/${c}`)}else{d(`./${c}`)}}const r=a?`/${a.replace(/^\//,"")}`:"";return o.replace(/\/$/,"")+r};const v=()=>{if(!q())return null;return document.querySelector(`script[${s}]`)};const u=()=>{if(!q())return null;return document.querySelector(`script[src*="beeq"]`)};const g=a=>{if(!q())return"";const r=a.getAttribute("src");return r?r.substring(0,r.lastIndexOf("/")):""};const f="svg";const y="bq-icon__svg";const h={requests:new Map,content:new Map};const m=a=>{const r=a.getAttribute("class")||"";a.setAttribute("class",`${r} ${y}`.trim());a.setAttribute("part",f);a.removeAttribute("height");a.removeAttribute("width")};const w=a=>{if(!a||a.nodeType!==Node.ELEMENT_NODE)return false;if(a.nodeName.toLowerCase()==="script")return false;const r=Array.from(a.attributes).some((a=>{const r=a.value?.toLowerCase()||"";const e=a.name.toLowerCase();if(e.startsWith("on"))return true;if(r.includes("javascript:"))return true;return false}));if(r)return false;return Array.from(a.children).every((a=>w(a)))};const k=a=>{if(!q()||t(a))return"";try{const r=new DOMParser;const e=r.parseFromString(a,"image/svg+xml");const b=e.querySelector(f);if(!b||!w(b)){console.warn("[BqIcon] SVG content failed security validation");return""}m(b);return(new XMLSerializer).serializeToString(b)}catch(a){console.error("[BqIcon] Error processing SVG content:",a);return""}};const p=async(a,r=true)=>{if(!q())return"";try{const e=await fetch(a);if(!e.ok){throw new Error(`HTTP ${e.status}: ${e.statusText}`)}const b=await e.text();if(!b.trim()){console.warn(`[BqIcon] Empty SVG content received from ${a}`);return""}return r?k(b):b}catch(r){console.error(`[BqIcon] Failed to fetch SVG from ${a}:`,r);return""}};const x=async(a,r=true)=>{if(!q()||t(a))return undefined;if(h.content.has(a)){const r=h.content.get(a);return r}if(!h.requests.has(a)){const e=p(a,r).then((r=>{h.content.set(a,r);h.requests.delete(a);return r}));h.requests.set(a,e)}return h.requests.get(a)};const z='.bq-icon__svg,.scale-x-\\[--bq-icon--direction\\],.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.inline-block{display:inline-block}.scale-x-\\[--bq-icon--direction\\]{--tw-scale-x:var(--bq-icon--direction)}.scale-x-\\[--bq-icon--direction\\],.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-icon--color:currentColor;--bq-icon--size:24px;display:inline-block}.bq-icon__svg{--tw-scale-x:var(--bq-icon--direction);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.static{position:static}.flex{display:flex}.text-\\[--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}';const $=a(class a extends r{constructor(){super();this.__registerHost();this.__attachShadow();this.svgLoaded=e(this,"svgLoaded")}_svgContent;label;color;name;size=24;src;weight=undefined;handlePropsChange(){this.loadIcon(this.name)}handleWeightChange(){if(this.name.includes(this.weight))return;console.warn(`❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\n\n For example, '<bq-icon name="bell-fill"></bq-icon>' instead of '<bq-icon name="bell" weight="fill"></bq-icon>'`);const a="regular";const r=!t(this.weight)&&this.weight!==a;const e=r?`-${this.weight}`:"";const b=`${this.name}${e}`;this.loadIcon(b)}svgLoaded;connectedCallback(){this.setupIconComponent()}componentWillLoad(){this.setupIconComponent()}setupIconComponent=()=>{this.loadIcon(this.name);if(!t(this.weight))this.handleWeightChange()};getIconSource=a=>{if(!this.name&&!this.src)return undefined;if(this.src)return this.src;const r=".svg";const e=`${a}${r}`;return l(e)};loadIcon=async a=>{const r=this.getIconSource(a);if(!r)return;try{const a=await x(r,true);if(!a)return;this._svgContent=a;this.svgLoaded.emit(this._svgContent)}catch(a){console.error("[BEEQ] Failed to load the icon SVG content",a)}};render(){const{color:a,label:r,name:e,size:q}=this;const t={...a&&{"--bq-icon--color":i(a)},...q&&{"--bq-icon--size":`${q}px`}};return b(n,{key:"849a56352b6ffdff9d98de2db9c6f46d05955657",style:t},b("div",{key:"b3ded59f6807e90287d6a6a6308eba0266745287","aria-label":r??`${e} icon`,class:"flex text-[--bq-icon--color] bs-[--bq-icon--size] is-[--bq-icon--size]",innerHTML:this._svgContent,part:"base",role:"img"}))}static get assetsDirs(){return["svg"]}static get watchers(){return{color:["handlePropsChange"],name:["handlePropsChange"],size:["handlePropsChange"],weight:["handleWeightChange"]}}static get style(){return z}},[257,"bq-icon",{label:[513],color:[513],name:[513],size:[520],src:[513],weight:[513],_svgContent:[32]},undefined,{color:["handlePropsChange"],name:["handlePropsChange"],size:["handlePropsChange"],weight:["handleWeightChange"]}]);function C(){if(typeof customElements==="undefined"){return}const a=["bq-icon"];a.forEach((a=>{switch(a){case"bq-icon":if(!customElements.get(a)){customElements.define(a,$)}break}}))}export{$ as B,C as d,l as g,d as s};
|
|
6
|
-
//# sourceMappingURL=p-DSDQV9S1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["beeqBasePath","DATA_BEEQ_ATTRIBUTE","DEFAULT_SVG_PATH","setBasePath","path","getBasePath","subpath","configScript","findConfigScript","fallbackScript","findFallbackScript","script","getAttribute","getScriptPath","formattedSubpath","replace","isClient","document","querySelector","src","substring","lastIndexOf","SVG_TAG","ICON_CSS_CLASS","cache","requests","Map","content","sanitizeSvgElement","svg","currentClass","setAttribute","trim","removeAttribute","validateElement","element","nodeType","Node","ELEMENT_NODE","nodeName","toLowerCase","hasUnsafeAttribute","Array","from","attributes","some","attr","value","name","startsWith","includes","children","every","child","processSvgContent","isNil","domParser","DOMParser","doc","parseFromString","console","warn","XMLSerializer","serializeToString","error","fetchAndProcessSvg","async","url","shouldSanitize","response","fetch","ok","Error","status","statusText","text","getSvgContent","sanitize","undefined","has","cachedContent","get","request","then","set","delete","bqIconCss","BqIcon","__stencil_proxyCustomElement","HTMLElement","_svgContent","label","color","size","weight","handlePropsChange","this","loadIcon","handleWeightChange","REGULAR","isWeightedIcon","weightSuffix","iconName","svgLoaded","connectedCallback","setupIconComponent","componentWillLoad","getIconSource","SVG_EXTENSION","iconFileName","emit","render","styles","getColorCSSVariable","h","Host","key","style","class","innerHTML","part","role"],"sources":["../../packages/beeq/src/shared/utils/assetsPath.ts","../../packages/beeq/src/components/icon/helper/request.ts","../../packages/beeq/src/components/icon/scss/bq-icon.scss?tag=bq-icon&encapsulation=shadow","../../packages/beeq/src/components/icon/bq-icon.tsx"],"sourcesContent":["/**\n * Inspired by Shoelace's `getBasePath` and `setBasePath` functions.\n * https://github.com/shoelace-style/shoelace/blob/next/src/utilities/base-path.ts\n */\nimport { isClient } from './isClient';\n\nlet beeqBasePath: string | undefined;\nconst DATA_BEEQ_ATTRIBUTE = 'data-beeq';\nconst DEFAULT_SVG_PATH = 'svg';\n\n/**\n * Sets the base path for the assets.\n * @param {string} path - The base path to set.\n */\nexport const setBasePath = (path: string): void => {\n beeqBasePath = path;\n};\n\n/**\n * Gets the base path for the assets.\n * @param {string} subpath - An optional subpath to append to the base path.\n * @returns {string} The base path of the assets.\n */\nexport const getBasePath = (subpath: string = ''): string => {\n if (!beeqBasePath) {\n const configScript = findConfigScript();\n const fallbackScript = configScript ? null : findFallbackScript();\n\n const script = configScript || fallbackScript;\n if (script) {\n const path = configScript ? script.getAttribute(DATA_BEEQ_ATTRIBUTE) : getScriptPath(script);\n setBasePath(`${path}/${DEFAULT_SVG_PATH}`);\n } else {\n // Fallback: use the default path\n setBasePath(`./${DEFAULT_SVG_PATH}`);\n }\n }\n\n // Return the base path without a trailing slash. If one exists, append the subpath separated by a slash.\n const formattedSubpath = subpath ? `/${subpath.replace(/^\\//, '')}` : '';\n return beeqBasePath.replace(/\\/$/, '') + formattedSubpath;\n};\n\n/**\n * Finds the configuration script element.\n * @returns The configuration script element or null if not found.\n */\nconst findConfigScript = (): HTMLScriptElement | null => {\n if (!isClient()) return null;\n\n return document.querySelector(`script[${DATA_BEEQ_ATTRIBUTE}]`);\n};\n\n/**\n * Finds the fallback script element.\n * @returns The fallback script element or null if not found.\n */\nconst findFallbackScript = (): HTMLScriptElement | null => {\n if (!isClient()) return null;\n\n return document.querySelector(`script[src*=\"beeq\"]`);\n};\n\n/**\n * Gets the path of a script element.\n * @param {HTMLScriptElement} script - The script element.\n * @returns The path of the script element.\n */\nconst getScriptPath = (script: HTMLScriptElement): string => {\n if (!isClient()) return '';\n\n const src = script.getAttribute('src');\n return src ? src.substring(0, src.lastIndexOf('/')) : '';\n};\n","/* -------------------------------------------------------------------------- */\n/* Icon request helper */\n/* -------------------------------------------------------------------------- */\n\nimport { isClient, isNil } from '../../../shared/utils';\n\nconst SVG_TAG = 'svg';\nconst ICON_CSS_CLASS = 'bq-icon__svg';\n\ninterface IconCache {\n requests: Map<string, Promise<string>>;\n content: Map<string, string>;\n}\n\nconst cache: IconCache = {\n requests: new Map(),\n content: new Map(),\n};\n\n/**\n * Sanitizes SVG element by setting required attributes and removing unwanted ones\n * @param svg - The SVG element to sanitize\n */\nconst sanitizeSvgElement = (svg: SVGElement): void => {\n const currentClass = svg.getAttribute('class') || '';\n\n svg.setAttribute('class', `${currentClass} ${ICON_CSS_CLASS}`.trim());\n svg.setAttribute('part', SVG_TAG);\n svg.removeAttribute('height');\n svg.removeAttribute('width');\n};\n\n/**\n * Validates element security (no scripts or event handlers)\n * @param element - The element to validate\n * @returns True if the element is valid, false otherwise\n */\nconst validateElement = (element: Element): boolean => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) return false;\n if (element.nodeName.toLowerCase() === 'script') return false;\n\n // Check for malicious attributes using modern array methods\n const hasUnsafeAttribute = Array.from(element.attributes).some((attr) => {\n const value = attr.value?.toLowerCase() || '';\n const name = attr.name.toLowerCase();\n\n // Check for event handlers\n if (name.startsWith('on')) return true;\n // Check for javascript: URLs\n if (value.includes('javascript:')) return true;\n\n return false;\n });\n\n if (hasUnsafeAttribute) return false;\n\n // Recursively validate children\n return Array.from(element.children).every((child) => validateElement(child));\n};\n\n/**\n * Processes SVG content with security checks and sanitization\n * @param content - The SVG content to process\n * @returns The processed and sanitized SVG content\n */\nconst processSvgContent = (content: string): string => {\n if (!isClient() || isNil(content)) return '';\n\n try {\n const domParser = new DOMParser();\n const doc = domParser.parseFromString(content, 'image/svg+xml');\n const svg = doc.querySelector(SVG_TAG);\n\n if (!svg || !validateElement(svg)) {\n console.warn('[BqIcon] SVG content failed security validation');\n return '';\n }\n\n sanitizeSvgElement(svg);\n return new XMLSerializer().serializeToString(svg);\n } catch (error) {\n console.error('[BqIcon] Error processing SVG content:', error);\n return '';\n }\n};\n\n/**\n * Fetches and processes SVG content from URL\n * @param url - The URL of the SVG to fetch\n * @param shouldSanitize - Whether to sanitize the SVG content\n * @returns Promise that resolves to the processed SVG content\n */\nconst fetchAndProcessSvg = async (url: string, shouldSanitize = true): Promise<string> => {\n if (!isClient()) return '';\n\n try {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n\n const content = await response.text();\n\n if (!content.trim()) {\n console.warn(`[BqIcon] Empty SVG content received from ${url}`);\n return '';\n }\n\n return shouldSanitize ? processSvgContent(content) : content;\n } catch (error) {\n console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);\n return '';\n }\n};\n\n/**\n * Retrieves SVG content with caching, security validation, and sanitization\n * @param url - The URL of the SVG to fetch\n * @param sanitize - Whether to sanitize the SVG content (default: true)\n * @returns Promise that resolves to the processed SVG content or undefined\n */\nexport const getSvgContent = async (url?: string, sanitize = true): Promise<string> => {\n if (!isClient() || isNil(url)) return undefined;\n\n // Return cached content if available\n if (cache.content.has(url)) {\n const cachedContent = cache.content.get(url);\n return cachedContent;\n }\n\n // Check if the request is already in the cache\n if (!cache.requests.has(url)) {\n // Create new request with proper cleanup\n const request = fetchAndProcessSvg(url, sanitize).then((content) => {\n // Cache the result (including empty strings for failed requests)\n cache.content.set(url, content);\n // Clean up the pending request\n cache.requests.delete(url);\n return content;\n });\n\n cache.requests.set(url, request);\n }\n\n return cache.requests.get(url);\n};\n\n/**\n * Clears the icon cache - useful for testing or memory management\n */\nexport const clearIconCache = (): void => {\n cache.requests.clear();\n cache.content.clear();\n};\n\n/**\n * Gets cache statistics for debugging\n */\nexport const getCacheStats = () => ({\n pendingRequests: cache.requests.size,\n cachedContent: cache.content.size,\n urls: Array.from(cache.content.keys()),\n});\n\n// Export cache for external access if needed\nexport { cache as iconCache };\n","/* -------------------------------------------------------------------------- */\n/* Icon styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-icon.variables';\n\n:host {\n @apply inline-block;\n}\n\n/**\n * This class is added on packages/beeq/src/components/icon/helper/request.ts\n * See lines 42 and 58 for details.\n */\n.bq-icon__svg {\n @apply scale-x-[--bq-icon--direction];\n}\n","import { Component, Event, h, Host, Prop, State, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport type { TIconWeight } from './bq-icon.types';\nimport { getSvgContent } from './helper/request';\nimport { getBasePath, getColorCSSVariable, isNil } from '../../shared/utils';\n\n/**\n * The Icon component is an image that provides a visual representation of an object, action, or concept displayed on the screen.\n * It is a small graphical element that is used to enhance the user interface and improve user experience.\n *\n * @example How to use it\n * ```html\n * <bq-icon color=\"text--brand\" name=\"bell-ringing\" size=\"24\"></bq-icon>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/675fad-icon\n * @status stable\n *\n * @attr {string} color - Set the stroke color of the SVG. The value should be a valid value of the palette color.\n * @attr {string} label - Label for the icon, used for accessibility.\n * @attr {string} name - Icon name to load. Please check all available icons [here](https://phosphoricons.com/).\n * @attr {string | number} size - Set the size of the SVG.\n * @attr {string} src - Set the source of the SVG. If the source is set, the name property will be ignored.\n *\n * @event svgLoaded - Callback handler to be called when the SVG has loaded.\n *\n * @part base - The component's internal wrapper that holds the icon SVG content.\n * @part svg - The `<svg>` tag element inside the component.\n *\n * @cssprop --bq-icon--color - The stroke color of the SVG.\n * @cssprop --bq-icon--size - The size of the SVG.\n */\n@Component({\n assetsDirs: ['svg'],\n tag: 'bq-icon',\n styleUrl: './scss/bq-icon.scss',\n shadow: true,\n})\nexport class BqIcon {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private _svgContent: string;\n\n // Public Property API\n // ========================\n\n /** Label for the icon, used for accessibility */\n @Prop({ reflect: true }) label?: string;\n\n /** Set the stroke color of the SVG. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) color?: string;\n\n /** Icon name to load. Please check all available icons [here](https://phosphoricons.com/) */\n @Prop({ reflect: true }) name?: string;\n\n /** Set the size of the SVG */\n @Prop({ reflect: true }) size?: string | number = 24;\n\n /** Set the source of the SVG. If the source is set, the name property will be ignored */\n @Prop({ reflect: true }) src?: string;\n\n /** @deprecated It set the icon weight/style */\n @Prop({ reflect: true }) weight?: TIconWeight = undefined;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('color')\n @Watch('name')\n @Watch('size')\n handlePropsChange() {\n this.loadIcon(this.name);\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `weight` property is removed\n * We need to maintain retro-compatibility until the next major release\n */\n @Watch('weight')\n handleWeightChange() {\n if (this.name.includes(this.weight)) return;\n\n console.warn(\n `❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\\n\n For example, '<bq-icon name=\"bell-fill\"></bq-icon>' instead of '<bq-icon name=\"bell\" weight=\"fill\"></bq-icon>'`,\n );\n // Check if the icon is weighted. An icon is considered weighted if its weight is not 'regular' and ENV_SVG_PATH is not set.\n // Eg: if the weight is 'bold' and ENV_SVG_PATH is not set, isWeightedIcon will be true.\n const REGULAR = 'regular';\n const isWeightedIcon = !isNil(this.weight) && this.weight !== REGULAR;\n // If the icon is weighted, append the weight to the icon name. Otherwise, append nothing.\n // Eg: if isWeightedIcon is true and the weight is 'bold', weightSuffix will be '-bold'.\n const weightSuffix = isWeightedIcon ? `-${this.weight}` : '';\n // Construct the icon name by appending the weight suffix (if any) and the file extension.\n // Eg: if the name is 'my-icon' and weightSuffix is '-bold', iconName will be 'my-icon-bold.svg'.\n const iconName = `${this.name}${weightSuffix}`;\n this.loadIcon(iconName);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the SVG has loaded */\n @Event() svgLoaded: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.setupIconComponent();\n }\n\n componentWillLoad() {\n this.setupIconComponent();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private setupIconComponent = () => {\n this.loadIcon(this.name);\n // !TO BE REMOVED: Delete this once the deprecated `weight` property is removed\n if (!isNil(this.weight)) this.handleWeightChange();\n };\n\n private getIconSource = (name: string) => {\n if (!this.name && !this.src) return undefined;\n // Return the src if it is set\n if (this.src) return this.src;\n\n const SVG_EXTENSION = '.svg';\n const iconFileName = `${name}${SVG_EXTENSION}`;\n\n return getBasePath(iconFileName);\n };\n\n private loadIcon = async (name: string) => {\n const url = this.getIconSource(name);\n if (!url) return;\n\n try {\n const content = await getSvgContent(url, true);\n if (!content) return;\n\n this._svgContent = content;\n this.svgLoaded.emit(this._svgContent);\n } catch (error) {\n console.error('[BEEQ] Failed to load the icon SVG content', error);\n }\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const { color, label, name, size } = this;\n const styles = {\n ...(color && { '--bq-icon--color': getColorCSSVariable(color) }),\n ...(size && { '--bq-icon--size': `${size}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n aria-label={label ?? `${name} icon`}\n class=\"flex text-[--bq-icon--color] bs-[--bq-icon--size] is-[--bq-icon--size]\"\n innerHTML={this._svgContent}\n part=\"base\"\n role=\"img\"\n />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assetsPath-v2hVBSPV.js","sources":["../../packages/beeq/src/shared/utils/assetsPath.ts"],"sourcesContent":["/**\n * Inspired by Shoelace's `getBasePath` and `setBasePath` functions.\n * https://github.com/shoelace-style/shoelace/blob/next/src/utilities/base-path.ts\n */\nimport { isClient } from './isClient';\n\nlet beeqBasePath: string | undefined;\nconst DATA_BEEQ_ATTRIBUTE = 'data-beeq';\nconst DEFAULT_SVG_PATH = 'svg';\n\n/**\n * Sets the base path for the assets.\n * @param {string} path - The base path to set.\n */\nexport const setBasePath = (path: string): void => {\n beeqBasePath = path;\n};\n\n/**\n * Gets the base path for the assets.\n * @param {string} subpath - An optional subpath to append to the base path.\n * @returns {string} The base path of the assets.\n */\nexport const getBasePath = (subpath: string = ''): string => {\n if (!beeqBasePath) {\n const configScript = findConfigScript();\n const fallbackScript = configScript ? null : findFallbackScript();\n\n const script = configScript || fallbackScript;\n if (script) {\n const path = configScript ? script.getAttribute(DATA_BEEQ_ATTRIBUTE) : getScriptPath(script);\n setBasePath(`${path}/${DEFAULT_SVG_PATH}`);\n } else {\n // Fallback: use the default path\n setBasePath(`./${DEFAULT_SVG_PATH}`);\n }\n }\n\n // Return the base path without a trailing slash. If one exists, append the subpath separated by a slash.\n const formattedSubpath = subpath ? `/${subpath.replace(/^\\//, '')}` : '';\n return beeqBasePath.replace(/\\/$/, '') + formattedSubpath;\n};\n\n/**\n * Finds the configuration script element.\n * @returns The configuration script element or null if not found.\n */\nconst findConfigScript = (): HTMLScriptElement | null => {\n if (!isClient()) return null;\n\n return document.querySelector(`script[${DATA_BEEQ_ATTRIBUTE}]`);\n};\n\n/**\n * Finds the fallback script element.\n * @returns The fallback script element or null if not found.\n */\nconst findFallbackScript = (): HTMLScriptElement | null => {\n if (!isClient()) return null;\n\n return document.querySelector(`script[src*=\"beeq\"]`);\n};\n\n/**\n * Gets the path of a script element.\n * @param {HTMLScriptElement} script - The script element.\n * @returns The path of the script element.\n */\nconst getScriptPath = (script: HTMLScriptElement): string => {\n if (!isClient()) return '';\n\n const src = script.getAttribute('src');\n return src ? src.substring(0, src.lastIndexOf('/')) : '';\n};\n"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;AAGH,IAAI,YAAgC;AACpC,MAAM,mBAAmB,GAAG,WAAW;AACvC,MAAM,gBAAgB,GAAG,KAAK;AAE9B;;;AAGG;AACU,MAAA,WAAW,GAAG,CAAC,IAAY,KAAU;IAChD,YAAY,GAAG,IAAI;AACrB;AAEA;;;;AAIG;MACU,WAAW,GAAG,CAAC,OAAkB,GAAA,EAAE,KAAY;IAC1D,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACvC,QAAA,MAAM,cAAc,GAAG,YAAY,GAAG,IAAI,GAAG,kBAAkB,EAAE;AAEjE,QAAA,MAAM,MAAM,GAAG,YAAY,IAAI,cAAc;QAC7C,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,IAAI,GAAG,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;AAC5F,YAAA,WAAW,CAAC,CAAG,EAAA,IAAI,IAAI,gBAAgB,CAAA,CAAE,CAAC;;aACrC;;AAEL,YAAA,WAAW,CAAC,CAAA,EAAA,EAAK,gBAAgB,CAAA,CAAE,CAAC;;;;IAKxC,MAAM,gBAAgB,GAAG,OAAO,GAAG,CAAA,CAAA,EAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA,CAAE,GAAG,EAAE;IACxE,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,gBAAgB;AAC3D;AAEA;;;AAGG;AACH,MAAM,gBAAgB,GAAG,MAA+B;IACtD,IAAI,CAAC,QAAQ,EAAE;AAAE,QAAA,OAAO,IAAI;IAE5B,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,mBAAmB,CAAA,CAAA,CAAG,CAAC;AACjE,CAAC;AAED;;;AAGG;AACH,MAAM,kBAAkB,GAAG,MAA+B;IACxD,IAAI,CAAC,QAAQ,EAAE;AAAE,QAAA,OAAO,IAAI;AAE5B,IAAA,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAA,mBAAA,CAAqB,CAAC;AACtD,CAAC;AAED;;;;AAIG;AACH,MAAM,aAAa,GAAG,CAAC,MAAyB,KAAY;IAC1D,IAAI,CAAC,QAAQ,EAAE;AAAE,QAAA,OAAO,EAAE;IAE1B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;IACtC,OAAO,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;AAC1D,CAAC;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stringToArray-g9MEtfgW.js","sources":["../../packages/beeq/src/shared/utils/stringToArray.ts"],"sourcesContent":["import { isString } from './isString';\n\n/**\n * Converts a string or array to an array.\n *\n * @param {string | string[]} value - The value to convert.\n * @return {string[]} The converted array.\n * @throws {Error} If the input string is not a valid JSON array\n */\nexport const stringToArray = (value: string | string[]): string[] => {\n if (isString(value)) {\n try {\n return Array.from(JSON.parse(String(value)));\n } catch (error) {\n throw new Error(\n `Failed to parse string to array. Input must be a valid JSON array string. Details: ${error.message}`,\n );\n }\n }\n return Array.isArray(value) ? value : [];\n};\n"],"names":[],"mappings":";;;;;;AAEA;;;;;;AAMG;AACU,MAAA,aAAa,GAAG,CAAC,KAAwB,KAAc;AAClE,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,QAAA,IAAI;AACF,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;;QAC5C,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CACb,CAAA,mFAAA,EAAsF,KAAK,CAAC,OAAO,CAAE,CAAA,CACtG;;;AAGL,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AAC1C;;;;"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|