@brandsync/wc 1.6.0 → 1.8.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 +1302 -90
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-387ed85f.entry.js → p-002d258d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e35249c4.entry.js → p-03b08508.entry.js} +1 -1
- package/dist/brandsync-wc/{p-db46376b.entry.js → p-051d3064.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c054f493.entry.js → p-05c7de28.entry.js} +1 -1
- package/dist/brandsync-wc/{p-639946e7.entry.js → p-062cfa34.entry.js} +1 -1
- package/dist/brandsync-wc/p-0e39b9cc.entry.js +1 -0
- package/dist/brandsync-wc/{p-9fb8848c.entry.js → p-114d2fd8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ef68f29b.entry.js → p-153da845.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-43617f2e.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-2891d40b.entry.js +1 -0
- package/dist/brandsync-wc/p-29027559.entry.js +1 -0
- package/dist/brandsync-wc/p-2e7a1082.entry.js +1 -0
- package/dist/brandsync-wc/{p-604553a0.entry.js → p-3176d1d3.entry.js} +1 -1
- package/dist/brandsync-wc/p-33e44094.entry.js +1 -0
- package/dist/brandsync-wc/p-360452c2.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-612cf79c.entry.js +1 -0
- package/dist/brandsync-wc/p-61c1a2a3.entry.js +1 -0
- package/dist/brandsync-wc/{p-11224cab.entry.js → p-6331de9c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d03eba2b.entry.js → p-652d4068.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a603a13a.entry.js → p-6bf2f116.entry.js} +1 -1
- package/dist/brandsync-wc/{p-9b72cc12.entry.js → p-70f64b25.entry.js} +1 -1
- package/dist/brandsync-wc/{p-44bfdd4b.entry.js → p-7b00dd36.entry.js} +1 -1
- package/dist/brandsync-wc/p-7c94e6ae.entry.js +1 -0
- package/dist/brandsync-wc/p-835a8dc7.entry.js +1 -0
- package/dist/brandsync-wc/{p-0aca5f0e.entry.js → p-8ee0153b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-bb77098b.entry.js → p-9f65f998.entry.js} +1 -1
- package/dist/brandsync-wc/p-9f8852a0.entry.js +1 -0
- package/dist/brandsync-wc/{p-DuyFft7h.js → p-AgoOSYvW.js} +2 -2
- package/dist/brandsync-wc/{p-a8e2a2b2.entry.js → p-a09e157f.entry.js} +1 -1
- package/dist/brandsync-wc/p-a0d5a620.entry.js +1 -0
- package/dist/brandsync-wc/{p-525504c2.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-57e1dc35.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-fcd4ec60.entry.js → p-bc69a96c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-80cf96ff.entry.js → p-be2c1740.entry.js} +1 -1
- package/dist/brandsync-wc/p-bf53ad52.entry.js +1 -0
- package/dist/brandsync-wc/p-c10d2529.entry.js +1 -0
- package/dist/brandsync-wc/{p-abda1d69.entry.js → p-c4de155c.entry.js} +1 -1
- package/dist/brandsync-wc/p-c7f4c114.entry.js +1 -0
- package/dist/brandsync-wc/{p-52d5f6a9.entry.js → p-cfcf3f0a.entry.js} +1 -1
- package/dist/brandsync-wc/p-de7c946d.entry.js +1 -0
- package/dist/brandsync-wc/{p-a8cdf449.entry.js → p-e9b43754.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c5011746.entry.js → p-ee7da23d.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-f7d47c17.entry.js +1 -0
- package/dist/brandsync-wc/{p-7609221f.entry.js → p-fc58c663.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a3a4d541.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 +2 -2
- package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
- package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
- package/dist/cjs/bs-attachment-list.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +2 -2
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
- 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 +196 -0
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +3 -3
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +3 -3
- package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +2 -2
- package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/bs-checkbox.cjs.entry.js +48 -3
- package/dist/cjs/bs-chip-filter.cjs.entry.js +3 -3
- package/dist/cjs/bs-chip-informative.cjs.entry.js +3 -3
- package/dist/cjs/bs-chip-input.cjs.entry.js +3 -3
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +2 -2
- package/dist/cjs/bs-composer.cjs.entry.js +2 -2
- package/dist/cjs/bs-data-table.cjs.entry.js +4 -4
- package/dist/cjs/bs-dialog.cjs.entry.js +2 -2
- package/dist/cjs/bs-file-upload-item.cjs.entry.js +85 -0
- package/dist/cjs/bs-file-upload.cjs.entry.js +110 -0
- package/dist/cjs/bs-icon-button.cjs.entry.js +22 -3
- package/dist/cjs/bs-inline-tab.cjs.entry.js +7 -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 +2 -2
- 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 +2 -2
- package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-pagination.cjs.entry.js +2 -2
- package/dist/cjs/bs-progress-linear.cjs.entry.js +8 -3
- 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 +2 -2
- package/dist/cjs/bs-source-link.cjs.entry.js +4 -4
- package/dist/cjs/bs-stepper-step.cjs.entry.js +3 -3
- 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 +7 -3
- package/dist/cjs/bs-tabs.cjs.entry.js +51 -2
- package/dist/cjs/bs-toast.cjs.entry.js +2 -2
- 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/collection-manifest.json +3 -0
- package/dist/collection/components/bs-a11y.cmp.test.js +54 -0
- package/dist/collection/components/bs-accordion/bs-accordion.cmp.test.js +5 -0
- package/dist/collection/components/bs-accordion/bs-accordion.css +5 -5
- package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
- package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
- package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
- 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-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.css +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -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.js +16 -3
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
- package/dist/collection/components/bs-card/bs-card.css +4 -0
- package/dist/collection/components/bs-carousel/bs-carousel.cmp.test.js +198 -0
- package/dist/collection/components/bs-carousel/bs-carousel.css +107 -0
- package/dist/collection/components/bs-carousel/bs-carousel.js +531 -0
- package/dist/collection/components/bs-carousel/bs-carousel.stories.js +68 -0
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.css +1 -1
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +3 -3
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
- 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-filter/bs-chip-filter.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.css +4 -4
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.css +5 -5
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
- package/dist/collection/components/bs-composer/bs-composer.js +1 -1
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
- package/dist/collection/components/bs-data-table/bs-data-table.css +1 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
- package/dist/collection/components/bs-dialog/bs-dialog.css +5 -1
- package/dist/collection/components/bs-file-upload/bs-file-upload.cmp.test.js +119 -0
- package/dist/collection/components/bs-file-upload/bs-file-upload.css +139 -0
- package/dist/collection/components/bs-file-upload/bs-file-upload.js +342 -0
- package/dist/collection/components/bs-file-upload/bs-file-upload.stories.js +116 -0
- package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.cmp.test.js +115 -0
- package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.css +154 -0
- package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +329 -0
- package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.stories.js +54 -0
- 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-menu/bs-menu.css +4 -0
- package/dist/collection/components/bs-menu/bs-menu.js +33 -1
- package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
- package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
- package/dist/collection/components/bs-progress/bs-progress.js +27 -2
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.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-snackbar/bs-snackbar.js +1 -1
- package/dist/collection/components/bs-source-link/bs-source-link.css +2 -2
- package/dist/collection/components/bs-source-link/bs-source-link.js +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-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
- 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 +24 -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 +24 -1
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +57 -1
- package/dist/collection/components/bs-toast/bs-toast.js +1 -1
- 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.js +1 -1
- 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.js +1 -1
- package/dist/collection/test/helpers/conventions.js +46 -0
- package/dist/collection/test/helpers/conventions.unit.test.js +38 -0
- 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.d.ts +11 -0
- package/dist/components/bs-carousel.js +1 -0
- 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.d.ts +11 -0
- package/dist/components/bs-file-upload-item.js +1 -0
- package/dist/components/bs-file-upload.d.ts +11 -0
- package/dist/components/bs-file-upload.js +1 -0
- 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-B8eut73c.js → p-BA3c9Rom.js} +1 -1
- package/dist/components/{p-DIezWdNu.js → p-BfEyD6Ku.js} +1 -1
- package/dist/components/p-BkHYJIyj.js +1 -0
- package/dist/components/p-Buly0d5G.js +1 -0
- package/dist/components/p-CpUHnsq9.js +1 -0
- package/dist/components/p-EtXc94lJ.js +1 -0
- 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-wei0Ija2.js +1 -0
- 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 +2 -2
- package/dist/esm/bs-ai-greeting.entry.js +2 -2
- package/dist/esm/bs-ai-thinking.entry.js +2 -2
- package/dist/esm/bs-attachment-list.entry.js +3 -3
- 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 +2 -2
- package/dist/esm/bs-breadcrumb.entry.js +1 -1
- package/dist/esm/bs-breadcrumbs.entry.js +2 -2
- package/dist/esm/bs-button-skeleton.entry.js +2 -2
- 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 +194 -0
- package/dist/esm/bs-chatbot-feedback.entry.js +3 -3
- package/dist/esm/bs-chatbot-header.entry.js +2 -2
- package/dist/esm/bs-chatbot-response-action.entry.js +3 -3
- package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
- package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
- package/dist/esm/bs-checkbox-skeleton.entry.js +2 -2
- package/dist/esm/bs-checkbox.entry.js +48 -3
- package/dist/esm/bs-chip-filter.entry.js +3 -3
- package/dist/esm/bs-chip-informative.entry.js +3 -3
- package/dist/esm/bs-chip-input.entry.js +3 -3
- package/dist/esm/bs-composer-status-banner.entry.js +2 -2
- package/dist/esm/bs-composer.entry.js +2 -2
- package/dist/esm/bs-data-table.entry.js +4 -4
- package/dist/esm/bs-dialog.entry.js +2 -2
- package/dist/esm/bs-file-upload-item.entry.js +83 -0
- package/dist/esm/bs-file-upload.entry.js +108 -0
- package/dist/esm/bs-icon-button.entry.js +22 -3
- package/dist/esm/bs-inline-tab.entry.js +7 -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 +2 -2
- 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 +2 -2
- package/dist/esm/bs-navigation-header.entry.js +2 -2
- package/dist/esm/bs-pagination.entry.js +2 -2
- package/dist/esm/bs-progress-linear.entry.js +8 -3
- 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 +2 -2
- package/dist/esm/bs-source-link.entry.js +4 -4
- package/dist/esm/bs-stepper-step.entry.js +3 -3
- 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 +7 -3
- package/dist/esm/bs-tabs.entry.js +51 -2
- package/dist/esm/bs-toast.entry.js +2 -2
- 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-button/bs-button/bs-button.d.ts +4 -1
- package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +4 -1
- package/dist/types/components/bs-carousel/bs-carousel.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-carousel/bs-carousel.d.ts +101 -0
- package/dist/types/components/bs-carousel/bs-carousel.stories.d.ts +17 -0
- package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +12 -0
- package/dist/types/components/bs-file-upload/bs-file-upload.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-file-upload/bs-file-upload.d.ts +59 -0
- package/dist/types/components/bs-file-upload/bs-file-upload.stories.d.ts +21 -0
- package/dist/types/components/bs-file-upload-item/bs-file-upload-item.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-file-upload-item/bs-file-upload-item.d.ts +58 -0
- package/dist/types/components/bs-file-upload-item/bs-file-upload-item.stories.d.ts +18 -0
- 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-progress/bs-progress.d.ts +5 -0
- package/dist/types/components/bs-progress-linear/bs-progress-linear.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 +4 -0
- package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +4 -0
- package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +7 -0
- package/dist/types/components/forms/forms.stories.d.ts +6 -0
- package/dist/types/components.d.ts +735 -7
- package/dist/types/test/helpers/conventions.d.ts +21 -0
- package/dist/types/test/helpers/conventions.unit.test.d.ts +1 -0
- package/package.json +2 -1
- package/readme.md +14 -0
- package/dist/brandsync-wc/p-00f733ef.entry.js +0 -1
- package/dist/brandsync-wc/p-18c59979.entry.js +0 -1
- package/dist/brandsync-wc/p-3cb58df8.entry.js +0 -1
- package/dist/brandsync-wc/p-3ed5b215.entry.js +0 -1
- package/dist/brandsync-wc/p-413a1ee0.entry.js +0 -1
- package/dist/brandsync-wc/p-512dafc6.entry.js +0 -1
- package/dist/brandsync-wc/p-57609703.entry.js +0 -1
- package/dist/brandsync-wc/p-6bf8a5bd.entry.js +0 -1
- package/dist/brandsync-wc/p-6c769a1d.entry.js +0 -1
- package/dist/brandsync-wc/p-6d0c054b.entry.js +0 -1
- package/dist/brandsync-wc/p-7b9598d9.entry.js +0 -1
- package/dist/brandsync-wc/p-98021881.entry.js +0 -1
- package/dist/brandsync-wc/p-a96856fd.entry.js +0 -1
- package/dist/brandsync-wc/p-bb68e236.entry.js +0 -1
- package/dist/brandsync-wc/p-cfb49342.entry.js +0 -1
- package/dist/brandsync-wc/p-e2ac61c4.entry.js +0 -1
- package/dist/brandsync-wc/p-f714683d.entry.js +0 -1
- package/dist/brandsync-wc/p-fe778b6b.entry.js +0 -1
- package/dist/components/p-3gs695M6.js +0 -1
- package/dist/components/p-BaxFLlKS.js +0 -1
- package/dist/components/p-DKMMCLxx.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
|
|
|
@@ -26,7 +26,7 @@ const BsMenuItem = class {
|
|
|
26
26
|
this.bsSelect.emit();
|
|
27
27
|
};
|
|
28
28
|
render() {
|
|
29
|
-
return (index.h("button", { key: '
|
|
29
|
+
return (index.h("button", { key: '02e1255e64ab0bd0b283927f1321fb5e660c78b6', type: "button", part: "item", role: "menuitem", class: `bs-menu-item ${this.disabled ? 'bs-menu-item--disabled' : ''}`, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.onClick }, index.h("span", { key: 'fb36594dd48bd601a26d9debda9fb1c9bde37f88', part: "icon", class: `bs-menu-item__icon ${this.hasIcon ? 'bs-menu-item__icon--has-content' : ''}` }, index.h("slot", { key: '19049f5f1f79e6136cd9cc8bcb3669ff97d79c18', name: "icon", onSlotchange: this.onIconSlotchange })), index.h("span", { key: '6ac351a3d3a07bea5bbb5f69bd58c1a7189283fe', part: "label", class: "bs-menu-item__label" }, index.h("slot", { key: '04215578eb545d824c090cb72f1e493474dca409' }))));
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
BsMenuItem.style = bsMenuItemCss();
|
|
@@ -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: 'ff4a72a5d5c8b37fa92ff244398153ca81b7f864', class: "bs-navigation-drawer-item__root" }, index.h("button", { key: 'f8c1d1e9c72aba5b6012f4f9d7fdc5956b919dff', 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: 'cf46152a1d7e0f4783a3ee29fd9eb7ae2a566c68', part: "icon", class: `bs-navigation-drawer-item__icon ${this.hasIcon ? 'bs-navigation-drawer-item__icon--has-content' : ''}` }, index.h("slot", { key: '32a1ea999456bf584bebf03e73aab3e7c01281cc', name: "icon", onSlotchange: this.onIconSlotchange }))), index.h("span", { key: '496a7d21f7a3878bd58fd4bdbb978b3bde40f588', part: "label", class: "bs-navigation-drawer-item__label" }, index.h("slot", { key: '3b1d65cd36d19c3714174a3a05a1b68ec3910042' })), this.expandable && (index.h("span", { key: '041b8fc587482288c4adf7b023edc7b7057a2fda', part: "chevron", class: `bs-navigation-drawer-item__chevron ${this.expanded ? 'bs-navigation-drawer-item__chevron--expanded' : ''}` }, index.h(ChevronDownIcon, { key: '0957e9218a1360b35726ee346e1e3718eb1b3eff' })))), this.expandable && (index.h("span", { key: 'df4d3384410c6eaffd7e42aa17380740710db0ad', part: "children", class: "bs-navigation-drawer-item__children" }, index.h("slot", { key: '273844338141f5429aa7b53f55a06fca4293fa2a', name: "children" })))));
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
99
|
// 16x16 native viewBox (not a 24x24 icon scaled down) -- authored directly at display size, per
|
|
@@ -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 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}@media (max-width: 768px){.bs-navigation-drawer{width:var(--bs-navigation-drawer-collapsed-width);padding-left:0;padding-right:0;align-items:center}.bs-navigation-drawer__logo--full{display:none}.bs-navigation-drawer__logo--mark{display:flex}.bs-navigation-drawer__title{display:none}.bs-navigation-drawer__search{display:none}.bs-navigation-drawer__search-trigger{display:inline-flex}}`;
|
|
6
6
|
|
|
@@ -71,7 +71,7 @@ const BsNavigationDrawer = class {
|
|
|
71
71
|
this.bsSearchClick.emit();
|
|
72
72
|
};
|
|
73
73
|
render() {
|
|
74
|
-
return (index.h("nav", { key: '
|
|
74
|
+
return (index.h("nav", { key: '8be5fb4e45d6919408ff7057b963c2d95281b470', class: "bs-navigation-drawer", "aria-label": this.heading }, this.showLogo && (index.h("div", { key: 'f66ec1272c4c226d1a67fb7321b1247c3be54fb1', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--full" }, index.h("bs-logo", { key: '88cddd1d8696f895b33dd141bc2f5bfd3bd260b4', variant: "full", background: this.logoBackground }))), this.showLogo && (index.h("div", { key: '89b4efebeac6b934cbdd6cf3d25caaf5a36c86e8', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--mark" }, index.h("bs-logo", { key: '4f9ef53f8a02d9bb21b134e6a73caf28d9e864fc', variant: "mark", background: this.logoBackground }))), index.h("div", { key: '841040ad4770b0590ce632db1ce7122766c27ef6', class: "bs-navigation-drawer__title-row" }, index.h("span", { key: '857e9420aae428b44c2086bec5a2b4205a3dda04', part: "title", class: "bs-navigation-drawer__title" }, this.heading), this.collapsible && (index.h("button", { key: 'c109b6f3b54268cf729e114a249864fbd57203cc', 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: 'e46c9d2569b59e76398772d7a48e7a02d6b36ba3' })))), index.h("div", { key: '88031f0fd6cffb8480f2a086efb93a9d6418b4fc', part: "search", class: "bs-navigation-drawer__search" }, index.h("slot", { key: 'c86cb8c32f754fe81d91b76d8e1a352f9de5b31b', name: "search" })), index.h("button", { key: '90ade94c988aac8a1b2c855da7b193167b4eeee6', type: "button", part: "search-trigger", class: "bs-navigation-drawer__search-trigger", "aria-label": "Search", onClick: this.onSearchTriggerClick }, index.h(SearchIcon, { key: 'ff02c6f7f07de15b98bc5799914756e2245e36b9' })), index.h("div", { key: '41203613ef27dba8768c2755b8653d17c65d02c6', part: "items", class: "bs-navigation-drawer__items" }, index.h("slot", { key: 'd120d4a7477e748f5be81a5af742bfa558bf00bd' }))));
|
|
75
75
|
}
|
|
76
76
|
static get watchers() { return {
|
|
77
77
|
"collapsed": [{
|
|
@@ -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 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:1920px;--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__right,.bs-navigation-header--with-navigation-drawer .bs-navigation-header__right{flex:1 1 100%;justify-content:flex-end}}`;
|
|
6
6
|
|
|
@@ -36,7 +36,7 @@ const BsNavigationHeader = class {
|
|
|
36
36
|
render() {
|
|
37
37
|
const showLogo = this.alignment !== 'with-navigation-drawer';
|
|
38
38
|
const rootClasses = `bs-navigation-header bs-navigation-header--${this.alignment}`;
|
|
39
|
-
return (index.h("header", { key: '
|
|
39
|
+
return (index.h("header", { key: '0dc99abb8f2db96f0befe1b838a2db037636a75c', class: rootClasses, "aria-label": this.ariaLabel ?? undefined }, this.skipToContentHref && (index.h("a", { key: '1f906366d5398aa62d2485afdb1c9cf350354f05', part: "skip-link", class: "bs-navigation-header__skip-link", href: this.skipToContentHref }, this.skipToContentLabel)), showLogo && (index.h("bs-logo", { key: 'c735b4647acc92ff5b6725dc72bfbab421230a9c', part: "logo", class: "bs-navigation-header__logo", variant: "full", background: this.logoBackground })), index.h("div", { key: '845c1d60319daf2aa7aa57f0f8ba71e0f633598e', part: "left", class: "bs-navigation-header__left" }, index.h("slot", { key: '67436745b63a843e86a79163f927f2b563b6e2e4', name: "left" })), index.h("div", { key: '4c6d514d7cf238b5be8476f9fede7292b1dc1c10', part: "right", class: "bs-navigation-header__right" }, index.h("slot", { key: 'a6c12231c6cc728314fdfc076a48fd1ce0f79ede', name: "right" }))));
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
BsNavigationHeader.style = bsNavigationHeaderCss();
|
|
@@ -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
|
|
|
@@ -70,7 +70,7 @@ const BsPagination = class {
|
|
|
70
70
|
}
|
|
71
71
|
render() {
|
|
72
72
|
const pageList = this.getPageList();
|
|
73
|
-
return (index.h("nav", { key: '
|
|
73
|
+
return (index.h("nav", { key: 'f5f1e20a72ffc81ca14b05ad735e3ca714069ed3', "aria-label": "Pagination" }, index.h("ul", { key: '416ef86fe6aca589869e529d1248cbca7ad254ac', part: "list", class: "bs-pagination__list" }, index.h("li", { key: 'c550eada1eb765db7734e0971f4a2222ad1488e8', part: "item", class: "bs-pagination__item" }, index.h("button", { key: '8a88280dc813abe71ba3315048ca8931ef2b20cf', part: "prev", type: "button", class: "bs-pagination__control", "aria-label": this.previousLabel, disabled: this.currentPage <= 1, onClick: () => this.goToPage(this.currentPage - 1) }, index.h(ChevronLeftIcon, { key: 'ea30181c70ff4c7c39852cb978b4cc9307bfa736' }))), pageList.map((item, index$1) => item === 'ellipsis' ? (index.h("li", { part: "item", class: "bs-pagination__item", key: `ellipsis-${index$1}` }, index.h("span", { part: "ellipsis", class: "bs-pagination__ellipsis", "aria-hidden": "true" }, index.h(EllipsisIcon, null)))) : (index.h("li", { part: "item", class: "bs-pagination__item", key: item }, index.h("button", { part: item === this.currentPage ? 'page current' : 'page', type: "button", class: `bs-pagination__control bs-pagination__page ${item === this.currentPage ? 'bs-pagination__page--current' : ''}`, "aria-label": `Go to page ${item}`, "aria-current": item === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(item) }, item)))), index.h("li", { key: '1c587333c1795e4b189c793b442c03e75937ab11', part: "item", class: "bs-pagination__item" }, index.h("button", { key: '707144112eb882431b9d6ad43f7557be32d08e78', part: "next", type: "button", class: "bs-pagination__control", "aria-label": this.nextLabel, disabled: this.currentPage >= this.safeTotalPages, onClick: () => this.goToPage(this.currentPage + 1) }, index.h(ChevronRightIcon, { key: '5c94c76cbda7938da625f326ea2ef7ddadce3929' }))))));
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
76
|
function range(start, end) {
|
|
@@ -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
|
|
|
@@ -24,19 +24,24 @@ const BsProgressLinear = class {
|
|
|
24
24
|
/** Shows the slotted label below the bar. When `false`, or when no content is slotted, the
|
|
25
25
|
* label wrapper isn't rendered at all. Defaults to `true`. */
|
|
26
26
|
showLabel = true;
|
|
27
|
+
/** Accessible name for the progress bar (e.g. "Uploading report"). Required for assistive tech --
|
|
28
|
+
* a `role="progressbar"` with no name is an axe-core `aria-progressbar-name` violation. Setting
|
|
29
|
+
* `aria-label` on the host doesn't reach the inner element across the shadow boundary, so this
|
|
30
|
+
* prop binds it directly -- same pattern as `bs-button`'s `ariaLabel`. */
|
|
31
|
+
ariaLabel = null;
|
|
27
32
|
get clampedValue() {
|
|
28
33
|
return Math.min(100, Math.max(0, this.value));
|
|
29
34
|
}
|
|
30
35
|
render() {
|
|
31
36
|
const isDeterminate = this.type === 'determinate';
|
|
32
37
|
const value = this.clampedValue;
|
|
33
|
-
return (index.h("div", { key: '
|
|
38
|
+
return (index.h("div", { key: '279dbb0cd17b9584b500570d58cc09bd91e8a0d7', part: "container", class: "bs-progress-linear" }, index.h("div", { key: '9299c229184d172f743fb7fb0dce2a9c55a4496f', part: "track", class: `bs-progress-linear__track bs-progress-linear__track--${this.size}`, 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("div", { part: "fill", class: "bs-progress-linear__fill", style: { width: `${value}%` } })) : (
|
|
34
39
|
// Figma's indeterminate bar is a soft "comet" gradient segment (transparent -> blue ->
|
|
35
40
|
// transparent) sliding left-to-right across the track's full width in a loop -- the
|
|
36
41
|
// same fade concept as bs-progress's indeterminate ring's conic-gradient comet tail,
|
|
37
42
|
// but along a straight line via a linear-gradient + `transform: translateX(...)`
|
|
38
43
|
// keyframe animation instead of a rotating conic-gradient.
|
|
39
|
-
index.h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (index.h("span", { key: '
|
|
44
|
+
index.h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (index.h("span", { key: '51a75cae90630fec1d8757d483c239a534385aa7', part: "label", class: "bs-progress-linear__label" }, index.h("slot", { key: '7e6639ff4f7219cbb3fa09d7c7570268534530b4' })))));
|
|
40
45
|
}
|
|
41
46
|
// The default slot's assigned content lives in the host's light DOM regardless of whether a
|
|
42
47
|
// <slot> is currently rendered in the shadow tree, so this can be computed directly from the
|
|
@@ -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();
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
|
-
const bsRadioCss = () => `:host{display:inline-block;--bs-radio-size:var(--bs-spacing-300);--bs-radio-border-width:2px;--bs-radio-state-layer-size:40px;--bs-radio-hit-area-size:48px;--bs-radio-gap:var(--bs-spacing-100)}.bs-radio{position:relative;display:inline-flex;align-items:center;gap:var(--bs-radio-gap);font-family:inherit;cursor:pointer}.bs-radio--disabled{cursor:not-allowed}.bs-radio__input{position:absolute;top:0;
|
|
5
|
+
const bsRadioCss = () => `:host{display:inline-block;--bs-radio-size:var(--bs-spacing-300);--bs-radio-border-width:2px;--bs-radio-state-layer-size:40px;--bs-radio-hit-area-size:48px;--bs-radio-gap:var(--bs-spacing-100)}.bs-radio{position:relative;display:inline-flex;align-items:center;gap:var(--bs-radio-gap);font-family:inherit;cursor:pointer}.bs-radio--disabled{cursor:not-allowed}.bs-radio__input{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.bs-radio__input:disabled{cursor:not-allowed}.bs-radio__hit-area{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--bs-radio-hit-area-size);height:var(--bs-radio-hit-area-size)}.bs-radio__state-layer{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:var(--bs-radio-state-layer-size);height:var(--bs-radio-state-layer-size);border-radius:50%;background:var(--bs-radio-bg-default)}.bs-radio__circle{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--bs-radio-size);height:var(--bs-radio-size);border:var(--bs-radio-border-width) solid var(--bs-radio-enabled-border-default);border-radius:50%;background:transparent}.bs-radio__circle--selected{border-color:var(--bs-radio-selected-border-default)}.bs-radio__dot{width:50%;height:50%;border-radius:50%;background:var(--bs-radio-icon-checked)}.bs-radio__input:hover:not(:disabled)~.bs-radio__hit-area .bs-radio__state-layer{background:var(--bs-radio-bg-hover)}.bs-radio__input:hover:not(:disabled)~.bs-radio__hit-area .bs-radio__circle{border-color:var(--bs-radio-enabled-border-hover)}.bs-radio__input:hover:not(:disabled)~.bs-radio__hit-area .bs-radio__circle--selected{border-color:var(--bs-radio-selected-border-hover)}.bs-radio__input:hover:not(:disabled)~.bs-radio__hit-area .bs-radio__circle--selected .bs-radio__dot{background:var(--bs-radio-icon-hover)}.bs-radio__input:focus-visible~.bs-radio__hit-area .bs-radio__state-layer{background:var(--bs-radio-bg-focus);outline:2px solid var(--bs-radio-focus-ring);outline-offset:2px}.bs-radio__input:focus-visible~.bs-radio__hit-area .bs-radio__circle{border-color:var(--bs-radio-enabled-border-focus)}.bs-radio__input:focus-visible~.bs-radio__hit-area .bs-radio__circle--selected{border-color:var(--bs-radio-selected-border-focus)}.bs-radio__input:active:not(:disabled)~.bs-radio__hit-area .bs-radio__state-layer{background:var(--bs-radio-bg-pressed)}.bs-radio__input:active:not(:disabled)~.bs-radio__hit-area .bs-radio__circle{border-color:var(--bs-radio-enabled-border-pressed)}.bs-radio__input:active:not(:disabled)~.bs-radio__hit-area .bs-radio__circle--selected{border-color:var(--bs-radio-selected-border-pressed)}.bs-radio__input:disabled~.bs-radio__hit-area .bs-radio__state-layer{background:var(--bs-radio-bg-disabled)}.bs-radio__input:disabled~.bs-radio__hit-area .bs-radio__circle{border-color:var(--bs-radio-border-disabled)}.bs-radio__input:disabled~.bs-radio__hit-area .bs-radio__circle--selected .bs-radio__dot{background:var(--bs-radio-icon-disabled)}.bs-radio__label{font-size:var(--bs-font-size-md);color:var(--bs-radio-label-default)}.bs-radio--disabled .bs-radio__label{color:var(--bs-radio-label-disabled)}@media (forced-colors: active){.bs-radio__circle{border:2px solid ButtonText;forced-color-adjust:none;background:Canvas}.bs-radio__dot{background:Highlight}}`;
|
|
6
6
|
|
|
7
7
|
const BsRadio = class {
|
|
8
8
|
constructor(hostRef) {
|
|
9
9
|
index.registerInstance(this, hostRef);
|
|
10
10
|
this.bsChange = index.createEvent(this, "bsChange");
|
|
11
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
12
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
16
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
17
|
+
}
|
|
11
18
|
}
|
|
12
19
|
get el() { return index.getElement(this); }
|
|
13
20
|
/** The native radio input's `name` attribute. Passed straight through to the native input inside.
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* bs-radio.mdx's Accessibility section for this known gap; consumers building a group currently
|
|
19
|
-
* need to manage mutual exclusivity themselves (e.g. via `bsChange`) until a `bs-radio-group`
|
|
20
|
-
* wrapper exists. */
|
|
21
|
+
* Also the group key: `bs-radio` elements sharing a `name` within the same root (document or
|
|
22
|
+
* shadow root) behave as one radio group -- checking one unchecks the others, arrow keys move
|
|
23
|
+
* between them, and only one is in the tab order. Native grouping can't cross each radio's own
|
|
24
|
+
* shadow root, so this component implements it itself. */
|
|
21
25
|
name;
|
|
22
26
|
/** The native radio input's `value` attribute -- read from `event.target.value`, or used when
|
|
23
27
|
* wiring the group up to a form. */
|
|
@@ -29,9 +33,65 @@ const BsRadio = class {
|
|
|
29
33
|
disabled = false;
|
|
30
34
|
/** Emitted with this radio's own `value` when it becomes checked via user interaction. Since
|
|
31
35
|
* native same-`name` grouping doesn't cross shadow-root boundaries (see the `name` prop's doc),
|
|
32
|
-
* a consumer wiring up a group of `bs-radio`s
|
|
33
|
-
* response to this event -- there's no automatic un-checking to rely on here. */
|
|
36
|
+
* a consumer wiring up a group of `bs-radio`s does not need to un-check the others itself. */
|
|
34
37
|
bsChange;
|
|
38
|
+
internals;
|
|
39
|
+
initialChecked = false;
|
|
40
|
+
/** Whether any radio in this group is checked -- drives roving tabindex (an unchecked radio is
|
|
41
|
+
* only tabbable while nothing in its group is checked). */
|
|
42
|
+
groupHasChecked = false;
|
|
43
|
+
/** Other `bs-radio`s sharing this one's `name` within the same root, in DOM order (including
|
|
44
|
+
* this one). */
|
|
45
|
+
groupMembers() {
|
|
46
|
+
if (!this.name)
|
|
47
|
+
return [this.el];
|
|
48
|
+
const root = this.el.getRootNode();
|
|
49
|
+
return Array.from(root.querySelectorAll('bs-radio')).filter(r => r.name === this.name);
|
|
50
|
+
}
|
|
51
|
+
onCheckedChange() {
|
|
52
|
+
this.internals?.setFormValue?.(this.checked ? this.value ?? 'on' : null);
|
|
53
|
+
if (this.checked) {
|
|
54
|
+
this.groupMembers().forEach(r => {
|
|
55
|
+
if (r !== this.el && r.checked)
|
|
56
|
+
r.checked = false;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
this.refreshGroupState();
|
|
60
|
+
}
|
|
61
|
+
onAnyRadioChange() {
|
|
62
|
+
this.refreshGroupState();
|
|
63
|
+
}
|
|
64
|
+
refreshGroupState() {
|
|
65
|
+
this.groupHasChecked = this.groupMembers().some(r => r.checked);
|
|
66
|
+
}
|
|
67
|
+
componentWillLoad() {
|
|
68
|
+
this.initialChecked = this.checked;
|
|
69
|
+
this.internals?.setFormValue?.(this.checked ? this.value ?? 'on' : null);
|
|
70
|
+
}
|
|
71
|
+
componentDidLoad() {
|
|
72
|
+
this.refreshGroupState();
|
|
73
|
+
}
|
|
74
|
+
/** Called by the browser when the surrounding `<form>` is reset. */
|
|
75
|
+
formResetCallback() {
|
|
76
|
+
this.checked = this.initialChecked;
|
|
77
|
+
}
|
|
78
|
+
/** WAI-ARIA radio group pattern: arrows move selection (and focus) to the previous/next enabled
|
|
79
|
+
* radio in the group, wrapping at the ends. */
|
|
80
|
+
onKeyDown = (ev) => {
|
|
81
|
+
const forward = ev.key === 'ArrowRight' || ev.key === 'ArrowDown';
|
|
82
|
+
const backward = ev.key === 'ArrowLeft' || ev.key === 'ArrowUp';
|
|
83
|
+
if (!forward && !backward)
|
|
84
|
+
return;
|
|
85
|
+
const members = this.groupMembers().filter(r => !r.disabled);
|
|
86
|
+
if (members.length < 2)
|
|
87
|
+
return;
|
|
88
|
+
ev.preventDefault();
|
|
89
|
+
const idx = members.indexOf(this.el);
|
|
90
|
+
const next = members[(idx + (forward ? 1 : -1) + members.length) % members.length];
|
|
91
|
+
const input = next.shadowRoot?.querySelector('input');
|
|
92
|
+
input?.click();
|
|
93
|
+
input?.focus();
|
|
94
|
+
};
|
|
35
95
|
onChange = (ev) => {
|
|
36
96
|
const checked = ev.target.checked;
|
|
37
97
|
this.checked = checked;
|
|
@@ -40,9 +100,18 @@ const BsRadio = class {
|
|
|
40
100
|
}
|
|
41
101
|
};
|
|
42
102
|
render() {
|
|
43
|
-
return (index.h("label", { key: '
|
|
103
|
+
return (index.h("label", { key: '84bfc39d5714d15c45936c8150b9bd7473b79574', class: `bs-radio ${this.disabled ? 'bs-radio--disabled' : ''}` }, index.h("input", { key: '0a118d5e59f4d33b0411f7be0fba08a706cda298', class: "bs-radio__input", type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, tabIndex: this.checked || !this.groupHasChecked ? 0 : -1, onKeyDown: this.onKeyDown, onChange: this.onChange }), index.h("span", { key: '889dadd67126819c3d39a5823d48be58a9c71f9f', class: "bs-radio__hit-area" }, index.h("span", { key: '5bbed4d44bcf4d810693b5912a90855d680540d0', class: "bs-radio__state-layer" }, index.h("span", { key: '509389527b876127ca456900e3bb4aa21c735f72', part: "circle", class: `bs-radio__circle ${this.checked ? 'bs-radio__circle--selected' : ''}` }, this.checked && index.h("span", { key: '9a7e335f9646eb72fb06fb0ca9436e763c3ad278', part: "dot", class: "bs-radio__dot" })))), index.h("span", { key: '2017790d3d99355b4eb93e3659c809df58c61065', part: "label", class: "bs-radio__label" }, index.h("slot", { key: '199450bb26f7966cdd64b04c78e3015300d793c9' }))));
|
|
44
104
|
}
|
|
45
105
|
static get delegatesFocus() { return true; }
|
|
106
|
+
static get formAssociated() { return true; }
|
|
107
|
+
static get watchers() { return {
|
|
108
|
+
"checked": [{
|
|
109
|
+
"onCheckedChange": 0
|
|
110
|
+
}],
|
|
111
|
+
"value": [{
|
|
112
|
+
"onCheckedChange": 0
|
|
113
|
+
}]
|
|
114
|
+
}; }
|
|
46
115
|
};
|
|
47
116
|
BsRadio.style = bsRadioCss();
|
|
48
117
|
|