@brandsync/wc 1.5.4 → 1.7.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 +1122 -98
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-1b16b6e4.entry.js → p-06e9b45d.entry.js} +1 -1
- package/dist/brandsync-wc/p-0d86c22d.entry.js +1 -0
- package/dist/brandsync-wc/{p-dc974a34.entry.js → p-13e4966c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-42f428b0.entry.js → p-18021c05.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1d094352.entry.js → p-1c8160c2.entry.js} +1 -1
- package/dist/brandsync-wc/{p-692fd5f0.entry.js → p-21c14465.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3145cc00.entry.js → p-2700a63e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6acdf2e1.entry.js → p-27100489.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a55a3d87.entry.js → p-2d6955d6.entry.js} +1 -1
- package/dist/brandsync-wc/{p-46957b76.entry.js → p-309f920e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-899d24f8.entry.js → p-30d6a6d0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-58969b2b.entry.js → p-387ed85f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-27741046.entry.js → p-3eab22a5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-da6fa359.entry.js → p-4a1a5d6e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a77a5438.entry.js → p-4b0938a5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6b62bf53.entry.js → p-4bff9b4b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-943fc6b9.entry.js → p-5312b6a5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-95e0fb92.entry.js → p-538cc08e.entry.js} +1 -1
- package/dist/brandsync-wc/p-55e6438c.entry.js +1 -0
- package/dist/brandsync-wc/{p-83bda5f1.entry.js → p-600b5434.entry.js} +1 -1
- package/dist/brandsync-wc/p-61db6ce2.entry.js +1 -0
- package/dist/brandsync-wc/{p-5ea24f7e.entry.js → p-6754dfa9.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a34c7553.entry.js → p-70e035ed.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1bfc80c3.entry.js → p-77433277.entry.js} +1 -1
- package/dist/brandsync-wc/{p-906b4faa.entry.js → p-777a9dbf.entry.js} +1 -1
- package/dist/brandsync-wc/p-7ed5670e.entry.js +1 -0
- package/dist/brandsync-wc/{p-e92f09b3.entry.js → p-80cf96ff.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3e4a9f38.entry.js → p-819a3dae.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f4cb1337.entry.js → p-85c70f6d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ac2ccc4b.entry.js → p-8b2ab522.entry.js} +1 -1
- package/dist/brandsync-wc/{p-76a37a98.entry.js → p-8b57f606.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a96ec9a1.entry.js → p-9c1be2a0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-CcPfH1dJ.js → p-DuyFft7h.js} +2 -2
- package/dist/brandsync-wc/{p-e9a89ea0.entry.js → p-a36a0e6a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-eb1c98a5.entry.js → p-a96856fd.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a64b64f8.entry.js → p-b0634051.entry.js} +1 -1
- package/dist/brandsync-wc/{p-5f233b4e.entry.js → p-b2dc9886.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c91eb3eb.entry.js → p-bcee3d60.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3f6980bf.entry.js → p-be14f99f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-cd90ed34.entry.js → p-c197cc95.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8f90e906.entry.js → p-c3a28a89.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ba650ca9.entry.js → p-cbaa19ab.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d1dfd37d.entry.js → p-d03eba2b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f0a6ff05.entry.js → p-d06543a5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-dbd49107.entry.js → p-d25b7b74.entry.js} +1 -1
- package/dist/brandsync-wc/{p-69c76966.entry.js → p-e1069ba9.entry.js} +1 -1
- package/dist/brandsync-wc/p-e427bbda.entry.js +1 -0
- package/dist/brandsync-wc/{p-2c2057f5.entry.js → p-e61efe4d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-35850bfe.entry.js → p-f14bda01.entry.js} +1 -1
- package/dist/brandsync-wc/{p-fd1acc0f.entry.js → p-f243683f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-9d5cf289.entry.js → p-f2ce9a1f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b332fe01.entry.js → p-f518f486.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b4211012.entry.js → p-f8f03334.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6fd1fb04.entry.js → p-fba01c96.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d69e5034.entry.js → p-fde5e9f1.entry.js} +1 -1
- package/dist/cjs/brandsync-wc.cjs.js +3 -3
- package/dist/cjs/bs-accordion.cjs.entry.js +1 -1
- 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 +2 -2
- package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/cjs/bs-card.cjs.entry.js +1 -1
- package/dist/cjs/bs-carousel.cjs.entry.js +196 -0
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/bs-chip-filter.cjs.entry.js +2 -2
- package/dist/cjs/bs-chip-informative.cjs.entry.js +2 -2
- package/dist/cjs/bs-chip-input.cjs.entry.js +2 -2
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +2 -2
- package/dist/cjs/bs-composer.cjs.entry.js +2 -2
- package/dist/cjs/bs-data-table.cjs.entry.js +3 -3
- package/dist/cjs/bs-dialog.cjs.entry.js +1 -1
- 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 +2 -2
- package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
- package/dist/cjs/bs-input.cjs.entry.js +3 -3
- 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 +2 -2
- 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 +3 -3
- package/dist/cjs/bs-radio.cjs.entry.js +2 -2
- package/dist/cjs/bs-slider.cjs.entry.js +2 -2
- package/dist/cjs/bs-snackbar.cjs.entry.js +2 -2
- package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
- package/dist/cjs/bs-stepper-step.cjs.entry.js +2 -2
- package/dist/cjs/bs-stepper.cjs.entry.js +2 -2
- package/dist/cjs/bs-switch.cjs.entry.js +2 -2
- package/dist/cjs/bs-tab.cjs.entry.js +2 -2
- package/dist/cjs/bs-tabs.cjs.entry.js +2 -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-Bj1mNOtg.js → index-D7e6DfLV.js} +24 -27
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/components/bs-accordion/bs-accordion.cmp.test.js +5 -0
- package/dist/collection/components/bs-accordion/bs-accordion.js +1 -1
- 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.js +1 -1
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-avatar/bs-avatar.js +2 -2
- package/dist/collection/components/bs-badge/bs-badge.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +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.js +2 -2
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +3 -3
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
- package/dist/collection/components/bs-card/bs-card.js +1 -1
- 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.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.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.js +2 -2
- package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +2 -2
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +3 -3
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +2 -2
- package/dist/collection/components/bs-composer/bs-composer.js +3 -3
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +2 -2
- package/dist/collection/components/bs-data-table/bs-data-table.js +6 -6
- package/dist/collection/components/bs-dialog/bs-dialog.js +1 -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-input/bs-input.js +2 -2
- package/dist/collection/components/bs-logo/bs-logo.js +2 -2
- package/dist/collection/components/bs-menu/bs-menu.js +1 -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 +5 -5
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +29 -4
- package/dist/collection/components/bs-radio/bs-radio.js +1 -1
- package/dist/collection/components/bs-slider/bs-slider.js +2 -2
- package/dist/collection/components/bs-snackbar/bs-snackbar.js +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 +1 -1
- package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +3 -3
- package/dist/collection/components/bs-switch/bs-switch.js +2 -2
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +2 -2
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +3 -3
- package/dist/collection/components/bs-toast/bs-toast.js +2 -2
- package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
- 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 +2 -2
- 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-D4omPSOU.js → p-BaxFLlKS.js} +1 -1
- package/dist/components/{p-DwVm6HIb.js → p-BhvV55-6.js} +1 -1
- package/dist/components/p-BxFJ74fI.js +1 -0
- package/dist/components/{p-Byl-ZwBI.js → p-DI5GgSqL.js} +1 -1
- package/dist/components/{p-DOApNIwD.js → p-Dqt-Qp4W.js} +1 -1
- package/dist/components/p-Dx8gAOVC.js +1 -0
- package/dist/components/{p-Dkv8x1_Z.js → p-LYvoWZt4.js} +1 -1
- package/dist/components/{p-CsnFdZ3v.js → p-mnGJPH85.js} +1 -1
- package/dist/components/{p-lvnXqw5g.js → p-v4T0qPVn.js} +1 -1
- package/dist/esm/brandsync-wc.js +4 -4
- package/dist/esm/bs-accordion.entry.js +1 -1
- 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 +2 -2
- package/dist/esm/bs-attachment.entry.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/esm/bs-card.entry.js +1 -1
- package/dist/esm/bs-carousel.entry.js +194 -0
- package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
- package/dist/esm/bs-chatbot-header.entry.js +2 -2
- package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/bs-chip-filter.entry.js +2 -2
- package/dist/esm/bs-chip-informative.entry.js +2 -2
- package/dist/esm/bs-chip-input.entry.js +2 -2
- package/dist/esm/bs-composer-status-banner.entry.js +2 -2
- package/dist/esm/bs-composer.entry.js +2 -2
- package/dist/esm/bs-data-table.entry.js +3 -3
- package/dist/esm/bs-dialog.entry.js +1 -1
- 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 +2 -2
- package/dist/esm/bs-inline-tab.entry.js +2 -2
- package/dist/esm/bs-input.entry.js +3 -3
- 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 +2 -2
- 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 +3 -3
- package/dist/esm/bs-radio.entry.js +2 -2
- package/dist/esm/bs-slider.entry.js +2 -2
- package/dist/esm/bs-snackbar.entry.js +2 -2
- package/dist/esm/bs-source-link.entry.js +3 -3
- package/dist/esm/bs-stepper-step.entry.js +2 -2
- package/dist/esm/bs-stepper.entry.js +2 -2
- package/dist/esm/bs-switch.entry.js +2 -2
- package/dist/esm/bs-tab.entry.js +2 -2
- package/dist/esm/bs-tabs.entry.js +2 -2
- package/dist/esm/bs-toast.entry.js +2 -2
- package/dist/esm/bs-tooltip.entry.js +2 -2
- package/dist/esm/{index-CcPfH1dJ.js → index-DuyFft7h.js} +24 -27
- package/dist/esm/loader.js +3 -3
- 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-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-progress-linear/bs-progress-linear.d.ts +5 -0
- package/dist/types/components.d.ts +594 -0
- 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 +4 -2
- package/dist/brandsync-wc/p-4df71e00.entry.js +0 -1
- package/dist/brandsync-wc/p-dadbb3f1.entry.js +0 -1
|
@@ -64,7 +64,7 @@ export class BsProgress {
|
|
|
64
64
|
const isDeterminate = this.type === 'determinate';
|
|
65
65
|
const value = this.clampedValue;
|
|
66
66
|
const dashOffset = circumference * (1 - value / 100);
|
|
67
|
-
return (h("div", { key: '
|
|
67
|
+
return (h("div", { key: '0534b118c5954b821dc3e9f1bb0b4a0ac746633a', part: "container", class: "bs-progress" }, h("div", { key: 'fd20dfde6fe2de74c0622589294a066f526fe213', class: "bs-progress__box", style: { width: `${diameter}px`, height: `${diameter}px` }, role: "progressbar", "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (h("svg", { class: "bs-progress__ring", width: diameter, height: diameter, viewBox: `0 0 ${diameter} ${diameter}` }, h("circle", { part: "track", class: "bs-progress__track", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none" }), 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 }))) : (
|
|
68
68
|
// Figma's indeterminate ring is a fading "comet tail" (transparent -> solid color),
|
|
69
69
|
// not a flat-colored partial arc -- SVG has no angular/conic gradient primitive, so a
|
|
70
70
|
// CSS conic-gradient (color varying by angle) + a radial-gradient mask (carving the
|
|
@@ -73,7 +73,7 @@ export class BsProgress {
|
|
|
73
73
|
h("div", { part: "arc", class: "bs-progress__spinner", style: {
|
|
74
74
|
'--bs-progress-spinner-stroke-width': `${this.strokeWidth}px`,
|
|
75
75
|
'--bs-progress-spinner-sweep': `${INDETERMINATE_SWEEP_DEGREES}deg`,
|
|
76
|
-
} }))), isDeterminate && this.showLabel && (h("span", { key: '
|
|
76
|
+
} }))), isDeterminate && this.showLabel && (h("span", { key: '20b74322a926ff40188de525103f91992d9bc508', part: "label", class: `bs-progress__label bs-progress__label--${this.size}` }, value, "%"))));
|
|
77
77
|
}
|
|
78
78
|
static get is() { return "bs-progress"; }
|
|
79
79
|
static get encapsulation() { return "shadow"; }
|
|
@@ -98,7 +98,7 @@ export class BsProgress {
|
|
|
98
98
|
"references": {
|
|
99
99
|
"BsProgressType": {
|
|
100
100
|
"location": "local",
|
|
101
|
-
"path": "/home/runner/work/
|
|
101
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-progress/bs-progress.tsx",
|
|
102
102
|
"id": "src/components/bs-progress/bs-progress.tsx::BsProgressType"
|
|
103
103
|
}
|
|
104
104
|
}
|
|
@@ -124,7 +124,7 @@ export class BsProgress {
|
|
|
124
124
|
"references": {
|
|
125
125
|
"BsProgressSize": {
|
|
126
126
|
"location": "local",
|
|
127
|
-
"path": "/home/runner/work/
|
|
127
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-progress/bs-progress.tsx",
|
|
128
128
|
"id": "src/components/bs-progress/bs-progress.tsx::BsProgressSize"
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -150,7 +150,7 @@ export class BsProgress {
|
|
|
150
150
|
"references": {
|
|
151
151
|
"BsProgressStrokeWidth": {
|
|
152
152
|
"location": "local",
|
|
153
|
-
"path": "/home/runner/work/
|
|
153
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-progress/bs-progress.tsx",
|
|
154
154
|
"id": "src/components/bs-progress/bs-progress.tsx::BsProgressStrokeWidth"
|
|
155
155
|
}
|
|
156
156
|
}
|
|
@@ -40,19 +40,24 @@ export class BsProgressLinear {
|
|
|
40
40
|
/** Shows the slotted label below the bar. When `false`, or when no content is slotted, the
|
|
41
41
|
* label wrapper isn't rendered at all. Defaults to `true`. */
|
|
42
42
|
showLabel = true;
|
|
43
|
+
/** Accessible name for the progress bar (e.g. "Uploading report"). Required for assistive tech --
|
|
44
|
+
* a `role="progressbar"` with no name is an axe-core `aria-progressbar-name` violation. Setting
|
|
45
|
+
* `aria-label` on the host doesn't reach the inner element across the shadow boundary, so this
|
|
46
|
+
* prop binds it directly -- same pattern as `bs-button`'s `ariaLabel`. */
|
|
47
|
+
ariaLabel = null;
|
|
43
48
|
get clampedValue() {
|
|
44
49
|
return Math.min(100, Math.max(0, this.value));
|
|
45
50
|
}
|
|
46
51
|
render() {
|
|
47
52
|
const isDeterminate = this.type === 'determinate';
|
|
48
53
|
const value = this.clampedValue;
|
|
49
|
-
return (h("div", { key: '
|
|
54
|
+
return (h("div", { key: '279dbb0cd17b9584b500570d58cc09bd91e8a0d7', part: "container", class: "bs-progress-linear" }, 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 ? (h("div", { part: "fill", class: "bs-progress-linear__fill", style: { width: `${value}%` } })) : (
|
|
50
55
|
// Figma's indeterminate bar is a soft "comet" gradient segment (transparent -> blue ->
|
|
51
56
|
// transparent) sliding left-to-right across the track's full width in a loop -- the
|
|
52
57
|
// same fade concept as bs-progress's indeterminate ring's conic-gradient comet tail,
|
|
53
58
|
// but along a straight line via a linear-gradient + `transform: translateX(...)`
|
|
54
59
|
// keyframe animation instead of a rotating conic-gradient.
|
|
55
|
-
h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (h("span", { key: '
|
|
60
|
+
h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (h("span", { key: '51a75cae90630fec1d8757d483c239a534385aa7', part: "label", class: "bs-progress-linear__label" }, h("slot", { key: '7e6639ff4f7219cbb3fa09d7c7570268534530b4' })))));
|
|
56
61
|
}
|
|
57
62
|
// The default slot's assigned content lives in the host's light DOM regardless of whether a
|
|
58
63
|
// <slot> is currently rendered in the shadow tree, so this can be computed directly from the
|
|
@@ -98,7 +103,7 @@ export class BsProgressLinear {
|
|
|
98
103
|
"references": {
|
|
99
104
|
"BsProgressLinearType": {
|
|
100
105
|
"location": "local",
|
|
101
|
-
"path": "/home/runner/work/
|
|
106
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-progress-linear/bs-progress-linear.tsx",
|
|
102
107
|
"id": "src/components/bs-progress-linear/bs-progress-linear.tsx::BsProgressLinearType"
|
|
103
108
|
}
|
|
104
109
|
}
|
|
@@ -124,7 +129,7 @@ export class BsProgressLinear {
|
|
|
124
129
|
"references": {
|
|
125
130
|
"BsProgressLinearSize": {
|
|
126
131
|
"location": "local",
|
|
127
|
-
"path": "/home/runner/work/
|
|
132
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-progress-linear/bs-progress-linear.tsx",
|
|
128
133
|
"id": "src/components/bs-progress-linear/bs-progress-linear.tsx::BsProgressLinearSize"
|
|
129
134
|
}
|
|
130
135
|
}
|
|
@@ -180,6 +185,26 @@ export class BsProgressLinear {
|
|
|
180
185
|
"reflect": false,
|
|
181
186
|
"attribute": "show-label",
|
|
182
187
|
"defaultValue": "true"
|
|
188
|
+
},
|
|
189
|
+
"ariaLabel": {
|
|
190
|
+
"type": "string",
|
|
191
|
+
"mutable": false,
|
|
192
|
+
"complexType": {
|
|
193
|
+
"original": "string | null",
|
|
194
|
+
"resolved": "string",
|
|
195
|
+
"references": {}
|
|
196
|
+
},
|
|
197
|
+
"required": false,
|
|
198
|
+
"optional": false,
|
|
199
|
+
"docs": {
|
|
200
|
+
"tags": [],
|
|
201
|
+
"text": "Accessible name for the progress bar (e.g. \"Uploading report\"). Required for assistive tech --\na `role=\"progressbar\"` with no name is an axe-core `aria-progressbar-name` violation. Setting\n`aria-label` on the host doesn't reach the inner element across the shadow boundary, so this\nprop binds it directly -- same pattern as `bs-button`'s `ariaLabel`."
|
|
202
|
+
},
|
|
203
|
+
"getter": false,
|
|
204
|
+
"setter": false,
|
|
205
|
+
"reflect": false,
|
|
206
|
+
"attribute": "aria-label",
|
|
207
|
+
"defaultValue": "null"
|
|
183
208
|
}
|
|
184
209
|
};
|
|
185
210
|
}
|
|
@@ -51,7 +51,7 @@ export class BsRadio {
|
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
render() {
|
|
54
|
-
return (h("label", { key: '
|
|
54
|
+
return (h("label", { key: '9aed6afb95bd1875b02e96aa17ff9419f15f52df', class: `bs-radio ${this.disabled ? 'bs-radio--disabled' : ''}` }, h("input", { key: 'dd8976d2e0c907d2dc2af45540d3c10abca9abb1', class: "bs-radio__input", type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, onChange: this.onChange }), h("span", { key: 'dd68936424c34d8395b1b3540e875a0efb154365', class: "bs-radio__hit-area" }, h("span", { key: 'a5d17ebb7a01851ce3cd0a2acc3c16be911ffc53', class: "bs-radio__state-layer" }, h("span", { key: '46ed4553f672712b4c2fc26b8e229a93bb4ad575', part: "circle", class: `bs-radio__circle ${this.checked ? 'bs-radio__circle--selected' : ''}` }, this.checked && h("span", { key: '18d9f81c031ff77ee4361a0ce8c73665bd6c1b75', part: "dot", class: "bs-radio__dot" })))), h("span", { key: 'a48cfc6d0689e523ab70450853b9fb2450c172e9', part: "label", class: "bs-radio__label" }, h("slot", { key: '7b1a801812fe510eb392c7266e8253bc9408c3db' }))));
|
|
55
55
|
}
|
|
56
56
|
static get is() { return "bs-radio"; }
|
|
57
57
|
static get encapsulation() { return "shadow"; }
|
|
@@ -199,7 +199,7 @@ export class BsSlider {
|
|
|
199
199
|
render() {
|
|
200
200
|
const isRange = this.type === 'range';
|
|
201
201
|
const rootClasses = ['bs-slider', this.disabled ? 'bs-slider--disabled' : ''].filter(Boolean).join(' ');
|
|
202
|
-
return (h("div", { key: '
|
|
202
|
+
return (h("div", { key: '602cadcb8377457bc5911161b238c612545592b4', class: rootClasses }, this.showLabel && (h("div", { key: '02b4d3d785665b4563dd04708a5926e116c8f5d7', class: "bs-slider__header" }, h("span", { key: '6a1ddf9c9a50b823231c779610fcbd2cef944701', id: "bs-slider-label", part: "label", class: "bs-slider__label" }, this.label), isRange ? (h("span", { class: "bs-slider__value-fields" }, this.renderPercentField(this.percent(this.effectiveValueStart), this.onStartPercentFieldChange, this.ariaLabel ?? 'Start value'), h("span", { class: "bs-slider__separator" }, "\u2013"), this.renderPercentField(this.percent(this.effectiveValueEnd), this.onEndPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} end` : 'End value'))) : (this.renderPercentField(this.percent(this.value), this.onPercentFieldChange, this.ariaLabel ? `${this.ariaLabel} value` : 'Value')))), h("div", { key: '841a41446845737e38d88ca122ec5c626da5ba53', class: "bs-slider__row" }, this.showLabel && (h("span", { key: 'a978c0bf50a02ae281925ecd2a21d4aec6458be8', part: "bound", class: "bs-slider__bound" }, this.min)), isRange ? this.renderRangeThumbs() : this.renderSingleThumb(), this.showLabel && (h("span", { key: 'beb8e6ffb9113c9e6d1185f67db27fd77e6eec4c', part: "bound", class: "bs-slider__bound" }, this.max)))));
|
|
203
203
|
}
|
|
204
204
|
static get is() { return "bs-slider"; }
|
|
205
205
|
static get encapsulation() { return "shadow"; }
|
|
@@ -225,7 +225,7 @@ export class BsSlider {
|
|
|
225
225
|
"references": {
|
|
226
226
|
"BsSliderType": {
|
|
227
227
|
"location": "local",
|
|
228
|
-
"path": "/home/runner/work/
|
|
228
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-slider/bs-slider.tsx",
|
|
229
229
|
"id": "src/components/bs-slider/bs-slider.tsx::BsSliderType"
|
|
230
230
|
}
|
|
231
231
|
}
|
|
@@ -61,7 +61,7 @@ export class BsSnackbar {
|
|
|
61
61
|
this.bsDismiss.emit();
|
|
62
62
|
};
|
|
63
63
|
render() {
|
|
64
|
-
return (h("div", { key: '
|
|
64
|
+
return (h("div", { key: 'c84de130f993938339fd16d9f534f1da18fe6c0a', part: "container", class: `bs-snackbar bs-snackbar--${this.variant}`, role: "status", "aria-live": this.variant === 'error' ? 'assertive' : 'polite' }, h("div", { key: '0941f900229f6b3208f8268d34b0cde49e4dba22', class: "bs-snackbar__content" }, h("span", { key: 'cf89eff5ea640950573f9b610d6eff46e5d0154e', part: "icon", class: "bs-snackbar__icon", "aria-hidden": "true" }, this.loading ? h("span", { class: "bs-snackbar__spinner" }) : h(CheckCircleIcon, null)), h("span", { key: 'd4ae7e62ecaea7b53962b08d69bae435ecf0a810', part: "message", class: "bs-snackbar__message" }, h("slot", { key: 'a99ec601f27f79f42fc61cd14c0fed742d2fa334' }))), h("div", { key: 'a139c0287e2eacb26ccbd604ff0343bca23eeb5d', class: "bs-snackbar__actions" }, this.actionLabel && (h("bs-button", { key: 'f22c4a63903fdb50da087ab2c38dd076298a12ed', part: "action", variant: ACTION_VARIANT[this.variant], size: "sm", onClick: this.onAction }, this.actionLabel)), h("bs-icon-button", { key: '4cd5c8f367ee71f11dad1f6f47ff1cdf6436a764', part: "close", variant: "subtle", size: "md", ariaLabel: "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: 'a52e6af7acf7c95a54aa6cb5237f2b53e30ea601' })))));
|
|
65
65
|
}
|
|
66
66
|
static get is() { return "bs-snackbar"; }
|
|
67
67
|
static get encapsulation() { return "shadow"; }
|
|
@@ -86,7 +86,7 @@ export class BsSnackbar {
|
|
|
86
86
|
"references": {
|
|
87
87
|
"BsSnackbarVariant": {
|
|
88
88
|
"location": "local",
|
|
89
|
-
"path": "/home/runner/work/
|
|
89
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-snackbar/bs-snackbar.tsx",
|
|
90
90
|
"id": "src/components/bs-snackbar/bs-snackbar.tsx::BsSnackbarVariant"
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -51,8 +51,8 @@ export class BsSourceLink {
|
|
|
51
51
|
};
|
|
52
52
|
render() {
|
|
53
53
|
const inner = [
|
|
54
|
-
h("span", { key: '
|
|
55
|
-
h("span", { key: '
|
|
54
|
+
h("span", { key: '5c6382ad80cc971f302da1d80af089306a612e73', class: "bs-source-link__left" }, h("span", { key: '07c8591469e23fe4304846e9282cea0a9eae3ba2', class: "bs-source-link__filename-row" }, h("span", { key: 'ffdb99816134be212cc4d30ebdbf8dd8bcdc085f', part: "icon", class: "bs-source-link__icon" }, h("slot", { key: '475cd85bcb5caa1d3a82d08318731ef4bdf6cb60', name: "icon" }, h(FileTextIcon, { key: '6915810a89f15b823b2b744d30db5b2cefff8162' }))), h("p", { key: '14facc92c71f91701654ea2ce2f9f2ef4b980c5e', part: "filename", class: "bs-source-link__filename" }, this.fileName)), h("span", { key: 'ecd7080f8bc8ce5d7e169f917aaae275ac7a474e', class: "bs-source-link__meta" }, this.sourceName && (h("span", { key: 'f1697d3e278225b26909ec1c40ce2c4cb51c884b', part: "source", class: "bs-source-link__source" }, this.sourceName)), this.sourceName && this.version && h("span", { key: '8efe25341dc7c68ec9c66b91f5f399c9b8ed659f', class: "bs-source-link__dot", "aria-hidden": "true" }), this.version && (h("span", { key: 'cddd46792f911af65434554e56d1cb72d2b88cae', part: "version", class: "bs-source-link__version" }, this.version)))),
|
|
55
|
+
h("span", { key: '166b5070329771cd7e8f20689e5b257d3f6f1fd0', part: "arrow", class: "bs-source-link__arrow", "aria-hidden": "true" }, h(ArrowUpRightIcon, { key: 'c2a820c6b36ead5f1bbfd74d84c70cb9894c8f1f' })),
|
|
56
56
|
];
|
|
57
57
|
return this.href ? (h("a", { class: "bs-source-link", href: this.href, target: this.target, rel: "noopener noreferrer", onClick: this.onClick }, inner)) : (h("button", { type: "button", class: "bs-source-link", onClick: this.onClick }, inner));
|
|
58
58
|
}
|
|
@@ -61,7 +61,7 @@ export class BsStepper {
|
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
render() {
|
|
64
|
-
return h("slot", { key: '
|
|
64
|
+
return h("slot", { key: '5e707b38009031a71566e20ec8b9d1df55462e27', onSlotchange: this.onSlotChange });
|
|
65
65
|
}
|
|
66
66
|
static get is() { return "bs-stepper"; }
|
|
67
67
|
static get encapsulation() { return "shadow"; }
|
|
@@ -57,7 +57,7 @@ export class BsStepperStep {
|
|
|
57
57
|
}
|
|
58
58
|
render() {
|
|
59
59
|
const state = this.state;
|
|
60
|
-
return (h(Host, { key: '
|
|
60
|
+
return (h(Host, { key: 'fe270c356f44c25a3a12450eec8e1a7657d4d88f', role: "listitem", class: `bs-stepper-step--${this.direction}` }, h("div", { key: '1bc833a5ca917d141078e3b69e9e455ec8d877ad', class: "bs-stepper-step__top" }, h("span", { key: 'aa91b7e91d600b08c389be456b28f4a65450d72e', part: "icon", class: `bs-stepper-step__icon bs-stepper-step__icon--${state}` }, state === 'current' && h("span", { key: 'e3fee594c97bf9f5d47e1b922bf9adffa1c0d438', class: "bs-stepper-step__icon-dot" }), state === 'done' && h(CheckIcon, { key: '4930e7653d7c81c8fcf18920fdd0a9a0e975eee4' }), state === 'error' && h(ExclamationIcon, { key: 'ca757e769dd4411c987bf5f22b7cda904d9fd067' })), h("span", { key: '2b0621849727e355d4d0944087ff1d9eacb5b5f7', part: "connector", class: "bs-stepper-step__connector", "aria-hidden": "true" }, h("span", { key: '0d08b9591ea2c9a967ebf85dce105f667cb86370', class: "bs-stepper-step__connector-line" }))), h("span", { key: '3bd0490ef190a4e4f33f822383be230e4e20e7dc', part: "label", class: `bs-stepper-step__label bs-stepper-step__label--${state}` }, h("span", { key: 'cf6cb4f72fcf546a954085d125a72548cfe521fe', part: "name", class: "bs-stepper-step__name" }, this.name), this.showDescription && this.description && (h("span", { key: 'b0ef234071983ae8c87d68440e7bfa4a491a35f5', part: "description", class: "bs-stepper-step__description" }, this.description)))));
|
|
61
61
|
}
|
|
62
62
|
static get is() { return "bs-stepper-step"; }
|
|
63
63
|
static get encapsulation() { return "shadow"; }
|
|
@@ -161,7 +161,7 @@ export class BsStepperStep {
|
|
|
161
161
|
"references": {
|
|
162
162
|
"BsStepperStepComputedState": {
|
|
163
163
|
"location": "local",
|
|
164
|
-
"path": "/home/runner/work/
|
|
164
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-stepper/bs-stepper-step/bs-stepper-step.tsx",
|
|
165
165
|
"id": "src/components/bs-stepper/bs-stepper-step/bs-stepper-step.tsx::BsStepperStepComputedState"
|
|
166
166
|
}
|
|
167
167
|
}
|
|
@@ -187,7 +187,7 @@ export class BsStepperStep {
|
|
|
187
187
|
"references": {
|
|
188
188
|
"BsStepperDirection": {
|
|
189
189
|
"location": "local",
|
|
190
|
-
"path": "/home/runner/work/
|
|
190
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-stepper/bs-stepper-step/bs-stepper-step.tsx",
|
|
191
191
|
"id": "src/components/bs-stepper/bs-stepper-step/bs-stepper-step.tsx::BsStepperDirection"
|
|
192
192
|
}
|
|
193
193
|
}
|
|
@@ -58,7 +58,7 @@ export class BsSwitch {
|
|
|
58
58
|
const knobClasses = ['bs-switch__knob', `bs-switch__knob--${this.size}`, this.disabled ? 'bs-switch__knob--disabled' : '']
|
|
59
59
|
.filter(Boolean)
|
|
60
60
|
.join(' ');
|
|
61
|
-
return (h("label", { key: '
|
|
61
|
+
return (h("label", { key: 'b726eda9fd90c67368ff44f288d39a80516ac68c', class: `bs-switch ${this.disabled ? 'bs-switch--disabled' : ''}` }, h("input", { key: 'ff95ba83169aae65ec57068f2b461b23fe344903', class: "bs-switch__input", type: "checkbox", role: "switch", checked: this.checked, disabled: this.disabled, "aria-checked": String(this.checked), "aria-label": this.ariaLabel, onChange: this.onChange }), h("span", { key: 'e09834a43eb922bcf973b880da3baa1694389ca0', part: "track", class: trackClasses }, h("span", { key: 'dc6c409faddb65511847a941331926ae736ce9ec', part: "knob", class: knobClasses })), h("span", { key: '2943c9fb029632360d21aaaa544d7674322cafc6', part: "label", class: "bs-switch__label" }, h("slot", { key: '55ef83bfb72ed4b463b854eff1fd9472048dcfc4' }))));
|
|
62
62
|
}
|
|
63
63
|
static get is() { return "bs-switch"; }
|
|
64
64
|
static get encapsulation() { return "shadow"; }
|
|
@@ -84,7 +84,7 @@ export class BsSwitch {
|
|
|
84
84
|
"references": {
|
|
85
85
|
"BsSwitchSize": {
|
|
86
86
|
"location": "local",
|
|
87
|
-
"path": "/home/runner/work/
|
|
87
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-switch/bs-switch.tsx",
|
|
88
88
|
"id": "src/components/bs-switch/bs-switch.tsx::BsSwitchSize"
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -86,7 +86,7 @@ export class BsInlineTab {
|
|
|
86
86
|
};
|
|
87
87
|
render() {
|
|
88
88
|
const iconOnly = this.hasIcon && !this.hasLabel;
|
|
89
|
-
return (h("button", { key: '
|
|
89
|
+
return (h("button", { key: '5fafbb8734ddd3d5b155ebdaac9c3aa5ecae6309', type: "button", part: "tab", role: "tab", class: `bs-inline-tab ${this.selected ? 'bs-inline-tab--selected' : ''} ${this.disabled ? 'bs-inline-tab--disabled' : ''} ${iconOnly ? 'bs-inline-tab--icon-only' : ''} ${this.hasIcon ? 'bs-inline-tab--has-icon' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '26381015d527bbb2d7b598e117dd61512b5acdac', part: "icon", class: `bs-inline-tab__icon ${this.hasIcon ? 'bs-inline-tab__icon--has-content' : ''}` }, h("slot", { key: '9902a6a2263b7bac63063817859924decd8b3518', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '1982f864c34bb1869085c46237eb1620da47449d', part: "label", class: `bs-inline-tab__label ${this.hasLabel ? 'bs-inline-tab__label--has-content' : ''}` }, h("slot", { key: '5029733093fd8dd68565af803bb74444e5470eef', onSlotchange: this.onLabelSlotchange }))));
|
|
90
90
|
}
|
|
91
91
|
static get is() { return "bs-inline-tab"; }
|
|
92
92
|
static get encapsulation() { return "shadow"; }
|
|
@@ -99,7 +99,7 @@ export class BsTab {
|
|
|
99
99
|
const iconOnly = this.hasIcon && !this.hasLabel;
|
|
100
100
|
const vertical = this.hasIcon && this.hasLabel && this.iconPosition === 'top';
|
|
101
101
|
const showBadge = this.hasBadge && !iconOnly && !vertical;
|
|
102
|
-
return (h("button", { key: '
|
|
102
|
+
return (h("button", { key: 'b70b65a38774feac31afb3c742c1c347d0d8f009', type: "button", part: "tab", role: "tab", class: `bs-tab ${this.selected ? 'bs-tab--selected' : ''} ${this.disabled ? 'bs-tab--disabled' : ''} ${iconOnly ? 'bs-tab--icon-only' : ''} ${vertical ? 'bs-tab--vertical' : ''}`, disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: 'bae69ab5499b9e8f695cf0bc559fa395097ae7dc', part: "icon", class: `bs-tab__icon ${this.hasIcon ? 'bs-tab__icon--has-content' : ''}` }, h("slot", { key: 'b6f545c119b1e53520ee0a62b51d84071aace11f', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '6c8cf0dd0394ebfc9a5825d01713628ce20d1c2d', part: "label", class: `bs-tab__label ${this.hasLabel ? 'bs-tab__label--has-content' : ''}` }, h("slot", { key: '7eddcdcc73576ac8fc4f640e3f9cdc8c5cc04eb8', onSlotchange: this.onLabelSlotchange })), h("span", { key: 'acf5cd096bb0ff3a7c2bd898759995dc73b261f5', part: "badge", class: `bs-tab__badge ${showBadge ? 'bs-tab__badge--has-content' : ''}` }, h("slot", { key: 'f97ae6b3b7760883b3ce9c20a0e7ec29dd43677e', name: "badge", onSlotchange: this.onBadgeSlotchange })), h("span", { key: '2db637b4b3f398b8d300731565b0accd1138fe88', part: "indicator", class: "bs-tab__indicator" })));
|
|
103
103
|
}
|
|
104
104
|
static get is() { return "bs-tab"; }
|
|
105
105
|
static get encapsulation() { return "shadow"; }
|
|
@@ -164,7 +164,7 @@ export class BsTab {
|
|
|
164
164
|
"references": {
|
|
165
165
|
"BsTabIconPosition": {
|
|
166
166
|
"location": "local",
|
|
167
|
-
"path": "/home/runner/work/
|
|
167
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-tab/bs-tab/bs-tab.tsx",
|
|
168
168
|
"id": "src/components/bs-tab/bs-tab/bs-tab.tsx::BsTabIconPosition"
|
|
169
169
|
}
|
|
170
170
|
}
|
|
@@ -50,7 +50,7 @@ export class BsTabs {
|
|
|
50
50
|
}
|
|
51
51
|
render() {
|
|
52
52
|
const vertical = this.orientation === 'vertical';
|
|
53
|
-
return (h("div", { key: '
|
|
53
|
+
return (h("div", { key: '3d45234fd7f253c692fe4bbc150e5e31c3c0144d', part: "tablist", role: "tablist", "aria-orientation": this.orientation, class: `bs-tabs bs-tabs--${this.type} ${vertical ? 'bs-tabs--vertical' : ''}` }, h("slot", { key: '1872fc2d82a5cde90b9e5b7fc76976f1083a3563' })));
|
|
54
54
|
}
|
|
55
55
|
static get is() { return "bs-tabs"; }
|
|
56
56
|
static get encapsulation() { return "shadow"; }
|
|
@@ -75,7 +75,7 @@ export class BsTabs {
|
|
|
75
75
|
"references": {
|
|
76
76
|
"BsTabsType": {
|
|
77
77
|
"location": "local",
|
|
78
|
-
"path": "/home/runner/work/
|
|
78
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-tab/bs-tabs/bs-tabs.tsx",
|
|
79
79
|
"id": "src/components/bs-tab/bs-tabs/bs-tabs.tsx::BsTabsType"
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -101,7 +101,7 @@ export class BsTabs {
|
|
|
101
101
|
"references": {
|
|
102
102
|
"BsTabsOrientation": {
|
|
103
103
|
"location": "local",
|
|
104
|
-
"path": "/home/runner/work/
|
|
104
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-tab/bs-tabs/bs-tabs.tsx",
|
|
105
105
|
"id": "src/components/bs-tab/bs-tabs/bs-tabs.tsx::BsTabsOrientation"
|
|
106
106
|
}
|
|
107
107
|
}
|
|
@@ -25,7 +25,7 @@ export class BsToast {
|
|
|
25
25
|
this.bsDismiss.emit();
|
|
26
26
|
};
|
|
27
27
|
render() {
|
|
28
|
-
return (h("div", { key: '
|
|
28
|
+
return (h("div", { key: '238f177a44aa2bd735432fe8f3fd1d761065d023', part: "container", class: `bs-toast bs-toast--${this.state}`, role: "status", "aria-live": this.state === 'error' ? 'assertive' : 'polite' }, h("div", { key: '717e222c7b271db0ff5aa57db8ce0efa15bfaf50', class: "bs-toast__content" }, h("span", { key: '316106f6efbcc8abe6bb155e77ec21343b93287c', part: "icon", class: "bs-toast__icon", "aria-hidden": "true" }, h(StateIcon, { key: '5973febbe8d7be889fd14cac847c417a22acb111', state: this.state })), h("span", { key: '1d16db1ba5c010ac5af237b4b399e0dda6f6df59', part: "message", class: "bs-toast__message" }, h("slot", { key: '40e97271fec790a850491be58ae87e54b4765a6a' }))), h("div", { key: '16744b9b6ad79d13aec16afa6593ab0de1ec5ee2', class: "bs-toast__actions" }, h("button", { key: '87adace9953b2dca831543132f3fe5590bc4c52f', part: "close", type: "button", class: "bs-toast__close", "aria-label": "Dismiss", onClick: this.onDismiss }, h(CloseIcon, { key: 'dcf5ffe7a5553ec2792d801c7f62ed367d1454ef' })))));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "bs-toast"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -50,7 +50,7 @@ export class BsToast {
|
|
|
50
50
|
"references": {
|
|
51
51
|
"BsToastState": {
|
|
52
52
|
"location": "local",
|
|
53
|
-
"path": "/home/runner/work/
|
|
53
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-toast/bs-toast.tsx",
|
|
54
54
|
"id": "src/components/bs-toast/bs-toast.tsx::BsToastState"
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -42,7 +42,7 @@ export class BsTooltip {
|
|
|
42
42
|
*/
|
|
43
43
|
placement = 'top';
|
|
44
44
|
render() {
|
|
45
|
-
return (h("div", { key: '
|
|
45
|
+
return (h("div", { key: '81d300180aa98431ab694c50e76bb7e55a65efb0', class: "bs-tooltip" }, h("span", { key: '42e53b74b32dab5418e1e7ce37210316fd14341e', part: "arrow", class: "bs-tooltip__arrow" }), h("div", { key: '9b118fbb55282ef4cc7ccdf45da46c1939e25147', part: "bubble", class: "bs-tooltip__bubble" }, h("slot", { key: '52f128c55db4da2bbdc6b94c254ab80fb7dcc53f' }))));
|
|
46
46
|
}
|
|
47
47
|
static get is() { return "bs-tooltip"; }
|
|
48
48
|
static get encapsulation() { return "shadow"; }
|
|
@@ -117,7 +117,7 @@ export class BsNavigationDrawer {
|
|
|
117
117
|
this.bsSearchClick.emit();
|
|
118
118
|
};
|
|
119
119
|
render() {
|
|
120
|
-
return (h("nav", { key: '
|
|
120
|
+
return (h("nav", { key: '4f39df22dc1027094a67c3d331021a90c471bef6', class: "bs-navigation-drawer", "aria-label": this.heading }, this.showLogo && (h("div", { key: '68101afc424bba6fd56d6b155d8130b77fcb42a9', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--full" }, h("bs-logo", { key: '7ec295e0411d6fe6ed33ea67e632fcda72a49611', variant: "full", background: this.logoBackground }))), this.showLogo && (h("div", { key: 'ee9db23aeb0c7ad6297bed6a4baa17dbe4b2f6d4', part: "logo", class: "bs-navigation-drawer__logo bs-navigation-drawer__logo--mark" }, h("bs-logo", { key: 'e69f31b910c3302d2c5851ae9bfdbfec1999fd4e', variant: "mark", background: this.logoBackground }))), h("div", { key: '8d69e56009e183c1745ddafebc75417ce6ea5bdc', class: "bs-navigation-drawer__title-row" }, h("span", { key: '434dd310adc86473876e125fab81f97b0beb5c4b', part: "title", class: "bs-navigation-drawer__title" }, this.heading), this.collapsible && (h("button", { key: '27508cb2c5f417d450b1a059b8e07d47396d3e69', type: "button", part: "collapse", class: "bs-navigation-drawer__collapse", "aria-label": this.collapsed ? 'Expand' : 'Collapse', "aria-pressed": this.collapsed ? 'true' : 'false', onClick: this.onCollapseClick }, h(CaretLeftIcon, { key: '96ee586ecd6edc378a95a0afcc114919230a52af' })))), h("div", { key: '3b20ffc4e837b7a2e7229ba575b429e54fc9f3ac', part: "search", class: "bs-navigation-drawer__search" }, h("slot", { key: 'f62aae2397c1eada4c0d52fd6d4cba778f475a58', name: "search" })), h("button", { key: 'a00b4871692f612c62d5e1b6de9511ca7ce7ebe3', type: "button", part: "search-trigger", class: "bs-navigation-drawer__search-trigger", "aria-label": "Search", onClick: this.onSearchTriggerClick }, h(SearchIcon, { key: '8402ace02e086a862bcc3bc92beb324940f7fda0' })), h("div", { key: '3ac74499c23530d89061d04fa23c4fd6a7e8c7b4', part: "items", class: "bs-navigation-drawer__items" }, h("slot", { key: '89baa650f1449c813f7a1e9f29f6525dcf6e2699' }))));
|
|
121
121
|
}
|
|
122
122
|
static get is() { return "bs-navigation-drawer"; }
|
|
123
123
|
static get encapsulation() { return "shadow"; }
|
|
@@ -131,7 +131,7 @@ export class BsNavigationDrawerItem {
|
|
|
131
131
|
// incorrectly also toggle this parent row on every child click. Both are wrapped in a
|
|
132
132
|
// `display: contents` container so render() still returns a single root node (this codebase's
|
|
133
133
|
// convention, e.g. bs-input.tsx) without that wrapper affecting layout at all.
|
|
134
|
-
return (h("div", { key: '
|
|
134
|
+
return (h("div", { key: 'bb51c715175ff08caa34b5c2e3c5f7fecdd92059', class: "bs-navigation-drawer-item__root" }, h("button", { key: '799bb1bd74e830e8630c5a8bebe91ffa8e988c07', type: "button", part: "item", class: rowClasses, "aria-expanded": this.expandable ? String(this.expanded) : undefined, "aria-label": this.ariaLabel ?? undefined, onClick: this.onClick }, !this.nested && (h("span", { key: '78cf9b9281f94d44928b8f7e93de4ed327ca2e6e', part: "icon", class: `bs-navigation-drawer-item__icon ${this.hasIcon ? 'bs-navigation-drawer-item__icon--has-content' : ''}` }, h("slot", { key: '94b6037e69f7f1aa77a5abf3c726ae1f02eb55e0', name: "icon", onSlotchange: this.onIconSlotchange }))), h("span", { key: 'f7b355c4ef9b4a1d115083fbcb19003aee1a56a4', part: "label", class: "bs-navigation-drawer-item__label" }, h("slot", { key: '68ad8fb87791f5533a13eafa1348990f0acff6d4' })), this.expandable && (h("span", { key: 'd0f2ef997e4ee619013d63a0793008bb797b2776', part: "chevron", class: `bs-navigation-drawer-item__chevron ${this.expanded ? 'bs-navigation-drawer-item__chevron--expanded' : ''}` }, h(ChevronDownIcon, { key: '20286773f2ec74c370335bdcb30b36cd868c3a58' })))), this.expandable && (h("span", { key: 'e9b7a658742af43fcc570c33e82f28bbb87b5a05', part: "children", class: "bs-navigation-drawer-item__children" }, h("slot", { key: '172adb88df778a8411cbe3de3250af1917564b5d', name: "children" })))));
|
|
135
135
|
}
|
|
136
136
|
static get is() { return "bs-navigation-drawer-item"; }
|
|
137
137
|
static get encapsulation() { return "shadow"; }
|
|
@@ -61,7 +61,7 @@ export class BsNavigationHeader {
|
|
|
61
61
|
render() {
|
|
62
62
|
const showLogo = this.alignment !== 'with-navigation-drawer';
|
|
63
63
|
const rootClasses = `bs-navigation-header bs-navigation-header--${this.alignment}`;
|
|
64
|
-
return (h("header", { key: '
|
|
64
|
+
return (h("header", { key: '0dc99abb8f2db96f0befe1b838a2db037636a75c', class: rootClasses, "aria-label": this.ariaLabel ?? undefined }, this.skipToContentHref && (h("a", { key: '1f906366d5398aa62d2485afdb1c9cf350354f05', part: "skip-link", class: "bs-navigation-header__skip-link", href: this.skipToContentHref }, this.skipToContentLabel)), showLogo && (h("bs-logo", { key: 'c735b4647acc92ff5b6725dc72bfbab421230a9c', part: "logo", class: "bs-navigation-header__logo", variant: "full", background: this.logoBackground })), h("div", { key: '845c1d60319daf2aa7aa57f0f8ba71e0f633598e', part: "left", class: "bs-navigation-header__left" }, h("slot", { key: '67436745b63a843e86a79163f927f2b563b6e2e4', name: "left" })), h("div", { key: '4c6d514d7cf238b5be8476f9fede7292b1dc1c10', part: "right", class: "bs-navigation-header__right" }, h("slot", { key: 'a6c12231c6cc728314fdfc076a48fd1ce0f79ede', name: "right" }))));
|
|
65
65
|
}
|
|
66
66
|
static get is() { return "bs-navigation-header"; }
|
|
67
67
|
static get encapsulation() { return "shadow"; }
|
|
@@ -86,7 +86,7 @@ export class BsNavigationHeader {
|
|
|
86
86
|
"references": {
|
|
87
87
|
"BsNavigationHeaderAlignment": {
|
|
88
88
|
"location": "local",
|
|
89
|
-
"path": "/home/runner/work/
|
|
89
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.tsx",
|
|
90
90
|
"id": "src/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.tsx::BsNavigationHeaderAlignment"
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import axe from "axe-core";
|
|
2
|
+
import { expect } from "vitest";
|
|
3
|
+
// Operationalizes CONVENTIONS.md's three customization channels so every component test can
|
|
4
|
+
// assert the contract directly, instead of relying on each author remembering the naming rules.
|
|
5
|
+
const STATE_WORDS = ['hover', 'active', 'focus', 'disabled', 'selected', 'expanded', 'checked', 'pressed'];
|
|
6
|
+
/**
|
|
7
|
+
* CSS Custom Properties: `--bs-<component>-<property>[-<state>]`, always aliased to a
|
|
8
|
+
* brandsync-tokens value (never a hardcoded literal) -- CONVENTIONS.md lines 8-10, 25.
|
|
9
|
+
* We can't inspect the token source from computed style alone, so this checks the property
|
|
10
|
+
* actually resolves to a non-empty value (i.e. the component really defines it, rather than the
|
|
11
|
+
* consumer having to guess it exists) and that the name itself follows the naming convention.
|
|
12
|
+
*/
|
|
13
|
+
export function assertCssCustomProperties(el, expectedProps) {
|
|
14
|
+
const style = getComputedStyle(el);
|
|
15
|
+
for (const prop of expectedProps) {
|
|
16
|
+
expect(prop, `CSS custom property "${prop}" must start with --bs-`).toMatch(/^--bs-[a-z0-9-]+$/);
|
|
17
|
+
const value = style.getPropertyValue(prop).trim();
|
|
18
|
+
expect(value, `CSS custom property "${prop}" must resolve to a non-empty value on ${el.tagName}`).not.toBe('');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Shadow Parts: singular, lowercase, structural noun -- no state-based names (CONVENTIONS.md
|
|
23
|
+
* lines 28-29). Confirms each expected part exists in the shadow root and that its name doesn't
|
|
24
|
+
* smuggle state into the identifier (e.g. `::part(icon-hovered)` is disallowed; a consumer should
|
|
25
|
+
* style state via `::part(icon):hover`/CSS, not a different part name per state).
|
|
26
|
+
*/
|
|
27
|
+
export function assertShadowParts(shadowRoot, expectedParts) {
|
|
28
|
+
for (const name of expectedParts) {
|
|
29
|
+
expect(name, `Shadow part "${name}" must be lowercase, hyphenated, no state words`).toMatch(/^[a-z][a-z0-9-]*$/);
|
|
30
|
+
for (const stateWord of STATE_WORDS) {
|
|
31
|
+
expect(name.includes(stateWord), `Shadow part "${name}" must not encode state ("${stateWord}") in its name`).toBe(false);
|
|
32
|
+
}
|
|
33
|
+
const found = shadowRoot.querySelector(`[part~="${name}"]`);
|
|
34
|
+
expect(found, `Expected shadow part "${name}" not found in shadow root`).not.toBeNull();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Runs axe-core directly against the given root (real browser context, since Vitest's browser
|
|
39
|
+
* mode executes test code in-browser via @vitest/browser-playwright) and fails with a readable
|
|
40
|
+
* list of violations rather than a raw axe result dump.
|
|
41
|
+
*/
|
|
42
|
+
export async function runAxeCheck(root = document) {
|
|
43
|
+
const results = await axe.run(root);
|
|
44
|
+
const violations = results.violations.map(v => `${v.id} (${v.impact}): ${v.help} -- ${v.nodes.length} node(s)`);
|
|
45
|
+
expect(violations, `axe-core found accessibility violations:\n${violations.join('\n')}`).toEqual([]);
|
|
46
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { assertCssCustomProperties, assertShadowParts } from "./conventions";
|
|
3
|
+
// Pure logic checks for the convention helpers themselves -- naming-pattern enforcement doesn't
|
|
4
|
+
// need a real browser/shadow root, so this runs in the lightweight `unit` vitest project rather
|
|
5
|
+
// than `browser`. The in-browser behavior (resolving computed styles, finding real shadow parts)
|
|
6
|
+
// is exercised indirectly by every .cmp.test.tsx file that calls these helpers.
|
|
7
|
+
describe('assertCssCustomProperties', () => {
|
|
8
|
+
it('rejects a property name not starting with --bs-', () => {
|
|
9
|
+
const fakeEl = {};
|
|
10
|
+
expect(() => assertCssCustomProperties(fakeEl, ['--button-height'])).toThrow();
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
describe('assertShadowParts', () => {
|
|
14
|
+
function fakeShadowRoot(partNames) {
|
|
15
|
+
return {
|
|
16
|
+
querySelector: (selector) => {
|
|
17
|
+
const match = selector.match(/\[part~="([^"]+)"\]/);
|
|
18
|
+
return match && partNames.includes(match[1]) ? {} : null;
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
it('rejects an uppercase or non-hyphenated part name', () => {
|
|
23
|
+
const root = fakeShadowRoot(['Icon']);
|
|
24
|
+
expect(() => assertShadowParts(root, ['Icon'])).toThrow();
|
|
25
|
+
});
|
|
26
|
+
it('rejects a part name that encodes state', () => {
|
|
27
|
+
const root = fakeShadowRoot(['icon-hovered']);
|
|
28
|
+
expect(() => assertShadowParts(root, ['icon-hovered'])).toThrow();
|
|
29
|
+
});
|
|
30
|
+
it('passes for a valid structural-noun part that exists in the shadow root', () => {
|
|
31
|
+
const root = fakeShadowRoot(['icon']);
|
|
32
|
+
expect(() => assertShadowParts(root, ['icon'])).not.toThrow();
|
|
33
|
+
});
|
|
34
|
+
it('fails when the expected part is missing from the shadow root', () => {
|
|
35
|
+
const root = fakeShadowRoot([]);
|
|
36
|
+
expect(() => assertShadowParts(root, ['icon'])).toThrow();
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as o,p as a,H as i,c as e,h as c}from"./p-
|
|
1
|
+
import{t as o,p as a,H as i,c as e,h as c}from"./p-mnGJPH85.js";const n=a(class extends i{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.bsToggle=e(this,"bsToggle")}expanded=!1;size="medium";disabled=!1;showIcon=!0;showPreview=!0;bsToggle;onActivate=()=>{this.disabled||this.bsToggle.emit(!this.expanded)};render(){return c("div",{key:"2774538f3bc8d52e5a295edafbdad5e2a12dddda",part:"container",class:`bs-accordion bs-accordion--${this.size} ${this.disabled?"bs-accordion--disabled":""}`},c("button",{key:"7e1942dca9082ac653dd7e3d55d9b919790bcd5b",type:"button",part:"header",class:`bs-accordion__header bs-accordion__header--${this.size} ${this.showIcon?"":"bs-accordion__header--no-icon"}`,disabled:this.disabled,"aria-expanded":this.expanded+"",onClick:this.onActivate},this.showIcon&&c("span",{key:"abd274cb295ae34e9220846a1e8466623f65663a",part:"icon",class:"bs-accordion__icon bs-accordion__icon--"+this.size,"aria-hidden":"true"},c("slot",{key:"d9c4c429852c77f4a10c05eb247a9d3d35559ef6",name:"icon"},c(d,{key:"2fb492c43754a517e4e98b684f811be21777e849"}))),c("span",{key:"a02484f1a47148493fbc193bc4b9daa8e4c634e7",part:"label",class:"bs-accordion__label "+(this.showIcon?"":"bs-accordion__label--no-icon")},c("slot",{key:"8241ccee7233e85c2d69c225c07e67b982674ef7",name:"label"})),c("span",{key:"6e36ee8dbd22ca924f9d8ea8b5c3017c5478f058",part:"caret",class:"bs-accordion__caret bs-accordion__caret--"+this.size,"aria-hidden":"true"},c(this.expanded?s:r,null))),(this.expanded||this.showPreview)&&c("div",{key:"1e3ad6fe654c633a4094ea9014ef79d82feae2db",part:"content",class:`bs-accordion__content ${this.showIcon?"":"bs-accordion__content--no-icon"} ${this.expanded?"bs-accordion__content--expanded":"bs-accordion__content--collapsed"}`},c("slot",{key:"6a60fd12ed4ec7e3b4ab0e56414e0a90c4f5d889"})))}static get style(){return":host{display:block;--bs-accordion-radius:var(--bs-border-radius-100);--bs-accordion-header-padding-y-medium:var(--bs-spacing-150);--bs-accordion-header-padding-y-large:var(--bs-spacing-250);--bs-accordion-header-padding-x:var(--bs-spacing-200);--bs-accordion-content-padding-bottom:var(--bs-spacing-150);--bs-accordion-content-padding-right:var(--bs-spacing-200);--bs-accordion-content-padding-left:var(--bs-spacing-800);--bs-accordion-content-padding-left-no-icon:var(--bs-spacing-200);--bs-accordion-icon-width-medium:var(--bs-spacing-800);--bs-accordion-icon-height-medium:48px;--bs-accordion-icon-size-large:var(--bs-spacing-800);--bs-accordion-font-size:var(--bs-font-size-md);--bs-accordion-line-height:var(--bs-line-height-body-md);--bs-accordion-font-weight:var(--bs-font-weight-semibold);--bs-accordion-text-default:var(--bs-text-default);--bs-accordion-bg-hover:var(--bs-surface-hover);--bs-accordion-bg-disabled:var(--bs-surface-action-disabled);--bs-accordion-text-disabled:var(--bs-text-on-disabled);--bs-accordion-focus-ring:var(--bs-border-neutral-focus)}.bs-accordion{display:block;border-radius:var(--bs-accordion-radius);overflow:hidden;font-family:inherit}.bs-accordion:has(.bs-accordion__header:hover),.bs-accordion:has(.bs-accordion__header:active){background:var(--bs-accordion-bg-hover)}.bs-accordion:has(.bs-accordion__header:focus-visible){background:var(--bs-accordion-bg-hover);outline:2px solid var(--bs-accordion-focus-ring);outline-offset:2px;border-radius:calc(var(--bs-accordion-radius) + 2px)}.bs-accordion__header{display:flex;align-items:center;width:100%;border:none;background:transparent;color:var(--bs-accordion-text-default);padding:0;cursor:pointer;font-family:inherit;text-align:left}.bs-accordion__header:focus-visible{outline:none}.bs-accordion__header--medium{padding-top:var(--bs-accordion-header-padding-y-medium);padding-bottom:var(--bs-accordion-header-padding-y-medium)}.bs-accordion__header--large{padding-top:var(--bs-accordion-header-padding-y-large);padding-bottom:var(--bs-accordion-header-padding-y-large)}.bs-accordion__header:disabled{background:var(--bs-accordion-bg-disabled);color:var(--bs-accordion-text-disabled);cursor:default}.bs-accordion__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.bs-accordion__icon svg{width:24px;height:24px}.bs-accordion__icon--medium{width:var(--bs-accordion-icon-width-medium);height:var(--bs-accordion-icon-height-medium)}.bs-accordion__icon--large{width:var(--bs-accordion-icon-size-large);height:var(--bs-accordion-icon-size-large)}.bs-accordion__label{flex:1 1 auto;min-width:0;font-size:var(--bs-accordion-font-size);line-height:calc(var(--bs-accordion-line-height) * 1px);font-weight:var(--bs-accordion-font-weight)}.bs-accordion__label--no-icon{padding-left:var(--bs-accordion-header-padding-x)}.bs-accordion__caret{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.bs-accordion__caret svg{width:24px;height:24px}.bs-accordion__caret--medium{width:var(--bs-accordion-icon-width-medium);height:var(--bs-accordion-icon-height-medium)}.bs-accordion__caret--large{width:var(--bs-accordion-icon-size-large);height:var(--bs-accordion-icon-size-large)}.bs-accordion__content{padding-top:0;padding-bottom:var(--bs-accordion-content-padding-bottom);padding-right:var(--bs-accordion-content-padding-right);padding-left:var(--bs-accordion-content-padding-left);color:var(--bs-accordion-text-default);font-size:var(--bs-accordion-font-size);line-height:calc(var(--bs-accordion-line-height) * 1px)}.bs-accordion__content--no-icon{padding-left:var(--bs-accordion-content-padding-left-no-icon)}.bs-accordion__content--collapsed{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-accordion--disabled .bs-accordion__content{background:var(--bs-accordion-bg-disabled);color:var(--bs-accordion-text-disabled)}"}},[769,"bs-accordion",{expanded:[516],size:[1],disabled:[4],showIcon:[4,"show-icon"],showPreview:[4,"show-preview"]}]),d=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M12 5V19",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),c("path",{d:"M5 12H19",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})),r=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M6 9.75L12 15.75L18 9.75",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})),s=()=>c("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},c("path",{d:"M6 14.25L12 8.25L18 14.25",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}));function t(){"undefined"!=typeof customElements&&["bs-accordion"].forEach((a=>{"bs-accordion"===a&&(customElements.get(o(a))||customElements.define(o(a),n))}))}t();const b=n,l=t;export{b as BsAccordion,l as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as i,p as e,H as s,h as a}from"./p-
|
|
1
|
+
import{t as i,p as e,H as s,h as a}from"./p-mnGJPH85.js";const t=e(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow()}render(){return a("div",{key:"2df50141b934d044d68015cc40b0cc525f374ec7",class:"bs-ai-disclaimer"},a("p",{key:"42e735a432c16d16c4daa786bbd3e2757d298e68",part:"text",class:"bs-ai-disclaimer__text"},a("slot",{key:"fe037a3b1bd4bf6135448abd6ce2de8aa4cec6d5"})))}static get style(){return":host{display:block;--bs-ai-disclaimer-padding-x:var(--bs-spacing-200);--bs-ai-disclaimer-text-color:var(--bs-text-secondary);--bs-ai-disclaimer-font-size:var(--bs-font-size-sm);--bs-ai-disclaimer-line-height:var(--bs-line-height-body-sm)}.bs-ai-disclaimer{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 var(--bs-ai-disclaimer-padding-x);font-family:inherit}.bs-ai-disclaimer__text{margin:0;flex:1 0 0;min-width:0;color:var(--bs-ai-disclaimer-text-color);font-size:var(--bs-ai-disclaimer-font-size);line-height:calc(var(--bs-ai-disclaimer-line-height) * 1px);text-align:center;word-break:break-word}"}},[257,"bs-ai-disclaimer"]);function r(){"undefined"!=typeof customElements&&["bs-ai-disclaimer"].forEach((e=>{"bs-ai-disclaimer"===e&&(customElements.get(i(e))||customElements.define(i(e),t))}))}r();const c=t,d=r;export{c as BsAiDisclaimer,d as defineCustomElement}
|