@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,314 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A single row within a `bs-navigation-drawer`'s item list -- either a plain leaf nav item, or an
|
|
4
|
+
* `expandable` group header that discloses nested `bs-navigation-drawer-item` children.
|
|
5
|
+
*
|
|
6
|
+
* ## When to use
|
|
7
|
+
* - Every row inside a `bs-navigation-drawer`'s default slot.
|
|
8
|
+
*
|
|
9
|
+
* ## When not to use
|
|
10
|
+
* - A standalone action outside a navigation drawer -- use `bs-button`/`bs-menu-item` instead.
|
|
11
|
+
*
|
|
12
|
+
* Click behavior is mutually exclusive, based on `expandable`:
|
|
13
|
+
* - `expandable = false` (a plain leaf item): clicking only emits `bsSelect`. `selected` is NOT
|
|
14
|
+
* self-toggling -- same non-self-toggling precedent as `bs-tab`'s `selected` (see `bs-tab.tsx`'s
|
|
15
|
+
* class doc): coordinating which sibling row is selected needs cross-item state a
|
|
16
|
+
* consumer/wrapper owns, not something this component can reason about on its own.
|
|
17
|
+
* - `expandable = true` (a group header, never shown with a `selected` tint): clicking toggles
|
|
18
|
+
* `this.expanded` directly and emits `bsToggle` with the new value, and does NOT emit
|
|
19
|
+
* `bsSelect`. This IS self-toggling, unlike `selected` above -- it's simple local disclosure
|
|
20
|
+
* state with no cross-item coordination needed, closer to `bs-switch`'s self-toggling `checked`
|
|
21
|
+
* than `bs-tab`'s non-self-toggling `selected`.
|
|
22
|
+
*
|
|
23
|
+
* Nesting: put child `<bs-navigation-drawer-item nested>` elements inside a parent
|
|
24
|
+
* `<bs-navigation-drawer-item expandable>` with `slot="children"`. The parent shows/hides that
|
|
25
|
+
* slot's content based on its own `expanded` prop, via a pure-CSS attribute selector (no JS
|
|
26
|
+
* visibility toggling needed, since `expanded` is reflected).
|
|
27
|
+
*
|
|
28
|
+
* `collapsed` switches this row from its normal icon-beside-label row layout to a compact
|
|
29
|
+
* icon-above-caption column (per Figma node 8028:135374, the drawer's "Type=Collapsed" state) --
|
|
30
|
+
* you don't need to set this yourself on every item: a parent `bs-navigation-drawer` keeps its own
|
|
31
|
+
* top-level items' `collapsed` prop in sync with its own `collapsed` state automatically (see
|
|
32
|
+
* `bs-navigation-drawer.tsx`'s `syncItemsCollapsed`, the same direct-children-prop-sync approach
|
|
33
|
+
* `bs-tabs` uses for coordinating `selected` across its own `bs-tab` children). It's still a public
|
|
34
|
+
* prop so a standalone item (or this component's own stories) can be demoed without the parent.
|
|
35
|
+
*
|
|
36
|
+
* @slot - Default slot: the row's label text.
|
|
37
|
+
* @slot icon - Optional leading icon (24x24). Only rendered (and only reserves layout space) when
|
|
38
|
+
* populated -- same "only take up space if slotted" pattern as `bs-tab`'s `icon` slot. Not
|
|
39
|
+
* rendered at all for `nested` rows (Figma's nested rows never have icons).
|
|
40
|
+
* @slot children - `expandable` only: nested `bs-navigation-drawer-item` rows, shown/hidden based
|
|
41
|
+
* on `expanded`.
|
|
42
|
+
* @part item - The row's root `<button>` element.
|
|
43
|
+
* @part icon - The icon wrapper (top-level, non-`nested` rows only).
|
|
44
|
+
* @part label - The label text wrapper.
|
|
45
|
+
* @part chevron - The trailing expand/collapse chevron wrapper (`expandable` only).
|
|
46
|
+
* @part children - The wrapper around the `children` slot.
|
|
47
|
+
*/
|
|
48
|
+
// Note: this component's CSS Custom Properties are documented via @prop comments in
|
|
49
|
+
// bs-navigation-drawer-item.css, not here -- see bs-navigation-header.css's identical note.
|
|
50
|
+
export class BsNavigationDrawerItem {
|
|
51
|
+
el;
|
|
52
|
+
/** Tints the row's background/text to indicate it's the current destination. NOT
|
|
53
|
+
* self-toggling -- see the class doc above for why. Ignored (never applied) when `expandable`
|
|
54
|
+
* is true. Reflected so consumers/CSS can target `bs-navigation-drawer-item[selected]`. */
|
|
55
|
+
selected = false;
|
|
56
|
+
/** Renders this row as a disclosure/group header (trailing chevron, self-toggling `expanded`,
|
|
57
|
+
* `bsToggle` instead of `bsSelect` on click) instead of a plain navigable leaf item. See the
|
|
58
|
+
* class doc above for the full click-behavior split. */
|
|
59
|
+
expandable = false;
|
|
60
|
+
/** Whether an `expandable` row's `children` slot is shown. Mutable and reflected -- clicking an
|
|
61
|
+
* `expandable` row toggles this directly (self-toggling, unlike `selected` above), and CSS
|
|
62
|
+
* shows/hides the `children` slot wrapper based on the reflected attribute. Ignored when
|
|
63
|
+
* `expandable` is false. */
|
|
64
|
+
expanded = false;
|
|
65
|
+
/** Marks this as a child row nested under an `expandable` parent (via `slot="children"`) --
|
|
66
|
+
* deepens the left indent and stops reserving `icon` slot space entirely (Figma's nested rows
|
|
67
|
+
* never have icons). */
|
|
68
|
+
nested = false;
|
|
69
|
+
/**
|
|
70
|
+
* Optional accessible name override. Not required for `collapsed` rows -- unlike an
|
|
71
|
+
* icon-only button, the label caption stays visible (just restyled smaller, under the icon) in
|
|
72
|
+
* that mode per Figma, so the button's default accessible-name computation (its own text
|
|
73
|
+
* content) already works. Set this if you want a fuller/different name than the visible caption
|
|
74
|
+
* (e.g. truncated captions, or matching `bs-switch`/`bs-slider`'s `ariaLabel` convention for
|
|
75
|
+
* consistency).
|
|
76
|
+
*/
|
|
77
|
+
ariaLabel = null;
|
|
78
|
+
/**
|
|
79
|
+
* Switches this row to the compact icon-above-caption column layout used when its parent
|
|
80
|
+
* `bs-navigation-drawer` is `collapsed` (see the class doc above). Reflected so
|
|
81
|
+
* `bs-navigation-drawer-item[collapsed]` is CSS-targetable. Also forces `expandable` rows'
|
|
82
|
+
* chevron and `children` slot to stay hidden regardless of `expanded` -- Figma's collapsed rail
|
|
83
|
+
* never shows a nested tree.
|
|
84
|
+
*/
|
|
85
|
+
collapsed = false;
|
|
86
|
+
/** Fires on click, only when `expandable` is false. See the class doc above. */
|
|
87
|
+
bsSelect;
|
|
88
|
+
/** Fires with the new `expanded` value on click, only when `expandable` is true. See the class
|
|
89
|
+
* doc above. */
|
|
90
|
+
bsToggle;
|
|
91
|
+
/** Tracks whether the `icon` slot has assigned content, so the icon wrapper only reserves
|
|
92
|
+
* layout space when there's actually an icon -- same pattern as `bs-tab`'s `hasIcon`. Not used
|
|
93
|
+
* at all for `nested` rows, which never render an icon wrapper in the first place. */
|
|
94
|
+
hasIcon = false;
|
|
95
|
+
/**
|
|
96
|
+
* Computes the initial `hasIcon` state directly from the host's light DOM children, before
|
|
97
|
+
* first render -- same reasoning as `bs-tab.componentWillLoad`'s identical comment (a slot with
|
|
98
|
+
* zero assigned nodes from the start never fires `slotchange`).
|
|
99
|
+
*/
|
|
100
|
+
componentWillLoad() {
|
|
101
|
+
this.hasIcon = this.hasSlottedContent('icon');
|
|
102
|
+
}
|
|
103
|
+
hasSlottedContent(slotName) {
|
|
104
|
+
return Array.from(this.el.childNodes).some(node => node.nodeType === Node.ELEMENT_NODE && node.getAttribute('slot') === slotName);
|
|
105
|
+
}
|
|
106
|
+
onIconSlotchange = (ev) => {
|
|
107
|
+
this.hasIcon = ev.target.assignedNodes().length > 0;
|
|
108
|
+
};
|
|
109
|
+
onClick = () => {
|
|
110
|
+
if (this.expandable) {
|
|
111
|
+
this.expanded = !this.expanded;
|
|
112
|
+
this.bsToggle.emit(this.expanded);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.bsSelect.emit();
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
render() {
|
|
119
|
+
const rowClasses = [
|
|
120
|
+
'bs-navigation-drawer-item',
|
|
121
|
+
this.selected && !this.expandable ? 'bs-navigation-drawer-item--selected' : '',
|
|
122
|
+
this.nested ? 'bs-navigation-drawer-item--nested' : '',
|
|
123
|
+
]
|
|
124
|
+
.filter(Boolean)
|
|
125
|
+
.join(' ');
|
|
126
|
+
// The `children` slot wrapper is deliberately a SIBLING of the <button>, not nested inside
|
|
127
|
+
// it -- a nested child row's own shadow DOM renders its own real <button>, and putting that
|
|
128
|
+
// inside this row's <button> would produce invalid nested interactive controls (button inside
|
|
129
|
+
// button). Nested buttons also break click handling in practice: a click on the child bubbles
|
|
130
|
+
// through this outer <button> too (it's a real ancestor in the flattened tree), which would
|
|
131
|
+
// incorrectly also toggle this parent row on every child click. Both are wrapped in a
|
|
132
|
+
// `display: contents` container so render() still returns a single root node (this codebase's
|
|
133
|
+
// convention, e.g. bs-input.tsx) without that wrapper affecting layout at all.
|
|
134
|
+
return (h("div", { key: '6fd089698cd27459fc10a2806fba5a792dbfec2b', class: "bs-navigation-drawer-item__root" }, h("button", { key: '5c4448c9f16dfe9356ce069a5f069db9ed084f3b', 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: 'bcfd23ef22e33ed6dcb3ec70b8263a4dccb14914', part: "icon", class: `bs-navigation-drawer-item__icon ${this.hasIcon ? 'bs-navigation-drawer-item__icon--has-content' : ''}` }, h("slot", { key: '170f97cc6ca93bf5e9e336b7c39c3d3bb02adca8', name: "icon", onSlotchange: this.onIconSlotchange }))), h("span", { key: 'abbc25976aa21e94e503497430d2be0895fd8987', part: "label", class: "bs-navigation-drawer-item__label" }, h("slot", { key: '0b9e12703c42e326634bb5adb49f1994b9c19754' })), this.expandable && (h("span", { key: '25e2a8517451cced2993390cd194420d57ee5489', part: "chevron", class: `bs-navigation-drawer-item__chevron ${this.expanded ? 'bs-navigation-drawer-item__chevron--expanded' : ''}` }, h(ChevronDownIcon, { key: '7b15770e5a071f8f49b06d811dbe1925ff9b5054' })))), this.expandable && (h("span", { key: '861ac7d088e527486c43f80a933e796c05980bc0', part: "children", class: "bs-navigation-drawer-item__children" }, h("slot", { key: 'fc673a4f19b0aee8c4c3d9d718cb239746e04221', name: "children" })))));
|
|
135
|
+
}
|
|
136
|
+
static get is() { return "bs-navigation-drawer-item"; }
|
|
137
|
+
static get encapsulation() { return "shadow"; }
|
|
138
|
+
static get originalStyleUrls() {
|
|
139
|
+
return {
|
|
140
|
+
"$": ["bs-navigation-drawer-item.css"]
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
static get styleUrls() {
|
|
144
|
+
return {
|
|
145
|
+
"$": ["bs-navigation-drawer-item.css"]
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
static get properties() {
|
|
149
|
+
return {
|
|
150
|
+
"selected": {
|
|
151
|
+
"type": "boolean",
|
|
152
|
+
"mutable": false,
|
|
153
|
+
"complexType": {
|
|
154
|
+
"original": "boolean",
|
|
155
|
+
"resolved": "boolean",
|
|
156
|
+
"references": {}
|
|
157
|
+
},
|
|
158
|
+
"required": false,
|
|
159
|
+
"optional": false,
|
|
160
|
+
"docs": {
|
|
161
|
+
"tags": [],
|
|
162
|
+
"text": "Tints the row's background/text to indicate it's the current destination. NOT\nself-toggling -- see the class doc above for why. Ignored (never applied) when `expandable`\nis true. Reflected so consumers/CSS can target `bs-navigation-drawer-item[selected]`."
|
|
163
|
+
},
|
|
164
|
+
"getter": false,
|
|
165
|
+
"setter": false,
|
|
166
|
+
"reflect": true,
|
|
167
|
+
"attribute": "selected",
|
|
168
|
+
"defaultValue": "false"
|
|
169
|
+
},
|
|
170
|
+
"expandable": {
|
|
171
|
+
"type": "boolean",
|
|
172
|
+
"mutable": false,
|
|
173
|
+
"complexType": {
|
|
174
|
+
"original": "boolean",
|
|
175
|
+
"resolved": "boolean",
|
|
176
|
+
"references": {}
|
|
177
|
+
},
|
|
178
|
+
"required": false,
|
|
179
|
+
"optional": false,
|
|
180
|
+
"docs": {
|
|
181
|
+
"tags": [],
|
|
182
|
+
"text": "Renders this row as a disclosure/group header (trailing chevron, self-toggling `expanded`,\n`bsToggle` instead of `bsSelect` on click) instead of a plain navigable leaf item. See the\nclass doc above for the full click-behavior split."
|
|
183
|
+
},
|
|
184
|
+
"getter": false,
|
|
185
|
+
"setter": false,
|
|
186
|
+
"reflect": false,
|
|
187
|
+
"attribute": "expandable",
|
|
188
|
+
"defaultValue": "false"
|
|
189
|
+
},
|
|
190
|
+
"expanded": {
|
|
191
|
+
"type": "boolean",
|
|
192
|
+
"mutable": true,
|
|
193
|
+
"complexType": {
|
|
194
|
+
"original": "boolean",
|
|
195
|
+
"resolved": "boolean",
|
|
196
|
+
"references": {}
|
|
197
|
+
},
|
|
198
|
+
"required": false,
|
|
199
|
+
"optional": false,
|
|
200
|
+
"docs": {
|
|
201
|
+
"tags": [],
|
|
202
|
+
"text": "Whether an `expandable` row's `children` slot is shown. Mutable and reflected -- clicking an\n`expandable` row toggles this directly (self-toggling, unlike `selected` above), and CSS\nshows/hides the `children` slot wrapper based on the reflected attribute. Ignored when\n`expandable` is false."
|
|
203
|
+
},
|
|
204
|
+
"getter": false,
|
|
205
|
+
"setter": false,
|
|
206
|
+
"reflect": true,
|
|
207
|
+
"attribute": "expanded",
|
|
208
|
+
"defaultValue": "false"
|
|
209
|
+
},
|
|
210
|
+
"nested": {
|
|
211
|
+
"type": "boolean",
|
|
212
|
+
"mutable": false,
|
|
213
|
+
"complexType": {
|
|
214
|
+
"original": "boolean",
|
|
215
|
+
"resolved": "boolean",
|
|
216
|
+
"references": {}
|
|
217
|
+
},
|
|
218
|
+
"required": false,
|
|
219
|
+
"optional": false,
|
|
220
|
+
"docs": {
|
|
221
|
+
"tags": [],
|
|
222
|
+
"text": "Marks this as a child row nested under an `expandable` parent (via `slot=\"children\"`) --\ndeepens the left indent and stops reserving `icon` slot space entirely (Figma's nested rows\nnever have icons)."
|
|
223
|
+
},
|
|
224
|
+
"getter": false,
|
|
225
|
+
"setter": false,
|
|
226
|
+
"reflect": false,
|
|
227
|
+
"attribute": "nested",
|
|
228
|
+
"defaultValue": "false"
|
|
229
|
+
},
|
|
230
|
+
"ariaLabel": {
|
|
231
|
+
"type": "string",
|
|
232
|
+
"mutable": false,
|
|
233
|
+
"complexType": {
|
|
234
|
+
"original": "string | null",
|
|
235
|
+
"resolved": "string",
|
|
236
|
+
"references": {}
|
|
237
|
+
},
|
|
238
|
+
"required": false,
|
|
239
|
+
"optional": false,
|
|
240
|
+
"docs": {
|
|
241
|
+
"tags": [],
|
|
242
|
+
"text": "Optional accessible name override. Not required for `collapsed` rows -- unlike an\nicon-only button, the label caption stays visible (just restyled smaller, under the icon) in\nthat mode per Figma, so the button's default accessible-name computation (its own text\ncontent) already works. Set this if you want a fuller/different name than the visible caption\n(e.g. truncated captions, or matching `bs-switch`/`bs-slider`'s `ariaLabel` convention for\nconsistency)."
|
|
243
|
+
},
|
|
244
|
+
"getter": false,
|
|
245
|
+
"setter": false,
|
|
246
|
+
"reflect": false,
|
|
247
|
+
"attribute": "aria-label",
|
|
248
|
+
"defaultValue": "null"
|
|
249
|
+
},
|
|
250
|
+
"collapsed": {
|
|
251
|
+
"type": "boolean",
|
|
252
|
+
"mutable": false,
|
|
253
|
+
"complexType": {
|
|
254
|
+
"original": "boolean",
|
|
255
|
+
"resolved": "boolean",
|
|
256
|
+
"references": {}
|
|
257
|
+
},
|
|
258
|
+
"required": false,
|
|
259
|
+
"optional": false,
|
|
260
|
+
"docs": {
|
|
261
|
+
"tags": [],
|
|
262
|
+
"text": "Switches this row to the compact icon-above-caption column layout used when its parent\n`bs-navigation-drawer` is `collapsed` (see the class doc above). Reflected so\n`bs-navigation-drawer-item[collapsed]` is CSS-targetable. Also forces `expandable` rows'\nchevron and `children` slot to stay hidden regardless of `expanded` -- Figma's collapsed rail\nnever shows a nested tree."
|
|
263
|
+
},
|
|
264
|
+
"getter": false,
|
|
265
|
+
"setter": false,
|
|
266
|
+
"reflect": true,
|
|
267
|
+
"attribute": "collapsed",
|
|
268
|
+
"defaultValue": "false"
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
static get states() {
|
|
273
|
+
return {
|
|
274
|
+
"hasIcon": {}
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
static get events() {
|
|
278
|
+
return [{
|
|
279
|
+
"method": "bsSelect",
|
|
280
|
+
"name": "bsSelect",
|
|
281
|
+
"bubbles": true,
|
|
282
|
+
"cancelable": true,
|
|
283
|
+
"composed": true,
|
|
284
|
+
"docs": {
|
|
285
|
+
"tags": [],
|
|
286
|
+
"text": "Fires on click, only when `expandable` is false. See the class doc above."
|
|
287
|
+
},
|
|
288
|
+
"complexType": {
|
|
289
|
+
"original": "void",
|
|
290
|
+
"resolved": "void",
|
|
291
|
+
"references": {}
|
|
292
|
+
}
|
|
293
|
+
}, {
|
|
294
|
+
"method": "bsToggle",
|
|
295
|
+
"name": "bsToggle",
|
|
296
|
+
"bubbles": true,
|
|
297
|
+
"cancelable": true,
|
|
298
|
+
"composed": true,
|
|
299
|
+
"docs": {
|
|
300
|
+
"tags": [],
|
|
301
|
+
"text": "Fires with the new `expanded` value on click, only when `expandable` is true. See the class\ndoc above."
|
|
302
|
+
},
|
|
303
|
+
"complexType": {
|
|
304
|
+
"original": "boolean",
|
|
305
|
+
"resolved": "boolean",
|
|
306
|
+
"references": {}
|
|
307
|
+
}
|
|
308
|
+
}];
|
|
309
|
+
}
|
|
310
|
+
static get elementRef() { return "el"; }
|
|
311
|
+
}
|
|
312
|
+
// 16x16 native viewBox (not a 24x24 icon scaled down) -- authored directly at display size, per
|
|
313
|
+
// the class doc's note on this being the author's choice between the two options offered.
|
|
314
|
+
const ChevronDownIcon = () => (h("svg", { viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M4 6L8 10L12 6", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
import { componentDescription, propDescription } from "../../../../stories-utils";
|
|
3
|
+
const bookIcon = html `
|
|
4
|
+
<svg slot="icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
5
|
+
<path
|
|
6
|
+
d="M4 4.5C4 3.67157 4.67157 3 5.5 3H18.5C19.3284 3 20 3.67157 20 4.5V19.5C20 20.3284 19.3284 21 18.5 21H5.5C4.67157 21 4 20.3284 4 19.5V4.5Z"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
stroke-width="1.5"
|
|
9
|
+
/>
|
|
10
|
+
<path d="M8 3V21" stroke="currentColor" stroke-width="1.5" />
|
|
11
|
+
</svg>
|
|
12
|
+
`;
|
|
13
|
+
const meta = {
|
|
14
|
+
title: 'UI Shell/bs-navigation-drawer/bs-navigation-drawer-item',
|
|
15
|
+
parameters: { docs: { description: { component: componentDescription('bs-navigation-drawer-item') } } },
|
|
16
|
+
render: args => html `
|
|
17
|
+
<bs-navigation-drawer-item
|
|
18
|
+
?selected=${args.selected}
|
|
19
|
+
?expandable=${args.expandable}
|
|
20
|
+
?expanded=${args.expanded}
|
|
21
|
+
?nested=${args.nested}
|
|
22
|
+
?collapsed=${args.collapsed}
|
|
23
|
+
style="width: ${args.collapsed ? '85px' : '248px'}; display: block;"
|
|
24
|
+
>
|
|
25
|
+
${args.icon ? bookIcon : ''}${args.label}
|
|
26
|
+
</bs-navigation-drawer-item>
|
|
27
|
+
`,
|
|
28
|
+
argTypes: {
|
|
29
|
+
label: { control: 'text', description: 'Slotted label content (not a real attribute -- see the default slot).' },
|
|
30
|
+
selected: { control: 'boolean', description: propDescription('bs-navigation-drawer-item', 'selected') },
|
|
31
|
+
expandable: { control: 'boolean', description: propDescription('bs-navigation-drawer-item', 'expandable') },
|
|
32
|
+
expanded: { control: 'boolean', description: propDescription('bs-navigation-drawer-item', 'expanded') },
|
|
33
|
+
nested: { control: 'boolean', description: propDescription('bs-navigation-drawer-item', 'nested') },
|
|
34
|
+
icon: { control: 'boolean', description: 'Toggles a leading icon (not a real attribute -- see the `icon` slot).' },
|
|
35
|
+
collapsed: { control: 'boolean', description: propDescription('bs-navigation-drawer-item', 'collapsed') },
|
|
36
|
+
},
|
|
37
|
+
args: {
|
|
38
|
+
label: 'Introduction',
|
|
39
|
+
selected: false,
|
|
40
|
+
expandable: false,
|
|
41
|
+
expanded: false,
|
|
42
|
+
nested: false,
|
|
43
|
+
icon: true,
|
|
44
|
+
collapsed: false,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
export default meta;
|
|
48
|
+
export const Default = {};
|
|
49
|
+
export const Selected = {
|
|
50
|
+
args: { selected: true },
|
|
51
|
+
};
|
|
52
|
+
export const Expandable = {
|
|
53
|
+
name: 'Expandable (group header)',
|
|
54
|
+
args: { expandable: true, icon: true, label: 'Components' },
|
|
55
|
+
};
|
|
56
|
+
export const ExpandableWithChildren = {
|
|
57
|
+
name: 'Expandable with nested children',
|
|
58
|
+
render: () => html `
|
|
59
|
+
<bs-navigation-drawer-item expandable expanded style="width: 248px; display: block;">
|
|
60
|
+
${bookIcon} Components
|
|
61
|
+
<bs-navigation-drawer-item slot="children" nested>Button</bs-navigation-drawer-item>
|
|
62
|
+
<bs-navigation-drawer-item slot="children" nested selected>Checkbox</bs-navigation-drawer-item>
|
|
63
|
+
<bs-navigation-drawer-item slot="children" nested>Switch</bs-navigation-drawer-item>
|
|
64
|
+
</bs-navigation-drawer-item>
|
|
65
|
+
`,
|
|
66
|
+
};
|
|
67
|
+
export const Nested = {
|
|
68
|
+
name: 'Nested (child row)',
|
|
69
|
+
args: { nested: true, icon: false, label: 'Button' },
|
|
70
|
+
};
|
|
71
|
+
export const IconOnlyLabelSpace = {
|
|
72
|
+
name: 'No icon (space not reserved)',
|
|
73
|
+
args: { icon: false, label: 'Accessibility' },
|
|
74
|
+
};
|
|
75
|
+
export const Collapsed = {
|
|
76
|
+
name: 'Collapsed (icon above caption)',
|
|
77
|
+
args: { collapsed: true, selected: true, label: 'Introduction' },
|
|
78
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { render, h, describe, it, expect } from "@stencil/vitest";
|
|
2
|
+
describe('bs-navigation-header', () => {
|
|
3
|
+
it('renders a <header> landmark with the logo by default', async () => {
|
|
4
|
+
const { root } = await render(h("bs-navigation-header", null));
|
|
5
|
+
expect(root.shadowRoot.querySelector('header')).not.toBeNull();
|
|
6
|
+
expect(root.shadowRoot.querySelector('[part="logo"]')).not.toBeNull();
|
|
7
|
+
});
|
|
8
|
+
it('applies the "default" alignment class by default', async () => {
|
|
9
|
+
const { root } = await render(h("bs-navigation-header", null));
|
|
10
|
+
expect(root.shadowRoot.querySelector('header')).toHaveClass('bs-navigation-header--default');
|
|
11
|
+
});
|
|
12
|
+
it('renders the logo for "center" alignment', async () => {
|
|
13
|
+
const { root } = await render(h("bs-navigation-header", { alignment: "center" }));
|
|
14
|
+
expect(root.shadowRoot.querySelector('[part="logo"]')).not.toBeNull();
|
|
15
|
+
expect(root.shadowRoot.querySelector('header')).toHaveClass('bs-navigation-header--center');
|
|
16
|
+
});
|
|
17
|
+
it('does not render the logo for "with-navigation-drawer" alignment', async () => {
|
|
18
|
+
const { root } = await render(h("bs-navigation-header", { alignment: "with-navigation-drawer" }));
|
|
19
|
+
expect(root.shadowRoot.querySelector('[part="logo"]')).toBeNull();
|
|
20
|
+
expect(root.shadowRoot.querySelector('header')).toHaveClass('bs-navigation-header--with-navigation-drawer');
|
|
21
|
+
});
|
|
22
|
+
it('renders the left and right slots', async () => {
|
|
23
|
+
const { root } = await render(h("bs-navigation-header", null));
|
|
24
|
+
expect(root.shadowRoot.querySelector('slot[name="left"]')).not.toBeNull();
|
|
25
|
+
expect(root.shadowRoot.querySelector('slot[name="right"]')).not.toBeNull();
|
|
26
|
+
});
|
|
27
|
+
it('projects light-DOM content into the left/right slots', async () => {
|
|
28
|
+
const { root } = await render(h("bs-navigation-header", null, h("button", { slot: "left" }, "Left action"), h("button", { slot: "right" }, "Right action")));
|
|
29
|
+
const leftSlot = root.shadowRoot.querySelector('slot[name="left"]');
|
|
30
|
+
const rightSlot = root.shadowRoot.querySelector('slot[name="right"]');
|
|
31
|
+
expect(leftSlot.assignedElements()[0].textContent).toBe('Left action');
|
|
32
|
+
expect(rightSlot.assignedElements()[0].textContent).toBe('Right action');
|
|
33
|
+
});
|
|
34
|
+
it('sets aria-label on the header when ariaLabel is provided', async () => {
|
|
35
|
+
const { root } = await render(h("bs-navigation-header", { ariaLabel: "Main navigation" }));
|
|
36
|
+
expect(root.shadowRoot.querySelector('header')).toEqualAttribute('aria-label', 'Main navigation');
|
|
37
|
+
});
|
|
38
|
+
it('omits aria-label when ariaLabel is not provided', async () => {
|
|
39
|
+
const { root } = await render(h("bs-navigation-header", null));
|
|
40
|
+
expect(root.shadowRoot.querySelector('header').hasAttribute('aria-label')).toBe(false);
|
|
41
|
+
});
|
|
42
|
+
describe('skip-to-content link', () => {
|
|
43
|
+
it('does not render a skip link when skipToContentHref is not set', async () => {
|
|
44
|
+
const { root } = await render(h("bs-navigation-header", null));
|
|
45
|
+
expect(root.shadowRoot.querySelector('[part="skip-link"]')).toBeNull();
|
|
46
|
+
});
|
|
47
|
+
it('renders a skip link pointing at skipToContentHref, with a default label', async () => {
|
|
48
|
+
const { root } = await render(h("bs-navigation-header", { skipToContentHref: "#main-content" }));
|
|
49
|
+
const link = root.shadowRoot.querySelector('[part="skip-link"]');
|
|
50
|
+
expect(link).not.toBeNull();
|
|
51
|
+
expect(link).toEqualAttribute('href', '#main-content');
|
|
52
|
+
expect(link.textContent).toBe('Skip to main content');
|
|
53
|
+
});
|
|
54
|
+
it('uses a custom skipToContentLabel when provided', async () => {
|
|
55
|
+
const { root } = await render(h("bs-navigation-header", { skipToContentHref: "#main-content", skipToContentLabel: "Jump to content" }));
|
|
56
|
+
const link = root.shadowRoot.querySelector('[part="skip-link"]');
|
|
57
|
+
expect(link.textContent).toBe('Jump to content');
|
|
58
|
+
});
|
|
59
|
+
it('renders the skip link before the logo, so it is the first focusable element', async () => {
|
|
60
|
+
const { root } = await render(h("bs-navigation-header", { skipToContentHref: "#main-content" }));
|
|
61
|
+
const header = root.shadowRoot.querySelector('header');
|
|
62
|
+
expect(header.firstElementChild).toEqualAttribute('part', 'skip-link');
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
describe('logoBackground', () => {
|
|
66
|
+
it('forwards the default "auto" background to the internal bs-logo', async () => {
|
|
67
|
+
const { root } = await render(h("bs-navigation-header", null));
|
|
68
|
+
const logo = root.shadowRoot.querySelector('bs-logo');
|
|
69
|
+
expect(logo.background).toBe('auto');
|
|
70
|
+
});
|
|
71
|
+
it('forwards logoBackground="dark" to the internal bs-logo', async () => {
|
|
72
|
+
const { root } = await render(h("bs-navigation-header", { logoBackground: "dark" }));
|
|
73
|
+
const logo = root.shadowRoot.querySelector('bs-logo');
|
|
74
|
+
expect(logo.background).toBe('dark');
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prop --bs-navigation-header-bg: Background of the bar. Aliased to --bs-surface-base.
|
|
3
|
+
* @prop --bs-navigation-header-border: Bottom border color. Aliased to --bs-border-default.
|
|
4
|
+
* @prop --bs-navigation-header-padding-top: Aliased to --bs-spacing-200.
|
|
5
|
+
* @prop --bs-navigation-header-padding-bottom: Aliased to --bs-spacing-100.
|
|
6
|
+
* @prop --bs-navigation-header-padding-x: Aliased to --bs-margin-fluid.
|
|
7
|
+
* @prop --bs-navigation-header-max-width: Overall max-width of the bar. The global vendored
|
|
8
|
+
* --bs-breakpoints-max-width token is malformed (`1920rem` instead of `1920px` -- at a 16px root
|
|
9
|
+
* font size that's ~30720px, effectively unconstrained), so this is a literal 1920px instead of
|
|
10
|
+
* aliasing to it.
|
|
11
|
+
* @prop --bs-navigation-header-item-gap: Gap between the logo and the `left` slot (`default`
|
|
12
|
+
* alignment), or between the `left` and `right` slots (`with-navigation-drawer` alignment, which
|
|
13
|
+
* has no logo). Not used in `center` alignment -- see the class doc in bs-navigation-header.tsx.
|
|
14
|
+
* The global vendored --bs-navigation-header-gap token is also malformed (a bare unitless `40`,
|
|
15
|
+
* which is an invalid `gap` value and silently falls back to `normal`/0), so this multiplies it
|
|
16
|
+
* into a real length instead of aliasing directly.
|
|
17
|
+
* @prop --bs-navigation-header-slot-gap: Gap between items within a single `left`/`right` slot.
|
|
18
|
+
* Aliased to --bs-spacing-100.
|
|
19
|
+
* @prop --bs-navigation-header-skip-link-bg: Skip-to-content link background, once focused into
|
|
20
|
+
* view. Aliased to --bs-surface-action.
|
|
21
|
+
* @prop --bs-navigation-header-skip-link-color: Skip-to-content link text color, once focused
|
|
22
|
+
* into view. Aliased to --bs-text-inverse.
|
|
23
|
+
*/
|
|
24
|
+
:host {
|
|
25
|
+
display: block;
|
|
26
|
+
|
|
27
|
+
--bs-navigation-header-bg: var(--bs-surface-base);
|
|
28
|
+
--bs-navigation-header-border: var(--bs-border-default);
|
|
29
|
+
--bs-navigation-header-padding-top: var(--bs-spacing-200);
|
|
30
|
+
--bs-navigation-header-padding-bottom: var(--bs-spacing-100);
|
|
31
|
+
--bs-navigation-header-padding-x: var(--bs-margin-fluid);
|
|
32
|
+
--bs-navigation-header-max-width: 1920px;
|
|
33
|
+
--bs-navigation-header-item-gap: calc(var(--bs-navigation-header-gap) * 1px);
|
|
34
|
+
--bs-navigation-header-slot-gap: var(--bs-spacing-100);
|
|
35
|
+
--bs-navigation-header-skip-link-bg: var(--bs-surface-action);
|
|
36
|
+
--bs-navigation-header-skip-link-color: var(--bs-text-inverse);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.bs-navigation-header {
|
|
40
|
+
box-sizing: border-box;
|
|
41
|
+
position: relative;
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
width: 100%;
|
|
45
|
+
max-width: var(--bs-navigation-header-max-width);
|
|
46
|
+
background: var(--bs-navigation-header-bg);
|
|
47
|
+
border-bottom: 1px solid var(--bs-navigation-header-border);
|
|
48
|
+
padding: var(--bs-navigation-header-padding-top) var(--bs-navigation-header-padding-x) var(--bs-navigation-header-padding-bottom);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Visually hidden until keyboard-focused, per the standard skip-link pattern -- offscreen (not
|
|
52
|
+
display: none/visibility: hidden, which would remove it from the tab order entirely) until
|
|
53
|
+
:focus moves it on-screen, absolutely positioned relative to the header itself (position:
|
|
54
|
+
relative above) so it doesn't affect the flex layout or push any other content. */
|
|
55
|
+
.bs-navigation-header__skip-link {
|
|
56
|
+
position: absolute;
|
|
57
|
+
top: var(--bs-spacing-100);
|
|
58
|
+
left: -9999px;
|
|
59
|
+
z-index: 1;
|
|
60
|
+
padding: var(--bs-spacing-100) var(--bs-spacing-200);
|
|
61
|
+
border-radius: var(--bs-border-radius-100);
|
|
62
|
+
background: var(--bs-navigation-header-skip-link-bg);
|
|
63
|
+
color: var(--bs-navigation-header-skip-link-color);
|
|
64
|
+
font-size: var(--bs-font-size-sm);
|
|
65
|
+
text-decoration: underline;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.bs-navigation-header__skip-link:focus {
|
|
69
|
+
left: var(--bs-navigation-header-padding-x);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* `default` and `with-navigation-drawer` both space their (present) children with a fixed gap;
|
|
73
|
+
`center` instead relies on the logo and `right` slot both being flex: 1 (below), which absorbs
|
|
74
|
+
all remaining space and needs no extra gap of its own -- see bs-navigation-header.tsx's class
|
|
75
|
+
doc for why. */
|
|
76
|
+
.bs-navigation-header--default,
|
|
77
|
+
.bs-navigation-header--with-navigation-drawer {
|
|
78
|
+
gap: var(--bs-navigation-header-item-gap);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.bs-navigation-header__logo {
|
|
82
|
+
flex-shrink: 0;
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: center;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.bs-navigation-header--center .bs-navigation-header__logo {
|
|
88
|
+
flex: 1 0 0;
|
|
89
|
+
min-width: 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.bs-navigation-header__left {
|
|
93
|
+
display: flex;
|
|
94
|
+
align-items: center;
|
|
95
|
+
gap: var(--bs-navigation-header-slot-gap);
|
|
96
|
+
flex-shrink: 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.bs-navigation-header__right {
|
|
100
|
+
display: flex;
|
|
101
|
+
align-items: center;
|
|
102
|
+
justify-content: flex-end;
|
|
103
|
+
gap: var(--bs-navigation-header-slot-gap);
|
|
104
|
+
flex: 1 0 0;
|
|
105
|
+
min-width: 0;
|
|
106
|
+
}
|