@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
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kk9YXF2S.js');
|
|
4
4
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
6
6
|
if (typeof window === 'undefined') return undefined;
|
|
7
7
|
await index.globalScripts();
|
|
8
|
-
return index.bootstrapLazy([["bs-input.cjs",[[
|
|
8
|
+
return index.bootstrapLazy([["bs-carousel.cjs",[[769,"bs-carousel",{"tracker":[1],"slidesPerView":[2,"slides-per-view"],"currentPage":[1538,"current-page"],"autoplay":[4],"interval":[2],"paused":[1540],"label":[1],"previousLabel":[1,"previous-label"],"nextLabel":[1,"next-label"],"pauseLabel":[1,"pause-label"],"playLabel":[1,"play-label"],"slideCount":[32],"interacting":[32]},[[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"],[0,"focusin","onFocusIn"],[0,"focusout","onFocusOut"]],{"currentPage":[{"onCurrentPageChange":0}],"autoplay":[{"updateTimer":0}],"paused":[{"updateTimer":0}],"interval":[{"updateTimer":0}],"interacting":[{"updateTimer":0}],"slideCount":[{"updateTimer":0}],"slidesPerView":[{"updateTimer":0}]}]]],["bs-file-upload-item.cjs",[[769,"bs-file-upload-item",{"state":[513],"fileName":[1,"file-name"],"fileSize":[1,"file-size"],"progress":[2],"message":[1],"thumbnailSrc":[1,"thumbnail-src"],"thumbnailAlt":[1,"thumbnail-alt"],"cancelLabel":[1,"cancel-label"],"removeLabel":[1,"remove-label"]}]]],["bs-input.cjs",[[849,"bs-input",{"name":[513],"value":[1025],"type":[1],"label":[1],"placeholder":[1],"description":[1],"error":[1],"disabled":[516],"required":[4],"step":[2],"min":[2],"max":[2],"options":[16],"rows":[2],"chips":[16],"titleOptions":[16],"initialsTitle":[1,"initials-title"],"countryOptions":[16],"country":[1],"length":[2],"open":[1540],"hasIcon":[32],"hasEndIcon":[32],"passwordVisible":[32],"chipDraft":[32]},[[0,"keydown","onHostKeydown"],[0,"focusout","onHostFocusOut"]],{"value":[{"onFormStateChange":0}],"type":[{"onFormStateChange":0}],"chips":[{"onFormStateChange":0}],"required":[{"onFormStateChange":0}]}]]],["bs-snackbar.cjs",[[769,"bs-snackbar",{"variant":[1],"loading":[4],"actionLabel":[1,"action-label"]}]]],["bs-attachment.cjs",[[513,"bs-attachment",{"type":[1],"fileName":[1,"file-name"],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"loading":[4],"removable":[4]}]]],["bs-breadcrumb-overflow.cjs",[[513,"bs-breadcrumb-overflow",{"items":[16],"overflowLabel":[1,"overflow-label"],"size":[513],"open":[32]},[[0,"keydown","onHostKeydown"],[0,"focusout","onHostFocusOut"]]]]],["bs-chatbot-header.cjs",[[769,"bs-chatbot-header",{"heading":[1],"expanded":[1540]}]]],["bs-dialog.cjs",[[769,"bs-dialog",{"open":[1540],"heading":[1],"size":[1],"centered":[516],"hasFooter":[32],"hasImage":[32],"hasIcon":[32]},[[4,"keydown","onKeydown"],[4,"focusin","onFocusIn"]]]]],["bs-file-upload.cjs",[[769,"bs-file-upload",{"direction":[513],"heading":[1],"description":[1],"buttonLabel":[1,"button-label"],"accept":[1],"multiple":[4],"disabled":[516],"dragging":[1540]}]]],["bs-navigation-drawer.cjs",[[769,"bs-navigation-drawer",{"heading":[1],"collapsible":[4],"collapsed":[1540],"logoBackground":[1,"logo-background"],"showLogo":[4,"show-logo"]},null,{"collapsed":[{"onCollapsedChange":0}]}]]],["bs-navigation-header.cjs",[[769,"bs-navigation-header",{"alignment":[1],"ariaLabel":[1,"aria-label"],"skipToContentHref":[1,"skip-to-content-href"],"skipToContentLabel":[1,"skip-to-content-label"],"logoBackground":[1,"logo-background"]}]]],["bs-accordion.cjs",[[769,"bs-accordion",{"expanded":[516],"size":[1],"disabled":[4],"showIcon":[4,"show-icon"],"showPreview":[4,"show-preview"]}]]],["bs-ai-disclaimer.cjs",[[257,"bs-ai-disclaimer"]]],["bs-ai-greeting.cjs",[[513,"bs-ai-greeting",{"assistantName":[1,"assistant-name"],"productName":[1,"product-name"]}]]],["bs-ai-thinking.cjs",[[513,"bs-ai-thinking",{"label":[1]}]]],["bs-attachment-list.cjs",[[769,"bs-attachment-list",{"ariaLabel":[1,"aria-label"],"canScrollRight":[32]}]]],["bs-avatar.cjs",[[513,"bs-avatar",{"type":[1],"size":[1],"initials":[1],"src":[1],"alt":[1],"ariaLabel":[1,"aria-label"],"disabled":[516]}]]],["bs-badge.cjs",[[769,"bs-badge",{"variant":[1]}]]],["bs-breadcrumb.cjs",[[769,"bs-breadcrumb",{"href":[1],"current":[516],"size":[513]}]]],["bs-breadcrumbs.cjs",[[769,"bs-breadcrumbs",{"label":[1],"size":[1]},null,{"size":[{"onSizeChange":0}]}]]],["bs-button-skeleton.cjs",[[513,"bs-button-skeleton",{"size":[1]}]]],["bs-card.cjs",[[769,"bs-card",{"surface":[1],"hasImage":[32]}]]],["bs-chatbot-feedback.cjs",[[513,"bs-chatbot-feedback",{"rating":[1538],"submitted":[1540],"comment":[1025],"heading":[1],"subtitle":[1]}]]],["bs-chatbot-response-action.cjs",[[769,"bs-chatbot-response-action",{"sourcesCount":[2,"sources-count"],"menuOpen":[1540,"menu-open"]},[[4,"click","onDocumentClick"],[4,"keydown","onKeydown"]]]]],["bs-chatbot-sources-drawer.cjs",[[769,"bs-chatbot-sources-drawer",{"heading":[1],"count":[2],"slottedCount":[32]}]]],["bs-chatbot-suggestion-button.cjs",[[769,"bs-chatbot-suggestion-button",{"disabled":[4]}]]],["bs-checkbox.cjs",[[849,"bs-checkbox",{"name":[513],"value":[1],"required":[4],"size":[1],"checked":[1540],"indeterminate":[1540],"disabled":[516],"error":[4],"ariaLabel":[1,"aria-label"]},null,{"checked":[{"syncFormValue":0}],"value":[{"syncFormValue":0}],"required":[{"syncFormValue":0}],"indeterminate":[{"onIndeterminateChange":0}]}]]],["bs-checkbox-skeleton.cjs",[[513,"bs-checkbox-skeleton",{"size":[1]}]]],["bs-chip-filter.cjs",[[785,"bs-chip-filter",{"size":[1],"selected":[516],"dropdown":[4],"disabled":[4],"ariaLabel":[1,"aria-label"],"hasIcon":[32]}]]],["bs-chip-informative.cjs",[[769,"bs-chip-informative",{"color":[1],"size":[1],"disabled":[516],"hasIcon":[32]}]]],["bs-chip-input.cjs",[[785,"bs-chip-input",{"size":[1],"selected":[1540],"disabled":[516],"hasIcon":[32],"labelText":[32]}]]],["bs-composer.cjs",[[785,"bs-composer",{"variant":[1],"placeholder":[1],"value":[1025],"state":[513],"ariaLabel":[1,"aria-label"],"hasAttachments":[32]}]]],["bs-composer-status-banner.cjs",[[769,"bs-composer-status-banner",{"type":[1],"message":[1],"showIcon":[4,"show-icon"],"showButton":[4,"show-button"],"actionLabel":[1,"action-label"],"allowClose":[4,"allow-close"]}]]],["bs-data-table.cjs",[[513,"bs-data-table",{"columns":[16],"rows":[16],"sortColumn":[1,"sort-column"],"sortDirection":[1,"sort-direction"],"selectable":[4],"cellRenderer":[16],"selectedIds":[32],"clearSelection":[64]}]]],["bs-inline-tab.cjs",[[769,"bs-inline-tab",{"selected":[516],"disabled":[4],"ariaLabel":[1,"aria-label"],"tabbable":[4],"hasIcon":[32],"hasLabel":[32]}]]],["bs-navigation-drawer-item.cjs",[[769,"bs-navigation-drawer-item",{"selected":[516],"expandable":[4],"expanded":[1540],"nested":[4],"ariaLabel":[1,"aria-label"],"collapsed":[516],"hasIcon":[32]}]]],["bs-progress.cjs",[[513,"bs-progress",{"type":[1],"size":[1],"strokeWidth":[2,"stroke-width"],"value":[2],"showLabel":[4,"show-label"],"ariaLabel":[1,"aria-label"]}]]],["bs-radio.cjs",[[849,"bs-radio",{"name":[513],"value":[1],"checked":[1540],"disabled":[516],"groupHasChecked":[32]},[[4,"bsChange","onAnyRadioChange"]],{"checked":[{"onCheckedChange":0}],"value":[{"onCheckedChange":0}]}]]],["bs-slider.cjs",[[593,"bs-slider",{"type":[1],"name":[513],"showLabel":[4,"show-label"],"label":[1],"min":[2],"max":[2],"step":[2],"value":[1026],"valueStart":[1026,"value-start"],"valueEnd":[1026,"value-end"],"segments":[2],"disabled":[516],"ariaLabel":[1,"aria-label"]},null,{"value":[{"syncFormValue":0}],"valueStart":[{"syncFormValue":0}],"valueEnd":[{"syncFormValue":0}],"type":[{"syncFormValue":0}]}]]],["bs-source-link.cjs",[[769,"bs-source-link",{"fileName":[1,"file-name"],"sourceName":[1,"source-name"],"version":[1],"href":[1],"target":[1]}]]],["bs-stepper.cjs",[[769,"bs-stepper",{"currentStep":[2,"current-step"],"direction":[513],"showDescription":[4,"show-description"]},null,{"currentStep":[{"onPropChange":0}],"direction":[{"onPropChange":0}],"showDescription":[{"onPropChange":0}]}]]],["bs-stepper-step.cjs",[[513,"bs-stepper-step",{"name":[1],"description":[1],"error":[4],"disabled":[4],"computedState":[1,"computed-state"],"direction":[1],"showDescription":[4,"show-description"]}]]],["bs-switch.cjs",[[849,"bs-switch",{"name":[513],"value":[1],"size":[1],"checked":[1540],"disabled":[516],"ariaLabel":[1,"aria-label"]},null,{"checked":[{"syncFormValue":0}],"value":[{"syncFormValue":0}]}]]],["bs-tab.cjs",[[769,"bs-tab",{"selected":[516],"disabled":[4],"iconPosition":[1,"icon-position"],"ariaLabel":[1,"aria-label"],"tabbable":[4],"hasIcon":[32],"hasLabel":[32],"hasBadge":[32]}]]],["bs-tabs.cjs",[[769,"bs-tabs",{"type":[1],"orientation":[1]},[[0,"bsSelect","onTabSelect"],[0,"keydown","onKeyDown"]],{"orientation":[{"syncRovingTabindex":0}]}]]],["bs-toast.cjs",[[769,"bs-toast",{"state":[1]}]]],["bs-menu-item.cjs",[[769,"bs-menu-item",{"disabled":[4],"hasIcon":[32]}]]],["bs-pagination.cjs",[[513,"bs-pagination",{"totalPages":[2,"total-pages"],"currentPage":[1538,"current-page"],"siblingCount":[2,"sibling-count"],"previousLabel":[1,"previous-label"],"nextLabel":[1,"next-label"]}]]],["bs-progress-linear.cjs",[[769,"bs-progress-linear",{"type":[1],"size":[1],"value":[2],"showLabel":[4,"show-label"],"ariaLabel":[1,"aria-label"],"hasLabelContent":[32]}]]],["bs-tooltip.cjs",[[769,"bs-tooltip",{"placement":[1]}]]],["bs-logo.cjs",[[513,"bs-logo",{"variant":[1],"background":[1],"src":[1],"alt":[1]}]]],["bs-menu.cjs",[[257,"bs-menu",null,[[0,"keydown","onKeyDown"]]]]],["bs-button.cjs",[[849,"bs-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"],"hasIcon":[32],"hasEndIcon":[32],"hasLabel":[32]}]]],["bs-icon-button.cjs",[[849,"bs-icon-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1],"ariaLabel":[1,"aria-label"]}]]]], options);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
exports.setNonce = index.setNonce;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js",
|
|
9
9
|
"components/bs-button/bs-button/bs-button.js",
|
|
10
10
|
"components/bs-card/bs-card.js",
|
|
11
|
+
"components/bs-carousel/bs-carousel.js",
|
|
11
12
|
"components/bs-checkbox/bs-checkbox.js",
|
|
12
13
|
"components/bs-chip/bs-chip-filter/bs-chip-filter.js",
|
|
13
14
|
"components/bs-chip/bs-chip-informative/bs-chip-informative.js",
|
|
@@ -16,6 +17,8 @@
|
|
|
16
17
|
"components/bs-composer-status-banner/bs-composer-status-banner.js",
|
|
17
18
|
"components/bs-data-table/bs-data-table.js",
|
|
18
19
|
"components/bs-dialog/bs-dialog.js",
|
|
20
|
+
"components/bs-file-upload/bs-file-upload.js",
|
|
21
|
+
"components/bs-file-upload-item/bs-file-upload-item.js",
|
|
19
22
|
"components/bs-button/bs-icon-button/bs-icon-button.js",
|
|
20
23
|
"components/bs-logo/bs-logo.js",
|
|
21
24
|
"components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js",
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { render, h, describe, it } from "@stencil/vitest";
|
|
2
|
+
import { runAxeCheck } from "../test/helpers/conventions";
|
|
3
|
+
// One axe-core pass per component, in a representative (labelled, realistic) configuration.
|
|
4
|
+
// Components with their own axe test elsewhere (bs-accordion, bs-slider, bs-chatbot-header) are
|
|
5
|
+
// covered there. A violation here is a real bug in the component (or a missing accessible name
|
|
6
|
+
// that the component's docs say the consumer must provide -- supply it below, don't suppress it).
|
|
7
|
+
const axeOf = (name, vnode) => it(`${name} has no axe-core violations`, async () => {
|
|
8
|
+
const { root } = await render(vnode());
|
|
9
|
+
await runAxeCheck(root);
|
|
10
|
+
});
|
|
11
|
+
describe('axe: form controls', () => {
|
|
12
|
+
axeOf('bs-input', () => h("bs-input", { label: "Email", value: "a@b.co" }));
|
|
13
|
+
axeOf('bs-input (error)', () => h("bs-input", { label: "Email", error: "Required" }));
|
|
14
|
+
axeOf('bs-input (textarea)', () => h("bs-input", { type: "textarea", label: "Notes" }));
|
|
15
|
+
axeOf('bs-input (password)', () => h("bs-input", { type: "password", label: "Password" }));
|
|
16
|
+
axeOf('bs-checkbox', () => h("bs-checkbox", null, "Agree"));
|
|
17
|
+
axeOf('bs-checkbox (icon-only)', () => h("bs-checkbox", { ariaLabel: "Select row" }));
|
|
18
|
+
axeOf('bs-switch', () => h("bs-switch", null, "Alerts"));
|
|
19
|
+
axeOf('bs-radio group', () => (h("div", { role: "radiogroup", "aria-label": "Fruit" }, h("bs-radio", { name: "f", value: "a", checked: true }, "A"), h("bs-radio", { name: "f", value: "b" }, "B"))));
|
|
20
|
+
});
|
|
21
|
+
describe('axe: actions & navigation', () => {
|
|
22
|
+
axeOf('bs-button', () => h("bs-button", null, "Save"));
|
|
23
|
+
axeOf('bs-icon-button', () => h("bs-icon-button", { ariaLabel: "Close" }));
|
|
24
|
+
axeOf('bs-button-skeleton', () => h("bs-button-skeleton", null));
|
|
25
|
+
axeOf('bs-tabs', () => (h("bs-tabs", null, h("bs-tab", { selected: true }, "One"), h("bs-tab", null, "Two"))));
|
|
26
|
+
axeOf('bs-menu', () => (h("bs-menu", null, h("bs-menu-item", null, "Edit"), h("bs-menu-item", null, "Delete"))));
|
|
27
|
+
axeOf('bs-breadcrumbs', () => (h("bs-breadcrumbs", null, h("bs-breadcrumb", { href: "/" }, "Home"), h("bs-breadcrumb", { current: true }, "Page"))));
|
|
28
|
+
axeOf('bs-pagination', () => h("bs-pagination", { totalPages: 10, currentPage: 1 }));
|
|
29
|
+
axeOf('bs-stepper', () => (h("bs-stepper", null, h("bs-stepper-step", { name: "One" }), h("bs-stepper-step", { name: "Two" }))));
|
|
30
|
+
axeOf('bs-source-link', () => h("bs-source-link", { href: "https://example.com" }, "Source"));
|
|
31
|
+
});
|
|
32
|
+
describe('axe: display & feedback', () => {
|
|
33
|
+
axeOf('bs-avatar', () => h("bs-avatar", { initials: "AB", ariaLabel: "Ada Byron" }));
|
|
34
|
+
axeOf('bs-badge', () => h("bs-badge", null, "3"));
|
|
35
|
+
axeOf('bs-card', () => h("bs-card", null, "Content"));
|
|
36
|
+
axeOf('bs-chip-informative', () => h("bs-chip-informative", null, "Tag"));
|
|
37
|
+
axeOf('bs-logo', () => h("bs-logo", null));
|
|
38
|
+
axeOf('bs-progress', () => h("bs-progress", { value: 40, ariaLabel: "Uploading" }));
|
|
39
|
+
axeOf('bs-progress-linear', () => h("bs-progress-linear", { value: 40, ariaLabel: "Uploading" }));
|
|
40
|
+
axeOf('bs-snackbar', () => h("bs-snackbar", null, "Saved"));
|
|
41
|
+
axeOf('bs-toast', () => h("bs-toast", null, "Saved"));
|
|
42
|
+
axeOf('bs-tooltip', () => h("bs-tooltip", null, "Help text"));
|
|
43
|
+
axeOf('bs-dialog', () => (h("bs-dialog", { open: true, heading: "Confirm" }, "Are you sure?")));
|
|
44
|
+
axeOf('bs-data-table', () => (h("bs-data-table", { columns: [{ key: 'name', label: 'Name' }], rows: [{ id: 1, name: 'Ada' }] })));
|
|
45
|
+
});
|
|
46
|
+
describe('axe: AI chat', () => {
|
|
47
|
+
axeOf('bs-ai-disclaimer', () => h("bs-ai-disclaimer", null));
|
|
48
|
+
axeOf('bs-ai-greeting', () => h("bs-ai-greeting", null));
|
|
49
|
+
axeOf('bs-ai-thinking', () => h("bs-ai-thinking", null));
|
|
50
|
+
axeOf('bs-attachment', () => h("bs-attachment", { fileName: "file.pdf" }));
|
|
51
|
+
axeOf('bs-composer', () => h("bs-composer", null));
|
|
52
|
+
axeOf('bs-chatbot-feedback', () => h("bs-chatbot-feedback", null));
|
|
53
|
+
axeOf('bs-chatbot-suggestion-button', () => h("bs-chatbot-suggestion-button", null, "Ask"));
|
|
54
|
+
});
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { render, h, describe, it, expect } from "@stencil/vitest";
|
|
2
|
+
import { runAxeCheck } from "../../test/helpers/conventions";
|
|
2
3
|
describe('bs-accordion', () => {
|
|
4
|
+
it('has no axe-core accessibility violations', async () => {
|
|
5
|
+
const { root } = await render(h("bs-accordion", null, h("span", { slot: "label" }, "Title"), "Body content"));
|
|
6
|
+
await runAxeCheck(root);
|
|
7
|
+
});
|
|
3
8
|
['medium', 'large'].forEach(size => {
|
|
4
9
|
it(`renders collapsed, size="${size}"`, async () => {
|
|
5
10
|
const { root } = await render(h("bs-accordion", { size: size }, h("span", { slot: "label" }, "Title"), "Body content"));
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
padding: 0;
|
|
90
90
|
cursor: pointer;
|
|
91
91
|
font-family: inherit;
|
|
92
|
-
text-align:
|
|
92
|
+
text-align: start;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
/* The focus-visible ring is drawn on the outer .bs-accordion container (see above), not here --
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
/* Icon=No: no icon box on the left to provide the inset, so the label gets it directly --
|
|
149
149
|
confirmed against Figma's Icon=No variant. */
|
|
150
150
|
.bs-accordion__label--no-icon {
|
|
151
|
-
padding-
|
|
151
|
+
padding-inline-start: var(--bs-accordion-header-padding-x);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
/* Same fixed-width/height box as .bs-accordion__icon (not just the 24px SVG) -- per Figma, the
|
|
@@ -181,15 +181,15 @@
|
|
|
181
181
|
.bs-accordion__content {
|
|
182
182
|
padding-top: 0;
|
|
183
183
|
padding-bottom: var(--bs-accordion-content-padding-bottom);
|
|
184
|
-
padding-
|
|
185
|
-
padding-
|
|
184
|
+
padding-inline-end: var(--bs-accordion-content-padding-right);
|
|
185
|
+
padding-inline-start: var(--bs-accordion-content-padding-left);
|
|
186
186
|
color: var(--bs-accordion-text-default);
|
|
187
187
|
font-size: var(--bs-accordion-font-size);
|
|
188
188
|
line-height: calc(var(--bs-accordion-line-height) * 1px);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
.bs-accordion__content--no-icon {
|
|
192
|
-
padding-
|
|
192
|
+
padding-inline-start: var(--bs-accordion-content-padding-left-no-icon);
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
/* Collapsed + showPreview: pure CSS truncation of the SAME slotted content to a single line --
|
|
@@ -25,7 +25,7 @@ import { h } from "@stencil/core";
|
|
|
25
25
|
export class BsAiDisclaimer {
|
|
26
26
|
render() {
|
|
27
27
|
https: //images.unsplash.com/photo-1512917774080-9991f1c4c750?w=200&h=200&fit=crop
|
|
28
|
-
return (h("div", { key: '
|
|
28
|
+
return (h("div", { key: '2df50141b934d044d68015cc40b0cc525f374ec7', class: "bs-ai-disclaimer" }, h("p", { key: '42e735a432c16d16c4daa786bbd3e2757d298e68', part: "text", class: "bs-ai-disclaimer__text" }, h("slot", { key: 'fe037a3b1bd4bf6135448abd6ce2de8aa4cec6d5' }))));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "bs-ai-disclaimer"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -43,7 +43,7 @@ export class BsAiGreeting {
|
|
|
43
43
|
const subtext = this.productName
|
|
44
44
|
? `How can I help you with ${this.productName} today?`
|
|
45
45
|
: 'How can I help you today?';
|
|
46
|
-
return (h("div", { key: '
|
|
46
|
+
return (h("div", { key: '36ef1fa16f576af16387a9119c6fb3003fde61de', class: "bs-ai-greeting" }, h("div", { key: '397127700354b1a9b46b3adc5c4e7bec3803b5cf', part: "heading", class: "bs-ai-greeting__heading" }, h("p", { key: '3bf51034fa5fc1ea28856e1d44b629f6614cdf1a', class: "bs-ai-greeting__heading-line" }, "Hi. I'm ", this.assistantName, ","), h("p", { key: 'b718d68dfb5c602eb035950b9ff661ab569b9302', class: "bs-ai-greeting__heading-line" }, "your AI assistant.")), h("p", { key: '1d271a06cfc0909c8c8c6487a05da3aebf925c09', part: "subtext", class: "bs-ai-greeting__subtext" }, subtext)));
|
|
47
47
|
}
|
|
48
48
|
static get is() { return "bs-ai-greeting"; }
|
|
49
49
|
static get encapsulation() { return "shadow"; }
|
|
@@ -29,7 +29,7 @@ export class BsAiThinking {
|
|
|
29
29
|
/** The status text shown next to the icon, e.g. "Retrieving", "Thinking", "Searching". */
|
|
30
30
|
label = 'Thinking';
|
|
31
31
|
render() {
|
|
32
|
-
return (h("div", { key: '
|
|
32
|
+
return (h("div", { key: '310fa2c79337dd330219ea2f0c11c5105692f964', class: "bs-ai-thinking", role: "status", "aria-live": "polite" }, h("img", { key: '0e6b3bf38aeff1166675e6761ada150ddfc344b1', part: "icon", class: "bs-ai-thinking__icon", src: GENIE_MARK_ICON, alt: "", "aria-hidden": "true" }), h("span", { key: '5611170fc41f29361c79be7e30599ae61ef5a976', part: "label", class: "bs-ai-thinking__label" }, this.label)));
|
|
33
33
|
}
|
|
34
34
|
static get is() { return "bs-ai-thinking"; }
|
|
35
35
|
static get encapsulation() { return "shadow"; }
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
*visible* 16px button centered inside it (8px inset on every side) -- so the visible button's
|
|
108
108
|
real offset from the thumbnail's corner is 8px, not 4px. */
|
|
109
109
|
top: var(--bs-spacing-100);
|
|
110
|
-
|
|
110
|
+
inset-inline-end: var(--bs-spacing-100);
|
|
111
111
|
opacity: 0;
|
|
112
112
|
pointer-events: none;
|
|
113
113
|
transition: opacity var(--bs-duration-fast) var(--bs-easing-standard);
|
|
@@ -58,7 +58,7 @@ export class BsAttachmentList {
|
|
|
58
58
|
this.canScrollRight = row.scrollWidth - row.clientWidth - row.scrollLeft > 1;
|
|
59
59
|
};
|
|
60
60
|
render() {
|
|
61
|
-
return (h("div", { key: '
|
|
61
|
+
return (h("div", { key: '2e265dcc82737c0b129be0196f68c0ec1a745789', class: "bs-attachment-list" }, h("div", { key: 'b148b3743237126437344dc1680c6c64c311f89a', part: "row", class: "bs-attachment-list__row", ref: el => (this.row = el), onScroll: this.onScroll, role: "group", "aria-label": this.ariaLabel, tabIndex: 0 }, h("slot", { key: 'db30b9615067b73db4c048991745055742be759f', onSlotchange: this.onSlotchange })), this.canScrollRight && h("div", { key: '989a64c7dc6e8cb99036a779b0eefc02b4706dc6', part: "fade", class: "bs-attachment-list__fade", "aria-hidden": "true" })));
|
|
62
62
|
}
|
|
63
63
|
static get is() { return "bs-attachment-list"; }
|
|
64
64
|
static get encapsulation() { return "shadow"; }
|
|
@@ -54,7 +54,7 @@ export class BsBreadcrumbs {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
render() {
|
|
57
|
-
return (h("nav", { key: '
|
|
57
|
+
return (h("nav", { key: '14bf783e0dc34d1f8368bde48499e684b1410b94', "aria-label": this.label }, h("ol", { key: 'feef69a5164f6d7dad670e56cdbd7912aff96c2c', part: "list", class: "bs-breadcrumbs__list" }, h("slot", { key: 'b616fc5fcf0181025be6e5570b7d0fa10cae146e', onSlotchange: this.onSlotChange }))));
|
|
58
58
|
}
|
|
59
59
|
static get is() { return "bs-breadcrumbs"; }
|
|
60
60
|
static get encapsulation() { return "shadow"; }
|
|
@@ -263,11 +263,11 @@
|
|
|
263
263
|
/* Gap between icon and label: spacing/xs (4px) per Figma node 2842:50344's state-layer gap, not
|
|
264
264
|
spacing-100 (8px). */
|
|
265
265
|
.bs-button__icon--visible {
|
|
266
|
-
margin-
|
|
266
|
+
margin-inline-end: var(--bs-spacing-50);
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
.bs-button__end-icon--visible {
|
|
270
|
-
margin-
|
|
270
|
+
margin-inline-start: var(--bs-spacing-50);
|
|
271
271
|
}
|
|
272
272
|
|
|
273
273
|
.bs-button__icon ::slotted(*),
|
|
@@ -282,10 +282,10 @@
|
|
|
282
282
|
aspect-ratio: 1 / 1;
|
|
283
283
|
}
|
|
284
284
|
.bs-button--icon-only .bs-button__icon--visible {
|
|
285
|
-
margin-
|
|
285
|
+
margin-inline-end: 0;
|
|
286
286
|
}
|
|
287
287
|
.bs-button--icon-only .bs-button__end-icon--visible {
|
|
288
|
-
margin-
|
|
288
|
+
margin-inline-start: 0;
|
|
289
289
|
}
|
|
290
290
|
|
|
291
291
|
/* Verified against a Figma redline for the icon+label layout: the edge next to an icon is
|
|
@@ -295,14 +295,21 @@
|
|
|
295
295
|
the icon-less button (12+20 = 16+16 = 32px for size="md"). This is deliberately NOT
|
|
296
296
|
size-dependent, same as the icon/label gap above -- neither varies by size in the source spec. */
|
|
297
297
|
.bs-button--has-icon:not(.bs-button--has-end-icon) {
|
|
298
|
-
padding-
|
|
299
|
-
padding-
|
|
298
|
+
padding-inline-start: var(--bs-button-padding-x-icon-side);
|
|
299
|
+
padding-inline-end: var(--bs-button-padding-x-label-side);
|
|
300
300
|
}
|
|
301
301
|
.bs-button--has-end-icon:not(.bs-button--has-icon) {
|
|
302
|
-
padding-
|
|
303
|
-
padding-
|
|
302
|
+
padding-inline-start: var(--bs-button-padding-x-label-side);
|
|
303
|
+
padding-inline-end: var(--bs-button-padding-x-icon-side);
|
|
304
304
|
}
|
|
305
305
|
.bs-button--has-icon.bs-button--has-end-icon {
|
|
306
|
-
padding-
|
|
307
|
-
padding-
|
|
306
|
+
padding-inline-start: var(--bs-button-padding-x-icon-side);
|
|
307
|
+
padding-inline-end: var(--bs-button-padding-x-icon-side);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/* Windows High Contrast: author backgrounds are dropped, so keep the button boundary and a visible focus ring. */
|
|
311
|
+
@media (forced-colors: active) {
|
|
312
|
+
.bs-button { border: 1px solid ButtonText; }
|
|
313
|
+
.bs-button:disabled { border-color: GrayText; color: GrayText; }
|
|
314
|
+
.bs-button:focus-visible { outline: 2px solid Highlight; outline-offset: 2px; }
|
|
308
315
|
}
|
|
@@ -35,6 +35,7 @@ import { h } from "@stencil/core";
|
|
|
35
35
|
*/
|
|
36
36
|
export class BsButton {
|
|
37
37
|
el;
|
|
38
|
+
internals;
|
|
38
39
|
/**
|
|
39
40
|
* Visual style. Maps directly to the brandsync-tokens `--bs-button-*` semantic set.
|
|
40
41
|
* `error` is for destructive/irreversible actions per BrandSync guidance, not a stronger
|
|
@@ -45,7 +46,8 @@ export class BsButton {
|
|
|
45
46
|
size = 'md';
|
|
46
47
|
/** Disables the button and applies the disabled token set. */
|
|
47
48
|
disabled = false;
|
|
48
|
-
/**
|
|
49
|
+
/** Button type. `submit` submits the surrounding `<form>` (via `requestSubmit()`, so validation
|
|
50
|
+
* runs); `reset` resets it; `button` (default) does nothing on its own. */
|
|
49
51
|
type = 'button';
|
|
50
52
|
/**
|
|
51
53
|
* Accessible name for the button. Required for icon-only usage (no visible label text via the
|
|
@@ -103,13 +105,23 @@ export class BsButton {
|
|
|
103
105
|
onLabelSlotchange = (ev) => {
|
|
104
106
|
this.hasLabel = ev.target.assignedNodes().length > 0;
|
|
105
107
|
};
|
|
108
|
+
onClick = () => {
|
|
109
|
+
const form = this.internals?.form;
|
|
110
|
+
if (!form || this.disabled)
|
|
111
|
+
return;
|
|
112
|
+
if (this.type === 'submit')
|
|
113
|
+
form.requestSubmit();
|
|
114
|
+
else if (this.type === 'reset')
|
|
115
|
+
form.reset();
|
|
116
|
+
};
|
|
106
117
|
render() {
|
|
107
118
|
const iconOnly = (this.hasIcon || this.hasEndIcon) && !this.hasLabel;
|
|
108
|
-
return (h("button", { key: '
|
|
119
|
+
return (h("button", { key: 'c218d6df7ccdbb753a2965e6f25a2ed7c0fd73fc', class: `bs-button bs-button--${this.variant} bs-button--${this.size} ${iconOnly ? 'bs-button--icon-only' : ''} ${this.hasIcon && !iconOnly ? 'bs-button--has-icon' : ''} ${this.hasEndIcon && !iconOnly ? 'bs-button--has-end-icon' : ''}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '8b664e7aae4d4558aeb9fa2d5bc39c0445bd6e1d', part: "icon", class: `bs-button__icon ${this.hasIcon ? 'bs-button__icon--visible' : ''}` }, h("slot", { key: '708b742030c8f4aaeeea36ce68c0c9bc3d9839f9', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: 'db1a5517c7a68d3dafd884b3ebf590e53d911782', part: "label", class: "bs-button__label" }, h("slot", { key: 'ba58f01560f81165e24624b5511848d42b602965', onSlotchange: this.onLabelSlotchange })), h("span", { key: '78f6f131f9b6ea390b1f18929053040e93b688f3', part: "end-icon", class: `bs-button__end-icon ${this.hasEndIcon ? 'bs-button__end-icon--visible' : ''}` }, h("slot", { key: 'ee1c230a9f4099e625623173ab429c76664ee64e', name: "end-icon", onSlotchange: this.onEndIconSlotchange }))));
|
|
109
120
|
}
|
|
110
121
|
static get is() { return "bs-button"; }
|
|
111
122
|
static get encapsulation() { return "shadow"; }
|
|
112
123
|
static get delegatesFocus() { return true; }
|
|
124
|
+
static get formAssociated() { return true; }
|
|
113
125
|
static get originalStyleUrls() {
|
|
114
126
|
return {
|
|
115
127
|
"$": ["bs-button.css"]
|
|
@@ -206,7 +218,7 @@ export class BsButton {
|
|
|
206
218
|
"optional": false,
|
|
207
219
|
"docs": {
|
|
208
220
|
"tags": [],
|
|
209
|
-
"text": "
|
|
221
|
+
"text": "Button type. `submit` submits the surrounding `<form>` (via `requestSubmit()`, so validation\nruns); `reset` resets it; `button` (default) does nothing on its own."
|
|
210
222
|
},
|
|
211
223
|
"getter": false,
|
|
212
224
|
"setter": false,
|
|
@@ -244,4 +256,5 @@ export class BsButton {
|
|
|
244
256
|
};
|
|
245
257
|
}
|
|
246
258
|
static get elementRef() { return "el"; }
|
|
259
|
+
static get attachInternalsMemberName() { return "internals"; }
|
|
247
260
|
}
|
|
@@ -28,6 +28,7 @@ import { h } from "@stencil/core";
|
|
|
28
28
|
// CSS file comments, not the class-level JSDoc (see bs-tab.css's/bs-inline-tab.css's equivalent note).
|
|
29
29
|
export class BsIconButton {
|
|
30
30
|
el;
|
|
31
|
+
internals;
|
|
31
32
|
/**
|
|
32
33
|
* Visual style. Maps to the same semantic token families as `bs-button`'s `variant`.
|
|
33
34
|
* `error` is for destructive/irreversible actions per BrandSync guidance, not a stronger
|
|
@@ -41,7 +42,8 @@ export class BsIconButton {
|
|
|
41
42
|
size = 'md';
|
|
42
43
|
/** Disables the button and applies the disabled token set. */
|
|
43
44
|
disabled = false;
|
|
44
|
-
/**
|
|
45
|
+
/** Button type. `submit` submits the surrounding `<form>` (via `requestSubmit()`, so validation
|
|
46
|
+
* runs); `reset` resets it; `button` (default) does nothing on its own. */
|
|
45
47
|
type = 'button';
|
|
46
48
|
/**
|
|
47
49
|
* Accessible name for the button. Required -- this component is always icon-only, so there's
|
|
@@ -49,12 +51,22 @@ export class BsIconButton {
|
|
|
49
51
|
* prop to the `aria-label` HTML attribute automatically.
|
|
50
52
|
*/
|
|
51
53
|
ariaLabel = null;
|
|
54
|
+
onClick = () => {
|
|
55
|
+
const form = this.internals?.form;
|
|
56
|
+
if (!form || this.disabled)
|
|
57
|
+
return;
|
|
58
|
+
if (this.type === 'submit')
|
|
59
|
+
form.requestSubmit();
|
|
60
|
+
else if (this.type === 'reset')
|
|
61
|
+
form.reset();
|
|
62
|
+
};
|
|
52
63
|
render() {
|
|
53
|
-
return (h("button", { key: '
|
|
64
|
+
return (h("button", { key: '1d0525e3ad0b90e723cab2c9cd0217046a905a5e', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '1c94ad4a861dde9e4942f6795a2a868161c0b4a1', part: "icon", class: "bs-icon-button__icon" }, h("slot", { key: '9cd3a6aa2d9cbfebaa1d0e70fc10448af4ef4429' }))));
|
|
54
65
|
}
|
|
55
66
|
static get is() { return "bs-icon-button"; }
|
|
56
67
|
static get encapsulation() { return "shadow"; }
|
|
57
68
|
static get delegatesFocus() { return true; }
|
|
69
|
+
static get formAssociated() { return true; }
|
|
58
70
|
static get originalStyleUrls() {
|
|
59
71
|
return {
|
|
60
72
|
"$": ["bs-icon-button.css"]
|
|
@@ -151,7 +163,7 @@ export class BsIconButton {
|
|
|
151
163
|
"optional": false,
|
|
152
164
|
"docs": {
|
|
153
165
|
"tags": [],
|
|
154
|
-
"text": "
|
|
166
|
+
"text": "Button type. `submit` submits the surrounding `<form>` (via `requestSubmit()`, so validation\nruns); `reset` resets it; `button` (default) does nothing on its own."
|
|
155
167
|
},
|
|
156
168
|
"getter": false,
|
|
157
169
|
"setter": false,
|
|
@@ -182,4 +194,5 @@ export class BsIconButton {
|
|
|
182
194
|
};
|
|
183
195
|
}
|
|
184
196
|
static get elementRef() { return "el"; }
|
|
197
|
+
static get attachInternalsMemberName() { return "internals"; }
|
|
185
198
|
}
|
|
@@ -25,7 +25,7 @@ export class BsButtonSkeleton {
|
|
|
25
25
|
/** Sizing scale, matching the `bs-button` size it stands in for. */
|
|
26
26
|
size = 'md';
|
|
27
27
|
render() {
|
|
28
|
-
return h("span", { key: '
|
|
28
|
+
return h("span", { key: '1b7d442c2522cd4591862c6d72ee9bc491570518', part: "container", class: `bs-button-skeleton bs-button-skeleton--${this.size}`, role: "status", "aria-label": "Loading" });
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "bs-button-skeleton"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|