@brandsync/wc 0.0.10 → 0.0.12
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 +3584 -508
- package/dist/brandsync-wc/brandsync-wc.css +20 -0
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-b1e1b2d6.entry.js → p-09aa03d1.entry.js} +1 -1
- package/dist/brandsync-wc/p-0eee5477.entry.js +1 -0
- package/dist/brandsync-wc/p-0fa017ce.entry.js +1 -0
- package/dist/brandsync-wc/p-12ec9e92.entry.js +1 -0
- package/dist/brandsync-wc/{p-3dacae70.entry.js → p-1900f6ce.entry.js} +1 -1
- package/dist/brandsync-wc/{p-575ce905.entry.js → p-1adc59be.entry.js} +1 -1
- package/dist/brandsync-wc/p-1c6fa697.entry.js +1 -0
- package/dist/brandsync-wc/{p-dd747a12.entry.js → p-1cf715aa.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8a78d6ea.entry.js → p-20dbc6a1.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a34f460d.entry.js → p-23457a21.entry.js} +1 -1
- package/dist/brandsync-wc/p-266f5dde.entry.js +1 -0
- package/dist/brandsync-wc/p-2a65aabb.entry.js +1 -0
- package/dist/brandsync-wc/{p-8d12ed96.entry.js → p-2c51d738.entry.js} +1 -1
- package/dist/brandsync-wc/p-3b31f7c7.entry.js +1 -0
- package/dist/brandsync-wc/p-46ddc8e1.entry.js +1 -0
- package/dist/brandsync-wc/p-56c66448.entry.js +1 -0
- package/dist/brandsync-wc/{p-18af02df.entry.js → p-57fdbb76.entry.js} +1 -1
- package/dist/brandsync-wc/{p-7776b57b.entry.js → p-64e2a7d7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-805644e4.entry.js → p-6e854e92.entry.js} +1 -1
- package/dist/brandsync-wc/p-72a33f88.entry.js +1 -0
- package/dist/brandsync-wc/p-8049f9f2.entry.js +1 -0
- package/dist/brandsync-wc/{p-d682675e.entry.js → p-88a0abee.entry.js} +1 -1
- package/dist/brandsync-wc/p-8b662ee3.entry.js +1 -0
- package/dist/brandsync-wc/{p-94ed898a.entry.js → p-8ded1eb6.entry.js} +1 -1
- package/dist/brandsync-wc/{p-nLORuTUY.js → p-DST5-cTx.js} +2 -2
- package/dist/brandsync-wc/p-a5b15061.entry.js +1 -0
- package/dist/brandsync-wc/{p-30a0e168.entry.js → p-aba300a9.entry.js} +1 -1
- package/dist/brandsync-wc/p-b24a980b.entry.js +1 -0
- package/dist/brandsync-wc/{p-96f374be.entry.js → p-b289450a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-880ea3f8.entry.js → p-b8a2f882.entry.js} +1 -1
- package/dist/brandsync-wc/p-c320b6b4.entry.js +1 -0
- package/dist/brandsync-wc/{p-1515498e.entry.js → p-d4e3ca77.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ce0914a7.entry.js → p-dd09d335.entry.js} +1 -1
- package/dist/brandsync-wc/p-ef8522b5.entry.js +1 -0
- package/dist/brandsync-wc/p-f04db1b0.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-badge.cjs.entry.js +1 -1
- 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 +1 -1
- 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.cjs.entry.js +94 -0
- 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-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 +3 -3
- package/dist/cjs/bs-logo.cjs.entry.js +165 -0
- package/dist/cjs/bs-menu_2.cjs.entry.js +3 -3
- package/dist/cjs/bs-modal.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +104 -0
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +81 -0
- package/dist/cjs/bs-navigation-header.cjs.entry.js +44 -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-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-CVh-sqA_.js → index-B3sdhEGk.js} +74 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +14 -2
- 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-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-chatbot-feedback/bs-chatbot-feedback.js +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.cmp.test.js +117 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox.css +199 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox.js +265 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox.stories.js +65 -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-input/bs-input.js +2 -2
- 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-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-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 +131 -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 +253 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.js +202 -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 +189 -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-badge.js +1 -1
- package/dist/components/bs-button-skeleton.js +1 -1
- package/dist/components/bs-button.js +1 -1
- package/dist/components/bs-card.js +1 -1
- package/dist/components/bs-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.d.ts +11 -0
- package/dist/components/bs-checkbox.js +1 -0
- 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-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-logo.d.ts +11 -0
- 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-modal.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-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-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-BAOJc0V0.js +1 -0
- package/dist/components/{p-BpvhHQSw.js → p-Be1Pfcnm.js} +1 -1
- package/dist/components/{p-Cz2nfz2j.js → p-BqYyMGrB.js} +1 -1
- package/dist/components/p-CaWqTQBZ.js +1 -0
- package/dist/components/{p-DndQiCMP.js → p-DivZLd6i.js} +1 -1
- package/dist/components/{p-DHbUF0g6.js → p-xfx69LQx.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-badge.entry.js +1 -1
- 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 +1 -1
- 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.entry.js +92 -0
- 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-icon-button.entry.js +38 -0
- package/dist/esm/bs-inline-tab.entry.js +67 -0
- package/dist/esm/bs-input.entry.js +3 -3
- package/dist/esm/bs-logo.entry.js +163 -0
- package/dist/esm/bs-menu_2.entry.js +3 -3
- package/dist/esm/bs-modal.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer-item.entry.js +102 -0
- package/dist/esm/bs-navigation-drawer.entry.js +79 -0
- package/dist/esm/bs-navigation-header.entry.js +42 -0
- package/dist/esm/bs-radio.entry.js +47 -0
- package/dist/esm/bs-slider.entry.js +189 -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-nLORuTUY.js → index-DST5-cTx.js} +74 -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-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-checkbox/bs-checkbox.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +64 -0
- package/dist/types/components/bs-checkbox/bs-checkbox.stories.d.ts +23 -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-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-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-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 +96 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.d.ts +16 -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 +21 -0
- package/dist/types/components.d.ts +1973 -49
- package/package.json +1 -1
- package/dist/brandsync-wc/p-0d64ea40.entry.js +0 -1
- package/dist/brandsync-wc/p-16a54578.entry.js +0 -1
- package/dist/brandsync-wc/p-bc72439a.entry.js +0 -1
- package/dist/brandsync-wc/p-dad4a92c.entry.js +0 -1
- package/dist/brandsync-wc/p-eb4d87f0.entry.js +0 -1
- /package/dist/types/components/bs-button/{bs-button.cmp.test.d.ts → bs-button/bs-button.cmp.test.d.ts} +0 -0
package/custom-elements.json
CHANGED
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
"customElement": true,
|
|
196
196
|
"tagName": "bs-attachment",
|
|
197
197
|
"name": "BsAttachment",
|
|
198
|
-
"description": "A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card\nwith a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and\na hover/focus-revealed remove button.\n\n## When to use\n- Rendered by the consuming app for each file a user has attached to a Genie AI chat message,\n typically alongside or inside `bs-composer`.\n\n## When not to use\n- A generic file-upload control -- this is a preview-only presentational component. The\n consuming app owns the actual file picker/upload logic and drives `loading` from that state.",
|
|
198
|
+
"description": "A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card\nwith a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and\na hover/focus-revealed remove button (a `bs-icon-button` with `size=\"xs\"` `variant=\"neutral\"` --\nthe same 16x16px compact tier `bs-icon-button` documents as meant for exactly this kind of\nchip/tag \"remove\" control).\n\n## When to use\n- Rendered by the consuming app for each file a user has attached to a Genie AI chat message,\n typically alongside or inside `bs-composer`.\n\n## When not to use\n- A generic file-upload control -- this is a preview-only presentational component. The\n consuming app owns the actual file picker/upload logic and drives `loading` from that state.",
|
|
199
199
|
"attributes": [
|
|
200
200
|
{
|
|
201
201
|
"name": "file-name",
|
|
@@ -524,7 +524,7 @@
|
|
|
524
524
|
},
|
|
525
525
|
{
|
|
526
526
|
"kind": "javascript-module",
|
|
527
|
-
"path": "src/components/bs-button/bs-button.tsx",
|
|
527
|
+
"path": "src/components/bs-button/bs-button/bs-button.tsx",
|
|
528
528
|
"declarations": [
|
|
529
529
|
{
|
|
530
530
|
"kind": "class",
|
|
@@ -722,7 +722,7 @@
|
|
|
722
722
|
"references": [
|
|
723
723
|
{
|
|
724
724
|
"name": "BsButtonSize",
|
|
725
|
-
"module": "../bs-button/bs-button"
|
|
725
|
+
"module": "../bs-button/bs-button/bs-button"
|
|
726
726
|
}
|
|
727
727
|
]
|
|
728
728
|
},
|
|
@@ -740,7 +740,7 @@
|
|
|
740
740
|
"references": [
|
|
741
741
|
{
|
|
742
742
|
"name": "BsButtonSize",
|
|
743
|
-
"module": "../bs-button/bs-button"
|
|
743
|
+
"module": "../bs-button/bs-button/bs-button"
|
|
744
744
|
}
|
|
745
745
|
]
|
|
746
746
|
},
|
|
@@ -1568,6 +1568,312 @@
|
|
|
1568
1568
|
}
|
|
1569
1569
|
]
|
|
1570
1570
|
},
|
|
1571
|
+
{
|
|
1572
|
+
"kind": "javascript-module",
|
|
1573
|
+
"path": "src/components/bs-checkbox/bs-checkbox.tsx",
|
|
1574
|
+
"declarations": [
|
|
1575
|
+
{
|
|
1576
|
+
"kind": "class",
|
|
1577
|
+
"customElement": true,
|
|
1578
|
+
"tagName": "bs-checkbox",
|
|
1579
|
+
"name": "BsCheckbox",
|
|
1580
|
+
"description": "A single checkbox with its label, for a binary choice or one item within a group of independent\nchoices.\n\n## When to use\n- A single standalone binary setting (e.g. \"Remember me\", \"I agree to the terms\").\n- One item within a set of independent, non-exclusive choices (a checkbox group/list).\n- `indeterminate` for a \"select all\" checkbox representing a partially-selected group.\n\n## When not to use\n- A single mutually-exclusive choice from a set -- use a radio group instead.\n- An on/off setting that takes effect immediately (no explicit form submission) -- use `bs-switch`.",
|
|
1581
|
+
"attributes": [
|
|
1582
|
+
{
|
|
1583
|
+
"name": "aria-label",
|
|
1584
|
+
"description": "Accessible name for the checkbox. Required whenever the default (label) slot is empty (e.g. a\nbare \"select row\" checkbox in a table) -- without it, the internal native `<input>` has no\naccessible name at all. Setting `aria-label` directly on the `<bs-checkbox>` host does NOT\nwork for this: that attribute stays on the light-DOM host and is never forwarded into the\nshadow DOM by the browser, so the actual focusable element (the native `<input>` inside) stays\nnameless. This prop exists specifically to bridge that gap -- same pattern as `bs-button`'s and\n`bs-tab`'s identical `ariaLabel` prop, both of which explicitly bind it onto their own internal\nfocusable element for the same reason.",
|
|
1585
|
+
"type": {
|
|
1586
|
+
"text": "string"
|
|
1587
|
+
},
|
|
1588
|
+
"default": "null",
|
|
1589
|
+
"fieldName": "ariaLabel"
|
|
1590
|
+
},
|
|
1591
|
+
{
|
|
1592
|
+
"name": "checked",
|
|
1593
|
+
"description": "Whether the checkbox is checked. Mutable so clicking the label/input toggles it directly.\nWhen `indeterminate` is also true, `indeterminate` wins visually (shows the minus icon)\nregardless of this value -- same as native checkboxes.",
|
|
1594
|
+
"type": {
|
|
1595
|
+
"text": "boolean"
|
|
1596
|
+
},
|
|
1597
|
+
"default": "false",
|
|
1598
|
+
"fieldName": "checked"
|
|
1599
|
+
},
|
|
1600
|
+
{
|
|
1601
|
+
"name": "disabled",
|
|
1602
|
+
"description": "Disables the checkbox: sets the native `disabled` attribute, suppresses hover/focus styling,\nand prevents toggling.",
|
|
1603
|
+
"type": {
|
|
1604
|
+
"text": "boolean"
|
|
1605
|
+
},
|
|
1606
|
+
"default": "false",
|
|
1607
|
+
"fieldName": "disabled"
|
|
1608
|
+
},
|
|
1609
|
+
{
|
|
1610
|
+
"name": "error",
|
|
1611
|
+
"description": "Applies the error border/label-color treatment. This component's spec has no error message\ntext of its own (unlike `bs-input`'s `error: string`), so it's a plain boolean.",
|
|
1612
|
+
"type": {
|
|
1613
|
+
"text": "boolean"
|
|
1614
|
+
},
|
|
1615
|
+
"default": "false",
|
|
1616
|
+
"fieldName": "error"
|
|
1617
|
+
},
|
|
1618
|
+
{
|
|
1619
|
+
"name": "indeterminate",
|
|
1620
|
+
"description": "Whether the checkbox is in the indeterminate (\"partially selected\") state -- shows a minus\nicon instead of a check, and takes visual precedence over `checked`. Unlike `checked`, native\ncheckboxes have no `indeterminate` HTML attribute; it can only be set as a JS property on the\nelement. This `@Prop` still works as an attribute for the *host* (`<bs-checkbox>`) since that's\nthis component's own reflected state, not the native control's -- the native `<input>` inside\nhas its `.indeterminate` property set imperatively in `componentDidLoad`/`componentDidUpdate`.",
|
|
1621
|
+
"type": {
|
|
1622
|
+
"text": "boolean"
|
|
1623
|
+
},
|
|
1624
|
+
"default": "false",
|
|
1625
|
+
"fieldName": "indeterminate"
|
|
1626
|
+
},
|
|
1627
|
+
{
|
|
1628
|
+
"name": "size",
|
|
1629
|
+
"description": "Sizing scale. Controls the box's width/height and border width; corner radius is constant\nacross all sizes.",
|
|
1630
|
+
"type": {
|
|
1631
|
+
"text": "\"lg\" | \"md\" | \"sm\"",
|
|
1632
|
+
"references": [
|
|
1633
|
+
{
|
|
1634
|
+
"name": "BsCheckboxSize"
|
|
1635
|
+
}
|
|
1636
|
+
]
|
|
1637
|
+
},
|
|
1638
|
+
"default": "'lg'",
|
|
1639
|
+
"fieldName": "size"
|
|
1640
|
+
}
|
|
1641
|
+
],
|
|
1642
|
+
"members": [
|
|
1643
|
+
{
|
|
1644
|
+
"kind": "field",
|
|
1645
|
+
"name": "ariaLabel",
|
|
1646
|
+
"description": "Accessible name for the checkbox. Required whenever the default (label) slot is empty (e.g. a\nbare \"select row\" checkbox in a table) -- without it, the internal native `<input>` has no\naccessible name at all. Setting `aria-label` directly on the `<bs-checkbox>` host does NOT\nwork for this: that attribute stays on the light-DOM host and is never forwarded into the\nshadow DOM by the browser, so the actual focusable element (the native `<input>` inside) stays\nnameless. This prop exists specifically to bridge that gap -- same pattern as `bs-button`'s and\n`bs-tab`'s identical `ariaLabel` prop, both of which explicitly bind it onto their own internal\nfocusable element for the same reason.",
|
|
1647
|
+
"type": {
|
|
1648
|
+
"text": "string"
|
|
1649
|
+
},
|
|
1650
|
+
"default": "null",
|
|
1651
|
+
"readonly": true,
|
|
1652
|
+
"attribute": "aria-label"
|
|
1653
|
+
},
|
|
1654
|
+
{
|
|
1655
|
+
"kind": "field",
|
|
1656
|
+
"name": "checked",
|
|
1657
|
+
"description": "Whether the checkbox is checked. Mutable so clicking the label/input toggles it directly.\nWhen `indeterminate` is also true, `indeterminate` wins visually (shows the minus icon)\nregardless of this value -- same as native checkboxes.",
|
|
1658
|
+
"type": {
|
|
1659
|
+
"text": "boolean"
|
|
1660
|
+
},
|
|
1661
|
+
"default": "false",
|
|
1662
|
+
"attribute": "checked",
|
|
1663
|
+
"reflects": true
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
"kind": "field",
|
|
1667
|
+
"name": "disabled",
|
|
1668
|
+
"description": "Disables the checkbox: sets the native `disabled` attribute, suppresses hover/focus styling,\nand prevents toggling.",
|
|
1669
|
+
"type": {
|
|
1670
|
+
"text": "boolean"
|
|
1671
|
+
},
|
|
1672
|
+
"default": "false",
|
|
1673
|
+
"readonly": true,
|
|
1674
|
+
"attribute": "disabled"
|
|
1675
|
+
},
|
|
1676
|
+
{
|
|
1677
|
+
"kind": "field",
|
|
1678
|
+
"name": "error",
|
|
1679
|
+
"description": "Applies the error border/label-color treatment. This component's spec has no error message\ntext of its own (unlike `bs-input`'s `error: string`), so it's a plain boolean.",
|
|
1680
|
+
"type": {
|
|
1681
|
+
"text": "boolean"
|
|
1682
|
+
},
|
|
1683
|
+
"default": "false",
|
|
1684
|
+
"readonly": true,
|
|
1685
|
+
"attribute": "error"
|
|
1686
|
+
},
|
|
1687
|
+
{
|
|
1688
|
+
"kind": "field",
|
|
1689
|
+
"name": "indeterminate",
|
|
1690
|
+
"description": "Whether the checkbox is in the indeterminate (\"partially selected\") state -- shows a minus\nicon instead of a check, and takes visual precedence over `checked`. Unlike `checked`, native\ncheckboxes have no `indeterminate` HTML attribute; it can only be set as a JS property on the\nelement. This `@Prop` still works as an attribute for the *host* (`<bs-checkbox>`) since that's\nthis component's own reflected state, not the native control's -- the native `<input>` inside\nhas its `.indeterminate` property set imperatively in `componentDidLoad`/`componentDidUpdate`.",
|
|
1691
|
+
"type": {
|
|
1692
|
+
"text": "boolean"
|
|
1693
|
+
},
|
|
1694
|
+
"default": "false",
|
|
1695
|
+
"attribute": "indeterminate",
|
|
1696
|
+
"reflects": true
|
|
1697
|
+
},
|
|
1698
|
+
{
|
|
1699
|
+
"kind": "field",
|
|
1700
|
+
"name": "size",
|
|
1701
|
+
"description": "Sizing scale. Controls the box's width/height and border width; corner radius is constant\nacross all sizes.",
|
|
1702
|
+
"type": {
|
|
1703
|
+
"text": "\"lg\" | \"md\" | \"sm\"",
|
|
1704
|
+
"references": [
|
|
1705
|
+
{
|
|
1706
|
+
"name": "BsCheckboxSize"
|
|
1707
|
+
}
|
|
1708
|
+
]
|
|
1709
|
+
},
|
|
1710
|
+
"default": "'lg'",
|
|
1711
|
+
"readonly": true,
|
|
1712
|
+
"attribute": "size"
|
|
1713
|
+
}
|
|
1714
|
+
],
|
|
1715
|
+
"events": [
|
|
1716
|
+
{
|
|
1717
|
+
"name": "bsChange",
|
|
1718
|
+
"description": "Emitted when the checked state changes via user interaction, with the new `checked` value.",
|
|
1719
|
+
"type": {
|
|
1720
|
+
"text": "CustomEvent<boolean>"
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
],
|
|
1724
|
+
"slots": [
|
|
1725
|
+
{
|
|
1726
|
+
"name": "",
|
|
1727
|
+
"description": "Default slot: the label text."
|
|
1728
|
+
}
|
|
1729
|
+
],
|
|
1730
|
+
"cssParts": [
|
|
1731
|
+
{
|
|
1732
|
+
"name": "box",
|
|
1733
|
+
"description": "The visual checkbox square."
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
"name": "icon",
|
|
1737
|
+
"description": "The check/minus icon shown inside the box when `checked` or `indeterminate`."
|
|
1738
|
+
},
|
|
1739
|
+
{
|
|
1740
|
+
"name": "label",
|
|
1741
|
+
"description": "The label text wrapper."
|
|
1742
|
+
}
|
|
1743
|
+
],
|
|
1744
|
+
"cssProperties": [
|
|
1745
|
+
{
|
|
1746
|
+
"name": "--bs-checkbox-bg-disabled",
|
|
1747
|
+
"description": "Box background, disabled. Aliased to --bs-surface-action-disabled."
|
|
1748
|
+
},
|
|
1749
|
+
{
|
|
1750
|
+
"name": "--bs-checkbox-bg-focus",
|
|
1751
|
+
"description": "Box background, deselected/focused. Aliased to --bs-surface-raised."
|
|
1752
|
+
},
|
|
1753
|
+
{
|
|
1754
|
+
"name": "--bs-checkbox-bg-hover",
|
|
1755
|
+
"description": "Box background, deselected/hovered. Aliased to --bs-surface-hover."
|
|
1756
|
+
},
|
|
1757
|
+
{
|
|
1758
|
+
"name": "--bs-checkbox-bg-selected",
|
|
1759
|
+
"description": "Box background, selected or indeterminate/enabled. Aliased to --bs-color-primary-default."
|
|
1760
|
+
},
|
|
1761
|
+
{
|
|
1762
|
+
"name": "--bs-checkbox-bg-selected-error",
|
|
1763
|
+
"description": "Box background, selected or indeterminate/error. Aliased to --bs-icon-error."
|
|
1764
|
+
},
|
|
1765
|
+
{
|
|
1766
|
+
"name": "--bs-checkbox-bg-selected-hover",
|
|
1767
|
+
"description": "Box background, selected or indeterminate/hovered. Aliased to --bs-color-primary-hover."
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
"name": "--bs-checkbox-border-default",
|
|
1771
|
+
"description": "Border color, deselected/enabled. Aliased to --bs-border-default."
|
|
1772
|
+
},
|
|
1773
|
+
{
|
|
1774
|
+
"name": "--bs-checkbox-border-disabled",
|
|
1775
|
+
"description": "Border color, disabled. Aliased to --bs-border-neutral-disabled."
|
|
1776
|
+
},
|
|
1777
|
+
{
|
|
1778
|
+
"name": "--bs-checkbox-border-error",
|
|
1779
|
+
"description": "Border color, deselected/error. Aliased to --bs-border-error."
|
|
1780
|
+
},
|
|
1781
|
+
{
|
|
1782
|
+
"name": "--bs-checkbox-border-focus",
|
|
1783
|
+
"description": "Border color, deselected/focused. Aliased to --bs-border-neutral-hover."
|
|
1784
|
+
},
|
|
1785
|
+
{
|
|
1786
|
+
"name": "--bs-checkbox-border-hover",
|
|
1787
|
+
"description": "Border color, deselected/hovered. Aliased to --bs-border-neutral-hover."
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
"name": "--bs-checkbox-border-selected",
|
|
1791
|
+
"description": "Border color, selected or indeterminate/enabled. Aliased to --bs-color-primary-default."
|
|
1792
|
+
},
|
|
1793
|
+
{
|
|
1794
|
+
"name": "--bs-checkbox-border-selected-error",
|
|
1795
|
+
"description": "Border color, selected or indeterminate/error. Aliased to --bs-icon-error."
|
|
1796
|
+
},
|
|
1797
|
+
{
|
|
1798
|
+
"name": "--bs-checkbox-border-selected-hover",
|
|
1799
|
+
"description": "Border color, selected or indeterminate/hovered. Aliased to --bs-color-primary-hover."
|
|
1800
|
+
},
|
|
1801
|
+
{
|
|
1802
|
+
"name": "--bs-checkbox-border-width-lg",
|
|
1803
|
+
"description": "Border width at size=\"lg\"."
|
|
1804
|
+
},
|
|
1805
|
+
{
|
|
1806
|
+
"name": "--bs-checkbox-border-width-md",
|
|
1807
|
+
"description": "Border width at size=\"md\"."
|
|
1808
|
+
},
|
|
1809
|
+
{
|
|
1810
|
+
"name": "--bs-checkbox-border-width-sm",
|
|
1811
|
+
"description": "Border width at size=\"sm\"."
|
|
1812
|
+
},
|
|
1813
|
+
{
|
|
1814
|
+
"name": "--bs-checkbox-focus-ring-color",
|
|
1815
|
+
"description": "Focus ring color, drawn outside the box. Aliased to --bs-border-neutral-focus."
|
|
1816
|
+
},
|
|
1817
|
+
{
|
|
1818
|
+
"name": "--bs-checkbox-gap",
|
|
1819
|
+
"description": "Gap between the box and the label text. Aliased to --bs-spacing-100."
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"name": "--bs-checkbox-icon-color",
|
|
1823
|
+
"description": "Check/minus icon color. Aliased to --bs-icon-static-white."
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
"name": "--bs-checkbox-icon-color-disabled",
|
|
1827
|
+
"description": "Check/minus icon color, disabled. Aliased to --bs-icon-disabled."
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
"name": "--bs-checkbox-label-color",
|
|
1831
|
+
"description": "Label text color. Aliased to --bs-text-default."
|
|
1832
|
+
},
|
|
1833
|
+
{
|
|
1834
|
+
"name": "--bs-checkbox-label-color-disabled",
|
|
1835
|
+
"description": "Label text color, disabled. Aliased to --bs-text-on-disabled."
|
|
1836
|
+
},
|
|
1837
|
+
{
|
|
1838
|
+
"name": "--bs-checkbox-label-color-error",
|
|
1839
|
+
"description": "Label text color, error. Aliased to --bs-text-error."
|
|
1840
|
+
},
|
|
1841
|
+
{
|
|
1842
|
+
"name": "--bs-checkbox-radius",
|
|
1843
|
+
"description": "Corner radius of the box, constant across all sizes. Aliased to --bs-border-radius-50."
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
"name": "--bs-checkbox-size-lg",
|
|
1847
|
+
"description": "Box width/height at size=\"lg\". Aliased to --bs-spacing-300."
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
"name": "--bs-checkbox-size-md",
|
|
1851
|
+
"description": "Box width/height at size=\"md\". Aliased to --bs-spacing-250."
|
|
1852
|
+
},
|
|
1853
|
+
{
|
|
1854
|
+
"name": "--bs-checkbox-size-sm",
|
|
1855
|
+
"description": "Box width/height at size=\"sm\". Aliased to --bs-spacing-200."
|
|
1856
|
+
}
|
|
1857
|
+
]
|
|
1858
|
+
}
|
|
1859
|
+
],
|
|
1860
|
+
"exports": [
|
|
1861
|
+
{
|
|
1862
|
+
"kind": "js",
|
|
1863
|
+
"name": "BsCheckbox",
|
|
1864
|
+
"declaration": {
|
|
1865
|
+
"name": "BsCheckbox"
|
|
1866
|
+
}
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
"kind": "custom-element-definition",
|
|
1870
|
+
"name": "bs-checkbox",
|
|
1871
|
+
"declaration": {
|
|
1872
|
+
"name": "BsCheckbox"
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1875
|
+
]
|
|
1876
|
+
},
|
|
1571
1877
|
{
|
|
1572
1878
|
"kind": "javascript-module",
|
|
1573
1879
|
"path": "src/components/bs-composer/bs-composer.tsx",
|
|
@@ -1612,7 +1918,7 @@
|
|
|
1612
1918
|
},
|
|
1613
1919
|
{
|
|
1614
1920
|
"name": "value",
|
|
1615
|
-
"description": "Current text value. Native `input` events don't cross the Shadow DOM boundary, so this\ncomponent re-dispatches them as a `bsInput` custom event instead.",
|
|
1921
|
+
"description": "Current text value. Native `input` events don't cross the Shadow DOM boundary, so this\ncomponent re-dispatches them as a `bsInput` custom event instead.\n\nThe field is a `<textarea>` (not a single-line `<input>`) that grows with its content, up to\n`--bs-composer-input-max-lines` (10 by default) -- beyond that it scrolls internally instead\nof growing further. Setting `value` as a prop (not just typing) also re-triggers the resize,\nso e.g. programmatically clearing the field after submit correctly shrinks it back down.",
|
|
1616
1922
|
"type": {
|
|
1617
1923
|
"text": "string"
|
|
1618
1924
|
},
|
|
@@ -1675,7 +1981,7 @@
|
|
|
1675
1981
|
{
|
|
1676
1982
|
"kind": "field",
|
|
1677
1983
|
"name": "value",
|
|
1678
|
-
"description": "Current text value. Native `input` events don't cross the Shadow DOM boundary, so this\ncomponent re-dispatches them as a `bsInput` custom event instead.",
|
|
1984
|
+
"description": "Current text value. Native `input` events don't cross the Shadow DOM boundary, so this\ncomponent re-dispatches them as a `bsInput` custom event instead.\n\nThe field is a `<textarea>` (not a single-line `<input>`) that grows with its content, up to\n`--bs-composer-input-max-lines` (10 by default) -- beyond that it scrolls internally instead\nof growing further. Setting `value` as a prop (not just typing) also re-triggers the resize,\nso e.g. programmatically clearing the field after submit correctly shrinks it back down.",
|
|
1679
1985
|
"type": {
|
|
1680
1986
|
"text": "string"
|
|
1681
1987
|
},
|
|
@@ -1769,7 +2075,7 @@
|
|
|
1769
2075
|
},
|
|
1770
2076
|
{
|
|
1771
2077
|
"name": "input",
|
|
1772
|
-
"description": "The native text `<
|
|
2078
|
+
"description": "The native text `<textarea>`."
|
|
1773
2079
|
},
|
|
1774
2080
|
{
|
|
1775
2081
|
"name": "mic",
|
|
@@ -1804,7 +2110,7 @@
|
|
|
1804
2110
|
"customElement": true,
|
|
1805
2111
|
"tagName": "bs-composer-status-banner",
|
|
1806
2112
|
"name": "BsComposerStatusBanner",
|
|
1807
|
-
"description": "A full-width status banner for use directly above `bs-composer`, surfacing a message about the\ncomposer's current state (e.g. a send failure, an informational notice) with an optional\n\"Continue\"-style action button and an optional close button.\n\n## When to use\n- A message tied to the composer itself (send failed, rate-limited, draft restored, etc.) that\n needs to sit directly above it, not a general-purpose alert -- see `CONVENTIONS.md` if this\n library gains a generic banner/alert component later, and prefer that instead once it exists.\n\n## When not to use\n- A toast/snackbar notification unrelated to the composer -- this component is not\n self-dismissing and has no positioning of its own (it's a static block, not an overlay).",
|
|
2113
|
+
"description": "A full-width status banner for use directly above `bs-composer`, surfacing a message about the\ncomposer's current state (e.g. a send failure, an informational notice) with an optional\n\"Continue\"-style action button and an optional close button.\n\n## When to use\n- A message tied to the composer itself (send failed, rate-limited, draft restored, etc.) that\n needs to sit directly above it, not a general-purpose alert -- see `CONVENTIONS.md` if this\n library gains a generic banner/alert component later, and prefer that instead once it exists.\n\n## When not to use\n- A toast/snackbar notification unrelated to the composer -- this component is not\n self-dismissing and has no positioning of its own (it's a static block, not an overlay).\n\n## Accessibility\nSets `role=\"status\"` for `type=\"info\"`/`type=\"neutral\"` and `role=\"alert\"` for\n`type=\"error\"`/`type=\"warning\"` on its own root element automatically -- no opt-in prop needed.\nBoth roles carry implicit ARIA live-region semantics (`status` is polite, `alert` is assertive),\nso a screen reader announces the message as soon as this banner is inserted into the DOM,\nwithout a consumer having to remember to add `role`/`aria-live` themselves.",
|
|
1808
2114
|
"attributes": [
|
|
1809
2115
|
{
|
|
1810
2116
|
"name": "action-label",
|
|
@@ -2172,33 +2478,27 @@
|
|
|
2172
2478
|
},
|
|
2173
2479
|
{
|
|
2174
2480
|
"kind": "javascript-module",
|
|
2175
|
-
"path": "src/components/bs-
|
|
2481
|
+
"path": "src/components/bs-button/bs-icon-button/bs-icon-button.tsx",
|
|
2176
2482
|
"declarations": [
|
|
2177
2483
|
{
|
|
2178
2484
|
"kind": "class",
|
|
2179
2485
|
"customElement": true,
|
|
2180
|
-
"tagName": "bs-
|
|
2181
|
-
"name": "
|
|
2182
|
-
"description": "A
|
|
2486
|
+
"tagName": "bs-icon-button",
|
|
2487
|
+
"name": "BsIconButton",
|
|
2488
|
+
"description": "A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same\n8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.\n\n## When to use\n- A compact action where the icon alone is unambiguous (e.g. a close/dismiss control, a toolbar\n action) and adding a text label would take up more space than the context allows.\n- The same variant guidance as `bs-button` applies: `primary` for the single most important\n action, `neutral`/`subtle`/`outlined` for lower-emphasis alternatives, `error` reserved for\n destructive/irreversible actions (never `neutral`, per BrandSync guidance), `success`/\n `warning`/`info` only when the action's own outcome is predictable and clearly communicated.\n\n## When not to use\n- When the action isn't self-evident from the icon alone -- use `bs-button` with a visible label\n instead, don't rely on a tooltip to compensate for an unclear icon.\n- For navigation between pages -- use a link/nav component instead.\n\nBecause this component is always icon-only, `ariaLabel` is required for every real usage (not\njust conditionally, unlike `bs-button`) -- there's no visible label text to fall back on for an\naccessible name.",
|
|
2183
2489
|
"attributes": [
|
|
2184
2490
|
{
|
|
2185
|
-
"name": "
|
|
2186
|
-
"description": "
|
|
2187
|
-
"type": {
|
|
2188
|
-
"text": "string"
|
|
2189
|
-
},
|
|
2190
|
-
"default": "''",
|
|
2191
|
-
"fieldName": "country"
|
|
2192
|
-
},
|
|
2193
|
-
{
|
|
2194
|
-
"name": "description",
|
|
2491
|
+
"name": "aria-label",
|
|
2492
|
+
"description": "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.",
|
|
2195
2493
|
"type": {
|
|
2196
2494
|
"text": "string"
|
|
2197
2495
|
},
|
|
2198
|
-
"
|
|
2496
|
+
"default": "null",
|
|
2497
|
+
"fieldName": "ariaLabel"
|
|
2199
2498
|
},
|
|
2200
2499
|
{
|
|
2201
2500
|
"name": "disabled",
|
|
2501
|
+
"description": "Disables the button and applies the disabled token set.",
|
|
2202
2502
|
"type": {
|
|
2203
2503
|
"text": "boolean"
|
|
2204
2504
|
},
|
|
@@ -2206,520 +2506,3092 @@
|
|
|
2206
2506
|
"fieldName": "disabled"
|
|
2207
2507
|
},
|
|
2208
2508
|
{
|
|
2209
|
-
"name": "
|
|
2509
|
+
"name": "size",
|
|
2510
|
+
"description": "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.",
|
|
2210
2511
|
"type": {
|
|
2211
|
-
"text": "
|
|
2512
|
+
"text": "\"lg\" | \"md\" | \"sm\" | \"xs\"",
|
|
2513
|
+
"references": [
|
|
2514
|
+
{
|
|
2515
|
+
"name": "BsIconButtonSize"
|
|
2516
|
+
}
|
|
2517
|
+
]
|
|
2212
2518
|
},
|
|
2213
|
-
"
|
|
2519
|
+
"default": "'md'",
|
|
2520
|
+
"fieldName": "size"
|
|
2214
2521
|
},
|
|
2215
2522
|
{
|
|
2216
|
-
"name": "
|
|
2217
|
-
"description": "
|
|
2523
|
+
"name": "type",
|
|
2524
|
+
"description": "Native `<button>` type.",
|
|
2218
2525
|
"type": {
|
|
2219
|
-
"text": "
|
|
2526
|
+
"text": "\"button\" | \"reset\" | \"submit\""
|
|
2220
2527
|
},
|
|
2221
|
-
"default": "''",
|
|
2222
|
-
"fieldName": "
|
|
2528
|
+
"default": "'button'",
|
|
2529
|
+
"fieldName": "type"
|
|
2223
2530
|
},
|
|
2224
2531
|
{
|
|
2225
|
-
"name": "
|
|
2532
|
+
"name": "variant",
|
|
2533
|
+
"description": "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`.",
|
|
2226
2534
|
"type": {
|
|
2227
|
-
"text": "
|
|
2228
|
-
|
|
2229
|
-
|
|
2535
|
+
"text": "\"error\" | \"info\" | \"neutral\" | \"outlined\" | \"primary\" | \"subtle\" | \"success\" | \"warning\"",
|
|
2536
|
+
"references": [
|
|
2537
|
+
{
|
|
2538
|
+
"name": "BsIconButtonVariant"
|
|
2539
|
+
}
|
|
2540
|
+
]
|
|
2541
|
+
},
|
|
2542
|
+
"default": "'primary'",
|
|
2543
|
+
"fieldName": "variant"
|
|
2544
|
+
}
|
|
2545
|
+
],
|
|
2546
|
+
"members": [
|
|
2547
|
+
{
|
|
2548
|
+
"kind": "field",
|
|
2549
|
+
"name": "ariaLabel",
|
|
2550
|
+
"description": "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.",
|
|
2551
|
+
"type": {
|
|
2552
|
+
"text": "string"
|
|
2553
|
+
},
|
|
2554
|
+
"default": "null",
|
|
2555
|
+
"readonly": true,
|
|
2556
|
+
"attribute": "aria-label"
|
|
2557
|
+
},
|
|
2558
|
+
{
|
|
2559
|
+
"kind": "field",
|
|
2560
|
+
"name": "disabled",
|
|
2561
|
+
"description": "Disables the button and applies the disabled token set.",
|
|
2562
|
+
"type": {
|
|
2563
|
+
"text": "boolean"
|
|
2564
|
+
},
|
|
2565
|
+
"default": "false",
|
|
2566
|
+
"readonly": true,
|
|
2567
|
+
"attribute": "disabled"
|
|
2568
|
+
},
|
|
2569
|
+
{
|
|
2570
|
+
"kind": "field",
|
|
2571
|
+
"name": "size",
|
|
2572
|
+
"description": "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.",
|
|
2573
|
+
"type": {
|
|
2574
|
+
"text": "\"lg\" | \"md\" | \"sm\" | \"xs\"",
|
|
2575
|
+
"references": [
|
|
2576
|
+
{
|
|
2577
|
+
"name": "BsIconButtonSize"
|
|
2578
|
+
}
|
|
2579
|
+
]
|
|
2580
|
+
},
|
|
2581
|
+
"default": "'md'",
|
|
2582
|
+
"readonly": true,
|
|
2583
|
+
"attribute": "size"
|
|
2584
|
+
},
|
|
2585
|
+
{
|
|
2586
|
+
"kind": "field",
|
|
2587
|
+
"name": "type",
|
|
2588
|
+
"description": "Native `<button>` type.",
|
|
2589
|
+
"type": {
|
|
2590
|
+
"text": "\"button\" | \"reset\" | \"submit\""
|
|
2591
|
+
},
|
|
2592
|
+
"default": "'button'",
|
|
2593
|
+
"readonly": true,
|
|
2594
|
+
"attribute": "type"
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
"kind": "field",
|
|
2598
|
+
"name": "variant",
|
|
2599
|
+
"description": "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`.",
|
|
2600
|
+
"type": {
|
|
2601
|
+
"text": "\"error\" | \"info\" | \"neutral\" | \"outlined\" | \"primary\" | \"subtle\" | \"success\" | \"warning\"",
|
|
2602
|
+
"references": [
|
|
2603
|
+
{
|
|
2604
|
+
"name": "BsIconButtonVariant"
|
|
2605
|
+
}
|
|
2606
|
+
]
|
|
2607
|
+
},
|
|
2608
|
+
"default": "'primary'",
|
|
2609
|
+
"readonly": true,
|
|
2610
|
+
"attribute": "variant"
|
|
2611
|
+
}
|
|
2612
|
+
],
|
|
2613
|
+
"slots": [
|
|
2614
|
+
{
|
|
2615
|
+
"name": "",
|
|
2616
|
+
"description": "Default slot: the icon content. Exactly one icon, no label."
|
|
2617
|
+
}
|
|
2618
|
+
],
|
|
2619
|
+
"cssParts": [
|
|
2620
|
+
{
|
|
2621
|
+
"name": "icon",
|
|
2622
|
+
"description": "The icon wrapper element."
|
|
2623
|
+
}
|
|
2624
|
+
],
|
|
2625
|
+
"cssProperties": [
|
|
2626
|
+
{
|
|
2627
|
+
"name": "--bs-icon-button-error-default",
|
|
2628
|
+
"description": "Background, variant=\"error\", default. Aliased to --bs-color-error-default."
|
|
2629
|
+
},
|
|
2630
|
+
{
|
|
2631
|
+
"name": "--bs-icon-button-error-disabled",
|
|
2632
|
+
"description": "Background, variant=\"error\", disabled. Aliased to --bs-surface-action-disabled."
|
|
2633
|
+
},
|
|
2634
|
+
{
|
|
2635
|
+
"name": "--bs-icon-button-error-focus",
|
|
2636
|
+
"description": "Focus ring color, variant=\"error\". Aliased to --bs-border-error-focus."
|
|
2637
|
+
},
|
|
2638
|
+
{
|
|
2639
|
+
"name": "--bs-icon-button-error-hover",
|
|
2640
|
+
"description": "Background, variant=\"error\", hover. Aliased to --bs-color-error-hover."
|
|
2641
|
+
},
|
|
2642
|
+
{
|
|
2643
|
+
"name": "--bs-icon-button-error-pressed",
|
|
2644
|
+
"description": "Background, variant=\"error\", pressed. Aliased to --bs-color-error-pressed."
|
|
2645
|
+
},
|
|
2646
|
+
{
|
|
2647
|
+
"name": "--bs-icon-button-icon-size-lg",
|
|
2648
|
+
"description": "Slotted icon width/height at size=\"lg\". 24px."
|
|
2649
|
+
},
|
|
2650
|
+
{
|
|
2651
|
+
"name": "--bs-icon-button-icon-size-md",
|
|
2652
|
+
"description": "Slotted icon width/height at size=\"md\". 20px."
|
|
2653
|
+
},
|
|
2654
|
+
{
|
|
2655
|
+
"name": "--bs-icon-button-icon-size-sm",
|
|
2656
|
+
"description": "Slotted icon width/height at size=\"sm\". 16px."
|
|
2657
|
+
},
|
|
2658
|
+
{
|
|
2659
|
+
"name": "--bs-icon-button-icon-size-xs",
|
|
2660
|
+
"description": "Slotted icon width/height at size=\"xs\". 8px."
|
|
2661
|
+
},
|
|
2662
|
+
{
|
|
2663
|
+
"name": "--bs-icon-button-info-default",
|
|
2664
|
+
"description": "Background, variant=\"info\", default. Aliased to --bs-color-info-default."
|
|
2665
|
+
},
|
|
2666
|
+
{
|
|
2667
|
+
"name": "--bs-icon-button-info-disabled",
|
|
2668
|
+
"description": "Background, variant=\"info\", disabled. Aliased to --bs-surface-action-disabled."
|
|
2669
|
+
},
|
|
2670
|
+
{
|
|
2671
|
+
"name": "--bs-icon-button-info-focus",
|
|
2672
|
+
"description": "Focus ring color, variant=\"info\". Aliased to --bs-border-info-focus."
|
|
2673
|
+
},
|
|
2674
|
+
{
|
|
2675
|
+
"name": "--bs-icon-button-info-hover",
|
|
2676
|
+
"description": "Background, variant=\"info\", hover. Aliased to --bs-color-info-hover."
|
|
2677
|
+
},
|
|
2678
|
+
{
|
|
2679
|
+
"name": "--bs-icon-button-info-pressed",
|
|
2680
|
+
"description": "Background, variant=\"info\", pressed. Aliased to --bs-color-info-pressed."
|
|
2681
|
+
},
|
|
2682
|
+
{
|
|
2683
|
+
"name": "--bs-icon-button-neutral-border",
|
|
2684
|
+
"description": "Border color, variant=\"neutral\", default/disabled. Aliased to --bs-border-neutral-container."
|
|
2685
|
+
},
|
|
2686
|
+
{
|
|
2687
|
+
"name": "--bs-icon-button-neutral-border-hover",
|
|
2688
|
+
"description": "Border color, variant=\"neutral\", hover. Aliased to --bs-border-neutral-container-hover."
|
|
2689
|
+
},
|
|
2690
|
+
{
|
|
2691
|
+
"name": "--bs-icon-button-neutral-border-pressed",
|
|
2692
|
+
"description": "Border color, variant=\"neutral\", pressed. Aliased to --bs-border-neutral-container-pressed."
|
|
2693
|
+
},
|
|
2694
|
+
{
|
|
2695
|
+
"name": "--bs-icon-button-neutral-container",
|
|
2696
|
+
"description": "Background, variant=\"neutral\", default/disabled. Aliased to --bs-color-neutral-container."
|
|
2697
|
+
},
|
|
2698
|
+
{
|
|
2699
|
+
"name": "--bs-icon-button-neutral-hover",
|
|
2700
|
+
"description": "Background, variant=\"neutral\", hover. Aliased to --bs-color-neutral-container-hover."
|
|
2701
|
+
},
|
|
2702
|
+
{
|
|
2703
|
+
"name": "--bs-icon-button-neutral-pressed",
|
|
2704
|
+
"description": "Background, variant=\"neutral\", pressed. Aliased to --bs-color-neutral-container-pressed."
|
|
2705
|
+
},
|
|
2706
|
+
{
|
|
2707
|
+
"name": "--bs-icon-button-outlined-border",
|
|
2708
|
+
"description": "Border color, variant=\"outlined\", default. Aliased to --bs-border-primary."
|
|
2709
|
+
},
|
|
2710
|
+
{
|
|
2711
|
+
"name": "--bs-icon-button-outlined-border-hover",
|
|
2712
|
+
"description": "Border color, variant=\"outlined\", hover/pressed. Aliased to --bs-border-primary-hover."
|
|
2713
|
+
},
|
|
2714
|
+
{
|
|
2715
|
+
"name": "--bs-icon-button-outlined-container",
|
|
2716
|
+
"description": "Background, variant=\"outlined\", hover/pressed. Aliased to --bs-color-primary-container."
|
|
2717
|
+
},
|
|
2718
|
+
{
|
|
2719
|
+
"name": "--bs-icon-button-outlined-focus",
|
|
2720
|
+
"description": "Focus ring color, variant=\"outlined\". Aliased to --bs-border-primary-focus."
|
|
2721
|
+
},
|
|
2722
|
+
{
|
|
2723
|
+
"name": "--bs-icon-button-padding",
|
|
2724
|
+
"description": "Padding on all sides, all sizes (constant -- centers the icon inside the container at every size). Aliased to --bs-spacing-150."
|
|
2725
|
+
},
|
|
2726
|
+
{
|
|
2727
|
+
"name": "--bs-icon-button-padding-xs",
|
|
2728
|
+
"description": "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."
|
|
2729
|
+
},
|
|
2730
|
+
{
|
|
2731
|
+
"name": "--bs-icon-button-primary-default",
|
|
2732
|
+
"description": "Background, variant=\"primary\", default. Aliased to --bs-color-primary-default."
|
|
2733
|
+
},
|
|
2734
|
+
{
|
|
2735
|
+
"name": "--bs-icon-button-primary-disabled",
|
|
2736
|
+
"description": "Background, variant=\"primary\", disabled. Aliased to --bs-surface-action-disabled."
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
"name": "--bs-icon-button-primary-hover",
|
|
2740
|
+
"description": "Background, variant=\"primary\", hover. Aliased to --bs-color-primary-hover."
|
|
2741
|
+
},
|
|
2742
|
+
{
|
|
2743
|
+
"name": "--bs-icon-button-primary-pressed",
|
|
2744
|
+
"description": "Background, variant=\"primary\", pressed. Aliased to --bs-color-primary-pressed."
|
|
2745
|
+
},
|
|
2746
|
+
{
|
|
2747
|
+
"name": "--bs-icon-button-radius",
|
|
2748
|
+
"description": "Corner radius, size=\"sm\"/\"md\"/\"lg\". Aliased to --bs-border-radius-100."
|
|
2749
|
+
},
|
|
2750
|
+
{
|
|
2751
|
+
"name": "--bs-icon-button-radius-xs",
|
|
2752
|
+
"description": "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."
|
|
2753
|
+
},
|
|
2754
|
+
{
|
|
2755
|
+
"name": "--bs-icon-button-size-lg",
|
|
2756
|
+
"description": "Container width/height at size=\"lg\". 48px."
|
|
2757
|
+
},
|
|
2758
|
+
{
|
|
2759
|
+
"name": "--bs-icon-button-size-md",
|
|
2760
|
+
"description": "Container width/height at size=\"md\". 44px."
|
|
2761
|
+
},
|
|
2762
|
+
{
|
|
2763
|
+
"name": "--bs-icon-button-size-sm",
|
|
2764
|
+
"description": "Container width/height at size=\"sm\". 40px."
|
|
2765
|
+
},
|
|
2766
|
+
{
|
|
2767
|
+
"name": "--bs-icon-button-size-xs",
|
|
2768
|
+
"description": "Container width/height at size=\"xs\". 16px."
|
|
2769
|
+
},
|
|
2770
|
+
{
|
|
2771
|
+
"name": "--bs-icon-button-subtle-focus",
|
|
2772
|
+
"description": "Focus ring color, variant=\"subtle\". Aliased to --bs-border-primary-focus."
|
|
2773
|
+
},
|
|
2774
|
+
{
|
|
2775
|
+
"name": "--bs-icon-button-subtle-hover",
|
|
2776
|
+
"description": "Background, variant=\"subtle\", hover. Aliased to --bs-color-neutral-container."
|
|
2777
|
+
},
|
|
2778
|
+
{
|
|
2779
|
+
"name": "--bs-icon-button-subtle-pressed",
|
|
2780
|
+
"description": "Background, variant=\"subtle\", pressed. Aliased to --bs-color-neutral-container-pressed."
|
|
2781
|
+
},
|
|
2782
|
+
{
|
|
2783
|
+
"name": "--bs-icon-button-success-default",
|
|
2784
|
+
"description": "Background, variant=\"success\", default. Aliased to --bs-color-success-default."
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
"name": "--bs-icon-button-success-disabled",
|
|
2788
|
+
"description": "Background, variant=\"success\", disabled. Aliased to --bs-surface-action-disabled."
|
|
2789
|
+
},
|
|
2790
|
+
{
|
|
2791
|
+
"name": "--bs-icon-button-success-focus",
|
|
2792
|
+
"description": "Focus ring color, variant=\"success\". Aliased to --bs-border-success-focus."
|
|
2793
|
+
},
|
|
2794
|
+
{
|
|
2795
|
+
"name": "--bs-icon-button-success-hover",
|
|
2796
|
+
"description": "Background, variant=\"success\", hover. Aliased to --bs-color-success-hover."
|
|
2797
|
+
},
|
|
2798
|
+
{
|
|
2799
|
+
"name": "--bs-icon-button-success-pressed",
|
|
2800
|
+
"description": "Background, variant=\"success\", pressed. Aliased to --bs-color-success-pressed."
|
|
2801
|
+
},
|
|
2802
|
+
{
|
|
2803
|
+
"name": "--bs-icon-button-warning-default",
|
|
2804
|
+
"description": "Background, variant=\"warning\", default. Aliased to --bs-color-warning-default."
|
|
2805
|
+
},
|
|
2806
|
+
{
|
|
2807
|
+
"name": "--bs-icon-button-warning-disabled",
|
|
2808
|
+
"description": "Background, variant=\"warning\", disabled. Aliased to --bs-surface-action-disabled."
|
|
2809
|
+
},
|
|
2810
|
+
{
|
|
2811
|
+
"name": "--bs-icon-button-warning-focus",
|
|
2812
|
+
"description": "Focus ring color, variant=\"warning\". Aliased to --bs-border-warning-focus."
|
|
2813
|
+
},
|
|
2814
|
+
{
|
|
2815
|
+
"name": "--bs-icon-button-warning-hover",
|
|
2816
|
+
"description": "Background, variant=\"warning\", hover. Aliased to --bs-color-warning-hover."
|
|
2817
|
+
},
|
|
2818
|
+
{
|
|
2819
|
+
"name": "--bs-icon-button-warning-pressed",
|
|
2820
|
+
"description": "Background, variant=\"warning\", pressed. Aliased to --bs-color-warning-pressed."
|
|
2821
|
+
}
|
|
2822
|
+
]
|
|
2823
|
+
}
|
|
2824
|
+
],
|
|
2825
|
+
"exports": [
|
|
2826
|
+
{
|
|
2827
|
+
"kind": "js",
|
|
2828
|
+
"name": "BsIconButton",
|
|
2829
|
+
"declaration": {
|
|
2830
|
+
"name": "BsIconButton"
|
|
2831
|
+
}
|
|
2832
|
+
},
|
|
2833
|
+
{
|
|
2834
|
+
"kind": "custom-element-definition",
|
|
2835
|
+
"name": "bs-icon-button",
|
|
2836
|
+
"declaration": {
|
|
2837
|
+
"name": "BsIconButton"
|
|
2838
|
+
}
|
|
2839
|
+
}
|
|
2840
|
+
]
|
|
2841
|
+
},
|
|
2842
|
+
{
|
|
2843
|
+
"kind": "javascript-module",
|
|
2844
|
+
"path": "src/components/bs-tab/bs-inline-tab/bs-inline-tab.tsx",
|
|
2845
|
+
"declarations": [
|
|
2846
|
+
{
|
|
2847
|
+
"kind": "class",
|
|
2848
|
+
"customElement": true,
|
|
2849
|
+
"tagName": "bs-inline-tab",
|
|
2850
|
+
"name": "BsInlineTab",
|
|
2851
|
+
"description": "A pill-shaped tab button -- an optional leading icon plus a text label, rendered as a real\n`<button>` so it participates correctly in tab order and native click/keyboard activation.\nUnlike `bs-tab`'s underline indicator, selection here is communicated entirely by the pill's\nbackground fill color -- there is no separate indicator element.\n\n## When to use\n- As one button within a segmented-control-style tab bar, where exactly one tab is\n selected/active at a time.\n\n## When not to use\n- As a standalone action button -- use `bs-button` instead, `bs-inline-tab`'s visual language\n (muted pill until selected/hovered) only makes sense as part of a set.\n\n`selected` is NOT self-toggling -- clicking a `bs-inline-tab` only emits `bsSelect`, it does not\nset its own `selected` prop, and it does not unselect any sibling tabs. Wrap your\n`<bs-inline-tab>` elements in `<bs-tabs type=\"bs-inline-tab\">` -- it owns `role=\"tablist\"` and\ncoordinates selection (listening for `bsSelect` and setting `selected`/`false` across siblings)\nfor you. Using `bs-inline-tab` standalone, outside a `<bs-tabs>` wrapper, still means `selected`\ndoesn't self-toggle and `role=\"tablist\"` isn't provided automatically -- a consumer doing that\nwould still need to coordinate `selected` and supply `role=\"tablist\"` manually, same as\n`bs-tab.mdx`/`bs-radio.mdx` document for their own components. See `bs-inline-tab.mdx`'s\nAccessibility section for the full requirement, including `role=\"tabpanel\"` on the corresponding\ncontent panels.",
|
|
2852
|
+
"attributes": [
|
|
2853
|
+
{
|
|
2854
|
+
"name": "aria-label",
|
|
2855
|
+
"description": "Accessible name for the tab. Required for icon-only usage (no visible label text via the\ndefault slot) so screen readers still announce what the tab does -- without it, an icon-only\ntab has no discernible name at all (axe-core flags this as a critical `button-name`\nviolation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute\nautomatically, same as `bs-tab`'s identical prop.",
|
|
2856
|
+
"type": {
|
|
2857
|
+
"text": "string"
|
|
2858
|
+
},
|
|
2859
|
+
"default": "null",
|
|
2860
|
+
"fieldName": "ariaLabel"
|
|
2861
|
+
},
|
|
2862
|
+
{
|
|
2863
|
+
"name": "disabled",
|
|
2864
|
+
"description": "Disables the tab: sets the native `disabled` attribute, suppresses hover/focus styling, and\nprevents clicking from emitting `bsSelect`.",
|
|
2865
|
+
"type": {
|
|
2866
|
+
"text": "boolean"
|
|
2867
|
+
},
|
|
2868
|
+
"default": "false",
|
|
2869
|
+
"fieldName": "disabled"
|
|
2870
|
+
},
|
|
2871
|
+
{
|
|
2872
|
+
"name": "selected",
|
|
2873
|
+
"description": "Whether this tab is the currently active one. NOT mutable and NOT self-toggling -- see the\n\"Known gap\" note in the class JSDoc. Still reflected as an attribute so consumers/CSS can\ntarget `bs-inline-tab[selected]`.",
|
|
2874
|
+
"type": {
|
|
2875
|
+
"text": "boolean"
|
|
2876
|
+
},
|
|
2877
|
+
"default": "false",
|
|
2878
|
+
"fieldName": "selected"
|
|
2879
|
+
}
|
|
2880
|
+
],
|
|
2881
|
+
"members": [
|
|
2882
|
+
{
|
|
2883
|
+
"kind": "field",
|
|
2884
|
+
"name": "ariaLabel",
|
|
2885
|
+
"description": "Accessible name for the tab. Required for icon-only usage (no visible label text via the\ndefault slot) so screen readers still announce what the tab does -- without it, an icon-only\ntab has no discernible name at all (axe-core flags this as a critical `button-name`\nviolation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute\nautomatically, same as `bs-tab`'s identical prop.",
|
|
2886
|
+
"type": {
|
|
2887
|
+
"text": "string"
|
|
2888
|
+
},
|
|
2889
|
+
"default": "null",
|
|
2890
|
+
"readonly": true,
|
|
2891
|
+
"attribute": "aria-label"
|
|
2892
|
+
},
|
|
2893
|
+
{
|
|
2894
|
+
"kind": "field",
|
|
2895
|
+
"name": "disabled",
|
|
2896
|
+
"description": "Disables the tab: sets the native `disabled` attribute, suppresses hover/focus styling, and\nprevents clicking from emitting `bsSelect`.",
|
|
2897
|
+
"type": {
|
|
2898
|
+
"text": "boolean"
|
|
2899
|
+
},
|
|
2900
|
+
"default": "false",
|
|
2901
|
+
"readonly": true,
|
|
2902
|
+
"attribute": "disabled"
|
|
2903
|
+
},
|
|
2904
|
+
{
|
|
2905
|
+
"kind": "field",
|
|
2906
|
+
"name": "selected",
|
|
2907
|
+
"description": "Whether this tab is the currently active one. NOT mutable and NOT self-toggling -- see the\n\"Known gap\" note in the class JSDoc. Still reflected as an attribute so consumers/CSS can\ntarget `bs-inline-tab[selected]`.",
|
|
2908
|
+
"type": {
|
|
2909
|
+
"text": "boolean"
|
|
2910
|
+
},
|
|
2911
|
+
"default": "false",
|
|
2912
|
+
"readonly": true,
|
|
2913
|
+
"attribute": "selected",
|
|
2914
|
+
"reflects": true
|
|
2915
|
+
}
|
|
2916
|
+
],
|
|
2917
|
+
"events": [
|
|
2918
|
+
{
|
|
2919
|
+
"name": "bsSelect",
|
|
2920
|
+
"description": "Fires when the tab is clicked. Does not toggle `selected` itself -- see the class JSDoc.",
|
|
2921
|
+
"type": {
|
|
2922
|
+
"text": "CustomEvent<void>"
|
|
2923
|
+
}
|
|
2924
|
+
}
|
|
2925
|
+
],
|
|
2926
|
+
"slots": [
|
|
2927
|
+
{
|
|
2928
|
+
"name": "",
|
|
2929
|
+
"description": "Default slot: the tab's label text. When empty (icon-only), no space is reserved for it."
|
|
2930
|
+
},
|
|
2931
|
+
{
|
|
2932
|
+
"name": "icon",
|
|
2933
|
+
"description": "Optional leading icon (24x24). When empty (text-only), no space is reserved for it."
|
|
2934
|
+
}
|
|
2935
|
+
],
|
|
2936
|
+
"cssParts": [
|
|
2937
|
+
{
|
|
2938
|
+
"name": "icon",
|
|
2939
|
+
"description": "The icon wrapper."
|
|
2940
|
+
},
|
|
2941
|
+
{
|
|
2942
|
+
"name": "label",
|
|
2943
|
+
"description": "The label wrapper."
|
|
2944
|
+
},
|
|
2945
|
+
{
|
|
2946
|
+
"name": "tab",
|
|
2947
|
+
"description": "The button element."
|
|
2948
|
+
}
|
|
2949
|
+
],
|
|
2950
|
+
"cssProperties": [
|
|
2951
|
+
{
|
|
2952
|
+
"name": "--bs-inline-tab-bg-default",
|
|
2953
|
+
"description": "Background, deselected/enabled. Aliased to --bs-color-neutral-container."
|
|
2954
|
+
},
|
|
2955
|
+
{
|
|
2956
|
+
"name": "--bs-inline-tab-bg-disabled",
|
|
2957
|
+
"description": "Background, disabled (wins over selected). Aliased to --bs-surface-action-disabled."
|
|
2958
|
+
},
|
|
2959
|
+
{
|
|
2960
|
+
"name": "--bs-inline-tab-bg-focus",
|
|
2961
|
+
"description": "Background, deselected/focused. Aliased to --bs-color-neutral-container-focused."
|
|
2962
|
+
},
|
|
2963
|
+
{
|
|
2964
|
+
"name": "--bs-inline-tab-bg-hover",
|
|
2965
|
+
"description": "Background, deselected/hovered. Aliased to --bs-color-neutral-container-hover."
|
|
2966
|
+
},
|
|
2967
|
+
{
|
|
2968
|
+
"name": "--bs-inline-tab-bg-pressed",
|
|
2969
|
+
"description": "Background, deselected/pressed. Aliased to --bs-color-neutral-container-pressed."
|
|
2970
|
+
},
|
|
2971
|
+
{
|
|
2972
|
+
"name": "--bs-inline-tab-bg-selected",
|
|
2973
|
+
"description": "Background, selected/enabled. Aliased to --bs-color-primary-default."
|
|
2974
|
+
},
|
|
2975
|
+
{
|
|
2976
|
+
"name": "--bs-inline-tab-bg-selected-focus",
|
|
2977
|
+
"description": "Background, selected/focused. Aliased to --bs-color-primary-focused."
|
|
2978
|
+
},
|
|
2979
|
+
{
|
|
2980
|
+
"name": "--bs-inline-tab-bg-selected-hover",
|
|
2981
|
+
"description": "Background, selected/hovered. Aliased to --bs-color-primary-hover."
|
|
2982
|
+
},
|
|
2983
|
+
{
|
|
2984
|
+
"name": "--bs-inline-tab-bg-selected-pressed",
|
|
2985
|
+
"description": "Background, selected/pressed. Aliased to --bs-color-primary-pressed."
|
|
2986
|
+
},
|
|
2987
|
+
{
|
|
2988
|
+
"name": "--bs-inline-tab-color-default",
|
|
2989
|
+
"description": "Text/icon color, deselected/enabled. Aliased to --bs-text-secondary."
|
|
2990
|
+
},
|
|
2991
|
+
{
|
|
2992
|
+
"name": "--bs-inline-tab-color-disabled",
|
|
2993
|
+
"description": "Text/icon color, disabled (wins over selected). Aliased to --bs-text-on-disabled."
|
|
2994
|
+
},
|
|
2995
|
+
{
|
|
2996
|
+
"name": "--bs-inline-tab-color-hover",
|
|
2997
|
+
"description": "Text/icon color, deselected/hovered, focused or pressed. Aliased to --bs-text-default."
|
|
2998
|
+
},
|
|
2999
|
+
{
|
|
3000
|
+
"name": "--bs-inline-tab-color-selected",
|
|
3001
|
+
"description": "Text/icon color, selected. Aliased to --bs-text-on-action."
|
|
3002
|
+
},
|
|
3003
|
+
{
|
|
3004
|
+
"name": "--bs-inline-tab-focus-ring-color",
|
|
3005
|
+
"description": "Focus ring color. Aliased to --bs-border-neutral-focus."
|
|
3006
|
+
},
|
|
3007
|
+
{
|
|
3008
|
+
"name": "--bs-inline-tab-font-size",
|
|
3009
|
+
"description": "Aliased to --bs-font-size-sm."
|
|
3010
|
+
},
|
|
3011
|
+
{
|
|
3012
|
+
"name": "--bs-inline-tab-font-weight",
|
|
3013
|
+
"description": "Aliased to --bs-font-weight-semibold."
|
|
3014
|
+
},
|
|
3015
|
+
{
|
|
3016
|
+
"name": "--bs-inline-tab-gap",
|
|
3017
|
+
"description": "Gap between icon and label. Aliased to --bs-spacing-50."
|
|
3018
|
+
},
|
|
3019
|
+
{
|
|
3020
|
+
"name": "--bs-inline-tab-line-height",
|
|
3021
|
+
"description": "Aliased to --bs-line-height-body-sm."
|
|
3022
|
+
},
|
|
3023
|
+
{
|
|
3024
|
+
"name": "--bs-inline-tab-padding-left-with-icon",
|
|
3025
|
+
"description": "Left padding, icon present. Aliased to --bs-spacing-150."
|
|
3026
|
+
},
|
|
3027
|
+
{
|
|
3028
|
+
"name": "--bs-inline-tab-padding-right-with-icon",
|
|
3029
|
+
"description": "Right padding, icon present. Aliased to --bs-spacing-200."
|
|
3030
|
+
},
|
|
3031
|
+
{
|
|
3032
|
+
"name": "--bs-inline-tab-padding-x",
|
|
3033
|
+
"description": "Left/right padding, no icon. Aliased to --bs-spacing-200."
|
|
3034
|
+
},
|
|
3035
|
+
{
|
|
3036
|
+
"name": "--bs-inline-tab-padding-y",
|
|
3037
|
+
"description": "Top/bottom padding. Aliased to --bs-spacing-100."
|
|
3038
|
+
},
|
|
3039
|
+
{
|
|
3040
|
+
"name": "--bs-inline-tab-radius",
|
|
3041
|
+
"description": "Corner radius of the pill. Aliased to --bs-border-radius-full."
|
|
3042
|
+
}
|
|
3043
|
+
]
|
|
3044
|
+
}
|
|
3045
|
+
],
|
|
3046
|
+
"exports": [
|
|
3047
|
+
{
|
|
3048
|
+
"kind": "js",
|
|
3049
|
+
"name": "BsInlineTab",
|
|
3050
|
+
"declaration": {
|
|
3051
|
+
"name": "BsInlineTab"
|
|
3052
|
+
}
|
|
3053
|
+
},
|
|
3054
|
+
{
|
|
3055
|
+
"kind": "custom-element-definition",
|
|
3056
|
+
"name": "bs-inline-tab",
|
|
3057
|
+
"declaration": {
|
|
3058
|
+
"name": "BsInlineTab"
|
|
3059
|
+
}
|
|
3060
|
+
}
|
|
3061
|
+
]
|
|
3062
|
+
},
|
|
3063
|
+
{
|
|
3064
|
+
"kind": "javascript-module",
|
|
3065
|
+
"path": "src/components/bs-input/bs-input.tsx",
|
|
3066
|
+
"declarations": [
|
|
3067
|
+
{
|
|
3068
|
+
"kind": "class",
|
|
3069
|
+
"customElement": true,
|
|
3070
|
+
"tagName": "bs-input",
|
|
3071
|
+
"name": "BsInput",
|
|
3072
|
+
"description": "A single-line text field with an optional label, description, and error state. Also covers a\nrange of related \"field\" shapes (number stepper, password reveal, date, dropdown trigger,\nselect, textarea, chip input, initials, country, and pin) via the `type` prop, since they all\nshare the same label/description/error/icon-slot chrome.\n\n## When to use\n- Collecting a single line of free-text, email, password, or numeric input.\n- Any of the other supported `type`s (search, date, dropdown, select, textarea, chip, initials,\n country, pin) that share this component's label/description/error chrome.\n- Pair with `error` for inline validation feedback tied to that specific field.\n\n## When not to use\n- A fixed set of choices best served by a dedicated radio/checkbox group rather than a single\n field. `type=\"select\"` (native `<select>`) and `type=\"dropdown\"` (a `bs-menu` of\n `bs-menu-item`s from the `options` prop) cover the field-shaped cases; `type=\"chip\"` has no\n options list at all (freeform chip entry).",
|
|
3073
|
+
"attributes": [
|
|
3074
|
+
{
|
|
3075
|
+
"name": "country",
|
|
3076
|
+
"description": "Current selected country code for `type=\"country\"`.",
|
|
3077
|
+
"type": {
|
|
3078
|
+
"text": "string"
|
|
3079
|
+
},
|
|
3080
|
+
"default": "''",
|
|
3081
|
+
"fieldName": "country"
|
|
3082
|
+
},
|
|
3083
|
+
{
|
|
3084
|
+
"name": "description",
|
|
3085
|
+
"type": {
|
|
3086
|
+
"text": "string"
|
|
3087
|
+
},
|
|
3088
|
+
"fieldName": "description"
|
|
3089
|
+
},
|
|
3090
|
+
{
|
|
3091
|
+
"name": "disabled",
|
|
3092
|
+
"type": {
|
|
3093
|
+
"text": "boolean"
|
|
3094
|
+
},
|
|
3095
|
+
"default": "false",
|
|
3096
|
+
"fieldName": "disabled"
|
|
3097
|
+
},
|
|
3098
|
+
{
|
|
3099
|
+
"name": "error",
|
|
3100
|
+
"type": {
|
|
3101
|
+
"text": "string"
|
|
3102
|
+
},
|
|
3103
|
+
"fieldName": "error"
|
|
3104
|
+
},
|
|
3105
|
+
{
|
|
3106
|
+
"name": "initials-title",
|
|
3107
|
+
"description": "Current selected title for `type=\"initials\"`. Named `initialsTitle` rather than `title` --\n`title` is a reserved standard HTML attribute (tooltip text) inherited by every element, and\nStencil warns against shadowing it with a component `@Prop`.",
|
|
3108
|
+
"type": {
|
|
3109
|
+
"text": "string"
|
|
3110
|
+
},
|
|
3111
|
+
"default": "''",
|
|
3112
|
+
"fieldName": "initialsTitle"
|
|
3113
|
+
},
|
|
3114
|
+
{
|
|
3115
|
+
"name": "label",
|
|
3116
|
+
"type": {
|
|
3117
|
+
"text": "string"
|
|
3118
|
+
},
|
|
3119
|
+
"fieldName": "label"
|
|
3120
|
+
},
|
|
3121
|
+
{
|
|
3122
|
+
"name": "length",
|
|
3123
|
+
"description": "Number of cells for `type=\"pin\"`.",
|
|
3124
|
+
"type": {
|
|
3125
|
+
"text": "number"
|
|
3126
|
+
},
|
|
3127
|
+
"default": "4",
|
|
3128
|
+
"fieldName": "length"
|
|
3129
|
+
},
|
|
3130
|
+
{
|
|
3131
|
+
"name": "max",
|
|
3132
|
+
"description": "Maximum value for `type=\"number\"`'s stepper buttons.",
|
|
3133
|
+
"type": {
|
|
3134
|
+
"text": "number"
|
|
3135
|
+
},
|
|
3136
|
+
"fieldName": "max"
|
|
3137
|
+
},
|
|
3138
|
+
{
|
|
3139
|
+
"name": "min",
|
|
3140
|
+
"description": "Minimum value for `type=\"number\"`'s stepper buttons.",
|
|
3141
|
+
"type": {
|
|
3142
|
+
"text": "number"
|
|
3143
|
+
},
|
|
3144
|
+
"fieldName": "min"
|
|
3145
|
+
},
|
|
3146
|
+
{
|
|
3147
|
+
"name": "open",
|
|
3148
|
+
"description": "Whether the `type=\"dropdown\"` trigger is open. Reflects to an attribute so consumers can style\nan open state via CSS. When `options` is non-empty, this also controls whether the `bs-menu`\nof `bs-menu-item`s is rendered below the field.",
|
|
3149
|
+
"type": {
|
|
3150
|
+
"text": "boolean"
|
|
3151
|
+
},
|
|
3152
|
+
"default": "false",
|
|
3153
|
+
"fieldName": "open"
|
|
3154
|
+
},
|
|
3155
|
+
{
|
|
3156
|
+
"name": "placeholder",
|
|
3157
|
+
"type": {
|
|
3158
|
+
"text": "string"
|
|
3159
|
+
},
|
|
3160
|
+
"fieldName": "placeholder"
|
|
3161
|
+
},
|
|
3162
|
+
{
|
|
3163
|
+
"name": "required",
|
|
3164
|
+
"description": "Marks the field as required: renders a red `*` after the label and sets `aria-required=\"true\"`\non the control. Applies regardless of `type`.",
|
|
3165
|
+
"type": {
|
|
3166
|
+
"text": "boolean"
|
|
3167
|
+
},
|
|
3168
|
+
"default": "false",
|
|
3169
|
+
"fieldName": "required"
|
|
3170
|
+
},
|
|
3171
|
+
{
|
|
3172
|
+
"name": "rows",
|
|
3173
|
+
"description": "Number of visible rows for `type=\"textarea\"`.",
|
|
3174
|
+
"type": {
|
|
3175
|
+
"text": "number"
|
|
3176
|
+
},
|
|
3177
|
+
"default": "3",
|
|
3178
|
+
"fieldName": "rows"
|
|
3179
|
+
},
|
|
3180
|
+
{
|
|
3181
|
+
"name": "step",
|
|
3182
|
+
"description": "Step size for `type=\"number\"`'s increment/decrement stepper buttons.",
|
|
3183
|
+
"type": {
|
|
3184
|
+
"text": "number"
|
|
3185
|
+
},
|
|
3186
|
+
"default": "1",
|
|
3187
|
+
"fieldName": "step"
|
|
3188
|
+
},
|
|
3189
|
+
{
|
|
3190
|
+
"name": "type",
|
|
3191
|
+
"type": {
|
|
3192
|
+
"text": "\"chip\" | \"country\" | \"date\" | \"dropdown\" | \"email\" | \"initials\" | \"number\" | \"password\" | \"pin\" | \"search\" | \"select\" | \"text\" | \"textarea\""
|
|
3193
|
+
},
|
|
3194
|
+
"default": "'text'",
|
|
3195
|
+
"fieldName": "type"
|
|
3196
|
+
},
|
|
3197
|
+
{
|
|
3198
|
+
"name": "value",
|
|
3199
|
+
"description": "Current value. Native `input`/`change` events don't cross the Shadow DOM boundary, so this\ncomponent re-dispatches them as `bsInput`/`bsChange` custom events instead. Mutable so the\n`number` type's stepper buttons can update it directly.",
|
|
3200
|
+
"type": {
|
|
3201
|
+
"text": "string"
|
|
3202
|
+
},
|
|
3203
|
+
"default": "''",
|
|
3204
|
+
"fieldName": "value"
|
|
3205
|
+
}
|
|
3206
|
+
],
|
|
3207
|
+
"members": [
|
|
3208
|
+
{
|
|
3209
|
+
"kind": "field",
|
|
3210
|
+
"name": "chips",
|
|
3211
|
+
"description": "Current chips for `type=\"chip\"`. Must be set as a JS property, not an HTML attribute -- see\nCONVENTIONS.md's non-string props rule.",
|
|
3212
|
+
"type": {
|
|
3213
|
+
"text": "string[]"
|
|
3214
|
+
},
|
|
3215
|
+
"default": "[]",
|
|
3216
|
+
"readonly": true
|
|
3217
|
+
},
|
|
3218
|
+
{
|
|
3219
|
+
"kind": "field",
|
|
3220
|
+
"name": "country",
|
|
3221
|
+
"description": "Current selected country code for `type=\"country\"`.",
|
|
3222
|
+
"type": {
|
|
3223
|
+
"text": "string"
|
|
3224
|
+
},
|
|
3225
|
+
"default": "''",
|
|
3226
|
+
"readonly": true,
|
|
3227
|
+
"attribute": "country"
|
|
3228
|
+
},
|
|
3229
|
+
{
|
|
3230
|
+
"kind": "field",
|
|
3231
|
+
"name": "countryOptions",
|
|
3232
|
+
"description": "Country select options for `type=\"country\"`. Must be set as a JS property, not an HTML\nattribute -- see CONVENTIONS.md's non-string props rule.",
|
|
3233
|
+
"type": {
|
|
3234
|
+
"text": "{ code: string; label: string; flagIcon?: string; }[]"
|
|
3235
|
+
},
|
|
3236
|
+
"default": "[]",
|
|
3237
|
+
"readonly": true
|
|
3238
|
+
},
|
|
3239
|
+
{
|
|
3240
|
+
"kind": "field",
|
|
3241
|
+
"name": "description",
|
|
3242
|
+
"type": {
|
|
3243
|
+
"text": "string"
|
|
3244
|
+
},
|
|
3245
|
+
"readonly": true,
|
|
3246
|
+
"attribute": "description"
|
|
3247
|
+
},
|
|
3248
|
+
{
|
|
3249
|
+
"kind": "field",
|
|
3250
|
+
"name": "disabled",
|
|
3251
|
+
"type": {
|
|
3252
|
+
"text": "boolean"
|
|
3253
|
+
},
|
|
3254
|
+
"default": "false",
|
|
3255
|
+
"readonly": true,
|
|
3256
|
+
"attribute": "disabled"
|
|
3257
|
+
},
|
|
3258
|
+
{
|
|
3259
|
+
"kind": "field",
|
|
3260
|
+
"name": "error",
|
|
3261
|
+
"type": {
|
|
3262
|
+
"text": "string"
|
|
3263
|
+
},
|
|
3264
|
+
"readonly": true,
|
|
3265
|
+
"attribute": "error"
|
|
3266
|
+
},
|
|
3267
|
+
{
|
|
3268
|
+
"kind": "field",
|
|
3269
|
+
"name": "initialsTitle",
|
|
3270
|
+
"description": "Current selected title for `type=\"initials\"`. Named `initialsTitle` rather than `title` --\n`title` is a reserved standard HTML attribute (tooltip text) inherited by every element, and\nStencil warns against shadowing it with a component `@Prop`.",
|
|
3271
|
+
"type": {
|
|
3272
|
+
"text": "string"
|
|
3273
|
+
},
|
|
3274
|
+
"default": "''",
|
|
3275
|
+
"readonly": true,
|
|
3276
|
+
"attribute": "initials-title"
|
|
3277
|
+
},
|
|
3278
|
+
{
|
|
3279
|
+
"kind": "field",
|
|
3280
|
+
"name": "label",
|
|
3281
|
+
"type": {
|
|
3282
|
+
"text": "string"
|
|
3283
|
+
},
|
|
3284
|
+
"readonly": true,
|
|
3285
|
+
"attribute": "label"
|
|
3286
|
+
},
|
|
3287
|
+
{
|
|
3288
|
+
"kind": "field",
|
|
3289
|
+
"name": "length",
|
|
3290
|
+
"description": "Number of cells for `type=\"pin\"`.",
|
|
3291
|
+
"type": {
|
|
3292
|
+
"text": "number"
|
|
3293
|
+
},
|
|
3294
|
+
"default": "4",
|
|
3295
|
+
"readonly": true,
|
|
3296
|
+
"attribute": "length"
|
|
3297
|
+
},
|
|
3298
|
+
{
|
|
3299
|
+
"kind": "field",
|
|
3300
|
+
"name": "max",
|
|
3301
|
+
"description": "Maximum value for `type=\"number\"`'s stepper buttons.",
|
|
3302
|
+
"type": {
|
|
3303
|
+
"text": "number"
|
|
3304
|
+
},
|
|
3305
|
+
"readonly": true,
|
|
3306
|
+
"attribute": "max"
|
|
3307
|
+
},
|
|
3308
|
+
{
|
|
3309
|
+
"kind": "field",
|
|
3310
|
+
"name": "min",
|
|
3311
|
+
"description": "Minimum value for `type=\"number\"`'s stepper buttons.",
|
|
3312
|
+
"type": {
|
|
3313
|
+
"text": "number"
|
|
3314
|
+
},
|
|
3315
|
+
"readonly": true,
|
|
3316
|
+
"attribute": "min"
|
|
3317
|
+
},
|
|
3318
|
+
{
|
|
3319
|
+
"kind": "field",
|
|
3320
|
+
"name": "open",
|
|
3321
|
+
"description": "Whether the `type=\"dropdown\"` trigger is open. Reflects to an attribute so consumers can style\nan open state via CSS. When `options` is non-empty, this also controls whether the `bs-menu`\nof `bs-menu-item`s is rendered below the field.",
|
|
3322
|
+
"type": {
|
|
3323
|
+
"text": "boolean"
|
|
3324
|
+
},
|
|
3325
|
+
"default": "false",
|
|
3326
|
+
"attribute": "open",
|
|
3327
|
+
"reflects": true
|
|
3328
|
+
},
|
|
3329
|
+
{
|
|
3330
|
+
"kind": "field",
|
|
3331
|
+
"name": "options",
|
|
3332
|
+
"description": "Options for `type=\"select\"` (rendered as native `<option>`s) and `type=\"dropdown\"` (rendered\nas a `bs-menu` of `bs-menu-item`s when `open`). Must be set as a JS property, not an HTML\nattribute -- see CONVENTIONS.md's non-string props rule.",
|
|
3333
|
+
"type": {
|
|
3334
|
+
"text": "{ label: string; value: string; }[]"
|
|
3335
|
+
},
|
|
3336
|
+
"default": "[]",
|
|
3337
|
+
"readonly": true
|
|
3338
|
+
},
|
|
3339
|
+
{
|
|
3340
|
+
"kind": "field",
|
|
3341
|
+
"name": "placeholder",
|
|
3342
|
+
"type": {
|
|
3343
|
+
"text": "string"
|
|
3344
|
+
},
|
|
3345
|
+
"readonly": true,
|
|
3346
|
+
"attribute": "placeholder"
|
|
3347
|
+
},
|
|
3348
|
+
{
|
|
3349
|
+
"kind": "field",
|
|
3350
|
+
"name": "required",
|
|
3351
|
+
"description": "Marks the field as required: renders a red `*` after the label and sets `aria-required=\"true\"`\non the control. Applies regardless of `type`.",
|
|
3352
|
+
"type": {
|
|
3353
|
+
"text": "boolean"
|
|
3354
|
+
},
|
|
3355
|
+
"default": "false",
|
|
3356
|
+
"readonly": true,
|
|
3357
|
+
"attribute": "required"
|
|
3358
|
+
},
|
|
3359
|
+
{
|
|
3360
|
+
"kind": "field",
|
|
3361
|
+
"name": "rows",
|
|
3362
|
+
"description": "Number of visible rows for `type=\"textarea\"`.",
|
|
3363
|
+
"type": {
|
|
3364
|
+
"text": "number"
|
|
3365
|
+
},
|
|
3366
|
+
"default": "3",
|
|
3367
|
+
"readonly": true,
|
|
3368
|
+
"attribute": "rows"
|
|
3369
|
+
},
|
|
3370
|
+
{
|
|
3371
|
+
"kind": "field",
|
|
3372
|
+
"name": "step",
|
|
3373
|
+
"description": "Step size for `type=\"number\"`'s increment/decrement stepper buttons.",
|
|
3374
|
+
"type": {
|
|
3375
|
+
"text": "number"
|
|
3376
|
+
},
|
|
3377
|
+
"default": "1",
|
|
3378
|
+
"readonly": true,
|
|
3379
|
+
"attribute": "step"
|
|
3380
|
+
},
|
|
3381
|
+
{
|
|
3382
|
+
"kind": "field",
|
|
3383
|
+
"name": "titleOptions",
|
|
3384
|
+
"description": "Title select options for `type=\"initials\"` (e.g. `['Mrs.', 'Mr.', 'Dr.']`). Must be set as a\nJS property, not an HTML attribute -- see CONVENTIONS.md's non-string props rule.",
|
|
3385
|
+
"type": {
|
|
3386
|
+
"text": "string[]"
|
|
3387
|
+
},
|
|
3388
|
+
"default": "[]",
|
|
3389
|
+
"readonly": true
|
|
3390
|
+
},
|
|
3391
|
+
{
|
|
3392
|
+
"kind": "field",
|
|
3393
|
+
"name": "type",
|
|
3394
|
+
"type": {
|
|
3395
|
+
"text": "\"chip\" | \"country\" | \"date\" | \"dropdown\" | \"email\" | \"initials\" | \"number\" | \"password\" | \"pin\" | \"search\" | \"select\" | \"text\" | \"textarea\""
|
|
3396
|
+
},
|
|
3397
|
+
"default": "'text'",
|
|
3398
|
+
"readonly": true,
|
|
3399
|
+
"attribute": "type"
|
|
3400
|
+
},
|
|
3401
|
+
{
|
|
3402
|
+
"kind": "field",
|
|
3403
|
+
"name": "value",
|
|
3404
|
+
"description": "Current value. Native `input`/`change` events don't cross the Shadow DOM boundary, so this\ncomponent re-dispatches them as `bsInput`/`bsChange` custom events instead. Mutable so the\n`number` type's stepper buttons can update it directly.",
|
|
3405
|
+
"type": {
|
|
3406
|
+
"text": "string"
|
|
3407
|
+
},
|
|
3408
|
+
"default": "''",
|
|
3409
|
+
"attribute": "value"
|
|
3410
|
+
}
|
|
3411
|
+
],
|
|
3412
|
+
"events": [
|
|
3413
|
+
{
|
|
3414
|
+
"name": "bsChange",
|
|
3415
|
+
"type": {
|
|
3416
|
+
"text": "CustomEvent<string>"
|
|
3417
|
+
}
|
|
3418
|
+
},
|
|
3419
|
+
{
|
|
3420
|
+
"name": "bsChipAdd",
|
|
3421
|
+
"description": "Emitted when a chip is committed (Enter pressed in the draft input) for `type=\"chip\"`.",
|
|
3422
|
+
"type": {
|
|
3423
|
+
"text": "CustomEvent<string>"
|
|
3424
|
+
}
|
|
3425
|
+
},
|
|
3426
|
+
{
|
|
3427
|
+
"name": "bsChipRemove",
|
|
3428
|
+
"description": "Emitted when a chip's remove button is clicked for `type=\"chip\"`.",
|
|
3429
|
+
"type": {
|
|
3430
|
+
"text": "CustomEvent<string>"
|
|
3431
|
+
}
|
|
3432
|
+
},
|
|
3433
|
+
{
|
|
3434
|
+
"name": "bsCountryChange",
|
|
3435
|
+
"description": "Emitted when the country `<select>` changes for `type=\"country\"`.",
|
|
3436
|
+
"type": {
|
|
3437
|
+
"text": "CustomEvent<string>"
|
|
3438
|
+
}
|
|
3439
|
+
},
|
|
3440
|
+
{
|
|
3441
|
+
"name": "bsInput",
|
|
3442
|
+
"type": {
|
|
3443
|
+
"text": "CustomEvent<string>"
|
|
3444
|
+
}
|
|
3445
|
+
},
|
|
3446
|
+
{
|
|
3447
|
+
"name": "bsOpen",
|
|
3448
|
+
"description": "Emitted when `type=\"dropdown\"`'s trigger is toggled. See `open`'s doc comment for this type's\nshell-only limitation.",
|
|
3449
|
+
"type": {
|
|
3450
|
+
"text": "CustomEvent<boolean>"
|
|
3451
|
+
}
|
|
3452
|
+
},
|
|
3453
|
+
{
|
|
3454
|
+
"name": "bsTitleChange",
|
|
3455
|
+
"description": "Emitted when the title `<select>` changes for `type=\"initials\"`.",
|
|
3456
|
+
"type": {
|
|
3457
|
+
"text": "CustomEvent<string>"
|
|
3458
|
+
}
|
|
3459
|
+
}
|
|
3460
|
+
],
|
|
3461
|
+
"slots": [
|
|
3462
|
+
{
|
|
3463
|
+
"name": "end-icon",
|
|
3464
|
+
"description": "Optional trailing icon, rendered after the native control (e.g. a chevron for a\nfield that opens a picker). Ignored when `type` is `number` (stepper buttons), `password` (show/hide\ntoggle), or `dropdown` (chevron) -- those types always render their own trailing control there.\nFor `type=\"date\"`, the slot is used if provided, otherwise a default calendar icon is shown."
|
|
3465
|
+
},
|
|
3466
|
+
{
|
|
3467
|
+
"name": "icon",
|
|
3468
|
+
"description": "Optional leading icon, rendered before the native control (e.g. a mail icon for an\nemail field). For `type=\"search\"`, the slot is used if provided, otherwise a default\nmagnifying-glass icon is shown."
|
|
3469
|
+
}
|
|
3470
|
+
],
|
|
3471
|
+
"cssParts": [
|
|
3472
|
+
{
|
|
3473
|
+
"name": "chip",
|
|
3474
|
+
"description": "A single chip pill, when `type=\"chip\"`."
|
|
3475
|
+
},
|
|
3476
|
+
{
|
|
3477
|
+
"name": "control",
|
|
3478
|
+
"description": "The native control element (`<input>`, `<select>`, or `<textarea>` depending on\n`type`). Composite types (`initials`, `country`) render this part on more than one element."
|
|
3479
|
+
},
|
|
3480
|
+
{
|
|
3481
|
+
"name": "description",
|
|
3482
|
+
"description": "The helper text element (hidden when `error` is set)."
|
|
3483
|
+
},
|
|
3484
|
+
{
|
|
3485
|
+
"name": "end-icon",
|
|
3486
|
+
"description": "The trailing icon wrapper element."
|
|
3487
|
+
},
|
|
3488
|
+
{
|
|
3489
|
+
"name": "error",
|
|
3490
|
+
"description": "The error message element."
|
|
3491
|
+
},
|
|
3492
|
+
{
|
|
3493
|
+
"name": "error-icon",
|
|
3494
|
+
"description": "The warning icon shown before the error message."
|
|
3495
|
+
},
|
|
3496
|
+
{
|
|
3497
|
+
"name": "field",
|
|
3498
|
+
"description": "The bordered field wrapper containing the icon(s) and native control(s)."
|
|
3499
|
+
},
|
|
3500
|
+
{
|
|
3501
|
+
"name": "icon",
|
|
3502
|
+
"description": "The leading icon wrapper element."
|
|
3503
|
+
},
|
|
3504
|
+
{
|
|
3505
|
+
"name": "label",
|
|
3506
|
+
"description": "The `<label>` element."
|
|
3507
|
+
},
|
|
3508
|
+
{
|
|
3509
|
+
"name": "menu",
|
|
3510
|
+
"description": "The `bs-menu` rendered below the field for `type=\"dropdown\"` when `open` and\n`options` is non-empty."
|
|
3511
|
+
},
|
|
3512
|
+
{
|
|
3513
|
+
"name": "required",
|
|
3514
|
+
"description": "The red `*` rendered after the label text when `required` is set."
|
|
3515
|
+
}
|
|
3516
|
+
],
|
|
3517
|
+
"cssProperties": [
|
|
3518
|
+
{
|
|
3519
|
+
"name": "--bs-input-chip-bg",
|
|
3520
|
+
"description": "Chip pill background for type=\"chip\". Aliased to --bs-input-bg-disabled."
|
|
3521
|
+
},
|
|
3522
|
+
{
|
|
3523
|
+
"name": "--bs-input-chip-text",
|
|
3524
|
+
"description": "Chip pill text color for type=\"chip\". Aliased to --bs-input-text."
|
|
3525
|
+
},
|
|
3526
|
+
{
|
|
3527
|
+
"name": "--bs-input-description-color",
|
|
3528
|
+
"description": "Description text color. Aliased to --bs-input-description."
|
|
3529
|
+
},
|
|
3530
|
+
{
|
|
3531
|
+
"name": "--bs-input-error-color",
|
|
3532
|
+
"description": "Error message text color. Aliased to --bs-input-error."
|
|
3533
|
+
},
|
|
3534
|
+
{
|
|
3535
|
+
"name": "--bs-input-error-icon-size",
|
|
3536
|
+
"description": "Width/height of the warning icon shown before the error message. Aliased to --bs-spacing-250."
|
|
3537
|
+
},
|
|
3538
|
+
{
|
|
3539
|
+
"name": "--bs-input-field-bg",
|
|
3540
|
+
"description": "Field background. Aliased to --bs-input-bg-default."
|
|
3541
|
+
},
|
|
3542
|
+
{
|
|
3543
|
+
"name": "--bs-input-field-bg-disabled",
|
|
3544
|
+
"description": "Field background when disabled is set. Aliased to --bs-input-bg-disabled."
|
|
3545
|
+
},
|
|
3546
|
+
{
|
|
3547
|
+
"name": "--bs-input-field-border",
|
|
3548
|
+
"description": "Field border color. Aliased to --bs-input-border-default."
|
|
3549
|
+
},
|
|
3550
|
+
{
|
|
3551
|
+
"name": "--bs-input-field-border-error",
|
|
3552
|
+
"description": "Field border color when error is set. Aliased to --bs-input-border-error."
|
|
3553
|
+
},
|
|
3554
|
+
{
|
|
3555
|
+
"name": "--bs-input-field-border-focus",
|
|
3556
|
+
"description": "Field border color when focused. Aliased to --bs-input-border-focus."
|
|
3557
|
+
},
|
|
3558
|
+
{
|
|
3559
|
+
"name": "--bs-input-field-border-hover",
|
|
3560
|
+
"description": "Field border color on hover. Aliased to --bs-input-border-hover."
|
|
3561
|
+
},
|
|
3562
|
+
{
|
|
3563
|
+
"name": "--bs-input-field-placeholder",
|
|
3564
|
+
"description": "Placeholder text color. Aliased to --bs-input-placeholder."
|
|
3565
|
+
},
|
|
3566
|
+
{
|
|
3567
|
+
"name": "--bs-input-field-text",
|
|
3568
|
+
"description": "Input text color. Aliased to --bs-input-text."
|
|
3569
|
+
},
|
|
3570
|
+
{
|
|
3571
|
+
"name": "--bs-input-gap",
|
|
3572
|
+
"description": "Gap between the icon(s) and the native input. Aliased to --bs-spacing-200."
|
|
3573
|
+
},
|
|
3574
|
+
{
|
|
3575
|
+
"name": "--bs-input-height",
|
|
3576
|
+
"description": "Height of the field. Aliased to --bs-spacing-600."
|
|
3577
|
+
},
|
|
3578
|
+
{
|
|
3579
|
+
"name": "--bs-input-icon-color",
|
|
3580
|
+
"description": "Icon color in the default state. Aliased to --bs-icon-muted."
|
|
3581
|
+
},
|
|
3582
|
+
{
|
|
3583
|
+
"name": "--bs-input-icon-color-disabled",
|
|
3584
|
+
"description": "Icon color when disabled is set. Aliased to --bs-input-icon-disabled."
|
|
3585
|
+
},
|
|
3586
|
+
{
|
|
3587
|
+
"name": "--bs-input-icon-color-error",
|
|
3588
|
+
"description": "Icon color when error is set. Aliased to --bs-input-icon-error."
|
|
3589
|
+
},
|
|
3590
|
+
{
|
|
3591
|
+
"name": "--bs-input-icon-size",
|
|
3592
|
+
"description": "Width/height of the leading/trailing icon. Aliased to --bs-spacing-300."
|
|
3593
|
+
},
|
|
3594
|
+
{
|
|
3595
|
+
"name": "--bs-input-label-color",
|
|
3596
|
+
"description": "Label text color. Aliased to --bs-input-label."
|
|
3597
|
+
},
|
|
3598
|
+
{
|
|
3599
|
+
"name": "--bs-input-padding-x",
|
|
3600
|
+
"description": "Horizontal padding inside the field. Aliased to --bs-spacing-150."
|
|
3601
|
+
},
|
|
3602
|
+
{
|
|
3603
|
+
"name": "--bs-input-padding-y",
|
|
3604
|
+
"description": "Vertical padding inside the field. Aliased to --bs-spacing-100."
|
|
3605
|
+
},
|
|
3606
|
+
{
|
|
3607
|
+
"name": "--bs-input-radius",
|
|
3608
|
+
"description": "Corner radius of the field. Aliased to --bs-border-radius-100."
|
|
3609
|
+
},
|
|
3610
|
+
{
|
|
3611
|
+
"name": "--bs-input-stack-gap",
|
|
3612
|
+
"description": "Vertical gap between the label, field, and description/error. Aliased to --bs-spacing-50."
|
|
3613
|
+
}
|
|
3614
|
+
]
|
|
3615
|
+
}
|
|
3616
|
+
],
|
|
3617
|
+
"exports": [
|
|
3618
|
+
{
|
|
3619
|
+
"kind": "js",
|
|
3620
|
+
"name": "BsInput",
|
|
3621
|
+
"declaration": {
|
|
3622
|
+
"name": "BsInput"
|
|
3623
|
+
}
|
|
3624
|
+
},
|
|
3625
|
+
{
|
|
3626
|
+
"kind": "custom-element-definition",
|
|
3627
|
+
"name": "bs-input",
|
|
3628
|
+
"declaration": {
|
|
3629
|
+
"name": "BsInput"
|
|
3630
|
+
}
|
|
3631
|
+
}
|
|
3632
|
+
]
|
|
3633
|
+
},
|
|
3634
|
+
{
|
|
3635
|
+
"kind": "javascript-module",
|
|
3636
|
+
"path": "src/components/bs-logo/bs-logo.tsx",
|
|
3637
|
+
"declarations": [
|
|
3638
|
+
{
|
|
3639
|
+
"kind": "class",
|
|
3640
|
+
"customElement": true,
|
|
3641
|
+
"tagName": "bs-logo",
|
|
3642
|
+
"name": "BsLogo",
|
|
3643
|
+
"description": "The BrandSync brand mark, as its own standalone component -- shared by `bs-navigation-header`\nand `bs-navigation-drawer`, which used to each render their own duplicated copy of this SVG\n(the drawer's collapsed state even faked an icon-only look by clipping the full wordmark asset\ndown to a narrowed box, rather than using a real icon-only asset).\n\n## When to use\n- Anywhere the BrandSync logo/icon needs to render: a navigation header, a nav drawer, etc.\n\n## When not to use\n- The Genie AI chat panel's own brand mark -- that's a different logo (`bs-chatbot-header`'s\n own inline Genie asset), not this one.\n\n`variant` mirrors Figma's \"Logo\" component set (node 10909:30421) `Device` property\n(\"Desktop\" / \"Tab and mobile\"), which was originally meant to distinguish the full lockup from\nthe icon-only mark at different responsive breakpoints -- renamed here to\n`variant: 'full' | 'mark'` since that's what it actually controls (how much of the logo\nrenders), not literally a device/breakpoint switch.\n\n`variant=\"custom\"` is not a Figma variant at all -- it's an escape hatch for a consuming app\nthat needs to show a DIFFERENT product's logo in the same slot (e.g. a white-labeled deployment,\nor a logo fetched at runtime from a service like brand.dev), via `src`/`alt`, instead of the\nbuilt-in BrandSync assets. This component deliberately does NOT fetch that image itself --\nnetwork calls, loading/error states, and caching are the consuming app's responsibility, same as\nevery other component in this library (e.g. `bs-attachment` takes `imageSrc` rather than fetching\nan image on its own). `background` has no effect on `variant=\"custom\"` -- a consumer's own image\nis already designed for whatever surface it's placed on.",
|
|
3644
|
+
"attributes": [
|
|
3645
|
+
{
|
|
3646
|
+
"name": "alt",
|
|
3647
|
+
"description": "`variant=\"custom\"` only: accessible alt text for the image -- a product logo is meaningful\ncontent (whose brand is this?), not decorative, so set this to something real (e.g. the\nproduct/company name). Falls back to `alt=\"\"` (marking the image decorative to assistive\ntech) when unset, rather than omitting the `alt` attribute entirely -- an `<img>` with no\n`alt` attribute at all is a harder accessibility failure than one explicitly marked\ndecorative, but an empty fallback is still worse than a real name, so don't rely on it.\nIgnored for `full`/`mark` (those already carry their own fixed `aria-label=\"BrandSync\"`).",
|
|
3648
|
+
"type": {
|
|
3649
|
+
"text": "string"
|
|
3650
|
+
},
|
|
3651
|
+
"default": "null",
|
|
3652
|
+
"fieldName": "alt"
|
|
3653
|
+
},
|
|
3654
|
+
{
|
|
3655
|
+
"name": "background",
|
|
3656
|
+
"description": "Which pre-built asset to use for `variant=\"full\"` -- Figma ships a genuinely separate,\ndifferently-drawn dark-background asset (every wordmark path filled solid white, and the\nicon's outer shape a single solid-white path instead of the light version's two-path\nwhite-fill-plus-border-ring), not a CSS currentColor swap of identical paths.\n\n`\"auto\"` (default) renders both assets and lets CSS pick one via\n`--bs-logo-asset-light-display`/`--bs-logo-asset-dark-display` (defined in\n`src/global/base.css`, flipped by the same `[data-theme=\"dark\"]` attribute every other\n`--bs-*` token already reacts to) -- so the logo just follows the ambient theme with no wiring\nneeded, the same way a consuming app's own dark mode already re-themes every other part of\nthis library via ordinary CSS custom property inheritance. Set `\"light\"`/`\"dark\"` explicitly\nto pin one regardless of the ambient theme -- e.g. a dark sidebar that isn't otherwise\ndark-themed.\n\nHas no effect on `variant=\"mark\"`: Figma's component set only has one real designed instance\nof the icon-only mark (`Device=\"Tab and mobile\"`, `Background=\"Default\"`) -- there's no\nseparate dark version of it, so the mark renders identically regardless of this prop.",
|
|
3657
|
+
"type": {
|
|
3658
|
+
"text": "\"auto\" | \"dark\" | \"light\"",
|
|
3659
|
+
"references": [
|
|
3660
|
+
{
|
|
3661
|
+
"name": "BsLogoBackground"
|
|
3662
|
+
}
|
|
3663
|
+
]
|
|
3664
|
+
},
|
|
3665
|
+
"default": "'auto'",
|
|
3666
|
+
"fieldName": "background"
|
|
3667
|
+
},
|
|
3668
|
+
{
|
|
3669
|
+
"name": "src",
|
|
3670
|
+
"description": "`variant=\"custom\"` only: the image URL to render (e.g. a URL your app already fetched from a\nlogo API). Ignored for `full`/`mark`.",
|
|
3671
|
+
"type": {
|
|
3672
|
+
"text": "string"
|
|
3673
|
+
},
|
|
3674
|
+
"default": "null",
|
|
3675
|
+
"fieldName": "src"
|
|
3676
|
+
},
|
|
3677
|
+
{
|
|
3678
|
+
"name": "variant",
|
|
3679
|
+
"description": "How much of the logo to render. `full` is the icon + \"EG BrandSync\" wordmark (190.977x44\nnatural size); `mark` is just the icon (44x44 natural size), no wordmark; `custom` renders a\nconsumer-supplied image via `src`/`alt` instead of a built-in BrandSync asset -- see the class\ndoc above.",
|
|
3680
|
+
"type": {
|
|
3681
|
+
"text": "\"custom\" | \"full\" | \"mark\"",
|
|
3682
|
+
"references": [
|
|
3683
|
+
{
|
|
3684
|
+
"name": "BsLogoVariant"
|
|
3685
|
+
}
|
|
3686
|
+
]
|
|
3687
|
+
},
|
|
3688
|
+
"default": "'full'",
|
|
3689
|
+
"fieldName": "variant"
|
|
3690
|
+
}
|
|
3691
|
+
],
|
|
3692
|
+
"members": [
|
|
3693
|
+
{
|
|
3694
|
+
"kind": "field",
|
|
3695
|
+
"name": "alt",
|
|
3696
|
+
"description": "`variant=\"custom\"` only: accessible alt text for the image -- a product logo is meaningful\ncontent (whose brand is this?), not decorative, so set this to something real (e.g. the\nproduct/company name). Falls back to `alt=\"\"` (marking the image decorative to assistive\ntech) when unset, rather than omitting the `alt` attribute entirely -- an `<img>` with no\n`alt` attribute at all is a harder accessibility failure than one explicitly marked\ndecorative, but an empty fallback is still worse than a real name, so don't rely on it.\nIgnored for `full`/`mark` (those already carry their own fixed `aria-label=\"BrandSync\"`).",
|
|
3697
|
+
"type": {
|
|
3698
|
+
"text": "string"
|
|
3699
|
+
},
|
|
3700
|
+
"default": "null",
|
|
3701
|
+
"readonly": true,
|
|
3702
|
+
"attribute": "alt"
|
|
3703
|
+
},
|
|
3704
|
+
{
|
|
3705
|
+
"kind": "field",
|
|
3706
|
+
"name": "background",
|
|
3707
|
+
"description": "Which pre-built asset to use for `variant=\"full\"` -- Figma ships a genuinely separate,\ndifferently-drawn dark-background asset (every wordmark path filled solid white, and the\nicon's outer shape a single solid-white path instead of the light version's two-path\nwhite-fill-plus-border-ring), not a CSS currentColor swap of identical paths.\n\n`\"auto\"` (default) renders both assets and lets CSS pick one via\n`--bs-logo-asset-light-display`/`--bs-logo-asset-dark-display` (defined in\n`src/global/base.css`, flipped by the same `[data-theme=\"dark\"]` attribute every other\n`--bs-*` token already reacts to) -- so the logo just follows the ambient theme with no wiring\nneeded, the same way a consuming app's own dark mode already re-themes every other part of\nthis library via ordinary CSS custom property inheritance. Set `\"light\"`/`\"dark\"` explicitly\nto pin one regardless of the ambient theme -- e.g. a dark sidebar that isn't otherwise\ndark-themed.\n\nHas no effect on `variant=\"mark\"`: Figma's component set only has one real designed instance\nof the icon-only mark (`Device=\"Tab and mobile\"`, `Background=\"Default\"`) -- there's no\nseparate dark version of it, so the mark renders identically regardless of this prop.",
|
|
3708
|
+
"type": {
|
|
3709
|
+
"text": "\"auto\" | \"dark\" | \"light\"",
|
|
3710
|
+
"references": [
|
|
3711
|
+
{
|
|
3712
|
+
"name": "BsLogoBackground"
|
|
3713
|
+
}
|
|
3714
|
+
]
|
|
3715
|
+
},
|
|
3716
|
+
"default": "'auto'",
|
|
3717
|
+
"readonly": true,
|
|
3718
|
+
"attribute": "background"
|
|
3719
|
+
},
|
|
3720
|
+
{
|
|
3721
|
+
"kind": "field",
|
|
3722
|
+
"name": "src",
|
|
3723
|
+
"description": "`variant=\"custom\"` only: the image URL to render (e.g. a URL your app already fetched from a\nlogo API). Ignored for `full`/`mark`.",
|
|
3724
|
+
"type": {
|
|
3725
|
+
"text": "string"
|
|
3726
|
+
},
|
|
3727
|
+
"default": "null",
|
|
3728
|
+
"readonly": true,
|
|
3729
|
+
"attribute": "src"
|
|
3730
|
+
},
|
|
3731
|
+
{
|
|
3732
|
+
"kind": "field",
|
|
3733
|
+
"name": "variant",
|
|
3734
|
+
"description": "How much of the logo to render. `full` is the icon + \"EG BrandSync\" wordmark (190.977x44\nnatural size); `mark` is just the icon (44x44 natural size), no wordmark; `custom` renders a\nconsumer-supplied image via `src`/`alt` instead of a built-in BrandSync asset -- see the class\ndoc above.",
|
|
3735
|
+
"type": {
|
|
3736
|
+
"text": "\"custom\" | \"full\" | \"mark\"",
|
|
3737
|
+
"references": [
|
|
3738
|
+
{
|
|
3739
|
+
"name": "BsLogoVariant"
|
|
3740
|
+
}
|
|
3741
|
+
]
|
|
3742
|
+
},
|
|
3743
|
+
"default": "'full'",
|
|
3744
|
+
"readonly": true,
|
|
3745
|
+
"attribute": "variant"
|
|
3746
|
+
}
|
|
3747
|
+
],
|
|
3748
|
+
"cssParts": [
|
|
3749
|
+
{
|
|
3750
|
+
"name": "logo",
|
|
3751
|
+
"description": "The rendered SVG/image's wrapper."
|
|
3752
|
+
}
|
|
3753
|
+
],
|
|
3754
|
+
"cssProperties": [
|
|
3755
|
+
{
|
|
3756
|
+
"name": "--bs-logo-asset-dark-display",
|
|
3757
|
+
"description": "The background=\"auto\" counterpart to --bs-logo-asset-light-display above -- see that entry."
|
|
3758
|
+
},
|
|
3759
|
+
{
|
|
3760
|
+
"name": "--bs-logo-asset-light-display",
|
|
3761
|
+
"description": "Only read when background=\"auto\" (the default). Defined in src/global/base.css, not here -- that's this library's own bridge from the ambient [data-theme=\"dark\"] attribute to which full-wordmark asset shows, not a per-component override point most consumers need to touch directly."
|
|
3762
|
+
},
|
|
3763
|
+
{
|
|
3764
|
+
"name": "--bs-logo-height-custom",
|
|
3765
|
+
"description": "Height of the rendered image when variant=\"custom\". Width is `auto` (not a fixed custom property) so a consumer's own logo keeps its natural aspect ratio -- only the height is constrained, matching `full`/`mark`'s shared 44px height. Defaults to 44px."
|
|
3766
|
+
},
|
|
3767
|
+
{
|
|
3768
|
+
"name": "--bs-logo-height-full",
|
|
3769
|
+
"description": "Height of the rendered logo when variant=\"full\". 44px."
|
|
3770
|
+
},
|
|
3771
|
+
{
|
|
3772
|
+
"name": "--bs-logo-height-mark",
|
|
3773
|
+
"description": "Height of the rendered logo when variant=\"mark\". 44px."
|
|
3774
|
+
},
|
|
3775
|
+
{
|
|
3776
|
+
"name": "--bs-logo-width-full",
|
|
3777
|
+
"description": "Width of the rendered logo when variant=\"full\". 190.977px -- the light asset's natural width after its icon-to-wordmark gap was tightened from Figma's own exported spacing (see brandsync-logo-full-light.ts) -- a literal size, not a brandsync-tokens alias, since this is a fixed asset's natural dimensions rather than a themeable design token."
|
|
3778
|
+
},
|
|
3779
|
+
{
|
|
3780
|
+
"name": "--bs-logo-width-mark",
|
|
3781
|
+
"description": "Width of the rendered logo when variant=\"mark\". 44px."
|
|
3782
|
+
}
|
|
3783
|
+
]
|
|
3784
|
+
}
|
|
3785
|
+
],
|
|
3786
|
+
"exports": [
|
|
3787
|
+
{
|
|
3788
|
+
"kind": "js",
|
|
3789
|
+
"name": "BsLogo",
|
|
3790
|
+
"declaration": {
|
|
3791
|
+
"name": "BsLogo"
|
|
3792
|
+
}
|
|
3793
|
+
},
|
|
3794
|
+
{
|
|
3795
|
+
"kind": "custom-element-definition",
|
|
3796
|
+
"name": "bs-logo",
|
|
3797
|
+
"declaration": {
|
|
3798
|
+
"name": "BsLogo"
|
|
3799
|
+
}
|
|
3800
|
+
}
|
|
3801
|
+
]
|
|
3802
|
+
},
|
|
3803
|
+
{
|
|
3804
|
+
"kind": "javascript-module",
|
|
3805
|
+
"path": "src/components/bs-menu/bs-menu.tsx",
|
|
3806
|
+
"declarations": [
|
|
3807
|
+
{
|
|
3808
|
+
"kind": "class",
|
|
3809
|
+
"customElement": true,
|
|
3810
|
+
"tagName": "bs-menu",
|
|
3811
|
+
"name": "BsMenu",
|
|
3812
|
+
"description": "A generic dropdown/popup menu container: a rounded, elevated list of items (typically\n`bs-menu-item` elements).\n\n## When to use\n- A popup list of actions/options triggered by another control (e.g. a \"more options\" kebab\n button), such as `bs-chatbot-response-action`'s `menu` slot.\n\n## When not to use\n- A persistent, always-visible list of options -- this component is purpose-built as a popup\n surface (rounded corners, elevation shadow), not a plain list.",
|
|
3813
|
+
"slots": [
|
|
3814
|
+
{
|
|
3815
|
+
"name": "",
|
|
3816
|
+
"description": "Default slot: the menu's items (typically `bs-menu-item` elements, though anything can\nbe slotted in -- this component doesn't restrict slot content via JS)."
|
|
3817
|
+
}
|
|
3818
|
+
],
|
|
3819
|
+
"cssParts": [
|
|
3820
|
+
{
|
|
3821
|
+
"name": "list",
|
|
3822
|
+
"description": "The rounded, elevated box wrapping the slotted items."
|
|
3823
|
+
}
|
|
3824
|
+
]
|
|
3825
|
+
}
|
|
3826
|
+
],
|
|
3827
|
+
"exports": [
|
|
3828
|
+
{
|
|
3829
|
+
"kind": "js",
|
|
3830
|
+
"name": "BsMenu",
|
|
3831
|
+
"declaration": {
|
|
3832
|
+
"name": "BsMenu"
|
|
3833
|
+
}
|
|
3834
|
+
},
|
|
3835
|
+
{
|
|
3836
|
+
"kind": "custom-element-definition",
|
|
3837
|
+
"name": "bs-menu",
|
|
3838
|
+
"declaration": {
|
|
3839
|
+
"name": "BsMenu"
|
|
3840
|
+
}
|
|
3841
|
+
}
|
|
3842
|
+
]
|
|
3843
|
+
},
|
|
3844
|
+
{
|
|
3845
|
+
"kind": "javascript-module",
|
|
3846
|
+
"path": "src/components/bs-menu-item/bs-menu-item.tsx",
|
|
3847
|
+
"declarations": [
|
|
3848
|
+
{
|
|
3849
|
+
"kind": "class",
|
|
3850
|
+
"customElement": true,
|
|
3851
|
+
"tagName": "bs-menu-item",
|
|
3852
|
+
"name": "BsMenuItem",
|
|
3853
|
+
"description": "A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a\nreal `<button>` for correct keyboard/click semantics.\n\n## When to use\n- As a child of `bs-menu`, one per selectable action/option.\n\n## When not to use\n- Outside of `bs-menu` -- this component's sizing/hover treatment is designed to sit inside the\n menu's rounded, padded list box.",
|
|
3854
|
+
"attributes": [
|
|
3855
|
+
{
|
|
3856
|
+
"name": "disabled",
|
|
3857
|
+
"description": "Disables the item: no hover/pressed/focus styling, no pointer cursor, not reachable by\nkeyboard tabbing, and clicking it does not emit `bsSelect`.",
|
|
3858
|
+
"type": {
|
|
3859
|
+
"text": "boolean"
|
|
3860
|
+
},
|
|
3861
|
+
"default": "false",
|
|
3862
|
+
"fieldName": "disabled"
|
|
3863
|
+
}
|
|
3864
|
+
],
|
|
3865
|
+
"members": [
|
|
3866
|
+
{
|
|
3867
|
+
"kind": "field",
|
|
3868
|
+
"name": "disabled",
|
|
3869
|
+
"description": "Disables the item: no hover/pressed/focus styling, no pointer cursor, not reachable by\nkeyboard tabbing, and clicking it does not emit `bsSelect`.",
|
|
3870
|
+
"type": {
|
|
3871
|
+
"text": "boolean"
|
|
3872
|
+
},
|
|
3873
|
+
"default": "false",
|
|
3874
|
+
"readonly": true,
|
|
3875
|
+
"attribute": "disabled"
|
|
3876
|
+
}
|
|
3877
|
+
],
|
|
3878
|
+
"events": [
|
|
3879
|
+
{
|
|
3880
|
+
"name": "bsSelect",
|
|
3881
|
+
"description": "Fires when the item is clicked.",
|
|
3882
|
+
"type": {
|
|
3883
|
+
"text": "CustomEvent<void>"
|
|
3884
|
+
}
|
|
3885
|
+
}
|
|
3886
|
+
],
|
|
3887
|
+
"slots": [
|
|
3888
|
+
{
|
|
3889
|
+
"name": "",
|
|
3890
|
+
"description": "Default slot: the item's text label."
|
|
3891
|
+
},
|
|
3892
|
+
{
|
|
3893
|
+
"name": "icon",
|
|
3894
|
+
"description": "Optional leading icon (24x24). When left empty, no icon space is reserved."
|
|
3895
|
+
}
|
|
3896
|
+
],
|
|
3897
|
+
"cssParts": [
|
|
3898
|
+
{
|
|
3899
|
+
"name": "icon",
|
|
3900
|
+
"description": "The icon wrapper."
|
|
3901
|
+
},
|
|
3902
|
+
{
|
|
3903
|
+
"name": "item",
|
|
3904
|
+
"description": "The button element."
|
|
3905
|
+
},
|
|
3906
|
+
{
|
|
3907
|
+
"name": "label",
|
|
3908
|
+
"description": "The label wrapper."
|
|
3909
|
+
}
|
|
3910
|
+
]
|
|
3911
|
+
}
|
|
3912
|
+
],
|
|
3913
|
+
"exports": [
|
|
3914
|
+
{
|
|
3915
|
+
"kind": "js",
|
|
3916
|
+
"name": "BsMenuItem",
|
|
3917
|
+
"declaration": {
|
|
3918
|
+
"name": "BsMenuItem"
|
|
3919
|
+
}
|
|
3920
|
+
},
|
|
3921
|
+
{
|
|
3922
|
+
"kind": "custom-element-definition",
|
|
3923
|
+
"name": "bs-menu-item",
|
|
3924
|
+
"declaration": {
|
|
3925
|
+
"name": "BsMenuItem"
|
|
3926
|
+
}
|
|
3927
|
+
}
|
|
3928
|
+
]
|
|
3929
|
+
},
|
|
3930
|
+
{
|
|
3931
|
+
"kind": "javascript-module",
|
|
3932
|
+
"path": "src/components/bs-modal/bs-modal.tsx",
|
|
3933
|
+
"declarations": [
|
|
3934
|
+
{
|
|
3935
|
+
"kind": "class",
|
|
3936
|
+
"customElement": true,
|
|
3937
|
+
"tagName": "bs-modal",
|
|
3938
|
+
"name": "BsModal",
|
|
3939
|
+
"description": "An overlay dialog that interrupts the current flow for a focused task or confirmation.\nCloses itself on backdrop click, Escape, or its own close button, and emits `bsClose`.\n\n## When to use\n- Confirming a consequential action (e.g. \"Confirm booking\") before it takes effect.\n- A short, focused task that doesn't warrant navigating to a new page.\n\n## When not to use\n- For non-blocking status messages — use a toast/notification instead of interrupting the user.\n- For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a\n modal that just gets taller and taller.",
|
|
3940
|
+
"attributes": [
|
|
3941
|
+
{
|
|
3942
|
+
"name": "heading",
|
|
3943
|
+
"type": {
|
|
3944
|
+
"text": "string"
|
|
3945
|
+
},
|
|
3946
|
+
"fieldName": "heading"
|
|
3947
|
+
},
|
|
3948
|
+
{
|
|
3949
|
+
"name": "open",
|
|
3950
|
+
"description": "Mutable + reflected so the component can close itself (backdrop click, Escape, close button)\nthe same way a native `<dialog>` does, while still emitting `bsClose` for the consumer to react to.",
|
|
3951
|
+
"type": {
|
|
3952
|
+
"text": "boolean"
|
|
3953
|
+
},
|
|
3954
|
+
"default": "false",
|
|
3955
|
+
"fieldName": "open"
|
|
3956
|
+
},
|
|
3957
|
+
{
|
|
3958
|
+
"name": "size",
|
|
3959
|
+
"type": {
|
|
3960
|
+
"text": "\"lg\" | \"md\" | \"sm\"",
|
|
3961
|
+
"references": [
|
|
3962
|
+
{
|
|
3963
|
+
"name": "BsModalSize"
|
|
3964
|
+
}
|
|
3965
|
+
]
|
|
3966
|
+
},
|
|
3967
|
+
"default": "'md'",
|
|
3968
|
+
"fieldName": "size"
|
|
3969
|
+
}
|
|
3970
|
+
],
|
|
3971
|
+
"members": [
|
|
3972
|
+
{
|
|
3973
|
+
"kind": "field",
|
|
3974
|
+
"name": "heading",
|
|
3975
|
+
"type": {
|
|
3976
|
+
"text": "string"
|
|
3977
|
+
},
|
|
3978
|
+
"readonly": true,
|
|
3979
|
+
"attribute": "heading"
|
|
3980
|
+
},
|
|
3981
|
+
{
|
|
3982
|
+
"kind": "field",
|
|
3983
|
+
"name": "open",
|
|
3984
|
+
"description": "Mutable + reflected so the component can close itself (backdrop click, Escape, close button)\nthe same way a native `<dialog>` does, while still emitting `bsClose` for the consumer to react to.",
|
|
3985
|
+
"type": {
|
|
3986
|
+
"text": "boolean"
|
|
3987
|
+
},
|
|
3988
|
+
"default": "false",
|
|
3989
|
+
"attribute": "open",
|
|
3990
|
+
"reflects": true
|
|
3991
|
+
},
|
|
3992
|
+
{
|
|
3993
|
+
"kind": "field",
|
|
3994
|
+
"name": "size",
|
|
3995
|
+
"type": {
|
|
3996
|
+
"text": "\"lg\" | \"md\" | \"sm\"",
|
|
3997
|
+
"references": [
|
|
3998
|
+
{
|
|
3999
|
+
"name": "BsModalSize"
|
|
4000
|
+
}
|
|
4001
|
+
]
|
|
4002
|
+
},
|
|
4003
|
+
"default": "'md'",
|
|
4004
|
+
"readonly": true,
|
|
4005
|
+
"attribute": "size"
|
|
4006
|
+
}
|
|
4007
|
+
],
|
|
4008
|
+
"events": [
|
|
4009
|
+
{
|
|
4010
|
+
"name": "bsClose",
|
|
4011
|
+
"type": {
|
|
4012
|
+
"text": "CustomEvent<void>"
|
|
4013
|
+
}
|
|
4014
|
+
}
|
|
4015
|
+
],
|
|
4016
|
+
"slots": [
|
|
4017
|
+
{
|
|
4018
|
+
"name": "",
|
|
4019
|
+
"description": "Default slot: the dialog body content."
|
|
4020
|
+
},
|
|
4021
|
+
{
|
|
4022
|
+
"name": "footer",
|
|
4023
|
+
"description": "Optional footer content (typically action buttons)."
|
|
4024
|
+
}
|
|
4025
|
+
],
|
|
4026
|
+
"cssParts": [
|
|
4027
|
+
{
|
|
4028
|
+
"name": "backdrop",
|
|
4029
|
+
"description": "The full-viewport overlay behind the dialog."
|
|
4030
|
+
},
|
|
4031
|
+
{
|
|
4032
|
+
"name": "body",
|
|
4033
|
+
"description": "The body content wrapper."
|
|
4034
|
+
},
|
|
4035
|
+
{
|
|
4036
|
+
"name": "close",
|
|
4037
|
+
"description": "The close button."
|
|
4038
|
+
},
|
|
4039
|
+
{
|
|
4040
|
+
"name": "dialog",
|
|
4041
|
+
"description": "The dialog box itself."
|
|
4042
|
+
},
|
|
4043
|
+
{
|
|
4044
|
+
"name": "footer",
|
|
4045
|
+
"description": "The footer wrapper (only visible when the footer slot has content)."
|
|
4046
|
+
},
|
|
4047
|
+
{
|
|
4048
|
+
"name": "header",
|
|
4049
|
+
"description": "The header row (heading + close button)."
|
|
4050
|
+
}
|
|
4051
|
+
]
|
|
4052
|
+
}
|
|
4053
|
+
],
|
|
4054
|
+
"exports": [
|
|
4055
|
+
{
|
|
4056
|
+
"kind": "js",
|
|
4057
|
+
"name": "BsModal",
|
|
4058
|
+
"declaration": {
|
|
4059
|
+
"name": "BsModal"
|
|
4060
|
+
}
|
|
4061
|
+
},
|
|
4062
|
+
{
|
|
4063
|
+
"kind": "custom-element-definition",
|
|
4064
|
+
"name": "bs-modal",
|
|
4065
|
+
"declaration": {
|
|
4066
|
+
"name": "BsModal"
|
|
4067
|
+
}
|
|
4068
|
+
}
|
|
4069
|
+
]
|
|
4070
|
+
},
|
|
4071
|
+
{
|
|
4072
|
+
"kind": "javascript-module",
|
|
4073
|
+
"path": "src/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.tsx",
|
|
4074
|
+
"declarations": [
|
|
4075
|
+
{
|
|
4076
|
+
"kind": "class",
|
|
4077
|
+
"customElement": true,
|
|
4078
|
+
"tagName": "bs-navigation-drawer",
|
|
4079
|
+
"name": "BsNavigationDrawer",
|
|
4080
|
+
"description": "A left-side persistent navigation sidebar: the BrandSync logo, a \"Main Menu\" title with a\ncollapse toggle, a reserved slot for a search field, and a scrollable list of nav items.\n\n## When to use\n- The primary in-app navigation, shown alongside `bs-navigation-header` (typically that\n header's `with-navigation-drawer` alignment, which omits its own logo since this component\n already renders one).\n\n## When not to use\n- The top navigation bar itself -- use `bs-navigation-header` instead.\n\nThis component renders a real `<nav>` landmark (no explicit `role` needed -- `<nav>` already\ncarries the implicit `navigation` role), labeled via `aria-label={heading}` so the landmark\nstill has a name even when collapsed (see below).\n\n`collapsed` narrows the drawer to a 96px icon-only rail, per Figma node 8028:135374\n(\"Type=Collapsed\"): the title text disappears, the logo swaps from the full \"EG BrandSync\"\nwordmark (`bs-logo variant=\"full\"`) to the real icon-only mark (`bs-logo variant=\"mark\"` -- a\nsecond, properly-designed asset, not a CSS crop of the full one) via CSS visibility toggling on\nboth, the same `:host([collapsed])` attribute-selector pattern already used for the\n`search`/`search-trigger` swap below, the `search` slot is replaced by a compact built-in\nsearch-trigger button (this component can't meaningfully shrink arbitrary slotted search-field\ncontent down to icon size itself, so it emits `bsSearchClick` instead -- e.g. to open a full\nsearch overlay), and every top-level\n`bs-navigation-drawer-item`'s layout switches from icon-beside-label to icon-above-caption.\nThat last part is real prop propagation, not a CSS trick: this component keeps each direct-child\nitem's own `collapsed` prop in sync with its own (see `syncItemsCollapsed` below), the same\ndirect-children-prop-sync approach `bs-tabs` already uses for coordinating `selected` across its\n`bs-tab` children. Clicking the toggle self-toggles `collapsed` (simple local UI state, not\nsomething needing cross-component coordination -- closer to `bs-switch`'s self-toggling\n`checked` than `bs-tab`'s non-self-toggling `selected`) and emits `bsCollapse` with the new\nvalue. The toggle's own caret icon does NOT rotate when collapsed -- Figma's collapsed mock\nreuses the identical left-pointing \"CaretLeft\" asset unchanged, confirmed by directly inspecting\nthat state, so this deliberately does not add the same \"flip on toggle\" idiom the drawer item's\nown disclosure chevron does (that one really is an unconfirmed addition; this one was checked).",
|
|
4081
|
+
"attributes": [
|
|
4082
|
+
{
|
|
4083
|
+
"name": "collapsed",
|
|
4084
|
+
"description": "Narrows the drawer to a 96px icon-only rail (Figma node 8028:135374). Mutable and reflected\n-- clicking the collapse toggle toggles this directly (self-toggling, see the class doc above\nfor why), and this component keeps every direct-child `bs-navigation-drawer-item`'s own\n`collapsed` prop synced to match (see `syncItemsCollapsed`).",
|
|
4085
|
+
"type": {
|
|
4086
|
+
"text": "boolean"
|
|
4087
|
+
},
|
|
4088
|
+
"default": "false",
|
|
4089
|
+
"fieldName": "collapsed"
|
|
4090
|
+
},
|
|
4091
|
+
{
|
|
4092
|
+
"name": "collapsible",
|
|
4093
|
+
"description": "Whether this drawer can be collapsed at all. `false` renders no collapse toggle/chevron --\na \"fixed\" side nav (Carbon's terminology: a `Fixed Side Nav` never collapses, as opposed to a\nrail-capable one) that's always fully expanded. `collapsed` is ignored while this is `false`.",
|
|
4094
|
+
"type": {
|
|
4095
|
+
"text": "boolean"
|
|
4096
|
+
},
|
|
4097
|
+
"default": "true",
|
|
4098
|
+
"fieldName": "collapsible"
|
|
4099
|
+
},
|
|
4100
|
+
{
|
|
4101
|
+
"name": "heading",
|
|
4102
|
+
"description": "Heading text shown next to the collapse toggle, and used as the `<nav>` landmark's\n`aria-label` (so the landmark keeps a name even when `collapsed` hides the visible text).",
|
|
4103
|
+
"type": {
|
|
4104
|
+
"text": "string"
|
|
4105
|
+
},
|
|
4106
|
+
"default": "'Main Menu'",
|
|
4107
|
+
"fieldName": "heading"
|
|
4108
|
+
},
|
|
4109
|
+
{
|
|
4110
|
+
"name": "logo-background",
|
|
4111
|
+
"description": "Forwarded straight to both internal `bs-logo` elements' own `background` prop. Defaults to\n`\"auto\"`, which follows the ambient `[data-theme=\"dark\"]` state automatically (see `bs-logo`'s\nown docs) -- so if this drawer ends up on a dark surface via the normal theming mechanism, the\nlogo switches to its dedicated dark-background asset with no wiring needed. Set\n`\"light\"`/`\"dark\"` explicitly only if you've overridden `--bs-navigation-drawer-bg` to\nsomething dark yourself *without* setting `[data-theme=\"dark\"]`, and need to pin the logo\nregardless of theme. Has no visible effect on the `variant=\"mark\"` logo shown while\n`collapsed` (see `bs-logo`'s own docs -- there's only one real designed mark asset, it's\nbackground-agnostic).",
|
|
4112
|
+
"type": {
|
|
4113
|
+
"text": "\"auto\" | \"dark\" | \"light\""
|
|
4114
|
+
},
|
|
4115
|
+
"default": "'auto'",
|
|
4116
|
+
"fieldName": "logoBackground"
|
|
4117
|
+
}
|
|
4118
|
+
],
|
|
4119
|
+
"members": [
|
|
4120
|
+
{
|
|
4121
|
+
"kind": "field",
|
|
4122
|
+
"name": "collapsed",
|
|
4123
|
+
"description": "Narrows the drawer to a 96px icon-only rail (Figma node 8028:135374). Mutable and reflected\n-- clicking the collapse toggle toggles this directly (self-toggling, see the class doc above\nfor why), and this component keeps every direct-child `bs-navigation-drawer-item`'s own\n`collapsed` prop synced to match (see `syncItemsCollapsed`).",
|
|
4124
|
+
"type": {
|
|
4125
|
+
"text": "boolean"
|
|
4126
|
+
},
|
|
4127
|
+
"default": "false",
|
|
4128
|
+
"attribute": "collapsed",
|
|
4129
|
+
"reflects": true
|
|
4130
|
+
},
|
|
4131
|
+
{
|
|
4132
|
+
"kind": "field",
|
|
4133
|
+
"name": "collapsible",
|
|
4134
|
+
"description": "Whether this drawer can be collapsed at all. `false` renders no collapse toggle/chevron --\na \"fixed\" side nav (Carbon's terminology: a `Fixed Side Nav` never collapses, as opposed to a\nrail-capable one) that's always fully expanded. `collapsed` is ignored while this is `false`.",
|
|
4135
|
+
"type": {
|
|
4136
|
+
"text": "boolean"
|
|
4137
|
+
},
|
|
4138
|
+
"default": "true",
|
|
4139
|
+
"readonly": true,
|
|
4140
|
+
"attribute": "collapsible"
|
|
4141
|
+
},
|
|
4142
|
+
{
|
|
4143
|
+
"kind": "field",
|
|
4144
|
+
"name": "heading",
|
|
4145
|
+
"description": "Heading text shown next to the collapse toggle, and used as the `<nav>` landmark's\n`aria-label` (so the landmark keeps a name even when `collapsed` hides the visible text).",
|
|
4146
|
+
"type": {
|
|
4147
|
+
"text": "string"
|
|
4148
|
+
},
|
|
4149
|
+
"default": "'Main Menu'",
|
|
4150
|
+
"readonly": true,
|
|
4151
|
+
"attribute": "heading"
|
|
4152
|
+
},
|
|
4153
|
+
{
|
|
4154
|
+
"kind": "field",
|
|
4155
|
+
"name": "logoBackground",
|
|
4156
|
+
"description": "Forwarded straight to both internal `bs-logo` elements' own `background` prop. Defaults to\n`\"auto\"`, which follows the ambient `[data-theme=\"dark\"]` state automatically (see `bs-logo`'s\nown docs) -- so if this drawer ends up on a dark surface via the normal theming mechanism, the\nlogo switches to its dedicated dark-background asset with no wiring needed. Set\n`\"light\"`/`\"dark\"` explicitly only if you've overridden `--bs-navigation-drawer-bg` to\nsomething dark yourself *without* setting `[data-theme=\"dark\"]`, and need to pin the logo\nregardless of theme. Has no visible effect on the `variant=\"mark\"` logo shown while\n`collapsed` (see `bs-logo`'s own docs -- there's only one real designed mark asset, it's\nbackground-agnostic).",
|
|
4157
|
+
"type": {
|
|
4158
|
+
"text": "\"auto\" | \"dark\" | \"light\""
|
|
4159
|
+
},
|
|
4160
|
+
"default": "'auto'",
|
|
4161
|
+
"readonly": true,
|
|
4162
|
+
"attribute": "logo-background"
|
|
4163
|
+
}
|
|
4164
|
+
],
|
|
4165
|
+
"events": [
|
|
4166
|
+
{
|
|
4167
|
+
"name": "bsCollapse",
|
|
4168
|
+
"description": "Fires with the new `collapsed` value when the collapse toggle button is clicked.",
|
|
4169
|
+
"type": {
|
|
4170
|
+
"text": "CustomEvent<boolean>"
|
|
4171
|
+
}
|
|
4172
|
+
},
|
|
4173
|
+
{
|
|
4174
|
+
"name": "bsSearchClick",
|
|
4175
|
+
"description": "Fires when the compact search-trigger button (shown instead of the `search` slot while\n`collapsed`) is clicked -- e.g. to open a full search overlay. This component has no\nvisibility into what the `search` slot actually contains, so it can't drive a real search\nitself once shrunk to icon size.",
|
|
4176
|
+
"type": {
|
|
4177
|
+
"text": "CustomEvent<void>"
|
|
4178
|
+
}
|
|
4179
|
+
}
|
|
4180
|
+
],
|
|
4181
|
+
"slots": [
|
|
4182
|
+
{
|
|
4183
|
+
"name": "",
|
|
4184
|
+
"description": "Default slot: the scrollable list of nav items, typically one or more\n`bs-navigation-drawer-item` elements."
|
|
4185
|
+
},
|
|
4186
|
+
{
|
|
4187
|
+
"name": "search",
|
|
4188
|
+
"description": "Reserved for a search field, e.g. a `bs-input type=\"search\"`. This component\ndoes not build one itself. Hidden while `collapsed` (see above)."
|
|
4189
|
+
}
|
|
4190
|
+
],
|
|
4191
|
+
"cssParts": [
|
|
4192
|
+
{
|
|
4193
|
+
"name": "collapse",
|
|
4194
|
+
"description": "The collapse toggle button."
|
|
4195
|
+
},
|
|
4196
|
+
{
|
|
4197
|
+
"name": "items",
|
|
4198
|
+
"description": "The wrapper around the default (items) slot."
|
|
4199
|
+
},
|
|
4200
|
+
{
|
|
4201
|
+
"name": "logo",
|
|
4202
|
+
"description": "The wrapper around the BrandSync brand mark. Two of these exist in the shadow DOM\nat once (one wrapping a `bs-logo variant=\"full\"`, one wrapping a `bs-logo variant=\"mark\"`),\nboth carrying this same part name (the same \"multiple elements, one shared part name\"\napproach `bs-attachment`'s `star` part uses) -- only one is visible at a time, toggled by\nplain CSS on `collapsed` (see above), so `::part(logo)` always reaches whichever is showing."
|
|
4203
|
+
},
|
|
4204
|
+
{
|
|
4205
|
+
"name": "search",
|
|
4206
|
+
"description": "The wrapper around the `search` slot."
|
|
4207
|
+
},
|
|
4208
|
+
{
|
|
4209
|
+
"name": "search-trigger",
|
|
4210
|
+
"description": "The compact search button shown instead of the `search` slot while `collapsed`."
|
|
4211
|
+
},
|
|
4212
|
+
{
|
|
4213
|
+
"name": "title",
|
|
4214
|
+
"description": "The \"Main Menu\" heading text wrapper."
|
|
4215
|
+
}
|
|
4216
|
+
],
|
|
4217
|
+
"cssProperties": [
|
|
4218
|
+
{
|
|
4219
|
+
"name": "--bs-navigation-drawer-bg",
|
|
4220
|
+
"description": "Background of the drawer. Aliased to --bs-surface-base."
|
|
4221
|
+
},
|
|
4222
|
+
{
|
|
4223
|
+
"name": "--bs-navigation-drawer-border",
|
|
4224
|
+
"description": "Right border color. Aliased to --bs-border-neutral-container."
|
|
4225
|
+
},
|
|
4226
|
+
{
|
|
4227
|
+
"name": "--bs-navigation-drawer-collapse-hover",
|
|
4228
|
+
"description": "Collapse toggle background on hover. Aliased to --bs-color-neutral-container."
|
|
4229
|
+
},
|
|
4230
|
+
{
|
|
4231
|
+
"name": "--bs-navigation-drawer-collapse-icon",
|
|
4232
|
+
"description": "Collapse toggle icon color. Aliased to --bs-icon-default."
|
|
4233
|
+
},
|
|
4234
|
+
{
|
|
4235
|
+
"name": "--bs-navigation-drawer-collapse-pressed",
|
|
4236
|
+
"description": "Collapse toggle background when pressed. Aliased to --bs-color-neutral-container-pressed."
|
|
4237
|
+
},
|
|
4238
|
+
{
|
|
4239
|
+
"name": "--bs-navigation-drawer-collapse-radius",
|
|
4240
|
+
"description": "Corner radius of the collapse toggle button. Aliased to --bs-border-radius-100."
|
|
4241
|
+
},
|
|
4242
|
+
{
|
|
4243
|
+
"name": "--bs-navigation-drawer-collapse-size",
|
|
4244
|
+
"description": "Width/height of the collapse toggle button. 48px."
|
|
4245
|
+
},
|
|
4246
|
+
{
|
|
4247
|
+
"name": "--bs-navigation-drawer-collapsed-width",
|
|
4248
|
+
"description": "Width of the drawer when `collapsed`. 96px, per Figma node 8028:135374's own frame (\"Type=Collapsed\")."
|
|
4249
|
+
},
|
|
4250
|
+
{
|
|
4251
|
+
"name": "--bs-navigation-drawer-gap",
|
|
4252
|
+
"description": "Gap between the logo, title row, search slot, and items list. Aliased to --bs-spacing-300 (24px, matching the drawer's own top/bottom padding for an even rhythm) -- bumped up from the originally Figma-measured --bs-spacing-150 (12px) at the user's request after seeing it rendered (felt cramped in practice), not a Figma re-measurement."
|
|
4253
|
+
},
|
|
4254
|
+
{
|
|
4255
|
+
"name": "--bs-navigation-drawer-items-gap",
|
|
4256
|
+
"description": "Gap between top-level item rows in the items list. Aliased to --bs-spacing-100."
|
|
4257
|
+
},
|
|
4258
|
+
{
|
|
4259
|
+
"name": "--bs-navigation-drawer-padding-left",
|
|
4260
|
+
"description": "Left padding. Aliased to --bs-spacing-300 -- note this is deliberately different from --bs-navigation-drawer-padding-right (below), per the Figma spec. Both are ignored (set to 0) while `collapsed` -- see Figma node 8028:135374, which uses `px-0` for the collapsed rail."
|
|
4261
|
+
},
|
|
4262
|
+
{
|
|
4263
|
+
"name": "--bs-navigation-drawer-padding-right",
|
|
4264
|
+
"description": "Right padding. Aliased to --bs-spacing-200."
|
|
4265
|
+
},
|
|
4266
|
+
{
|
|
4267
|
+
"name": "--bs-navigation-drawer-padding-y",
|
|
4268
|
+
"description": "Top/bottom padding. Aliased to --bs-spacing-300."
|
|
4269
|
+
},
|
|
4270
|
+
{
|
|
4271
|
+
"name": "--bs-navigation-drawer-search-trigger-bg",
|
|
4272
|
+
"description": "Search-trigger background. Aliased to --bs-color-neutral-container (Figma's \"button/neutral-container\" tonal fill)."
|
|
4273
|
+
},
|
|
4274
|
+
{
|
|
4275
|
+
"name": "--bs-navigation-drawer-search-trigger-border",
|
|
4276
|
+
"description": "Search-trigger border color. Aliased to --bs-border-neutral-container (same border color as the drawer's own right edge)."
|
|
4277
|
+
},
|
|
4278
|
+
{
|
|
4279
|
+
"name": "--bs-navigation-drawer-search-trigger-icon",
|
|
4280
|
+
"description": "Search-trigger icon color. Aliased to --bs-icon-default."
|
|
4281
|
+
},
|
|
4282
|
+
{
|
|
4283
|
+
"name": "--bs-navigation-drawer-search-trigger-size",
|
|
4284
|
+
"description": "Width/height of the compact search-trigger button shown instead of the `search` slot while `collapsed`. 44px, per Figma."
|
|
4285
|
+
},
|
|
4286
|
+
{
|
|
4287
|
+
"name": "--bs-navigation-drawer-title-color",
|
|
4288
|
+
"description": "Title text color. Aliased to --bs-text-default."
|
|
4289
|
+
},
|
|
4290
|
+
{
|
|
4291
|
+
"name": "--bs-navigation-drawer-title-font-family",
|
|
4292
|
+
"description": "Title text font family. Aliased to --bs-typography-font-family-heading."
|
|
4293
|
+
},
|
|
4294
|
+
{
|
|
4295
|
+
"name": "--bs-navigation-drawer-title-font-size",
|
|
4296
|
+
"description": "Title text font size. The Figma spec calls this style \"heading h7\", but src/global/tokens.css only defines heading tokens through h6 (--bs-fontsize-heading-h6: 16px, --bs-line-height-heading-h6: 20) -- there is no h7 tier. h6 is the smallest/closest defined tier, so this aliases to the plain --bs-font-size-md token (also 16px, the same value as --bs-fontsize-heading-h6) rather than inventing a new h7 token. Flagged here as a judgment call, not a pixel-confirmed h7 value."
|
|
4297
|
+
},
|
|
4298
|
+
{
|
|
4299
|
+
"name": "--bs-navigation-drawer-title-font-weight",
|
|
4300
|
+
"description": "Title text font weight. Aliased to --bs-font-weight-bold."
|
|
4301
|
+
},
|
|
4302
|
+
{
|
|
4303
|
+
"name": "--bs-navigation-drawer-title-line-height",
|
|
4304
|
+
"description": "Title text line height. Aliased to --bs-line-height-heading-h6, for the same reason as the font-size prop above."
|
|
4305
|
+
},
|
|
4306
|
+
{
|
|
4307
|
+
"name": "--bs-navigation-drawer-width",
|
|
4308
|
+
"description": "Default width of the drawer. 280px, matching Figma's own frame -- overridable by a consumer that needs a different fixed width."
|
|
4309
|
+
}
|
|
4310
|
+
]
|
|
4311
|
+
}
|
|
4312
|
+
],
|
|
4313
|
+
"exports": [
|
|
4314
|
+
{
|
|
4315
|
+
"kind": "js",
|
|
4316
|
+
"name": "BsNavigationDrawer",
|
|
4317
|
+
"declaration": {
|
|
4318
|
+
"name": "BsNavigationDrawer"
|
|
4319
|
+
}
|
|
4320
|
+
},
|
|
4321
|
+
{
|
|
4322
|
+
"kind": "custom-element-definition",
|
|
4323
|
+
"name": "bs-navigation-drawer",
|
|
4324
|
+
"declaration": {
|
|
4325
|
+
"name": "BsNavigationDrawer"
|
|
4326
|
+
}
|
|
4327
|
+
}
|
|
4328
|
+
]
|
|
4329
|
+
},
|
|
4330
|
+
{
|
|
4331
|
+
"kind": "javascript-module",
|
|
4332
|
+
"path": "src/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.tsx",
|
|
4333
|
+
"declarations": [
|
|
4334
|
+
{
|
|
4335
|
+
"kind": "class",
|
|
4336
|
+
"customElement": true,
|
|
4337
|
+
"tagName": "bs-navigation-drawer-item",
|
|
4338
|
+
"name": "BsNavigationDrawerItem",
|
|
4339
|
+
"description": "A single row within a `bs-navigation-drawer`'s item list -- either a plain leaf nav item, or an\n`expandable` group header that discloses nested `bs-navigation-drawer-item` children.\n\n## When to use\n- Every row inside a `bs-navigation-drawer`'s default slot.\n\n## When not to use\n- A standalone action outside a navigation drawer -- use `bs-button`/`bs-menu-item` instead.\n\nClick behavior is mutually exclusive, based on `expandable`:\n- `expandable = false` (a plain leaf item): clicking only emits `bsSelect`. `selected` is NOT\n self-toggling -- same non-self-toggling precedent as `bs-tab`'s `selected` (see `bs-tab.tsx`'s\n class doc): coordinating which sibling row is selected needs cross-item state a\n consumer/wrapper owns, not something this component can reason about on its own.\n- `expandable = true` (a group header, never shown with a `selected` tint): clicking toggles\n `this.expanded` directly and emits `bsToggle` with the new value, and does NOT emit\n `bsSelect`. This IS self-toggling, unlike `selected` above -- it's simple local disclosure\n state with no cross-item coordination needed, closer to `bs-switch`'s self-toggling `checked`\n than `bs-tab`'s non-self-toggling `selected`.\n\nNesting: put child `<bs-navigation-drawer-item nested>` elements inside a parent\n`<bs-navigation-drawer-item expandable>` with `slot=\"children\"`. The parent shows/hides that\nslot's content based on its own `expanded` prop, via a pure-CSS attribute selector (no JS\nvisibility toggling needed, since `expanded` is reflected).\n\n`collapsed` switches this row from its normal icon-beside-label row layout to a compact\nicon-above-caption column (per Figma node 8028:135374, the drawer's \"Type=Collapsed\" state) --\nyou don't need to set this yourself on every item: a parent `bs-navigation-drawer` keeps its own\ntop-level items' `collapsed` prop in sync with its own `collapsed` state automatically (see\n`bs-navigation-drawer.tsx`'s `syncItemsCollapsed`, the same direct-children-prop-sync approach\n`bs-tabs` uses for coordinating `selected` across its own `bs-tab` children). It's still a public\nprop so a standalone item (or this component's own stories) can be demoed without the parent.",
|
|
4340
|
+
"attributes": [
|
|
4341
|
+
{
|
|
4342
|
+
"name": "aria-label",
|
|
4343
|
+
"description": "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).",
|
|
4344
|
+
"type": {
|
|
4345
|
+
"text": "string"
|
|
4346
|
+
},
|
|
4347
|
+
"default": "null",
|
|
4348
|
+
"fieldName": "ariaLabel"
|
|
4349
|
+
},
|
|
4350
|
+
{
|
|
4351
|
+
"name": "collapsed",
|
|
4352
|
+
"description": "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.",
|
|
4353
|
+
"type": {
|
|
4354
|
+
"text": "boolean"
|
|
4355
|
+
},
|
|
4356
|
+
"default": "false",
|
|
4357
|
+
"fieldName": "collapsed"
|
|
4358
|
+
},
|
|
4359
|
+
{
|
|
4360
|
+
"name": "expandable",
|
|
4361
|
+
"description": "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.",
|
|
4362
|
+
"type": {
|
|
4363
|
+
"text": "boolean"
|
|
4364
|
+
},
|
|
4365
|
+
"default": "false",
|
|
4366
|
+
"fieldName": "expandable"
|
|
4367
|
+
},
|
|
4368
|
+
{
|
|
4369
|
+
"name": "expanded",
|
|
4370
|
+
"description": "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.",
|
|
4371
|
+
"type": {
|
|
4372
|
+
"text": "boolean"
|
|
4373
|
+
},
|
|
4374
|
+
"default": "false",
|
|
4375
|
+
"fieldName": "expanded"
|
|
4376
|
+
},
|
|
4377
|
+
{
|
|
4378
|
+
"name": "nested",
|
|
4379
|
+
"description": "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).",
|
|
4380
|
+
"type": {
|
|
4381
|
+
"text": "boolean"
|
|
4382
|
+
},
|
|
4383
|
+
"default": "false",
|
|
4384
|
+
"fieldName": "nested"
|
|
4385
|
+
},
|
|
4386
|
+
{
|
|
4387
|
+
"name": "selected",
|
|
4388
|
+
"description": "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]`.",
|
|
4389
|
+
"type": {
|
|
4390
|
+
"text": "boolean"
|
|
4391
|
+
},
|
|
4392
|
+
"default": "false",
|
|
4393
|
+
"fieldName": "selected"
|
|
4394
|
+
}
|
|
4395
|
+
],
|
|
4396
|
+
"members": [
|
|
4397
|
+
{
|
|
4398
|
+
"kind": "field",
|
|
4399
|
+
"name": "ariaLabel",
|
|
4400
|
+
"description": "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).",
|
|
4401
|
+
"type": {
|
|
4402
|
+
"text": "string"
|
|
4403
|
+
},
|
|
4404
|
+
"default": "null",
|
|
4405
|
+
"readonly": true,
|
|
4406
|
+
"attribute": "aria-label"
|
|
4407
|
+
},
|
|
4408
|
+
{
|
|
4409
|
+
"kind": "field",
|
|
4410
|
+
"name": "collapsed",
|
|
4411
|
+
"description": "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.",
|
|
4412
|
+
"type": {
|
|
4413
|
+
"text": "boolean"
|
|
4414
|
+
},
|
|
4415
|
+
"default": "false",
|
|
4416
|
+
"readonly": true,
|
|
4417
|
+
"attribute": "collapsed",
|
|
4418
|
+
"reflects": true
|
|
4419
|
+
},
|
|
4420
|
+
{
|
|
4421
|
+
"kind": "field",
|
|
4422
|
+
"name": "expandable",
|
|
4423
|
+
"description": "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.",
|
|
4424
|
+
"type": {
|
|
4425
|
+
"text": "boolean"
|
|
4426
|
+
},
|
|
4427
|
+
"default": "false",
|
|
4428
|
+
"readonly": true,
|
|
4429
|
+
"attribute": "expandable"
|
|
4430
|
+
},
|
|
4431
|
+
{
|
|
4432
|
+
"kind": "field",
|
|
4433
|
+
"name": "expanded",
|
|
4434
|
+
"description": "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.",
|
|
4435
|
+
"type": {
|
|
4436
|
+
"text": "boolean"
|
|
4437
|
+
},
|
|
4438
|
+
"default": "false",
|
|
4439
|
+
"attribute": "expanded",
|
|
4440
|
+
"reflects": true
|
|
4441
|
+
},
|
|
4442
|
+
{
|
|
4443
|
+
"kind": "field",
|
|
4444
|
+
"name": "nested",
|
|
4445
|
+
"description": "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).",
|
|
4446
|
+
"type": {
|
|
4447
|
+
"text": "boolean"
|
|
4448
|
+
},
|
|
4449
|
+
"default": "false",
|
|
4450
|
+
"readonly": true,
|
|
4451
|
+
"attribute": "nested"
|
|
4452
|
+
},
|
|
4453
|
+
{
|
|
4454
|
+
"kind": "field",
|
|
4455
|
+
"name": "selected",
|
|
4456
|
+
"description": "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]`.",
|
|
4457
|
+
"type": {
|
|
4458
|
+
"text": "boolean"
|
|
4459
|
+
},
|
|
4460
|
+
"default": "false",
|
|
4461
|
+
"readonly": true,
|
|
4462
|
+
"attribute": "selected",
|
|
4463
|
+
"reflects": true
|
|
4464
|
+
}
|
|
4465
|
+
],
|
|
4466
|
+
"events": [
|
|
4467
|
+
{
|
|
4468
|
+
"name": "bsSelect",
|
|
4469
|
+
"description": "Fires on click, only when `expandable` is false. See the class doc above.",
|
|
4470
|
+
"type": {
|
|
4471
|
+
"text": "CustomEvent<void>"
|
|
4472
|
+
}
|
|
4473
|
+
},
|
|
4474
|
+
{
|
|
4475
|
+
"name": "bsToggle",
|
|
4476
|
+
"description": "Fires with the new `expanded` value on click, only when `expandable` is true. See the class\ndoc above.",
|
|
4477
|
+
"type": {
|
|
4478
|
+
"text": "CustomEvent<boolean>"
|
|
4479
|
+
}
|
|
4480
|
+
}
|
|
4481
|
+
],
|
|
4482
|
+
"slots": [
|
|
4483
|
+
{
|
|
4484
|
+
"name": "",
|
|
4485
|
+
"description": "Default slot: the row's label text."
|
|
4486
|
+
},
|
|
4487
|
+
{
|
|
4488
|
+
"name": "children",
|
|
4489
|
+
"description": "`expandable` only: nested `bs-navigation-drawer-item` rows, shown/hidden based\non `expanded`."
|
|
4490
|
+
},
|
|
4491
|
+
{
|
|
4492
|
+
"name": "icon",
|
|
4493
|
+
"description": "Optional leading icon (24x24). Only rendered (and only reserves layout space) when\npopulated -- same \"only take up space if slotted\" pattern as `bs-tab`'s `icon` slot. Not\nrendered at all for `nested` rows (Figma's nested rows never have icons)."
|
|
4494
|
+
}
|
|
4495
|
+
],
|
|
4496
|
+
"cssParts": [
|
|
4497
|
+
{
|
|
4498
|
+
"name": "chevron",
|
|
4499
|
+
"description": "The trailing expand/collapse chevron wrapper (`expandable` only)."
|
|
4500
|
+
},
|
|
4501
|
+
{
|
|
4502
|
+
"name": "children",
|
|
4503
|
+
"description": "The wrapper around the `children` slot."
|
|
4504
|
+
},
|
|
4505
|
+
{
|
|
4506
|
+
"name": "icon",
|
|
4507
|
+
"description": "The icon wrapper (top-level, non-`nested` rows only)."
|
|
4508
|
+
},
|
|
4509
|
+
{
|
|
4510
|
+
"name": "item",
|
|
4511
|
+
"description": "The row's root `<button>` element."
|
|
4512
|
+
},
|
|
4513
|
+
{
|
|
4514
|
+
"name": "label",
|
|
4515
|
+
"description": "The label text wrapper."
|
|
4516
|
+
}
|
|
4517
|
+
],
|
|
4518
|
+
"cssProperties": [
|
|
4519
|
+
{
|
|
4520
|
+
"name": "--bs-navigation-drawer-item-bg-focus",
|
|
4521
|
+
"description": "Unselected row background while focused (`:focus-visible`) -- shown together with, not instead of, the focus ring below. Aliased to --bs-surface-focus, per the same Figma node (identical value to --bs-surface-hover there)."
|
|
4522
|
+
},
|
|
4523
|
+
{
|
|
4524
|
+
"name": "--bs-navigation-drawer-item-bg-hover",
|
|
4525
|
+
"description": "Unselected row background on hover. Aliased to --bs-surface-hover, per Figma node 13472:7172 (the full Enabled/Hovered/Focused/Pressed/ Disabled state matrix for this component)."
|
|
4526
|
+
},
|
|
4527
|
+
{
|
|
4528
|
+
"name": "--bs-navigation-drawer-item-bg-pressed",
|
|
4529
|
+
"description": "Unselected row background while pressed (`:active`). Aliased to --bs-surface-pressed, per the same Figma node."
|
|
4530
|
+
},
|
|
4531
|
+
{
|
|
4532
|
+
"name": "--bs-navigation-drawer-item-bg-selected",
|
|
4533
|
+
"description": "`selected` row background, resting. Aliased to --bs-surface-selected."
|
|
4534
|
+
},
|
|
4535
|
+
{
|
|
4536
|
+
"name": "--bs-navigation-drawer-item-bg-selected-focus",
|
|
4537
|
+
"description": "`selected` row background while focused. Aliased to --bs-surface-selected-focus, per the same Figma node."
|
|
4538
|
+
},
|
|
4539
|
+
{
|
|
4540
|
+
"name": "--bs-navigation-drawer-item-bg-selected-hover",
|
|
4541
|
+
"description": "`selected` row background on hover. Aliased to --bs-surface-selected-hover, per the same Figma node."
|
|
4542
|
+
},
|
|
4543
|
+
{
|
|
4544
|
+
"name": "--bs-navigation-drawer-item-bg-selected-pressed",
|
|
4545
|
+
"description": "`selected` row background while pressed. Aliased to --bs-surface-selected-pressed, per the same Figma node."
|
|
4546
|
+
},
|
|
4547
|
+
{
|
|
4548
|
+
"name": "--bs-navigation-drawer-item-children-gap",
|
|
4549
|
+
"description": "Gap between nested child rows. Aliased to --bs-spacing-100."
|
|
4550
|
+
},
|
|
4551
|
+
{
|
|
4552
|
+
"name": "--bs-navigation-drawer-item-collapsed-font-size",
|
|
4553
|
+
"description": "Caption font size when `collapsed`. Aliased to --bs-fontsize-caption-sm (12px)."
|
|
4554
|
+
},
|
|
4555
|
+
{
|
|
4556
|
+
"name": "--bs-navigation-drawer-item-collapsed-gap",
|
|
4557
|
+
"description": "Gap between the icon and caption when `collapsed`. Aliased to --bs-spacing-100."
|
|
4558
|
+
},
|
|
4559
|
+
{
|
|
4560
|
+
"name": "--bs-navigation-drawer-item-collapsed-icon-padding-x",
|
|
4561
|
+
"description": "Left/right padding of the small rounded chip behind a `collapsed` row's icon (the `selected` tint applies to just this chip, not the full column). Aliased to --bs-spacing-100."
|
|
4562
|
+
},
|
|
4563
|
+
{
|
|
4564
|
+
"name": "--bs-navigation-drawer-item-collapsed-icon-padding-y",
|
|
4565
|
+
"description": "Top/bottom padding of that chip. Aliased to --bs-spacing-50."
|
|
4566
|
+
},
|
|
4567
|
+
{
|
|
4568
|
+
"name": "--bs-navigation-drawer-item-collapsed-line-height",
|
|
4569
|
+
"description": "Caption line height when `collapsed`. Aliased to --bs-line-height-caption-sm."
|
|
4570
|
+
},
|
|
4571
|
+
{
|
|
4572
|
+
"name": "--bs-navigation-drawer-item-collapsed-padding",
|
|
4573
|
+
"description": "Padding of a `collapsed` row. Aliased to --bs-spacing-100 (8px, all sides -- Figma node 8028:135374's \"Container\")."
|
|
4574
|
+
},
|
|
4575
|
+
{
|
|
4576
|
+
"name": "--bs-navigation-drawer-item-color",
|
|
4577
|
+
"description": "Resting (unselected) text/icon color. Aliased to --bs-text-muted."
|
|
4578
|
+
},
|
|
4579
|
+
{
|
|
4580
|
+
"name": "--bs-navigation-drawer-item-color-hover",
|
|
4581
|
+
"description": "Unselected row text/icon color on hover, focus, or pressed (all three share this color in Figma, distinct from the muted resting color). Aliased to --bs-text-secondary. `selected` rows keep --bs-navigation-drawer-item-color-selected across all of these states instead -- Figma never changes a selected row's text color."
|
|
4582
|
+
},
|
|
4583
|
+
{
|
|
4584
|
+
"name": "--bs-navigation-drawer-item-color-selected",
|
|
4585
|
+
"description": "`selected` text/icon color. Aliased to --bs-text-default."
|
|
4586
|
+
},
|
|
4587
|
+
{
|
|
4588
|
+
"name": "--bs-navigation-drawer-item-focus-ring-color",
|
|
4589
|
+
"description": "Focus ring color. Aliased to --bs-border-neutral-focus."
|
|
4590
|
+
},
|
|
4591
|
+
{
|
|
4592
|
+
"name": "--bs-navigation-drawer-item-font-size",
|
|
4593
|
+
"description": "Label font size. Aliased to --bs-font-size-md."
|
|
4594
|
+
},
|
|
4595
|
+
{
|
|
4596
|
+
"name": "--bs-navigation-drawer-item-font-weight",
|
|
4597
|
+
"description": "Label font weight. Aliased to --bs-font-weight-medium."
|
|
4598
|
+
},
|
|
4599
|
+
{
|
|
4600
|
+
"name": "--bs-navigation-drawer-item-gap",
|
|
4601
|
+
"description": "Gap between the icon, label, and chevron within the row. Aliased to --bs-spacing-100."
|
|
4602
|
+
},
|
|
4603
|
+
{
|
|
4604
|
+
"name": "--bs-navigation-drawer-item-line-height",
|
|
4605
|
+
"description": "Label line height. Aliased to --bs-line-height-body-md."
|
|
4606
|
+
},
|
|
4607
|
+
{
|
|
4608
|
+
"name": "--bs-navigation-drawer-item-padding-left-nested",
|
|
4609
|
+
"description": "Left padding of a `nested` row. Aliased to --bs-spacing-600 (48px) -- deep indent under an expanded parent, replacing --bs-navigation-drawer-item-padding-x on the left side only (right padding stays the same)."
|
|
4610
|
+
},
|
|
4611
|
+
{
|
|
4612
|
+
"name": "--bs-navigation-drawer-item-padding-x",
|
|
4613
|
+
"description": "Left/right padding of a top-level (non-`nested`) row. Aliased to --bs-spacing-100 -- note this is the HORIZONTAL padding while --bs-navigation-drawer-item-padding-y (above) is VERTICAL, the reverse of this value's own relative size (12px vertical / 8px horizontal), per the Figma spec."
|
|
4614
|
+
},
|
|
4615
|
+
{
|
|
4616
|
+
"name": "--bs-navigation-drawer-item-padding-y",
|
|
4617
|
+
"description": "Top/bottom padding of the row. Aliased to --bs-spacing-150."
|
|
4618
|
+
},
|
|
4619
|
+
{
|
|
4620
|
+
"name": "--bs-navigation-drawer-item-radius",
|
|
4621
|
+
"description": "Corner radius of the row. Aliased to --bs-border-radius-100."
|
|
4622
|
+
}
|
|
4623
|
+
]
|
|
4624
|
+
}
|
|
4625
|
+
],
|
|
4626
|
+
"exports": [
|
|
4627
|
+
{
|
|
4628
|
+
"kind": "js",
|
|
4629
|
+
"name": "BsNavigationDrawerItem",
|
|
4630
|
+
"declaration": {
|
|
4631
|
+
"name": "BsNavigationDrawerItem"
|
|
4632
|
+
}
|
|
4633
|
+
},
|
|
4634
|
+
{
|
|
4635
|
+
"kind": "custom-element-definition",
|
|
4636
|
+
"name": "bs-navigation-drawer-item",
|
|
4637
|
+
"declaration": {
|
|
4638
|
+
"name": "BsNavigationDrawerItem"
|
|
4639
|
+
}
|
|
4640
|
+
}
|
|
4641
|
+
]
|
|
4642
|
+
},
|
|
4643
|
+
{
|
|
4644
|
+
"kind": "javascript-module",
|
|
4645
|
+
"path": "src/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.tsx",
|
|
4646
|
+
"declarations": [
|
|
4647
|
+
{
|
|
4648
|
+
"kind": "class",
|
|
4649
|
+
"customElement": true,
|
|
4650
|
+
"tagName": "bs-navigation-header",
|
|
4651
|
+
"name": "BsNavigationHeader",
|
|
4652
|
+
"description": "The top-level navigation bar for a page: the BrandSync logo plus two consumer-provided slots\nfor menu/action content (e.g. `bs-button`/`bs-icon-button` elements).\n\n## When to use\n- The persistent top bar of an application, above the page content.\n\n## When not to use\n- The header of a Genie AI chat panel -- use `bs-chatbot-header` instead, which is purpose-built\n for that narrower layout and its own fixed action buttons.\n\n`alignment` controls both whether the logo renders and how the two slots are laid out:\n- `default` (default): logo on the left, `left` slot content immediately after it, `right` slot\n content pushed to the far right.\n- `center`: logo and `right` slot both grow equally (`flex: 1`), which centers the `left` slot\n content in the middle of the bar.\n- `with-navigation-drawer`: no logo at all (this variant assumes a nav-drawer toggle is the\n leftmost thing on the page instead) -- `left` slot content starts at the bar's own left edge,\n `right` slot content pushed to the far right.",
|
|
4653
|
+
"attributes": [
|
|
4654
|
+
{
|
|
4655
|
+
"name": "alignment",
|
|
4656
|
+
"description": "Controls whether the logo renders and how the `left`/`right` slots are laid out -- see the\nclass doc above for the three variants' exact behavior.",
|
|
4657
|
+
"type": {
|
|
4658
|
+
"text": "\"center\" | \"default\" | \"with-navigation-drawer\"",
|
|
4659
|
+
"references": [
|
|
4660
|
+
{
|
|
4661
|
+
"name": "BsNavigationHeaderAlignment"
|
|
4662
|
+
}
|
|
4663
|
+
]
|
|
4664
|
+
},
|
|
4665
|
+
"default": "'default'",
|
|
4666
|
+
"fieldName": "alignment"
|
|
4667
|
+
},
|
|
4668
|
+
{
|
|
4669
|
+
"name": "aria-label",
|
|
4670
|
+
"description": "Accessible label for the header landmark, useful when a page has more than one `<header>`\n(e.g. this one plus a page-specific sub-header) and screen reader users need to tell them\napart in the landmarks list.",
|
|
4671
|
+
"type": {
|
|
4672
|
+
"text": "string"
|
|
4673
|
+
},
|
|
4674
|
+
"default": "null",
|
|
4675
|
+
"fieldName": "ariaLabel"
|
|
4676
|
+
},
|
|
4677
|
+
{
|
|
4678
|
+
"name": "logo-background",
|
|
4679
|
+
"description": "Forwarded straight to the internal `bs-logo`'s own `background` prop. Defaults to `\"auto\"`,\nwhich follows the ambient `[data-theme=\"dark\"]` state automatically (see `bs-logo`'s own\ndocs) -- so if this bar ends up on a dark surface via the normal theming mechanism, the logo\nswitches to its dedicated dark-background asset with no wiring needed. Set `\"light\"`/`\"dark\"`\nexplicitly only if you've overridden `--bs-navigation-header-bg` to something dark yourself\n*without* setting `[data-theme=\"dark\"]`, and need to pin the logo regardless of theme.",
|
|
4680
|
+
"type": {
|
|
4681
|
+
"text": "\"auto\" | \"dark\" | \"light\""
|
|
4682
|
+
},
|
|
4683
|
+
"default": "'auto'",
|
|
4684
|
+
"fieldName": "logoBackground"
|
|
4685
|
+
},
|
|
4686
|
+
{
|
|
4687
|
+
"name": "skip-to-content-href",
|
|
4688
|
+
"description": "Fragment/URL to jump to when the \"Skip to main content\" link is activated (e.g.\n`#main-content`, matching an id on your page's main landmark). Unset by default -- the link\nis opt-in rather than pointing at a guessed default id, since a skip link to a target that\ndoesn't exist on the consumer's page is worse than no skip link at all (it silently does\nnothing when activated). Set this to the same id your page's `<main>` (or equivalent) already\nhas to enable it.",
|
|
4689
|
+
"type": {
|
|
4690
|
+
"text": "string"
|
|
4691
|
+
},
|
|
4692
|
+
"default": "null",
|
|
4693
|
+
"fieldName": "skipToContentHref"
|
|
4694
|
+
},
|
|
4695
|
+
{
|
|
4696
|
+
"name": "skip-to-content-label",
|
|
4697
|
+
"description": "Link text for the skip-to-content link. Only rendered when `skipToContentHref` is set.",
|
|
4698
|
+
"type": {
|
|
4699
|
+
"text": "string"
|
|
4700
|
+
},
|
|
4701
|
+
"default": "'Skip to main content'",
|
|
4702
|
+
"fieldName": "skipToContentLabel"
|
|
4703
|
+
}
|
|
4704
|
+
],
|
|
4705
|
+
"members": [
|
|
4706
|
+
{
|
|
4707
|
+
"kind": "field",
|
|
4708
|
+
"name": "alignment",
|
|
4709
|
+
"description": "Controls whether the logo renders and how the `left`/`right` slots are laid out -- see the\nclass doc above for the three variants' exact behavior.",
|
|
4710
|
+
"type": {
|
|
4711
|
+
"text": "\"center\" | \"default\" | \"with-navigation-drawer\"",
|
|
4712
|
+
"references": [
|
|
4713
|
+
{
|
|
4714
|
+
"name": "BsNavigationHeaderAlignment"
|
|
4715
|
+
}
|
|
4716
|
+
]
|
|
4717
|
+
},
|
|
4718
|
+
"default": "'default'",
|
|
4719
|
+
"readonly": true,
|
|
4720
|
+
"attribute": "alignment"
|
|
4721
|
+
},
|
|
4722
|
+
{
|
|
4723
|
+
"kind": "field",
|
|
4724
|
+
"name": "ariaLabel",
|
|
4725
|
+
"description": "Accessible label for the header landmark, useful when a page has more than one `<header>`\n(e.g. this one plus a page-specific sub-header) and screen reader users need to tell them\napart in the landmarks list.",
|
|
4726
|
+
"type": {
|
|
4727
|
+
"text": "string"
|
|
4728
|
+
},
|
|
4729
|
+
"default": "null",
|
|
4730
|
+
"readonly": true,
|
|
4731
|
+
"attribute": "aria-label"
|
|
4732
|
+
},
|
|
4733
|
+
{
|
|
4734
|
+
"kind": "field",
|
|
4735
|
+
"name": "logoBackground",
|
|
4736
|
+
"description": "Forwarded straight to the internal `bs-logo`'s own `background` prop. Defaults to `\"auto\"`,\nwhich follows the ambient `[data-theme=\"dark\"]` state automatically (see `bs-logo`'s own\ndocs) -- so if this bar ends up on a dark surface via the normal theming mechanism, the logo\nswitches to its dedicated dark-background asset with no wiring needed. Set `\"light\"`/`\"dark\"`\nexplicitly only if you've overridden `--bs-navigation-header-bg` to something dark yourself\n*without* setting `[data-theme=\"dark\"]`, and need to pin the logo regardless of theme.",
|
|
4737
|
+
"type": {
|
|
4738
|
+
"text": "\"auto\" | \"dark\" | \"light\""
|
|
4739
|
+
},
|
|
4740
|
+
"default": "'auto'",
|
|
4741
|
+
"readonly": true,
|
|
4742
|
+
"attribute": "logo-background"
|
|
4743
|
+
},
|
|
4744
|
+
{
|
|
4745
|
+
"kind": "field",
|
|
4746
|
+
"name": "skipToContentHref",
|
|
4747
|
+
"description": "Fragment/URL to jump to when the \"Skip to main content\" link is activated (e.g.\n`#main-content`, matching an id on your page's main landmark). Unset by default -- the link\nis opt-in rather than pointing at a guessed default id, since a skip link to a target that\ndoesn't exist on the consumer's page is worse than no skip link at all (it silently does\nnothing when activated). Set this to the same id your page's `<main>` (or equivalent) already\nhas to enable it.",
|
|
4748
|
+
"type": {
|
|
4749
|
+
"text": "string"
|
|
4750
|
+
},
|
|
4751
|
+
"default": "null",
|
|
4752
|
+
"readonly": true,
|
|
4753
|
+
"attribute": "skip-to-content-href"
|
|
4754
|
+
},
|
|
4755
|
+
{
|
|
4756
|
+
"kind": "field",
|
|
4757
|
+
"name": "skipToContentLabel",
|
|
4758
|
+
"description": "Link text for the skip-to-content link. Only rendered when `skipToContentHref` is set.",
|
|
4759
|
+
"type": {
|
|
4760
|
+
"text": "string"
|
|
4761
|
+
},
|
|
4762
|
+
"default": "'Skip to main content'",
|
|
4763
|
+
"readonly": true,
|
|
4764
|
+
"attribute": "skip-to-content-label"
|
|
4765
|
+
}
|
|
4766
|
+
],
|
|
4767
|
+
"slots": [
|
|
4768
|
+
{
|
|
4769
|
+
"name": "left",
|
|
4770
|
+
"description": "Menu/action content immediately after the logo (or, in `with-navigation-drawer`\nmode, at the bar's left edge). Typically one or more `bs-button`/`bs-icon-button` elements."
|
|
4771
|
+
},
|
|
4772
|
+
{
|
|
4773
|
+
"name": "right",
|
|
4774
|
+
"description": "Menu/action content pushed to the bar's far right."
|
|
4775
|
+
}
|
|
4776
|
+
],
|
|
4777
|
+
"cssParts": [
|
|
4778
|
+
{
|
|
4779
|
+
"name": "left",
|
|
4780
|
+
"description": "The wrapper around the `left` slot."
|
|
4781
|
+
},
|
|
4782
|
+
{
|
|
4783
|
+
"name": "logo",
|
|
4784
|
+
"description": "The BrandSync brand mark, rendered via a nested `bs-logo` element (`part=\"logo\"` is\nset directly on that element -- the same pattern `bs-attachment` uses for its own nested\n`bs-icon-button`'s `remove` part -- so `bs-navigation-header::part(logo)` still targets it\ndirectly, no forwarding needed). Not rendered in `with-navigation-drawer` mode."
|
|
4785
|
+
},
|
|
4786
|
+
{
|
|
4787
|
+
"name": "right",
|
|
4788
|
+
"description": "The wrapper around the `right` slot."
|
|
4789
|
+
},
|
|
4790
|
+
{
|
|
4791
|
+
"name": "skip-link",
|
|
4792
|
+
"description": "The \"Skip to main content\" link (only rendered when `skipToContentHref` is set)."
|
|
4793
|
+
}
|
|
4794
|
+
],
|
|
4795
|
+
"cssProperties": [
|
|
4796
|
+
{
|
|
4797
|
+
"name": "--bs-navigation-header-bg",
|
|
4798
|
+
"description": "Background of the bar. Aliased to --bs-surface-base."
|
|
4799
|
+
},
|
|
4800
|
+
{
|
|
4801
|
+
"name": "--bs-navigation-header-border",
|
|
4802
|
+
"description": "Bottom border color. Aliased to --bs-border-default."
|
|
4803
|
+
},
|
|
4804
|
+
{
|
|
4805
|
+
"name": "--bs-navigation-header-item-gap",
|
|
4806
|
+
"description": "Gap between the logo and the `left` slot (`default` alignment), or between the `left` and `right` slots (`with-navigation-drawer` alignment, which has no logo). Not used in `center` alignment -- see the class doc in bs-navigation-header.tsx. The global vendored --bs-navigation-header-gap token is also malformed (a bare unitless `40`, which is an invalid `gap` value and silently falls back to `normal`/0), so this multiplies it into a real length instead of aliasing directly."
|
|
4807
|
+
},
|
|
4808
|
+
{
|
|
4809
|
+
"name": "--bs-navigation-header-max-width",
|
|
4810
|
+
"description": "Overall max-width of the bar. The global vendored --bs-breakpoints-max-width token is malformed (`1920rem` instead of `1920px` -- at a 16px root font size that's ~30720px, effectively unconstrained), so this is a literal 1920px instead of aliasing to it."
|
|
4811
|
+
},
|
|
4812
|
+
{
|
|
4813
|
+
"name": "--bs-navigation-header-padding-bottom",
|
|
4814
|
+
"description": "Aliased to --bs-spacing-100."
|
|
4815
|
+
},
|
|
4816
|
+
{
|
|
4817
|
+
"name": "--bs-navigation-header-padding-top",
|
|
4818
|
+
"description": "Aliased to --bs-spacing-200."
|
|
4819
|
+
},
|
|
4820
|
+
{
|
|
4821
|
+
"name": "--bs-navigation-header-padding-x",
|
|
4822
|
+
"description": "Aliased to --bs-margin-fluid."
|
|
4823
|
+
},
|
|
4824
|
+
{
|
|
4825
|
+
"name": "--bs-navigation-header-skip-link-bg",
|
|
4826
|
+
"description": "Skip-to-content link background, once focused into view. Aliased to --bs-surface-action."
|
|
4827
|
+
},
|
|
4828
|
+
{
|
|
4829
|
+
"name": "--bs-navigation-header-skip-link-color",
|
|
4830
|
+
"description": "Skip-to-content link text color, once focused into view. Aliased to --bs-text-inverse."
|
|
2230
4831
|
},
|
|
2231
4832
|
{
|
|
2232
|
-
"name": "
|
|
2233
|
-
"description": "
|
|
4833
|
+
"name": "--bs-navigation-header-slot-gap",
|
|
4834
|
+
"description": "Gap between items within a single `left`/`right` slot. Aliased to --bs-spacing-100."
|
|
4835
|
+
}
|
|
4836
|
+
]
|
|
4837
|
+
}
|
|
4838
|
+
],
|
|
4839
|
+
"exports": [
|
|
4840
|
+
{
|
|
4841
|
+
"kind": "js",
|
|
4842
|
+
"name": "BsNavigationHeader",
|
|
4843
|
+
"declaration": {
|
|
4844
|
+
"name": "BsNavigationHeader"
|
|
4845
|
+
}
|
|
4846
|
+
},
|
|
4847
|
+
{
|
|
4848
|
+
"kind": "custom-element-definition",
|
|
4849
|
+
"name": "bs-navigation-header",
|
|
4850
|
+
"declaration": {
|
|
4851
|
+
"name": "BsNavigationHeader"
|
|
4852
|
+
}
|
|
4853
|
+
}
|
|
4854
|
+
]
|
|
4855
|
+
},
|
|
4856
|
+
{
|
|
4857
|
+
"kind": "javascript-module",
|
|
4858
|
+
"path": "src/components/bs-radio/bs-radio.tsx",
|
|
4859
|
+
"declarations": [
|
|
4860
|
+
{
|
|
4861
|
+
"kind": "class",
|
|
4862
|
+
"customElement": true,
|
|
4863
|
+
"tagName": "bs-radio",
|
|
4864
|
+
"name": "BsRadio",
|
|
4865
|
+
"description": "A single radio button with its label, for one mutually-exclusive choice within a group.\n\n## When to use\n- One option within a set of mutually-exclusive choices, where all options should stay visible\n (a radio group).\n\n## When not to use\n- An independent, non-exclusive binary choice, or one item in a set of independent choices --\n use `bs-checkbox` instead.\n- An on/off setting that takes effect immediately (no explicit form submission) -- use `bs-switch`.",
|
|
4866
|
+
"attributes": [
|
|
4867
|
+
{
|
|
4868
|
+
"name": "checked",
|
|
4869
|
+
"description": "Whether the radio is checked. Mutable so clicking the label/input sets it directly.",
|
|
2234
4870
|
"type": {
|
|
2235
|
-
"text": "
|
|
4871
|
+
"text": "boolean"
|
|
2236
4872
|
},
|
|
2237
|
-
"default": "
|
|
2238
|
-
"fieldName": "
|
|
4873
|
+
"default": "false",
|
|
4874
|
+
"fieldName": "checked"
|
|
2239
4875
|
},
|
|
2240
4876
|
{
|
|
2241
|
-
"name": "
|
|
2242
|
-
"description": "
|
|
4877
|
+
"name": "disabled",
|
|
4878
|
+
"description": "Disables the radio: sets the native `disabled` attribute, suppresses hover/focus styling, and\nprevents toggling.",
|
|
2243
4879
|
"type": {
|
|
2244
|
-
"text": "
|
|
4880
|
+
"text": "boolean"
|
|
2245
4881
|
},
|
|
2246
|
-
"
|
|
4882
|
+
"default": "false",
|
|
4883
|
+
"fieldName": "disabled"
|
|
2247
4884
|
},
|
|
2248
4885
|
{
|
|
2249
|
-
"name": "
|
|
2250
|
-
"description": "
|
|
4886
|
+
"name": "name",
|
|
4887
|
+
"description": "The native radio input's `name` attribute. Passed straight through to the native input inside.\nNOTE: because each `bs-radio` renders its own shadow root, native `<input type=\"radio\">`\nmutual-exclusion grouping (which the HTML spec scopes to a single DOM tree) does NOT extend\nacross separate `bs-radio` instances sharing the same `name` -- checking one will not natively\nuncheck another. Within a single instance this still behaves like a normal radio input. See\nbs-radio.mdx's Accessibility section for this known gap; consumers building a group currently\nneed to manage mutual exclusivity themselves (e.g. via `bsChange`) until a `bs-radio-group`\nwrapper exists.",
|
|
2251
4888
|
"type": {
|
|
2252
|
-
"text": "
|
|
4889
|
+
"text": "string"
|
|
2253
4890
|
},
|
|
2254
|
-
"fieldName": "
|
|
4891
|
+
"fieldName": "name"
|
|
2255
4892
|
},
|
|
2256
4893
|
{
|
|
2257
|
-
"name": "
|
|
2258
|
-
"description": "
|
|
4894
|
+
"name": "value",
|
|
4895
|
+
"description": "The native radio input's `value` attribute -- read from `event.target.value`, or used when\nwiring the group up to a form.",
|
|
4896
|
+
"type": {
|
|
4897
|
+
"text": "string"
|
|
4898
|
+
},
|
|
4899
|
+
"fieldName": "value"
|
|
4900
|
+
}
|
|
4901
|
+
],
|
|
4902
|
+
"members": [
|
|
4903
|
+
{
|
|
4904
|
+
"kind": "field",
|
|
4905
|
+
"name": "checked",
|
|
4906
|
+
"description": "Whether the radio is checked. Mutable so clicking the label/input sets it directly.",
|
|
2259
4907
|
"type": {
|
|
2260
4908
|
"text": "boolean"
|
|
2261
4909
|
},
|
|
2262
4910
|
"default": "false",
|
|
2263
|
-
"
|
|
4911
|
+
"attribute": "checked",
|
|
4912
|
+
"reflects": true
|
|
2264
4913
|
},
|
|
2265
4914
|
{
|
|
2266
|
-
"
|
|
4915
|
+
"kind": "field",
|
|
4916
|
+
"name": "disabled",
|
|
4917
|
+
"description": "Disables the radio: sets the native `disabled` attribute, suppresses hover/focus styling, and\nprevents toggling.",
|
|
2267
4918
|
"type": {
|
|
2268
|
-
"text": "
|
|
4919
|
+
"text": "boolean"
|
|
2269
4920
|
},
|
|
2270
|
-
"
|
|
4921
|
+
"default": "false",
|
|
4922
|
+
"readonly": true,
|
|
4923
|
+
"attribute": "disabled"
|
|
2271
4924
|
},
|
|
2272
4925
|
{
|
|
2273
|
-
"
|
|
2274
|
-
"
|
|
4926
|
+
"kind": "field",
|
|
4927
|
+
"name": "name",
|
|
4928
|
+
"description": "The native radio input's `name` attribute. Passed straight through to the native input inside.\nNOTE: because each `bs-radio` renders its own shadow root, native `<input type=\"radio\">`\nmutual-exclusion grouping (which the HTML spec scopes to a single DOM tree) does NOT extend\nacross separate `bs-radio` instances sharing the same `name` -- checking one will not natively\nuncheck another. Within a single instance this still behaves like a normal radio input. See\nbs-radio.mdx's Accessibility section for this known gap; consumers building a group currently\nneed to manage mutual exclusivity themselves (e.g. via `bsChange`) until a `bs-radio-group`\nwrapper exists.",
|
|
2275
4929
|
"type": {
|
|
2276
|
-
"text": "
|
|
4930
|
+
"text": "string"
|
|
2277
4931
|
},
|
|
2278
|
-
"
|
|
2279
|
-
"
|
|
4932
|
+
"readonly": true,
|
|
4933
|
+
"attribute": "name"
|
|
2280
4934
|
},
|
|
2281
4935
|
{
|
|
2282
|
-
"
|
|
2283
|
-
"
|
|
4936
|
+
"kind": "field",
|
|
4937
|
+
"name": "value",
|
|
4938
|
+
"description": "The native radio input's `value` attribute -- read from `event.target.value`, or used when\nwiring the group up to a form.",
|
|
2284
4939
|
"type": {
|
|
2285
|
-
"text": "
|
|
4940
|
+
"text": "string"
|
|
2286
4941
|
},
|
|
2287
|
-
"
|
|
2288
|
-
"
|
|
4942
|
+
"readonly": true,
|
|
4943
|
+
"attribute": "value"
|
|
4944
|
+
}
|
|
4945
|
+
],
|
|
4946
|
+
"events": [
|
|
4947
|
+
{
|
|
4948
|
+
"name": "bsChange",
|
|
4949
|
+
"description": "Emitted with this radio's own `value` when it becomes checked via user interaction. Since\nnative same-`name` grouping doesn't cross shadow-root boundaries (see the `name` prop's doc),\na consumer wiring up a group of `bs-radio`s must itself set `checked = false` on the others in\nresponse to this event -- there's no automatic un-checking to rely on here.",
|
|
4950
|
+
"type": {
|
|
4951
|
+
"text": "CustomEvent<string>"
|
|
4952
|
+
}
|
|
4953
|
+
}
|
|
4954
|
+
],
|
|
4955
|
+
"slots": [
|
|
4956
|
+
{
|
|
4957
|
+
"name": "",
|
|
4958
|
+
"description": "Default slot: the label text."
|
|
4959
|
+
}
|
|
4960
|
+
],
|
|
4961
|
+
"cssParts": [
|
|
4962
|
+
{
|
|
4963
|
+
"name": "circle",
|
|
4964
|
+
"description": "The visual radio ring."
|
|
2289
4965
|
},
|
|
2290
4966
|
{
|
|
2291
|
-
"name": "
|
|
2292
|
-
"description": "
|
|
4967
|
+
"name": "dot",
|
|
4968
|
+
"description": "The center fill shown inside the ring when `checked`."
|
|
4969
|
+
},
|
|
4970
|
+
{
|
|
4971
|
+
"name": "label",
|
|
4972
|
+
"description": "The label text wrapper."
|
|
4973
|
+
}
|
|
4974
|
+
],
|
|
4975
|
+
"cssProperties": [
|
|
4976
|
+
{
|
|
4977
|
+
"name": "--bs-radio-border-width",
|
|
4978
|
+
"description": "Width of the ring border."
|
|
4979
|
+
},
|
|
4980
|
+
{
|
|
4981
|
+
"name": "--bs-radio-gap",
|
|
4982
|
+
"description": "Gap between the ring and the label text. Aliased to --bs-spacing-100."
|
|
4983
|
+
},
|
|
4984
|
+
{
|
|
4985
|
+
"name": "--bs-radio-hit-area-size",
|
|
4986
|
+
"description": "Diameter of the layout box the state layer is centered in."
|
|
4987
|
+
},
|
|
4988
|
+
{
|
|
4989
|
+
"name": "--bs-radio-size",
|
|
4990
|
+
"description": "Diameter of the visual radio ring. Aliased to --bs-spacing-300."
|
|
4991
|
+
},
|
|
4992
|
+
{
|
|
4993
|
+
"name": "--bs-radio-state-layer-size",
|
|
4994
|
+
"description": "Diameter of the hover/focus/pressed halo behind the ring."
|
|
4995
|
+
}
|
|
4996
|
+
]
|
|
4997
|
+
}
|
|
4998
|
+
],
|
|
4999
|
+
"exports": [
|
|
5000
|
+
{
|
|
5001
|
+
"kind": "js",
|
|
5002
|
+
"name": "BsRadio",
|
|
5003
|
+
"declaration": {
|
|
5004
|
+
"name": "BsRadio"
|
|
5005
|
+
}
|
|
5006
|
+
},
|
|
5007
|
+
{
|
|
5008
|
+
"kind": "custom-element-definition",
|
|
5009
|
+
"name": "bs-radio",
|
|
5010
|
+
"declaration": {
|
|
5011
|
+
"name": "BsRadio"
|
|
5012
|
+
}
|
|
5013
|
+
}
|
|
5014
|
+
]
|
|
5015
|
+
},
|
|
5016
|
+
{
|
|
5017
|
+
"kind": "javascript-module",
|
|
5018
|
+
"path": "src/components/bs-slider/bs-slider.tsx",
|
|
5019
|
+
"declarations": [
|
|
5020
|
+
{
|
|
5021
|
+
"kind": "class",
|
|
5022
|
+
"customElement": true,
|
|
5023
|
+
"tagName": "bs-slider",
|
|
5024
|
+
"name": "BsSlider",
|
|
5025
|
+
"description": "A slider for picking a single numeric value (`type=\"default\"`), a value snapped to evenly\nspaced ticks (`type=\"segmented\"`), or a min/max pair (`type=\"range\"`) from within a bounded\n`min`/`max` range.\n\n## When to use\n- A numeric value that's easiest to reason about relative to its bounds (volume, brightness,\n a price range) rather than typed digit-by-digit.\n- `type=\"segmented\"` when only a fixed number of discrete stops make sense (e.g. a 5-star\n rating-like scale) but a visual track is still preferable to discrete buttons.\n- `type=\"range\"` for picking a min/max pair (e.g. a price range filter) with two thumbs.\n\n## When not to use\n- A precise value where mis-dragging by a pixel matters more than the at-a-glance bounds --\n use `bs-input[type=\"number\"]` instead.\n- A small, fixed set of mutually exclusive choices -- use a radio group instead.",
|
|
5026
|
+
"attributes": [
|
|
5027
|
+
{
|
|
5028
|
+
"name": "aria-label",
|
|
5029
|
+
"description": "Accessible name for the slider's native range input(s). Required whenever `showLabel` is\n`false` (a bare track with no visible \"Label\" text) -- without it, the internal native\n`<input>` has no accessible name at all. Setting `aria-label` directly on the `<bs-slider>`\nhost does NOT work for this: that attribute stays on the light-DOM host and is never forwarded\ninto the shadow DOM by the browser. Same pattern/reasoning as `bs-switch`'s and `bs-checkbox`'s\nidentical `ariaLabel` prop. For `type=\"range\"`, this labels the lower-bound thumb; the\nupper-bound thumb gets `\"${ariaLabel} end\"` (or `\"End value\"` when `ariaLabel` is unset).",
|
|
2293
5030
|
"type": {
|
|
2294
|
-
"text": "
|
|
5031
|
+
"text": "string"
|
|
2295
5032
|
},
|
|
2296
|
-
"default": "
|
|
2297
|
-
"fieldName": "
|
|
5033
|
+
"default": "null",
|
|
5034
|
+
"fieldName": "ariaLabel"
|
|
2298
5035
|
},
|
|
2299
5036
|
{
|
|
2300
|
-
"name": "
|
|
5037
|
+
"name": "disabled",
|
|
5038
|
+
"description": "Disables the slider: sets the native `disabled` attribute on the range input(s), suppresses\nhover/focus/drag styling and the value tooltip, and prevents interaction.",
|
|
2301
5039
|
"type": {
|
|
2302
|
-
"text": "
|
|
5040
|
+
"text": "boolean"
|
|
2303
5041
|
},
|
|
2304
|
-
"default": "
|
|
2305
|
-
"fieldName": "
|
|
5042
|
+
"default": "false",
|
|
5043
|
+
"fieldName": "disabled"
|
|
2306
5044
|
},
|
|
2307
5045
|
{
|
|
2308
|
-
"name": "
|
|
2309
|
-
"description": "
|
|
5046
|
+
"name": "label",
|
|
5047
|
+
"description": "Label text shown above the track when `showLabel` is set.",
|
|
2310
5048
|
"type": {
|
|
2311
5049
|
"text": "string"
|
|
2312
5050
|
},
|
|
2313
|
-
"default": "''",
|
|
2314
|
-
"fieldName": "
|
|
2315
|
-
}
|
|
2316
|
-
],
|
|
2317
|
-
"members": [
|
|
5051
|
+
"default": "'Label'",
|
|
5052
|
+
"fieldName": "label"
|
|
5053
|
+
},
|
|
2318
5054
|
{
|
|
2319
|
-
"
|
|
2320
|
-
"
|
|
2321
|
-
"description": "Current chips for `type=\"chip\"`. Must be set as a JS property, not an HTML attribute -- see\nCONVENTIONS.md's non-string props rule.",
|
|
5055
|
+
"name": "max",
|
|
5056
|
+
"description": "Maximum selectable value, for all `type`s.",
|
|
2322
5057
|
"type": {
|
|
2323
|
-
"text": "
|
|
5058
|
+
"text": "number"
|
|
2324
5059
|
},
|
|
2325
|
-
"default": "
|
|
2326
|
-
"
|
|
5060
|
+
"default": "100",
|
|
5061
|
+
"fieldName": "max"
|
|
2327
5062
|
},
|
|
2328
5063
|
{
|
|
2329
|
-
"
|
|
2330
|
-
"
|
|
2331
|
-
"description": "Current selected country code for `type=\"country\"`.",
|
|
5064
|
+
"name": "min",
|
|
5065
|
+
"description": "Minimum selectable value, for all `type`s.",
|
|
2332
5066
|
"type": {
|
|
2333
|
-
"text": "
|
|
5067
|
+
"text": "number"
|
|
2334
5068
|
},
|
|
2335
|
-
"default": "
|
|
2336
|
-
"
|
|
2337
|
-
"attribute": "country"
|
|
5069
|
+
"default": "0",
|
|
5070
|
+
"fieldName": "min"
|
|
2338
5071
|
},
|
|
2339
5072
|
{
|
|
2340
|
-
"
|
|
2341
|
-
"
|
|
2342
|
-
"description": "Country select options for `type=\"country\"`. Must be set as a JS property, not an HTML\nattribute -- see CONVENTIONS.md's non-string props rule.",
|
|
5073
|
+
"name": "segments",
|
|
5074
|
+
"description": "Number of equal divisions marked by tick lines along the track, for `type=\"segmented\"` only.\nThe first tick (at the very start of the track) is rendered with `opacity: 0` to keep the\ntick spacing math consistent while not visually doubling up with the track's own start edge --\nthis matches the design spec, not a bug.",
|
|
2343
5075
|
"type": {
|
|
2344
|
-
"text": "
|
|
5076
|
+
"text": "number"
|
|
2345
5077
|
},
|
|
2346
|
-
"default": "
|
|
2347
|
-
"
|
|
5078
|
+
"default": "10",
|
|
5079
|
+
"fieldName": "segments"
|
|
2348
5080
|
},
|
|
2349
5081
|
{
|
|
2350
|
-
"
|
|
2351
|
-
"
|
|
5082
|
+
"name": "show-label",
|
|
5083
|
+
"description": "Shows/hides the \"Label\" text and editable percentage field(s) above the track, and the\nstatic min/max bound labels flanking it. When `false`, only the bare track (and its\nknob/knobs) renders.",
|
|
2352
5084
|
"type": {
|
|
2353
|
-
"text": "
|
|
5085
|
+
"text": "boolean"
|
|
2354
5086
|
},
|
|
2355
|
-
"
|
|
2356
|
-
"
|
|
5087
|
+
"default": "true",
|
|
5088
|
+
"fieldName": "showLabel"
|
|
2357
5089
|
},
|
|
2358
5090
|
{
|
|
2359
|
-
"
|
|
2360
|
-
"
|
|
5091
|
+
"name": "step",
|
|
5092
|
+
"description": "Step size between selectable values. For `type=\"segmented\"`, the effective step is derived\nfrom `(max - min) / segments` instead, so the thumb always snaps to a tick.",
|
|
2361
5093
|
"type": {
|
|
2362
|
-
"text": "
|
|
5094
|
+
"text": "number"
|
|
2363
5095
|
},
|
|
2364
|
-
"default": "
|
|
2365
|
-
"
|
|
2366
|
-
"attribute": "disabled"
|
|
5096
|
+
"default": "1",
|
|
5097
|
+
"fieldName": "step"
|
|
2367
5098
|
},
|
|
2368
5099
|
{
|
|
2369
|
-
"
|
|
2370
|
-
"
|
|
5100
|
+
"name": "type",
|
|
5101
|
+
"description": "Which slider shape to render. `range` uses two thumbs (`valueStart`/`valueEnd`); `default`\nand `segmented` use one thumb (`value`). `segmented` additionally draws `segments` tick marks\nalong the track.",
|
|
2371
5102
|
"type": {
|
|
2372
|
-
"text": "
|
|
5103
|
+
"text": "\"default\" | \"range\" | \"segmented\"",
|
|
5104
|
+
"references": [
|
|
5105
|
+
{
|
|
5106
|
+
"name": "BsSliderType"
|
|
5107
|
+
}
|
|
5108
|
+
]
|
|
2373
5109
|
},
|
|
2374
|
-
"
|
|
2375
|
-
"
|
|
5110
|
+
"default": "'default'",
|
|
5111
|
+
"fieldName": "type"
|
|
2376
5112
|
},
|
|
2377
5113
|
{
|
|
2378
|
-
"
|
|
2379
|
-
"
|
|
2380
|
-
"description": "Current selected title for `type=\"initials\"`. Named `initialsTitle` rather than `title` --\n`title` is a reserved standard HTML attribute (tooltip text) inherited by every element, and\nStencil warns against shadowing it with a component `@Prop`.",
|
|
5114
|
+
"name": "value",
|
|
5115
|
+
"description": "Current value for `type=\"default\"`/`type=\"segmented\"`. Ignored for `type=\"range\"` -- use\n`valueStart`/`valueEnd` instead. Mutable so dragging the thumb updates it directly.",
|
|
2381
5116
|
"type": {
|
|
2382
|
-
"text": "
|
|
5117
|
+
"text": "number"
|
|
2383
5118
|
},
|
|
2384
|
-
"default": "
|
|
2385
|
-
"
|
|
2386
|
-
"attribute": "initials-title"
|
|
5119
|
+
"default": "0",
|
|
5120
|
+
"fieldName": "value"
|
|
2387
5121
|
},
|
|
2388
5122
|
{
|
|
2389
|
-
"
|
|
2390
|
-
"
|
|
5123
|
+
"name": "value-end",
|
|
5124
|
+
"description": "Upper thumb's value for `type=\"range\"`. Defaults to `max` when unset. Mutable so dragging the\nthumb updates it directly.",
|
|
2391
5125
|
"type": {
|
|
2392
|
-
"text": "
|
|
5126
|
+
"text": "number"
|
|
2393
5127
|
},
|
|
2394
|
-
"
|
|
2395
|
-
"attribute": "label"
|
|
5128
|
+
"fieldName": "valueEnd"
|
|
2396
5129
|
},
|
|
2397
5130
|
{
|
|
2398
|
-
"
|
|
2399
|
-
"
|
|
2400
|
-
"description": "Number of cells for `type=\"pin\"`.",
|
|
5131
|
+
"name": "value-start",
|
|
5132
|
+
"description": "Lower thumb's value for `type=\"range\"`. Defaults to `min` when unset. Mutable so dragging the\nthumb updates it directly.",
|
|
2401
5133
|
"type": {
|
|
2402
5134
|
"text": "number"
|
|
2403
5135
|
},
|
|
2404
|
-
"
|
|
5136
|
+
"fieldName": "valueStart"
|
|
5137
|
+
}
|
|
5138
|
+
],
|
|
5139
|
+
"members": [
|
|
5140
|
+
{
|
|
5141
|
+
"kind": "field",
|
|
5142
|
+
"name": "ariaLabel",
|
|
5143
|
+
"description": "Accessible name for the slider's native range input(s). Required whenever `showLabel` is\n`false` (a bare track with no visible \"Label\" text) -- without it, the internal native\n`<input>` has no accessible name at all. Setting `aria-label` directly on the `<bs-slider>`\nhost does NOT work for this: that attribute stays on the light-DOM host and is never forwarded\ninto the shadow DOM by the browser. Same pattern/reasoning as `bs-switch`'s and `bs-checkbox`'s\nidentical `ariaLabel` prop. For `type=\"range\"`, this labels the lower-bound thumb; the\nupper-bound thumb gets `\"${ariaLabel} end\"` (or `\"End value\"` when `ariaLabel` is unset).",
|
|
5144
|
+
"type": {
|
|
5145
|
+
"text": "string"
|
|
5146
|
+
},
|
|
5147
|
+
"default": "null",
|
|
2405
5148
|
"readonly": true,
|
|
2406
|
-
"attribute": "
|
|
5149
|
+
"attribute": "aria-label"
|
|
2407
5150
|
},
|
|
2408
5151
|
{
|
|
2409
5152
|
"kind": "field",
|
|
2410
|
-
"name": "
|
|
2411
|
-
"description": "
|
|
5153
|
+
"name": "disabled",
|
|
5154
|
+
"description": "Disables the slider: sets the native `disabled` attribute on the range input(s), suppresses\nhover/focus/drag styling and the value tooltip, and prevents interaction.",
|
|
2412
5155
|
"type": {
|
|
2413
|
-
"text": "
|
|
5156
|
+
"text": "boolean"
|
|
2414
5157
|
},
|
|
5158
|
+
"default": "false",
|
|
2415
5159
|
"readonly": true,
|
|
2416
|
-
"attribute": "
|
|
5160
|
+
"attribute": "disabled"
|
|
2417
5161
|
},
|
|
2418
5162
|
{
|
|
2419
5163
|
"kind": "field",
|
|
2420
|
-
"name": "
|
|
2421
|
-
"description": "
|
|
5164
|
+
"name": "label",
|
|
5165
|
+
"description": "Label text shown above the track when `showLabel` is set.",
|
|
2422
5166
|
"type": {
|
|
2423
|
-
"text": "
|
|
5167
|
+
"text": "string"
|
|
2424
5168
|
},
|
|
5169
|
+
"default": "'Label'",
|
|
2425
5170
|
"readonly": true,
|
|
2426
|
-
"attribute": "
|
|
5171
|
+
"attribute": "label"
|
|
2427
5172
|
},
|
|
2428
5173
|
{
|
|
2429
5174
|
"kind": "field",
|
|
2430
|
-
"name": "
|
|
2431
|
-
"description": "
|
|
5175
|
+
"name": "max",
|
|
5176
|
+
"description": "Maximum selectable value, for all `type`s.",
|
|
2432
5177
|
"type": {
|
|
2433
|
-
"text": "
|
|
5178
|
+
"text": "number"
|
|
2434
5179
|
},
|
|
2435
|
-
"default": "
|
|
2436
|
-
"
|
|
2437
|
-
"
|
|
5180
|
+
"default": "100",
|
|
5181
|
+
"readonly": true,
|
|
5182
|
+
"attribute": "max"
|
|
2438
5183
|
},
|
|
2439
5184
|
{
|
|
2440
5185
|
"kind": "field",
|
|
2441
|
-
"name": "
|
|
2442
|
-
"description": "
|
|
5186
|
+
"name": "min",
|
|
5187
|
+
"description": "Minimum selectable value, for all `type`s.",
|
|
2443
5188
|
"type": {
|
|
2444
|
-
"text": "
|
|
5189
|
+
"text": "number"
|
|
2445
5190
|
},
|
|
2446
|
-
"default": "
|
|
2447
|
-
"readonly": true
|
|
5191
|
+
"default": "0",
|
|
5192
|
+
"readonly": true,
|
|
5193
|
+
"attribute": "min"
|
|
2448
5194
|
},
|
|
2449
5195
|
{
|
|
2450
5196
|
"kind": "field",
|
|
2451
|
-
"name": "
|
|
5197
|
+
"name": "segments",
|
|
5198
|
+
"description": "Number of equal divisions marked by tick lines along the track, for `type=\"segmented\"` only.\nThe first tick (at the very start of the track) is rendered with `opacity: 0` to keep the\ntick spacing math consistent while not visually doubling up with the track's own start edge --\nthis matches the design spec, not a bug.",
|
|
2452
5199
|
"type": {
|
|
2453
|
-
"text": "
|
|
5200
|
+
"text": "number"
|
|
2454
5201
|
},
|
|
5202
|
+
"default": "10",
|
|
2455
5203
|
"readonly": true,
|
|
2456
|
-
"attribute": "
|
|
5204
|
+
"attribute": "segments"
|
|
2457
5205
|
},
|
|
2458
5206
|
{
|
|
2459
5207
|
"kind": "field",
|
|
2460
|
-
"name": "
|
|
2461
|
-
"description": "
|
|
5208
|
+
"name": "showLabel",
|
|
5209
|
+
"description": "Shows/hides the \"Label\" text and editable percentage field(s) above the track, and the\nstatic min/max bound labels flanking it. When `false`, only the bare track (and its\nknob/knobs) renders.",
|
|
2462
5210
|
"type": {
|
|
2463
5211
|
"text": "boolean"
|
|
2464
5212
|
},
|
|
2465
|
-
"default": "
|
|
5213
|
+
"default": "true",
|
|
2466
5214
|
"readonly": true,
|
|
2467
|
-
"attribute": "
|
|
5215
|
+
"attribute": "show-label"
|
|
2468
5216
|
},
|
|
2469
5217
|
{
|
|
2470
5218
|
"kind": "field",
|
|
2471
|
-
"name": "
|
|
2472
|
-
"description": "
|
|
5219
|
+
"name": "step",
|
|
5220
|
+
"description": "Step size between selectable values. For `type=\"segmented\"`, the effective step is derived\nfrom `(max - min) / segments` instead, so the thumb always snaps to a tick.",
|
|
2473
5221
|
"type": {
|
|
2474
5222
|
"text": "number"
|
|
2475
5223
|
},
|
|
2476
|
-
"default": "
|
|
5224
|
+
"default": "1",
|
|
2477
5225
|
"readonly": true,
|
|
2478
|
-
"attribute": "
|
|
5226
|
+
"attribute": "step"
|
|
2479
5227
|
},
|
|
2480
5228
|
{
|
|
2481
5229
|
"kind": "field",
|
|
2482
|
-
"name": "
|
|
2483
|
-
"description": "
|
|
5230
|
+
"name": "type",
|
|
5231
|
+
"description": "Which slider shape to render. `range` uses two thumbs (`valueStart`/`valueEnd`); `default`\nand `segmented` use one thumb (`value`). `segmented` additionally draws `segments` tick marks\nalong the track.",
|
|
2484
5232
|
"type": {
|
|
2485
|
-
"text": "
|
|
5233
|
+
"text": "\"default\" | \"range\" | \"segmented\"",
|
|
5234
|
+
"references": [
|
|
5235
|
+
{
|
|
5236
|
+
"name": "BsSliderType"
|
|
5237
|
+
}
|
|
5238
|
+
]
|
|
2486
5239
|
},
|
|
2487
|
-
"default": "
|
|
5240
|
+
"default": "'default'",
|
|
2488
5241
|
"readonly": true,
|
|
2489
|
-
"attribute": "
|
|
5242
|
+
"attribute": "type"
|
|
2490
5243
|
},
|
|
2491
5244
|
{
|
|
2492
5245
|
"kind": "field",
|
|
2493
|
-
"name": "
|
|
2494
|
-
"description": "
|
|
5246
|
+
"name": "value",
|
|
5247
|
+
"description": "Current value for `type=\"default\"`/`type=\"segmented\"`. Ignored for `type=\"range\"` -- use\n`valueStart`/`valueEnd` instead. Mutable so dragging the thumb updates it directly.",
|
|
2495
5248
|
"type": {
|
|
2496
|
-
"text": "
|
|
5249
|
+
"text": "number"
|
|
2497
5250
|
},
|
|
2498
|
-
"default": "
|
|
2499
|
-
"
|
|
5251
|
+
"default": "0",
|
|
5252
|
+
"attribute": "value"
|
|
2500
5253
|
},
|
|
2501
5254
|
{
|
|
2502
5255
|
"kind": "field",
|
|
2503
|
-
"name": "
|
|
5256
|
+
"name": "valueEnd",
|
|
5257
|
+
"description": "Upper thumb's value for `type=\"range\"`. Defaults to `max` when unset. Mutable so dragging the\nthumb updates it directly.",
|
|
2504
5258
|
"type": {
|
|
2505
|
-
"text": "
|
|
5259
|
+
"text": "number"
|
|
2506
5260
|
},
|
|
2507
|
-
"
|
|
2508
|
-
"readonly": true,
|
|
2509
|
-
"attribute": "type"
|
|
5261
|
+
"attribute": "value-end"
|
|
2510
5262
|
},
|
|
2511
5263
|
{
|
|
2512
5264
|
"kind": "field",
|
|
2513
|
-
"name": "
|
|
2514
|
-
"description": "
|
|
5265
|
+
"name": "valueStart",
|
|
5266
|
+
"description": "Lower thumb's value for `type=\"range\"`. Defaults to `min` when unset. Mutable so dragging the\nthumb updates it directly.",
|
|
2515
5267
|
"type": {
|
|
2516
|
-
"text": "
|
|
5268
|
+
"text": "number"
|
|
2517
5269
|
},
|
|
2518
|
-
"
|
|
2519
|
-
"attribute": "value"
|
|
5270
|
+
"attribute": "value-start"
|
|
2520
5271
|
}
|
|
2521
5272
|
],
|
|
2522
5273
|
"events": [
|
|
2523
5274
|
{
|
|
2524
5275
|
"name": "bsChange",
|
|
5276
|
+
"description": "Emitted when `value` changes via user interaction (dragging the thumb, or committing the\nvalue field), with the new value. Only fires for `type=\"default\"`/`type=\"segmented\"`.",
|
|
2525
5277
|
"type": {
|
|
2526
|
-
"text": "CustomEvent<
|
|
5278
|
+
"text": "CustomEvent<number>"
|
|
2527
5279
|
}
|
|
2528
5280
|
},
|
|
2529
5281
|
{
|
|
2530
|
-
"name": "
|
|
2531
|
-
"description": "Emitted when
|
|
5282
|
+
"name": "bsRangeChange",
|
|
5283
|
+
"description": "Emitted when `valueStart`/`valueEnd` changes via user interaction, with both current values.\nOnly fires for `type=\"range\"`.",
|
|
2532
5284
|
"type": {
|
|
2533
|
-
"text": "CustomEvent<
|
|
5285
|
+
"text": "CustomEvent<{ start: number; end: number; }>"
|
|
2534
5286
|
}
|
|
5287
|
+
}
|
|
5288
|
+
],
|
|
5289
|
+
"cssParts": [
|
|
5290
|
+
{
|
|
5291
|
+
"name": "bound",
|
|
5292
|
+
"description": "Each static min/max bound label flanking the track itself."
|
|
2535
5293
|
},
|
|
2536
5294
|
{
|
|
2537
|
-
"name": "
|
|
2538
|
-
"description": "
|
|
2539
|
-
"type": {
|
|
2540
|
-
"text": "CustomEvent<string>"
|
|
2541
|
-
}
|
|
5295
|
+
"name": "control",
|
|
5296
|
+
"description": "The native range input(s) that drive the knob(s)."
|
|
2542
5297
|
},
|
|
2543
5298
|
{
|
|
2544
|
-
"name": "
|
|
2545
|
-
"description": "
|
|
2546
|
-
"type": {
|
|
2547
|
-
"text": "CustomEvent<string>"
|
|
2548
|
-
}
|
|
5299
|
+
"name": "field",
|
|
5300
|
+
"description": "Each editable percentage-value field, shown top-right above the track."
|
|
2549
5301
|
},
|
|
2550
5302
|
{
|
|
2551
|
-
"name": "
|
|
2552
|
-
"
|
|
2553
|
-
"text": "CustomEvent<string>"
|
|
2554
|
-
}
|
|
5303
|
+
"name": "fill",
|
|
5304
|
+
"description": "The active/filled portion of the track."
|
|
2555
5305
|
},
|
|
2556
5306
|
{
|
|
2557
|
-
"name": "
|
|
2558
|
-
"description": "
|
|
2559
|
-
"type": {
|
|
2560
|
-
"text": "CustomEvent<boolean>"
|
|
2561
|
-
}
|
|
5307
|
+
"name": "label",
|
|
5308
|
+
"description": "The \"Label\" text above the track."
|
|
2562
5309
|
},
|
|
2563
5310
|
{
|
|
2564
|
-
"name": "
|
|
2565
|
-
"description": "
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
5311
|
+
"name": "tooltip",
|
|
5312
|
+
"description": "The value tooltip shown above a knob while focused/dragging."
|
|
5313
|
+
},
|
|
5314
|
+
{
|
|
5315
|
+
"name": "track",
|
|
5316
|
+
"description": "The background (inactive) track."
|
|
2569
5317
|
}
|
|
2570
5318
|
],
|
|
2571
|
-
"
|
|
5319
|
+
"cssProperties": [
|
|
2572
5320
|
{
|
|
2573
|
-
"name": "
|
|
2574
|
-
"description": "
|
|
5321
|
+
"name": "--bs-slider-bound-color",
|
|
5322
|
+
"description": "Static min/max bound label color, enabled. Aliased to --bs-text-default."
|
|
2575
5323
|
},
|
|
2576
5324
|
{
|
|
2577
|
-
"name": "
|
|
2578
|
-
"description": "
|
|
2579
|
-
}
|
|
2580
|
-
],
|
|
2581
|
-
"cssParts": [
|
|
5325
|
+
"name": "--bs-slider-bound-color-disabled",
|
|
5326
|
+
"description": "Static min/max bound label color, disabled. Aliased to --bs-text-on-disabled."
|
|
5327
|
+
},
|
|
2582
5328
|
{
|
|
2583
|
-
"name": "
|
|
2584
|
-
"description": "
|
|
5329
|
+
"name": "--bs-slider-field-bg",
|
|
5330
|
+
"description": "Percentage field background. Aliased to --bs-input-bg-default."
|
|
2585
5331
|
},
|
|
2586
5332
|
{
|
|
2587
|
-
"name": "
|
|
2588
|
-
"description": "
|
|
5333
|
+
"name": "--bs-slider-field-border",
|
|
5334
|
+
"description": "Percentage field border color. Aliased to --bs-input-border-default."
|
|
2589
5335
|
},
|
|
2590
5336
|
{
|
|
2591
|
-
"name": "
|
|
2592
|
-
"description": "
|
|
5337
|
+
"name": "--bs-slider-field-radius",
|
|
5338
|
+
"description": "Percentage field corner radius. Aliased to --bs-border-radius-100."
|
|
2593
5339
|
},
|
|
2594
5340
|
{
|
|
2595
|
-
"name": "
|
|
2596
|
-
"description": "
|
|
5341
|
+
"name": "--bs-slider-field-text",
|
|
5342
|
+
"description": "Percentage field text color (input value and \"%\" suffix). Aliased to --bs-input-text."
|
|
2597
5343
|
},
|
|
2598
5344
|
{
|
|
2599
|
-
"name": "
|
|
2600
|
-
"description": "
|
|
5345
|
+
"name": "--bs-slider-field-text-disabled",
|
|
5346
|
+
"description": "Percentage field text color, disabled. Aliased to --bs-text-on-disabled."
|
|
2601
5347
|
},
|
|
2602
5348
|
{
|
|
2603
|
-
"name": "
|
|
2604
|
-
"description": "
|
|
5349
|
+
"name": "--bs-slider-field-width",
|
|
5350
|
+
"description": "Width of each editable percentage field. Fixed 56px per the design spec."
|
|
2605
5351
|
},
|
|
2606
5352
|
{
|
|
2607
|
-
"name": "
|
|
2608
|
-
"description": "
|
|
5353
|
+
"name": "--bs-slider-fill-bg",
|
|
5354
|
+
"description": "Active/filled track background, enabled. Aliased to --bs-surface-action."
|
|
2609
5355
|
},
|
|
2610
5356
|
{
|
|
2611
|
-
"name": "
|
|
2612
|
-
"description": "
|
|
5357
|
+
"name": "--bs-slider-fill-bg-disabled",
|
|
5358
|
+
"description": "Active/filled track background, disabled. Aliased to --bs-surface-on-action-disabled."
|
|
2613
5359
|
},
|
|
2614
5360
|
{
|
|
2615
|
-
"name": "
|
|
2616
|
-
"description": "
|
|
5361
|
+
"name": "--bs-slider-focus-ring-color",
|
|
5362
|
+
"description": "Knob focus ring color. Aliased to --bs-border-primary-focus."
|
|
2617
5363
|
},
|
|
2618
5364
|
{
|
|
2619
|
-
"name": "
|
|
2620
|
-
"description": "The
|
|
5365
|
+
"name": "--bs-slider-focus-ring-gap-color",
|
|
5366
|
+
"description": "The gap color between the knob and its focus ring (mirrors bs-checkbox's outline-offset gap, drawn via box-shadow here since outline doesn't reliably clip to a circular ::-webkit-slider-thumb/::-moz-range-thumb pseudo-element). Aliased to --bs-surface-base."
|
|
2621
5367
|
},
|
|
2622
5368
|
{
|
|
2623
|
-
"name": "
|
|
2624
|
-
"description": "
|
|
2625
|
-
}
|
|
2626
|
-
],
|
|
2627
|
-
"cssProperties": [
|
|
5369
|
+
"name": "--bs-slider-gap",
|
|
5370
|
+
"description": "Gap between the label text and the row, and between the row's own items. Aliased to --bs-spacing-100."
|
|
5371
|
+
},
|
|
2628
5372
|
{
|
|
2629
|
-
"name": "--bs-
|
|
2630
|
-
"description": "
|
|
5373
|
+
"name": "--bs-slider-knob-bg",
|
|
5374
|
+
"description": "Knob circle background, enabled/active. A solid filled dot per the Figma spec (node 5266:50184) -- not a white circle with a drop shadow. Aliased to --bs-surface-action."
|
|
2631
5375
|
},
|
|
2632
5376
|
{
|
|
2633
|
-
"name": "--bs-
|
|
2634
|
-
"description": "
|
|
5377
|
+
"name": "--bs-slider-knob-color-disabled",
|
|
5378
|
+
"description": "Knob circle background, disabled. Aliased to --bs-surface-on-action-disabled (matches the disabled fill token, not the muted text token)."
|
|
2635
5379
|
},
|
|
2636
5380
|
{
|
|
2637
|
-
"name": "--bs-
|
|
2638
|
-
"description": "
|
|
5381
|
+
"name": "--bs-slider-knob-hit-size",
|
|
5382
|
+
"description": "Diameter of the knob's invisible hit-target area. Aliased to --bs-spacing-600."
|
|
2639
5383
|
},
|
|
2640
5384
|
{
|
|
2641
|
-
"name": "--bs-
|
|
2642
|
-
"description": "
|
|
5385
|
+
"name": "--bs-slider-knob-size",
|
|
5386
|
+
"description": "Diameter of the knob's visible circle. Aliased to --bs-spacing-300."
|
|
2643
5387
|
},
|
|
2644
5388
|
{
|
|
2645
|
-
"name": "--bs-
|
|
2646
|
-
"description": "
|
|
5389
|
+
"name": "--bs-slider-label-color",
|
|
5390
|
+
"description": "Label text color, enabled. Aliased to --bs-text-default."
|
|
2647
5391
|
},
|
|
2648
5392
|
{
|
|
2649
|
-
"name": "--bs-
|
|
2650
|
-
"description": "
|
|
5393
|
+
"name": "--bs-slider-label-color-disabled",
|
|
5394
|
+
"description": "Label text color, disabled. Aliased to --bs-text-muted."
|
|
2651
5395
|
},
|
|
2652
5396
|
{
|
|
2653
|
-
"name": "--bs-
|
|
2654
|
-
"description": "
|
|
5397
|
+
"name": "--bs-slider-label-font-weight",
|
|
5398
|
+
"description": "Label text font weight. Aliased to --bs-font-weight-semibold."
|
|
2655
5399
|
},
|
|
2656
5400
|
{
|
|
2657
|
-
"name": "--bs-
|
|
2658
|
-
"description": "
|
|
5401
|
+
"name": "--bs-slider-tick-bg",
|
|
5402
|
+
"description": "Segmented tick mark color. Aliased to --bs-surface-inset."
|
|
2659
5403
|
},
|
|
2660
5404
|
{
|
|
2661
|
-
"name": "--bs-
|
|
2662
|
-
"description": "
|
|
5405
|
+
"name": "--bs-slider-tooltip-bg",
|
|
5406
|
+
"description": "Value tooltip background. Aliased to --bs-surface-inverse."
|
|
2663
5407
|
},
|
|
2664
5408
|
{
|
|
2665
|
-
"name": "--bs-
|
|
2666
|
-
"description": "
|
|
5409
|
+
"name": "--bs-slider-tooltip-color",
|
|
5410
|
+
"description": "Value tooltip text color. Aliased to --bs-text-inverse."
|
|
2667
5411
|
},
|
|
2668
5412
|
{
|
|
2669
|
-
"name": "--bs-
|
|
2670
|
-
"description": "
|
|
5413
|
+
"name": "--bs-slider-tooltip-radius",
|
|
5414
|
+
"description": "Value tooltip corner radius. Aliased to --bs-border-radius-50."
|
|
2671
5415
|
},
|
|
2672
5416
|
{
|
|
2673
|
-
"name": "--bs-
|
|
2674
|
-
"description": "
|
|
5417
|
+
"name": "--bs-slider-track-bg",
|
|
5418
|
+
"description": "Inactive track background, enabled. Aliased to --bs-surface-container."
|
|
2675
5419
|
},
|
|
2676
5420
|
{
|
|
2677
|
-
"name": "--bs-
|
|
2678
|
-
"description": "
|
|
5421
|
+
"name": "--bs-slider-track-bg-disabled",
|
|
5422
|
+
"description": "Inactive track background, disabled. Aliased to --bs-surface-action-disabled."
|
|
5423
|
+
},
|
|
5424
|
+
{
|
|
5425
|
+
"name": "--bs-slider-track-height",
|
|
5426
|
+
"description": "Track thickness, constant regardless of type. Aliased to --bs-spacing-50."
|
|
5427
|
+
},
|
|
5428
|
+
{
|
|
5429
|
+
"name": "--bs-slider-track-radius",
|
|
5430
|
+
"description": "Track corner radius (pill). Aliased to --bs-border-radius-full."
|
|
5431
|
+
}
|
|
5432
|
+
]
|
|
5433
|
+
}
|
|
5434
|
+
],
|
|
5435
|
+
"exports": [
|
|
5436
|
+
{
|
|
5437
|
+
"kind": "js",
|
|
5438
|
+
"name": "BsSlider",
|
|
5439
|
+
"declaration": {
|
|
5440
|
+
"name": "BsSlider"
|
|
5441
|
+
}
|
|
5442
|
+
},
|
|
5443
|
+
{
|
|
5444
|
+
"kind": "custom-element-definition",
|
|
5445
|
+
"name": "bs-slider",
|
|
5446
|
+
"declaration": {
|
|
5447
|
+
"name": "BsSlider"
|
|
5448
|
+
}
|
|
5449
|
+
}
|
|
5450
|
+
]
|
|
5451
|
+
},
|
|
5452
|
+
{
|
|
5453
|
+
"kind": "javascript-module",
|
|
5454
|
+
"path": "src/components/bs-source-link/bs-source-link.tsx",
|
|
5455
|
+
"declarations": [
|
|
5456
|
+
{
|
|
5457
|
+
"kind": "class",
|
|
5458
|
+
"customElement": true,
|
|
5459
|
+
"tagName": "bs-source-link",
|
|
5460
|
+
"name": "BsSourceLink",
|
|
5461
|
+
"description": "A single citation row inside `bs-chatbot-sources-drawer` -- a file icon + filename on the first\nline, the originating system and version on the second, and a trailing \"open\" arrow.\n\n## When to use\n- One row per source Genie cited in a response, slotted into `bs-chatbot-sources-drawer`.\n\n## When not to use\n- Outside the sources drawer context -- this is a purpose-built citation row, not a generic\n link/list-item component.",
|
|
5462
|
+
"attributes": [
|
|
5463
|
+
{
|
|
5464
|
+
"name": "file-name",
|
|
5465
|
+
"description": "The cited document's filename.",
|
|
5466
|
+
"type": {
|
|
5467
|
+
"text": "string"
|
|
5468
|
+
},
|
|
5469
|
+
"default": "'Source'",
|
|
5470
|
+
"fieldName": "fileName"
|
|
5471
|
+
},
|
|
5472
|
+
{
|
|
5473
|
+
"name": "href",
|
|
5474
|
+
"description": "If set, renders the row as a link that opens this URL; otherwise as a button that only emits `bsOpen`.",
|
|
5475
|
+
"type": {
|
|
5476
|
+
"text": "string"
|
|
5477
|
+
},
|
|
5478
|
+
"fieldName": "href"
|
|
5479
|
+
},
|
|
5480
|
+
{
|
|
5481
|
+
"name": "source-name",
|
|
5482
|
+
"description": "The system/app the document came from (e.g. \"HoltePortalen\").",
|
|
5483
|
+
"type": {
|
|
5484
|
+
"text": "string"
|
|
5485
|
+
},
|
|
5486
|
+
"fieldName": "sourceName"
|
|
5487
|
+
},
|
|
5488
|
+
{
|
|
5489
|
+
"name": "target",
|
|
5490
|
+
"description": "`target` used when `href` is set.",
|
|
5491
|
+
"type": {
|
|
5492
|
+
"text": "string"
|
|
5493
|
+
},
|
|
5494
|
+
"default": "'_blank'",
|
|
5495
|
+
"fieldName": "target"
|
|
5496
|
+
},
|
|
5497
|
+
{
|
|
5498
|
+
"name": "version",
|
|
5499
|
+
"description": "The document's version label (e.g. \"v3.2\"). Omit if the source has no version.",
|
|
5500
|
+
"type": {
|
|
5501
|
+
"text": "string"
|
|
5502
|
+
},
|
|
5503
|
+
"fieldName": "version"
|
|
5504
|
+
}
|
|
5505
|
+
],
|
|
5506
|
+
"members": [
|
|
5507
|
+
{
|
|
5508
|
+
"kind": "field",
|
|
5509
|
+
"name": "fileName",
|
|
5510
|
+
"description": "The cited document's filename.",
|
|
5511
|
+
"type": {
|
|
5512
|
+
"text": "string"
|
|
5513
|
+
},
|
|
5514
|
+
"default": "'Source'",
|
|
5515
|
+
"readonly": true,
|
|
5516
|
+
"attribute": "file-name"
|
|
2679
5517
|
},
|
|
2680
5518
|
{
|
|
2681
|
-
"
|
|
2682
|
-
"
|
|
5519
|
+
"kind": "field",
|
|
5520
|
+
"name": "href",
|
|
5521
|
+
"description": "If set, renders the row as a link that opens this URL; otherwise as a button that only emits `bsOpen`.",
|
|
5522
|
+
"type": {
|
|
5523
|
+
"text": "string"
|
|
5524
|
+
},
|
|
5525
|
+
"readonly": true,
|
|
5526
|
+
"attribute": "href"
|
|
2683
5527
|
},
|
|
2684
5528
|
{
|
|
2685
|
-
"
|
|
2686
|
-
"
|
|
5529
|
+
"kind": "field",
|
|
5530
|
+
"name": "sourceName",
|
|
5531
|
+
"description": "The system/app the document came from (e.g. \"HoltePortalen\").",
|
|
5532
|
+
"type": {
|
|
5533
|
+
"text": "string"
|
|
5534
|
+
},
|
|
5535
|
+
"readonly": true,
|
|
5536
|
+
"attribute": "source-name"
|
|
2687
5537
|
},
|
|
2688
5538
|
{
|
|
2689
|
-
"
|
|
2690
|
-
"
|
|
5539
|
+
"kind": "field",
|
|
5540
|
+
"name": "target",
|
|
5541
|
+
"description": "`target` used when `href` is set.",
|
|
5542
|
+
"type": {
|
|
5543
|
+
"text": "string"
|
|
5544
|
+
},
|
|
5545
|
+
"default": "'_blank'",
|
|
5546
|
+
"readonly": true,
|
|
5547
|
+
"attribute": "target"
|
|
2691
5548
|
},
|
|
2692
5549
|
{
|
|
2693
|
-
"
|
|
2694
|
-
"
|
|
2695
|
-
|
|
5550
|
+
"kind": "field",
|
|
5551
|
+
"name": "version",
|
|
5552
|
+
"description": "The document's version label (e.g. \"v3.2\"). Omit if the source has no version.",
|
|
5553
|
+
"type": {
|
|
5554
|
+
"text": "string"
|
|
5555
|
+
},
|
|
5556
|
+
"readonly": true,
|
|
5557
|
+
"attribute": "version"
|
|
5558
|
+
}
|
|
5559
|
+
],
|
|
5560
|
+
"events": [
|
|
2696
5561
|
{
|
|
2697
|
-
"name": "
|
|
2698
|
-
"description": "
|
|
2699
|
-
|
|
5562
|
+
"name": "bsOpen",
|
|
5563
|
+
"description": "Fires on click/activation, whether or not `href` is set -- lets the consuming app log or handle the open.",
|
|
5564
|
+
"type": {
|
|
5565
|
+
"text": "CustomEvent<void>"
|
|
5566
|
+
}
|
|
5567
|
+
}
|
|
5568
|
+
],
|
|
5569
|
+
"slots": [
|
|
2700
5570
|
{
|
|
2701
|
-
"name": "
|
|
2702
|
-
"description": "
|
|
2703
|
-
}
|
|
5571
|
+
"name": "icon",
|
|
5572
|
+
"description": "Overrides the default file icon."
|
|
5573
|
+
}
|
|
5574
|
+
],
|
|
5575
|
+
"cssParts": [
|
|
2704
5576
|
{
|
|
2705
|
-
"name": "
|
|
2706
|
-
"description": "
|
|
5577
|
+
"name": "arrow",
|
|
5578
|
+
"description": "The trailing \"open\" arrow icon."
|
|
2707
5579
|
},
|
|
2708
5580
|
{
|
|
2709
|
-
"name": "
|
|
2710
|
-
"description": "
|
|
5581
|
+
"name": "filename",
|
|
5582
|
+
"description": "The filename text."
|
|
2711
5583
|
},
|
|
2712
5584
|
{
|
|
2713
|
-
"name": "
|
|
2714
|
-
"description": "
|
|
5585
|
+
"name": "icon",
|
|
5586
|
+
"description": "The leading file-type icon."
|
|
2715
5587
|
},
|
|
2716
5588
|
{
|
|
2717
|
-
"name": "
|
|
2718
|
-
"description": "
|
|
5589
|
+
"name": "source",
|
|
5590
|
+
"description": "The source system name."
|
|
2719
5591
|
},
|
|
2720
5592
|
{
|
|
2721
|
-
"name": "
|
|
2722
|
-
"description": "
|
|
5593
|
+
"name": "version",
|
|
5594
|
+
"description": "The version label."
|
|
2723
5595
|
}
|
|
2724
5596
|
]
|
|
2725
5597
|
}
|
|
@@ -2727,126 +5599,253 @@
|
|
|
2727
5599
|
"exports": [
|
|
2728
5600
|
{
|
|
2729
5601
|
"kind": "js",
|
|
2730
|
-
"name": "
|
|
5602
|
+
"name": "BsSourceLink",
|
|
2731
5603
|
"declaration": {
|
|
2732
|
-
"name": "
|
|
5604
|
+
"name": "BsSourceLink"
|
|
2733
5605
|
}
|
|
2734
5606
|
},
|
|
2735
5607
|
{
|
|
2736
5608
|
"kind": "custom-element-definition",
|
|
2737
|
-
"name": "bs-
|
|
5609
|
+
"name": "bs-source-link",
|
|
2738
5610
|
"declaration": {
|
|
2739
|
-
"name": "
|
|
5611
|
+
"name": "BsSourceLink"
|
|
2740
5612
|
}
|
|
2741
5613
|
}
|
|
2742
5614
|
]
|
|
2743
5615
|
},
|
|
2744
5616
|
{
|
|
2745
5617
|
"kind": "javascript-module",
|
|
2746
|
-
"path": "src/components/bs-
|
|
5618
|
+
"path": "src/components/bs-switch/bs-switch.tsx",
|
|
2747
5619
|
"declarations": [
|
|
2748
5620
|
{
|
|
2749
5621
|
"kind": "class",
|
|
2750
5622
|
"customElement": true,
|
|
2751
|
-
"tagName": "bs-
|
|
2752
|
-
"name": "
|
|
2753
|
-
"description": "A
|
|
2754
|
-
"
|
|
5623
|
+
"tagName": "bs-switch",
|
|
5624
|
+
"name": "BsSwitch",
|
|
5625
|
+
"description": "A toggle switch for an on/off setting that takes effect immediately (no explicit form\nsubmission required).\n\n## When to use\n- A binary setting that applies right away (e.g. \"Enable notifications\", \"Dark mode\").\n\n## When not to use\n- A binary choice that's part of a form submitted later, or one item within a group of\n independent choices -- use `bs-checkbox` instead.\n- A single mutually-exclusive choice from a set -- use a radio group instead.",
|
|
5626
|
+
"attributes": [
|
|
2755
5627
|
{
|
|
2756
|
-
"name": "",
|
|
2757
|
-
"description": "
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
5628
|
+
"name": "aria-label",
|
|
5629
|
+
"description": "Accessible name for the switch. Required whenever the default (label) slot is empty (e.g. a\nbare \"enabled\" switch in a table row) -- without it, the internal native `<input>` has no\naccessible name at all. Setting `aria-label` directly on the `<bs-switch>` host does NOT\nwork for this: that attribute stays on the light-DOM host and is never forwarded into the\nshadow DOM by the browser, so the actual focusable element (the native `<input>` inside) stays\nnameless. This prop exists specifically to bridge that gap -- same pattern as `bs-button`'s and\n`bs-checkbox`'s identical `ariaLabel` prop, both of which explicitly bind it onto their own\ninternal focusable element for the same reason.",
|
|
5630
|
+
"type": {
|
|
5631
|
+
"text": "string"
|
|
5632
|
+
},
|
|
5633
|
+
"default": "null",
|
|
5634
|
+
"fieldName": "ariaLabel"
|
|
5635
|
+
},
|
|
2761
5636
|
{
|
|
2762
|
-
"name": "
|
|
2763
|
-
"description": "
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
"kind": "js",
|
|
2771
|
-
"name": "BsMenu",
|
|
2772
|
-
"declaration": {
|
|
2773
|
-
"name": "BsMenu"
|
|
2774
|
-
}
|
|
2775
|
-
},
|
|
2776
|
-
{
|
|
2777
|
-
"kind": "custom-element-definition",
|
|
2778
|
-
"name": "bs-menu",
|
|
2779
|
-
"declaration": {
|
|
2780
|
-
"name": "BsMenu"
|
|
2781
|
-
}
|
|
2782
|
-
}
|
|
2783
|
-
]
|
|
2784
|
-
},
|
|
2785
|
-
{
|
|
2786
|
-
"kind": "javascript-module",
|
|
2787
|
-
"path": "src/components/bs-menu-item/bs-menu-item.tsx",
|
|
2788
|
-
"declarations": [
|
|
2789
|
-
{
|
|
2790
|
-
"kind": "class",
|
|
2791
|
-
"customElement": true,
|
|
2792
|
-
"tagName": "bs-menu-item",
|
|
2793
|
-
"name": "BsMenuItem",
|
|
2794
|
-
"description": "A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a\nreal `<button>` for correct keyboard/click semantics.\n\n## When to use\n- As a child of `bs-menu`, one per selectable action/option.\n\n## When not to use\n- Outside of `bs-menu` -- this component's sizing/hover treatment is designed to sit inside the\n menu's rounded, padded list box.",
|
|
2795
|
-
"attributes": [
|
|
5637
|
+
"name": "checked",
|
|
5638
|
+
"description": "Whether the switch is on. Mutable so clicking the label/input toggles it directly, and\nreflected so consumers can target `bs-switch[checked]` via CSS.",
|
|
5639
|
+
"type": {
|
|
5640
|
+
"text": "boolean"
|
|
5641
|
+
},
|
|
5642
|
+
"default": "false",
|
|
5643
|
+
"fieldName": "checked"
|
|
5644
|
+
},
|
|
2796
5645
|
{
|
|
2797
5646
|
"name": "disabled",
|
|
2798
|
-
"description": "Disables the
|
|
5647
|
+
"description": "Disables the switch: sets the native `disabled` attribute, suppresses hover/focus styling,\nand prevents toggling.",
|
|
2799
5648
|
"type": {
|
|
2800
5649
|
"text": "boolean"
|
|
2801
5650
|
},
|
|
2802
5651
|
"default": "false",
|
|
2803
5652
|
"fieldName": "disabled"
|
|
5653
|
+
},
|
|
5654
|
+
{
|
|
5655
|
+
"name": "size",
|
|
5656
|
+
"description": "Sizing scale. Controls the track's width/height and the knob's diameter.",
|
|
5657
|
+
"type": {
|
|
5658
|
+
"text": "\"lg\" | \"md\"",
|
|
5659
|
+
"references": [
|
|
5660
|
+
{
|
|
5661
|
+
"name": "BsSwitchSize"
|
|
5662
|
+
}
|
|
5663
|
+
]
|
|
5664
|
+
},
|
|
5665
|
+
"default": "'lg'",
|
|
5666
|
+
"fieldName": "size"
|
|
2804
5667
|
}
|
|
2805
5668
|
],
|
|
2806
5669
|
"members": [
|
|
5670
|
+
{
|
|
5671
|
+
"kind": "field",
|
|
5672
|
+
"name": "ariaLabel",
|
|
5673
|
+
"description": "Accessible name for the switch. Required whenever the default (label) slot is empty (e.g. a\nbare \"enabled\" switch in a table row) -- without it, the internal native `<input>` has no\naccessible name at all. Setting `aria-label` directly on the `<bs-switch>` host does NOT\nwork for this: that attribute stays on the light-DOM host and is never forwarded into the\nshadow DOM by the browser, so the actual focusable element (the native `<input>` inside) stays\nnameless. This prop exists specifically to bridge that gap -- same pattern as `bs-button`'s and\n`bs-checkbox`'s identical `ariaLabel` prop, both of which explicitly bind it onto their own\ninternal focusable element for the same reason.",
|
|
5674
|
+
"type": {
|
|
5675
|
+
"text": "string"
|
|
5676
|
+
},
|
|
5677
|
+
"default": "null",
|
|
5678
|
+
"readonly": true,
|
|
5679
|
+
"attribute": "aria-label"
|
|
5680
|
+
},
|
|
5681
|
+
{
|
|
5682
|
+
"kind": "field",
|
|
5683
|
+
"name": "checked",
|
|
5684
|
+
"description": "Whether the switch is on. Mutable so clicking the label/input toggles it directly, and\nreflected so consumers can target `bs-switch[checked]` via CSS.",
|
|
5685
|
+
"type": {
|
|
5686
|
+
"text": "boolean"
|
|
5687
|
+
},
|
|
5688
|
+
"default": "false",
|
|
5689
|
+
"attribute": "checked",
|
|
5690
|
+
"reflects": true
|
|
5691
|
+
},
|
|
2807
5692
|
{
|
|
2808
5693
|
"kind": "field",
|
|
2809
5694
|
"name": "disabled",
|
|
2810
|
-
"description": "Disables the
|
|
5695
|
+
"description": "Disables the switch: sets the native `disabled` attribute, suppresses hover/focus styling,\nand prevents toggling.",
|
|
2811
5696
|
"type": {
|
|
2812
5697
|
"text": "boolean"
|
|
2813
5698
|
},
|
|
2814
5699
|
"default": "false",
|
|
2815
5700
|
"readonly": true,
|
|
2816
5701
|
"attribute": "disabled"
|
|
5702
|
+
},
|
|
5703
|
+
{
|
|
5704
|
+
"kind": "field",
|
|
5705
|
+
"name": "size",
|
|
5706
|
+
"description": "Sizing scale. Controls the track's width/height and the knob's diameter.",
|
|
5707
|
+
"type": {
|
|
5708
|
+
"text": "\"lg\" | \"md\"",
|
|
5709
|
+
"references": [
|
|
5710
|
+
{
|
|
5711
|
+
"name": "BsSwitchSize"
|
|
5712
|
+
}
|
|
5713
|
+
]
|
|
5714
|
+
},
|
|
5715
|
+
"default": "'lg'",
|
|
5716
|
+
"readonly": true,
|
|
5717
|
+
"attribute": "size"
|
|
2817
5718
|
}
|
|
2818
5719
|
],
|
|
2819
5720
|
"events": [
|
|
2820
5721
|
{
|
|
2821
|
-
"name": "
|
|
2822
|
-
"description": "
|
|
5722
|
+
"name": "bsChange",
|
|
5723
|
+
"description": "Emitted when the checked state changes via user interaction, with the new `checked` value.",
|
|
2823
5724
|
"type": {
|
|
2824
|
-
"text": "CustomEvent<
|
|
5725
|
+
"text": "CustomEvent<boolean>"
|
|
2825
5726
|
}
|
|
2826
5727
|
}
|
|
2827
5728
|
],
|
|
2828
5729
|
"slots": [
|
|
2829
5730
|
{
|
|
2830
5731
|
"name": "",
|
|
2831
|
-
"description": "Default slot: the
|
|
5732
|
+
"description": "Default slot: the label text."
|
|
5733
|
+
}
|
|
5734
|
+
],
|
|
5735
|
+
"cssParts": [
|
|
5736
|
+
{
|
|
5737
|
+
"name": "knob",
|
|
5738
|
+
"description": "The sliding circular knob."
|
|
2832
5739
|
},
|
|
2833
5740
|
{
|
|
2834
|
-
"name": "
|
|
2835
|
-
"description": "
|
|
5741
|
+
"name": "label",
|
|
5742
|
+
"description": "The label text wrapper."
|
|
5743
|
+
},
|
|
5744
|
+
{
|
|
5745
|
+
"name": "track",
|
|
5746
|
+
"description": "The visual pill-shaped track."
|
|
2836
5747
|
}
|
|
2837
5748
|
],
|
|
2838
|
-
"
|
|
5749
|
+
"cssProperties": [
|
|
2839
5750
|
{
|
|
2840
|
-
"name": "
|
|
2841
|
-
"description": "
|
|
5751
|
+
"name": "--bs-switch-border-width",
|
|
5752
|
+
"description": "Track border width, constant across all sizes."
|
|
2842
5753
|
},
|
|
2843
5754
|
{
|
|
2844
|
-
"name": "
|
|
2845
|
-
"description": "
|
|
5755
|
+
"name": "--bs-switch-focus-ring-color",
|
|
5756
|
+
"description": "Outer focus ring color, drawn outside the track. Aliased to --bs-switch-track-border-focus."
|
|
5757
|
+
},
|
|
5758
|
+
{
|
|
5759
|
+
"name": "--bs-switch-gap",
|
|
5760
|
+
"description": "Gap between the track and the label text. Aliased to --bs-spacing-100."
|
|
5761
|
+
},
|
|
5762
|
+
{
|
|
5763
|
+
"name": "--bs-switch-knob-bg",
|
|
5764
|
+
"description": "Knob background, resting. Aliased to --bs-switch-thumb-bg-default."
|
|
5765
|
+
},
|
|
5766
|
+
{
|
|
5767
|
+
"name": "--bs-switch-knob-bg-checked",
|
|
5768
|
+
"description": "Knob background, checked. Aliased to --bs-switch-thumb-bg-checked."
|
|
5769
|
+
},
|
|
5770
|
+
{
|
|
5771
|
+
"name": "--bs-switch-knob-bg-disabled",
|
|
5772
|
+
"description": "Knob background, disabled. Aliased to --bs-switch-thumb-bg-disabled."
|
|
5773
|
+
},
|
|
5774
|
+
{
|
|
5775
|
+
"name": "--bs-switch-knob-bg-hover",
|
|
5776
|
+
"description": "Knob background, hovered. Aliased to --bs-switch-thumb-bg-hover."
|
|
5777
|
+
},
|
|
5778
|
+
{
|
|
5779
|
+
"name": "--bs-switch-knob-size-lg",
|
|
5780
|
+
"description": "Knob width/height at size=\"lg\"."
|
|
5781
|
+
},
|
|
5782
|
+
{
|
|
5783
|
+
"name": "--bs-switch-knob-size-md",
|
|
5784
|
+
"description": "Knob width/height at size=\"md\"."
|
|
5785
|
+
},
|
|
5786
|
+
{
|
|
5787
|
+
"name": "--bs-switch-label-color",
|
|
5788
|
+
"description": "Label text color. Aliased to --bs-text-default."
|
|
5789
|
+
},
|
|
5790
|
+
{
|
|
5791
|
+
"name": "--bs-switch-label-color-disabled",
|
|
5792
|
+
"description": "Label text color, disabled. Aliased to --bs-text-on-disabled."
|
|
5793
|
+
},
|
|
5794
|
+
{
|
|
5795
|
+
"name": "--bs-switch-padding",
|
|
5796
|
+
"description": "Internal padding of the track around the knob, constant across all sizes. Aliased to --bs-spacing-25."
|
|
5797
|
+
},
|
|
5798
|
+
{
|
|
5799
|
+
"name": "--bs-switch-radius",
|
|
5800
|
+
"description": "Corner radius of the track, constant across all sizes. Aliased to --bs-border-radius-full."
|
|
5801
|
+
},
|
|
5802
|
+
{
|
|
5803
|
+
"name": "--bs-switch-track-bg",
|
|
5804
|
+
"description": "Track background, unchecked/resting. Aliased to --bs-switch-track-bg-default."
|
|
5805
|
+
},
|
|
5806
|
+
{
|
|
5807
|
+
"name": "--bs-switch-track-bg-checked",
|
|
5808
|
+
"description": "Track background, checked/resting. Aliased to --bs-switch-track-bg-checked-default."
|
|
5809
|
+
},
|
|
5810
|
+
{
|
|
5811
|
+
"name": "--bs-switch-track-bg-checked-focus",
|
|
5812
|
+
"description": "Track background, checked/focused. Aliased to --bs-switch-track-bg-checked-focused."
|
|
5813
|
+
},
|
|
5814
|
+
{
|
|
5815
|
+
"name": "--bs-switch-track-bg-checked-hover",
|
|
5816
|
+
"description": "Track background, checked/hovered. The global vendored token directly, same reasoning as --bs-switch-track-bg-hover above."
|
|
5817
|
+
},
|
|
5818
|
+
{
|
|
5819
|
+
"name": "--bs-switch-track-bg-disabled",
|
|
5820
|
+
"description": "Track background, disabled (either checked state). The global vendored token directly, same reasoning as --bs-switch-track-bg-hover above."
|
|
5821
|
+
},
|
|
5822
|
+
{
|
|
5823
|
+
"name": "--bs-switch-track-bg-hover",
|
|
5824
|
+
"description": "Track background, unchecked/hovered. This is the global vendored token directly (src/global/tokens.css) -- not locally re-aliased under a different name here, since it already carries this exact name; see the :host comment below for why."
|
|
5825
|
+
},
|
|
5826
|
+
{
|
|
5827
|
+
"name": "--bs-switch-track-border",
|
|
5828
|
+
"description": "Track border color, resting/disabled. Aliased to --bs-switch-track-border-default."
|
|
5829
|
+
},
|
|
5830
|
+
{
|
|
5831
|
+
"name": "--bs-switch-track-border-hover",
|
|
5832
|
+
"description": "Track border color, hovered or focused. The global vendored token directly, same reasoning as --bs-switch-track-bg-hover above."
|
|
5833
|
+
},
|
|
5834
|
+
{
|
|
5835
|
+
"name": "--bs-switch-track-height-lg",
|
|
5836
|
+
"description": "Track height at size=\"lg\"."
|
|
5837
|
+
},
|
|
5838
|
+
{
|
|
5839
|
+
"name": "--bs-switch-track-height-md",
|
|
5840
|
+
"description": "Track height at size=\"md\"."
|
|
5841
|
+
},
|
|
5842
|
+
{
|
|
5843
|
+
"name": "--bs-switch-track-width-lg",
|
|
5844
|
+
"description": "Track width at size=\"lg\"."
|
|
2846
5845
|
},
|
|
2847
5846
|
{
|
|
2848
|
-
"name": "
|
|
2849
|
-
"description": "
|
|
5847
|
+
"name": "--bs-switch-track-width-md",
|
|
5848
|
+
"description": "Track width at size=\"md\"."
|
|
2850
5849
|
}
|
|
2851
5850
|
]
|
|
2852
5851
|
}
|
|
@@ -2854,101 +5853,129 @@
|
|
|
2854
5853
|
"exports": [
|
|
2855
5854
|
{
|
|
2856
5855
|
"kind": "js",
|
|
2857
|
-
"name": "
|
|
5856
|
+
"name": "BsSwitch",
|
|
2858
5857
|
"declaration": {
|
|
2859
|
-
"name": "
|
|
5858
|
+
"name": "BsSwitch"
|
|
2860
5859
|
}
|
|
2861
5860
|
},
|
|
2862
5861
|
{
|
|
2863
5862
|
"kind": "custom-element-definition",
|
|
2864
|
-
"name": "bs-
|
|
5863
|
+
"name": "bs-switch",
|
|
2865
5864
|
"declaration": {
|
|
2866
|
-
"name": "
|
|
5865
|
+
"name": "BsSwitch"
|
|
2867
5866
|
}
|
|
2868
5867
|
}
|
|
2869
5868
|
]
|
|
2870
5869
|
},
|
|
2871
5870
|
{
|
|
2872
5871
|
"kind": "javascript-module",
|
|
2873
|
-
"path": "src/components/bs-
|
|
5872
|
+
"path": "src/components/bs-tab/bs-tab/bs-tab.tsx",
|
|
2874
5873
|
"declarations": [
|
|
2875
5874
|
{
|
|
2876
5875
|
"kind": "class",
|
|
2877
5876
|
"customElement": true,
|
|
2878
|
-
"tagName": "bs-
|
|
2879
|
-
"name": "
|
|
2880
|
-
"description": "
|
|
5877
|
+
"tagName": "bs-tab",
|
|
5878
|
+
"name": "BsTab",
|
|
5879
|
+
"description": "A single tab button -- an optional icon plus a text label, rendered as a real `<button>` so it\nparticipates correctly in tab order and native click/keyboard activation.\n\n## When to use\n- As one button within a tab bar, where exactly one tab is selected/active at a time.\n\n## When not to use\n- As a standalone action button -- use `bs-button` instead, `bs-tab`'s visual language (muted\n until selected/hovered, underline indicator) only makes sense as part of a set.\n\n`selected` is NOT self-toggling -- clicking a `bs-tab` only emits `bsSelect`, it does not set its\nown `selected` prop, and it does not unselect any sibling tabs. Wrap your `<bs-tab>` elements in\n`<bs-tabs type=\"bs-tab\">` -- it owns `role=\"tablist\"` and coordinates selection (listening for\n`bsSelect` and setting `selected`/`false` across siblings) for you. Using `bs-tab` standalone,\noutside a `<bs-tabs>` wrapper, still means `selected` doesn't self-toggle and `role=\"tablist\"`\nisn't provided automatically -- a consumer doing that would still need to coordinate `selected`\nand supply `role=\"tablist\"` manually, same as `bs-radio.mdx` documents for `bs-radio`'s missing\n`bs-radio-group`. See `bs-tab.mdx`'s Accessibility section for the full requirement, including\n`role=\"tabpanel\"` on the corresponding content panels.",
|
|
2881
5880
|
"attributes": [
|
|
2882
5881
|
{
|
|
2883
|
-
"name": "
|
|
5882
|
+
"name": "aria-label",
|
|
5883
|
+
"description": "Accessible name for the tab. Required for icon-only usage (no visible label text via the\ndefault slot) so screen readers still announce what the tab does -- without it, an icon-only\ntab has no discernible name at all (axe-core flags this as a critical `button-name`\nviolation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute\nautomatically, same as `bs-button`'s identical prop.",
|
|
2884
5884
|
"type": {
|
|
2885
5885
|
"text": "string"
|
|
2886
5886
|
},
|
|
2887
|
-
"
|
|
5887
|
+
"default": "null",
|
|
5888
|
+
"fieldName": "ariaLabel"
|
|
2888
5889
|
},
|
|
2889
5890
|
{
|
|
2890
|
-
"name": "
|
|
2891
|
-
"description": "
|
|
5891
|
+
"name": "disabled",
|
|
5892
|
+
"description": "Disables the tab: sets the native `disabled` attribute, suppresses hover/focus styling, and\nprevents clicking from emitting `bsSelect`.",
|
|
2892
5893
|
"type": {
|
|
2893
5894
|
"text": "boolean"
|
|
2894
5895
|
},
|
|
2895
5896
|
"default": "false",
|
|
2896
|
-
"fieldName": "
|
|
5897
|
+
"fieldName": "disabled"
|
|
2897
5898
|
},
|
|
2898
5899
|
{
|
|
2899
|
-
"name": "
|
|
5900
|
+
"name": "icon-position",
|
|
5901
|
+
"description": "Where the icon sits relative to the label, when both `icon` and the default slot are\npopulated. Ignored for icon-only/text-only layouts.",
|
|
2900
5902
|
"type": {
|
|
2901
|
-
"text": "\"
|
|
5903
|
+
"text": "\"start\" | \"top\"",
|
|
2902
5904
|
"references": [
|
|
2903
5905
|
{
|
|
2904
|
-
"name": "
|
|
5906
|
+
"name": "BsTabIconPosition"
|
|
2905
5907
|
}
|
|
2906
5908
|
]
|
|
2907
5909
|
},
|
|
2908
|
-
"default": "'
|
|
2909
|
-
"fieldName": "
|
|
5910
|
+
"default": "'start'",
|
|
5911
|
+
"fieldName": "iconPosition"
|
|
5912
|
+
},
|
|
5913
|
+
{
|
|
5914
|
+
"name": "selected",
|
|
5915
|
+
"description": "Whether this tab is the currently active one. NOT mutable and NOT self-toggling -- see the\n\"Known gap\" note in the class JSDoc. Still reflected as an attribute so consumers/CSS can\ntarget `bs-tab[selected]`.",
|
|
5916
|
+
"type": {
|
|
5917
|
+
"text": "boolean"
|
|
5918
|
+
},
|
|
5919
|
+
"default": "false",
|
|
5920
|
+
"fieldName": "selected"
|
|
2910
5921
|
}
|
|
2911
5922
|
],
|
|
2912
5923
|
"members": [
|
|
2913
5924
|
{
|
|
2914
5925
|
"kind": "field",
|
|
2915
|
-
"name": "
|
|
5926
|
+
"name": "ariaLabel",
|
|
5927
|
+
"description": "Accessible name for the tab. Required for icon-only usage (no visible label text via the\ndefault slot) so screen readers still announce what the tab does -- without it, an icon-only\ntab has no discernible name at all (axe-core flags this as a critical `button-name`\nviolation). Stencil reflects this camelCase prop to the `aria-label` HTML attribute\nautomatically, same as `bs-button`'s identical prop.",
|
|
2916
5928
|
"type": {
|
|
2917
5929
|
"text": "string"
|
|
2918
5930
|
},
|
|
5931
|
+
"default": "null",
|
|
2919
5932
|
"readonly": true,
|
|
2920
|
-
"attribute": "
|
|
5933
|
+
"attribute": "aria-label"
|
|
2921
5934
|
},
|
|
2922
5935
|
{
|
|
2923
5936
|
"kind": "field",
|
|
2924
|
-
"name": "
|
|
2925
|
-
"description": "
|
|
5937
|
+
"name": "disabled",
|
|
5938
|
+
"description": "Disables the tab: sets the native `disabled` attribute, suppresses hover/focus styling, and\nprevents clicking from emitting `bsSelect`.",
|
|
2926
5939
|
"type": {
|
|
2927
5940
|
"text": "boolean"
|
|
2928
5941
|
},
|
|
2929
5942
|
"default": "false",
|
|
2930
|
-
"
|
|
2931
|
-
"
|
|
5943
|
+
"readonly": true,
|
|
5944
|
+
"attribute": "disabled"
|
|
2932
5945
|
},
|
|
2933
5946
|
{
|
|
2934
5947
|
"kind": "field",
|
|
2935
|
-
"name": "
|
|
5948
|
+
"name": "iconPosition",
|
|
5949
|
+
"description": "Where the icon sits relative to the label, when both `icon` and the default slot are\npopulated. Ignored for icon-only/text-only layouts.",
|
|
2936
5950
|
"type": {
|
|
2937
|
-
"text": "\"
|
|
5951
|
+
"text": "\"start\" | \"top\"",
|
|
2938
5952
|
"references": [
|
|
2939
5953
|
{
|
|
2940
|
-
"name": "
|
|
5954
|
+
"name": "BsTabIconPosition"
|
|
2941
5955
|
}
|
|
2942
5956
|
]
|
|
2943
5957
|
},
|
|
2944
|
-
"default": "'
|
|
5958
|
+
"default": "'start'",
|
|
2945
5959
|
"readonly": true,
|
|
2946
|
-
"attribute": "
|
|
5960
|
+
"attribute": "icon-position"
|
|
5961
|
+
},
|
|
5962
|
+
{
|
|
5963
|
+
"kind": "field",
|
|
5964
|
+
"name": "selected",
|
|
5965
|
+
"description": "Whether this tab is the currently active one. NOT mutable and NOT self-toggling -- see the\n\"Known gap\" note in the class JSDoc. Still reflected as an attribute so consumers/CSS can\ntarget `bs-tab[selected]`.",
|
|
5966
|
+
"type": {
|
|
5967
|
+
"text": "boolean"
|
|
5968
|
+
},
|
|
5969
|
+
"default": "false",
|
|
5970
|
+
"readonly": true,
|
|
5971
|
+
"attribute": "selected",
|
|
5972
|
+
"reflects": true
|
|
2947
5973
|
}
|
|
2948
5974
|
],
|
|
2949
5975
|
"events": [
|
|
2950
5976
|
{
|
|
2951
|
-
"name": "
|
|
5977
|
+
"name": "bsSelect",
|
|
5978
|
+
"description": "Fires when the tab is clicked. Does not toggle `selected` itself -- see the class JSDoc.",
|
|
2952
5979
|
"type": {
|
|
2953
5980
|
"text": "CustomEvent<void>"
|
|
2954
5981
|
}
|
|
@@ -2957,37 +5984,123 @@
|
|
|
2957
5984
|
"slots": [
|
|
2958
5985
|
{
|
|
2959
5986
|
"name": "",
|
|
2960
|
-
"description": "Default slot: the
|
|
5987
|
+
"description": "Default slot: the tab's label text. When empty (icon-only), no space is reserved for it."
|
|
2961
5988
|
},
|
|
2962
5989
|
{
|
|
2963
|
-
"name": "
|
|
2964
|
-
"description": "Optional
|
|
5990
|
+
"name": "badge",
|
|
5991
|
+
"description": "Optional trailing badge, rendered after the label (e.g. an unread count). Typically\na `bs-badge` element -- consumer's responsibility to style/populate, this component just reserves\na slot for it. Only rendered for text-only and icon+text-horizontal layouts, per the design spec\n(not icon-only or icon+text-vertical)."
|
|
5992
|
+
},
|
|
5993
|
+
{
|
|
5994
|
+
"name": "icon",
|
|
5995
|
+
"description": "Optional icon (24x24). When empty (text-only), no space is reserved for it."
|
|
2965
5996
|
}
|
|
2966
5997
|
],
|
|
2967
5998
|
"cssParts": [
|
|
2968
5999
|
{
|
|
2969
|
-
"name": "
|
|
2970
|
-
"description": "The
|
|
6000
|
+
"name": "badge",
|
|
6001
|
+
"description": "The badge wrapper."
|
|
2971
6002
|
},
|
|
2972
6003
|
{
|
|
2973
|
-
"name": "
|
|
2974
|
-
"description": "The
|
|
6004
|
+
"name": "icon",
|
|
6005
|
+
"description": "The icon wrapper."
|
|
2975
6006
|
},
|
|
2976
6007
|
{
|
|
2977
|
-
"name": "
|
|
2978
|
-
"description": "The
|
|
6008
|
+
"name": "indicator",
|
|
6009
|
+
"description": "The selection/hover underline indicator."
|
|
2979
6010
|
},
|
|
2980
6011
|
{
|
|
2981
|
-
"name": "
|
|
2982
|
-
"description": "The
|
|
6012
|
+
"name": "label",
|
|
6013
|
+
"description": "The label wrapper."
|
|
2983
6014
|
},
|
|
2984
6015
|
{
|
|
2985
|
-
"name": "
|
|
2986
|
-
"description": "The
|
|
6016
|
+
"name": "tab",
|
|
6017
|
+
"description": "The button element."
|
|
6018
|
+
}
|
|
6019
|
+
],
|
|
6020
|
+
"cssProperties": [
|
|
6021
|
+
{
|
|
6022
|
+
"name": "--bs-tab-color-default",
|
|
6023
|
+
"description": "Text/icon color, deselected/enabled. Aliased to --bs-text-muted."
|
|
2987
6024
|
},
|
|
2988
6025
|
{
|
|
2989
|
-
"name": "
|
|
2990
|
-
"description": "
|
|
6026
|
+
"name": "--bs-tab-color-disabled",
|
|
6027
|
+
"description": "Text/icon color, disabled. Aliased to --bs-text-on-disabled."
|
|
6028
|
+
},
|
|
6029
|
+
{
|
|
6030
|
+
"name": "--bs-tab-color-hover",
|
|
6031
|
+
"description": "Text/icon color, deselected/hovered, focused or pressed. Aliased to --bs-text-default."
|
|
6032
|
+
},
|
|
6033
|
+
{
|
|
6034
|
+
"name": "--bs-tab-color-selected",
|
|
6035
|
+
"description": "Text/icon color, selected. Aliased to --bs-color-primary-default."
|
|
6036
|
+
},
|
|
6037
|
+
{
|
|
6038
|
+
"name": "--bs-tab-color-selected-hover",
|
|
6039
|
+
"description": "Text/icon color, selected/hovered or focused. Aliased to --bs-color-primary-hover."
|
|
6040
|
+
},
|
|
6041
|
+
{
|
|
6042
|
+
"name": "--bs-tab-color-selected-pressed",
|
|
6043
|
+
"description": "Text/icon color, selected/pressed. Aliased to --bs-color-primary-pressed."
|
|
6044
|
+
},
|
|
6045
|
+
{
|
|
6046
|
+
"name": "--bs-tab-focus-ring-color",
|
|
6047
|
+
"description": "Focus ring color. Aliased to --bs-border-neutral-focus."
|
|
6048
|
+
},
|
|
6049
|
+
{
|
|
6050
|
+
"name": "--bs-tab-font-size",
|
|
6051
|
+
"description": "Aliased to --bs-font-size-md."
|
|
6052
|
+
},
|
|
6053
|
+
{
|
|
6054
|
+
"name": "--bs-tab-gap",
|
|
6055
|
+
"description": "Gap between icon and label, icon+text horizontal layout. Aliased to --bs-spacing-75."
|
|
6056
|
+
},
|
|
6057
|
+
{
|
|
6058
|
+
"name": "--bs-tab-gap-vertical",
|
|
6059
|
+
"description": "Gap between icon and label, icon+text vertical layout. Aliased to --bs-spacing-50."
|
|
6060
|
+
},
|
|
6061
|
+
{
|
|
6062
|
+
"name": "--bs-tab-icon-color-default",
|
|
6063
|
+
"description": "Icon color, deselected/enabled. Aliased to --bs-icon-muted."
|
|
6064
|
+
},
|
|
6065
|
+
{
|
|
6066
|
+
"name": "--bs-tab-icon-color-disabled",
|
|
6067
|
+
"description": "Icon color, disabled. Aliased to --bs-icon-disabled."
|
|
6068
|
+
},
|
|
6069
|
+
{
|
|
6070
|
+
"name": "--bs-tab-icon-color-hover",
|
|
6071
|
+
"description": "Icon color, deselected/hovered, focused or pressed. Aliased to --bs-icon-default."
|
|
6072
|
+
},
|
|
6073
|
+
{
|
|
6074
|
+
"name": "--bs-tab-indicator-hover",
|
|
6075
|
+
"description": "Underline color, deselected/hovered, focused or pressed. Aliased to --bs-border-neutral-hover."
|
|
6076
|
+
},
|
|
6077
|
+
{
|
|
6078
|
+
"name": "--bs-tab-indicator-selected",
|
|
6079
|
+
"description": "Underline color, selected. Aliased to --bs-color-primary-default."
|
|
6080
|
+
},
|
|
6081
|
+
{
|
|
6082
|
+
"name": "--bs-tab-indicator-selected-hover",
|
|
6083
|
+
"description": "Underline color, selected/hovered or focused. Aliased to --bs-color-primary-hover."
|
|
6084
|
+
},
|
|
6085
|
+
{
|
|
6086
|
+
"name": "--bs-tab-indicator-selected-pressed",
|
|
6087
|
+
"description": "Underline color, selected/pressed. Aliased to --bs-color-primary-pressed."
|
|
6088
|
+
},
|
|
6089
|
+
{
|
|
6090
|
+
"name": "--bs-tab-line-height",
|
|
6091
|
+
"description": "Aliased to --bs-line-height-body-md."
|
|
6092
|
+
},
|
|
6093
|
+
{
|
|
6094
|
+
"name": "--bs-tab-padding-x",
|
|
6095
|
+
"description": "Left/right padding. Aliased to --bs-spacing-200."
|
|
6096
|
+
},
|
|
6097
|
+
{
|
|
6098
|
+
"name": "--bs-tab-padding-y",
|
|
6099
|
+
"description": "Top/bottom padding. Aliased to --bs-spacing-150."
|
|
6100
|
+
},
|
|
6101
|
+
{
|
|
6102
|
+
"name": "--bs-tab-radius",
|
|
6103
|
+
"description": "Corner radius of the tab button. Aliased to --bs-border-radius-100."
|
|
2991
6104
|
}
|
|
2992
6105
|
]
|
|
2993
6106
|
}
|
|
@@ -2995,163 +6108,126 @@
|
|
|
2995
6108
|
"exports": [
|
|
2996
6109
|
{
|
|
2997
6110
|
"kind": "js",
|
|
2998
|
-
"name": "
|
|
6111
|
+
"name": "BsTab",
|
|
2999
6112
|
"declaration": {
|
|
3000
|
-
"name": "
|
|
6113
|
+
"name": "BsTab"
|
|
3001
6114
|
}
|
|
3002
6115
|
},
|
|
3003
6116
|
{
|
|
3004
6117
|
"kind": "custom-element-definition",
|
|
3005
|
-
"name": "bs-
|
|
6118
|
+
"name": "bs-tab",
|
|
3006
6119
|
"declaration": {
|
|
3007
|
-
"name": "
|
|
6120
|
+
"name": "BsTab"
|
|
3008
6121
|
}
|
|
3009
6122
|
}
|
|
3010
6123
|
]
|
|
3011
6124
|
},
|
|
3012
6125
|
{
|
|
3013
6126
|
"kind": "javascript-module",
|
|
3014
|
-
"path": "src/components/bs-
|
|
6127
|
+
"path": "src/components/bs-tab/bs-tabs/bs-tabs.tsx",
|
|
3015
6128
|
"declarations": [
|
|
3016
6129
|
{
|
|
3017
6130
|
"kind": "class",
|
|
3018
6131
|
"customElement": true,
|
|
3019
|
-
"tagName": "bs-
|
|
3020
|
-
"name": "
|
|
3021
|
-
"description": "A
|
|
6132
|
+
"tagName": "bs-tabs",
|
|
6133
|
+
"name": "BsTabs",
|
|
6134
|
+
"description": "A tab-group wrapper: owns `role=\"tablist\"` and coordinates selection across its slotted\n`<bs-tab>` or `<bs-inline-tab>` children, so consumers no longer have to hand-roll this.\n\n`bs-tab.mdx`/`bs-inline-tab.mdx` previously documented this coordination -- listening for\n`bsSelect` and setting `selected`/`false` on siblings, plus supplying `role=\"tablist\"` on\nwhatever element groups the tabs -- as a \"Known gap\"/manual consumer responsibility. This\ncomponent is that wrapper: it renders the `role=\"tablist\"` element and listens for `bsSelect`\nitself. Using `<bs-tab>`/`<bs-inline-tab>` standalone, outside a `<bs-tabs>` wrapper, still means\n`selected` doesn't self-toggle -- a consumer doing that would still need to coordinate `selected`\nmanually -- but that's no longer the first recommended path.\n\n## When to use\n- Wrapping a set of `<bs-tab>` (underline style) or `<bs-inline-tab>` (pill style) elements that\n should behave as a single-selection tab bar.\n\n## When not to use\n- For a single, standalone tab button not participating in a group -- use `bs-tab`/`bs-inline-tab`\n directly.",
|
|
3022
6135
|
"attributes": [
|
|
3023
6136
|
{
|
|
3024
|
-
"name": "
|
|
3025
|
-
"description": "
|
|
3026
|
-
"type": {
|
|
3027
|
-
"text": "string"
|
|
3028
|
-
},
|
|
3029
|
-
"default": "'Source'",
|
|
3030
|
-
"fieldName": "fileName"
|
|
3031
|
-
},
|
|
3032
|
-
{
|
|
3033
|
-
"name": "href",
|
|
3034
|
-
"description": "If set, renders the row as a link that opens this URL; otherwise as a button that only emits `bsOpen`.",
|
|
3035
|
-
"type": {
|
|
3036
|
-
"text": "string"
|
|
3037
|
-
},
|
|
3038
|
-
"fieldName": "href"
|
|
3039
|
-
},
|
|
3040
|
-
{
|
|
3041
|
-
"name": "source-name",
|
|
3042
|
-
"description": "The system/app the document came from (e.g. \"HoltePortalen\").",
|
|
3043
|
-
"type": {
|
|
3044
|
-
"text": "string"
|
|
3045
|
-
},
|
|
3046
|
-
"fieldName": "sourceName"
|
|
3047
|
-
},
|
|
3048
|
-
{
|
|
3049
|
-
"name": "target",
|
|
3050
|
-
"description": "`target` used when `href` is set.",
|
|
6137
|
+
"name": "orientation",
|
|
6138
|
+
"description": "Layout direction of the tab bar itself. Sets `aria-orientation` on the internal wrapper and\nswitches `flex-direction`.",
|
|
3051
6139
|
"type": {
|
|
3052
|
-
"text": "
|
|
6140
|
+
"text": "\"horizontal\" | \"vertical\"",
|
|
6141
|
+
"references": [
|
|
6142
|
+
{
|
|
6143
|
+
"name": "BsTabsOrientation"
|
|
6144
|
+
}
|
|
6145
|
+
]
|
|
3053
6146
|
},
|
|
3054
|
-
"default": "'
|
|
3055
|
-
"fieldName": "
|
|
6147
|
+
"default": "'horizontal'",
|
|
6148
|
+
"fieldName": "orientation"
|
|
3056
6149
|
},
|
|
3057
6150
|
{
|
|
3058
|
-
"name": "
|
|
3059
|
-
"description": "
|
|
6151
|
+
"name": "type",
|
|
6152
|
+
"description": "Which tab-button family this group wraps. Governs the wrapper's own visual treatment (gap-only\nfor `bs-tab`, a filled pill bar for `bs-inline-tab`). Not reflected as an attribute -- nothing\nexternal needs to target it via CSS attribute selector, it only drives internal class names.",
|
|
3060
6153
|
"type": {
|
|
3061
|
-
"text": "
|
|
6154
|
+
"text": "\"bs-inline-tab\" | \"bs-tab\"",
|
|
6155
|
+
"references": [
|
|
6156
|
+
{
|
|
6157
|
+
"name": "BsTabsType"
|
|
6158
|
+
}
|
|
6159
|
+
]
|
|
3062
6160
|
},
|
|
3063
|
-
"
|
|
6161
|
+
"default": "'bs-tab'",
|
|
6162
|
+
"fieldName": "type"
|
|
3064
6163
|
}
|
|
3065
6164
|
],
|
|
3066
6165
|
"members": [
|
|
3067
6166
|
{
|
|
3068
6167
|
"kind": "field",
|
|
3069
|
-
"name": "
|
|
3070
|
-
"description": "
|
|
3071
|
-
"type": {
|
|
3072
|
-
"text": "string"
|
|
3073
|
-
},
|
|
3074
|
-
"default": "'Source'",
|
|
3075
|
-
"readonly": true,
|
|
3076
|
-
"attribute": "file-name"
|
|
3077
|
-
},
|
|
3078
|
-
{
|
|
3079
|
-
"kind": "field",
|
|
3080
|
-
"name": "href",
|
|
3081
|
-
"description": "If set, renders the row as a link that opens this URL; otherwise as a button that only emits `bsOpen`.",
|
|
3082
|
-
"type": {
|
|
3083
|
-
"text": "string"
|
|
3084
|
-
},
|
|
3085
|
-
"readonly": true,
|
|
3086
|
-
"attribute": "href"
|
|
3087
|
-
},
|
|
3088
|
-
{
|
|
3089
|
-
"kind": "field",
|
|
3090
|
-
"name": "sourceName",
|
|
3091
|
-
"description": "The system/app the document came from (e.g. \"HoltePortalen\").",
|
|
3092
|
-
"type": {
|
|
3093
|
-
"text": "string"
|
|
3094
|
-
},
|
|
3095
|
-
"readonly": true,
|
|
3096
|
-
"attribute": "source-name"
|
|
3097
|
-
},
|
|
3098
|
-
{
|
|
3099
|
-
"kind": "field",
|
|
3100
|
-
"name": "target",
|
|
3101
|
-
"description": "`target` used when `href` is set.",
|
|
6168
|
+
"name": "orientation",
|
|
6169
|
+
"description": "Layout direction of the tab bar itself. Sets `aria-orientation` on the internal wrapper and\nswitches `flex-direction`.",
|
|
3102
6170
|
"type": {
|
|
3103
|
-
"text": "
|
|
6171
|
+
"text": "\"horizontal\" | \"vertical\"",
|
|
6172
|
+
"references": [
|
|
6173
|
+
{
|
|
6174
|
+
"name": "BsTabsOrientation"
|
|
6175
|
+
}
|
|
6176
|
+
]
|
|
3104
6177
|
},
|
|
3105
|
-
"default": "'
|
|
6178
|
+
"default": "'horizontal'",
|
|
3106
6179
|
"readonly": true,
|
|
3107
|
-
"attribute": "
|
|
6180
|
+
"attribute": "orientation"
|
|
3108
6181
|
},
|
|
3109
6182
|
{
|
|
3110
6183
|
"kind": "field",
|
|
3111
|
-
"name": "
|
|
3112
|
-
"description": "
|
|
6184
|
+
"name": "type",
|
|
6185
|
+
"description": "Which tab-button family this group wraps. Governs the wrapper's own visual treatment (gap-only\nfor `bs-tab`, a filled pill bar for `bs-inline-tab`). Not reflected as an attribute -- nothing\nexternal needs to target it via CSS attribute selector, it only drives internal class names.",
|
|
3113
6186
|
"type": {
|
|
3114
|
-
"text": "
|
|
6187
|
+
"text": "\"bs-inline-tab\" | \"bs-tab\"",
|
|
6188
|
+
"references": [
|
|
6189
|
+
{
|
|
6190
|
+
"name": "BsTabsType"
|
|
6191
|
+
}
|
|
6192
|
+
]
|
|
3115
6193
|
},
|
|
6194
|
+
"default": "'bs-tab'",
|
|
3116
6195
|
"readonly": true,
|
|
3117
|
-
"attribute": "
|
|
6196
|
+
"attribute": "type"
|
|
3118
6197
|
}
|
|
3119
6198
|
],
|
|
3120
|
-
"
|
|
6199
|
+
"slots": [
|
|
3121
6200
|
{
|
|
3122
|
-
"name": "
|
|
3123
|
-
"description": "
|
|
3124
|
-
"type": {
|
|
3125
|
-
"text": "CustomEvent<void>"
|
|
3126
|
-
}
|
|
6201
|
+
"name": "",
|
|
6202
|
+
"description": "Default slot: the tab elements (`<bs-tab>` or `<bs-inline-tab>`, matching `type`) that\nmake up this group."
|
|
3127
6203
|
}
|
|
3128
6204
|
],
|
|
3129
|
-
"
|
|
6205
|
+
"cssParts": [
|
|
3130
6206
|
{
|
|
3131
|
-
"name": "
|
|
3132
|
-
"description": "
|
|
6207
|
+
"name": "tablist",
|
|
6208
|
+
"description": "The wrapping element carrying `role=\"tablist\"`."
|
|
3133
6209
|
}
|
|
3134
6210
|
],
|
|
3135
|
-
"
|
|
6211
|
+
"cssProperties": [
|
|
3136
6212
|
{
|
|
3137
|
-
"name": "
|
|
3138
|
-
"description": "
|
|
6213
|
+
"name": "--bs-tabs-inline-tab-bg",
|
|
6214
|
+
"description": "Bar background when type=\"bs-inline-tab\". Aliased to --bs-color-neutral-container."
|
|
3139
6215
|
},
|
|
3140
6216
|
{
|
|
3141
|
-
"name": "
|
|
3142
|
-
"description": "
|
|
6217
|
+
"name": "--bs-tabs-inline-tab-gap",
|
|
6218
|
+
"description": "Gap between tabs when type=\"bs-inline-tab\". Aliased to --bs-spacing-50."
|
|
3143
6219
|
},
|
|
3144
6220
|
{
|
|
3145
|
-
"name": "
|
|
3146
|
-
"description": "
|
|
6221
|
+
"name": "--bs-tabs-inline-tab-padding-x",
|
|
6222
|
+
"description": "Bar horizontal padding when type=\"bs-inline-tab\". Aliased to --bs-spacing-50."
|
|
3147
6223
|
},
|
|
3148
6224
|
{
|
|
3149
|
-
"name": "
|
|
3150
|
-
"description": "
|
|
6225
|
+
"name": "--bs-tabs-inline-tab-radius",
|
|
6226
|
+
"description": "Bar corner radius when type=\"bs-inline-tab\". Aliased to --bs-border-radius-full."
|
|
3151
6227
|
},
|
|
3152
6228
|
{
|
|
3153
|
-
"name": "
|
|
3154
|
-
"description": "
|
|
6229
|
+
"name": "--bs-tabs-tab-gap",
|
|
6230
|
+
"description": "Gap between tabs when type=\"bs-tab\". Aliased to --bs-spacing-100."
|
|
3155
6231
|
}
|
|
3156
6232
|
]
|
|
3157
6233
|
}
|
|
@@ -3159,16 +6235,16 @@
|
|
|
3159
6235
|
"exports": [
|
|
3160
6236
|
{
|
|
3161
6237
|
"kind": "js",
|
|
3162
|
-
"name": "
|
|
6238
|
+
"name": "BsTabs",
|
|
3163
6239
|
"declaration": {
|
|
3164
|
-
"name": "
|
|
6240
|
+
"name": "BsTabs"
|
|
3165
6241
|
}
|
|
3166
6242
|
},
|
|
3167
6243
|
{
|
|
3168
6244
|
"kind": "custom-element-definition",
|
|
3169
|
-
"name": "bs-
|
|
6245
|
+
"name": "bs-tabs",
|
|
3170
6246
|
"declaration": {
|
|
3171
|
-
"name": "
|
|
6247
|
+
"name": "BsTabs"
|
|
3172
6248
|
}
|
|
3173
6249
|
}
|
|
3174
6250
|
]
|