@brandsync/wc 0.0.11 → 0.1.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 +5869 -1633
- package/dist/brandsync-wc/brandsync-wc.css +20 -0
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/p-00bb9bda.entry.js +1 -0
- package/dist/brandsync-wc/{p-8dff4f24.entry.js → p-0847f5c0.entry.js} +1 -1
- package/dist/brandsync-wc/p-0ba35c3b.entry.js +1 -0
- package/dist/brandsync-wc/{p-073e5fee.entry.js → p-0f3cb0c4.entry.js} +1 -1
- package/dist/brandsync-wc/p-10f6f3cd.entry.js +1 -0
- package/dist/brandsync-wc/{p-c6d330c3.entry.js → p-111974df.entry.js} +1 -1
- package/dist/brandsync-wc/p-11f3fceb.entry.js +1 -0
- package/dist/brandsync-wc/p-171fed0c.entry.js +1 -0
- package/dist/brandsync-wc/{p-dd224cb3.entry.js → p-18813680.entry.js} +1 -1
- package/dist/brandsync-wc/p-1b7c9928.entry.js +1 -0
- package/dist/brandsync-wc/p-1ce7dd64.entry.js +1 -0
- package/dist/brandsync-wc/p-2063a6d6.entry.js +1 -0
- package/dist/brandsync-wc/{p-4ca15322.entry.js → p-20c24179.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b174403d.entry.js → p-321ed4d3.entry.js} +1 -1
- package/dist/brandsync-wc/p-38aad266.entry.js +1 -0
- package/dist/brandsync-wc/p-43e37883.entry.js +1 -0
- package/dist/brandsync-wc/p-55a8d4b5.entry.js +1 -0
- package/dist/brandsync-wc/p-59ac2495.entry.js +1 -0
- package/dist/brandsync-wc/p-5ae9e60e.entry.js +1 -0
- package/dist/brandsync-wc/p-6b469b2d.entry.js +1 -0
- package/dist/brandsync-wc/p-6d85fba4.entry.js +1 -0
- package/dist/brandsync-wc/p-6e95eb36.entry.js +1 -0
- package/dist/brandsync-wc/{p-84ae4420.entry.js → p-73217b90.entry.js} +1 -1
- package/dist/brandsync-wc/p-752c04c8.entry.js +1 -0
- package/dist/brandsync-wc/p-79af762c.entry.js +1 -0
- package/dist/brandsync-wc/p-81d49240.entry.js +1 -0
- package/dist/brandsync-wc/p-91551e7b.entry.js +1 -0
- package/dist/brandsync-wc/p-917a5bbc.entry.js +1 -0
- package/dist/brandsync-wc/{p-0b858120.entry.js → p-9876e83c.entry.js} +1 -1
- package/dist/brandsync-wc/p-9bcd99aa.entry.js +1 -0
- package/dist/brandsync-wc/{p-d1dc2ced.entry.js → p-9c4768aa.entry.js} +1 -1
- package/dist/brandsync-wc/{p-DP_bvuvB.js → p-Do3l4of3.js} +2 -2
- package/dist/brandsync-wc/p-aa43d478.entry.js +1 -0
- package/dist/brandsync-wc/p-c3079ad7.entry.js +1 -0
- package/dist/brandsync-wc/{p-74a4dd91.entry.js → p-c3c383dc.entry.js} +1 -1
- package/dist/brandsync-wc/p-cc79e75f.entry.js +1 -0
- package/dist/brandsync-wc/p-ce7fc368.entry.js +1 -0
- package/dist/brandsync-wc/{p-030a8ba7.entry.js → p-d3265e70.entry.js} +1 -1
- package/dist/brandsync-wc/p-d55bbcec.entry.js +1 -0
- package/dist/brandsync-wc/{p-1bf0b2d5.entry.js → p-e93e944b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-7a605d98.entry.js → p-eb04c578.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3c8fbaa8.entry.js → p-f0ae2740.entry.js} +1 -1
- package/dist/brandsync-wc/p-f4f22015.entry.js +1 -0
- package/dist/cjs/brandsync-wc.cjs.js +2 -2
- package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +3 -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 +3 -3
- package/dist/cjs/bs-avatar.cjs.entry.js +60 -0
- package/dist/cjs/bs-badge.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +56 -0
- package/dist/cjs/bs-breadcrumb.cjs.entry.js +33 -0
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +49 -0
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/bs-button.cjs.entry.js +3 -3
- package/dist/cjs/bs-card.cjs.entry.js +10 -3
- 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 +20 -0
- package/dist/cjs/bs-checkbox.cjs.entry.js +14 -3
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +14 -2
- package/dist/cjs/bs-composer.cjs.entry.js +37 -4
- package/dist/cjs/bs-data-table.cjs.entry.js +3 -3
- package/dist/cjs/bs-dialog.cjs.entry.js +110 -0
- package/dist/cjs/bs-icon-button.cjs.entry.js +40 -0
- package/dist/cjs/bs-inline-tab.cjs.entry.js +69 -0
- package/dist/cjs/bs-input.cjs.entry.js +24 -12
- package/dist/cjs/bs-logo.cjs.entry.js +165 -0
- package/dist/cjs/{bs-menu_2.cjs.entry.js → bs-menu-item.cjs.entry.js} +2 -15
- package/dist/cjs/bs-menu.cjs.entry.js +17 -0
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +104 -0
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +87 -0
- package/dist/cjs/bs-navigation-header.cjs.entry.js +44 -0
- package/dist/cjs/bs-pagination.cjs.entry.js +85 -0
- package/dist/cjs/bs-radio.cjs.entry.js +49 -0
- package/dist/cjs/bs-slider.cjs.entry.js +191 -0
- package/dist/cjs/bs-snackbar.cjs.entry.js +41 -0
- package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
- package/dist/cjs/bs-switch.cjs.entry.js +57 -0
- package/dist/cjs/bs-tab.cjs.entry.js +80 -0
- package/dist/cjs/bs-tabs.cjs.entry.js +39 -0
- package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/{index-CGrdFg95.js → index-DHVw-IPK.js} +2 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +21 -3
- package/dist/collection/components/bs-ai-chatbot/bs-ai-chatbot.stories.js +26 -11
- package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +2 -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 +12 -33
- package/dist/collection/components/bs-attachment/bs-attachment.js +4 -10
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-avatar/bs-avatar.cmp.test.js +54 -0
- package/dist/collection/components/bs-avatar/bs-avatar.css +197 -0
- package/dist/collection/components/bs-avatar/bs-avatar.js +251 -0
- package/dist/collection/components/bs-avatar/bs-avatar.stories.js +67 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.js +62 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.css +93 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +130 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.js +118 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.css +125 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +192 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.cmp.test.js +58 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.css +18 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +129 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.stories.js +84 -0
- package/dist/collection/components/bs-button/{bs-button.cmp.test.js → bs-button/bs-button.cmp.test.js} +26 -0
- package/dist/collection/components/bs-button/{bs-button.css → bs-button/bs-button.css} +57 -6
- package/dist/collection/components/bs-button/{bs-button.js → bs-button/bs-button.js} +10 -5
- package/dist/collection/components/bs-button/{bs-button.stories.js → bs-button/bs-button.stories.js} +2 -27
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +83 -0
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +346 -0
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +185 -0
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.stories.js +74 -0
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +3 -3
- package/dist/collection/components/bs-card/bs-card.cmp.test.js +19 -0
- package/dist/collection/components/bs-card/bs-card.css +37 -5
- package/dist/collection/components/bs-card/bs-card.js +18 -2
- package/dist/collection/components/bs-card/bs-card.stories.js +17 -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.js +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.css +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.cmp.test.js +23 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.css +64 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +81 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.stories.js +25 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox.cmp.test.js +10 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox.css +7 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.js +32 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.stories.js +12 -0
- package/dist/collection/components/bs-composer/bs-composer.cmp.test.js +48 -7
- package/dist/collection/components/bs-composer/bs-composer.css +15 -0
- package/dist/collection/components/bs-composer/bs-composer.js +38 -4
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.cmp.test.js +47 -1
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +20 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
- package/dist/collection/components/{bs-modal/bs-modal.cmp.test.js → bs-dialog/bs-dialog.cmp.test.js} +63 -19
- package/dist/collection/components/bs-dialog/bs-dialog.css +130 -0
- package/dist/collection/components/bs-dialog/bs-dialog.js +273 -0
- package/dist/collection/components/bs-dialog/bs-dialog.stories.js +115 -0
- package/dist/collection/components/bs-input/bs-input.cmp.test.js +20 -0
- package/dist/collection/components/bs-input/bs-input.css +80 -2
- package/dist/collection/components/bs-input/bs-input.js +28 -10
- package/dist/collection/components/bs-input/bs-input.stories.js +14 -11
- package/dist/collection/components/bs-logo/brandsync-logo-full-dark.js +44 -0
- package/dist/collection/components/bs-logo/brandsync-logo-full-light.js +40 -0
- package/dist/collection/components/bs-logo/brandsync-logo-mark.js +17 -0
- package/dist/collection/components/bs-logo/bs-logo.cmp.test.js +113 -0
- package/dist/collection/components/bs-logo/bs-logo.css +79 -0
- package/dist/collection/components/bs-logo/bs-logo.js +193 -0
- package/dist/collection/components/bs-logo/bs-logo.stories.js +69 -0
- 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.cmp.test.js +102 -0
- package/dist/collection/components/bs-pagination/bs-pagination.css +120 -0
- package/dist/collection/components/bs-pagination/bs-pagination.js +233 -0
- package/dist/collection/components/bs-pagination/bs-pagination.stories.js +43 -0
- package/dist/collection/components/bs-radio/bs-radio.cmp.test.js +76 -0
- package/dist/collection/components/bs-radio/bs-radio.css +164 -0
- package/dist/collection/components/bs-radio/bs-radio.js +170 -0
- package/dist/collection/components/bs-radio/bs-radio.stories.js +56 -0
- package/dist/collection/components/bs-slider/bs-slider.cmp.test.js +139 -0
- package/dist/collection/components/bs-slider/bs-slider.css +409 -0
- package/dist/collection/components/bs-slider/bs-slider.js +499 -0
- package/dist/collection/components/bs-slider/bs-slider.stories.js +70 -0
- package/dist/collection/components/bs-snackbar/bs-snackbar.cmp.test.js +77 -0
- package/dist/collection/components/bs-snackbar/bs-snackbar.css +321 -0
- package/dist/collection/components/bs-snackbar/bs-snackbar.js +172 -0
- package/dist/collection/components/bs-snackbar/bs-snackbar.stories.js +59 -0
- package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
- package/dist/collection/components/bs-switch/bs-switch.cmp.test.js +71 -0
- package/dist/collection/components/bs-switch/bs-switch.css +196 -0
- package/dist/collection/components/bs-switch/bs-switch.js +185 -0
- package/dist/collection/components/bs-switch/bs-switch.stories.js +60 -0
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.cmp.test.js +104 -0
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +163 -0
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +192 -0
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.js +95 -0
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.cmp.test.js +120 -0
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.css +216 -0
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +232 -0
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.stories.js +138 -0
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.cmp.test.js +61 -0
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.css +39 -0
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +133 -0
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.stories.js +39 -0
- 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.cmp.test.js +143 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.css +257 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +281 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.js +274 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.cmp.test.js +172 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.css +325 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +314 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.stories.js +78 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +77 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +106 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +188 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.js +446 -0
- 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.d.ts +11 -0
- package/dist/components/bs-avatar.js +1 -0
- package/dist/components/bs-badge.js +1 -1
- package/dist/components/bs-breadcrumb-overflow.d.ts +11 -0
- package/dist/components/bs-breadcrumb-overflow.js +1 -0
- package/dist/components/bs-breadcrumb.d.ts +11 -0
- package/dist/components/bs-breadcrumb.js +1 -0
- package/dist/components/bs-breadcrumbs.d.ts +11 -0
- package/dist/components/bs-breadcrumbs.js +1 -0
- 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-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.d.ts +11 -0
- package/dist/components/bs-checkbox-skeleton.js +1 -0
- package/dist/components/bs-checkbox.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.d.ts +11 -0
- package/dist/components/bs-dialog.js +1 -0
- package/dist/components/bs-icon-button.d.ts +11 -0
- package/dist/components/bs-icon-button.js +1 -0
- package/dist/components/bs-inline-tab.d.ts +11 -0
- package/dist/components/bs-inline-tab.js +1 -0
- package/dist/components/bs-input.js +1 -1
- package/dist/components/{bs-modal.d.ts → bs-logo.d.ts} +4 -4
- package/dist/components/bs-logo.js +1 -0
- package/dist/components/bs-menu-item.js +1 -1
- package/dist/components/bs-menu.js +1 -1
- package/dist/components/bs-navigation-drawer-item.d.ts +11 -0
- package/dist/components/bs-navigation-drawer-item.js +1 -0
- package/dist/components/bs-navigation-drawer.d.ts +11 -0
- package/dist/components/bs-navigation-drawer.js +1 -0
- package/dist/components/bs-navigation-header.d.ts +11 -0
- package/dist/components/bs-navigation-header.js +1 -0
- package/dist/components/bs-pagination.d.ts +11 -0
- package/dist/components/bs-pagination.js +1 -0
- package/dist/components/bs-radio.d.ts +11 -0
- package/dist/components/bs-radio.js +1 -0
- package/dist/components/bs-slider.d.ts +11 -0
- package/dist/components/bs-slider.js +1 -0
- package/dist/components/bs-snackbar.d.ts +11 -0
- package/dist/components/bs-snackbar.js +1 -0
- package/dist/components/bs-source-link.js +1 -1
- package/dist/components/bs-switch.d.ts +11 -0
- package/dist/components/bs-switch.js +1 -0
- package/dist/components/bs-tab.d.ts +11 -0
- package/dist/components/bs-tab.js +1 -0
- package/dist/components/bs-tabs.d.ts +11 -0
- package/dist/components/bs-tabs.js +1 -0
- package/dist/components/bs-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-BFcVSpES.js +1 -0
- package/dist/components/{p-D1cYtKyN.js → p-BJZYe7M4.js} +1 -1
- package/dist/components/p-BKaZWFE1.js +1 -0
- package/dist/components/{p-BUbGEXL7.js → p-BtX5URLk.js} +1 -1
- package/dist/components/{p-B9PrXIl_.js → p-CgaPcyEJ.js} +1 -1
- package/dist/components/{p-D2HDHZjz.js → p-qK1XlpTA.js} +1 -1
- package/dist/esm/brandsync-wc.js +3 -3
- package/dist/esm/bs-ai-disclaimer.entry.js +3 -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 +3 -3
- package/dist/esm/bs-avatar.entry.js +58 -0
- package/dist/esm/bs-badge.entry.js +1 -1
- package/dist/esm/bs-breadcrumb-overflow.entry.js +54 -0
- package/dist/esm/bs-breadcrumb.entry.js +31 -0
- package/dist/esm/bs-breadcrumbs.entry.js +47 -0
- package/dist/esm/bs-button-skeleton.entry.js +2 -2
- package/dist/esm/bs-button.entry.js +3 -3
- package/dist/esm/bs-card.entry.js +10 -3
- 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 +18 -0
- package/dist/esm/bs-checkbox.entry.js +14 -3
- package/dist/esm/bs-composer-status-banner.entry.js +14 -2
- package/dist/esm/bs-composer.entry.js +37 -4
- package/dist/esm/bs-data-table.entry.js +3 -3
- package/dist/esm/bs-dialog.entry.js +108 -0
- package/dist/esm/bs-icon-button.entry.js +38 -0
- package/dist/esm/bs-inline-tab.entry.js +67 -0
- package/dist/esm/bs-input.entry.js +24 -12
- package/dist/esm/bs-logo.entry.js +163 -0
- package/dist/esm/{bs-menu_2.entry.js → bs-menu-item.entry.js} +3 -15
- package/dist/esm/bs-menu.entry.js +15 -0
- package/dist/esm/bs-navigation-drawer-item.entry.js +102 -0
- package/dist/esm/bs-navigation-drawer.entry.js +85 -0
- package/dist/esm/bs-navigation-header.entry.js +42 -0
- package/dist/esm/bs-pagination.entry.js +83 -0
- package/dist/esm/bs-radio.entry.js +47 -0
- package/dist/esm/bs-slider.entry.js +189 -0
- package/dist/esm/bs-snackbar.entry.js +39 -0
- package/dist/esm/bs-source-link.entry.js +3 -3
- package/dist/esm/bs-switch.entry.js +55 -0
- package/dist/esm/bs-tab.entry.js +78 -0
- package/dist/esm/bs-tabs.entry.js +37 -0
- package/dist/esm/bs-tooltip.entry.js +2 -2
- package/dist/esm/{index-DP_bvuvB.js → index-Do3l4of3.js} +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/bs-attachment/bs-attachment.d.ts +3 -9
- package/dist/types/components/bs-avatar/bs-avatar.d.ts +67 -0
- package/dist/types/components/bs-avatar/bs-avatar.stories.d.ts +20 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.d.ts +44 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.d.ts +69 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.d.ts +45 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.stories.d.ts +14 -0
- package/dist/types/components/bs-button/bs-button/bs-button.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-button/{bs-button.d.ts → bs-button/bs-button.d.ts} +5 -0
- package/dist/types/components/bs-button/{bs-button.stories.d.ts → bs-button/bs-button.stories.d.ts} +0 -2
- package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +51 -0
- package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.stories.d.ts +16 -0
- package/dist/types/components/bs-button-skeleton/bs-button-skeleton.d.ts +1 -1
- package/dist/types/components/bs-button-skeleton/bs-button-skeleton.stories.d.ts +1 -1
- package/dist/types/components/bs-card/bs-card.d.ts +10 -1
- package/dist/types/components/bs-card/bs-card.stories.d.ts +1 -0
- package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.d.ts +36 -0
- package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.stories.d.ts +10 -0
- package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +11 -0
- package/dist/types/components/bs-checkbox/bs-checkbox.stories.d.ts +1 -0
- package/dist/types/components/bs-composer/bs-composer.d.ts +26 -2
- package/dist/types/components/bs-composer-status-banner/bs-composer-status-banner.d.ts +14 -0
- package/dist/types/components/bs-dialog/bs-dialog.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-dialog/bs-dialog.d.ts +74 -0
- package/dist/types/components/{bs-modal/bs-modal.stories.d.ts → bs-dialog/bs-dialog.stories.d.ts} +5 -3
- package/dist/types/components/bs-input/bs-input.d.ts +8 -1
- package/dist/types/components/bs-logo/brandsync-logo-full-dark.d.ts +1 -0
- package/dist/types/components/bs-logo/brandsync-logo-full-light.d.ts +1 -0
- package/dist/types/components/bs-logo/brandsync-logo-mark.d.ts +1 -0
- package/dist/types/components/bs-logo/bs-logo.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-logo/bs-logo.d.ts +73 -0
- package/dist/types/components/bs-logo/bs-logo.stories.d.ts +17 -0
- package/dist/types/components/bs-pagination/bs-pagination.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-pagination/bs-pagination.d.ts +51 -0
- package/dist/types/components/bs-pagination/bs-pagination.stories.d.ts +14 -0
- package/dist/types/components/bs-radio/bs-radio.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-radio/bs-radio.d.ts +45 -0
- package/dist/types/components/bs-radio/bs-radio.stories.d.ts +16 -0
- package/dist/types/components/bs-slider/bs-slider.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-slider/bs-slider.d.ts +109 -0
- package/dist/types/components/bs-slider/bs-slider.stories.d.ts +24 -0
- package/dist/types/components/bs-snackbar/bs-snackbar.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-snackbar/bs-snackbar.d.ts +51 -0
- package/dist/types/components/bs-snackbar/bs-snackbar.stories.d.ts +16 -0
- package/dist/types/components/bs-switch/bs-switch.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-switch/bs-switch.d.ts +45 -0
- package/dist/types/components/bs-switch/bs-switch.stories.d.ts +17 -0
- package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +65 -0
- package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.d.ts +22 -0
- package/dist/types/components/bs-tab/bs-tab/bs-tab.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +74 -0
- package/dist/types/components/bs-tab/bs-tab/bs-tab.stories.d.ts +30 -0
- package/dist/types/components/bs-tab/bs-tabs/bs-tabs.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +45 -0
- package/dist/types/components/bs-tab/bs-tabs/bs-tabs.stories.d.ts +13 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.d.ts +1 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +104 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.d.ts +19 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.cmp.test.d.ts +1 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.d.ts +103 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.stories.d.ts +20 -0
- package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.d.ts +1 -0
- package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.d.ts +60 -0
- package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.d.ts +25 -0
- package/dist/types/components.d.ts +2908 -114
- package/package.json +1 -1
- package/dist/brandsync-wc/p-2598ca88.entry.js +0 -1
- package/dist/brandsync-wc/p-3dd9b814.entry.js +0 -1
- package/dist/brandsync-wc/p-41edb0a2.entry.js +0 -1
- package/dist/brandsync-wc/p-6254dcbe.entry.js +0 -1
- package/dist/brandsync-wc/p-7131d0a1.entry.js +0 -1
- package/dist/brandsync-wc/p-8c302968.entry.js +0 -1
- package/dist/brandsync-wc/p-8d78171b.entry.js +0 -1
- package/dist/brandsync-wc/p-93e44903.entry.js +0 -1
- package/dist/brandsync-wc/p-aa45d877.entry.js +0 -1
- package/dist/cjs/bs-modal.cjs.entry.js +0 -69
- package/dist/collection/components/bs-modal/bs-modal.css +0 -66
- package/dist/collection/components/bs-modal/bs-modal.js +0 -198
- package/dist/collection/components/bs-modal/bs-modal.stories.js +0 -38
- package/dist/components/bs-modal.js +0 -1
- package/dist/esm/bs-modal.entry.js +0 -67
- package/dist/types/components/bs-modal/bs-modal.d.ts +0 -45
- /package/dist/types/components/{bs-button/bs-button.cmp.test.d.ts → bs-avatar/bs-avatar.cmp.test.d.ts} +0 -0
- /package/dist/types/components/{bs-modal/bs-modal.cmp.test.d.ts → bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.d.ts} +0 -0
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prop --bs-icon-button-radius: Corner radius, size="sm"/"md"/"lg". Aliased to --bs-border-radius-100.
|
|
3
|
+
* @prop --bs-icon-button-radius-xs: Corner radius, size="xs" -- a smaller radius than --bs-icon-button-radius, since --bs-border-radius-100 (8px) on a 16px box would look nearly circular. Aliased to --bs-border-radius-50.
|
|
4
|
+
* @prop --bs-icon-button-size-xs: Container width/height at size="xs". 16px.
|
|
5
|
+
* @prop --bs-icon-button-icon-size-xs: Slotted icon width/height at size="xs". 8px.
|
|
6
|
+
* @prop --bs-icon-button-padding-xs: Padding on all sides, size="xs" only -- distinct from --bs-icon-button-padding, since 16px/8px icon math (4px) differs from the sm/md/lg constant (12px). Aliased to --bs-spacing-50.
|
|
7
|
+
* @prop --bs-icon-button-size-sm: Container width/height at size="sm". 40px.
|
|
8
|
+
* @prop --bs-icon-button-size-md: Container width/height at size="md". 44px.
|
|
9
|
+
* @prop --bs-icon-button-size-lg: Container width/height at size="lg". 48px.
|
|
10
|
+
* @prop --bs-icon-button-icon-size-sm: Slotted icon width/height at size="sm". 16px.
|
|
11
|
+
* @prop --bs-icon-button-icon-size-md: Slotted icon width/height at size="md". 20px.
|
|
12
|
+
* @prop --bs-icon-button-icon-size-lg: Slotted icon width/height at size="lg". 24px.
|
|
13
|
+
* @prop --bs-icon-button-padding: Padding on all sides, all sizes (constant -- centers the icon
|
|
14
|
+
* inside the container at every size). Aliased to --bs-spacing-150.
|
|
15
|
+
* @prop --bs-icon-button-primary-default: Background, variant="primary", default. Aliased to --bs-color-primary-default.
|
|
16
|
+
* @prop --bs-icon-button-primary-hover: Background, variant="primary", hover. Aliased to --bs-color-primary-hover.
|
|
17
|
+
* @prop --bs-icon-button-primary-pressed: Background, variant="primary", pressed. Aliased to --bs-color-primary-pressed.
|
|
18
|
+
* @prop --bs-icon-button-primary-disabled: Background, variant="primary", disabled. Aliased to --bs-surface-action-disabled.
|
|
19
|
+
* @prop --bs-icon-button-neutral-container: Background, variant="neutral", default/disabled. Aliased to --bs-color-neutral-container.
|
|
20
|
+
* @prop --bs-icon-button-neutral-hover: Background, variant="neutral", hover. Aliased to --bs-color-neutral-container-hover.
|
|
21
|
+
* @prop --bs-icon-button-neutral-pressed: Background, variant="neutral", pressed. Aliased to --bs-color-neutral-container-pressed.
|
|
22
|
+
* @prop --bs-icon-button-neutral-border: Border color, variant="neutral", default/disabled. Aliased to --bs-border-neutral-container.
|
|
23
|
+
* @prop --bs-icon-button-neutral-border-hover: Border color, variant="neutral", hover. Aliased to --bs-border-neutral-container-hover.
|
|
24
|
+
* @prop --bs-icon-button-neutral-border-pressed: Border color, variant="neutral", pressed. Aliased to --bs-border-neutral-container-pressed.
|
|
25
|
+
* @prop --bs-icon-button-subtle-hover: Background, variant="subtle", hover. Aliased to --bs-color-neutral-container.
|
|
26
|
+
* @prop --bs-icon-button-subtle-pressed: Background, variant="subtle", pressed. Aliased to --bs-color-neutral-container-pressed.
|
|
27
|
+
* @prop --bs-icon-button-subtle-focus: Focus ring color, variant="subtle". Aliased to --bs-border-primary-focus.
|
|
28
|
+
* @prop --bs-icon-button-outlined-border: Border color, variant="outlined", default. Aliased to --bs-border-primary.
|
|
29
|
+
* @prop --bs-icon-button-outlined-border-hover: Border color, variant="outlined", hover/pressed. Aliased to --bs-border-primary-hover.
|
|
30
|
+
* @prop --bs-icon-button-outlined-container: Background, variant="outlined", hover/pressed. Aliased to --bs-color-primary-container.
|
|
31
|
+
* @prop --bs-icon-button-outlined-focus: Focus ring color, variant="outlined". Aliased to --bs-border-primary-focus.
|
|
32
|
+
* @prop --bs-icon-button-success-default: Background, variant="success", default. Aliased to --bs-color-success-default.
|
|
33
|
+
* @prop --bs-icon-button-success-hover: Background, variant="success", hover. Aliased to --bs-color-success-hover.
|
|
34
|
+
* @prop --bs-icon-button-success-pressed: Background, variant="success", pressed. Aliased to --bs-color-success-pressed.
|
|
35
|
+
* @prop --bs-icon-button-success-disabled: Background, variant="success", disabled. Aliased to --bs-surface-action-disabled.
|
|
36
|
+
* @prop --bs-icon-button-success-focus: Focus ring color, variant="success". Aliased to --bs-border-success-focus.
|
|
37
|
+
* @prop --bs-icon-button-warning-default: Background, variant="warning", default. Aliased to --bs-color-warning-default.
|
|
38
|
+
* @prop --bs-icon-button-warning-hover: Background, variant="warning", hover. Aliased to --bs-color-warning-hover.
|
|
39
|
+
* @prop --bs-icon-button-warning-pressed: Background, variant="warning", pressed. Aliased to --bs-color-warning-pressed.
|
|
40
|
+
* @prop --bs-icon-button-warning-disabled: Background, variant="warning", disabled. Aliased to --bs-surface-action-disabled.
|
|
41
|
+
* @prop --bs-icon-button-warning-focus: Focus ring color, variant="warning". Aliased to --bs-border-warning-focus.
|
|
42
|
+
* @prop --bs-icon-button-info-default: Background, variant="info", default. Aliased to --bs-color-info-default.
|
|
43
|
+
* @prop --bs-icon-button-info-hover: Background, variant="info", hover. Aliased to --bs-color-info-hover.
|
|
44
|
+
* @prop --bs-icon-button-info-pressed: Background, variant="info", pressed. Aliased to --bs-color-info-pressed.
|
|
45
|
+
* @prop --bs-icon-button-info-disabled: Background, variant="info", disabled. Aliased to --bs-surface-action-disabled.
|
|
46
|
+
* @prop --bs-icon-button-info-focus: Focus ring color, variant="info". Aliased to --bs-border-info-focus.
|
|
47
|
+
* @prop --bs-icon-button-error-default: Background, variant="error", default. Aliased to --bs-color-error-default.
|
|
48
|
+
* @prop --bs-icon-button-error-hover: Background, variant="error", hover. Aliased to --bs-color-error-hover.
|
|
49
|
+
* @prop --bs-icon-button-error-pressed: Background, variant="error", pressed. Aliased to --bs-color-error-pressed.
|
|
50
|
+
* @prop --bs-icon-button-error-disabled: Background, variant="error", disabled. Aliased to --bs-surface-action-disabled.
|
|
51
|
+
* @prop --bs-icon-button-error-focus: Focus ring color, variant="error". Aliased to --bs-border-error-focus.
|
|
52
|
+
*/
|
|
53
|
+
:host {
|
|
54
|
+
display: inline-block;
|
|
55
|
+
|
|
56
|
+
--bs-icon-button-radius: var(--bs-border-radius-100);
|
|
57
|
+
/* Confirmed against Figma node 10365:55161: Large is 48x48 with a 24x24 icon, Medium is 44x44
|
|
58
|
+
with a 20x20 icon, Small is 40x40 with a 16x16 icon -- (container - icon) / 2 is 12px in all
|
|
59
|
+
three cases, matching the one concrete Figma data point (spacing/150, 12px padding on the
|
|
60
|
+
Large size) exactly, so padding is a single constant across all sizes. */
|
|
61
|
+
--bs-icon-button-size-sm: 40px;
|
|
62
|
+
--bs-icon-button-size-md: 44px;
|
|
63
|
+
--bs-icon-button-size-lg: 48px;
|
|
64
|
+
--bs-icon-button-icon-size-sm: 16px;
|
|
65
|
+
--bs-icon-button-icon-size-md: 20px;
|
|
66
|
+
--bs-icon-button-icon-size-lg: 24px;
|
|
67
|
+
--bs-icon-button-padding: var(--bs-spacing-150);
|
|
68
|
+
|
|
69
|
+
/* "Extra small" is a separate, much smaller tier (chip/tag "remove" controls) verified against a
|
|
70
|
+
different Figma redline (EG BrandSync UI Kit v1.5, node 20731:18427) -- 16px container, 8px
|
|
71
|
+
icon, 4px padding ((16-8)/2), matching --bs-spacing-50 exactly. Its own radius is smaller than
|
|
72
|
+
--bs-icon-button-radius (8px), which would look nearly circular on a 16px box. */
|
|
73
|
+
--bs-icon-button-radius-xs: var(--bs-border-radius-50);
|
|
74
|
+
--bs-icon-button-size-xs: 16px;
|
|
75
|
+
--bs-icon-button-icon-size-xs: 8px;
|
|
76
|
+
--bs-icon-button-padding-xs: var(--bs-spacing-50);
|
|
77
|
+
|
|
78
|
+
--bs-icon-button-primary-default: var(--bs-color-primary-default);
|
|
79
|
+
--bs-icon-button-primary-hover: var(--bs-color-primary-hover);
|
|
80
|
+
--bs-icon-button-primary-pressed: var(--bs-color-primary-pressed);
|
|
81
|
+
--bs-icon-button-primary-disabled: var(--bs-surface-action-disabled);
|
|
82
|
+
|
|
83
|
+
/* Same corrected pattern already applied to bs-button--neutral: a 1px border using the
|
|
84
|
+
neutral-container border family (not the plain --bs-border-neutral-hover/-active tokens),
|
|
85
|
+
and hover/pressed backgrounds from --bs-color-neutral-container-hover/-pressed. */
|
|
86
|
+
--bs-icon-button-neutral-container: var(--bs-color-neutral-container);
|
|
87
|
+
--bs-icon-button-neutral-hover: var(--bs-color-neutral-container-hover);
|
|
88
|
+
--bs-icon-button-neutral-pressed: var(--bs-color-neutral-container-pressed);
|
|
89
|
+
--bs-icon-button-neutral-border: var(--bs-border-neutral-container);
|
|
90
|
+
--bs-icon-button-neutral-border-hover: var(--bs-border-neutral-container-hover);
|
|
91
|
+
--bs-icon-button-neutral-border-pressed: var(--bs-border-neutral-container-pressed);
|
|
92
|
+
|
|
93
|
+
--bs-icon-button-subtle-hover: var(--bs-color-neutral-container);
|
|
94
|
+
--bs-icon-button-subtle-pressed: var(--bs-color-neutral-container-pressed);
|
|
95
|
+
--bs-icon-button-subtle-focus: var(--bs-border-primary-focus);
|
|
96
|
+
|
|
97
|
+
--bs-icon-button-outlined-border: var(--bs-border-primary);
|
|
98
|
+
--bs-icon-button-outlined-border-hover: var(--bs-border-primary-hover);
|
|
99
|
+
--bs-icon-button-outlined-container: var(--bs-color-primary-container);
|
|
100
|
+
--bs-icon-button-outlined-focus: var(--bs-border-primary-focus);
|
|
101
|
+
|
|
102
|
+
--bs-icon-button-success-default: var(--bs-color-success-default);
|
|
103
|
+
--bs-icon-button-success-hover: var(--bs-color-success-hover);
|
|
104
|
+
--bs-icon-button-success-pressed: var(--bs-color-success-pressed);
|
|
105
|
+
--bs-icon-button-success-disabled: var(--bs-surface-action-disabled);
|
|
106
|
+
--bs-icon-button-success-focus: var(--bs-border-success-focus);
|
|
107
|
+
|
|
108
|
+
--bs-icon-button-warning-default: var(--bs-color-warning-default);
|
|
109
|
+
--bs-icon-button-warning-hover: var(--bs-color-warning-hover);
|
|
110
|
+
--bs-icon-button-warning-pressed: var(--bs-color-warning-pressed);
|
|
111
|
+
--bs-icon-button-warning-disabled: var(--bs-surface-action-disabled);
|
|
112
|
+
--bs-icon-button-warning-focus: var(--bs-border-warning-focus);
|
|
113
|
+
|
|
114
|
+
--bs-icon-button-info-default: var(--bs-color-info-default);
|
|
115
|
+
--bs-icon-button-info-hover: var(--bs-color-info-hover);
|
|
116
|
+
--bs-icon-button-info-pressed: var(--bs-color-info-pressed);
|
|
117
|
+
--bs-icon-button-info-disabled: var(--bs-surface-action-disabled);
|
|
118
|
+
--bs-icon-button-info-focus: var(--bs-border-info-focus);
|
|
119
|
+
|
|
120
|
+
--bs-icon-button-error-default: var(--bs-color-error-default);
|
|
121
|
+
--bs-icon-button-error-hover: var(--bs-color-error-hover);
|
|
122
|
+
--bs-icon-button-error-pressed: var(--bs-color-error-pressed);
|
|
123
|
+
--bs-icon-button-error-disabled: var(--bs-surface-action-disabled);
|
|
124
|
+
--bs-icon-button-error-focus: var(--bs-border-error-focus);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.bs-icon-button {
|
|
128
|
+
display: inline-flex;
|
|
129
|
+
align-items: center;
|
|
130
|
+
justify-content: center;
|
|
131
|
+
box-sizing: border-box;
|
|
132
|
+
border: none;
|
|
133
|
+
border-radius: var(--bs-icon-button-radius);
|
|
134
|
+
padding: var(--bs-icon-button-padding);
|
|
135
|
+
cursor: pointer;
|
|
136
|
+
transition: background-color var(--bs-duration-fast, 120ms) var(--bs-easing-standard, ease);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.bs-icon-button:focus-visible {
|
|
140
|
+
outline: 2px solid var(--bs-border-neutral-focus);
|
|
141
|
+
outline-offset: 2px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.bs-icon-button:disabled {
|
|
145
|
+
cursor: not-allowed;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.bs-icon-button--xs {
|
|
149
|
+
width: var(--bs-icon-button-size-xs);
|
|
150
|
+
height: var(--bs-icon-button-size-xs);
|
|
151
|
+
padding: var(--bs-icon-button-padding-xs);
|
|
152
|
+
border-radius: var(--bs-icon-button-radius-xs);
|
|
153
|
+
}
|
|
154
|
+
.bs-icon-button--xs .bs-icon-button__icon {
|
|
155
|
+
width: var(--bs-icon-button-icon-size-xs);
|
|
156
|
+
height: var(--bs-icon-button-icon-size-xs);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.bs-icon-button--sm {
|
|
160
|
+
width: var(--bs-icon-button-size-sm);
|
|
161
|
+
height: var(--bs-icon-button-size-sm);
|
|
162
|
+
}
|
|
163
|
+
.bs-icon-button--sm .bs-icon-button__icon {
|
|
164
|
+
width: var(--bs-icon-button-icon-size-sm);
|
|
165
|
+
height: var(--bs-icon-button-icon-size-sm);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.bs-icon-button--md {
|
|
169
|
+
width: var(--bs-icon-button-size-md);
|
|
170
|
+
height: var(--bs-icon-button-size-md);
|
|
171
|
+
}
|
|
172
|
+
.bs-icon-button--md .bs-icon-button__icon {
|
|
173
|
+
width: var(--bs-icon-button-icon-size-md);
|
|
174
|
+
height: var(--bs-icon-button-icon-size-md);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.bs-icon-button--lg {
|
|
178
|
+
width: var(--bs-icon-button-size-lg);
|
|
179
|
+
height: var(--bs-icon-button-size-lg);
|
|
180
|
+
}
|
|
181
|
+
.bs-icon-button--lg .bs-icon-button__icon {
|
|
182
|
+
width: var(--bs-icon-button-icon-size-lg);
|
|
183
|
+
height: var(--bs-icon-button-icon-size-lg);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.bs-icon-button__icon {
|
|
187
|
+
display: inline-flex;
|
|
188
|
+
align-items: center;
|
|
189
|
+
justify-content: center;
|
|
190
|
+
color: inherit;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.bs-icon-button__icon ::slotted(*) {
|
|
194
|
+
display: block;
|
|
195
|
+
width: 100%;
|
|
196
|
+
height: 100%;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.bs-icon-button--primary {
|
|
200
|
+
background: var(--bs-icon-button-primary-default);
|
|
201
|
+
color: var(--bs-text-on-action);
|
|
202
|
+
}
|
|
203
|
+
.bs-icon-button--primary:hover:not(:disabled) {
|
|
204
|
+
background: var(--bs-icon-button-primary-hover);
|
|
205
|
+
}
|
|
206
|
+
.bs-icon-button--primary:active:not(:disabled) {
|
|
207
|
+
background: var(--bs-icon-button-primary-pressed);
|
|
208
|
+
}
|
|
209
|
+
.bs-icon-button--primary:disabled {
|
|
210
|
+
background: var(--bs-icon-button-primary-disabled);
|
|
211
|
+
color: var(--bs-text-on-disabled);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.bs-icon-button--neutral {
|
|
215
|
+
background: var(--bs-icon-button-neutral-container);
|
|
216
|
+
color: var(--bs-text-default);
|
|
217
|
+
border: 1px solid var(--bs-icon-button-neutral-border);
|
|
218
|
+
}
|
|
219
|
+
.bs-icon-button--neutral:hover:not(:disabled) {
|
|
220
|
+
background: var(--bs-icon-button-neutral-hover);
|
|
221
|
+
border-color: var(--bs-icon-button-neutral-border-hover);
|
|
222
|
+
}
|
|
223
|
+
.bs-icon-button--neutral:active:not(:disabled) {
|
|
224
|
+
background: var(--bs-icon-button-neutral-pressed);
|
|
225
|
+
border-color: var(--bs-icon-button-neutral-border-pressed);
|
|
226
|
+
}
|
|
227
|
+
.bs-icon-button--neutral:disabled {
|
|
228
|
+
background: var(--bs-icon-button-neutral-container);
|
|
229
|
+
color: var(--bs-text-on-disabled);
|
|
230
|
+
border-color: var(--bs-icon-button-neutral-border);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.bs-icon-button--error {
|
|
234
|
+
background: var(--bs-icon-button-error-default);
|
|
235
|
+
color: var(--bs-text-on-action);
|
|
236
|
+
}
|
|
237
|
+
.bs-icon-button--error:hover:not(:disabled) {
|
|
238
|
+
background: var(--bs-icon-button-error-hover);
|
|
239
|
+
}
|
|
240
|
+
.bs-icon-button--error:active:not(:disabled) {
|
|
241
|
+
background: var(--bs-icon-button-error-pressed);
|
|
242
|
+
}
|
|
243
|
+
.bs-icon-button--error:disabled {
|
|
244
|
+
background: var(--bs-icon-button-error-disabled);
|
|
245
|
+
color: var(--bs-text-on-disabled);
|
|
246
|
+
}
|
|
247
|
+
.bs-icon-button--error:focus-visible {
|
|
248
|
+
outline-color: var(--bs-icon-button-error-focus);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.bs-icon-button--success {
|
|
252
|
+
background: var(--bs-icon-button-success-default);
|
|
253
|
+
color: var(--bs-text-on-action);
|
|
254
|
+
}
|
|
255
|
+
.bs-icon-button--success:hover:not(:disabled) {
|
|
256
|
+
background: var(--bs-icon-button-success-hover);
|
|
257
|
+
}
|
|
258
|
+
.bs-icon-button--success:active:not(:disabled) {
|
|
259
|
+
background: var(--bs-icon-button-success-pressed);
|
|
260
|
+
}
|
|
261
|
+
.bs-icon-button--success:disabled {
|
|
262
|
+
background: var(--bs-icon-button-success-disabled);
|
|
263
|
+
color: var(--bs-text-on-disabled);
|
|
264
|
+
}
|
|
265
|
+
.bs-icon-button--success:focus-visible {
|
|
266
|
+
outline-color: var(--bs-icon-button-success-focus);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.bs-icon-button--warning {
|
|
270
|
+
background: var(--bs-icon-button-warning-default);
|
|
271
|
+
/* --bs-text-on-action (not --bs-text-default), matching bs-button--warning's own contrast fix --
|
|
272
|
+
--bs-text-default failed WCAG AA against this background in both themes. */
|
|
273
|
+
color: var(--bs-text-on-action);
|
|
274
|
+
}
|
|
275
|
+
.bs-icon-button--warning:hover:not(:disabled) {
|
|
276
|
+
background: var(--bs-icon-button-warning-hover);
|
|
277
|
+
}
|
|
278
|
+
.bs-icon-button--warning:active:not(:disabled) {
|
|
279
|
+
background: var(--bs-icon-button-warning-pressed);
|
|
280
|
+
}
|
|
281
|
+
.bs-icon-button--warning:disabled {
|
|
282
|
+
background: var(--bs-icon-button-warning-disabled);
|
|
283
|
+
color: var(--bs-text-on-disabled);
|
|
284
|
+
}
|
|
285
|
+
.bs-icon-button--warning:focus-visible {
|
|
286
|
+
outline-color: var(--bs-icon-button-warning-focus);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.bs-icon-button--info {
|
|
290
|
+
background: var(--bs-icon-button-info-default);
|
|
291
|
+
color: var(--bs-text-on-action);
|
|
292
|
+
}
|
|
293
|
+
.bs-icon-button--info:hover:not(:disabled) {
|
|
294
|
+
background: var(--bs-icon-button-info-hover);
|
|
295
|
+
}
|
|
296
|
+
.bs-icon-button--info:active:not(:disabled) {
|
|
297
|
+
background: var(--bs-icon-button-info-pressed);
|
|
298
|
+
}
|
|
299
|
+
.bs-icon-button--info:disabled {
|
|
300
|
+
background: var(--bs-icon-button-info-disabled);
|
|
301
|
+
color: var(--bs-text-on-disabled);
|
|
302
|
+
}
|
|
303
|
+
.bs-icon-button--info:focus-visible {
|
|
304
|
+
outline-color: var(--bs-icon-button-info-focus);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.bs-icon-button--subtle {
|
|
308
|
+
background: transparent;
|
|
309
|
+
color: var(--bs-icon-neutral-default);
|
|
310
|
+
}
|
|
311
|
+
.bs-icon-button--subtle:hover:not(:disabled) {
|
|
312
|
+
background: var(--bs-icon-button-subtle-hover);
|
|
313
|
+
}
|
|
314
|
+
.bs-icon-button--subtle:active:not(:disabled) {
|
|
315
|
+
background: var(--bs-icon-button-subtle-pressed);
|
|
316
|
+
}
|
|
317
|
+
.bs-icon-button--subtle:disabled {
|
|
318
|
+
background: transparent;
|
|
319
|
+
color: var(--bs-text-on-disabled);
|
|
320
|
+
}
|
|
321
|
+
.bs-icon-button--subtle:focus-visible {
|
|
322
|
+
outline-color: var(--bs-icon-button-subtle-focus);
|
|
323
|
+
background: var(--bs-icon-button-subtle-hover);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.bs-icon-button--outlined {
|
|
327
|
+
background: transparent;
|
|
328
|
+
color: var(--bs-color-primary-default);
|
|
329
|
+
border: 1.5px solid var(--bs-icon-button-outlined-border);
|
|
330
|
+
}
|
|
331
|
+
.bs-icon-button--outlined:hover:not(:disabled) {
|
|
332
|
+
background: var(--bs-icon-button-outlined-container);
|
|
333
|
+
border-color: var(--bs-icon-button-outlined-border-hover);
|
|
334
|
+
}
|
|
335
|
+
.bs-icon-button--outlined:active:not(:disabled) {
|
|
336
|
+
background: var(--bs-icon-button-outlined-container);
|
|
337
|
+
color: var(--bs-color-primary-pressed);
|
|
338
|
+
border-color: var(--bs-icon-button-outlined-border-hover);
|
|
339
|
+
}
|
|
340
|
+
.bs-icon-button--outlined:disabled {
|
|
341
|
+
opacity: var(--bs-opacity-disabled);
|
|
342
|
+
cursor: not-allowed;
|
|
343
|
+
}
|
|
344
|
+
.bs-icon-button--outlined:focus-visible {
|
|
345
|
+
outline-color: var(--bs-icon-button-outlined-focus);
|
|
346
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
|
|
4
|
+
* 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
|
|
5
|
+
*
|
|
6
|
+
* ## When to use
|
|
7
|
+
* - A compact action where the icon alone is unambiguous (e.g. a close/dismiss control, a toolbar
|
|
8
|
+
* action) and adding a text label would take up more space than the context allows.
|
|
9
|
+
* - The same variant guidance as `bs-button` applies: `primary` for the single most important
|
|
10
|
+
* action, `neutral`/`subtle`/`outlined` for lower-emphasis alternatives, `error` reserved for
|
|
11
|
+
* destructive/irreversible actions (never `neutral`, per BrandSync guidance), `success`/
|
|
12
|
+
* `warning`/`info` only when the action's own outcome is predictable and clearly communicated.
|
|
13
|
+
*
|
|
14
|
+
* ## When not to use
|
|
15
|
+
* - When the action isn't self-evident from the icon alone -- use `bs-button` with a visible label
|
|
16
|
+
* instead, don't rely on a tooltip to compensate for an unclear icon.
|
|
17
|
+
* - For navigation between pages -- use a link/nav component instead.
|
|
18
|
+
*
|
|
19
|
+
* Because this component is always icon-only, `ariaLabel` is required for every real usage (not
|
|
20
|
+
* just conditionally, unlike `bs-button`) -- there's no visible label text to fall back on for an
|
|
21
|
+
* accessible name.
|
|
22
|
+
*
|
|
23
|
+
* @slot - Default slot: the icon content. Exactly one icon, no label.
|
|
24
|
+
* @part icon - The icon wrapper element.
|
|
25
|
+
*/
|
|
26
|
+
// Note: this component's CSS Custom Properties (--bs-icon-button-*) are documented via @prop
|
|
27
|
+
// comments in bs-icon-button.css, not here -- Stencil's docs generator only parses @prop out of
|
|
28
|
+
// CSS file comments, not the class-level JSDoc (see bs-tab.css's/bs-inline-tab.css's equivalent note).
|
|
29
|
+
export class BsIconButton {
|
|
30
|
+
el;
|
|
31
|
+
/**
|
|
32
|
+
* Visual style. Maps to the same semantic token families as `bs-button`'s `variant`.
|
|
33
|
+
* `error` is for destructive/irreversible actions per BrandSync guidance, not a stronger
|
|
34
|
+
* emphasis alternative to `primary`.
|
|
35
|
+
*/
|
|
36
|
+
variant = 'primary';
|
|
37
|
+
/** Sizing scale. `xs` (16px, an 8px icon) is a distinct, much smaller tier meant for compact
|
|
38
|
+
* chip/tag "remove" controls, not just a smaller toolbar button -- verified against a separate
|
|
39
|
+
* Figma redline (EG BrandSync UI Kit v1.5, node 20731:18427) from the one `sm`/`md`/`lg` were
|
|
40
|
+
* built against. */
|
|
41
|
+
size = 'md';
|
|
42
|
+
/** Disables the button and applies the disabled token set. */
|
|
43
|
+
disabled = false;
|
|
44
|
+
/** Native `<button>` type. */
|
|
45
|
+
type = 'button';
|
|
46
|
+
/**
|
|
47
|
+
* Accessible name for the button. Required -- this component is always icon-only, so there's
|
|
48
|
+
* no visible label text for screen readers to fall back on. Stencil reflects this camelCase
|
|
49
|
+
* prop to the `aria-label` HTML attribute automatically.
|
|
50
|
+
*/
|
|
51
|
+
ariaLabel = null;
|
|
52
|
+
render() {
|
|
53
|
+
return (h("button", { key: '174cb1f4c7eb14ba404991cebf081ecd25294faf', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel }, h("span", { key: '613f2701ee211ead437c5137344db4f7e3de1893', part: "icon", class: "bs-icon-button__icon" }, h("slot", { key: '4f7053179b9ce70eb82731f01b5b0b33f9911240' }))));
|
|
54
|
+
}
|
|
55
|
+
static get is() { return "bs-icon-button"; }
|
|
56
|
+
static get encapsulation() { return "shadow"; }
|
|
57
|
+
static get delegatesFocus() { return true; }
|
|
58
|
+
static get originalStyleUrls() {
|
|
59
|
+
return {
|
|
60
|
+
"$": ["bs-icon-button.css"]
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
static get styleUrls() {
|
|
64
|
+
return {
|
|
65
|
+
"$": ["bs-icon-button.css"]
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
static get properties() {
|
|
69
|
+
return {
|
|
70
|
+
"variant": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"mutable": false,
|
|
73
|
+
"complexType": {
|
|
74
|
+
"original": "BsIconButtonVariant",
|
|
75
|
+
"resolved": "\"error\" | \"info\" | \"neutral\" | \"outlined\" | \"primary\" | \"subtle\" | \"success\" | \"warning\"",
|
|
76
|
+
"references": {
|
|
77
|
+
"BsIconButtonVariant": {
|
|
78
|
+
"location": "local",
|
|
79
|
+
"path": "/Users/vivka/brandsync-web-components/src/components/bs-button/bs-icon-button/bs-icon-button.tsx",
|
|
80
|
+
"id": "src/components/bs-button/bs-icon-button/bs-icon-button.tsx::BsIconButtonVariant"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"required": false,
|
|
85
|
+
"optional": false,
|
|
86
|
+
"docs": {
|
|
87
|
+
"tags": [],
|
|
88
|
+
"text": "Visual style. Maps to the same semantic token families as `bs-button`'s `variant`.\n`error` is for destructive/irreversible actions per BrandSync guidance, not a stronger\nemphasis alternative to `primary`."
|
|
89
|
+
},
|
|
90
|
+
"getter": false,
|
|
91
|
+
"setter": false,
|
|
92
|
+
"reflect": false,
|
|
93
|
+
"attribute": "variant",
|
|
94
|
+
"defaultValue": "'primary'"
|
|
95
|
+
},
|
|
96
|
+
"size": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"mutable": false,
|
|
99
|
+
"complexType": {
|
|
100
|
+
"original": "BsIconButtonSize",
|
|
101
|
+
"resolved": "\"lg\" | \"md\" | \"sm\" | \"xs\"",
|
|
102
|
+
"references": {
|
|
103
|
+
"BsIconButtonSize": {
|
|
104
|
+
"location": "local",
|
|
105
|
+
"path": "/Users/vivka/brandsync-web-components/src/components/bs-button/bs-icon-button/bs-icon-button.tsx",
|
|
106
|
+
"id": "src/components/bs-button/bs-icon-button/bs-icon-button.tsx::BsIconButtonSize"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"required": false,
|
|
111
|
+
"optional": false,
|
|
112
|
+
"docs": {
|
|
113
|
+
"tags": [],
|
|
114
|
+
"text": "Sizing scale. `xs` (16px, an 8px icon) is a distinct, much smaller tier meant for compact\nchip/tag \"remove\" controls, not just a smaller toolbar button -- verified against a separate\nFigma redline (EG BrandSync UI Kit v1.5, node 20731:18427) from the one `sm`/`md`/`lg` were\nbuilt against."
|
|
115
|
+
},
|
|
116
|
+
"getter": false,
|
|
117
|
+
"setter": false,
|
|
118
|
+
"reflect": false,
|
|
119
|
+
"attribute": "size",
|
|
120
|
+
"defaultValue": "'md'"
|
|
121
|
+
},
|
|
122
|
+
"disabled": {
|
|
123
|
+
"type": "boolean",
|
|
124
|
+
"mutable": false,
|
|
125
|
+
"complexType": {
|
|
126
|
+
"original": "boolean",
|
|
127
|
+
"resolved": "boolean",
|
|
128
|
+
"references": {}
|
|
129
|
+
},
|
|
130
|
+
"required": false,
|
|
131
|
+
"optional": false,
|
|
132
|
+
"docs": {
|
|
133
|
+
"tags": [],
|
|
134
|
+
"text": "Disables the button and applies the disabled token set."
|
|
135
|
+
},
|
|
136
|
+
"getter": false,
|
|
137
|
+
"setter": false,
|
|
138
|
+
"reflect": false,
|
|
139
|
+
"attribute": "disabled",
|
|
140
|
+
"defaultValue": "false"
|
|
141
|
+
},
|
|
142
|
+
"type": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"mutable": false,
|
|
145
|
+
"complexType": {
|
|
146
|
+
"original": "'button' | 'submit' | 'reset'",
|
|
147
|
+
"resolved": "\"button\" | \"reset\" | \"submit\"",
|
|
148
|
+
"references": {}
|
|
149
|
+
},
|
|
150
|
+
"required": false,
|
|
151
|
+
"optional": false,
|
|
152
|
+
"docs": {
|
|
153
|
+
"tags": [],
|
|
154
|
+
"text": "Native `<button>` type."
|
|
155
|
+
},
|
|
156
|
+
"getter": false,
|
|
157
|
+
"setter": false,
|
|
158
|
+
"reflect": false,
|
|
159
|
+
"attribute": "type",
|
|
160
|
+
"defaultValue": "'button'"
|
|
161
|
+
},
|
|
162
|
+
"ariaLabel": {
|
|
163
|
+
"type": "string",
|
|
164
|
+
"mutable": false,
|
|
165
|
+
"complexType": {
|
|
166
|
+
"original": "string | null",
|
|
167
|
+
"resolved": "string",
|
|
168
|
+
"references": {}
|
|
169
|
+
},
|
|
170
|
+
"required": false,
|
|
171
|
+
"optional": false,
|
|
172
|
+
"docs": {
|
|
173
|
+
"tags": [],
|
|
174
|
+
"text": "Accessible name for the button. Required -- this component is always icon-only, so there's\nno visible label text for screen readers to fall back on. Stencil reflects this camelCase\nprop to the `aria-label` HTML attribute automatically."
|
|
175
|
+
},
|
|
176
|
+
"getter": false,
|
|
177
|
+
"setter": false,
|
|
178
|
+
"reflect": false,
|
|
179
|
+
"attribute": "aria-label",
|
|
180
|
+
"defaultValue": "null"
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
static get elementRef() { return "el"; }
|
|
185
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
import { componentDescription, propDescription } from "../../../stories-utils";
|
|
3
|
+
const variants = ['primary', 'neutral', 'subtle', 'outlined', 'success', 'warning', 'info', 'error'];
|
|
4
|
+
const sizes = ['xs', 'sm', 'md', 'lg'];
|
|
5
|
+
const checkIcon = html `
|
|
6
|
+
<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
7
|
+
<path d="M13 4L6 11L3 8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
|
8
|
+
</svg>
|
|
9
|
+
`;
|
|
10
|
+
const meta = {
|
|
11
|
+
title: 'Components/bs-button/bs-icon-button',
|
|
12
|
+
parameters: { docs: { description: { component: componentDescription('bs-icon-button') } } },
|
|
13
|
+
render: args => html `
|
|
14
|
+
<bs-icon-button variant=${args.variant} size=${args.size} type=${args.type} aria-label=${args.ariaLabel} ?disabled=${args.disabled}>
|
|
15
|
+
${checkIcon}
|
|
16
|
+
</bs-icon-button>
|
|
17
|
+
`,
|
|
18
|
+
argTypes: {
|
|
19
|
+
variant: { control: 'select', options: variants, description: propDescription('bs-icon-button', 'variant') },
|
|
20
|
+
size: { control: 'select', options: sizes, description: propDescription('bs-icon-button', 'size') },
|
|
21
|
+
disabled: { control: 'boolean', description: propDescription('bs-icon-button', 'disabled') },
|
|
22
|
+
type: { control: 'select', options: ['button', 'submit', 'reset'], description: propDescription('bs-icon-button', 'type') },
|
|
23
|
+
ariaLabel: { control: 'text', description: propDescription('bs-icon-button', 'ariaLabel') },
|
|
24
|
+
},
|
|
25
|
+
args: {
|
|
26
|
+
variant: 'primary',
|
|
27
|
+
size: 'md',
|
|
28
|
+
disabled: false,
|
|
29
|
+
type: 'button',
|
|
30
|
+
ariaLabel: 'Confirm',
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
export default meta;
|
|
34
|
+
export const Primary = {};
|
|
35
|
+
export const Sizes = {
|
|
36
|
+
render: args => html `
|
|
37
|
+
<div style="display:flex; gap:12px; align-items:center;">
|
|
38
|
+
<bs-icon-button size="xs" aria-label=${args.ariaLabel}>${checkIcon}</bs-icon-button>
|
|
39
|
+
<bs-icon-button size="sm" aria-label=${args.ariaLabel}>${checkIcon}</bs-icon-button>
|
|
40
|
+
<bs-icon-button size="md" aria-label=${args.ariaLabel}>${checkIcon}</bs-icon-button>
|
|
41
|
+
<bs-icon-button size="lg" aria-label=${args.ariaLabel}>${checkIcon}</bs-icon-button>
|
|
42
|
+
</div>
|
|
43
|
+
`,
|
|
44
|
+
};
|
|
45
|
+
export const Disabled = {
|
|
46
|
+
args: { disabled: true },
|
|
47
|
+
};
|
|
48
|
+
export const AllCombinations = {
|
|
49
|
+
name: 'All variant × size × disabled combinations',
|
|
50
|
+
render: () => html `
|
|
51
|
+
<table style="border-collapse: collapse;">
|
|
52
|
+
<thead>
|
|
53
|
+
<tr>
|
|
54
|
+
<th style="text-align:left; padding: 4px 12px;">Variant</th>
|
|
55
|
+
${sizes.map(size => html `<th style="text-align:left; padding: 4px 12px;">${size}</th>`)}
|
|
56
|
+
${sizes.map(size => html `<th style="text-align:left; padding: 4px 12px;">${size} (disabled)</th>`)}
|
|
57
|
+
</tr>
|
|
58
|
+
</thead>
|
|
59
|
+
<tbody>
|
|
60
|
+
${variants.map(variant => html `
|
|
61
|
+
<tr>
|
|
62
|
+
<td style="padding: 8px 12px; font-family: monospace;">${variant}</td>
|
|
63
|
+
${sizes.map(size => html `<td style="padding: 8px 12px;">
|
|
64
|
+
<bs-icon-button variant=${variant} size=${size} aria-label="Confirm">${checkIcon}</bs-icon-button>
|
|
65
|
+
</td>`)}
|
|
66
|
+
${sizes.map(size => html `<td style="padding: 8px 12px;">
|
|
67
|
+
<bs-icon-button variant=${variant} size=${size} aria-label="Confirm" disabled>${checkIcon}</bs-icon-button>
|
|
68
|
+
</td>`)}
|
|
69
|
+
</tr>
|
|
70
|
+
`)}
|
|
71
|
+
</tbody>
|
|
72
|
+
</table>
|
|
73
|
+
`,
|
|
74
|
+
};
|
|
@@ -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: '3fac3516a35e12ebe5f26d83c1e6df05bf087642', 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"; }
|
|
@@ -50,8 +50,8 @@ export class BsButtonSkeleton {
|
|
|
50
50
|
"references": {
|
|
51
51
|
"BsButtonSize": {
|
|
52
52
|
"location": "import",
|
|
53
|
-
"path": "../bs-button/bs-button",
|
|
54
|
-
"id": "src/components/bs-button/bs-button.tsx::BsButtonSize",
|
|
53
|
+
"path": "../bs-button/bs-button/bs-button",
|
|
54
|
+
"id": "src/components/bs-button/bs-button/bs-button.tsx::BsButtonSize",
|
|
55
55
|
"referenceLocation": "BsButtonSize"
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -39,4 +39,23 @@ describe('bs-card', () => {
|
|
|
39
39
|
expect(header.textContent.trim()).toBe('');
|
|
40
40
|
expect(footer.textContent.trim()).toBe('');
|
|
41
41
|
});
|
|
42
|
+
it('lays out multiple footer items as a right-aligned row', async () => {
|
|
43
|
+
const { root } = await render(h("bs-card", null, "Body content", h("button", { slot: "footer" }, "Cancel"), h("button", { slot: "footer" }, "Confirm")));
|
|
44
|
+
const footer = root.shadowRoot.querySelector('[part="footer"]');
|
|
45
|
+
expect(getComputedStyle(footer).display).toBe('flex');
|
|
46
|
+
expect(getComputedStyle(footer).justifyContent).toBe('flex-end');
|
|
47
|
+
});
|
|
48
|
+
describe('image slot', () => {
|
|
49
|
+
it('has no visible image wrapper when the image slot is empty', async () => {
|
|
50
|
+
const { root } = await render(h("bs-card", null, "Body content"));
|
|
51
|
+
const image = root.shadowRoot.querySelector('[part="image"]');
|
|
52
|
+
expect(image).not.toBeNull();
|
|
53
|
+
expect(image).not.toHaveClass('bs-card__image--visible');
|
|
54
|
+
});
|
|
55
|
+
it('shows the image wrapper when the image slot has content', async () => {
|
|
56
|
+
const { root } = await render(h("bs-card", null, "Body content", h("img", { slot: "image", src: "hero.jpg", alt: "" })));
|
|
57
|
+
const image = root.shadowRoot.querySelector('[part="image"]');
|
|
58
|
+
expect(image).toHaveClass('bs-card__image--visible');
|
|
59
|
+
});
|
|
60
|
+
});
|
|
42
61
|
});
|