@beeq/core 1.8.0-beta.0 → 1.8.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/beeq/beeq.esm.js +43 -1
- package/dist/beeq/beeq.esm.js.map +1 -1
- package/dist/beeq/index.esm.js +64 -1
- package/dist/beeq/index.esm.js.map +1 -1
- package/dist/beeq/p-063a3968.entry.js +388 -0
- package/dist/beeq/{p-9acfedb8.entry.js.map → p-063a3968.entry.js.map} +1 -1
- package/dist/beeq/p-0979fdfd.entry.js +297 -0
- package/dist/beeq/{p-7f23cde7.entry.js.map → p-0979fdfd.entry.js.map} +1 -1
- package/dist/beeq/p-0ab0b58d.js +25 -1
- package/dist/beeq/p-0ab0b58d.js.map +1 -1
- package/dist/beeq/p-0c42c08a.js +1811 -0
- package/dist/beeq/p-0c42c08a.js.map +1 -0
- package/dist/beeq/p-0f48adcc.entry.js +117 -0
- package/dist/beeq/{p-9f40249f.entry.js.map → p-0f48adcc.entry.js.map} +1 -1
- package/dist/beeq/p-115ed5b2.js +25 -1
- package/dist/beeq/p-115ed5b2.js.map +1 -1
- package/dist/beeq/p-14b44a4b.entry.js +205 -0
- package/dist/beeq/{p-8059836c.entry.js.map → p-14b44a4b.entry.js.map} +1 -1
- package/dist/beeq/p-1715ac80.entry.js +274 -0
- package/dist/beeq/{p-eab59153.entry.js.map → p-1715ac80.entry.js.map} +1 -1
- package/dist/beeq/p-1c8b6eb4.js +12 -1
- package/dist/beeq/p-1c8b6eb4.js.map +1 -1
- package/dist/beeq/p-1f3a4359.js +11 -1
- package/dist/beeq/p-1f3a4359.js.map +1 -1
- package/dist/beeq/p-242ac28a.entry.js +145 -0
- package/dist/beeq/{p-90c5851d.entry.js.map → p-242ac28a.entry.js.map} +1 -1
- package/dist/beeq/p-297fb76b.entry.js +220 -0
- package/dist/beeq/{p-79b7547b.entry.js.map → p-297fb76b.entry.js.map} +1 -1
- package/dist/beeq/p-2bb65f53.entry.js +204 -0
- package/dist/beeq/{p-a8cb8989.entry.js.map → p-2bb65f53.entry.js.map} +1 -1
- package/dist/beeq/p-2e66fc4f.entry.js +434 -0
- package/dist/beeq/{p-ddb23180.entry.js.map → p-2e66fc4f.entry.js.map} +1 -1
- package/dist/beeq/p-36652891.entry.js +102 -0
- package/dist/beeq/{p-633319f3.entry.js.map → p-36652891.entry.js.map} +1 -1
- package/dist/beeq/p-38d4bd8a.js +1934 -1
- package/dist/beeq/p-38d4bd8a.js.map +1 -1
- package/dist/beeq/p-39b7c578.entry.js +84 -0
- package/dist/beeq/{p-94d62f1b.entry.js.map → p-39b7c578.entry.js.map} +1 -1
- package/dist/beeq/p-39d77ba6.entry.js +90 -0
- package/dist/beeq/{p-be664fb0.entry.js.map → p-39d77ba6.entry.js.map} +1 -1
- package/dist/beeq/p-3fd0d92d.js +1228 -1
- package/dist/beeq/p-3fd0d92d.js.map +1 -1
- package/dist/beeq/p-4688e046.js +16 -0
- package/dist/beeq/{p-aee056e5.js.map → p-4688e046.js.map} +1 -1
- package/dist/beeq/p-49249dda.entry.js +156 -0
- package/dist/beeq/{p-235328ee.entry.js.map → p-49249dda.entry.js.map} +1 -1
- package/dist/beeq/p-548b45b7.entry.js +104 -0
- package/dist/beeq/{p-ae8ffb81.entry.js.map → p-548b45b7.entry.js.map} +1 -1
- package/dist/beeq/p-57621be1.js +9 -1
- package/dist/beeq/p-57621be1.js.map +1 -1
- package/dist/beeq/p-57a55ac5.entry.js +261 -0
- package/dist/beeq/{p-52577f3a.entry.js.map → p-57a55ac5.entry.js.map} +1 -1
- package/dist/beeq/p-5e11b866.entry.js +102 -0
- package/dist/beeq/{p-b7281046.entry.js.map → p-5e11b866.entry.js.map} +1 -1
- package/dist/beeq/p-687da041.js +20 -1
- package/dist/beeq/p-687da041.js.map +1 -1
- package/dist/beeq/p-6a4e104b.entry.js +263 -0
- package/dist/beeq/{p-3aa41d80.entry.js.map → p-6a4e104b.entry.js.map} +1 -1
- package/dist/beeq/p-6a5a79a3.entry.js +184 -0
- package/dist/beeq/{p-606c080c.entry.js.map → p-6a5a79a3.entry.js.map} +1 -1
- package/dist/beeq/p-7f301da8.entry.js +508 -0
- package/dist/beeq/p-7f301da8.entry.js.map +1 -0
- package/dist/beeq/p-81f1c3ba.entry.js +121 -0
- package/dist/beeq/{p-c9c942e6.entry.js.map → p-81f1c3ba.entry.js.map} +1 -1
- package/dist/beeq/p-822773ae.entry.js +195 -0
- package/dist/beeq/{p-a7b0fd0b.entry.js.map → p-822773ae.entry.js.map} +1 -1
- package/dist/beeq/p-951ba558.js +64 -1
- package/dist/beeq/p-951ba558.js.map +1 -1
- package/dist/beeq/p-99829fc7.js +8 -1
- package/dist/beeq/p-99829fc7.js.map +1 -1
- package/dist/beeq/p-9990889d.entry.js +222 -0
- package/dist/beeq/{p-9cd26e8d.entry.js.map → p-9990889d.entry.js.map} +1 -1
- package/dist/beeq/p-a1b43de6.entry.js +248 -0
- package/dist/beeq/{p-4ba2bec7.entry.js.map → p-a1b43de6.entry.js.map} +1 -1
- package/dist/beeq/p-a5dc1c94.js +118 -1
- package/dist/beeq/p-a5dc1c94.js.map +1 -1
- package/dist/beeq/p-a6489187.entry.js +103 -0
- package/dist/beeq/{p-b90c6de9.entry.js.map → p-a6489187.entry.js.map} +1 -1
- package/dist/beeq/p-a8cad5ab.js +5 -1
- package/dist/beeq/p-a8cad5ab.js.map +1 -1
- package/dist/beeq/p-ac969486.entry.js +330 -0
- package/dist/beeq/{p-4739f5c3.entry.js.map → p-ac969486.entry.js.map} +1 -1
- package/dist/beeq/p-af062402.js +7 -1
- package/dist/beeq/p-af062402.js.map +1 -1
- package/dist/beeq/p-afc9fd80.entry.js +144 -0
- package/dist/beeq/{p-6e026fad.entry.js.map → p-afc9fd80.entry.js.map} +1 -1
- package/dist/beeq/p-bef53750.js +79 -0
- package/dist/beeq/p-bef53750.js.map +1 -0
- package/dist/beeq/p-bf2320dd.entry.js +329 -0
- package/dist/beeq/{p-e6382462.entry.js.map → p-bf2320dd.entry.js.map} +1 -1
- package/dist/beeq/p-c34e292e.entry.js +127 -0
- package/dist/beeq/{p-268dc1e3.entry.js.map → p-c34e292e.entry.js.map} +1 -1
- package/dist/beeq/p-d7a88b16.js +87 -1
- package/dist/beeq/p-d7a88b16.js.map +1 -1
- package/dist/beeq/p-db18eba1.entry.js +173 -0
- package/dist/beeq/{p-eddb77c7.entry.js.map → p-db18eba1.entry.js.map} +1 -1
- package/dist/beeq/p-dd950c12.entry.js +309 -0
- package/dist/beeq/{p-63ad9702.entry.js.map → p-dd950c12.entry.js.map} +1 -1
- package/dist/beeq/p-e301647a.entry.js +87 -0
- package/dist/beeq/{p-3b2ce34b.entry.js.map → p-e301647a.entry.js.map} +1 -1
- package/dist/beeq/p-e3aa2886.entry.js +203 -0
- package/dist/beeq/{p-a006be9e.entry.js.map → p-e3aa2886.entry.js.map} +1 -1
- package/dist/beeq/p-e41f07ae.entry.js +173 -0
- package/dist/beeq/{p-9c6c6646.entry.js.map → p-e41f07ae.entry.js.map} +1 -1
- package/dist/beeq/p-e88257a8.entry.js +259 -0
- package/dist/beeq/{p-d2bbae3b.entry.js.map → p-e88257a8.entry.js.map} +1 -1
- package/dist/beeq/p-e9a54b49.entry.js +145 -0
- package/dist/beeq/{p-96d7f361.entry.js.map → p-e9a54b49.entry.js.map} +1 -1
- package/dist/beeq/p-ecd27cf2.js +11 -1
- package/dist/beeq/p-ecd27cf2.js.map +1 -1
- package/dist/beeq/p-f77d9b8b.entry.js +144 -0
- package/dist/beeq/{p-41bac721.entry.js.map → p-f77d9b8b.entry.js.map} +1 -1
- package/dist/beeq/p-fd658de1.entry.js +135 -0
- package/dist/beeq/{p-255fcbe4.entry.js.map → p-fd658de1.entry.js.map} +1 -1
- package/dist/beeq/p-ffb48c40.entry.js +258 -0
- package/dist/beeq/{p-b9544567.entry.js.map → p-ffb48c40.entry.js.map} +1 -1
- package/dist/beeq/p-ffddc425.entry.js +149 -0
- package/dist/beeq/{p-571b40ff.entry.js.map → p-ffddc425.entry.js.map} +1 -1
- package/dist/cjs/app-globals-b11284b9.js.map +1 -1
- package/dist/cjs/assetsPath-3938a05d.js +78 -0
- package/dist/cjs/assetsPath-3938a05d.js.map +1 -0
- package/dist/cjs/beeq.cjs.js +1 -1
- package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -2
- package/dist/cjs/bq-accordion.cjs.entry.js +2 -2
- package/dist/cjs/bq-alert.cjs.entry.js +2 -2
- package/dist/cjs/bq-avatar.cjs.entry.js +2 -2
- package/dist/cjs/bq-badge.cjs.entry.js +2 -2
- package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +3 -3
- package/dist/cjs/bq-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/bq-button_2.cjs.entry.js +3 -3
- package/dist/cjs/bq-card.cjs.entry.js +2 -2
- package/dist/cjs/bq-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/bq-date-picker.cjs.entry.js +3 -3
- package/dist/cjs/bq-dialog.cjs.entry.js +2 -2
- package/dist/cjs/bq-divider.cjs.entry.js +2 -2
- package/dist/cjs/bq-drawer.cjs.entry.js +3 -3
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +1 -1
- package/dist/cjs/bq-empty-state.cjs.entry.js +2 -2
- package/dist/cjs/bq-input.cjs.entry.js +3 -3
- package/dist/cjs/bq-notification.cjs.entry.js +2 -2
- package/dist/cjs/bq-option-group.cjs.entry.js +1 -1
- package/dist/cjs/bq-option-list_2.cjs.entry.js +2 -2
- package/dist/cjs/bq-option.cjs.entry.js +2 -2
- package/dist/cjs/bq-page-title.cjs.entry.js +2 -2
- package/dist/cjs/bq-progress.cjs.entry.js +2 -2
- package/dist/cjs/bq-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/bq-radio.cjs.entry.js +1 -1
- package/dist/cjs/bq-select.cjs.entry.js +12 -12
- package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/bq-side-menu.cjs.entry.js +2 -2
- package/dist/cjs/bq-slider.cjs.entry.js +2 -2
- package/dist/cjs/bq-spinner.cjs.entry.js +2 -2
- package/dist/cjs/bq-status.cjs.entry.js +2 -2
- package/dist/cjs/bq-step-item.cjs.entry.js +2 -2
- package/dist/cjs/bq-steps.cjs.entry.js +2 -2
- package/dist/cjs/bq-switch.cjs.entry.js +2 -2
- package/dist/cjs/bq-tab-group.cjs.entry.js +2 -2
- package/dist/cjs/bq-tab.cjs.entry.js +2 -2
- package/dist/cjs/bq-textarea.cjs.entry.js +2 -2
- package/dist/cjs/bq-toast.cjs.entry.js +2 -2
- package/dist/cjs/bq-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/{index-e6d59dbb.js → index-1d3aac65.js} +20 -2
- package/dist/cjs/index-1d3aac65.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{isDefined-4f4a320b.js → isDefined-750bffc4.js} +2 -2
- package/dist/cjs/{isDefined-4f4a320b.js.map → isDefined-750bffc4.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
- package/dist/collection/components/select/bq-select.js +10 -10
- 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 +52 -26
- package/dist/collection/shared/utils/assetsPath.js.map +1 -1
- package/dist/components/assetsPath.js +52 -26
- package/dist/components/assetsPath.js.map +1 -1
- package/dist/components/bq-drawer.js +1 -1
- package/dist/components/bq-select.js +10 -10
- package/dist/components/bq-select.js.map +1 -1
- package/dist/esm/app-globals-de5a646b.js.map +1 -1
- package/dist/esm/assetsPath-a1b58980.js +75 -0
- package/dist/esm/assetsPath-a1b58980.js.map +1 -0
- package/dist/esm/beeq.js +2 -2
- package/dist/esm/bq-accordion-group.entry.js +2 -2
- package/dist/esm/bq-accordion.entry.js +2 -2
- package/dist/esm/bq-alert.entry.js +2 -2
- package/dist/esm/bq-avatar.entry.js +2 -2
- package/dist/esm/bq-badge.entry.js +2 -2
- package/dist/esm/bq-breadcrumb-item.entry.js +3 -3
- package/dist/esm/bq-breadcrumb.entry.js +2 -2
- package/dist/esm/bq-button_2.entry.js +3 -3
- package/dist/esm/bq-card.entry.js +2 -2
- package/dist/esm/bq-checkbox.entry.js +2 -2
- package/dist/esm/bq-date-picker.entry.js +3 -3
- package/dist/esm/bq-dialog.entry.js +2 -2
- package/dist/esm/bq-divider.entry.js +2 -2
- package/dist/esm/bq-drawer.entry.js +3 -3
- package/dist/esm/bq-dropdown_2.entry.js +1 -1
- package/dist/esm/bq-empty-state.entry.js +2 -2
- package/dist/esm/bq-input.entry.js +3 -3
- package/dist/esm/bq-notification.entry.js +2 -2
- package/dist/esm/bq-option-group.entry.js +1 -1
- package/dist/esm/bq-option-list_2.entry.js +2 -2
- package/dist/esm/bq-option.entry.js +2 -2
- package/dist/esm/bq-page-title.entry.js +2 -2
- package/dist/esm/bq-progress.entry.js +2 -2
- package/dist/esm/bq-radio-group.entry.js +2 -2
- package/dist/esm/bq-radio.entry.js +1 -1
- package/dist/esm/bq-select.entry.js +13 -13
- package/dist/esm/bq-select.entry.js.map +1 -1
- package/dist/esm/bq-side-menu-item.entry.js +2 -2
- package/dist/esm/bq-side-menu.entry.js +2 -2
- package/dist/esm/bq-slider.entry.js +2 -2
- package/dist/esm/bq-spinner.entry.js +2 -2
- package/dist/esm/bq-status.entry.js +2 -2
- package/dist/esm/bq-step-item.entry.js +2 -2
- package/dist/esm/bq-steps.entry.js +2 -2
- package/dist/esm/bq-switch.entry.js +2 -2
- package/dist/esm/bq-tab-group.entry.js +2 -2
- package/dist/esm/bq-tab.entry.js +2 -2
- package/dist/esm/bq-textarea.entry.js +2 -2
- package/dist/esm/bq-toast.entry.js +2 -2
- package/dist/esm/bq-tooltip.entry.js +1 -1
- package/dist/esm/{index-efc1c2ef.js → index-f69556fe.js} +20 -2
- package/dist/esm/index-f69556fe.js.map +1 -0
- package/dist/esm/index.js +3 -3
- package/dist/esm/{isDefined-91ae4cd3.js → isDefined-170f3095.js} +2 -2
- package/dist/esm/{isDefined-91ae4cd3.js.map → isDefined-170f3095.js.map} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/hydrate/index.js +62 -36
- package/dist/hydrate/index.mjs +62 -36
- package/dist/stencil.config.js +4 -1
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/home/workflows/workspace/packages/beeq/.stencil/packages/beeq/stencil.config.d.ts +2 -0
- package/dist/types/shared/utils/assetsPath.d.ts +18 -11
- package/package.json +1 -1
- package/dist/beeq/p-235328ee.entry.js +0 -6
- package/dist/beeq/p-255fcbe4.entry.js +0 -6
- package/dist/beeq/p-268dc1e3.entry.js +0 -6
- package/dist/beeq/p-3aa41d80.entry.js +0 -6
- package/dist/beeq/p-3b2ce34b.entry.js +0 -6
- package/dist/beeq/p-41bac721.entry.js +0 -6
- package/dist/beeq/p-4739f5c3.entry.js +0 -6
- package/dist/beeq/p-4ba2bec7.entry.js +0 -6
- package/dist/beeq/p-52577f3a.entry.js +0 -6
- package/dist/beeq/p-571b40ff.entry.js +0 -6
- package/dist/beeq/p-606c080c.entry.js +0 -6
- package/dist/beeq/p-633319f3.entry.js +0 -6
- package/dist/beeq/p-63ad9702.entry.js +0 -6
- package/dist/beeq/p-6e026fad.entry.js +0 -6
- package/dist/beeq/p-6edc8a33.js +0 -6
- package/dist/beeq/p-6edc8a33.js.map +0 -1
- package/dist/beeq/p-76e714c6.js +0 -7
- package/dist/beeq/p-76e714c6.js.map +0 -1
- package/dist/beeq/p-79b7547b.entry.js +0 -6
- package/dist/beeq/p-7f23cde7.entry.js +0 -6
- package/dist/beeq/p-8059836c.entry.js +0 -6
- package/dist/beeq/p-8b7c7049.entry.js +0 -6
- package/dist/beeq/p-8b7c7049.entry.js.map +0 -1
- package/dist/beeq/p-90c5851d.entry.js +0 -6
- package/dist/beeq/p-94d62f1b.entry.js +0 -6
- package/dist/beeq/p-96d7f361.entry.js +0 -6
- package/dist/beeq/p-9acfedb8.entry.js +0 -6
- package/dist/beeq/p-9c6c6646.entry.js +0 -6
- package/dist/beeq/p-9cd26e8d.entry.js +0 -6
- package/dist/beeq/p-9f40249f.entry.js +0 -6
- package/dist/beeq/p-a006be9e.entry.js +0 -6
- package/dist/beeq/p-a7b0fd0b.entry.js +0 -6
- package/dist/beeq/p-a8cb8989.entry.js +0 -6
- package/dist/beeq/p-ae8ffb81.entry.js +0 -6
- package/dist/beeq/p-aee056e5.js +0 -6
- package/dist/beeq/p-b7281046.entry.js +0 -6
- package/dist/beeq/p-b90c6de9.entry.js +0 -6
- package/dist/beeq/p-b9544567.entry.js +0 -6
- package/dist/beeq/p-be664fb0.entry.js +0 -6
- package/dist/beeq/p-c9c942e6.entry.js +0 -6
- package/dist/beeq/p-d2bbae3b.entry.js +0 -6
- package/dist/beeq/p-ddb23180.entry.js +0 -6
- package/dist/beeq/p-e6382462.entry.js +0 -6
- package/dist/beeq/p-eab59153.entry.js +0 -6
- package/dist/beeq/p-eddb77c7.entry.js +0 -6
- package/dist/cjs/assetsPath-eac0a3bf.js +0 -52
- package/dist/cjs/assetsPath-eac0a3bf.js.map +0 -1
- package/dist/cjs/index-e6d59dbb.js.map +0 -1
- package/dist/esm/assetsPath-ae18c25e.js +0 -49
- package/dist/esm/assetsPath-ae18c25e.js.map +0 -1
- package/dist/esm/index-efc1c2ef.js.map +0 -1
- package/dist/types/Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System/packages/beeq/.stencil/packages/beeq/stencil.config.d.ts +0 -2
- /package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/workflows/workspace}/packages/beeq/.stencil/tailwind.config.d.ts +0 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Endavans
|
|
3
|
+
* © https://beeq.design - Apache 2 License.
|
|
4
|
+
*/
|
|
5
|
+
import { r as a, c as r, h as b, a as e, g as n } from "./p-0c42c08a.js";
|
|
6
|
+
|
|
7
|
+
import "./p-bef53750.js";
|
|
8
|
+
|
|
9
|
+
import { d as t } from "./p-951ba558.js";
|
|
10
|
+
|
|
11
|
+
import { g as q } from "./p-115ed5b2.js";
|
|
12
|
+
|
|
13
|
+
import { i } from "./p-57621be1.js";
|
|
14
|
+
|
|
15
|
+
import { i as o } from "./p-99829fc7.js";
|
|
16
|
+
|
|
17
|
+
import { v as s } from "./p-687da041.js";
|
|
18
|
+
|
|
19
|
+
import { T as d, a as l, b as c } from "./p-af062402.js";
|
|
20
|
+
|
|
21
|
+
const v = '::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.absolute{position:absolute}.relative{position:relative}.end-0{inset-inline-end:0}.start-0{inset-inline-start:0}.block{display:block}.flex{display:flex}.hidden{display:none}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-xs2{gap:var(--bq-spacing-xs2)}.border-0{border-width:0}.border-solid{border-style:solid}.border-bg-tertiary{border-color:var(--bq-background--tertiary)}.p-xs2{padding:var(--bq-spacing-xs2)}.content-empty{--tw-content:"";content:var(--tw-content)}.content-none{--tw-content:none;content:var(--tw-content)}.bs-full{block-size:100%}.is-0{inline-size:0}.is-full{inline-size:100%}.inset-be-0{inset-block-end:0}.\\[border-block-end-width\\:--bq-stroke-s\\]{border-block-end-width:var(--bq-stroke-s)}.\\[border-block-end-width\\:0px\\]{border-block-end-width:0}.\\[border-inline-end-width\\:--bq-stroke-s\\]{border-inline-end-width:var(--bq-stroke-s)}.\\[border-inline-start-width\\:--bq-stroke-s\\]{border-inline-start-width:var(--bq-stroke-s)}@-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:block}.bq-tab-group{position:relative}.bq-tab-group:after{--tw-content:"";border-color:var(--bq-background--tertiary);border-style:solid;border-width:0;content:var(--tw-content);display:flex;position:absolute}.bq-tab-group--horizontal-end:after,.bq-tab-group--horizontal-start:after{border-block-end-width:var(--bq-stroke-s);inline-size:100%;inset-block-end:0}.bq-tab-group--horizontal-start{justify-content:flex-start}.bq-tab-group--horizontal-end{justify-content:flex-end}.bq-tab-group--vertical-start:after{block-size:100%;border-block-end-width:0;border-inline-end-width:var(--bq-stroke-s);inline-size:0;inset-inline-end:0}.bq-tab-group--vertical-end:after{block-size:100%;border-block-end-width:0;border-inline-start-width:var(--bq-stroke-s);inline-size:0;inset-inline-start:0}.bq-tab-group.no-divider:after{--tw-content:none;content:var(--tw-content)}.bq-tab-group--container{-ms-overflow-style:none;gap:var(--bq-spacing-xs2);padding:var(--bq-spacing-xs2);scrollbar-width:none}.bq-tab-group--container::-webkit-scrollbar{display:none}.static{position:static}.inline-block{display:inline-block}.flex-col{flex-direction:column}.overflow-x-auto{overflow-x:auto}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ms-\\[--bq-tab--label-icon-gap\\]{margin-inline-start:var(--bq-tab--label-icon-gap)}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.items-center{align-items:center}.justify-center{justify-content:center}.text-text-brand{color:var(--bq-text--brand)}.text-text-primary{color:var(--bq-text--primary)}.underline{text-decoration-line:underline}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}';
|
|
22
|
+
|
|
23
|
+
const u = v;
|
|
24
|
+
|
|
25
|
+
const g = class {
|
|
26
|
+
constructor(b) {
|
|
27
|
+
a(this, b);
|
|
28
|
+
this.bqChange = r(this, "bqChange", 7);
|
|
29
|
+
// Public methods API
|
|
30
|
+
// These methods are exposed on the host element.
|
|
31
|
+
// Always use two lines.
|
|
32
|
+
// Public Methods must be async.
|
|
33
|
+
// Requires JSDocs for public API documentation.
|
|
34
|
+
// ===============================================
|
|
35
|
+
// Local methods
|
|
36
|
+
// Internal business logic.
|
|
37
|
+
// These methods cannot be called from the host element.
|
|
38
|
+
// =======================================================
|
|
39
|
+
this.focusTabSibling = async (a, r) => {
|
|
40
|
+
let b = null;
|
|
41
|
+
this.bqTabElements.forEach(((e, n, t) => {
|
|
42
|
+
e.active = false;
|
|
43
|
+
if (e === a) {
|
|
44
|
+
b = q(t, n, r);
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
if (b) {
|
|
48
|
+
await b.vFocus();
|
|
49
|
+
this.selectTab(b);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
this.makeTabsFocusable = () => {
|
|
53
|
+
this.bqTabElements.forEach((a => {
|
|
54
|
+
if (a.disabled) return;
|
|
55
|
+
/**
|
|
56
|
+
* This is a "fire and forget" operation. The callback itself doesn't do anything special
|
|
57
|
+
* with the asynchronous code (doesn't await it or do anything with the result)
|
|
58
|
+
* Details: https://stackoverflow.com/a/63488201
|
|
59
|
+
*/ (async () => {
|
|
60
|
+
await a.enableFocus(true);
|
|
61
|
+
})();
|
|
62
|
+
}));
|
|
63
|
+
};
|
|
64
|
+
this.restoreTabsFocus = () => {
|
|
65
|
+
this.bqTabElements.forEach((a => {
|
|
66
|
+
if (a.disabled || a.active) return;
|
|
67
|
+
/** @See line #173 */ (async () => {
|
|
68
|
+
await a.enableFocus(false);
|
|
69
|
+
})();
|
|
70
|
+
}));
|
|
71
|
+
};
|
|
72
|
+
this.selectTab = a => {
|
|
73
|
+
const {tabId: r} = a;
|
|
74
|
+
a.active = true;
|
|
75
|
+
this.value = r;
|
|
76
|
+
this.debouncedBqChange({
|
|
77
|
+
value: r,
|
|
78
|
+
target: a
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
this.value = undefined;
|
|
82
|
+
this.size = "medium";
|
|
83
|
+
this.orientation = "horizontal";
|
|
84
|
+
this.placement = "start";
|
|
85
|
+
this.debounceTime = 0;
|
|
86
|
+
this.disableDivider = false;
|
|
87
|
+
}
|
|
88
|
+
// Prop lifecycle events
|
|
89
|
+
// =======================
|
|
90
|
+
checkDebounceChange() {
|
|
91
|
+
if (this.debounceTime < 0) {
|
|
92
|
+
this.debounceTime = Math.max(0, this.debounceTime);
|
|
93
|
+
}
|
|
94
|
+
if (this.debouncedBqChange) {
|
|
95
|
+
this.debouncedBqChange.cancel();
|
|
96
|
+
}
|
|
97
|
+
this.debouncedBqChange = t((a => {
|
|
98
|
+
this.bqChange.emit(a);
|
|
99
|
+
}), this.debounceTime);
|
|
100
|
+
}
|
|
101
|
+
checkPropValues() {
|
|
102
|
+
s(d, "medium", this.el, "size");
|
|
103
|
+
s(l, "horizontal", this.el, "orientation");
|
|
104
|
+
s(c, "start", this.el, "placement");
|
|
105
|
+
this.bqTabElements.forEach((a => {
|
|
106
|
+
a.size = this.size;
|
|
107
|
+
a.orientation = this.orientation;
|
|
108
|
+
a.placement = this.placement;
|
|
109
|
+
a.active = !o(this.value) ? a.tabId === this.value : false;
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
// Component lifecycle events
|
|
113
|
+
// Ordered by their natural call order
|
|
114
|
+
// =====================================
|
|
115
|
+
componentWillLoad() {
|
|
116
|
+
this.checkDebounceChange();
|
|
117
|
+
this.checkPropValues();
|
|
118
|
+
}
|
|
119
|
+
componentDidLoad() {
|
|
120
|
+
this.checkPropValues();
|
|
121
|
+
}
|
|
122
|
+
// Listeners
|
|
123
|
+
// ==============
|
|
124
|
+
onKeyUp(a) {
|
|
125
|
+
const {target: r} = a;
|
|
126
|
+
if (!i(r, "bq-tab")) return;
|
|
127
|
+
this.makeTabsFocusable();
|
|
128
|
+
}
|
|
129
|
+
onBqClick(a) {
|
|
130
|
+
const {detail: r} = a;
|
|
131
|
+
this.bqTabElements.forEach((a => a.active = a === r));
|
|
132
|
+
this.debouncedBqChange({
|
|
133
|
+
value: r.tabId,
|
|
134
|
+
target: r
|
|
135
|
+
});
|
|
136
|
+
this.selectTab(r);
|
|
137
|
+
}
|
|
138
|
+
async onBqKeyDown(a) {
|
|
139
|
+
const {target: r} = a;
|
|
140
|
+
// NOTE: ensures the target is an HTML element with the tag name 'bq-tab'
|
|
141
|
+
if (!i(r, "bq-tab")) return;
|
|
142
|
+
const b = {
|
|
143
|
+
ArrowDown: "forward",
|
|
144
|
+
ArrowRight: "forward",
|
|
145
|
+
ArrowUp: "backward",
|
|
146
|
+
ArrowLeft: "backward"
|
|
147
|
+
};
|
|
148
|
+
// NOTE: gets the direction based on key pressed
|
|
149
|
+
const e = b[a.detail.key];
|
|
150
|
+
if (!e) return;
|
|
151
|
+
await this.focusTabSibling(r, e);
|
|
152
|
+
}
|
|
153
|
+
onBqBlur() {
|
|
154
|
+
this.restoreTabsFocus();
|
|
155
|
+
}
|
|
156
|
+
get bqTabElements() {
|
|
157
|
+
return Array.from(this.el.querySelectorAll("bq-tab"));
|
|
158
|
+
}
|
|
159
|
+
// render() function
|
|
160
|
+
// Always the last one in the class.
|
|
161
|
+
// ===================================
|
|
162
|
+
render() {
|
|
163
|
+
return b(e, {
|
|
164
|
+
key: "03e71370e936cdb6196a7204ab03e261fc242436",
|
|
165
|
+
class: {
|
|
166
|
+
"inline-block": this.orientation === "vertical"
|
|
167
|
+
}
|
|
168
|
+
}, b("div", {
|
|
169
|
+
key: "833a873f450ab4697e6d0a7e7741332d61b99eb3",
|
|
170
|
+
class: {
|
|
171
|
+
[`bq-tab-group bq-tab-group--${this.orientation}-${this.placement} flex is-full`]: true,
|
|
172
|
+
"no-divider": this.disableDivider
|
|
173
|
+
},
|
|
174
|
+
part: "base"
|
|
175
|
+
}, b("div", {
|
|
176
|
+
key: "e2521b4ba3c23c820414bd28c7bd99543f94c460",
|
|
177
|
+
class: {
|
|
178
|
+
"bq-tab-group--container flex overflow-x-auto": true,
|
|
179
|
+
"flex-col": this.orientation !== "horizontal"
|
|
180
|
+
},
|
|
181
|
+
role: "tablist",
|
|
182
|
+
part: "tabs"
|
|
183
|
+
}, b("slot", {
|
|
184
|
+
key: "830d424ebb92fac263e0fe98a3413bdfa6242a97"
|
|
185
|
+
}))));
|
|
186
|
+
}
|
|
187
|
+
get el() {
|
|
188
|
+
return n(this);
|
|
189
|
+
}
|
|
190
|
+
static get watchers() {
|
|
191
|
+
return {
|
|
192
|
+
debounceTime: [ "checkDebounceChange" ],
|
|
193
|
+
size: [ "checkPropValues" ],
|
|
194
|
+
value: [ "checkPropValues" ],
|
|
195
|
+
orientation: [ "checkPropValues" ],
|
|
196
|
+
placement: [ "checkPropValues" ]
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
g.style = u;
|
|
202
|
+
|
|
203
|
+
export { g as bq_tab_group };
|
|
204
|
+
//# sourceMappingURL=p-2bb65f53.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["bqTabGroupCss","BqTabGroupStyle0","BqTabGroup","this","focusTabSibling","async","currentTarget","direction","target","bqTabElements","forEach","bqTabElement","index","elements","active","getNextElement","vFocus","selectTab","makeTabsFocusable","disabled","enableFocus","restoreTabsFocus","tabId","value","debouncedBqChange","checkDebounceChange","debounceTime","Math","max","cancel","debounce","event","bqChange","emit","checkPropValues","validatePropValue","TAB_SIZE","el","TAB_ORIENTATION","TAB_PLACEMENT","size","orientation","placement","isNil","componentWillLoad","componentDidLoad","onKeyUp","isHTMLElement","onBqClick","detail","onBqKeyDown","keyActions","ArrowDown","ArrowRight","ArrowUp","ArrowLeft","key","onBqBlur","Array","from","querySelectorAll","render","h","Host","class","disableDivider","part","role"],"sources":["../../packages/beeq/src/components/tab-group/scss/bq-tab-group.scss?tag=bq-tab-group&encapsulation=shadow","../../packages/beeq/src/components/tab-group/bq-tab-group.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tab styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply block;\n}\n\n.bq-tab-group {\n @apply relative;\n\n &::after {\n @apply absolute flex border-0 border-solid border-bg-tertiary content-empty;\n }\n\n &--horizontal-start,\n &--horizontal-end {\n &::after {\n @apply is-full inset-be-0 [border-block-end-width:--bq-stroke-s];\n }\n }\n\n &--horizontal-start {\n @apply justify-start;\n }\n\n &--horizontal-end {\n @apply justify-end;\n }\n\n &--vertical-start::after {\n @apply end-0 bs-full is-0 [border-block-end-width:0px] [border-inline-end-width:--bq-stroke-s];\n }\n\n &--vertical-end::after {\n @apply start-0 bs-full is-0 [border-block-end-width:0px] [border-inline-start-width:--bq-stroke-s];\n }\n}\n\n.bq-tab-group.no-divider {\n &::after {\n @apply content-none;\n }\n}\n\n.bq-tab-group--container {\n @include hide-scrollbar;\n @apply gap-xs2 p-xs2; // This will avoid cutting the outline focus style\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, Watch } from '@stencil/core';\n\nimport { debounce, getNextElement, isHTMLElement, isNil, TDebounce, validatePropValue } from '../../shared/utils';\nimport {\n TAB_ORIENTATION,\n TAB_PLACEMENT,\n TAB_SIZE,\n TTabOrientation,\n TTabPlacement,\n TTabSize,\n} from '../tab/bq-tab.types';\n\n/**\n * @part base - The HTML div wrapper inside the shadow DOM.\n * @part tabs - The HTML div used to hold the tab buttons.\n */\n@Component({\n tag: 'bq-tab-group',\n styleUrl: './scss/bq-tab-group.scss',\n shadow: true,\n})\nexport class BqTabGroup {\n // Own Properties\n // ====================\n\n private debouncedBqChange: TDebounce<{ value: string; target: HTMLBqTabElement }>;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTabGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** A string representing the id of the selected tab. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\n\n /** The direction that tab should be render */\n @Prop({ reflect: true }) orientation?: TTabOrientation = 'horizontal';\n\n /** The placement that tab should be render */\n @Prop({ reflect: true }) placement?: TTabPlacement = 'start';\n\n /** A number representing the delay value applied to bqChange event handler */\n @Prop({ reflect: true, mutable: true }) debounceTime = 0;\n\n /** If true, the underline divider below the tabs won't be shown */\n @Prop({ reflect: true }) disableDivider = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('debounceTime')\n checkDebounceChange() {\n if (this.debounceTime < 0) {\n this.debounceTime = Math.max(0, this.debounceTime);\n }\n\n if (this.debouncedBqChange) {\n this.debouncedBqChange.cancel();\n }\n\n this.debouncedBqChange = debounce((event: Parameters<typeof this.debouncedBqChange>[0]) => {\n this.bqChange.emit(event);\n }, this.debounceTime);\n }\n\n @Watch('size')\n @Watch('value')\n @Watch('orientation')\n @Watch('placement')\n checkPropValues() {\n validatePropValue(TAB_SIZE, 'medium', this.el, 'size');\n validatePropValue(TAB_ORIENTATION, 'horizontal', this.el, 'orientation');\n validatePropValue(TAB_PLACEMENT, 'start', this.el, 'placement');\n\n this.bqTabElements.forEach((bqTabElement) => {\n bqTabElement.size = this.size;\n bqTabElement.orientation = this.orientation;\n bqTabElement.placement = this.placement;\n bqTabElement.active = !isNil(this.value) ? bqTabElement.tabId === this.value : false;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the tab value changes */\n @Event() bqChange: EventEmitter<{ target: HTMLBqTabElement; value: string }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkDebounceChange();\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.checkPropValues();\n }\n\n // Listeners\n // ==============\n\n @Listen('keyup', { target: 'body', passive: true, capture: true })\n onKeyUp(event: KeyboardEvent) {\n const { target } = event;\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n this.makeTabsFocusable();\n }\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqTabElement>) {\n const { detail: target } = event;\n this.bqTabElements.forEach((bqTabElement) => (bqTabElement.active = bqTabElement === target));\n this.debouncedBqChange({ value: target.tabId, target });\n this.selectTab(target);\n }\n\n @Listen('bqKeyDown', { passive: true })\n async onBqKeyDown(event: CustomEvent<KeyboardEvent>) {\n const { target } = event;\n\n // NOTE: ensures the target is an HTML element with the tag name 'bq-tab'\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n const keyActions: { [key: string]: 'forward' | 'backward' } = {\n ArrowDown: 'forward',\n ArrowRight: 'forward',\n ArrowUp: 'backward',\n ArrowLeft: 'backward',\n };\n\n // NOTE: gets the direction based on key pressed\n const direction = keyActions[event.detail.key];\n\n if (!direction) return;\n\n await this.focusTabSibling(target, direction);\n }\n\n @Listen('bqBlur', { capture: true, passive: true })\n onBqBlur() {\n this.restoreTabsFocus();\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 focusTabSibling = async (\n currentTarget: HTMLBqTabElement,\n direction: 'forward' | 'backward',\n ): Promise<void> => {\n let target: HTMLBqTabElement | null = null;\n\n this.bqTabElements.forEach((bqTabElement, index, elements) => {\n bqTabElement.active = false;\n\n if (bqTabElement === currentTarget) {\n target = getNextElement(elements, index, direction);\n }\n });\n\n if (target) {\n await target.vFocus();\n this.selectTab(target);\n }\n };\n\n private makeTabsFocusable = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled) return;\n\n /**\n * This is a \"fire and forget\" operation. The callback itself doesn't do anything special\n * with the asynchronous code (doesn't await it or do anything with the result)\n * Details: https://stackoverflow.com/a/63488201\n */\n (async () => {\n await bqTabElement.enableFocus(true);\n })();\n });\n };\n\n private restoreTabsFocus = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled || bqTabElement.active) return;\n\n /** @See line #173 */\n (async () => {\n await bqTabElement.enableFocus(false);\n })();\n });\n };\n\n private get bqTabElements(): HTMLBqTabElement[] {\n return Array.from(this.el.querySelectorAll('bq-tab'));\n }\n\n private selectTab = (target: HTMLBqTabElement): void => {\n const { tabId } = target;\n target.active = true;\n this.value = tabId;\n this.debouncedBqChange({ value: tabId, target });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host class={{ 'inline-block': this.orientation === 'vertical' }}>\n <div\n class={{\n [`bq-tab-group bq-tab-group--${this.orientation}-${this.placement} flex is-full`]: true,\n 'no-divider': this.disableDivider,\n }}\n part=\"base\"\n >\n <div\n class={{\n 'bq-tab-group--container flex overflow-x-auto': true,\n 'flex-col': this.orientation !== 'horizontal',\n }}\n role=\"tablist\"\n part=\"tabs\"\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["bqTabGroupCss","BqTabGroupStyle0","BqTabGroup","this","focusTabSibling","async","currentTarget","direction","target","bqTabElements","forEach","bqTabElement","index","elements","active","getNextElement","vFocus","selectTab","makeTabsFocusable","disabled","enableFocus","restoreTabsFocus","tabId","value","debouncedBqChange","checkDebounceChange","debounceTime","Math","max","cancel","debounce","event","bqChange","emit","checkPropValues","validatePropValue","TAB_SIZE","el","TAB_ORIENTATION","TAB_PLACEMENT","size","orientation","placement","isNil","componentWillLoad","componentDidLoad","onKeyUp","isHTMLElement","onBqClick","detail","onBqKeyDown","keyActions","ArrowDown","ArrowRight","ArrowUp","ArrowLeft","key","onBqBlur","Array","from","querySelectorAll","render","h","Host","class","disableDivider","part","role"],"sources":["../../packages/beeq/src/components/tab-group/scss/bq-tab-group.scss?tag=bq-tab-group&encapsulation=shadow","../../packages/beeq/src/components/tab-group/bq-tab-group.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tab styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply block;\n}\n\n.bq-tab-group {\n @apply relative;\n\n &::after {\n @apply absolute flex border-0 border-solid border-bg-tertiary content-empty;\n }\n\n &--horizontal-start,\n &--horizontal-end {\n &::after {\n @apply is-full inset-be-0 [border-block-end-width:--bq-stroke-s];\n }\n }\n\n &--horizontal-start {\n @apply justify-start;\n }\n\n &--horizontal-end {\n @apply justify-end;\n }\n\n &--vertical-start::after {\n @apply end-0 bs-full is-0 [border-block-end-width:0px] [border-inline-end-width:--bq-stroke-s];\n }\n\n &--vertical-end::after {\n @apply start-0 bs-full is-0 [border-block-end-width:0px] [border-inline-start-width:--bq-stroke-s];\n }\n}\n\n.bq-tab-group.no-divider {\n &::after {\n @apply content-none;\n }\n}\n\n.bq-tab-group--container {\n @include hide-scrollbar;\n @apply gap-xs2 p-xs2; // This will avoid cutting the outline focus style\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, Watch } from '@stencil/core';\n\nimport { debounce, getNextElement, isHTMLElement, isNil, TDebounce, validatePropValue } from '../../shared/utils';\nimport {\n TAB_ORIENTATION,\n TAB_PLACEMENT,\n TAB_SIZE,\n TTabOrientation,\n TTabPlacement,\n TTabSize,\n} from '../tab/bq-tab.types';\n\n/**\n * @part base - The HTML div wrapper inside the shadow DOM.\n * @part tabs - The HTML div used to hold the tab buttons.\n */\n@Component({\n tag: 'bq-tab-group',\n styleUrl: './scss/bq-tab-group.scss',\n shadow: true,\n})\nexport class BqTabGroup {\n // Own Properties\n // ====================\n\n private debouncedBqChange: TDebounce<{ value: string; target: HTMLBqTabElement }>;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTabGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** A string representing the id of the selected tab. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\n\n /** The direction that tab should be render */\n @Prop({ reflect: true }) orientation?: TTabOrientation = 'horizontal';\n\n /** The placement that tab should be render */\n @Prop({ reflect: true }) placement?: TTabPlacement = 'start';\n\n /** A number representing the delay value applied to bqChange event handler */\n @Prop({ reflect: true, mutable: true }) debounceTime = 0;\n\n /** If true, the underline divider below the tabs won't be shown */\n @Prop({ reflect: true }) disableDivider = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('debounceTime')\n checkDebounceChange() {\n if (this.debounceTime < 0) {\n this.debounceTime = Math.max(0, this.debounceTime);\n }\n\n if (this.debouncedBqChange) {\n this.debouncedBqChange.cancel();\n }\n\n this.debouncedBqChange = debounce((event: Parameters<typeof this.debouncedBqChange>[0]) => {\n this.bqChange.emit(event);\n }, this.debounceTime);\n }\n\n @Watch('size')\n @Watch('value')\n @Watch('orientation')\n @Watch('placement')\n checkPropValues() {\n validatePropValue(TAB_SIZE, 'medium', this.el, 'size');\n validatePropValue(TAB_ORIENTATION, 'horizontal', this.el, 'orientation');\n validatePropValue(TAB_PLACEMENT, 'start', this.el, 'placement');\n\n this.bqTabElements.forEach((bqTabElement) => {\n bqTabElement.size = this.size;\n bqTabElement.orientation = this.orientation;\n bqTabElement.placement = this.placement;\n bqTabElement.active = !isNil(this.value) ? bqTabElement.tabId === this.value : false;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the tab value changes */\n @Event() bqChange: EventEmitter<{ target: HTMLBqTabElement; value: string }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkDebounceChange();\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.checkPropValues();\n }\n\n // Listeners\n // ==============\n\n @Listen('keyup', { target: 'body', passive: true, capture: true })\n onKeyUp(event: KeyboardEvent) {\n const { target } = event;\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n this.makeTabsFocusable();\n }\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqTabElement>) {\n const { detail: target } = event;\n this.bqTabElements.forEach((bqTabElement) => (bqTabElement.active = bqTabElement === target));\n this.debouncedBqChange({ value: target.tabId, target });\n this.selectTab(target);\n }\n\n @Listen('bqKeyDown', { passive: true })\n async onBqKeyDown(event: CustomEvent<KeyboardEvent>) {\n const { target } = event;\n\n // NOTE: ensures the target is an HTML element with the tag name 'bq-tab'\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n const keyActions: { [key: string]: 'forward' | 'backward' } = {\n ArrowDown: 'forward',\n ArrowRight: 'forward',\n ArrowUp: 'backward',\n ArrowLeft: 'backward',\n };\n\n // NOTE: gets the direction based on key pressed\n const direction = keyActions[event.detail.key];\n\n if (!direction) return;\n\n await this.focusTabSibling(target, direction);\n }\n\n @Listen('bqBlur', { capture: true, passive: true })\n onBqBlur() {\n this.restoreTabsFocus();\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 focusTabSibling = async (\n currentTarget: HTMLBqTabElement,\n direction: 'forward' | 'backward',\n ): Promise<void> => {\n let target: HTMLBqTabElement | null = null;\n\n this.bqTabElements.forEach((bqTabElement, index, elements) => {\n bqTabElement.active = false;\n\n if (bqTabElement === currentTarget) {\n target = getNextElement(elements, index, direction);\n }\n });\n\n if (target) {\n await target.vFocus();\n this.selectTab(target);\n }\n };\n\n private makeTabsFocusable = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled) return;\n\n /**\n * This is a \"fire and forget\" operation. The callback itself doesn't do anything special\n * with the asynchronous code (doesn't await it or do anything with the result)\n * Details: https://stackoverflow.com/a/63488201\n */\n (async () => {\n await bqTabElement.enableFocus(true);\n })();\n });\n };\n\n private restoreTabsFocus = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled || bqTabElement.active) return;\n\n /** @See line #173 */\n (async () => {\n await bqTabElement.enableFocus(false);\n })();\n });\n };\n\n private get bqTabElements(): HTMLBqTabElement[] {\n return Array.from(this.el.querySelectorAll('bq-tab'));\n }\n\n private selectTab = (target: HTMLBqTabElement): void => {\n const { tabId } = target;\n target.active = true;\n this.value = tabId;\n this.debouncedBqChange({ value: tabId, target });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host class={{ 'inline-block': this.orientation === 'vertical' }}>\n <div\n class={{\n [`bq-tab-group bq-tab-group--${this.orientation}-${this.placement} flex is-full`]: true,\n 'no-divider': this.disableDivider,\n }}\n part=\"base\"\n >\n <div\n class={{\n 'bq-tab-group--container flex overflow-x-auto': true,\n 'flex-col': this.orientation !== 'horizontal',\n }}\n role=\"tablist\"\n part=\"tabs\"\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|