@brandsync/wc 1.7.0 → 1.9.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/custom-elements.json +340 -24
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-fde5e9f1.entry.js → p-051d3064.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f243683f.entry.js → p-05c7de28.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2d6955d6.entry.js → p-062cfa34.entry.js} +1 -1
- package/dist/brandsync-wc/p-0e39b9cc.entry.js +1 -0
- package/dist/brandsync-wc/p-0eed6813.entry.js +1 -0
- package/dist/brandsync-wc/{p-d25b7b74.entry.js → p-107b1c5d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-538cc08e.entry.js → p-114d2fd8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6754dfa9.entry.js → p-1c0db4d6.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4a1a5d6e.entry.js → p-1f7208cb.entry.js} +1 -1
- package/dist/brandsync-wc/p-2181378f.entry.js +1 -0
- package/dist/brandsync-wc/{p-d06543a5.entry.js → p-235ae012.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2700a63e.entry.js → p-275072dd.entry.js} +1 -1
- package/dist/brandsync-wc/p-27bbed83.entry.js +1 -0
- package/dist/brandsync-wc/p-2891d40b.entry.js +1 -0
- package/dist/brandsync-wc/p-29027559.entry.js +1 -0
- package/dist/brandsync-wc/{p-a36a0e6a.entry.js → p-3176d1d3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-0d86c22d.entry.js → p-33e44094.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e427bbda.entry.js → p-360452c2.entry.js} +1 -1
- package/dist/brandsync-wc/p-36bf37d9.entry.js +1 -0
- package/dist/brandsync-wc/p-3b64e3cd.entry.js +1 -0
- package/dist/brandsync-wc/p-3ec74d35.entry.js +1 -0
- package/dist/brandsync-wc/p-4574a707.entry.js +1 -0
- package/dist/brandsync-wc/p-4e5dcaff.entry.js +1 -0
- package/dist/brandsync-wc/{p-61db6ce2.entry.js → p-61c1a2a3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-85c70f6d.entry.js → p-6331de9c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-9c1be2a0.entry.js → p-6bf2f116.entry.js} +1 -1
- package/dist/brandsync-wc/p-6fd7dd6a.entry.js +1 -0
- package/dist/brandsync-wc/{p-c3a28a89.entry.js → p-70f64b25.entry.js} +1 -1
- package/dist/brandsync-wc/{p-06e9b45d.entry.js → p-7b00dd36.entry.js} +1 -1
- package/dist/brandsync-wc/{p-13e4966c.entry.js → p-7c94e6ae.entry.js} +1 -1
- package/dist/brandsync-wc/p-835a8dc7.entry.js +1 -0
- package/dist/brandsync-wc/{p-77433277.entry.js → p-8ee0153b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e1069ba9.entry.js → p-9f65f998.entry.js} +1 -1
- package/dist/brandsync-wc/p-9f6fe37d.entry.js +1 -0
- package/dist/brandsync-wc/{p-b2dc9886.entry.js → p-9f8852a0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-DuyFft7h.js → p-AgoOSYvW.js} +2 -2
- package/dist/brandsync-wc/{p-fba01c96.entry.js → p-a09e157f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-55e6438c.entry.js → p-a0d5a620.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8b2ab522.entry.js → p-a5feaad4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-cbaa19ab.entry.js → p-a92eec48.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3eab22a5.entry.js → p-ae978c9a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f2ce9a1f.entry.js → p-bbcc47b0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-80cf96ff.entry.js → p-be2c1740.entry.js} +1 -1
- package/dist/brandsync-wc/p-c10d2529.entry.js +1 -0
- package/dist/brandsync-wc/{p-819a3dae.entry.js → p-c3f72584.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8b57f606.entry.js → p-c4de155c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c197cc95.entry.js → p-cfcf3f0a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f8f03334.entry.js → p-de7c946d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-600b5434.entry.js → p-e9b43754.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4bff9b4b.entry.js → p-f006d962.entry.js} +1 -1
- package/dist/brandsync-wc/p-f074f94e.entry.js +1 -0
- package/dist/brandsync-wc/{p-7ed5670e.entry.js → p-f7d47c17.entry.js} +1 -1
- package/dist/brandsync-wc/p-fc240aa0.entry.js +1 -0
- package/dist/brandsync-wc/{p-f518f486.entry.js → p-fc58c663.entry.js} +1 -1
- package/dist/brandsync-wc/{p-be14f99f.entry.js → p-fddc7bd1.entry.js} +1 -1
- package/dist/cjs/brandsync-wc.cjs.js +2 -2
- package/dist/cjs/bs-accordion.cjs.entry.js +2 -2
- package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
- package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
- package/dist/cjs/bs-attachment.cjs.entry.js +2 -2
- package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
- package/dist/cjs/bs-badge.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +15 -3
- package/dist/cjs/bs-breadcrumb.cjs.entry.js +16 -2
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-button.cjs.entry.js +23 -4
- package/dist/cjs/bs-card.cjs.entry.js +2 -2
- package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-checkbox.cjs.entry.js +48 -3
- package/dist/cjs/bs-chip-filter.cjs.entry.js +2 -2
- package/dist/cjs/bs-chip-informative.cjs.entry.js +2 -2
- package/dist/cjs/bs-chip-input.cjs.entry.js +2 -2
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
- package/dist/cjs/bs-composer.cjs.entry.js +1 -1
- package/dist/cjs/bs-data-table.cjs.entry.js +20 -6
- package/dist/cjs/bs-dialog.cjs.entry.js +2 -2
- package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
- package/dist/cjs/bs-icon-button.cjs.entry.js +23 -4
- package/dist/cjs/bs-inline-tab.cjs.entry.js +11 -3
- package/dist/cjs/bs-input.cjs.entry.js +69 -5
- package/dist/cjs/bs-logo.cjs.entry.js +1 -1
- package/dist/cjs/bs-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-menu.cjs.entry.js +25 -3
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +2 -2
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +119 -6
- package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
- package/dist/cjs/bs-progress-linear.cjs.entry.js +1 -1
- package/dist/cjs/bs-progress.cjs.entry.js +8 -3
- package/dist/cjs/bs-radio.cjs.entry.js +81 -12
- package/dist/cjs/bs-slider.cjs.entry.js +54 -2
- package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
- package/dist/cjs/bs-stepper-step.cjs.entry.js +2 -2
- package/dist/cjs/bs-stepper.cjs.entry.js +3 -2
- package/dist/cjs/bs-switch.cjs.entry.js +36 -3
- package/dist/cjs/bs-tab.cjs.entry.js +11 -3
- package/dist/cjs/bs-tabs.cjs.entry.js +97 -3
- package/dist/cjs/bs-toast.cjs.entry.js +1 -1
- package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/{index-D7e6DfLV.js → index-kk9YXF2S.js} +43 -5
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/components/bs-a11y.cmp.test.js +54 -0
- package/dist/collection/components/bs-accordion/bs-accordion.css +5 -5
- package/dist/collection/components/bs-attachment/bs-attachment.css +1 -1
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.css +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.js +63 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +32 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.js +45 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.css +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +30 -1
- package/dist/collection/components/bs-button/bs-button/bs-button.css +17 -10
- package/dist/collection/components/bs-button/bs-button/bs-button.js +16 -3
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +20 -0
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +21 -4
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +18 -4
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.stories.js +10 -0
- package/dist/collection/components/bs-card/bs-card.css +4 -0
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.css +1 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +3 -3
- package/dist/collection/components/bs-checkbox/bs-checkbox.css +8 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.js +100 -2
- package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.css +4 -4
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.css +4 -4
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.css +5 -5
- package/dist/collection/components/bs-data-table/bs-data-table.cmp.test.js +19 -0
- package/dist/collection/components/bs-data-table/bs-data-table.css +1 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +19 -5
- package/dist/collection/components/bs-data-table/bs-data-table.stories.js +8 -1
- package/dist/collection/components/bs-dialog/bs-dialog.css +5 -1
- package/dist/collection/components/bs-form-association.cmp.test.js +172 -0
- package/dist/collection/components/bs-input/bs-input.css +10 -4
- package/dist/collection/components/bs-input/bs-input.js +82 -4
- package/dist/collection/components/bs-keyboard-nav.cmp.test.js +100 -0
- package/dist/collection/components/bs-logo/bs-logo.cmp.test.js +52 -3
- package/dist/collection/components/bs-menu/bs-menu.css +4 -0
- package/dist/collection/components/bs-menu/bs-menu.js +33 -1
- package/dist/collection/components/bs-menu/bs-menu.stories.js +54 -0
- package/dist/collection/components/bs-progress/bs-progress.js +27 -2
- package/dist/collection/components/bs-radio/bs-radio.cmp.test.js +4 -10
- package/dist/collection/components/bs-radio/bs-radio.css +7 -1
- package/dist/collection/components/bs-radio/bs-radio.js +92 -14
- package/dist/collection/components/bs-radio/bs-radio.stories.js +1 -10
- package/dist/collection/components/bs-slider/bs-slider.js +68 -2
- package/dist/collection/components/bs-source-link/bs-source-link.css +2 -2
- package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +3 -2
- package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.css +3 -3
- package/dist/collection/components/bs-switch/bs-switch.css +10 -1
- package/dist/collection/components/bs-switch/bs-switch.js +69 -2
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +2 -2
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +47 -1
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.css +2 -2
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +47 -1
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.cmp.test.js +88 -0
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +139 -2
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.stories.js +24 -0
- package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
- package/dist/collection/components/forms/forms.stories.js +63 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.js +173 -5
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.css +106 -34
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +181 -5
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.js +48 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +68 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +31 -17
- package/dist/components/bs-accordion.js +1 -1
- package/dist/components/bs-ai-disclaimer.js +1 -1
- package/dist/components/bs-ai-greeting.js +1 -1
- package/dist/components/bs-ai-thinking.js +1 -1
- package/dist/components/bs-attachment-list.js +1 -1
- package/dist/components/bs-attachment.js +1 -1
- package/dist/components/bs-avatar.js +1 -1
- package/dist/components/bs-badge.js +1 -1
- package/dist/components/bs-breadcrumb-overflow.js +1 -1
- package/dist/components/bs-breadcrumb.js +1 -1
- package/dist/components/bs-breadcrumbs.js +1 -1
- package/dist/components/bs-button-skeleton.js +1 -1
- package/dist/components/bs-button.js +1 -1
- package/dist/components/bs-card.js +1 -1
- package/dist/components/bs-carousel.js +1 -1
- package/dist/components/bs-chatbot-feedback.js +1 -1
- package/dist/components/bs-chatbot-header.js +1 -1
- package/dist/components/bs-chatbot-response-action.js +1 -1
- package/dist/components/bs-chatbot-sources-drawer.js +1 -1
- package/dist/components/bs-chatbot-suggestion-button.js +1 -1
- package/dist/components/bs-checkbox-skeleton.js +1 -1
- package/dist/components/bs-checkbox.js +1 -1
- package/dist/components/bs-chip-filter.js +1 -1
- package/dist/components/bs-chip-informative.js +1 -1
- package/dist/components/bs-chip-input.js +1 -1
- package/dist/components/bs-composer-status-banner.js +1 -1
- package/dist/components/bs-composer.js +1 -1
- package/dist/components/bs-data-table.js +1 -1
- package/dist/components/bs-dialog.js +1 -1
- package/dist/components/bs-file-upload-item.js +1 -1
- package/dist/components/bs-file-upload.js +1 -1
- package/dist/components/bs-icon-button.js +1 -1
- package/dist/components/bs-inline-tab.js +1 -1
- package/dist/components/bs-input.js +1 -1
- package/dist/components/bs-logo.js +1 -1
- package/dist/components/bs-menu-item.js +1 -1
- package/dist/components/bs-menu.js +1 -1
- package/dist/components/bs-navigation-drawer-item.js +1 -1
- package/dist/components/bs-navigation-drawer.js +1 -1
- package/dist/components/bs-navigation-header.js +1 -1
- package/dist/components/bs-pagination.js +1 -1
- package/dist/components/bs-progress-linear.js +1 -1
- package/dist/components/bs-progress.js +1 -1
- package/dist/components/bs-radio.js +1 -1
- package/dist/components/bs-slider.js +1 -1
- package/dist/components/bs-snackbar.js +1 -1
- package/dist/components/bs-source-link.js +1 -1
- package/dist/components/bs-stepper-step.js +1 -1
- package/dist/components/bs-stepper.js +1 -1
- package/dist/components/bs-switch.js +1 -1
- package/dist/components/bs-tab.js +1 -1
- package/dist/components/bs-tabs.js +1 -1
- package/dist/components/bs-toast.js +1 -1
- package/dist/components/bs-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-LYvoWZt4.js → p-BA3c9Rom.js} +1 -1
- package/dist/components/{p-Dqt-Qp4W.js → p-BfEyD6Ku.js} +1 -1
- package/dist/components/p-BoeorHNv.js +1 -0
- package/dist/components/p-Buly0d5G.js +1 -0
- package/dist/components/p-CpUHnsq9.js +1 -0
- package/dist/components/{p-BxFJ74fI.js → p-EtXc94lJ.js} +1 -1
- package/dist/components/{p-mnGJPH85.js → p-JYlmcxBn.js} +1 -1
- package/dist/components/{p-BhvV55-6.js → p-R2MlkUzD.js} +1 -1
- package/dist/components/{p-Dx8gAOVC.js → p-wei0Ija2.js} +1 -1
- package/dist/esm/brandsync-wc.js +3 -3
- package/dist/esm/bs-accordion.entry.js +2 -2
- package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
- package/dist/esm/bs-ai-greeting.entry.js +1 -1
- package/dist/esm/bs-ai-thinking.entry.js +1 -1
- package/dist/esm/bs-attachment-list.entry.js +2 -2
- package/dist/esm/bs-attachment.entry.js +2 -2
- package/dist/esm/bs-avatar.entry.js +1 -1
- package/dist/esm/bs-badge.entry.js +1 -1
- package/dist/esm/bs-breadcrumb-overflow.entry.js +15 -3
- package/dist/esm/bs-breadcrumb.entry.js +16 -2
- package/dist/esm/bs-breadcrumbs.entry.js +1 -1
- package/dist/esm/bs-button-skeleton.entry.js +1 -1
- package/dist/esm/bs-button.entry.js +23 -4
- package/dist/esm/bs-card.entry.js +2 -2
- package/dist/esm/bs-carousel.entry.js +1 -1
- package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
- package/dist/esm/bs-chatbot-header.entry.js +1 -1
- package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
- package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
- package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
- package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
- package/dist/esm/bs-checkbox.entry.js +48 -3
- package/dist/esm/bs-chip-filter.entry.js +2 -2
- package/dist/esm/bs-chip-informative.entry.js +2 -2
- package/dist/esm/bs-chip-input.entry.js +2 -2
- package/dist/esm/bs-composer-status-banner.entry.js +1 -1
- package/dist/esm/bs-composer.entry.js +1 -1
- package/dist/esm/bs-data-table.entry.js +20 -6
- package/dist/esm/bs-dialog.entry.js +2 -2
- package/dist/esm/bs-file-upload-item.entry.js +1 -1
- package/dist/esm/bs-file-upload.entry.js +1 -1
- package/dist/esm/bs-icon-button.entry.js +23 -4
- package/dist/esm/bs-inline-tab.entry.js +11 -3
- package/dist/esm/bs-input.entry.js +69 -5
- package/dist/esm/bs-logo.entry.js +1 -1
- package/dist/esm/bs-menu-item.entry.js +1 -1
- package/dist/esm/bs-menu.entry.js +25 -3
- package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
- package/dist/esm/bs-navigation-drawer.entry.js +119 -6
- package/dist/esm/bs-navigation-header.entry.js +2 -2
- package/dist/esm/bs-pagination.entry.js +1 -1
- package/dist/esm/bs-progress-linear.entry.js +1 -1
- package/dist/esm/bs-progress.entry.js +8 -3
- package/dist/esm/bs-radio.entry.js +81 -12
- package/dist/esm/bs-slider.entry.js +54 -2
- package/dist/esm/bs-snackbar.entry.js +1 -1
- package/dist/esm/bs-source-link.entry.js +2 -2
- package/dist/esm/bs-stepper-step.entry.js +2 -2
- package/dist/esm/bs-stepper.entry.js +3 -2
- package/dist/esm/bs-switch.entry.js +36 -3
- package/dist/esm/bs-tab.entry.js +11 -3
- package/dist/esm/bs-tabs.entry.js +97 -3
- package/dist/esm/bs-toast.entry.js +1 -1
- package/dist/esm/bs-tooltip.entry.js +2 -2
- package/dist/esm/{index-DuyFft7h.js → index-AgoOSYvW.js} +43 -5
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/bs-a11y.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.d.ts +10 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.d.ts +8 -0
- package/dist/types/components/bs-button/bs-button/bs-button.d.ts +4 -1
- package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +6 -2
- package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.stories.d.ts +1 -0
- package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +12 -0
- package/dist/types/components/bs-data-table/bs-data-table.d.ts +16 -2
- package/dist/types/components/bs-form-association.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-input/bs-input.d.ts +12 -0
- package/dist/types/components/bs-keyboard-nav.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-menu/bs-menu.d.ts +4 -0
- package/dist/types/components/bs-menu/bs-menu.stories.d.ts +1 -0
- package/dist/types/components/bs-progress/bs-progress.d.ts +5 -0
- package/dist/types/components/bs-radio/bs-radio.d.ts +23 -9
- package/dist/types/components/bs-slider/bs-slider.d.ts +9 -0
- package/dist/types/components/bs-switch/bs-switch.d.ts +10 -0
- package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +8 -0
- package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +8 -0
- package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +24 -0
- package/dist/types/components/bs-tab/bs-tabs/bs-tabs.stories.d.ts +1 -0
- package/dist/types/components/forms/forms.stories.d.ts +6 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +50 -1
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.d.ts +2 -0
- package/dist/types/components.d.ts +271 -9
- package/package.json +1 -1
- package/readme.md +14 -0
- package/dist/brandsync-wc/p-18021c05.entry.js +0 -1
- package/dist/brandsync-wc/p-1c8160c2.entry.js +0 -1
- package/dist/brandsync-wc/p-21c14465.entry.js +0 -1
- package/dist/brandsync-wc/p-27100489.entry.js +0 -1
- package/dist/brandsync-wc/p-309f920e.entry.js +0 -1
- package/dist/brandsync-wc/p-30d6a6d0.entry.js +0 -1
- package/dist/brandsync-wc/p-387ed85f.entry.js +0 -1
- package/dist/brandsync-wc/p-4b0938a5.entry.js +0 -1
- package/dist/brandsync-wc/p-5312b6a5.entry.js +0 -1
- package/dist/brandsync-wc/p-70e035ed.entry.js +0 -1
- package/dist/brandsync-wc/p-777a9dbf.entry.js +0 -1
- package/dist/brandsync-wc/p-a96856fd.entry.js +0 -1
- package/dist/brandsync-wc/p-b0634051.entry.js +0 -1
- package/dist/brandsync-wc/p-bcee3d60.entry.js +0 -1
- package/dist/brandsync-wc/p-d03eba2b.entry.js +0 -1
- package/dist/brandsync-wc/p-e61efe4d.entry.js +0 -1
- package/dist/brandsync-wc/p-f14bda01.entry.js +0 -1
- package/dist/components/p-BaxFLlKS.js +0 -1
- package/dist/components/p-DI5GgSqL.js +0 -1
- package/dist/components/p-v4T0qPVn.js +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
|
-
const bsInputCss = () => `:host{display:block;--bs-input-radius:var(--bs-border-radius-100);--bs-input-height:var(--bs-spacing-600);--bs-input-padding-x:var(--bs-spacing-150);--bs-input-padding-y:var(--bs-spacing-100);--bs-input-gap:var(--bs-spacing-200);--bs-input-icon-size:var(--bs-spacing-300);--bs-input-stack-gap:var(--bs-spacing-50);--bs-input-error-icon-size:var(--bs-spacing-250);--bs-input-field-bg:var(--bs-input-bg-default);--bs-input-field-bg-disabled:var(--bs-input-bg-disabled);--bs-input-field-border:var(--bs-input-border-default);--bs-input-field-border-hover:var(--bs-input-border-hover);--bs-input-field-border-focus:var(--bs-input-border-focus);--bs-input-field-border-error:var(--bs-input-border-error);--bs-input-field-text:var(--bs-input-text);--bs-input-field-placeholder:var(--bs-input-placeholder);--bs-input-label-color:var(--bs-input-label);--bs-input-description-color:var(--bs-input-description);--bs-input-error-color:var(--bs-input-error);--bs-input-icon-color:var(--bs-icon-muted);--bs-input-icon-color-error:var(--bs-input-icon-error);--bs-input-icon-color-disabled:var(--bs-input-icon-disabled);--bs-input-chip-bg:var(--bs-input-bg-disabled);--bs-input-chip-text:var(--bs-input-text);--bs-input-initials-title-width:80px;--bs-input-initials-gap:var(--bs-spacing-50)}.bs-input{display:flex;flex-direction:column;gap:var(--bs-input-stack-gap);font-family:inherit}.bs-input__label{font-size:var(--bs-font-size-sm);font-weight:var(--bs-font-weight-medium);color:var(--bs-input-label-color)}.bs-input__required{color:var(--bs-input-error-color);margin-
|
|
5
|
+
const bsInputCss = () => `:host{display:block;--bs-input-radius:var(--bs-border-radius-100);--bs-input-height:var(--bs-spacing-600);--bs-input-padding-x:var(--bs-spacing-150);--bs-input-padding-y:var(--bs-spacing-100);--bs-input-gap:var(--bs-spacing-200);--bs-input-icon-size:var(--bs-spacing-300);--bs-input-stack-gap:var(--bs-spacing-50);--bs-input-error-icon-size:var(--bs-spacing-250);--bs-input-field-bg:var(--bs-input-bg-default);--bs-input-field-bg-disabled:var(--bs-input-bg-disabled);--bs-input-field-border:var(--bs-input-border-default);--bs-input-field-border-hover:var(--bs-input-border-hover);--bs-input-field-border-focus:var(--bs-input-border-focus);--bs-input-field-border-error:var(--bs-input-border-error);--bs-input-field-text:var(--bs-input-text);--bs-input-field-placeholder:var(--bs-input-placeholder);--bs-input-label-color:var(--bs-input-label);--bs-input-description-color:var(--bs-input-description);--bs-input-error-color:var(--bs-input-error);--bs-input-icon-color:var(--bs-icon-muted);--bs-input-icon-color-error:var(--bs-input-icon-error);--bs-input-icon-color-disabled:var(--bs-input-icon-disabled);--bs-input-chip-bg:var(--bs-input-bg-disabled);--bs-input-chip-text:var(--bs-input-text);--bs-input-initials-title-width:80px;--bs-input-initials-gap:var(--bs-spacing-50)}.bs-input{display:flex;flex-direction:column;gap:var(--bs-input-stack-gap);font-family:inherit}.bs-input__label{font-size:var(--bs-font-size-sm);font-weight:var(--bs-font-weight-medium);color:var(--bs-input-label-color)}.bs-input__required{color:var(--bs-input-error-color);margin-inline-start:2px}.bs-input__field{box-sizing:border-box;display:flex;align-items:center;gap:var(--bs-input-gap);height:var(--bs-input-height);padding:var(--bs-input-padding-y) var(--bs-input-padding-x);border:1px solid var(--bs-input-field-border);border-radius:var(--bs-input-radius);background:var(--bs-input-field-bg)}.bs-input__field:hover:not(.bs-input__field--disabled){border-color:var(--bs-input-field-border-hover)}.bs-input__field:focus-within{border-color:var(--bs-input-field-border-focus)}.bs-input__field--error{border-color:var(--bs-input-field-border-error)}.bs-input__field--disabled{background:var(--bs-input-field-bg-disabled);cursor:not-allowed}.bs-input__control{flex:1;min-width:0;border:none;outline:none;padding:0;background:transparent;color:var(--bs-input-field-text);font-size:var(--bs-font-size-md);font-family:inherit}.bs-input__control::placeholder{color:var(--bs-input-field-placeholder)}.bs-input__control:disabled{color:var(--bs-input-text-disabled);cursor:not-allowed}.bs-input__control::-webkit-strong-password-auto-fill-button,.bs-input__control::-webkit-credentials-auto-fill-button{display:none !important;visibility:hidden;pointer-events:none;position:absolute;inset-inline-end:0}.bs-input__control::-webkit-textfield-decoration-container{visibility:hidden}.bs-input__control::-ms-reveal,.bs-input__control::-ms-clear{display:none}.bs-input--error .bs-input__label{color:var(--bs-input-label-color)}.bs-input__icon,.bs-input__end-icon{display:none;align-items:center;flex-shrink:0;color:var(--bs-input-icon-color)}.bs-input__icon--visible,.bs-input__end-icon--visible{display:flex}.bs-input__icon ::slotted(*),.bs-input__end-icon ::slotted(*){display:block;width:var(--bs-input-icon-size);height:var(--bs-input-icon-size)}.bs-input__field--error .bs-input__icon,.bs-input__field--error .bs-input__end-icon{color:var(--bs-input-icon-color-error)}.bs-input__field--disabled .bs-input__icon,.bs-input__field--disabled .bs-input__end-icon{color:var(--bs-input-icon-color-disabled)}.bs-input__description{font-size:var(--bs-font-size-xs);color:var(--bs-input-description-color)}.bs-input__error{display:flex;align-items:center;gap:var(--bs-input-stack-gap);font-size:var(--bs-font-size-xs);color:var(--bs-input-error-color)}.bs-input__error-icon{flex-shrink:0;width:var(--bs-input-error-icon-size);height:var(--bs-input-error-icon-size)}.bs-input__field--textarea{height:auto;align-items:flex-start}.bs-input__control--textarea{resize:vertical}.bs-input__stepper{display:flex;flex-direction:column}.bs-input__stepper-btn{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;padding:0;cursor:pointer}.bs-input__stepper-btn:disabled{cursor:not-allowed}.bs-input__password-toggle{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;padding:0;cursor:pointer;width:var(--bs-input-icon-size);height:var(--bs-input-icon-size)}.bs-input__password-toggle:disabled{cursor:not-allowed}.bs-input__password-toggle svg{width:100%;height:100%}.bs-input__chevron{width:var(--bs-input-icon-size);height:var(--bs-input-icon-size)}.bs-input__field-wrapper{position:relative;width:100%}.bs-input__dropdown-menu{position:absolute;top:calc(100% + var(--bs-input-stack-gap));inset-inline-start:0;inset-inline-end:0;z-index:1}.bs-input__calendar{width:var(--bs-input-icon-size);height:var(--bs-input-icon-size)}.bs-input__search-icon{width:var(--bs-input-icon-size);height:var(--bs-input-icon-size)}.bs-input__field--chip{flex-wrap:wrap;height:auto;min-height:var(--bs-input-height)}.bs-input__chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bs-spacing-100);flex:1;min-width:0}.bs-input__chip{display:inline-flex;align-items:center;gap:4px;background:var(--bs-input-chip-bg);color:var(--bs-input-chip-text);border-radius:var(--bs-input-radius);padding:2px 6px;font-size:var(--bs-font-size-sm)}.bs-input__chip-remove{border:none;background:transparent;color:inherit;cursor:pointer;padding:0;line-height:1}.bs-input__chip-input{flex:1;min-width:60px}.bs-input__country-select{flex-shrink:0;width:auto;border:none;outline:none;background:transparent;color:var(--bs-input-field-text);font-size:var(--bs-font-size-md);font-family:inherit}.bs-input__title-select,.bs-input__country-select{appearance:none;-webkit-appearance:none;-moz-appearance:none}.bs-input__title-select::-ms-expand,.bs-input__country-select::-ms-expand{display:none}.bs-input__select-chevron{flex-shrink:0;width:var(--bs-input-icon-size);height:var(--bs-input-icon-size);color:var(--bs-input-icon-color);pointer-events:none}.bs-input__field--disabled .bs-input__select-chevron{color:var(--bs-input-icon-color-disabled)}.bs-input__initials-row{display:flex;gap:var(--bs-input-initials-gap);width:100%}.bs-input__field--initials-title{flex:0 0 auto;width:var(--bs-input-initials-title-width);gap:var(--bs-spacing-50)}.bs-input__field--initials-title .bs-input__select-chevron{width:10px;height:10px}.bs-input__field--initials-value{flex:1;min-width:0}.bs-input__country-select{width:auto}.bs-input__field--pin{border:none;padding:0;background:transparent;gap:var(--bs-input-gap)}.bs-input__pin-cell{box-sizing:border-box;width:var(--bs-input-height);height:var(--bs-input-height);text-align:center;border:1px solid var(--bs-input-field-border);border-radius:var(--bs-input-radius);background:var(--bs-input-field-bg);color:var(--bs-input-field-text);font-size:var(--bs-font-size-md);font-family:inherit;outline:none}.bs-input__pin-cell:focus{border-color:var(--bs-input-field-border-focus)}.bs-input__field--pin.bs-input__field--disabled .bs-input__pin-cell{background:var(--bs-input-field-bg-disabled);cursor:not-allowed}.bs-input__field--pin.bs-input__field--error .bs-input__pin-cell{border-color:var(--bs-input-field-border-error)}@media (forced-colors: active){.bs-input__control{border:1px solid FieldText}.bs-input__control:focus-visible{outline:2px solid Highlight;outline-offset:2px}}`;
|
|
6
6
|
|
|
7
7
|
const BsInput = class {
|
|
8
8
|
constructor(hostRef) {
|
|
@@ -14,8 +14,19 @@ const BsInput = class {
|
|
|
14
14
|
this.bsChipRemove = index.createEvent(this, "bsChipRemove");
|
|
15
15
|
this.bsTitleChange = index.createEvent(this, "bsTitleChange");
|
|
16
16
|
this.bsCountryChange = index.createEvent(this, "bsCountryChange");
|
|
17
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
18
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
22
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
23
|
+
}
|
|
17
24
|
}
|
|
18
25
|
get el() { return index.getElement(this); }
|
|
26
|
+
internals;
|
|
27
|
+
initialValue = '';
|
|
28
|
+
/** The `name` the value is submitted under in a surrounding `<form>`'s `FormData`. */
|
|
29
|
+
name;
|
|
19
30
|
/** Current value. Native `input`/`change` events don't cross the Shadow DOM boundary, so this
|
|
20
31
|
* component re-dispatches them as `bsInput`/`bsChange` custom events instead. Mutable so the
|
|
21
32
|
* `number` type's stepper buttons can update it directly. */
|
|
@@ -91,9 +102,44 @@ const BsInput = class {
|
|
|
91
102
|
* children, before first render -- see `bs-button`'s `componentWillLoad` for why `slotchange`
|
|
92
103
|
* alone isn't enough for a slot that starts (and stays) empty. */
|
|
93
104
|
componentWillLoad() {
|
|
105
|
+
this.initialValue = this.value;
|
|
106
|
+
this.syncFormValue();
|
|
94
107
|
this.hasIcon = this.hasSlottedContent('icon');
|
|
95
108
|
this.hasEndIcon = this.hasSlottedContent('end-icon');
|
|
96
109
|
}
|
|
110
|
+
onFormStateChange() {
|
|
111
|
+
this.syncFormValue();
|
|
112
|
+
}
|
|
113
|
+
/** Pushes the current value + validity to the surrounding form. `chip` submits one entry per
|
|
114
|
+
* chip under `name`; every other type submits `value` as a single string. */
|
|
115
|
+
syncFormValue() {
|
|
116
|
+
if (!this.internals?.setFormValue)
|
|
117
|
+
return;
|
|
118
|
+
if (this.type === 'chip' && this.name) {
|
|
119
|
+
const data = new FormData();
|
|
120
|
+
this.chips.forEach(c => data.append(this.name, c));
|
|
121
|
+
this.internals.setFormValue(data);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
this.internals.setFormValue(this.value ?? '');
|
|
125
|
+
}
|
|
126
|
+
const empty = this.type === 'chip' ? this.chips.length === 0 : !this.value;
|
|
127
|
+
if (this.required && empty) {
|
|
128
|
+
this.internals.setValidity({ valueMissing: true }, 'Please fill out this field.');
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this.internals.setValidity({});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/** Called by the browser when the surrounding `<form>` is reset. */
|
|
135
|
+
formResetCallback() {
|
|
136
|
+
this.value = this.initialValue;
|
|
137
|
+
}
|
|
138
|
+
/** Called when the browser restores form state (back/forward navigation, autofill). */
|
|
139
|
+
formStateRestoreCallback(state) {
|
|
140
|
+
if (typeof state === 'string')
|
|
141
|
+
this.value = state;
|
|
142
|
+
}
|
|
97
143
|
hasSlottedContent(slotName) {
|
|
98
144
|
return Array.from(this.el.childNodes).some(node => node.nodeType === Node.ELEMENT_NODE && node.getAttribute('slot') === slotName);
|
|
99
145
|
}
|
|
@@ -105,10 +151,12 @@ const BsInput = class {
|
|
|
105
151
|
};
|
|
106
152
|
onInput = (ev) => {
|
|
107
153
|
const value = ev.target.value;
|
|
154
|
+
this.value = value;
|
|
108
155
|
this.bsInput.emit(value);
|
|
109
156
|
};
|
|
110
157
|
onChange = (ev) => {
|
|
111
158
|
const value = ev.target.value;
|
|
159
|
+
this.value = value;
|
|
112
160
|
this.bsChange.emit(value);
|
|
113
161
|
};
|
|
114
162
|
clampNumber(n) {
|
|
@@ -203,7 +251,8 @@ const BsInput = class {
|
|
|
203
251
|
if (value && index < this.length - 1) {
|
|
204
252
|
this.pinInputs[index + 1]?.focus();
|
|
205
253
|
}
|
|
206
|
-
this.
|
|
254
|
+
this.value = this.pinInputs.map(i => i?.value ?? '').join('');
|
|
255
|
+
this.bsChange.emit(this.value);
|
|
207
256
|
};
|
|
208
257
|
onPinKeydown = (index) => (ev) => {
|
|
209
258
|
if (ev.key === 'Backspace' && !ev.target.value && index > 0) {
|
|
@@ -308,12 +357,27 @@ const BsInput = class {
|
|
|
308
357
|
return (index.h("div", { part: "field", class: `bs-input__field bs-input__field--pin ${errorClass} ${disabledClass}` }, Array.from({ length: this.length }).map((_, i) => (index.h("input", { id: i === 0 ? 'control' : undefined, ref: el => (this.pinInputs[i] = el), part: "control", class: "bs-input__pin-cell", type: "text", inputMode: "numeric", maxLength: 1, value: this.value[i] ?? '', disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, onInput: this.onPinInput(i), onKeyDown: this.onPinKeydown(i) })))));
|
|
309
358
|
}
|
|
310
359
|
render() {
|
|
311
|
-
return (index.h("div", { key: '
|
|
360
|
+
return (index.h("div", { key: '1149cfe8eaa6085007a8d9a963b6c909bb6cda13', class: `bs-input ${this.error ? 'bs-input--error' : ''}` }, this.label && (
|
|
312
361
|
// "control" is a fixed id, not a generated one -- safe because Shadow DOM scopes ids
|
|
313
362
|
// to this instance's own shadow root, so it can never collide with another bs-input.
|
|
314
|
-
index.h("label", { key: '
|
|
363
|
+
index.h("label", { key: 'd737018c1e1ebcde529710d8ea58c6bed76f2abf', part: "label", class: "bs-input__label", htmlFor: "control" }, this.label, this.required && (index.h("span", { key: '5993b19cbfcb8725550c1292c00795c8463e554c', part: "required", class: "bs-input__required", "aria-hidden": "true" }, "*")))), this.type === 'pin' ? this.renderPinField() : this.type === 'initials' ? this.renderInitialsField() : this.renderField(), this.error ? (index.h("span", { id: "description-or-error", part: "error", class: "bs-input__error" }, index.h("svg", { part: "error-icon", class: "bs-input__error-icon", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, index.h("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", "stroke-width": "1.2" }), index.h("path", { d: "M8 5V8.5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round" }), index.h("circle", { cx: "8", cy: "11", r: "0.75", fill: "currentColor" })), this.error)) : this.description ? (index.h("span", { id: "description-or-error", part: "description", class: "bs-input__description" }, this.description)) : null));
|
|
315
364
|
}
|
|
316
365
|
static get delegatesFocus() { return true; }
|
|
366
|
+
static get formAssociated() { return true; }
|
|
367
|
+
static get watchers() { return {
|
|
368
|
+
"value": [{
|
|
369
|
+
"onFormStateChange": 0
|
|
370
|
+
}],
|
|
371
|
+
"type": [{
|
|
372
|
+
"onFormStateChange": 0
|
|
373
|
+
}],
|
|
374
|
+
"chips": [{
|
|
375
|
+
"onFormStateChange": 0
|
|
376
|
+
}],
|
|
377
|
+
"required": [{
|
|
378
|
+
"onFormStateChange": 0
|
|
379
|
+
}]
|
|
380
|
+
}; }
|
|
317
381
|
};
|
|
318
382
|
BsInput.style = bsInputCss();
|
|
319
383
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
5
|
// BrandSync brand mark (icon + "EG BrandSync" wordmark) on a light background, exported directly
|
|
6
6
|
// from Figma's "Logo" component set (node 10909:30421, Device=Desktop, Background=Light) and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
5
|
const bsMenuItemCss = () => `:host{display:block;--bs-menu-item-radius:var(--bs-border-radius-100);--bs-menu-item-padding-y:var(--bs-spacing-100);--bs-menu-item-padding-x:var(--bs-spacing-150);--bs-menu-item-gap:var(--bs-spacing-100);--bs-menu-item-hover:var(--bs-color-neutral-container-hover);--bs-menu-item-pressed:var(--bs-color-neutral-container-pressed);--bs-menu-item-disabled-bg:var(--bs-surface-action-disabled);--bs-menu-item-icon-color:var(--bs-icon-default);--bs-menu-item-icon-color-disabled:var(--bs-icon-disabled);--bs-menu-item-color:var(--bs-text-muted);--bs-menu-item-color-disabled:var(--bs-text-on-disabled);--bs-menu-item-font-size:var(--bs-font-size-md);--bs-menu-item-line-height:var(--bs-line-height-body-md)}.bs-menu-item{box-sizing:border-box;display:flex;align-items:center;width:100%;height:48px;border:none;cursor:pointer;background:transparent;color:var(--bs-menu-item-color);font-family:inherit;border-radius:var(--bs-menu-item-radius);padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);gap:var(--bs-menu-item-gap);transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-menu-item:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}.bs-menu-item:hover{background:var(--bs-menu-item-hover)}.bs-menu-item:active{background:var(--bs-menu-item-pressed)}.bs-menu-item--disabled{background:var(--bs-menu-item-disabled-bg);color:var(--bs-menu-item-color-disabled);cursor:not-allowed}.bs-menu-item--disabled:hover,.bs-menu-item--disabled:active{background:var(--bs-menu-item-disabled-bg)}.bs-menu-item--disabled .bs-menu-item__icon{color:var(--bs-menu-item-icon-color-disabled)}.bs-menu-item__icon{display:none;width:24px;height:24px;flex-shrink:0;color:var(--bs-menu-item-icon-color)}.bs-menu-item__icon--has-content{display:inline-flex;align-items:center;justify-content:center}.bs-menu-item__icon ::slotted(svg){width:24px;height:24px}.bs-menu-item__label{font-size:var(--bs-menu-item-font-size);line-height:calc(var(--bs-menu-item-line-height) * 1px);white-space:nowrap}`;
|
|
6
6
|
|
|
@@ -1,15 +1,37 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
|
-
const bsMenuCss = () => `:host{display:block;--bs-menu-bg:var(--bs-surface-raised);--bs-menu-radius:var(--bs-border-radius-100);--bs-menu-padding-y:var(--bs-spacing-50);--bs-menu-gap:var(--bs-spacing-50);--bs-menu-shadow:var(--bs-shadow-sm)}.bs-menu{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--bs-menu-gap);background:var(--bs-menu-bg);border-radius:var(--bs-menu-radius);padding:var(--bs-menu-padding-y) 0;box-shadow:var(--bs-menu-shadow);font-family:inherit}`;
|
|
5
|
+
const bsMenuCss = () => `:host{display:block;--bs-menu-bg:var(--bs-surface-raised);--bs-menu-radius:var(--bs-border-radius-100);--bs-menu-padding-y:var(--bs-spacing-50);--bs-menu-gap:var(--bs-spacing-50);--bs-menu-shadow:var(--bs-shadow-sm)}.bs-menu{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--bs-menu-gap);background:var(--bs-menu-bg);border-radius:var(--bs-menu-radius);padding:var(--bs-menu-padding-y) 0;box-shadow:var(--bs-menu-shadow);font-family:inherit}@media (forced-colors: active){.bs-menu{border:1px solid CanvasText}}`;
|
|
6
6
|
|
|
7
7
|
const BsMenu = class {
|
|
8
8
|
constructor(hostRef) {
|
|
9
9
|
index.registerInstance(this, hostRef);
|
|
10
10
|
}
|
|
11
|
+
get el() { return index.getElement(this); }
|
|
12
|
+
/** WAI-ARIA menu pattern: Up/Down move focus between enabled items (wrapping), Home/End jump
|
|
13
|
+
* to the first/last. Items are the slotted `bs-menu-item` children. */
|
|
14
|
+
onKeyDown(ev) {
|
|
15
|
+
if (!['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(ev.key))
|
|
16
|
+
return;
|
|
17
|
+
const items = Array.from(this.el.querySelectorAll('bs-menu-item')).filter(i => !i.disabled);
|
|
18
|
+
if (items.length === 0)
|
|
19
|
+
return;
|
|
20
|
+
const current = items.findIndex(i => i === ev.target || i.contains(ev.target));
|
|
21
|
+
ev.preventDefault();
|
|
22
|
+
let next;
|
|
23
|
+
if (ev.key === 'Home')
|
|
24
|
+
next = 0;
|
|
25
|
+
else if (ev.key === 'End')
|
|
26
|
+
next = items.length - 1;
|
|
27
|
+
else if (ev.key === 'ArrowDown')
|
|
28
|
+
next = current === -1 ? 0 : (current + 1) % items.length;
|
|
29
|
+
else
|
|
30
|
+
next = current === -1 ? items.length - 1 : (current - 1 + items.length) % items.length;
|
|
31
|
+
items[next].shadowRoot?.querySelector('button')?.focus();
|
|
32
|
+
}
|
|
11
33
|
render() {
|
|
12
|
-
return (index.h("div", { key: '
|
|
34
|
+
return (index.h("div", { key: '4f2995d0f53f85656de8595fb6a9909833c6369d', part: "list", class: "bs-menu", role: "menu" }, index.h("slot", { key: '0824f2a784eb4cfa28a2868f19c056570b56ba63' })));
|
|
13
35
|
}
|
|
14
36
|
};
|
|
15
37
|
BsMenu.style = bsMenuCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
5
|
const bsNavigationDrawerItemCss = () => `:host{display:block;--bs-navigation-drawer-item-gap:var(--bs-spacing-100);--bs-navigation-drawer-item-radius:var(--bs-border-radius-100);--bs-navigation-drawer-item-padding-y:var(--bs-spacing-150);--bs-navigation-drawer-item-padding-x:var(--bs-spacing-100);--bs-navigation-drawer-item-padding-left-nested:var(--bs-spacing-600);--bs-navigation-drawer-item-font-weight:var(--bs-font-weight-medium);--bs-navigation-drawer-item-font-size:var(--bs-font-size-md);--bs-navigation-drawer-item-line-height:var(--bs-line-height-body-md);--bs-navigation-drawer-item-color:var(--bs-text-muted);--bs-navigation-drawer-item-color-selected:var(--bs-text-default);--bs-navigation-drawer-item-color-hover:var(--bs-text-secondary);--bs-navigation-drawer-item-bg-selected:var(--bs-surface-selected);--bs-navigation-drawer-item-bg-hover:var(--bs-surface-hover);--bs-navigation-drawer-item-bg-pressed:var(--bs-surface-pressed);--bs-navigation-drawer-item-bg-focus:var(--bs-surface-focus);--bs-navigation-drawer-item-bg-selected-hover:var(--bs-surface-selected-hover);--bs-navigation-drawer-item-bg-selected-pressed:var(--bs-surface-selected-pressed);--bs-navigation-drawer-item-bg-selected-focus:var(--bs-surface-selected-focus);--bs-navigation-drawer-item-focus-ring-color:var(--bs-border-neutral-focus);--bs-navigation-drawer-item-children-gap:var(--bs-spacing-100);--bs-navigation-drawer-item-collapsed-gap:var(--bs-spacing-100);--bs-navigation-drawer-item-collapsed-padding:var(--bs-spacing-100);--bs-navigation-drawer-item-collapsed-icon-padding-x:var(--bs-spacing-300);--bs-navigation-drawer-item-collapsed-icon-padding-y:var(--bs-spacing-50);--bs-navigation-drawer-item-collapsed-font-size:var(--bs-fontsize-caption-sm);--bs-navigation-drawer-item-collapsed-line-height:var(--bs-line-height-caption-sm)}.bs-navigation-drawer-item__root{display:contents}.bs-navigation-drawer-item{box-sizing:border-box;width:100%;display:flex;align-items:center;gap:var(--bs-navigation-drawer-item-gap);border:none;border-radius:var(--bs-navigation-drawer-item-radius);padding:var(--bs-navigation-drawer-item-padding-y) var(--bs-navigation-drawer-item-padding-x);background:transparent;color:var(--bs-navigation-drawer-item-color);font-family:inherit;font-weight:var(--bs-navigation-drawer-item-font-weight);font-size:var(--bs-navigation-drawer-item-font-size);line-height:calc(var(--bs-navigation-drawer-item-line-height) * 1px);text-align:left;cursor:pointer;transition:color var(--bs-duration-fast) var(--bs-easing-standard), background-color var(--bs-duration-fast) var(--bs-easing-standard)}:host(:not([collapsed])) .bs-navigation-drawer-item:hover:not(.bs-navigation-drawer-item--selected){background:var(--bs-navigation-drawer-item-bg-hover);color:var(--bs-navigation-drawer-item-color-hover)}:host(:not([collapsed])) .bs-navigation-drawer-item:active:not(.bs-navigation-drawer-item--selected){background:var(--bs-navigation-drawer-item-bg-pressed);color:var(--bs-navigation-drawer-item-color-hover)}:host(:not([collapsed])) .bs-navigation-drawer-item:focus-visible:not(.bs-navigation-drawer-item--selected){background:var(--bs-navigation-drawer-item-bg-focus);color:var(--bs-navigation-drawer-item-color-hover)}:host(:not([collapsed])) .bs-navigation-drawer-item--selected:hover{background:var(--bs-navigation-drawer-item-bg-selected-hover)}:host(:not([collapsed])) .bs-navigation-drawer-item--selected:active{background:var(--bs-navigation-drawer-item-bg-selected-pressed)}:host(:not([collapsed])) .bs-navigation-drawer-item--selected:focus-visible{background:var(--bs-navigation-drawer-item-bg-selected-focus)}.bs-navigation-drawer-item:focus-visible{outline:2px solid var(--bs-navigation-drawer-item-focus-ring-color);outline-offset:-2px}.bs-navigation-drawer-item--nested{padding-left:var(--bs-navigation-drawer-item-padding-left-nested)}.bs-navigation-drawer-item--selected{background:var(--bs-navigation-drawer-item-bg-selected);color:var(--bs-navigation-drawer-item-color-selected)}.bs-navigation-drawer-item--selected .bs-navigation-drawer-item__icon--has-content{color:var(--bs-navigation-drawer-item-color-selected)}:host([collapsed]) .bs-navigation-drawer-item{flex-direction:column;justify-content:center;gap:var(--bs-navigation-drawer-item-collapsed-gap);padding:var(--bs-navigation-drawer-item-collapsed-padding);background:transparent}.bs-navigation-drawer-item__icon{display:none;width:24px;height:24px;flex-shrink:0;color:inherit}.bs-navigation-drawer-item__icon--has-content{display:inline-flex;align-items:center;justify-content:center}.bs-navigation-drawer-item__icon ::slotted(svg){width:24px;height:24px}:host([collapsed]) .bs-navigation-drawer-item__icon--has-content{padding:var(--bs-navigation-drawer-item-collapsed-icon-padding-y) var(--bs-navigation-drawer-item-collapsed-icon-padding-x);border-radius:var(--bs-navigation-drawer-item-radius)}:host([collapsed][selected]) .bs-navigation-drawer-item__icon--has-content{background:var(--bs-navigation-drawer-item-bg-selected)}:host([collapsed]:not([selected])) .bs-navigation-drawer-item:hover .bs-navigation-drawer-item__icon--has-content{background:var(--bs-navigation-drawer-item-bg-hover)}:host([collapsed]:not([selected])) .bs-navigation-drawer-item:active .bs-navigation-drawer-item__icon--has-content{background:var(--bs-navigation-drawer-item-bg-pressed)}:host([collapsed]:not([selected])) .bs-navigation-drawer-item:focus-visible .bs-navigation-drawer-item__icon--has-content{background:var(--bs-navigation-drawer-item-bg-focus)}:host([collapsed][selected]) .bs-navigation-drawer-item:hover .bs-navigation-drawer-item__icon--has-content{background:var(--bs-navigation-drawer-item-bg-selected-hover)}:host([collapsed][selected]) .bs-navigation-drawer-item:active .bs-navigation-drawer-item__icon--has-content{background:var(--bs-navigation-drawer-item-bg-selected-pressed)}:host([collapsed][selected]) .bs-navigation-drawer-item:focus-visible .bs-navigation-drawer-item__icon--has-content{background:var(--bs-navigation-drawer-item-bg-selected-focus)}:host([collapsed]:not([selected])) .bs-navigation-drawer-item:hover .bs-navigation-drawer-item__label,:host([collapsed]:not([selected])) .bs-navigation-drawer-item:active .bs-navigation-drawer-item__label,:host([collapsed]:not([selected])) .bs-navigation-drawer-item:focus-visible .bs-navigation-drawer-item__label,:host([collapsed]:not([selected])) .bs-navigation-drawer-item:hover .bs-navigation-drawer-item__icon--has-content,:host([collapsed]:not([selected])) .bs-navigation-drawer-item:active .bs-navigation-drawer-item__icon--has-content,:host([collapsed]:not([selected])) .bs-navigation-drawer-item:focus-visible .bs-navigation-drawer-item__icon--has-content{color:var(--bs-navigation-drawer-item-color-hover)}.bs-navigation-drawer-item__label{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([collapsed]) .bs-navigation-drawer-item__label{flex:none;width:100%;text-align:center;font-size:var(--bs-navigation-drawer-item-collapsed-font-size);line-height:calc(var(--bs-navigation-drawer-item-collapsed-line-height) * 1px)}.bs-navigation-drawer-item__chevron{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:inherit;transition:transform var(--bs-duration-fast) var(--bs-easing-standard)}.bs-navigation-drawer-item__chevron svg{width:16px;height:16px}.bs-navigation-drawer-item__chevron--expanded{transform:rotate(180deg)}.bs-navigation-drawer-item__children{display:flex;flex-direction:column;gap:var(--bs-navigation-drawer-item-children-gap)}:host(:not([expanded])) .bs-navigation-drawer-item__children{display:none}:host([collapsed]) .bs-navigation-drawer-item__chevron,:host([collapsed]) .bs-navigation-drawer-item__children{display:none}`;
|
|
6
6
|
|
|
@@ -93,7 +93,7 @@ const BsNavigationDrawerItem = class {
|
|
|
93
93
|
// incorrectly also toggle this parent row on every child click. Both are wrapped in a
|
|
94
94
|
// `display: contents` container so render() still returns a single root node (this codebase's
|
|
95
95
|
// convention, e.g. bs-input.tsx) without that wrapper affecting layout at all.
|
|
96
|
-
return (index.h("div", { key: '
|
|
96
|
+
return (index.h("div", { key: '34d31ff7c612fa135b6dc14b757d66d4b00f99e4', class: "bs-navigation-drawer-item__root" }, index.h("button", { key: '08e244c8ada605dc7705df5b1d45ebce80165f3e', type: "button", part: "item", class: rowClasses, "aria-expanded": this.expandable ? String(this.expanded) : undefined, "aria-label": this.ariaLabel ?? undefined, onClick: this.onClick }, !this.nested && (index.h("span", { key: 'a6e09b5edb35ec8f76ed6d6a78ddd1eb141f87b6', part: "icon", class: `bs-navigation-drawer-item__icon ${this.hasIcon ? 'bs-navigation-drawer-item__icon--has-content' : ''}` }, index.h("slot", { key: '851289379dacae965639ed7963d800c8a92472c2', name: "icon", onSlotchange: this.onIconSlotchange }))), index.h("span", { key: '4b46c2ca6a5bf4d5e777ae72c9ea826ffcffea02', part: "label", class: "bs-navigation-drawer-item__label" }, index.h("slot", { key: 'df214a2bcea435a678c18d0f461d9011c767a995' })), this.expandable && (index.h("span", { key: 'd12e91043617e96567acd5497a53dd98c612c6af', part: "chevron", class: `bs-navigation-drawer-item__chevron ${this.expanded ? 'bs-navigation-drawer-item__chevron--expanded' : ''}` }, index.h(ChevronDownIcon, { key: 'c278774ae33cf86e7d1b3f70f4e99b8c7afc4d68' })))), this.expandable && (index.h("span", { key: '85081ed698d078b94225c7b984eaee1edfd22b49', part: "children", class: "bs-navigation-drawer-item__children" }, index.h("slot", { key: '85c22788467a67f18b9cca6018c179a28d06fa19', name: "children" })))));
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
99
|
// 16x16 native viewBox (not a 24x24 icon scaled down) -- authored directly at display size, per
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
|
-
const bsNavigationDrawerCss = () => `:host{display:block;--bs-navigation-drawer-bg:var(--bs-surface-base);--bs-navigation-drawer-border:var(--bs-border-neutral-container);--bs-navigation-drawer-padding-y:var(--bs-spacing-300);--bs-navigation-drawer-padding-left:var(--bs-spacing-300);--bs-navigation-drawer-padding-right:var(--bs-spacing-200);--bs-navigation-drawer-gap:var(--bs-spacing-300);--bs-navigation-drawer-width:280px;--bs-navigation-drawer-title-font-family:var(--bs-typography-font-family-heading);--bs-navigation-drawer-title-font-weight:var(--bs-font-weight-bold);--bs-navigation-drawer-title-font-size:var(--bs-font-size-md);--bs-navigation-drawer-title-line-height:var(--bs-line-height-heading-h6);--bs-navigation-drawer-title-color:var(--bs-text-default);--bs-navigation-drawer-collapse-size:48px;--bs-navigation-drawer-collapse-radius:var(--bs-border-radius-100);--bs-navigation-drawer-collapse-hover:var(--bs-color-neutral-container);--bs-navigation-drawer-collapse-pressed:var(--bs-color-neutral-container-pressed);--bs-navigation-drawer-collapse-icon:var(--bs-icon-default);--bs-navigation-drawer-items-gap:var(--bs-spacing-100);--bs-navigation-drawer-collapsed-width:96px;--bs-navigation-drawer-search-trigger-size:44px;--bs-navigation-drawer-search-trigger-bg:var(--bs-color-neutral-container);--bs-navigation-drawer-search-trigger-border:var(--bs-border-neutral-container);--bs-navigation-drawer-search-trigger-icon:var(--bs-icon-default)}.bs-navigation-drawer{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--bs-navigation-drawer-gap);width:var(--bs-navigation-drawer-width);height:100%;background:var(--bs-navigation-drawer-bg);border-right:1px solid var(--bs-navigation-drawer-border);padding:var(--bs-navigation-drawer-padding-y) var(--bs-navigation-drawer-padding-right) var(--bs-navigation-drawer-padding-y) var(--bs-navigation-drawer-padding-left);font-family:inherit;transition:width var(--bs-duration-fast) var(--bs-easing-standard), padding var(--bs-duration-fast) var(--bs-easing-standard)}:host([collapsed]) .bs-navigation-drawer{width:var(--bs-navigation-drawer-collapsed-width);padding-left:0;padding-right:0;align-items:center}.bs-navigation-drawer__logo{flex-shrink:0;display:flex;align-items:center}.bs-navigation-drawer__logo--mark{display:none}:host([collapsed]) .bs-navigation-drawer__logo--full{display:none}:host([collapsed]) .bs-navigation-drawer__logo--mark{display:flex}.bs-navigation-drawer__title-row{flex-shrink:0;display:flex;align-items:center;gap:var(--bs-navigation-drawer-gap)}.bs-navigation-drawer__title{flex:1;min-width:0;font-family:var(--bs-navigation-drawer-title-font-family);font-weight:var(--bs-navigation-drawer-title-font-weight);font-size:var(--bs-navigation-drawer-title-font-size);line-height:calc(var(--bs-navigation-drawer-title-line-height) * 1px);color:var(--bs-navigation-drawer-title-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([collapsed]) .bs-navigation-drawer__title{display:none}.bs-navigation-drawer__collapse{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bs-navigation-drawer-collapse-size);height:var(--bs-navigation-drawer-collapse-size);border:none;border-radius:var(--bs-navigation-drawer-collapse-radius);padding:0;background:transparent;color:var(--bs-navigation-drawer-collapse-icon);cursor:pointer;transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-navigation-drawer__collapse svg{width:24px;height:24px}.bs-navigation-drawer__collapse:hover{background:var(--bs-navigation-drawer-collapse-hover)}.bs-navigation-drawer__collapse:active{background:var(--bs-navigation-drawer-collapse-pressed)}.bs-navigation-drawer__collapse:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}.bs-navigation-drawer__search{flex-shrink:0;width:100%}:host([collapsed]) .bs-navigation-drawer__search{display:none}.bs-navigation-drawer__search-trigger{display:none;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bs-navigation-drawer-search-trigger-size);height:var(--bs-navigation-drawer-search-trigger-size);border:1px solid var(--bs-navigation-drawer-search-trigger-border);border-radius:var(--bs-navigation-drawer-collapse-radius);background:var(--bs-navigation-drawer-search-trigger-bg);color:var(--bs-navigation-drawer-search-trigger-icon);cursor:pointer;transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-navigation-drawer__search-trigger svg{width:24px;height:24px}.bs-navigation-drawer__search-trigger:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}:host([collapsed]) .bs-navigation-drawer__search-trigger{display:inline-flex}.bs-navigation-drawer__items{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--bs-navigation-drawer-items-gap);scrollbar-width:none}.bs-navigation-drawer__items::-webkit-scrollbar{display:none}
|
|
5
|
+
const bsNavigationDrawerCss = () => `:host{display:block;--bs-navigation-drawer-bg:var(--bs-surface-base);--bs-navigation-drawer-border:var(--bs-border-neutral-container);--bs-navigation-drawer-padding-y:var(--bs-spacing-300);--bs-navigation-drawer-padding-left:var(--bs-spacing-300);--bs-navigation-drawer-padding-right:var(--bs-spacing-200);--bs-navigation-drawer-gap:var(--bs-spacing-300);--bs-navigation-drawer-width:280px;--bs-navigation-drawer-title-font-family:var(--bs-typography-font-family-heading);--bs-navigation-drawer-title-font-weight:var(--bs-font-weight-bold);--bs-navigation-drawer-title-font-size:var(--bs-font-size-md);--bs-navigation-drawer-title-line-height:var(--bs-line-height-heading-h6);--bs-navigation-drawer-title-color:var(--bs-text-default);--bs-navigation-drawer-collapse-size:48px;--bs-navigation-drawer-collapse-radius:var(--bs-border-radius-100);--bs-navigation-drawer-collapse-hover:var(--bs-color-neutral-container);--bs-navigation-drawer-collapse-pressed:var(--bs-color-neutral-container-pressed);--bs-navigation-drawer-collapse-icon:var(--bs-icon-default);--bs-navigation-drawer-items-gap:var(--bs-spacing-100);--bs-navigation-drawer-collapsed-width:96px;--bs-navigation-drawer-search-trigger-size:44px;--bs-navigation-drawer-search-trigger-bg:var(--bs-color-neutral-container);--bs-navigation-drawer-search-trigger-border:var(--bs-border-neutral-container);--bs-navigation-drawer-search-trigger-icon:var(--bs-icon-default);--bs-navigation-drawer-backdrop:var(--bs-surface-overlay-level-2);--bs-navigation-drawer-overlay-shadow:var(--bs-shadow-lg);--bs-navigation-drawer-overlay-z-index:var(--bs-z-index-modal);--bs-navigation-drawer-overlay-duration:var(--bs-duration-default)}.bs-navigation-drawer{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--bs-navigation-drawer-gap);width:var(--bs-navigation-drawer-width);height:100%;background:var(--bs-navigation-drawer-bg);border-right:1px solid var(--bs-navigation-drawer-border);padding:var(--bs-navigation-drawer-padding-y) var(--bs-navigation-drawer-padding-right) var(--bs-navigation-drawer-padding-y) var(--bs-navigation-drawer-padding-left);font-family:inherit;transition:width var(--bs-duration-fast) var(--bs-easing-standard), padding var(--bs-duration-fast) var(--bs-easing-standard)}:host([collapsed]) .bs-navigation-drawer{width:var(--bs-navigation-drawer-collapsed-width);padding-left:0;padding-right:0;align-items:center}.bs-navigation-drawer__logo{flex-shrink:0;display:flex;align-items:center}.bs-navigation-drawer__logo--mark{display:none}:host([collapsed]) .bs-navigation-drawer__logo--full{display:none}:host([collapsed]) .bs-navigation-drawer__logo--mark{display:flex}.bs-navigation-drawer__title-row{flex-shrink:0;display:flex;align-items:center;gap:var(--bs-navigation-drawer-gap)}.bs-navigation-drawer__title{flex:1;min-width:0;font-family:var(--bs-navigation-drawer-title-font-family);font-weight:var(--bs-navigation-drawer-title-font-weight);font-size:var(--bs-navigation-drawer-title-font-size);line-height:calc(var(--bs-navigation-drawer-title-line-height) * 1px);color:var(--bs-navigation-drawer-title-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([collapsed]) .bs-navigation-drawer__title{display:none}.bs-navigation-drawer__collapse{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bs-navigation-drawer-collapse-size);height:var(--bs-navigation-drawer-collapse-size);border:none;border-radius:var(--bs-navigation-drawer-collapse-radius);padding:0;background:transparent;color:var(--bs-navigation-drawer-collapse-icon);cursor:pointer;transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-navigation-drawer__collapse svg{width:24px;height:24px}.bs-navigation-drawer__collapse:hover{background:var(--bs-navigation-drawer-collapse-hover)}.bs-navigation-drawer__collapse:active{background:var(--bs-navigation-drawer-collapse-pressed)}.bs-navigation-drawer__collapse:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}.bs-navigation-drawer__search{flex-shrink:0;width:100%}:host([collapsed]) .bs-navigation-drawer__search{display:none}.bs-navigation-drawer__search-trigger{display:none;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bs-navigation-drawer-search-trigger-size);height:var(--bs-navigation-drawer-search-trigger-size);border:1px solid var(--bs-navigation-drawer-search-trigger-border);border-radius:var(--bs-navigation-drawer-collapse-radius);background:var(--bs-navigation-drawer-search-trigger-bg);color:var(--bs-navigation-drawer-search-trigger-icon);cursor:pointer;transition:background-color var(--bs-duration-fast) var(--bs-easing-standard)}.bs-navigation-drawer__search-trigger svg{width:24px;height:24px}.bs-navigation-drawer__search-trigger:focus-visible{outline:2px solid var(--bs-border-neutral-focus);outline-offset:2px}:host([collapsed]) .bs-navigation-drawer__search-trigger{display:inline-flex}.bs-navigation-drawer__items{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--bs-navigation-drawer-items-gap);scrollbar-width:none}.bs-navigation-drawer__items::-webkit-scrollbar{display:none}.bs-navigation-drawer:focus{outline:none;}:host([data-overlay]) .bs-navigation-drawer{position:fixed;inset-block:0;inset-inline-start:0;z-index:calc(var(--bs-navigation-drawer-overlay-z-index) + 1);width:var(--bs-navigation-drawer-width);max-width:100vw;padding:var(--bs-navigation-drawer-padding-y) var(--bs-navigation-drawer-padding-right) var(--bs-navigation-drawer-padding-y) var(--bs-navigation-drawer-padding-left);align-items:stretch;box-shadow:var(--bs-navigation-drawer-overlay-shadow);transform:translateX(-100%);visibility:hidden;transition:transform var(--bs-navigation-drawer-overlay-duration) var(--bs-easing-standard), visibility 0s linear var(--bs-navigation-drawer-overlay-duration)}:host([data-overlay]:dir(rtl)) .bs-navigation-drawer{transform:translateX(100%)}:host([data-overlay]) .bs-navigation-drawer.bs-navigation-drawer--open{transform:none;visibility:visible;transition:transform var(--bs-navigation-drawer-overlay-duration) var(--bs-easing-standard), visibility 0s}:host([data-overlay]) .bs-navigation-drawer__logo--full{display:flex}:host([data-overlay]) .bs-navigation-drawer__logo--mark{display:none}:host([data-overlay]) .bs-navigation-drawer__title{display:block}:host([data-overlay]) .bs-navigation-drawer__search{display:block}:host([data-overlay]) .bs-navigation-drawer__search-trigger,:host([data-overlay]) .bs-navigation-drawer__collapse{display:none}.bs-navigation-drawer__backdrop{position:fixed;inset:0;z-index:var(--bs-navigation-drawer-overlay-z-index);background:var(--bs-navigation-drawer-backdrop);opacity:0;visibility:hidden;transition:opacity var(--bs-navigation-drawer-overlay-duration) var(--bs-easing-standard), visibility 0s linear var(--bs-navigation-drawer-overlay-duration)}:host([open]) .bs-navigation-drawer__backdrop{opacity:1;visibility:visible;transition:opacity var(--bs-navigation-drawer-overlay-duration) var(--bs-easing-standard), visibility 0s}@media (prefers-reduced-motion: reduce){:host([data-overlay]) .bs-navigation-drawer,.bs-navigation-drawer__backdrop{transition:none}}@media (forced-colors: active){:host([data-overlay]) .bs-navigation-drawer{border:1px solid CanvasText}}`;
|
|
6
6
|
|
|
7
7
|
const BsNavigationDrawer = class {
|
|
8
8
|
constructor(hostRef) {
|
|
9
9
|
index.registerInstance(this, hostRef);
|
|
10
10
|
this.bsCollapse = index.createEvent(this, "bsCollapse");
|
|
11
11
|
this.bsSearchClick = index.createEvent(this, "bsSearchClick");
|
|
12
|
+
this.bsClose = index.createEvent(this, "bsClose");
|
|
12
13
|
}
|
|
13
14
|
get el() { return index.getElement(this); }
|
|
14
15
|
/** Heading text shown next to the collapse toggle, and used as the `<nav>` landmark's
|
|
@@ -46,11 +47,112 @@ const BsNavigationDrawer = class {
|
|
|
46
47
|
* pairing works too: a header that keeps its own logo (`alignment="default"`) paired with this
|
|
47
48
|
* drawer set to `showLogo={false}`, so the brand mark only ever appears once. */
|
|
48
49
|
showLogo = true;
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
/** Small screens only (768px and below): whether the off-canvas overlay is shown. Mutable and
|
|
51
|
+
* reflected -- the drawer sets it back to `false` itself when the user dismisses it (Escape or
|
|
52
|
+
* the backdrop), and emits `bsClose`. Ignored on wider screens, where the drawer is always in
|
|
53
|
+
* the page flow. There is no built-in trigger: set this from your own button. */
|
|
54
|
+
open = false;
|
|
55
|
+
/** Fires when the user dismisses the overlay (Escape, or a click on the backdrop), after `open`
|
|
56
|
+
* has been set back to `false`. Does not fire when you set `open = false` yourself. */
|
|
57
|
+
bsClose;
|
|
58
|
+
/** Whether the viewport is in the small-screen range (<= 768px), tracked with `matchMedia`. */
|
|
59
|
+
mobile = false;
|
|
60
|
+
mediaQuery;
|
|
61
|
+
focusPending = false;
|
|
62
|
+
navRef;
|
|
63
|
+
previouslyFocused;
|
|
64
|
+
bodyOverflowBefore;
|
|
65
|
+
get overlayOpen() {
|
|
66
|
+
return this.mobile && this.open;
|
|
67
|
+
}
|
|
68
|
+
connectedCallback() {
|
|
69
|
+
this.mediaQuery = window.matchMedia?.('(max-width: 768px)');
|
|
70
|
+
if (this.mediaQuery) {
|
|
71
|
+
this.mobile = this.mediaQuery.matches;
|
|
72
|
+
this.mediaQuery.addEventListener('change', this.onMediaChange);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
disconnectedCallback() {
|
|
76
|
+
this.mediaQuery?.removeEventListener('change', this.onMediaChange);
|
|
77
|
+
this.unlockScroll();
|
|
78
|
+
}
|
|
79
|
+
onMediaChange = (ev) => {
|
|
80
|
+
this.mobile = ev.matches;
|
|
81
|
+
};
|
|
82
|
+
onCollapsedChange() {
|
|
83
|
+
this.syncItems();
|
|
84
|
+
}
|
|
85
|
+
onMobileChange() {
|
|
86
|
+
this.syncItems();
|
|
87
|
+
this.applyOverlayState();
|
|
88
|
+
}
|
|
89
|
+
onOpenChange() {
|
|
90
|
+
this.applyOverlayState();
|
|
51
91
|
}
|
|
52
92
|
componentDidLoad() {
|
|
53
|
-
this.
|
|
93
|
+
this.syncItems();
|
|
94
|
+
this.applyOverlayState();
|
|
95
|
+
this.flushFocus();
|
|
96
|
+
}
|
|
97
|
+
componentDidRender() {
|
|
98
|
+
this.flushFocus();
|
|
99
|
+
}
|
|
100
|
+
/** Focus is moved only after the render that makes the panel visible -- focusing earlier races the
|
|
101
|
+
* re-render (the panel is still `visibility: hidden`), and a hidden element can't take focus. */
|
|
102
|
+
flushFocus() {
|
|
103
|
+
if (this.focusPending && this.overlayOpen) {
|
|
104
|
+
this.focusPending = false;
|
|
105
|
+
requestAnimationFrame(() => this.navRef?.focus());
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/** In the small-screen overlay the items always use their expanded layout -- the collapsed
|
|
109
|
+
* (icon-above-caption) layout is for the desktop rail, and would clip labels in a full-width
|
|
110
|
+
* panel and hide nested items. */
|
|
111
|
+
syncItems() {
|
|
112
|
+
this.syncItemsCollapsed(this.mobile ? false : this.collapsed);
|
|
113
|
+
}
|
|
114
|
+
/** Scroll lock, focus entry and focus return for the overlay, mirroring `bs-dialog`: the focus
|
|
115
|
+
* move is deferred a frame because focusing right after the panel becomes visible does not
|
|
116
|
+
* reliably land. */
|
|
117
|
+
applyOverlayState() {
|
|
118
|
+
if (this.overlayOpen) {
|
|
119
|
+
if (this.bodyOverflowBefore === undefined) {
|
|
120
|
+
this.bodyOverflowBefore = document.body.style.overflow;
|
|
121
|
+
document.body.style.overflow = 'hidden';
|
|
122
|
+
}
|
|
123
|
+
if (!this.previouslyFocused) {
|
|
124
|
+
this.previouslyFocused = document.activeElement;
|
|
125
|
+
}
|
|
126
|
+
this.focusPending = true;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this.focusPending = false;
|
|
130
|
+
this.unlockScroll();
|
|
131
|
+
if (this.previouslyFocused?.isConnected)
|
|
132
|
+
this.previouslyFocused.focus();
|
|
133
|
+
this.previouslyFocused = undefined;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
unlockScroll() {
|
|
137
|
+
if (this.bodyOverflowBefore !== undefined) {
|
|
138
|
+
document.body.style.overflow = this.bodyOverflowBefore;
|
|
139
|
+
this.bodyOverflowBefore = undefined;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
requestClose = () => {
|
|
143
|
+
this.open = false;
|
|
144
|
+
this.bsClose.emit();
|
|
145
|
+
};
|
|
146
|
+
onDocumentKeydown(ev) {
|
|
147
|
+
if (this.overlayOpen && ev.key === 'Escape')
|
|
148
|
+
this.requestClose();
|
|
149
|
+
}
|
|
150
|
+
/** Keeps focus inside the open overlay: focus that lands anywhere outside this component is
|
|
151
|
+
* pulled back in. `composedPath()` is used so this works across shadow-DOM boundaries (same
|
|
152
|
+
* approach as `bs-dialog`). */
|
|
153
|
+
onDocumentFocusIn(ev) {
|
|
154
|
+
if (this.overlayOpen && !ev.composedPath().includes(this.el))
|
|
155
|
+
this.navRef?.focus();
|
|
54
156
|
}
|
|
55
157
|
/** Keeps every direct-child `bs-navigation-drawer-item`'s `collapsed` prop in sync with this
|
|
56
158
|
* component's own -- same direct-children-prop-sync approach `bs-tabs` uses for `selected`
|
|
@@ -71,11 +173,22 @@ const BsNavigationDrawer = class {
|
|
|
71
173
|
this.bsSearchClick.emit();
|
|
72
174
|
};
|
|
73
175
|
render() {
|
|
74
|
-
|
|
176
|
+
const classes = ['bs-navigation-drawer', this.mobile ? 'bs-navigation-drawer--overlay' : '', this.overlayOpen ? 'bs-navigation-drawer--open' : ''].filter(Boolean).join(' ');
|
|
177
|
+
return (index.h(index.Host, { key: '94c3fbfb2d9826979f2f90ec0c9571aadc484450', "data-overlay": this.mobile ? '' : undefined }, this.mobile && index.h("div", { key: 'cc8b62b02a561dfbb0a15918e4bbbf241919ea7d', part: "backdrop", class: "bs-navigation-drawer__backdrop", onClick: this.requestClose }), index.h("nav", { key: 'ad3e970438fca27636992cc434584bfae7888895', ref: el => (this.navRef = el), class: classes, "aria-label": this.heading,
|
|
178
|
+
// Stays a plain <nav> landmark in every state: ARIA does not allow role="dialog" on <nav>
|
|
179
|
+
// (axe: aria-allowed-role). Modality is behavioral -- focus is held inside, the page behind is
|
|
180
|
+
// scrimmed, Escape closes -- rather than announced through aria-modal.
|
|
181
|
+
tabIndex: this.mobile ? -1 : undefined }, this.showLogo && (index.h("div", { key: '41552cc9bc1fd33081119b6b6a475e9a81281e97', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--full" }, index.h("bs-logo", { key: '96503cee7e467c535747171f46ab8b36f2d9262a', variant: "full", background: this.logoBackground }))), this.showLogo && (index.h("div", { key: '6b4e91b0296772ea492a2e12c1f81933be1af02b', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--mark" }, index.h("bs-logo", { key: '72c4cae8f25aebef923d2b346ee3a3224a1a4550', variant: "mark", background: this.logoBackground }))), index.h("div", { key: '2fde5f92e629d34321e0e0e6eaf776027614836a', class: "bs-navigation-drawer__title-row" }, index.h("span", { key: 'fde5717eeec30bbade48f574e44f9eec841bab36', part: "title", class: "bs-navigation-drawer__title" }, this.heading), this.collapsible && (index.h("button", { key: '59d514aec296c5b4eb459de259aa29d77a435ecf', type: "button", part: "collapse", class: "bs-navigation-drawer__collapse", "aria-label": this.collapsed ? 'Expand' : 'Collapse', "aria-pressed": this.collapsed ? 'true' : 'false', onClick: this.onCollapseClick }, index.h(CaretLeftIcon, { key: 'a992c1fcaa3e143ee9f1469958eeab12e03bce03' })))), index.h("div", { key: '1a74885abe2e50b3a6eccd7d4cacca4582dc5fa9', part: "search", class: "bs-navigation-drawer__search" }, index.h("slot", { key: 'ac98f9ca62a289e21fcbf0f005c6c0f7e02d9967', name: "search" })), index.h("button", { key: 'c7c50e5cf2c81ec8445a557505faf2ea40add094', type: "button", part: "search-trigger", class: "bs-navigation-drawer__search-trigger", "aria-label": "Search", onClick: this.onSearchTriggerClick }, index.h(SearchIcon, { key: '538bcfc474036d2c79fe821011490bf7cbd4d018' })), index.h("div", { key: '1a7aa824a99823b2d06309c5192a200afe378a7b', part: "items", class: "bs-navigation-drawer__items" }, index.h("slot", { key: '1a79d4f0e809b16a9d19efb06d36052c0539bba2' })))));
|
|
75
182
|
}
|
|
76
183
|
static get watchers() { return {
|
|
77
184
|
"collapsed": [{
|
|
78
185
|
"onCollapsedChange": 0
|
|
186
|
+
}],
|
|
187
|
+
"mobile": [{
|
|
188
|
+
"onMobileChange": 0
|
|
189
|
+
}],
|
|
190
|
+
"open": [{
|
|
191
|
+
"onOpenChange": 0
|
|
79
192
|
}]
|
|
80
193
|
}; }
|
|
81
194
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
|
-
const bsNavigationHeaderCss = () => `:host{display:block;--bs-navigation-header-bg:var(--bs-surface-base);--bs-navigation-header-border:var(--bs-border-default);--bs-navigation-header-padding-top:var(--bs-spacing-200);--bs-navigation-header-padding-bottom:var(--bs-spacing-100);--bs-navigation-header-padding-x:var(--bs-margin-fluid);--bs-navigation-header-max-width:
|
|
5
|
+
const bsNavigationHeaderCss = () => `:host{display:block;--bs-navigation-header-bg:var(--bs-surface-base);--bs-navigation-header-border:var(--bs-border-default);--bs-navigation-header-padding-top:var(--bs-spacing-200);--bs-navigation-header-padding-bottom:var(--bs-spacing-100);--bs-navigation-header-padding-x:var(--bs-margin-fluid);--bs-navigation-header-max-width:none;--bs-navigation-header-item-gap:calc(var(--bs-navigation-header-gap) * 1px);--bs-navigation-header-slot-gap:var(--bs-spacing-100);--bs-navigation-header-skip-link-bg:var(--bs-surface-action);--bs-navigation-header-skip-link-color:var(--bs-text-inverse)}.bs-navigation-header{box-sizing:border-box;position:relative;display:flex;align-items:center;width:100%;max-width:var(--bs-navigation-header-max-width);background:var(--bs-navigation-header-bg);border-bottom:1px solid var(--bs-navigation-header-border);padding:var(--bs-navigation-header-padding-top) var(--bs-navigation-header-padding-x) var(--bs-navigation-header-padding-bottom)}.bs-navigation-header__skip-link{position:absolute;top:var(--bs-spacing-100);left:-9999px;z-index:1;padding:var(--bs-spacing-100) var(--bs-spacing-200);border-radius:var(--bs-border-radius-100);background:var(--bs-navigation-header-skip-link-bg);color:var(--bs-navigation-header-skip-link-color);font-size:var(--bs-font-size-sm);text-decoration:underline}.bs-navigation-header__skip-link:focus{left:var(--bs-navigation-header-padding-x)}.bs-navigation-header--default,.bs-navigation-header--with-navigation-drawer{gap:var(--bs-navigation-header-item-gap)}.bs-navigation-header__logo{flex-shrink:0;display:flex;align-items:center}.bs-navigation-header--center .bs-navigation-header__logo{flex:1 0 0;min-width:0}.bs-navigation-header__left{display:flex;align-items:center;gap:var(--bs-navigation-header-slot-gap);flex-shrink:0}.bs-navigation-header__right{display:flex;align-items:center;justify-content:flex-end;gap:var(--bs-navigation-header-slot-gap);flex:1 0 0;min-width:0}@media (max-width: 768px){.bs-navigation-header--default,.bs-navigation-header--with-navigation-drawer{flex-wrap:wrap;row-gap:var(--bs-navigation-header-slot-gap)}.bs-navigation-header--default .bs-navigation-header__left,.bs-navigation-header--with-navigation-drawer .bs-navigation-header__left{flex:1 1 0%;min-width:0}.bs-navigation-header--default .bs-navigation-header__right,.bs-navigation-header--with-navigation-drawer .bs-navigation-header__right{flex:0 0 auto;margin-inline-start:auto;justify-content:flex-end}}`;
|
|
6
6
|
|
|
7
7
|
const BsNavigationHeader = class {
|
|
8
8
|
constructor(hostRef) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
5
|
const bsPaginationCss = () => `:host{display:inline-block;--bs-pagination-gap:var(--bs-spacing-50);--bs-pagination-size:var(--bs-spacing-550);--bs-pagination-radius:var(--bs-border-radius-100);--bs-pagination-font-size:var(--bs-font-size-md);--bs-pagination-line-height:var(--bs-line-height-body-md);--bs-pagination-color:var(--bs-text-secondary);--bs-pagination-color-disabled:var(--bs-icon-disabled);--bs-pagination-hover:var(--bs-color-neutral-container-hover);--bs-pagination-pressed:var(--bs-color-neutral-container-pressed);--bs-pagination-current-bg:var(--bs-color-primary-default);--bs-pagination-current-bg-hover:var(--bs-color-primary-hover);--bs-pagination-current-bg-pressed:var(--bs-color-primary-pressed);--bs-pagination-current-color:var(--bs-text-on-action);--bs-pagination-focus-ring-color:var(--bs-border-neutral-focus)}.bs-pagination__list{display:flex;align-items:center;flex-wrap:wrap;margin:0;padding:0;list-style:none;gap:var(--bs-pagination-gap);font-family:inherit}.bs-pagination__item{display:flex}.bs-pagination__control{display:flex;align-items:center;justify-content:center;width:var(--bs-pagination-size);height:var(--bs-pagination-size);padding:0;border:none;border-radius:var(--bs-pagination-radius);background:transparent;color:var(--bs-pagination-color);font-family:inherit;font-size:var(--bs-pagination-font-size);line-height:calc(var(--bs-pagination-line-height) * 1px);cursor:pointer}.bs-pagination__control svg{width:24px;height:24px}.bs-pagination__control:disabled{color:var(--bs-pagination-color-disabled);cursor:not-allowed}.bs-pagination__page:not(:disabled):hover{background:var(--bs-pagination-hover)}.bs-pagination__page:not(:disabled):active{background:var(--bs-pagination-pressed)}.bs-pagination__control:focus-visible{outline:2px solid var(--bs-pagination-focus-ring-color);outline-offset:2px}.bs-pagination__page--current{background:var(--bs-pagination-current-bg);color:var(--bs-pagination-current-color)}.bs-pagination__page--current:hover{background:var(--bs-pagination-current-bg-hover)}.bs-pagination__page--current:active{background:var(--bs-pagination-current-bg-pressed)}.bs-pagination__ellipsis{display:flex;align-items:center;justify-content:center;width:var(--bs-pagination-size);height:var(--bs-pagination-size);color:var(--bs-pagination-color)}.bs-pagination__ellipsis svg{width:24px;height:24px}`;
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
5
|
const bsProgressLinearCss = () => `:host{display:flex;--bs-progress-linear-gap:var(--bs-spacing-100);--bs-progress-linear-track:var(--bs-surface-container);--bs-progress-linear-fill:var(--bs-color-primary-default);--bs-progress-linear-radius:120px;--bs-progress-linear-height-sm:4px;--bs-progress-linear-height-lg:8px;--bs-progress-linear-label-color:var(--bs-text-default);--bs-progress-linear-label-font-size:var(--bs-fontsize-body-md);--bs-progress-linear-label-line-height:var(--bs-line-height-body-md);--bs-progress-linear-transition-duration:0.3s;--bs-progress-linear-slide-duration:1.6s}.bs-progress-linear{display:flex;flex-direction:column;width:100%;gap:var(--bs-progress-linear-gap);font-family:inherit}.bs-progress-linear__track{position:relative;width:100%;border-radius:var(--bs-progress-linear-radius);background:var(--bs-progress-linear-track);overflow:hidden}.bs-progress-linear__track--small{height:var(--bs-progress-linear-height-sm)}.bs-progress-linear__track--large{height:var(--bs-progress-linear-height-lg)}.bs-progress-linear__fill{height:100%;border-radius:var(--bs-progress-linear-radius);background:var(--bs-progress-linear-fill);transition:width var(--bs-progress-linear-transition-duration) ease}.bs-progress-linear__fill--indeterminate{position:absolute;top:0;left:0;width:24%;min-width:80px;background:linear-gradient(90deg, transparent 0%, var(--bs-progress-linear-fill) 50%, transparent 100%);animation:bs-progress-linear-slide var(--bs-progress-linear-slide-duration) ease-in-out infinite}@keyframes bs-progress-linear-slide{from{transform:translateX(-100%)}to{transform:translateX(250%)}}@media (prefers-reduced-motion: reduce){.bs-progress-linear__fill--indeterminate{animation-duration:calc(var(--bs-progress-linear-slide-duration) * 4)}}.bs-progress-linear__label{color:var(--bs-progress-linear-label-color);font-size:var(--bs-progress-linear-label-font-size);line-height:calc(var(--bs-progress-linear-label-line-height) * 1px)}`;
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
5
|
const bsProgressCss = () => `:host{display:inline-flex;--bs-progress-gap:var(--bs-spacing-100);--bs-progress-track:var(--bs-neutral-200);--bs-progress-arc:var(--bs-color-primary-default);--bs-progress-label-color:var(--bs-color-primary-default);--bs-progress-label-font-size-sm:var(--bs-fontsize-caption-md);--bs-progress-label-line-height-sm:var(--bs-line-height-caption-md);--bs-progress-label-font-size-lg:var(--bs-fontsize-body-md);--bs-progress-label-line-height-lg:var(--bs-line-height-body-md);--bs-progress-label-font-weight:var(--bs-font-weight-medium);--bs-progress-spin-duration:1.4s}.bs-progress{display:inline-flex;flex-direction:column;align-items:center;gap:var(--bs-progress-gap);font-family:inherit}.bs-progress__box{position:relative;display:inline-flex}.bs-progress__ring{transform:rotate(-90deg);overflow:visible}.bs-progress__track{stroke:var(--bs-progress-track)}.bs-progress__arc{stroke:var(--bs-progress-arc);transition:stroke-dashoffset 0.3s ease}.bs-progress__spinner{width:100%;height:100%;border-radius:50%;background:conic-gradient(from 0deg, transparent 0deg, var(--bs-progress-arc) var(--bs-progress-spinner-sweep), transparent var(--bs-progress-spinner-sweep));-webkit-mask:radial-gradient( farthest-side, transparent calc(100% - var(--bs-progress-spinner-stroke-width) - 1px), #000 calc(100% - var(--bs-progress-spinner-stroke-width)) );mask:radial-gradient( farthest-side, transparent calc(100% - var(--bs-progress-spinner-stroke-width) - 1px), #000 calc(100% - var(--bs-progress-spinner-stroke-width)) );animation:bs-progress-spin var(--bs-progress-spin-duration) linear infinite}@keyframes bs-progress-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.bs-progress__spinner{animation-duration:calc(var(--bs-progress-spin-duration) * 4)}}.bs-progress__label{color:var(--bs-progress-label-color);font-weight:var(--bs-progress-label-font-weight);text-align:center}.bs-progress__label--small,.bs-progress__label--medium{font-size:var(--bs-progress-label-font-size-sm);line-height:calc(var(--bs-progress-label-line-height-sm) * 1px)}.bs-progress__label--large{font-size:var(--bs-progress-label-font-size-lg);line-height:calc(var(--bs-progress-label-line-height-lg) * 1px)}`;
|
|
6
6
|
|
|
@@ -33,6 +33,11 @@ const BsProgress = class {
|
|
|
33
33
|
* `indeterminate` never shows a label regardless of this prop, since there's no percentage to
|
|
34
34
|
* show. Defaults to `true`. */
|
|
35
35
|
showLabel = true;
|
|
36
|
+
/** Accessible name for the progress bar (e.g. "Uploading report"). Required for assistive tech --
|
|
37
|
+
* a `role="progressbar"` with no name is an axe-core `aria-progressbar-name` violation. Setting
|
|
38
|
+
* `aria-label` on the host doesn't reach the inner element across the shadow boundary, so this
|
|
39
|
+
* prop binds it directly -- same pattern as `bs-button`'s `ariaLabel`. */
|
|
40
|
+
ariaLabel = null;
|
|
36
41
|
get clampedValue() {
|
|
37
42
|
return Math.min(100, Math.max(0, this.value));
|
|
38
43
|
}
|
|
@@ -52,7 +57,7 @@ const BsProgress = class {
|
|
|
52
57
|
const isDeterminate = this.type === 'determinate';
|
|
53
58
|
const value = this.clampedValue;
|
|
54
59
|
const dashOffset = circumference * (1 - value / 100);
|
|
55
|
-
return (index.h("div", { key: '
|
|
60
|
+
return (index.h("div", { key: 'add8dfafdbee4eaa9712c6e2ba6ddff6f8f6c47f', part: "container", class: "bs-progress" }, index.h("div", { key: 'fd89c73aa247fc3770187a45dc4681857e257d4e', class: "bs-progress__box", style: { width: `${diameter}px`, height: `${diameter}px` }, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (index.h("svg", { class: "bs-progress__ring", width: diameter, height: diameter, viewBox: `0 0 ${diameter} ${diameter}` }, index.h("circle", { part: "track", class: "bs-progress__track", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none" }), index.h("circle", { part: "arc", class: "bs-progress__arc", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none", "stroke-linecap": "round", "stroke-dasharray": circumference, "stroke-dashoffset": dashOffset }))) : (
|
|
56
61
|
// Figma's indeterminate ring is a fading "comet tail" (transparent -> solid color),
|
|
57
62
|
// not a flat-colored partial arc -- SVG has no angular/conic gradient primitive, so a
|
|
58
63
|
// CSS conic-gradient (color varying by angle) + a radial-gradient mask (carving the
|
|
@@ -61,7 +66,7 @@ const BsProgress = class {
|
|
|
61
66
|
index.h("div", { part: "arc", class: "bs-progress__spinner", style: {
|
|
62
67
|
'--bs-progress-spinner-stroke-width': `${this.strokeWidth}px`,
|
|
63
68
|
'--bs-progress-spinner-sweep': `${INDETERMINATE_SWEEP_DEGREES}deg`,
|
|
64
|
-
} }))), isDeterminate && this.showLabel && (index.h("span", { key: '
|
|
69
|
+
} }))), isDeterminate && this.showLabel && (index.h("span", { key: '9c86dc195204f28c06e05bf09f823241bf9f3a86', part: "label", class: `bs-progress__label bs-progress__label--${this.size}` }, value, "%"))));
|
|
65
70
|
}
|
|
66
71
|
};
|
|
67
72
|
BsProgress.style = bsProgressCss();
|