@brandsync/wc 0.0.12 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1672 -226
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/p-00bb9bda.entry.js +1 -0
- package/dist/brandsync-wc/{p-64e2a7d7.entry.js → p-0847f5c0.entry.js} +1 -1
- package/dist/brandsync-wc/p-0ba35c3b.entry.js +1 -0
- package/dist/brandsync-wc/{p-2a65aabb.entry.js → p-0f3cb0c4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-72a33f88.entry.js → p-10f6f3cd.entry.js} +1 -1
- package/dist/brandsync-wc/{p-88a0abee.entry.js → p-111974df.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ef8522b5.entry.js → p-11f3fceb.entry.js} +1 -1
- package/dist/brandsync-wc/p-171fed0c.entry.js +1 -0
- package/dist/brandsync-wc/{p-57fdbb76.entry.js → p-18813680.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f04db1b0.entry.js → p-1b7c9928.entry.js} +1 -1
- package/dist/brandsync-wc/p-1ce7dd64.entry.js +1 -0
- package/dist/brandsync-wc/p-2063a6d6.entry.js +1 -0
- package/dist/brandsync-wc/{p-1900f6ce.entry.js → p-20c24179.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6e854e92.entry.js → p-321ed4d3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-0eee5477.entry.js → p-38aad266.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1c6fa697.entry.js → p-43e37883.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8049f9f2.entry.js → p-55a8d4b5.entry.js} +1 -1
- package/dist/brandsync-wc/p-59ac2495.entry.js +1 -0
- package/dist/brandsync-wc/p-5ae9e60e.entry.js +1 -0
- package/dist/brandsync-wc/{p-8b662ee3.entry.js → p-6b469b2d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-56c66448.entry.js → p-6d85fba4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-46ddc8e1.entry.js → p-6e95eb36.entry.js} +1 -1
- package/dist/brandsync-wc/{p-20dbc6a1.entry.js → p-73217b90.entry.js} +1 -1
- package/dist/brandsync-wc/p-752c04c8.entry.js +1 -0
- package/dist/brandsync-wc/{p-12ec9e92.entry.js → p-79af762c.entry.js} +1 -1
- package/dist/brandsync-wc/p-81d49240.entry.js +1 -0
- package/dist/brandsync-wc/{p-3b31f7c7.entry.js → p-91551e7b.entry.js} +1 -1
- package/dist/brandsync-wc/p-917a5bbc.entry.js +1 -0
- package/dist/brandsync-wc/{p-dd09d335.entry.js → p-9876e83c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c320b6b4.entry.js → p-9bcd99aa.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d4e3ca77.entry.js → p-9c4768aa.entry.js} +1 -1
- package/dist/brandsync-wc/{p-DST5-cTx.js → p-Do3l4of3.js} +2 -2
- package/dist/brandsync-wc/{p-0fa017ce.entry.js → p-aa43d478.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a5b15061.entry.js → p-c3079ad7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-23457a21.entry.js → p-c3c383dc.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b24a980b.entry.js → p-cc79e75f.entry.js} +1 -1
- package/dist/brandsync-wc/p-ce7fc368.entry.js +1 -0
- package/dist/brandsync-wc/{p-2c51d738.entry.js → p-d3265e70.entry.js} +1 -1
- package/dist/brandsync-wc/p-d55bbcec.entry.js +1 -0
- package/dist/brandsync-wc/{p-1adc59be.entry.js → p-e93e944b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-aba300a9.entry.js → p-eb04c578.entry.js} +1 -1
- package/dist/brandsync-wc/p-f0ae2740.entry.js +1 -0
- package/dist/brandsync-wc/p-f4f22015.entry.js +1 -0
- package/dist/cjs/brandsync-wc.cjs.js +2 -2
- package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +2 -2
- package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
- package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
- package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
- package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
- package/dist/cjs/bs-avatar.cjs.entry.js +60 -0
- package/dist/cjs/bs-badge.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +56 -0
- package/dist/cjs/bs-breadcrumb.cjs.entry.js +33 -0
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +49 -0
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/bs-button.cjs.entry.js +2 -2
- package/dist/cjs/bs-card.cjs.entry.js +10 -3
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +2 -2
- package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +20 -0
- package/dist/cjs/bs-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +2 -2
- package/dist/cjs/bs-composer.cjs.entry.js +2 -2
- package/dist/cjs/bs-data-table.cjs.entry.js +3 -3
- package/dist/cjs/bs-dialog.cjs.entry.js +110 -0
- package/dist/cjs/bs-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
- package/dist/cjs/bs-input.cjs.entry.js +24 -12
- package/dist/cjs/bs-logo.cjs.entry.js +1 -1
- package/dist/cjs/{bs-menu_2.cjs.entry.js → bs-menu-item.cjs.entry.js} +2 -15
- package/dist/cjs/bs-menu.cjs.entry.js +17 -0
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +3 -3
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +8 -2
- package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-pagination.cjs.entry.js +85 -0
- package/dist/cjs/bs-radio.cjs.entry.js +2 -2
- package/dist/cjs/bs-slider.cjs.entry.js +2 -2
- package/dist/cjs/bs-snackbar.cjs.entry.js +41 -0
- package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
- package/dist/cjs/bs-switch.cjs.entry.js +2 -2
- package/dist/cjs/bs-tab.cjs.entry.js +2 -2
- package/dist/cjs/bs-tabs.cjs.entry.js +2 -2
- package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/{index-B3sdhEGk.js → index-DHVw-IPK.js} +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +8 -1
- package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
- package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
- package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-avatar/bs-avatar.cmp.test.js +54 -0
- package/dist/collection/components/bs-avatar/bs-avatar.css +197 -0
- package/dist/collection/components/bs-avatar/bs-avatar.js +251 -0
- package/dist/collection/components/bs-avatar/bs-avatar.stories.js +67 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.js +62 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.css +93 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +130 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.js +118 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.css +125 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +192 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.cmp.test.js +58 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.css +18 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +129 -0
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.stories.js +84 -0
- package/dist/collection/components/bs-button/bs-button/bs-button.js +1 -1
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
- package/dist/collection/components/bs-card/bs-card.cmp.test.js +19 -0
- package/dist/collection/components/bs-card/bs-card.css +37 -5
- package/dist/collection/components/bs-card/bs-card.js +18 -2
- package/dist/collection/components/bs-card/bs-card.stories.js +17 -1
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.css +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.cmp.test.js +23 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.css +64 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +81 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.stories.js +25 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.stories.js +12 -0
- package/dist/collection/components/bs-composer/bs-composer.js +1 -1
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
- package/dist/collection/components/{bs-modal/bs-modal.cmp.test.js → bs-dialog/bs-dialog.cmp.test.js} +63 -19
- package/dist/collection/components/bs-dialog/bs-dialog.css +130 -0
- package/dist/collection/components/bs-dialog/bs-dialog.js +273 -0
- package/dist/collection/components/bs-dialog/bs-dialog.stories.js +115 -0
- package/dist/collection/components/bs-input/bs-input.cmp.test.js +20 -0
- package/dist/collection/components/bs-input/bs-input.css +80 -2
- package/dist/collection/components/bs-input/bs-input.js +28 -10
- package/dist/collection/components/bs-input/bs-input.stories.js +14 -11
- package/dist/collection/components/bs-menu/bs-menu.js +1 -1
- package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
- package/dist/collection/components/bs-pagination/bs-pagination.cmp.test.js +102 -0
- package/dist/collection/components/bs-pagination/bs-pagination.css +120 -0
- package/dist/collection/components/bs-pagination/bs-pagination.js +233 -0
- package/dist/collection/components/bs-pagination/bs-pagination.stories.js +43 -0
- package/dist/collection/components/bs-radio/bs-radio.js +1 -1
- package/dist/collection/components/bs-slider/bs-slider.js +1 -1
- package/dist/collection/components/bs-snackbar/bs-snackbar.cmp.test.js +77 -0
- package/dist/collection/components/bs-snackbar/bs-snackbar.css +321 -0
- package/dist/collection/components/bs-snackbar/bs-snackbar.js +172 -0
- package/dist/collection/components/bs-snackbar/bs-snackbar.stories.js +59 -0
- package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
- package/dist/collection/components/bs-switch/bs-switch.js +1 -1
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
- 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 +12 -0
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +34 -6
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.js +74 -2
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.css +5 -5
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.js +258 -1
- package/dist/components/bs-ai-disclaimer.js +1 -1
- package/dist/components/bs-ai-greeting.js +1 -1
- package/dist/components/bs-ai-thinking.js +1 -1
- package/dist/components/bs-attachment-list.js +1 -1
- package/dist/components/bs-attachment.js +1 -1
- package/dist/components/{bs-modal.d.ts → bs-avatar.d.ts} +4 -4
- package/dist/components/bs-avatar.js +1 -0
- package/dist/components/bs-badge.js +1 -1
- package/dist/components/bs-breadcrumb-overflow.d.ts +11 -0
- package/dist/components/bs-breadcrumb-overflow.js +1 -0
- package/dist/components/bs-breadcrumb.d.ts +11 -0
- package/dist/components/bs-breadcrumb.js +1 -0
- package/dist/components/bs-breadcrumbs.d.ts +11 -0
- package/dist/components/bs-breadcrumbs.js +1 -0
- package/dist/components/bs-button-skeleton.js +1 -1
- package/dist/components/bs-button.js +1 -1
- package/dist/components/bs-card.js +1 -1
- package/dist/components/bs-chatbot-feedback.js +1 -1
- package/dist/components/bs-chatbot-header.js +1 -1
- package/dist/components/bs-chatbot-response-action.js +1 -1
- package/dist/components/bs-chatbot-sources-drawer.js +1 -1
- package/dist/components/bs-chatbot-suggestion-button.js +1 -1
- package/dist/components/bs-checkbox-skeleton.d.ts +11 -0
- package/dist/components/bs-checkbox-skeleton.js +1 -0
- package/dist/components/bs-checkbox.js +1 -1
- package/dist/components/bs-composer-status-banner.js +1 -1
- package/dist/components/bs-composer.js +1 -1
- package/dist/components/bs-data-table.js +1 -1
- package/dist/components/bs-dialog.d.ts +11 -0
- package/dist/components/bs-dialog.js +1 -0
- package/dist/components/bs-icon-button.js +1 -1
- package/dist/components/bs-inline-tab.js +1 -1
- package/dist/components/bs-input.js +1 -1
- package/dist/components/bs-logo.js +1 -1
- package/dist/components/bs-menu-item.js +1 -1
- package/dist/components/bs-menu.js +1 -1
- package/dist/components/bs-navigation-drawer-item.js +1 -1
- package/dist/components/bs-navigation-drawer.js +1 -1
- package/dist/components/bs-navigation-header.js +1 -1
- package/dist/components/bs-pagination.d.ts +11 -0
- package/dist/components/bs-pagination.js +1 -0
- package/dist/components/bs-radio.js +1 -1
- package/dist/components/bs-slider.js +1 -1
- package/dist/components/bs-snackbar.d.ts +11 -0
- package/dist/components/bs-snackbar.js +1 -0
- package/dist/components/bs-source-link.js +1 -1
- package/dist/components/bs-switch.js +1 -1
- package/dist/components/bs-tab.js +1 -1
- package/dist/components/bs-tabs.js +1 -1
- package/dist/components/bs-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-BAOJc0V0.js → p-BFcVSpES.js} +1 -1
- package/dist/components/{p-Be1Pfcnm.js → p-BJZYe7M4.js} +1 -1
- package/dist/components/{p-CaWqTQBZ.js → p-BKaZWFE1.js} +1 -1
- package/dist/components/{p-DivZLd6i.js → p-BtX5URLk.js} +1 -1
- package/dist/components/{p-BqYyMGrB.js → p-CgaPcyEJ.js} +1 -1
- package/dist/components/{p-xfx69LQx.js → p-qK1XlpTA.js} +1 -1
- package/dist/esm/brandsync-wc.js +3 -3
- package/dist/esm/bs-ai-disclaimer.entry.js +2 -2
- package/dist/esm/bs-ai-greeting.entry.js +2 -2
- package/dist/esm/bs-ai-thinking.entry.js +2 -2
- package/dist/esm/bs-attachment-list.entry.js +2 -2
- package/dist/esm/bs-attachment.entry.js +1 -1
- package/dist/esm/bs-avatar.entry.js +58 -0
- package/dist/esm/bs-badge.entry.js +1 -1
- package/dist/esm/bs-breadcrumb-overflow.entry.js +54 -0
- package/dist/esm/bs-breadcrumb.entry.js +31 -0
- package/dist/esm/bs-breadcrumbs.entry.js +47 -0
- package/dist/esm/bs-button-skeleton.entry.js +2 -2
- package/dist/esm/bs-button.entry.js +2 -2
- package/dist/esm/bs-card.entry.js +10 -3
- package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
- package/dist/esm/bs-chatbot-header.entry.js +2 -2
- package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
- package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
- package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
- package/dist/esm/bs-checkbox-skeleton.entry.js +18 -0
- package/dist/esm/bs-checkbox.entry.js +2 -2
- package/dist/esm/bs-composer-status-banner.entry.js +2 -2
- package/dist/esm/bs-composer.entry.js +2 -2
- package/dist/esm/bs-data-table.entry.js +3 -3
- package/dist/esm/bs-dialog.entry.js +108 -0
- package/dist/esm/bs-icon-button.entry.js +2 -2
- package/dist/esm/bs-inline-tab.entry.js +2 -2
- package/dist/esm/bs-input.entry.js +24 -12
- package/dist/esm/bs-logo.entry.js +1 -1
- package/dist/esm/{bs-menu_2.entry.js → bs-menu-item.entry.js} +3 -15
- package/dist/esm/bs-menu.entry.js +15 -0
- package/dist/esm/bs-navigation-drawer-item.entry.js +3 -3
- package/dist/esm/bs-navigation-drawer.entry.js +8 -2
- package/dist/esm/bs-navigation-header.entry.js +2 -2
- package/dist/esm/bs-pagination.entry.js +83 -0
- package/dist/esm/bs-radio.entry.js +2 -2
- package/dist/esm/bs-slider.entry.js +2 -2
- package/dist/esm/bs-snackbar.entry.js +39 -0
- package/dist/esm/bs-source-link.entry.js +3 -3
- package/dist/esm/bs-switch.entry.js +2 -2
- package/dist/esm/bs-tab.entry.js +2 -2
- package/dist/esm/bs-tabs.entry.js +2 -2
- package/dist/esm/bs-tooltip.entry.js +2 -2
- package/dist/esm/{index-DST5-cTx.js → index-Do3l4of3.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/bs-avatar/bs-avatar.d.ts +67 -0
- package/dist/types/components/bs-avatar/bs-avatar.stories.d.ts +20 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.d.ts +44 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.d.ts +69 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.d.ts +45 -0
- package/dist/types/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.stories.d.ts +14 -0
- package/dist/types/components/bs-card/bs-card.d.ts +10 -1
- package/dist/types/components/bs-card/bs-card.stories.d.ts +1 -0
- package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.d.ts +36 -0
- package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.stories.d.ts +10 -0
- package/dist/types/components/bs-checkbox/bs-checkbox.stories.d.ts +1 -0
- package/dist/types/components/bs-dialog/bs-dialog.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-dialog/bs-dialog.d.ts +74 -0
- package/dist/types/components/{bs-modal/bs-modal.stories.d.ts → bs-dialog/bs-dialog.stories.d.ts} +5 -3
- package/dist/types/components/bs-input/bs-input.d.ts +8 -1
- package/dist/types/components/bs-pagination/bs-pagination.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-pagination/bs-pagination.d.ts +51 -0
- package/dist/types/components/bs-pagination/bs-pagination.stories.d.ts +14 -0
- package/dist/types/components/bs-snackbar/bs-snackbar.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-snackbar/bs-snackbar.d.ts +51 -0
- package/dist/types/components/bs-snackbar/bs-snackbar.stories.d.ts +16 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +13 -5
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.d.ts +3 -0
- package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.d.ts +4 -0
- package/dist/types/components.d.ts +1109 -104
- package/package.json +1 -1
- package/dist/brandsync-wc/p-09aa03d1.entry.js +0 -1
- package/dist/brandsync-wc/p-1cf715aa.entry.js +0 -1
- package/dist/brandsync-wc/p-266f5dde.entry.js +0 -1
- package/dist/brandsync-wc/p-8ded1eb6.entry.js +0 -1
- package/dist/brandsync-wc/p-b289450a.entry.js +0 -1
- package/dist/brandsync-wc/p-b8a2f882.entry.js +0 -1
- package/dist/cjs/bs-modal.cjs.entry.js +0 -69
- package/dist/collection/components/bs-modal/bs-modal.css +0 -66
- package/dist/collection/components/bs-modal/bs-modal.js +0 -198
- package/dist/collection/components/bs-modal/bs-modal.stories.js +0 -38
- package/dist/components/bs-modal.js +0 -1
- package/dist/esm/bs-modal.entry.js +0 -67
- package/dist/types/components/bs-modal/bs-modal.d.ts +0 -45
- /package/dist/types/components/{bs-modal/bs-modal.cmp.test.d.ts → bs-avatar/bs-avatar.cmp.test.d.ts} +0 -0
|
@@ -6,36 +6,48 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
8
|
import { BsAttachmentType } from "./components/bs-attachment/bs-attachment";
|
|
9
|
+
import { BsAvatarSize, BsAvatarType } from "./components/bs-avatar/bs-avatar";
|
|
9
10
|
import { BsBadgeVariant } from "./components/bs-badge/bs-badge";
|
|
11
|
+
import { BsBreadcrumbSize } from "./components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb";
|
|
12
|
+
import { BsBreadcrumbOverflowItem } from "./components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow";
|
|
13
|
+
import { BsBreadcrumbSize as BsBreadcrumbSize1 } from "./components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb";
|
|
10
14
|
import { BsButtonSize, BsButtonVariant } from "./components/bs-button/bs-button/bs-button";
|
|
11
15
|
import { BsButtonSize as BsButtonSize1 } from "./components/bs-button/bs-button/bs-button";
|
|
12
16
|
import { BsCardSurface } from "./components/bs-card/bs-card";
|
|
13
17
|
import { BsCheckboxSize } from "./components/bs-checkbox/bs-checkbox";
|
|
18
|
+
import { BsCheckboxSize as BsCheckboxSize1 } from "./components/bs-checkbox/bs-checkbox";
|
|
14
19
|
import { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
|
|
15
20
|
import { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
|
|
16
21
|
import { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs-data-table";
|
|
22
|
+
import { BsDialogSize } from "./components/bs-dialog/bs-dialog";
|
|
17
23
|
import { BsIconButtonSize, BsIconButtonVariant } from "./components/bs-button/bs-icon-button/bs-icon-button";
|
|
18
24
|
import { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
|
|
19
|
-
import { BsModalSize } from "./components/bs-modal/bs-modal";
|
|
20
25
|
import { BsNavigationHeaderAlignment } from "./components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header";
|
|
21
26
|
import { BsSliderType } from "./components/bs-slider/bs-slider";
|
|
27
|
+
import { BsSnackbarVariant } from "./components/bs-snackbar/bs-snackbar";
|
|
22
28
|
import { BsSwitchSize } from "./components/bs-switch/bs-switch";
|
|
23
29
|
import { BsTabIconPosition } from "./components/bs-tab/bs-tab/bs-tab";
|
|
24
30
|
import { BsTabsOrientation, BsTabsType } from "./components/bs-tab/bs-tabs/bs-tabs";
|
|
25
31
|
export { BsAttachmentType } from "./components/bs-attachment/bs-attachment";
|
|
32
|
+
export { BsAvatarSize, BsAvatarType } from "./components/bs-avatar/bs-avatar";
|
|
26
33
|
export { BsBadgeVariant } from "./components/bs-badge/bs-badge";
|
|
34
|
+
export { BsBreadcrumbSize } from "./components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb";
|
|
35
|
+
export { BsBreadcrumbOverflowItem } from "./components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow";
|
|
36
|
+
export { BsBreadcrumbSize as BsBreadcrumbSize1 } from "./components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb";
|
|
27
37
|
export { BsButtonSize, BsButtonVariant } from "./components/bs-button/bs-button/bs-button";
|
|
28
38
|
export { BsButtonSize as BsButtonSize1 } from "./components/bs-button/bs-button/bs-button";
|
|
29
39
|
export { BsCardSurface } from "./components/bs-card/bs-card";
|
|
30
40
|
export { BsCheckboxSize } from "./components/bs-checkbox/bs-checkbox";
|
|
41
|
+
export { BsCheckboxSize as BsCheckboxSize1 } from "./components/bs-checkbox/bs-checkbox";
|
|
31
42
|
export { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
|
|
32
43
|
export { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
|
|
33
44
|
export { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs-data-table";
|
|
45
|
+
export { BsDialogSize } from "./components/bs-dialog/bs-dialog";
|
|
34
46
|
export { BsIconButtonSize, BsIconButtonVariant } from "./components/bs-button/bs-icon-button/bs-icon-button";
|
|
35
47
|
export { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
|
|
36
|
-
export { BsModalSize } from "./components/bs-modal/bs-modal";
|
|
37
48
|
export { BsNavigationHeaderAlignment } from "./components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header";
|
|
38
49
|
export { BsSliderType } from "./components/bs-slider/bs-slider";
|
|
50
|
+
export { BsSnackbarVariant } from "./components/bs-snackbar/bs-snackbar";
|
|
39
51
|
export { BsSwitchSize } from "./components/bs-switch/bs-switch";
|
|
40
52
|
export { BsTabIconPosition } from "./components/bs-tab/bs-tab/bs-tab";
|
|
41
53
|
export { BsTabsOrientation, BsTabsType } from "./components/bs-tab/bs-tabs/bs-tabs";
|
|
@@ -206,6 +218,62 @@ export namespace Components {
|
|
|
206
218
|
*/
|
|
207
219
|
"ariaLabel": string | null;
|
|
208
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* A circular representation of a person or entity -- a photo, initials, or (as a fallback when
|
|
223
|
+
* neither is available) a generic user-silhouette icon.
|
|
224
|
+
* ## When to use
|
|
225
|
+
* - Representing a specific user or account: in a header, a comment, a member list, etc.
|
|
226
|
+
* - `type="initials"` when a photo isn't available but a name is (e.g. "Sam Lee" -> "SL").
|
|
227
|
+
* - `type="icon"` (the default) as the generic fallback when neither a photo nor a name/initials
|
|
228
|
+
* is available yet.
|
|
229
|
+
* ## When not to use
|
|
230
|
+
* - A company/brand logo -- use `bs-logo` instead.
|
|
231
|
+
* This component is decorative/informational by default, not an interactive control -- it renders
|
|
232
|
+
* a plain `<span>`/`<img>`, not a `<button>`. Figma's own component set includes hover/focused/
|
|
233
|
+
* pressed states (e.g. for an account-switcher trigger use case), which this implements as real
|
|
234
|
+
* `:hover`/`:focus-visible`/`:active` CSS on the host itself -- so wrapping this in your own
|
|
235
|
+
* `<button>`, or setting `tabindex` and a click handler on the `<bs-avatar>` element directly, gets
|
|
236
|
+
* the matching visual treatment for free with no extra wiring. Left genuinely non-interactive
|
|
237
|
+
* (no implicit role/tabindex of its own) so it doesn't misrepresent a purely decorative avatar
|
|
238
|
+
* (e.g. next to a comment) as a control when it isn't one.
|
|
239
|
+
*/
|
|
240
|
+
interface BsAvatar {
|
|
241
|
+
/**
|
|
242
|
+
* `type="image"` only: accessible alt text for the photo, set directly on the real `<img>` this renders -- a person's photo is meaningful content, not decorative, so pass something real (e.g. their name). Falls back to `alt=""` (decorative to assistive tech) when unset, rather than omitting the attribute entirely, but don't rely on that fallback. Ignored for `icon`/`initials` -- see `ariaLabel` for those instead.
|
|
243
|
+
* @default null
|
|
244
|
+
*/
|
|
245
|
+
"alt": string | null;
|
|
246
|
+
/**
|
|
247
|
+
* `type="icon"`/`"initials"` only: accessible name for the avatar, set as `aria-label` on the `role="img"` wrapper this renders (neither is a real `<img>`, so there's no native `alt` to set). Setting a plain `aria-label` attribute on the `<bs-avatar>` host does NOT work for this -- that attribute stays on the light-DOM host and never crosses into the shadow DOM, so the actual `role="img"` element stays nameless. Same pattern as `bs-checkbox`'s identical `ariaLabel` prop. Ignored for `image` -- see `alt` for that instead.
|
|
248
|
+
* @default null
|
|
249
|
+
*/
|
|
250
|
+
"ariaLabel": string | null;
|
|
251
|
+
/**
|
|
252
|
+
* Applies the disabled treatment (50% opacity) and suppresses the hover/focus/pressed CSS states -- this doesn't set a native `disabled` attribute (this component renders no native form control), it's purely a visual/interaction-state flag for when a consuming app has wrapped this in its own disabled control. Reflected so the `:host([disabled])` CSS selector that drives all of the above still matches when a consumer sets the JS property directly (`el.disabled = true`) rather than the HTML attribute.
|
|
253
|
+
* @default false
|
|
254
|
+
*/
|
|
255
|
+
"disabled": boolean;
|
|
256
|
+
/**
|
|
257
|
+
* `type="initials"` only: the initials text to display (e.g. `"SL"` for "Sam Lee"). Ignored for `icon`/`image`.
|
|
258
|
+
* @default null
|
|
259
|
+
*/
|
|
260
|
+
"initials": string | null;
|
|
261
|
+
/**
|
|
262
|
+
* Sizing scale -- `xs` (24px) through `xxl` (128px), matching Figma's own six-step scale.
|
|
263
|
+
* @default 'md'
|
|
264
|
+
*/
|
|
265
|
+
"size": BsAvatarSize;
|
|
266
|
+
/**
|
|
267
|
+
* `type="image"` only: the photo URL. This component does not fetch it itself -- network calls, loading/error states, and caching are the consuming app's responsibility, same convention as `bs-logo`'s own `src` prop. Ignored for `icon`/`initials`.
|
|
268
|
+
* @default null
|
|
269
|
+
*/
|
|
270
|
+
"src": string | null;
|
|
271
|
+
/**
|
|
272
|
+
* What to render inside the circle. `icon` (default) is the generic fallback for when neither a photo nor initials are available yet.
|
|
273
|
+
* @default 'icon'
|
|
274
|
+
*/
|
|
275
|
+
"type": BsAvatarType;
|
|
276
|
+
}
|
|
209
277
|
/**
|
|
210
278
|
* A small status or category pill, usually paired with a label or list item.
|
|
211
279
|
* ## When to use
|
|
@@ -222,6 +290,109 @@ export namespace Components {
|
|
|
222
290
|
*/
|
|
223
291
|
"variant": BsBadgeVariant;
|
|
224
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* A single crumb within a `<bs-breadcrumbs>` trail: a leading separator icon plus either a link,
|
|
295
|
+
* plain text, or the current-page label, depending on `current`/`href`.
|
|
296
|
+
* Rendering follows the W3C ARIA Authoring Practices breadcrumb pattern
|
|
297
|
+
* (https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/): the current page is marked
|
|
298
|
+
* `aria-current="page"` and is never a link -- this holds even when `href` is also set, unlike
|
|
299
|
+
* Carbon Design System's `cds-breadcrumb-item`, which allows a link on the current item.
|
|
300
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
301
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
302
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
303
|
+
* ## When to use
|
|
304
|
+
* - As one crumb inside a `<bs-breadcrumbs>` trail.
|
|
305
|
+
* ## When not to use
|
|
306
|
+
* - Standalone, outside a `<bs-breadcrumbs>` wrapper -- its `<ol>`/`<nav>` context and
|
|
307
|
+
* first-child-aware separator hiding depend on that parent structure.
|
|
308
|
+
*/
|
|
309
|
+
interface BsBreadcrumb {
|
|
310
|
+
/**
|
|
311
|
+
* Whether this crumb is the current page. Renders as plain (non-link) text marked `aria-current="page"`, reflected as an attribute so consumers/CSS can target `bs-breadcrumb[current]`.
|
|
312
|
+
* @default false
|
|
313
|
+
*/
|
|
314
|
+
"current": boolean;
|
|
315
|
+
/**
|
|
316
|
+
* Destination for a non-current crumb. Ignored when `current` is true -- the current page is never a link, even if `href` is set (see the class JSDoc).
|
|
317
|
+
*/
|
|
318
|
+
"href"?: string;
|
|
319
|
+
/**
|
|
320
|
+
* Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- the container propagates its own `size` as a JS property to every slotted `bs-breadcrumb`/ `bs-breadcrumb-overflow` child (see `bs-breadcrumbs.tsx`'s `propagateSize`), since CSS custom properties can't carry an enum that switches rules on their own. Can also be set directly on a standalone crumb. `sm` scales down font-size/line-height only -- the separator icon's pixel size is unchanged, since Figma didn't specify a `sm` icon size and guessing one risked drifting off-brand. Reflected so consumers/CSS can target `bs-breadcrumb[size="sm"]`.
|
|
321
|
+
* @default 'md'
|
|
322
|
+
*/
|
|
323
|
+
"size": BsBreadcrumbSize;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* A manually-placed collapsed-items disclosure for a `<bs-breadcrumbs>` trail: a leading separator
|
|
327
|
+
* plus an icon-only ellipsis button that reveals a `bs-menu` popup listing every hidden crumb.
|
|
328
|
+
* `items` is JS-property-only -- must be set as a JS property (`el.items = [...]`), not an HTML
|
|
329
|
+
* attribute, since attributes can only carry strings. See CONVENTIONS.md.
|
|
330
|
+
* Unlike an earlier `bs-breadcrumbs`-owned automatic `maxItems` collapse, this component does no
|
|
331
|
+
* collapsing logic itself -- the consumer decides which crumbs to hide and places this element
|
|
332
|
+
* wherever they want the disclosure, exactly matching Carbon Design System's own approach (Carbon
|
|
333
|
+
* doesn't auto-collapse breadcrumbs either; a consumer there manually decides what's visible).
|
|
334
|
+
* Hidden items with an `href` render as real `<a href>` rows inside the popup, not `bs-menu-item`
|
|
335
|
+
* (which renders a `<button>`) -- this matters because consuming apps commonly use client-side
|
|
336
|
+
* routers that intercept clicks on real `<a>` tags to do `preventDefault` + push-state navigation.
|
|
337
|
+
* Rendering hidden links any other way (e.g. `window.location`) would silently break client-side
|
|
338
|
+
* routing for hidden crumbs while working fine for visible ones. Hidden items without an `href`
|
|
339
|
+
* render as plain non-interactive text, matching how `bs-breadcrumb` itself handles link vs.
|
|
340
|
+
* no-link crumbs.
|
|
341
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
342
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
343
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
344
|
+
* ## When to use
|
|
345
|
+
* - Inside a `<bs-breadcrumbs>` trail, wherever the consumer wants an interactive disclosure for
|
|
346
|
+
* crumbs they've chosen not to render directly.
|
|
347
|
+
* ## When not to use
|
|
348
|
+
* - As an automatic collapsing mechanism -- there is none; the consumer decides what's hidden.
|
|
349
|
+
*/
|
|
350
|
+
interface BsBreadcrumbOverflow {
|
|
351
|
+
/**
|
|
352
|
+
* Array prop -- must be set as a JS property (`el.items = [...]`), not an HTML attribute, since attributes can only carry strings. See CONVENTIONS.md. The hidden crumbs reachable via this disclosure -- no collapsing logic here, the consumer decides what goes in this list.
|
|
353
|
+
* @default []
|
|
354
|
+
*/
|
|
355
|
+
"items": BsBreadcrumbOverflowItem[];
|
|
356
|
+
/**
|
|
357
|
+
* Accessible name (`aria-label`) for the icon-only ellipsis trigger button.
|
|
358
|
+
* @default 'Show hidden breadcrumbs'
|
|
359
|
+
*/
|
|
360
|
+
"overflowLabel": string;
|
|
361
|
+
/**
|
|
362
|
+
* Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- see `bs-breadcrumb`'s identical `size` prop doc comment for why this is propagated as a JS property rather than inherited via CSS. Scales the popup rows' font-size/line-height only; the separator/ellipsis icons' pixel sizes are unchanged. Reflected so consumers/CSS can target `bs-breadcrumb-overflow[size="sm"]`.
|
|
363
|
+
* @default 'md'
|
|
364
|
+
*/
|
|
365
|
+
"size": BsBreadcrumbSize1;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* A breadcrumb trail container: a real `<nav>` landmark wrapping an `<ol>`, meant to be populated
|
|
369
|
+
* with slotted `<bs-breadcrumb>` (and, where the consumer wants a collapsed-items disclosure,
|
|
370
|
+
* `<bs-breadcrumb-overflow>`) children -- same composition-over-configuration architecture as
|
|
371
|
+
* Carbon Design System's `cds-breadcrumb`/`cds-breadcrumb-item`/`cds-breadcrumb-link`.
|
|
372
|
+
* This component is intentionally thin: it owns only the `<nav>` landmark and list semantics.
|
|
373
|
+
* Unlike an earlier `items`-array-driven design, there is no automatic collapsing here -- exactly
|
|
374
|
+
* like Carbon, the consumer decides what's visible and manually places a `<bs-breadcrumb-overflow>`
|
|
375
|
+
* wherever they want a collapsed-items disclosure. See `bs-breadcrumbs.mdx` for the consolidated
|
|
376
|
+
* docs covering all three components in this feature area.
|
|
377
|
+
* ## When to use
|
|
378
|
+
* - Showing a user's current location within a hierarchical page structure, with a path back to
|
|
379
|
+
* its ancestors.
|
|
380
|
+
* ## When not to use
|
|
381
|
+
* - Primary in-app navigation -- use `bs-navigation-drawer`/`bs-navigation-header` instead.
|
|
382
|
+
* - A flat set of unrelated pages with no hierarchy -- breadcrumbs imply ancestry, not just history.
|
|
383
|
+
*/
|
|
384
|
+
interface BsBreadcrumbs {
|
|
385
|
+
/**
|
|
386
|
+
* Accessible name for the `<nav>` landmark, via `aria-label`. Same pattern as `bs-navigation-drawer`'s `heading` prop.
|
|
387
|
+
* @default 'Breadcrumb'
|
|
388
|
+
*/
|
|
389
|
+
"label": string;
|
|
390
|
+
/**
|
|
391
|
+
* Size variant, propagated as a JS property to every slotted `bs-breadcrumb`/ `bs-breadcrumb-overflow` child -- this container has no visual sizing of its own (font/spacing live on the item components, see `bs-breadcrumb.tsx`'s identical `size` prop), so propagation is the only way setting `size` here reaches every crumb. CSS custom properties can't carry an enum that switches rules on their own, which is why this is pushed via JS property instead of CSS inheritance -- same reasoning as `bs-tabs` setting `selected` directly on its slotted `bs-tab`/`bs-inline-tab` children. Re-propagated on `size` changes and whenever the slotted children change (e.g. a crumb added later).
|
|
392
|
+
* @default 'md'
|
|
393
|
+
*/
|
|
394
|
+
"size": BsBreadcrumbSize1;
|
|
395
|
+
}
|
|
225
396
|
/**
|
|
226
397
|
* A clickable action element for the single most important action in a given context.
|
|
227
398
|
* ## When to use
|
|
@@ -574,6 +745,36 @@ export namespace Components {
|
|
|
574
745
|
*/
|
|
575
746
|
"size": BsCheckboxSize;
|
|
576
747
|
}
|
|
748
|
+
/**
|
|
749
|
+
* A shape-matched loading placeholder for `bs-checkbox`, shown while the real label text isn't
|
|
750
|
+
* known yet (e.g. still being fetched from an API). Renders a small square (matching the
|
|
751
|
+
* checkbox's own box) beside a text-bar placeholder (standing in for the label), both pulsing
|
|
752
|
+
* together, sized to match `bs-checkbox`'s `sm`/`md`/`lg` box dimensions so layout doesn't shift
|
|
753
|
+
* once the real checkbox renders.
|
|
754
|
+
* ## When to use
|
|
755
|
+
* - In place of a `bs-checkbox` whose label/checked state depends on data that hasn't loaded yet.
|
|
756
|
+
* ## When not to use
|
|
757
|
+
* - While a checkbox's own change handler is running (e.g. a save request in flight) -- render the
|
|
758
|
+
* real `bs-checkbox` itself; this component is not a saving-in-progress spinner.
|
|
759
|
+
* @prop --bs-checkbox-skeleton-size-sm - Box width/height at `size="sm"`. Aliased to
|
|
760
|
+
* `--bs-spacing-200`, mirroring `bs-checkbox`'s own `--bs-checkbox-size-sm` -- not read directly
|
|
761
|
+
* from it, since these are two separate shadow roots.
|
|
762
|
+
* @prop --bs-checkbox-skeleton-size-md - Box width/height at `size="md"`. Aliased to
|
|
763
|
+
* `--bs-spacing-250`.
|
|
764
|
+
* @prop --bs-checkbox-skeleton-size-lg - Box width/height at `size="lg"`. Aliased to
|
|
765
|
+
* `--bs-spacing-300`.
|
|
766
|
+
* @prop --bs-checkbox-skeleton-gap - Gap between the box and label placeholders. Aliased to
|
|
767
|
+
* `--bs-spacing-100`, mirroring `bs-checkbox`'s own `--bs-checkbox-gap`.
|
|
768
|
+
* @prop --bs-checkbox-skeleton-label-width - Width of the label placeholder bar. Defaults to
|
|
769
|
+
* `96px`.
|
|
770
|
+
*/
|
|
771
|
+
interface BsCheckboxSkeleton {
|
|
772
|
+
/**
|
|
773
|
+
* Sizing scale, matching the `bs-checkbox` size it stands in for. Defaults to `lg`, the same (unusual) default `bs-checkbox` itself uses.
|
|
774
|
+
* @default 'lg'
|
|
775
|
+
*/
|
|
776
|
+
"size": BsCheckboxSize1;
|
|
777
|
+
}
|
|
577
778
|
/**
|
|
578
779
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
579
780
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -764,6 +965,40 @@ export namespace Components {
|
|
|
764
965
|
*/
|
|
765
966
|
"sortDirection": 'asc' | 'desc';
|
|
766
967
|
}
|
|
968
|
+
/**
|
|
969
|
+
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
970
|
+
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
971
|
+
* ## When to use
|
|
972
|
+
* - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
|
|
973
|
+
* - A short, focused task that doesn't warrant navigating to a new page.
|
|
974
|
+
* ## When not to use
|
|
975
|
+
* - For non-blocking status messages — use a toast/notification instead of interrupting the user.
|
|
976
|
+
* - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
|
|
977
|
+
* dialog that just gets taller and taller.
|
|
978
|
+
* Two additional slots cover the Figma "Dialog" component's other states: `image` (a hero image
|
|
979
|
+
* across the top, close button floats over it instead of sitting in the header row) and `icon`
|
|
980
|
+
* (only rendered when `centered` is set, e.g. a success checkmark above a centered heading). The
|
|
981
|
+
* close button "floats" (absolute-positioned, top-right of the dialog, with its own background)
|
|
982
|
+
* whenever `centered` is true or the `image` slot has content -- otherwise it's the plain inline
|
|
983
|
+
* button in the header row next to the heading, same as before this addition.
|
|
984
|
+
*/
|
|
985
|
+
interface BsDialog {
|
|
986
|
+
/**
|
|
987
|
+
* Switches to the Figma "Icon Centered" layout: heading/body text centered, the `icon` slot rendered above the heading, and the close button floating top-right of the dialog instead of inline in the header row. Doesn't hide a slotted `image` if one is also provided -- Figma's spec doesn't show the two combined, so this is unspecified rather than actively blocked. Reflected so consumers/CSS can target `bs-dialog[centered]`.
|
|
988
|
+
* @default false
|
|
989
|
+
*/
|
|
990
|
+
"centered": boolean;
|
|
991
|
+
"heading"?: string;
|
|
992
|
+
/**
|
|
993
|
+
* Mutable + reflected so the component can close itself (backdrop click, Escape, close button) the same way a native `<dialog>` does, while still emitting `bsClose` for the consumer to react to.
|
|
994
|
+
* @default false
|
|
995
|
+
*/
|
|
996
|
+
"open": boolean;
|
|
997
|
+
/**
|
|
998
|
+
* @default 'md'
|
|
999
|
+
*/
|
|
1000
|
+
"size": BsDialogSize;
|
|
1001
|
+
}
|
|
767
1002
|
/**
|
|
768
1003
|
* A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
|
|
769
1004
|
* 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
|
|
@@ -1050,36 +1285,14 @@ export namespace Components {
|
|
|
1050
1285
|
*/
|
|
1051
1286
|
"disabled": boolean;
|
|
1052
1287
|
}
|
|
1053
|
-
/**
|
|
1054
|
-
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
1055
|
-
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
1056
|
-
* ## When to use
|
|
1057
|
-
* - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
|
|
1058
|
-
* - A short, focused task that doesn't warrant navigating to a new page.
|
|
1059
|
-
* ## When not to use
|
|
1060
|
-
* - For non-blocking status messages — use a toast/notification instead of interrupting the user.
|
|
1061
|
-
* - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
|
|
1062
|
-
* modal that just gets taller and taller.
|
|
1063
|
-
*/
|
|
1064
|
-
interface BsModal {
|
|
1065
|
-
"heading"?: string;
|
|
1066
|
-
/**
|
|
1067
|
-
* Mutable + reflected so the component can close itself (backdrop click, Escape, close button) the same way a native `<dialog>` does, while still emitting `bsClose` for the consumer to react to.
|
|
1068
|
-
* @default false
|
|
1069
|
-
*/
|
|
1070
|
-
"open": boolean;
|
|
1071
|
-
/**
|
|
1072
|
-
* @default 'md'
|
|
1073
|
-
*/
|
|
1074
|
-
"size": BsModalSize;
|
|
1075
|
-
}
|
|
1076
1288
|
/**
|
|
1077
1289
|
* A left-side persistent navigation sidebar: the BrandSync logo, a "Main Menu" title with a
|
|
1078
1290
|
* collapse toggle, a reserved slot for a search field, and a scrollable list of nav items.
|
|
1079
1291
|
* ## When to use
|
|
1080
1292
|
* - The primary in-app navigation, shown alongside `bs-navigation-header` (typically that
|
|
1081
1293
|
* header's `with-navigation-drawer` alignment, which omits its own logo since this component
|
|
1082
|
-
* already renders one
|
|
1294
|
+
* already renders one -- or the reverse pairing, this drawer's own `showLogo={false}` alongside
|
|
1295
|
+
* a header that keeps its logo instead, see that prop's own docs).
|
|
1083
1296
|
* ## When not to use
|
|
1084
1297
|
* - The top navigation bar itself -- use `bs-navigation-header` instead.
|
|
1085
1298
|
* This component renders a real `<nav>` landmark (no explicit `role` needed -- `<nav>` already
|
|
@@ -1127,6 +1340,11 @@ export namespace Components {
|
|
|
1127
1340
|
* @default 'auto'
|
|
1128
1341
|
*/
|
|
1129
1342
|
"logoBackground": 'auto' | 'light' | 'dark';
|
|
1343
|
+
/**
|
|
1344
|
+
* Whether to render the BrandSync logo at all. Defaults to `true`. This drawer is normally the one that owns the logo when paired with a `bs-navigation-header` (that header's own `with-navigation-drawer` alignment omits its logo for exactly this reason) -- but the reverse pairing works too: a header that keeps its own logo (`alignment="default"`) paired with this drawer set to `showLogo={false}`, so the brand mark only ever appears once.
|
|
1345
|
+
* @default true
|
|
1346
|
+
*/
|
|
1347
|
+
"showLogo": boolean;
|
|
1130
1348
|
}
|
|
1131
1349
|
/**
|
|
1132
1350
|
* A single row within a `bs-navigation-drawer`'s item list -- either a plain leaf nav item, or an
|
|
@@ -1233,6 +1451,48 @@ export namespace Components {
|
|
|
1233
1451
|
*/
|
|
1234
1452
|
"skipToContentLabel": string;
|
|
1235
1453
|
}
|
|
1454
|
+
/**
|
|
1455
|
+
* A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
|
|
1456
|
+
* large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
|
|
1457
|
+
* numbered pagination); its other type ("jumper" -- a rows-per-page dropdown plus a page-jump
|
|
1458
|
+
* input) is a structurally different composite widget and isn't covered by this component.
|
|
1459
|
+
* `totalPages`/`currentPage` drive everything -- this computes which page numbers to show and
|
|
1460
|
+
* where to collapse into `...` itself, the consumer never builds the button list by hand.
|
|
1461
|
+
* ## When to use
|
|
1462
|
+
* - Paging through a large, ordered result set (a table, a search results list) where jumping
|
|
1463
|
+
* directly to a specific page number is useful.
|
|
1464
|
+
* ## When not to use
|
|
1465
|
+
* - Infinite-scroll or "load more" patterns -- those don't have a fixed, addressable page number.
|
|
1466
|
+
* - A huge page count where users realistically only ever go forward/back one page at a time --
|
|
1467
|
+
* plain prev/next controls (no numbers) are simpler there.
|
|
1468
|
+
*/
|
|
1469
|
+
interface BsPagination {
|
|
1470
|
+
/**
|
|
1471
|
+
* The active page (1-indexed). Mutable + reflected so clicking a page button updates it directly, the same way `bs-modal`'s `open` self-manages, while `bsPageChange` still fires for the consumer to react to (e.g. fetching that page's data).
|
|
1472
|
+
* @default 1
|
|
1473
|
+
*/
|
|
1474
|
+
"currentPage": number;
|
|
1475
|
+
/**
|
|
1476
|
+
* Accessible name for the next-page button.
|
|
1477
|
+
* @default 'Next page'
|
|
1478
|
+
*/
|
|
1479
|
+
"nextLabel": string;
|
|
1480
|
+
/**
|
|
1481
|
+
* Accessible name for the previous-page button.
|
|
1482
|
+
* @default 'Previous page'
|
|
1483
|
+
*/
|
|
1484
|
+
"previousLabel": string;
|
|
1485
|
+
/**
|
|
1486
|
+
* How many page numbers to show on each side of the current page before collapsing the rest into `...`. `1` (the default) reproduces the Figma spec's example exactly (page 1 of 12 shows `1 2 3 ... 12`).
|
|
1487
|
+
* @default 1
|
|
1488
|
+
*/
|
|
1489
|
+
"siblingCount": number;
|
|
1490
|
+
/**
|
|
1491
|
+
* Total number of pages. Must be a positive integer -- there's always at least one page.
|
|
1492
|
+
* @default 1
|
|
1493
|
+
*/
|
|
1494
|
+
"totalPages": number;
|
|
1495
|
+
}
|
|
1236
1496
|
/**
|
|
1237
1497
|
* A single radio button with its label, for one mutually-exclusive choice within a group.
|
|
1238
1498
|
* ## When to use
|
|
@@ -1338,6 +1598,41 @@ export namespace Components {
|
|
|
1338
1598
|
*/
|
|
1339
1599
|
"valueStart"?: number;
|
|
1340
1600
|
}
|
|
1601
|
+
/**
|
|
1602
|
+
* A transient status bar for confirming the result of an action (e.g. "Files uploaded
|
|
1603
|
+
* successfully.") -- an icon (or loading spinner), a message, an optional action, and a close
|
|
1604
|
+
* button.
|
|
1605
|
+
* This component only renders the bar itself -- it doesn't manage its own visibility, timing, or
|
|
1606
|
+
* stacking. A consumer (typically a small "toast manager" utility) creates one per message and
|
|
1607
|
+
* removes it from the DOM again, whether on a timer or on `bsDismiss`. Figma's spec doesn't show
|
|
1608
|
+
* auto-dismiss timing at all (it's a static visual spec), so this deliberately doesn't invent one.
|
|
1609
|
+
* The icon is always the same checkmark glyph across every `variant`, just recolored -- matching
|
|
1610
|
+
* the Figma spec exactly, even though a checkmark for `variant="error"` reads a little oddly
|
|
1611
|
+
* semantically. Worth revisiting with severity-specific icons (warning triangle, error circle,
|
|
1612
|
+
* etc.) if the design updates to specify them.
|
|
1613
|
+
* ## When to use
|
|
1614
|
+
* - Confirming the outcome of an action that just happened (save succeeded, upload failed) without
|
|
1615
|
+
* interrupting the user's flow.
|
|
1616
|
+
* ## When not to use
|
|
1617
|
+
* - For a response that requires the user to make a decision before continuing -- use `bs-dialog`.
|
|
1618
|
+
* - For persistent, always-visible status -- a snackbar is inherently transient.
|
|
1619
|
+
*/
|
|
1620
|
+
interface BsSnackbar {
|
|
1621
|
+
/**
|
|
1622
|
+
* Label for the optional action button (e.g. "Undo", "Retry"). Omit this prop entirely to render no action button at all -- its presence, not a boolean flag, is what shows it.
|
|
1623
|
+
*/
|
|
1624
|
+
"actionLabel"?: string;
|
|
1625
|
+
/**
|
|
1626
|
+
* Replaces the checkmark icon with a spinning loading indicator, for a message describing in-progress work (e.g. "Uploading files...") rather than a completed result.
|
|
1627
|
+
* @default false
|
|
1628
|
+
*/
|
|
1629
|
+
"loading": boolean;
|
|
1630
|
+
/**
|
|
1631
|
+
* Color/semantic variant. `default` is the neutral (dark, inverse-surface) bar Figma shows as the baseline; `info`/`warning`/`success`/`error` use their matching container/text tokens.
|
|
1632
|
+
* @default 'default'
|
|
1633
|
+
*/
|
|
1634
|
+
"variant": BsSnackbarVariant;
|
|
1635
|
+
}
|
|
1341
1636
|
/**
|
|
1342
1637
|
* A single citation row inside `bs-chatbot-sources-drawer` -- a file icon + filename on the first
|
|
1343
1638
|
* line, the originating system and version on the second, and a trailing "open" arrow.
|
|
@@ -1563,6 +1858,10 @@ export interface BsDataTableCustomEvent<T> extends CustomEvent<T> {
|
|
|
1563
1858
|
detail: T;
|
|
1564
1859
|
target: HTMLBsDataTableElement;
|
|
1565
1860
|
}
|
|
1861
|
+
export interface BsDialogCustomEvent<T> extends CustomEvent<T> {
|
|
1862
|
+
detail: T;
|
|
1863
|
+
target: HTMLBsDialogElement;
|
|
1864
|
+
}
|
|
1566
1865
|
export interface BsInlineTabCustomEvent<T> extends CustomEvent<T> {
|
|
1567
1866
|
detail: T;
|
|
1568
1867
|
target: HTMLBsInlineTabElement;
|
|
@@ -1575,10 +1874,6 @@ export interface BsMenuItemCustomEvent<T> extends CustomEvent<T> {
|
|
|
1575
1874
|
detail: T;
|
|
1576
1875
|
target: HTMLBsMenuItemElement;
|
|
1577
1876
|
}
|
|
1578
|
-
export interface BsModalCustomEvent<T> extends CustomEvent<T> {
|
|
1579
|
-
detail: T;
|
|
1580
|
-
target: HTMLBsModalElement;
|
|
1581
|
-
}
|
|
1582
1877
|
export interface BsNavigationDrawerCustomEvent<T> extends CustomEvent<T> {
|
|
1583
1878
|
detail: T;
|
|
1584
1879
|
target: HTMLBsNavigationDrawerElement;
|
|
@@ -1587,6 +1882,10 @@ export interface BsNavigationDrawerItemCustomEvent<T> extends CustomEvent<T> {
|
|
|
1587
1882
|
detail: T;
|
|
1588
1883
|
target: HTMLBsNavigationDrawerItemElement;
|
|
1589
1884
|
}
|
|
1885
|
+
export interface BsPaginationCustomEvent<T> extends CustomEvent<T> {
|
|
1886
|
+
detail: T;
|
|
1887
|
+
target: HTMLBsPaginationElement;
|
|
1888
|
+
}
|
|
1590
1889
|
export interface BsRadioCustomEvent<T> extends CustomEvent<T> {
|
|
1591
1890
|
detail: T;
|
|
1592
1891
|
target: HTMLBsRadioElement;
|
|
@@ -1595,6 +1894,10 @@ export interface BsSliderCustomEvent<T> extends CustomEvent<T> {
|
|
|
1595
1894
|
detail: T;
|
|
1596
1895
|
target: HTMLBsSliderElement;
|
|
1597
1896
|
}
|
|
1897
|
+
export interface BsSnackbarCustomEvent<T> extends CustomEvent<T> {
|
|
1898
|
+
detail: T;
|
|
1899
|
+
target: HTMLBsSnackbarElement;
|
|
1900
|
+
}
|
|
1598
1901
|
export interface BsSourceLinkCustomEvent<T> extends CustomEvent<T> {
|
|
1599
1902
|
detail: T;
|
|
1600
1903
|
target: HTMLBsSourceLinkElement;
|
|
@@ -1757,6 +2060,31 @@ declare global {
|
|
|
1757
2060
|
prototype: HTMLBsAttachmentListElement;
|
|
1758
2061
|
new (): HTMLBsAttachmentListElement;
|
|
1759
2062
|
};
|
|
2063
|
+
/**
|
|
2064
|
+
* A circular representation of a person or entity -- a photo, initials, or (as a fallback when
|
|
2065
|
+
* neither is available) a generic user-silhouette icon.
|
|
2066
|
+
* ## When to use
|
|
2067
|
+
* - Representing a specific user or account: in a header, a comment, a member list, etc.
|
|
2068
|
+
* - `type="initials"` when a photo isn't available but a name is (e.g. "Sam Lee" -> "SL").
|
|
2069
|
+
* - `type="icon"` (the default) as the generic fallback when neither a photo nor a name/initials
|
|
2070
|
+
* is available yet.
|
|
2071
|
+
* ## When not to use
|
|
2072
|
+
* - A company/brand logo -- use `bs-logo` instead.
|
|
2073
|
+
* This component is decorative/informational by default, not an interactive control -- it renders
|
|
2074
|
+
* a plain `<span>`/`<img>`, not a `<button>`. Figma's own component set includes hover/focused/
|
|
2075
|
+
* pressed states (e.g. for an account-switcher trigger use case), which this implements as real
|
|
2076
|
+
* `:hover`/`:focus-visible`/`:active` CSS on the host itself -- so wrapping this in your own
|
|
2077
|
+
* `<button>`, or setting `tabindex` and a click handler on the `<bs-avatar>` element directly, gets
|
|
2078
|
+
* the matching visual treatment for free with no extra wiring. Left genuinely non-interactive
|
|
2079
|
+
* (no implicit role/tabindex of its own) so it doesn't misrepresent a purely decorative avatar
|
|
2080
|
+
* (e.g. next to a comment) as a control when it isn't one.
|
|
2081
|
+
*/
|
|
2082
|
+
interface HTMLBsAvatarElement extends Components.BsAvatar, HTMLStencilElement {
|
|
2083
|
+
}
|
|
2084
|
+
var HTMLBsAvatarElement: {
|
|
2085
|
+
prototype: HTMLBsAvatarElement;
|
|
2086
|
+
new (): HTMLBsAvatarElement;
|
|
2087
|
+
};
|
|
1760
2088
|
/**
|
|
1761
2089
|
* A small status or category pill, usually paired with a label or list item.
|
|
1762
2090
|
* ## When to use
|
|
@@ -1772,6 +2100,82 @@ declare global {
|
|
|
1772
2100
|
prototype: HTMLBsBadgeElement;
|
|
1773
2101
|
new (): HTMLBsBadgeElement;
|
|
1774
2102
|
};
|
|
2103
|
+
/**
|
|
2104
|
+
* A single crumb within a `<bs-breadcrumbs>` trail: a leading separator icon plus either a link,
|
|
2105
|
+
* plain text, or the current-page label, depending on `current`/`href`.
|
|
2106
|
+
* Rendering follows the W3C ARIA Authoring Practices breadcrumb pattern
|
|
2107
|
+
* (https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/): the current page is marked
|
|
2108
|
+
* `aria-current="page"` and is never a link -- this holds even when `href` is also set, unlike
|
|
2109
|
+
* Carbon Design System's `cds-breadcrumb-item`, which allows a link on the current item.
|
|
2110
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
2111
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
2112
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
2113
|
+
* ## When to use
|
|
2114
|
+
* - As one crumb inside a `<bs-breadcrumbs>` trail.
|
|
2115
|
+
* ## When not to use
|
|
2116
|
+
* - Standalone, outside a `<bs-breadcrumbs>` wrapper -- its `<ol>`/`<nav>` context and
|
|
2117
|
+
* first-child-aware separator hiding depend on that parent structure.
|
|
2118
|
+
*/
|
|
2119
|
+
interface HTMLBsBreadcrumbElement extends Components.BsBreadcrumb, HTMLStencilElement {
|
|
2120
|
+
}
|
|
2121
|
+
var HTMLBsBreadcrumbElement: {
|
|
2122
|
+
prototype: HTMLBsBreadcrumbElement;
|
|
2123
|
+
new (): HTMLBsBreadcrumbElement;
|
|
2124
|
+
};
|
|
2125
|
+
/**
|
|
2126
|
+
* A manually-placed collapsed-items disclosure for a `<bs-breadcrumbs>` trail: a leading separator
|
|
2127
|
+
* plus an icon-only ellipsis button that reveals a `bs-menu` popup listing every hidden crumb.
|
|
2128
|
+
* `items` is JS-property-only -- must be set as a JS property (`el.items = [...]`), not an HTML
|
|
2129
|
+
* attribute, since attributes can only carry strings. See CONVENTIONS.md.
|
|
2130
|
+
* Unlike an earlier `bs-breadcrumbs`-owned automatic `maxItems` collapse, this component does no
|
|
2131
|
+
* collapsing logic itself -- the consumer decides which crumbs to hide and places this element
|
|
2132
|
+
* wherever they want the disclosure, exactly matching Carbon Design System's own approach (Carbon
|
|
2133
|
+
* doesn't auto-collapse breadcrumbs either; a consumer there manually decides what's visible).
|
|
2134
|
+
* Hidden items with an `href` render as real `<a href>` rows inside the popup, not `bs-menu-item`
|
|
2135
|
+
* (which renders a `<button>`) -- this matters because consuming apps commonly use client-side
|
|
2136
|
+
* routers that intercept clicks on real `<a>` tags to do `preventDefault` + push-state navigation.
|
|
2137
|
+
* Rendering hidden links any other way (e.g. `window.location`) would silently break client-side
|
|
2138
|
+
* routing for hidden crumbs while working fine for visible ones. Hidden items without an `href`
|
|
2139
|
+
* render as plain non-interactive text, matching how `bs-breadcrumb` itself handles link vs.
|
|
2140
|
+
* no-link crumbs.
|
|
2141
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
2142
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
2143
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
2144
|
+
* ## When to use
|
|
2145
|
+
* - Inside a `<bs-breadcrumbs>` trail, wherever the consumer wants an interactive disclosure for
|
|
2146
|
+
* crumbs they've chosen not to render directly.
|
|
2147
|
+
* ## When not to use
|
|
2148
|
+
* - As an automatic collapsing mechanism -- there is none; the consumer decides what's hidden.
|
|
2149
|
+
*/
|
|
2150
|
+
interface HTMLBsBreadcrumbOverflowElement extends Components.BsBreadcrumbOverflow, HTMLStencilElement {
|
|
2151
|
+
}
|
|
2152
|
+
var HTMLBsBreadcrumbOverflowElement: {
|
|
2153
|
+
prototype: HTMLBsBreadcrumbOverflowElement;
|
|
2154
|
+
new (): HTMLBsBreadcrumbOverflowElement;
|
|
2155
|
+
};
|
|
2156
|
+
/**
|
|
2157
|
+
* A breadcrumb trail container: a real `<nav>` landmark wrapping an `<ol>`, meant to be populated
|
|
2158
|
+
* with slotted `<bs-breadcrumb>` (and, where the consumer wants a collapsed-items disclosure,
|
|
2159
|
+
* `<bs-breadcrumb-overflow>`) children -- same composition-over-configuration architecture as
|
|
2160
|
+
* Carbon Design System's `cds-breadcrumb`/`cds-breadcrumb-item`/`cds-breadcrumb-link`.
|
|
2161
|
+
* This component is intentionally thin: it owns only the `<nav>` landmark and list semantics.
|
|
2162
|
+
* Unlike an earlier `items`-array-driven design, there is no automatic collapsing here -- exactly
|
|
2163
|
+
* like Carbon, the consumer decides what's visible and manually places a `<bs-breadcrumb-overflow>`
|
|
2164
|
+
* wherever they want a collapsed-items disclosure. See `bs-breadcrumbs.mdx` for the consolidated
|
|
2165
|
+
* docs covering all three components in this feature area.
|
|
2166
|
+
* ## When to use
|
|
2167
|
+
* - Showing a user's current location within a hierarchical page structure, with a path back to
|
|
2168
|
+
* its ancestors.
|
|
2169
|
+
* ## When not to use
|
|
2170
|
+
* - Primary in-app navigation -- use `bs-navigation-drawer`/`bs-navigation-header` instead.
|
|
2171
|
+
* - A flat set of unrelated pages with no hierarchy -- breadcrumbs imply ancestry, not just history.
|
|
2172
|
+
*/
|
|
2173
|
+
interface HTMLBsBreadcrumbsElement extends Components.BsBreadcrumbs, HTMLStencilElement {
|
|
2174
|
+
}
|
|
2175
|
+
var HTMLBsBreadcrumbsElement: {
|
|
2176
|
+
prototype: HTMLBsBreadcrumbsElement;
|
|
2177
|
+
new (): HTMLBsBreadcrumbsElement;
|
|
2178
|
+
};
|
|
1775
2179
|
/**
|
|
1776
2180
|
* A clickable action element for the single most important action in a given context.
|
|
1777
2181
|
* ## When to use
|
|
@@ -2117,6 +2521,35 @@ declare global {
|
|
|
2117
2521
|
prototype: HTMLBsCheckboxElement;
|
|
2118
2522
|
new (): HTMLBsCheckboxElement;
|
|
2119
2523
|
};
|
|
2524
|
+
/**
|
|
2525
|
+
* A shape-matched loading placeholder for `bs-checkbox`, shown while the real label text isn't
|
|
2526
|
+
* known yet (e.g. still being fetched from an API). Renders a small square (matching the
|
|
2527
|
+
* checkbox's own box) beside a text-bar placeholder (standing in for the label), both pulsing
|
|
2528
|
+
* together, sized to match `bs-checkbox`'s `sm`/`md`/`lg` box dimensions so layout doesn't shift
|
|
2529
|
+
* once the real checkbox renders.
|
|
2530
|
+
* ## When to use
|
|
2531
|
+
* - In place of a `bs-checkbox` whose label/checked state depends on data that hasn't loaded yet.
|
|
2532
|
+
* ## When not to use
|
|
2533
|
+
* - While a checkbox's own change handler is running (e.g. a save request in flight) -- render the
|
|
2534
|
+
* real `bs-checkbox` itself; this component is not a saving-in-progress spinner.
|
|
2535
|
+
* @prop --bs-checkbox-skeleton-size-sm - Box width/height at `size="sm"`. Aliased to
|
|
2536
|
+
* `--bs-spacing-200`, mirroring `bs-checkbox`'s own `--bs-checkbox-size-sm` -- not read directly
|
|
2537
|
+
* from it, since these are two separate shadow roots.
|
|
2538
|
+
* @prop --bs-checkbox-skeleton-size-md - Box width/height at `size="md"`. Aliased to
|
|
2539
|
+
* `--bs-spacing-250`.
|
|
2540
|
+
* @prop --bs-checkbox-skeleton-size-lg - Box width/height at `size="lg"`. Aliased to
|
|
2541
|
+
* `--bs-spacing-300`.
|
|
2542
|
+
* @prop --bs-checkbox-skeleton-gap - Gap between the box and label placeholders. Aliased to
|
|
2543
|
+
* `--bs-spacing-100`, mirroring `bs-checkbox`'s own `--bs-checkbox-gap`.
|
|
2544
|
+
* @prop --bs-checkbox-skeleton-label-width - Width of the label placeholder bar. Defaults to
|
|
2545
|
+
* `96px`.
|
|
2546
|
+
*/
|
|
2547
|
+
interface HTMLBsCheckboxSkeletonElement extends Components.BsCheckboxSkeleton, HTMLStencilElement {
|
|
2548
|
+
}
|
|
2549
|
+
var HTMLBsCheckboxSkeletonElement: {
|
|
2550
|
+
prototype: HTMLBsCheckboxSkeletonElement;
|
|
2551
|
+
new (): HTMLBsCheckboxSkeletonElement;
|
|
2552
|
+
};
|
|
2120
2553
|
interface HTMLBsComposerElementEventMap {
|
|
2121
2554
|
"bsInput": string;
|
|
2122
2555
|
"bsSubmit": void;
|
|
@@ -2282,6 +2715,40 @@ declare global {
|
|
|
2282
2715
|
prototype: HTMLBsDataTableElement;
|
|
2283
2716
|
new (): HTMLBsDataTableElement;
|
|
2284
2717
|
};
|
|
2718
|
+
interface HTMLBsDialogElementEventMap {
|
|
2719
|
+
"bsClose": void;
|
|
2720
|
+
}
|
|
2721
|
+
/**
|
|
2722
|
+
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
2723
|
+
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
2724
|
+
* ## When to use
|
|
2725
|
+
* - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
|
|
2726
|
+
* - A short, focused task that doesn't warrant navigating to a new page.
|
|
2727
|
+
* ## When not to use
|
|
2728
|
+
* - For non-blocking status messages — use a toast/notification instead of interrupting the user.
|
|
2729
|
+
* - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
|
|
2730
|
+
* dialog that just gets taller and taller.
|
|
2731
|
+
* Two additional slots cover the Figma "Dialog" component's other states: `image` (a hero image
|
|
2732
|
+
* across the top, close button floats over it instead of sitting in the header row) and `icon`
|
|
2733
|
+
* (only rendered when `centered` is set, e.g. a success checkmark above a centered heading). The
|
|
2734
|
+
* close button "floats" (absolute-positioned, top-right of the dialog, with its own background)
|
|
2735
|
+
* whenever `centered` is true or the `image` slot has content -- otherwise it's the plain inline
|
|
2736
|
+
* button in the header row next to the heading, same as before this addition.
|
|
2737
|
+
*/
|
|
2738
|
+
interface HTMLBsDialogElement extends Components.BsDialog, HTMLStencilElement {
|
|
2739
|
+
addEventListener<K extends keyof HTMLBsDialogElementEventMap>(type: K, listener: (this: HTMLBsDialogElement, ev: BsDialogCustomEvent<HTMLBsDialogElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2740
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2741
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2742
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2743
|
+
removeEventListener<K extends keyof HTMLBsDialogElementEventMap>(type: K, listener: (this: HTMLBsDialogElement, ev: BsDialogCustomEvent<HTMLBsDialogElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2744
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2745
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2746
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2747
|
+
}
|
|
2748
|
+
var HTMLBsDialogElement: {
|
|
2749
|
+
prototype: HTMLBsDialogElement;
|
|
2750
|
+
new (): HTMLBsDialogElement;
|
|
2751
|
+
};
|
|
2285
2752
|
/**
|
|
2286
2753
|
* A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
|
|
2287
2754
|
* 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
|
|
@@ -2474,34 +2941,6 @@ declare global {
|
|
|
2474
2941
|
prototype: HTMLBsMenuItemElement;
|
|
2475
2942
|
new (): HTMLBsMenuItemElement;
|
|
2476
2943
|
};
|
|
2477
|
-
interface HTMLBsModalElementEventMap {
|
|
2478
|
-
"bsClose": void;
|
|
2479
|
-
}
|
|
2480
|
-
/**
|
|
2481
|
-
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
2482
|
-
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
2483
|
-
* ## When to use
|
|
2484
|
-
* - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
|
|
2485
|
-
* - A short, focused task that doesn't warrant navigating to a new page.
|
|
2486
|
-
* ## When not to use
|
|
2487
|
-
* - For non-blocking status messages — use a toast/notification instead of interrupting the user.
|
|
2488
|
-
* - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
|
|
2489
|
-
* modal that just gets taller and taller.
|
|
2490
|
-
*/
|
|
2491
|
-
interface HTMLBsModalElement extends Components.BsModal, HTMLStencilElement {
|
|
2492
|
-
addEventListener<K extends keyof HTMLBsModalElementEventMap>(type: K, listener: (this: HTMLBsModalElement, ev: BsModalCustomEvent<HTMLBsModalElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2493
|
-
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2494
|
-
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2495
|
-
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2496
|
-
removeEventListener<K extends keyof HTMLBsModalElementEventMap>(type: K, listener: (this: HTMLBsModalElement, ev: BsModalCustomEvent<HTMLBsModalElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2497
|
-
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2498
|
-
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2499
|
-
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2500
|
-
}
|
|
2501
|
-
var HTMLBsModalElement: {
|
|
2502
|
-
prototype: HTMLBsModalElement;
|
|
2503
|
-
new (): HTMLBsModalElement;
|
|
2504
|
-
};
|
|
2505
2944
|
interface HTMLBsNavigationDrawerElementEventMap {
|
|
2506
2945
|
"bsCollapse": boolean;
|
|
2507
2946
|
"bsSearchClick": void;
|
|
@@ -2512,7 +2951,8 @@ declare global {
|
|
|
2512
2951
|
* ## When to use
|
|
2513
2952
|
* - The primary in-app navigation, shown alongside `bs-navigation-header` (typically that
|
|
2514
2953
|
* header's `with-navigation-drawer` alignment, which omits its own logo since this component
|
|
2515
|
-
* already renders one
|
|
2954
|
+
* already renders one -- or the reverse pairing, this drawer's own `showLogo={false}` alongside
|
|
2955
|
+
* a header that keeps its logo instead, see that prop's own docs).
|
|
2516
2956
|
* ## When not to use
|
|
2517
2957
|
* - The top navigation bar itself -- use `bs-navigation-header` instead.
|
|
2518
2958
|
* This component renders a real `<nav>` landmark (no explicit `role` needed -- `<nav>` already
|
|
@@ -2623,6 +3063,38 @@ declare global {
|
|
|
2623
3063
|
prototype: HTMLBsNavigationHeaderElement;
|
|
2624
3064
|
new (): HTMLBsNavigationHeaderElement;
|
|
2625
3065
|
};
|
|
3066
|
+
interface HTMLBsPaginationElementEventMap {
|
|
3067
|
+
"bsPageChange": number;
|
|
3068
|
+
}
|
|
3069
|
+
/**
|
|
3070
|
+
* A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
|
|
3071
|
+
* large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
|
|
3072
|
+
* numbered pagination); its other type ("jumper" -- a rows-per-page dropdown plus a page-jump
|
|
3073
|
+
* input) is a structurally different composite widget and isn't covered by this component.
|
|
3074
|
+
* `totalPages`/`currentPage` drive everything -- this computes which page numbers to show and
|
|
3075
|
+
* where to collapse into `...` itself, the consumer never builds the button list by hand.
|
|
3076
|
+
* ## When to use
|
|
3077
|
+
* - Paging through a large, ordered result set (a table, a search results list) where jumping
|
|
3078
|
+
* directly to a specific page number is useful.
|
|
3079
|
+
* ## When not to use
|
|
3080
|
+
* - Infinite-scroll or "load more" patterns -- those don't have a fixed, addressable page number.
|
|
3081
|
+
* - A huge page count where users realistically only ever go forward/back one page at a time --
|
|
3082
|
+
* plain prev/next controls (no numbers) are simpler there.
|
|
3083
|
+
*/
|
|
3084
|
+
interface HTMLBsPaginationElement extends Components.BsPagination, HTMLStencilElement {
|
|
3085
|
+
addEventListener<K extends keyof HTMLBsPaginationElementEventMap>(type: K, listener: (this: HTMLBsPaginationElement, ev: BsPaginationCustomEvent<HTMLBsPaginationElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3086
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3087
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3088
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3089
|
+
removeEventListener<K extends keyof HTMLBsPaginationElementEventMap>(type: K, listener: (this: HTMLBsPaginationElement, ev: BsPaginationCustomEvent<HTMLBsPaginationElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3090
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3091
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3092
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3093
|
+
}
|
|
3094
|
+
var HTMLBsPaginationElement: {
|
|
3095
|
+
prototype: HTMLBsPaginationElement;
|
|
3096
|
+
new (): HTMLBsPaginationElement;
|
|
3097
|
+
};
|
|
2626
3098
|
interface HTMLBsRadioElementEventMap {
|
|
2627
3099
|
"bsChange": string;
|
|
2628
3100
|
}
|
|
@@ -2683,6 +3155,43 @@ declare global {
|
|
|
2683
3155
|
prototype: HTMLBsSliderElement;
|
|
2684
3156
|
new (): HTMLBsSliderElement;
|
|
2685
3157
|
};
|
|
3158
|
+
interface HTMLBsSnackbarElementEventMap {
|
|
3159
|
+
"bsAction": void;
|
|
3160
|
+
"bsDismiss": void;
|
|
3161
|
+
}
|
|
3162
|
+
/**
|
|
3163
|
+
* A transient status bar for confirming the result of an action (e.g. "Files uploaded
|
|
3164
|
+
* successfully.") -- an icon (or loading spinner), a message, an optional action, and a close
|
|
3165
|
+
* button.
|
|
3166
|
+
* This component only renders the bar itself -- it doesn't manage its own visibility, timing, or
|
|
3167
|
+
* stacking. A consumer (typically a small "toast manager" utility) creates one per message and
|
|
3168
|
+
* removes it from the DOM again, whether on a timer or on `bsDismiss`. Figma's spec doesn't show
|
|
3169
|
+
* auto-dismiss timing at all (it's a static visual spec), so this deliberately doesn't invent one.
|
|
3170
|
+
* The icon is always the same checkmark glyph across every `variant`, just recolored -- matching
|
|
3171
|
+
* the Figma spec exactly, even though a checkmark for `variant="error"` reads a little oddly
|
|
3172
|
+
* semantically. Worth revisiting with severity-specific icons (warning triangle, error circle,
|
|
3173
|
+
* etc.) if the design updates to specify them.
|
|
3174
|
+
* ## When to use
|
|
3175
|
+
* - Confirming the outcome of an action that just happened (save succeeded, upload failed) without
|
|
3176
|
+
* interrupting the user's flow.
|
|
3177
|
+
* ## When not to use
|
|
3178
|
+
* - For a response that requires the user to make a decision before continuing -- use `bs-dialog`.
|
|
3179
|
+
* - For persistent, always-visible status -- a snackbar is inherently transient.
|
|
3180
|
+
*/
|
|
3181
|
+
interface HTMLBsSnackbarElement extends Components.BsSnackbar, HTMLStencilElement {
|
|
3182
|
+
addEventListener<K extends keyof HTMLBsSnackbarElementEventMap>(type: K, listener: (this: HTMLBsSnackbarElement, ev: BsSnackbarCustomEvent<HTMLBsSnackbarElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3183
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3184
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3185
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3186
|
+
removeEventListener<K extends keyof HTMLBsSnackbarElementEventMap>(type: K, listener: (this: HTMLBsSnackbarElement, ev: BsSnackbarCustomEvent<HTMLBsSnackbarElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3187
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3188
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3189
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3190
|
+
}
|
|
3191
|
+
var HTMLBsSnackbarElement: {
|
|
3192
|
+
prototype: HTMLBsSnackbarElement;
|
|
3193
|
+
new (): HTMLBsSnackbarElement;
|
|
3194
|
+
};
|
|
2686
3195
|
interface HTMLBsSourceLinkElementEventMap {
|
|
2687
3196
|
"bsOpen": void;
|
|
2688
3197
|
}
|
|
@@ -2849,7 +3358,11 @@ declare global {
|
|
|
2849
3358
|
"bs-ai-thinking": HTMLBsAiThinkingElement;
|
|
2850
3359
|
"bs-attachment": HTMLBsAttachmentElement;
|
|
2851
3360
|
"bs-attachment-list": HTMLBsAttachmentListElement;
|
|
3361
|
+
"bs-avatar": HTMLBsAvatarElement;
|
|
2852
3362
|
"bs-badge": HTMLBsBadgeElement;
|
|
3363
|
+
"bs-breadcrumb": HTMLBsBreadcrumbElement;
|
|
3364
|
+
"bs-breadcrumb-overflow": HTMLBsBreadcrumbOverflowElement;
|
|
3365
|
+
"bs-breadcrumbs": HTMLBsBreadcrumbsElement;
|
|
2853
3366
|
"bs-button": HTMLBsButtonElement;
|
|
2854
3367
|
"bs-button-skeleton": HTMLBsButtonSkeletonElement;
|
|
2855
3368
|
"bs-card": HTMLBsCardElement;
|
|
@@ -2859,21 +3372,24 @@ declare global {
|
|
|
2859
3372
|
"bs-chatbot-sources-drawer": HTMLBsChatbotSourcesDrawerElement;
|
|
2860
3373
|
"bs-chatbot-suggestion-button": HTMLBsChatbotSuggestionButtonElement;
|
|
2861
3374
|
"bs-checkbox": HTMLBsCheckboxElement;
|
|
3375
|
+
"bs-checkbox-skeleton": HTMLBsCheckboxSkeletonElement;
|
|
2862
3376
|
"bs-composer": HTMLBsComposerElement;
|
|
2863
3377
|
"bs-composer-status-banner": HTMLBsComposerStatusBannerElement;
|
|
2864
3378
|
"bs-data-table": HTMLBsDataTableElement;
|
|
3379
|
+
"bs-dialog": HTMLBsDialogElement;
|
|
2865
3380
|
"bs-icon-button": HTMLBsIconButtonElement;
|
|
2866
3381
|
"bs-inline-tab": HTMLBsInlineTabElement;
|
|
2867
3382
|
"bs-input": HTMLBsInputElement;
|
|
2868
3383
|
"bs-logo": HTMLBsLogoElement;
|
|
2869
3384
|
"bs-menu": HTMLBsMenuElement;
|
|
2870
3385
|
"bs-menu-item": HTMLBsMenuItemElement;
|
|
2871
|
-
"bs-modal": HTMLBsModalElement;
|
|
2872
3386
|
"bs-navigation-drawer": HTMLBsNavigationDrawerElement;
|
|
2873
3387
|
"bs-navigation-drawer-item": HTMLBsNavigationDrawerItemElement;
|
|
2874
3388
|
"bs-navigation-header": HTMLBsNavigationHeaderElement;
|
|
3389
|
+
"bs-pagination": HTMLBsPaginationElement;
|
|
2875
3390
|
"bs-radio": HTMLBsRadioElement;
|
|
2876
3391
|
"bs-slider": HTMLBsSliderElement;
|
|
3392
|
+
"bs-snackbar": HTMLBsSnackbarElement;
|
|
2877
3393
|
"bs-source-link": HTMLBsSourceLinkElement;
|
|
2878
3394
|
"bs-switch": HTMLBsSwitchElement;
|
|
2879
3395
|
"bs-tab": HTMLBsTabElement;
|
|
@@ -3052,6 +3568,62 @@ declare namespace LocalJSX {
|
|
|
3052
3568
|
*/
|
|
3053
3569
|
"ariaLabel"?: string | null;
|
|
3054
3570
|
}
|
|
3571
|
+
/**
|
|
3572
|
+
* A circular representation of a person or entity -- a photo, initials, or (as a fallback when
|
|
3573
|
+
* neither is available) a generic user-silhouette icon.
|
|
3574
|
+
* ## When to use
|
|
3575
|
+
* - Representing a specific user or account: in a header, a comment, a member list, etc.
|
|
3576
|
+
* - `type="initials"` when a photo isn't available but a name is (e.g. "Sam Lee" -> "SL").
|
|
3577
|
+
* - `type="icon"` (the default) as the generic fallback when neither a photo nor a name/initials
|
|
3578
|
+
* is available yet.
|
|
3579
|
+
* ## When not to use
|
|
3580
|
+
* - A company/brand logo -- use `bs-logo` instead.
|
|
3581
|
+
* This component is decorative/informational by default, not an interactive control -- it renders
|
|
3582
|
+
* a plain `<span>`/`<img>`, not a `<button>`. Figma's own component set includes hover/focused/
|
|
3583
|
+
* pressed states (e.g. for an account-switcher trigger use case), which this implements as real
|
|
3584
|
+
* `:hover`/`:focus-visible`/`:active` CSS on the host itself -- so wrapping this in your own
|
|
3585
|
+
* `<button>`, or setting `tabindex` and a click handler on the `<bs-avatar>` element directly, gets
|
|
3586
|
+
* the matching visual treatment for free with no extra wiring. Left genuinely non-interactive
|
|
3587
|
+
* (no implicit role/tabindex of its own) so it doesn't misrepresent a purely decorative avatar
|
|
3588
|
+
* (e.g. next to a comment) as a control when it isn't one.
|
|
3589
|
+
*/
|
|
3590
|
+
interface BsAvatar {
|
|
3591
|
+
/**
|
|
3592
|
+
* `type="image"` only: accessible alt text for the photo, set directly on the real `<img>` this renders -- a person's photo is meaningful content, not decorative, so pass something real (e.g. their name). Falls back to `alt=""` (decorative to assistive tech) when unset, rather than omitting the attribute entirely, but don't rely on that fallback. Ignored for `icon`/`initials` -- see `ariaLabel` for those instead.
|
|
3593
|
+
* @default null
|
|
3594
|
+
*/
|
|
3595
|
+
"alt"?: string | null;
|
|
3596
|
+
/**
|
|
3597
|
+
* `type="icon"`/`"initials"` only: accessible name for the avatar, set as `aria-label` on the `role="img"` wrapper this renders (neither is a real `<img>`, so there's no native `alt` to set). Setting a plain `aria-label` attribute on the `<bs-avatar>` host does NOT work for this -- that attribute stays on the light-DOM host and never crosses into the shadow DOM, so the actual `role="img"` element stays nameless. Same pattern as `bs-checkbox`'s identical `ariaLabel` prop. Ignored for `image` -- see `alt` for that instead.
|
|
3598
|
+
* @default null
|
|
3599
|
+
*/
|
|
3600
|
+
"ariaLabel"?: string | null;
|
|
3601
|
+
/**
|
|
3602
|
+
* Applies the disabled treatment (50% opacity) and suppresses the hover/focus/pressed CSS states -- this doesn't set a native `disabled` attribute (this component renders no native form control), it's purely a visual/interaction-state flag for when a consuming app has wrapped this in its own disabled control. Reflected so the `:host([disabled])` CSS selector that drives all of the above still matches when a consumer sets the JS property directly (`el.disabled = true`) rather than the HTML attribute.
|
|
3603
|
+
* @default false
|
|
3604
|
+
*/
|
|
3605
|
+
"disabled"?: boolean;
|
|
3606
|
+
/**
|
|
3607
|
+
* `type="initials"` only: the initials text to display (e.g. `"SL"` for "Sam Lee"). Ignored for `icon`/`image`.
|
|
3608
|
+
* @default null
|
|
3609
|
+
*/
|
|
3610
|
+
"initials"?: string | null;
|
|
3611
|
+
/**
|
|
3612
|
+
* Sizing scale -- `xs` (24px) through `xxl` (128px), matching Figma's own six-step scale.
|
|
3613
|
+
* @default 'md'
|
|
3614
|
+
*/
|
|
3615
|
+
"size"?: BsAvatarSize;
|
|
3616
|
+
/**
|
|
3617
|
+
* `type="image"` only: the photo URL. This component does not fetch it itself -- network calls, loading/error states, and caching are the consuming app's responsibility, same convention as `bs-logo`'s own `src` prop. Ignored for `icon`/`initials`.
|
|
3618
|
+
* @default null
|
|
3619
|
+
*/
|
|
3620
|
+
"src"?: string | null;
|
|
3621
|
+
/**
|
|
3622
|
+
* What to render inside the circle. `icon` (default) is the generic fallback for when neither a photo nor initials are available yet.
|
|
3623
|
+
* @default 'icon'
|
|
3624
|
+
*/
|
|
3625
|
+
"type"?: BsAvatarType;
|
|
3626
|
+
}
|
|
3055
3627
|
/**
|
|
3056
3628
|
* A small status or category pill, usually paired with a label or list item.
|
|
3057
3629
|
* ## When to use
|
|
@@ -3068,6 +3640,109 @@ declare namespace LocalJSX {
|
|
|
3068
3640
|
*/
|
|
3069
3641
|
"variant"?: BsBadgeVariant;
|
|
3070
3642
|
}
|
|
3643
|
+
/**
|
|
3644
|
+
* A single crumb within a `<bs-breadcrumbs>` trail: a leading separator icon plus either a link,
|
|
3645
|
+
* plain text, or the current-page label, depending on `current`/`href`.
|
|
3646
|
+
* Rendering follows the W3C ARIA Authoring Practices breadcrumb pattern
|
|
3647
|
+
* (https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/): the current page is marked
|
|
3648
|
+
* `aria-current="page"` and is never a link -- this holds even when `href` is also set, unlike
|
|
3649
|
+
* Carbon Design System's `cds-breadcrumb-item`, which allows a link on the current item.
|
|
3650
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
3651
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
3652
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
3653
|
+
* ## When to use
|
|
3654
|
+
* - As one crumb inside a `<bs-breadcrumbs>` trail.
|
|
3655
|
+
* ## When not to use
|
|
3656
|
+
* - Standalone, outside a `<bs-breadcrumbs>` wrapper -- its `<ol>`/`<nav>` context and
|
|
3657
|
+
* first-child-aware separator hiding depend on that parent structure.
|
|
3658
|
+
*/
|
|
3659
|
+
interface BsBreadcrumb {
|
|
3660
|
+
/**
|
|
3661
|
+
* Whether this crumb is the current page. Renders as plain (non-link) text marked `aria-current="page"`, reflected as an attribute so consumers/CSS can target `bs-breadcrumb[current]`.
|
|
3662
|
+
* @default false
|
|
3663
|
+
*/
|
|
3664
|
+
"current"?: boolean;
|
|
3665
|
+
/**
|
|
3666
|
+
* Destination for a non-current crumb. Ignored when `current` is true -- the current page is never a link, even if `href` is set (see the class JSDoc).
|
|
3667
|
+
*/
|
|
3668
|
+
"href"?: string;
|
|
3669
|
+
/**
|
|
3670
|
+
* Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- the container propagates its own `size` as a JS property to every slotted `bs-breadcrumb`/ `bs-breadcrumb-overflow` child (see `bs-breadcrumbs.tsx`'s `propagateSize`), since CSS custom properties can't carry an enum that switches rules on their own. Can also be set directly on a standalone crumb. `sm` scales down font-size/line-height only -- the separator icon's pixel size is unchanged, since Figma didn't specify a `sm` icon size and guessing one risked drifting off-brand. Reflected so consumers/CSS can target `bs-breadcrumb[size="sm"]`.
|
|
3671
|
+
* @default 'md'
|
|
3672
|
+
*/
|
|
3673
|
+
"size"?: BsBreadcrumbSize;
|
|
3674
|
+
}
|
|
3675
|
+
/**
|
|
3676
|
+
* A manually-placed collapsed-items disclosure for a `<bs-breadcrumbs>` trail: a leading separator
|
|
3677
|
+
* plus an icon-only ellipsis button that reveals a `bs-menu` popup listing every hidden crumb.
|
|
3678
|
+
* `items` is JS-property-only -- must be set as a JS property (`el.items = [...]`), not an HTML
|
|
3679
|
+
* attribute, since attributes can only carry strings. See CONVENTIONS.md.
|
|
3680
|
+
* Unlike an earlier `bs-breadcrumbs`-owned automatic `maxItems` collapse, this component does no
|
|
3681
|
+
* collapsing logic itself -- the consumer decides which crumbs to hide and places this element
|
|
3682
|
+
* wherever they want the disclosure, exactly matching Carbon Design System's own approach (Carbon
|
|
3683
|
+
* doesn't auto-collapse breadcrumbs either; a consumer there manually decides what's visible).
|
|
3684
|
+
* Hidden items with an `href` render as real `<a href>` rows inside the popup, not `bs-menu-item`
|
|
3685
|
+
* (which renders a `<button>`) -- this matters because consuming apps commonly use client-side
|
|
3686
|
+
* routers that intercept clicks on real `<a>` tags to do `preventDefault` + push-state navigation.
|
|
3687
|
+
* Rendering hidden links any other way (e.g. `window.location`) would silently break client-side
|
|
3688
|
+
* routing for hidden crumbs while working fine for visible ones. Hidden items without an `href`
|
|
3689
|
+
* render as plain non-interactive text, matching how `bs-breadcrumb` itself handles link vs.
|
|
3690
|
+
* no-link crumbs.
|
|
3691
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
3692
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
3693
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
3694
|
+
* ## When to use
|
|
3695
|
+
* - Inside a `<bs-breadcrumbs>` trail, wherever the consumer wants an interactive disclosure for
|
|
3696
|
+
* crumbs they've chosen not to render directly.
|
|
3697
|
+
* ## When not to use
|
|
3698
|
+
* - As an automatic collapsing mechanism -- there is none; the consumer decides what's hidden.
|
|
3699
|
+
*/
|
|
3700
|
+
interface BsBreadcrumbOverflow {
|
|
3701
|
+
/**
|
|
3702
|
+
* Array prop -- must be set as a JS property (`el.items = [...]`), not an HTML attribute, since attributes can only carry strings. See CONVENTIONS.md. The hidden crumbs reachable via this disclosure -- no collapsing logic here, the consumer decides what goes in this list.
|
|
3703
|
+
* @default []
|
|
3704
|
+
*/
|
|
3705
|
+
"items"?: BsBreadcrumbOverflowItem[];
|
|
3706
|
+
/**
|
|
3707
|
+
* Accessible name (`aria-label`) for the icon-only ellipsis trigger button.
|
|
3708
|
+
* @default 'Show hidden breadcrumbs'
|
|
3709
|
+
*/
|
|
3710
|
+
"overflowLabel"?: string;
|
|
3711
|
+
/**
|
|
3712
|
+
* Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- see `bs-breadcrumb`'s identical `size` prop doc comment for why this is propagated as a JS property rather than inherited via CSS. Scales the popup rows' font-size/line-height only; the separator/ellipsis icons' pixel sizes are unchanged. Reflected so consumers/CSS can target `bs-breadcrumb-overflow[size="sm"]`.
|
|
3713
|
+
* @default 'md'
|
|
3714
|
+
*/
|
|
3715
|
+
"size"?: BsBreadcrumbSize1;
|
|
3716
|
+
}
|
|
3717
|
+
/**
|
|
3718
|
+
* A breadcrumb trail container: a real `<nav>` landmark wrapping an `<ol>`, meant to be populated
|
|
3719
|
+
* with slotted `<bs-breadcrumb>` (and, where the consumer wants a collapsed-items disclosure,
|
|
3720
|
+
* `<bs-breadcrumb-overflow>`) children -- same composition-over-configuration architecture as
|
|
3721
|
+
* Carbon Design System's `cds-breadcrumb`/`cds-breadcrumb-item`/`cds-breadcrumb-link`.
|
|
3722
|
+
* This component is intentionally thin: it owns only the `<nav>` landmark and list semantics.
|
|
3723
|
+
* Unlike an earlier `items`-array-driven design, there is no automatic collapsing here -- exactly
|
|
3724
|
+
* like Carbon, the consumer decides what's visible and manually places a `<bs-breadcrumb-overflow>`
|
|
3725
|
+
* wherever they want a collapsed-items disclosure. See `bs-breadcrumbs.mdx` for the consolidated
|
|
3726
|
+
* docs covering all three components in this feature area.
|
|
3727
|
+
* ## When to use
|
|
3728
|
+
* - Showing a user's current location within a hierarchical page structure, with a path back to
|
|
3729
|
+
* its ancestors.
|
|
3730
|
+
* ## When not to use
|
|
3731
|
+
* - Primary in-app navigation -- use `bs-navigation-drawer`/`bs-navigation-header` instead.
|
|
3732
|
+
* - A flat set of unrelated pages with no hierarchy -- breadcrumbs imply ancestry, not just history.
|
|
3733
|
+
*/
|
|
3734
|
+
interface BsBreadcrumbs {
|
|
3735
|
+
/**
|
|
3736
|
+
* Accessible name for the `<nav>` landmark, via `aria-label`. Same pattern as `bs-navigation-drawer`'s `heading` prop.
|
|
3737
|
+
* @default 'Breadcrumb'
|
|
3738
|
+
*/
|
|
3739
|
+
"label"?: string;
|
|
3740
|
+
/**
|
|
3741
|
+
* Size variant, propagated as a JS property to every slotted `bs-breadcrumb`/ `bs-breadcrumb-overflow` child -- this container has no visual sizing of its own (font/spacing live on the item components, see `bs-breadcrumb.tsx`'s identical `size` prop), so propagation is the only way setting `size` here reaches every crumb. CSS custom properties can't carry an enum that switches rules on their own, which is why this is pushed via JS property instead of CSS inheritance -- same reasoning as `bs-tabs` setting `selected` directly on its slotted `bs-tab`/`bs-inline-tab` children. Re-propagated on `size` changes and whenever the slotted children change (e.g. a crumb added later).
|
|
3742
|
+
* @default 'md'
|
|
3743
|
+
*/
|
|
3744
|
+
"size"?: BsBreadcrumbSize1;
|
|
3745
|
+
}
|
|
3071
3746
|
/**
|
|
3072
3747
|
* A clickable action element for the single most important action in a given context.
|
|
3073
3748
|
* ## When to use
|
|
@@ -3492,6 +4167,36 @@ declare namespace LocalJSX {
|
|
|
3492
4167
|
*/
|
|
3493
4168
|
"size"?: BsCheckboxSize;
|
|
3494
4169
|
}
|
|
4170
|
+
/**
|
|
4171
|
+
* A shape-matched loading placeholder for `bs-checkbox`, shown while the real label text isn't
|
|
4172
|
+
* known yet (e.g. still being fetched from an API). Renders a small square (matching the
|
|
4173
|
+
* checkbox's own box) beside a text-bar placeholder (standing in for the label), both pulsing
|
|
4174
|
+
* together, sized to match `bs-checkbox`'s `sm`/`md`/`lg` box dimensions so layout doesn't shift
|
|
4175
|
+
* once the real checkbox renders.
|
|
4176
|
+
* ## When to use
|
|
4177
|
+
* - In place of a `bs-checkbox` whose label/checked state depends on data that hasn't loaded yet.
|
|
4178
|
+
* ## When not to use
|
|
4179
|
+
* - While a checkbox's own change handler is running (e.g. a save request in flight) -- render the
|
|
4180
|
+
* real `bs-checkbox` itself; this component is not a saving-in-progress spinner.
|
|
4181
|
+
* @prop --bs-checkbox-skeleton-size-sm - Box width/height at `size="sm"`. Aliased to
|
|
4182
|
+
* `--bs-spacing-200`, mirroring `bs-checkbox`'s own `--bs-checkbox-size-sm` -- not read directly
|
|
4183
|
+
* from it, since these are two separate shadow roots.
|
|
4184
|
+
* @prop --bs-checkbox-skeleton-size-md - Box width/height at `size="md"`. Aliased to
|
|
4185
|
+
* `--bs-spacing-250`.
|
|
4186
|
+
* @prop --bs-checkbox-skeleton-size-lg - Box width/height at `size="lg"`. Aliased to
|
|
4187
|
+
* `--bs-spacing-300`.
|
|
4188
|
+
* @prop --bs-checkbox-skeleton-gap - Gap between the box and label placeholders. Aliased to
|
|
4189
|
+
* `--bs-spacing-100`, mirroring `bs-checkbox`'s own `--bs-checkbox-gap`.
|
|
4190
|
+
* @prop --bs-checkbox-skeleton-label-width - Width of the label placeholder bar. Defaults to
|
|
4191
|
+
* `96px`.
|
|
4192
|
+
*/
|
|
4193
|
+
interface BsCheckboxSkeleton {
|
|
4194
|
+
/**
|
|
4195
|
+
* Sizing scale, matching the `bs-checkbox` size it stands in for. Defaults to `lg`, the same (unusual) default `bs-checkbox` itself uses.
|
|
4196
|
+
* @default 'lg'
|
|
4197
|
+
*/
|
|
4198
|
+
"size"?: BsCheckboxSize1;
|
|
4199
|
+
}
|
|
3495
4200
|
/**
|
|
3496
4201
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
3497
4202
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -3716,6 +4421,41 @@ declare namespace LocalJSX {
|
|
|
3716
4421
|
*/
|
|
3717
4422
|
"sortDirection"?: 'asc' | 'desc';
|
|
3718
4423
|
}
|
|
4424
|
+
/**
|
|
4425
|
+
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
4426
|
+
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
4427
|
+
* ## When to use
|
|
4428
|
+
* - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
|
|
4429
|
+
* - A short, focused task that doesn't warrant navigating to a new page.
|
|
4430
|
+
* ## When not to use
|
|
4431
|
+
* - For non-blocking status messages — use a toast/notification instead of interrupting the user.
|
|
4432
|
+
* - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
|
|
4433
|
+
* dialog that just gets taller and taller.
|
|
4434
|
+
* Two additional slots cover the Figma "Dialog" component's other states: `image` (a hero image
|
|
4435
|
+
* across the top, close button floats over it instead of sitting in the header row) and `icon`
|
|
4436
|
+
* (only rendered when `centered` is set, e.g. a success checkmark above a centered heading). The
|
|
4437
|
+
* close button "floats" (absolute-positioned, top-right of the dialog, with its own background)
|
|
4438
|
+
* whenever `centered` is true or the `image` slot has content -- otherwise it's the plain inline
|
|
4439
|
+
* button in the header row next to the heading, same as before this addition.
|
|
4440
|
+
*/
|
|
4441
|
+
interface BsDialog {
|
|
4442
|
+
/**
|
|
4443
|
+
* Switches to the Figma "Icon Centered" layout: heading/body text centered, the `icon` slot rendered above the heading, and the close button floating top-right of the dialog instead of inline in the header row. Doesn't hide a slotted `image` if one is also provided -- Figma's spec doesn't show the two combined, so this is unspecified rather than actively blocked. Reflected so consumers/CSS can target `bs-dialog[centered]`.
|
|
4444
|
+
* @default false
|
|
4445
|
+
*/
|
|
4446
|
+
"centered"?: boolean;
|
|
4447
|
+
"heading"?: string;
|
|
4448
|
+
"onBsClose"?: (event: BsDialogCustomEvent<void>) => void;
|
|
4449
|
+
/**
|
|
4450
|
+
* Mutable + reflected so the component can close itself (backdrop click, Escape, close button) the same way a native `<dialog>` does, while still emitting `bsClose` for the consumer to react to.
|
|
4451
|
+
* @default false
|
|
4452
|
+
*/
|
|
4453
|
+
"open"?: boolean;
|
|
4454
|
+
/**
|
|
4455
|
+
* @default 'md'
|
|
4456
|
+
*/
|
|
4457
|
+
"size"?: BsDialogSize;
|
|
4458
|
+
}
|
|
3719
4459
|
/**
|
|
3720
4460
|
* A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
|
|
3721
4461
|
* 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
|
|
@@ -4032,37 +4772,14 @@ declare namespace LocalJSX {
|
|
|
4032
4772
|
*/
|
|
4033
4773
|
"onBsSelect"?: (event: BsMenuItemCustomEvent<void>) => void;
|
|
4034
4774
|
}
|
|
4035
|
-
/**
|
|
4036
|
-
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
4037
|
-
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
4038
|
-
* ## When to use
|
|
4039
|
-
* - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
|
|
4040
|
-
* - A short, focused task that doesn't warrant navigating to a new page.
|
|
4041
|
-
* ## When not to use
|
|
4042
|
-
* - For non-blocking status messages — use a toast/notification instead of interrupting the user.
|
|
4043
|
-
* - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
|
|
4044
|
-
* modal that just gets taller and taller.
|
|
4045
|
-
*/
|
|
4046
|
-
interface BsModal {
|
|
4047
|
-
"heading"?: string;
|
|
4048
|
-
"onBsClose"?: (event: BsModalCustomEvent<void>) => void;
|
|
4049
|
-
/**
|
|
4050
|
-
* Mutable + reflected so the component can close itself (backdrop click, Escape, close button) the same way a native `<dialog>` does, while still emitting `bsClose` for the consumer to react to.
|
|
4051
|
-
* @default false
|
|
4052
|
-
*/
|
|
4053
|
-
"open"?: boolean;
|
|
4054
|
-
/**
|
|
4055
|
-
* @default 'md'
|
|
4056
|
-
*/
|
|
4057
|
-
"size"?: BsModalSize;
|
|
4058
|
-
}
|
|
4059
4775
|
/**
|
|
4060
4776
|
* A left-side persistent navigation sidebar: the BrandSync logo, a "Main Menu" title with a
|
|
4061
4777
|
* collapse toggle, a reserved slot for a search field, and a scrollable list of nav items.
|
|
4062
4778
|
* ## When to use
|
|
4063
4779
|
* - The primary in-app navigation, shown alongside `bs-navigation-header` (typically that
|
|
4064
4780
|
* header's `with-navigation-drawer` alignment, which omits its own logo since this component
|
|
4065
|
-
* already renders one
|
|
4781
|
+
* already renders one -- or the reverse pairing, this drawer's own `showLogo={false}` alongside
|
|
4782
|
+
* a header that keeps its logo instead, see that prop's own docs).
|
|
4066
4783
|
* ## When not to use
|
|
4067
4784
|
* - The top navigation bar itself -- use `bs-navigation-header` instead.
|
|
4068
4785
|
* This component renders a real `<nav>` landmark (no explicit `role` needed -- `<nav>` already
|
|
@@ -4118,6 +4835,11 @@ declare namespace LocalJSX {
|
|
|
4118
4835
|
* Fires when the compact search-trigger button (shown instead of the `search` slot while `collapsed`) is clicked -- e.g. to open a full search overlay. This component has no visibility into what the `search` slot actually contains, so it can't drive a real search itself once shrunk to icon size.
|
|
4119
4836
|
*/
|
|
4120
4837
|
"onBsSearchClick"?: (event: BsNavigationDrawerCustomEvent<void>) => void;
|
|
4838
|
+
/**
|
|
4839
|
+
* Whether to render the BrandSync logo at all. Defaults to `true`. This drawer is normally the one that owns the logo when paired with a `bs-navigation-header` (that header's own `with-navigation-drawer` alignment omits its logo for exactly this reason) -- but the reverse pairing works too: a header that keeps its own logo (`alignment="default"`) paired with this drawer set to `showLogo={false}`, so the brand mark only ever appears once.
|
|
4840
|
+
* @default true
|
|
4841
|
+
*/
|
|
4842
|
+
"showLogo"?: boolean;
|
|
4121
4843
|
}
|
|
4122
4844
|
/**
|
|
4123
4845
|
* A single row within a `bs-navigation-drawer`'s item list -- either a plain leaf nav item, or an
|
|
@@ -4232,6 +4954,52 @@ declare namespace LocalJSX {
|
|
|
4232
4954
|
*/
|
|
4233
4955
|
"skipToContentLabel"?: string;
|
|
4234
4956
|
}
|
|
4957
|
+
/**
|
|
4958
|
+
* A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
|
|
4959
|
+
* large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
|
|
4960
|
+
* numbered pagination); its other type ("jumper" -- a rows-per-page dropdown plus a page-jump
|
|
4961
|
+
* input) is a structurally different composite widget and isn't covered by this component.
|
|
4962
|
+
* `totalPages`/`currentPage` drive everything -- this computes which page numbers to show and
|
|
4963
|
+
* where to collapse into `...` itself, the consumer never builds the button list by hand.
|
|
4964
|
+
* ## When to use
|
|
4965
|
+
* - Paging through a large, ordered result set (a table, a search results list) where jumping
|
|
4966
|
+
* directly to a specific page number is useful.
|
|
4967
|
+
* ## When not to use
|
|
4968
|
+
* - Infinite-scroll or "load more" patterns -- those don't have a fixed, addressable page number.
|
|
4969
|
+
* - A huge page count where users realistically only ever go forward/back one page at a time --
|
|
4970
|
+
* plain prev/next controls (no numbers) are simpler there.
|
|
4971
|
+
*/
|
|
4972
|
+
interface BsPagination {
|
|
4973
|
+
/**
|
|
4974
|
+
* The active page (1-indexed). Mutable + reflected so clicking a page button updates it directly, the same way `bs-modal`'s `open` self-manages, while `bsPageChange` still fires for the consumer to react to (e.g. fetching that page's data).
|
|
4975
|
+
* @default 1
|
|
4976
|
+
*/
|
|
4977
|
+
"currentPage"?: number;
|
|
4978
|
+
/**
|
|
4979
|
+
* Accessible name for the next-page button.
|
|
4980
|
+
* @default 'Next page'
|
|
4981
|
+
*/
|
|
4982
|
+
"nextLabel"?: string;
|
|
4983
|
+
/**
|
|
4984
|
+
* Fires whenever the active page changes as a result of the user clicking a page/prev/next button -- not when `currentPage` is set programmatically from outside.
|
|
4985
|
+
*/
|
|
4986
|
+
"onBsPageChange"?: (event: BsPaginationCustomEvent<number>) => void;
|
|
4987
|
+
/**
|
|
4988
|
+
* Accessible name for the previous-page button.
|
|
4989
|
+
* @default 'Previous page'
|
|
4990
|
+
*/
|
|
4991
|
+
"previousLabel"?: string;
|
|
4992
|
+
/**
|
|
4993
|
+
* How many page numbers to show on each side of the current page before collapsing the rest into `...`. `1` (the default) reproduces the Figma spec's example exactly (page 1 of 12 shows `1 2 3 ... 12`).
|
|
4994
|
+
* @default 1
|
|
4995
|
+
*/
|
|
4996
|
+
"siblingCount"?: number;
|
|
4997
|
+
/**
|
|
4998
|
+
* Total number of pages. Must be a positive integer -- there's always at least one page.
|
|
4999
|
+
* @default 1
|
|
5000
|
+
*/
|
|
5001
|
+
"totalPages"?: number;
|
|
5002
|
+
}
|
|
4235
5003
|
/**
|
|
4236
5004
|
* A single radio button with its label, for one mutually-exclusive choice within a group.
|
|
4237
5005
|
* ## When to use
|
|
@@ -4349,6 +5117,49 @@ declare namespace LocalJSX {
|
|
|
4349
5117
|
*/
|
|
4350
5118
|
"valueStart"?: number;
|
|
4351
5119
|
}
|
|
5120
|
+
/**
|
|
5121
|
+
* A transient status bar for confirming the result of an action (e.g. "Files uploaded
|
|
5122
|
+
* successfully.") -- an icon (or loading spinner), a message, an optional action, and a close
|
|
5123
|
+
* button.
|
|
5124
|
+
* This component only renders the bar itself -- it doesn't manage its own visibility, timing, or
|
|
5125
|
+
* stacking. A consumer (typically a small "toast manager" utility) creates one per message and
|
|
5126
|
+
* removes it from the DOM again, whether on a timer or on `bsDismiss`. Figma's spec doesn't show
|
|
5127
|
+
* auto-dismiss timing at all (it's a static visual spec), so this deliberately doesn't invent one.
|
|
5128
|
+
* The icon is always the same checkmark glyph across every `variant`, just recolored -- matching
|
|
5129
|
+
* the Figma spec exactly, even though a checkmark for `variant="error"` reads a little oddly
|
|
5130
|
+
* semantically. Worth revisiting with severity-specific icons (warning triangle, error circle,
|
|
5131
|
+
* etc.) if the design updates to specify them.
|
|
5132
|
+
* ## When to use
|
|
5133
|
+
* - Confirming the outcome of an action that just happened (save succeeded, upload failed) without
|
|
5134
|
+
* interrupting the user's flow.
|
|
5135
|
+
* ## When not to use
|
|
5136
|
+
* - For a response that requires the user to make a decision before continuing -- use `bs-dialog`.
|
|
5137
|
+
* - For persistent, always-visible status -- a snackbar is inherently transient.
|
|
5138
|
+
*/
|
|
5139
|
+
interface BsSnackbar {
|
|
5140
|
+
/**
|
|
5141
|
+
* Label for the optional action button (e.g. "Undo", "Retry"). Omit this prop entirely to render no action button at all -- its presence, not a boolean flag, is what shows it.
|
|
5142
|
+
*/
|
|
5143
|
+
"actionLabel"?: string;
|
|
5144
|
+
/**
|
|
5145
|
+
* Replaces the checkmark icon with a spinning loading indicator, for a message describing in-progress work (e.g. "Uploading files...") rather than a completed result.
|
|
5146
|
+
* @default false
|
|
5147
|
+
*/
|
|
5148
|
+
"loading"?: boolean;
|
|
5149
|
+
/**
|
|
5150
|
+
* Fires when the action button is clicked. Ignored/never fires if `actionLabel` isn't set.
|
|
5151
|
+
*/
|
|
5152
|
+
"onBsAction"?: (event: BsSnackbarCustomEvent<void>) => void;
|
|
5153
|
+
/**
|
|
5154
|
+
* Fires when the close button is clicked. This component doesn't remove itself from the DOM -- the consumer is expected to do that (or hide it) in response to this event.
|
|
5155
|
+
*/
|
|
5156
|
+
"onBsDismiss"?: (event: BsSnackbarCustomEvent<void>) => void;
|
|
5157
|
+
/**
|
|
5158
|
+
* Color/semantic variant. `default` is the neutral (dark, inverse-surface) bar Figma shows as the baseline; `info`/`warning`/`success`/`error` use their matching container/text tokens.
|
|
5159
|
+
* @default 'default'
|
|
5160
|
+
*/
|
|
5161
|
+
"variant"?: BsSnackbarVariant;
|
|
5162
|
+
}
|
|
4352
5163
|
/**
|
|
4353
5164
|
* A single citation row inside `bs-chatbot-sources-drawer` -- a file icon + filename on the first
|
|
4354
5165
|
* line, the originating system and version on the second, and a trailing "open" arrow.
|
|
@@ -4564,9 +5375,31 @@ declare namespace LocalJSX {
|
|
|
4564
5375
|
interface BsAttachmentListAttributes {
|
|
4565
5376
|
"ariaLabel": string | null;
|
|
4566
5377
|
}
|
|
5378
|
+
interface BsAvatarAttributes {
|
|
5379
|
+
"type": BsAvatarType;
|
|
5380
|
+
"size": BsAvatarSize;
|
|
5381
|
+
"initials": string | null;
|
|
5382
|
+
"src": string | null;
|
|
5383
|
+
"alt": string | null;
|
|
5384
|
+
"ariaLabel": string | null;
|
|
5385
|
+
"disabled": boolean;
|
|
5386
|
+
}
|
|
4567
5387
|
interface BsBadgeAttributes {
|
|
4568
5388
|
"variant": BsBadgeVariant;
|
|
4569
5389
|
}
|
|
5390
|
+
interface BsBreadcrumbAttributes {
|
|
5391
|
+
"href": string;
|
|
5392
|
+
"current": boolean;
|
|
5393
|
+
"size": BsBreadcrumbSize;
|
|
5394
|
+
}
|
|
5395
|
+
interface BsBreadcrumbOverflowAttributes {
|
|
5396
|
+
"overflowLabel": string;
|
|
5397
|
+
"size": BsBreadcrumbSize;
|
|
5398
|
+
}
|
|
5399
|
+
interface BsBreadcrumbsAttributes {
|
|
5400
|
+
"label": string;
|
|
5401
|
+
"size": BsBreadcrumbSize;
|
|
5402
|
+
}
|
|
4570
5403
|
interface BsButtonAttributes {
|
|
4571
5404
|
"variant": BsButtonVariant;
|
|
4572
5405
|
"size": BsButtonSize;
|
|
@@ -4610,6 +5443,9 @@ declare namespace LocalJSX {
|
|
|
4610
5443
|
"error": boolean;
|
|
4611
5444
|
"ariaLabel": string | null;
|
|
4612
5445
|
}
|
|
5446
|
+
interface BsCheckboxSkeletonAttributes {
|
|
5447
|
+
"size": BsCheckboxSize;
|
|
5448
|
+
}
|
|
4613
5449
|
interface BsComposerAttributes {
|
|
4614
5450
|
"variant": BsComposerVariant;
|
|
4615
5451
|
"placeholder": string;
|
|
@@ -4630,6 +5466,12 @@ declare namespace LocalJSX {
|
|
|
4630
5466
|
"sortDirection": 'asc' | 'desc';
|
|
4631
5467
|
"selectable": boolean;
|
|
4632
5468
|
}
|
|
5469
|
+
interface BsDialogAttributes {
|
|
5470
|
+
"open": boolean;
|
|
5471
|
+
"heading": string;
|
|
5472
|
+
"size": BsDialogSize;
|
|
5473
|
+
"centered": boolean;
|
|
5474
|
+
}
|
|
4633
5475
|
interface BsIconButtonAttributes {
|
|
4634
5476
|
"variant": BsIconButtonVariant;
|
|
4635
5477
|
"size": BsIconButtonSize;
|
|
@@ -4681,16 +5523,12 @@ declare namespace LocalJSX {
|
|
|
4681
5523
|
interface BsMenuItemAttributes {
|
|
4682
5524
|
"disabled": boolean;
|
|
4683
5525
|
}
|
|
4684
|
-
interface BsModalAttributes {
|
|
4685
|
-
"open": boolean;
|
|
4686
|
-
"heading": string;
|
|
4687
|
-
"size": BsModalSize;
|
|
4688
|
-
}
|
|
4689
5526
|
interface BsNavigationDrawerAttributes {
|
|
4690
5527
|
"heading": string;
|
|
4691
5528
|
"collapsible": boolean;
|
|
4692
5529
|
"collapsed": boolean;
|
|
4693
5530
|
"logoBackground": 'auto' | 'light' | 'dark';
|
|
5531
|
+
"showLogo": boolean;
|
|
4694
5532
|
}
|
|
4695
5533
|
interface BsNavigationDrawerItemAttributes {
|
|
4696
5534
|
"selected": boolean;
|
|
@@ -4707,6 +5545,13 @@ declare namespace LocalJSX {
|
|
|
4707
5545
|
"skipToContentLabel": string;
|
|
4708
5546
|
"logoBackground": 'auto' | 'light' | 'dark';
|
|
4709
5547
|
}
|
|
5548
|
+
interface BsPaginationAttributes {
|
|
5549
|
+
"totalPages": number;
|
|
5550
|
+
"currentPage": number;
|
|
5551
|
+
"siblingCount": number;
|
|
5552
|
+
"previousLabel": string;
|
|
5553
|
+
"nextLabel": string;
|
|
5554
|
+
}
|
|
4710
5555
|
interface BsRadioAttributes {
|
|
4711
5556
|
"name": string;
|
|
4712
5557
|
"value": string;
|
|
@@ -4727,6 +5572,11 @@ declare namespace LocalJSX {
|
|
|
4727
5572
|
"disabled": boolean;
|
|
4728
5573
|
"ariaLabel": string | null;
|
|
4729
5574
|
}
|
|
5575
|
+
interface BsSnackbarAttributes {
|
|
5576
|
+
"variant": BsSnackbarVariant;
|
|
5577
|
+
"loading": boolean;
|
|
5578
|
+
"actionLabel": string;
|
|
5579
|
+
}
|
|
4730
5580
|
interface BsSourceLinkAttributes {
|
|
4731
5581
|
"fileName": string;
|
|
4732
5582
|
"sourceName": string;
|
|
@@ -4760,7 +5610,11 @@ declare namespace LocalJSX {
|
|
|
4760
5610
|
"bs-ai-thinking": Omit<BsAiThinking, keyof BsAiThinkingAttributes> & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes]?: BsAiThinking[K] } & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes as `attr:${K}`]?: BsAiThinkingAttributes[K] } & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes as `prop:${K}`]?: BsAiThinking[K] };
|
|
4761
5611
|
"bs-attachment": Omit<BsAttachment, keyof BsAttachmentAttributes> & { [K in keyof BsAttachment & keyof BsAttachmentAttributes]?: BsAttachment[K] } & { [K in keyof BsAttachment & keyof BsAttachmentAttributes as `attr:${K}`]?: BsAttachmentAttributes[K] } & { [K in keyof BsAttachment & keyof BsAttachmentAttributes as `prop:${K}`]?: BsAttachment[K] };
|
|
4762
5612
|
"bs-attachment-list": Omit<BsAttachmentList, keyof BsAttachmentListAttributes> & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes]?: BsAttachmentList[K] } & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes as `attr:${K}`]?: BsAttachmentListAttributes[K] } & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes as `prop:${K}`]?: BsAttachmentList[K] };
|
|
5613
|
+
"bs-avatar": Omit<BsAvatar, keyof BsAvatarAttributes> & { [K in keyof BsAvatar & keyof BsAvatarAttributes]?: BsAvatar[K] } & { [K in keyof BsAvatar & keyof BsAvatarAttributes as `attr:${K}`]?: BsAvatarAttributes[K] } & { [K in keyof BsAvatar & keyof BsAvatarAttributes as `prop:${K}`]?: BsAvatar[K] };
|
|
4763
5614
|
"bs-badge": Omit<BsBadge, keyof BsBadgeAttributes> & { [K in keyof BsBadge & keyof BsBadgeAttributes]?: BsBadge[K] } & { [K in keyof BsBadge & keyof BsBadgeAttributes as `attr:${K}`]?: BsBadgeAttributes[K] } & { [K in keyof BsBadge & keyof BsBadgeAttributes as `prop:${K}`]?: BsBadge[K] };
|
|
5615
|
+
"bs-breadcrumb": Omit<BsBreadcrumb, keyof BsBreadcrumbAttributes> & { [K in keyof BsBreadcrumb & keyof BsBreadcrumbAttributes]?: BsBreadcrumb[K] } & { [K in keyof BsBreadcrumb & keyof BsBreadcrumbAttributes as `attr:${K}`]?: BsBreadcrumbAttributes[K] } & { [K in keyof BsBreadcrumb & keyof BsBreadcrumbAttributes as `prop:${K}`]?: BsBreadcrumb[K] };
|
|
5616
|
+
"bs-breadcrumb-overflow": Omit<BsBreadcrumbOverflow, keyof BsBreadcrumbOverflowAttributes> & { [K in keyof BsBreadcrumbOverflow & keyof BsBreadcrumbOverflowAttributes]?: BsBreadcrumbOverflow[K] } & { [K in keyof BsBreadcrumbOverflow & keyof BsBreadcrumbOverflowAttributes as `attr:${K}`]?: BsBreadcrumbOverflowAttributes[K] } & { [K in keyof BsBreadcrumbOverflow & keyof BsBreadcrumbOverflowAttributes as `prop:${K}`]?: BsBreadcrumbOverflow[K] };
|
|
5617
|
+
"bs-breadcrumbs": Omit<BsBreadcrumbs, keyof BsBreadcrumbsAttributes> & { [K in keyof BsBreadcrumbs & keyof BsBreadcrumbsAttributes]?: BsBreadcrumbs[K] } & { [K in keyof BsBreadcrumbs & keyof BsBreadcrumbsAttributes as `attr:${K}`]?: BsBreadcrumbsAttributes[K] } & { [K in keyof BsBreadcrumbs & keyof BsBreadcrumbsAttributes as `prop:${K}`]?: BsBreadcrumbs[K] };
|
|
4764
5618
|
"bs-button": Omit<BsButton, keyof BsButtonAttributes> & { [K in keyof BsButton & keyof BsButtonAttributes]?: BsButton[K] } & { [K in keyof BsButton & keyof BsButtonAttributes as `attr:${K}`]?: BsButtonAttributes[K] } & { [K in keyof BsButton & keyof BsButtonAttributes as `prop:${K}`]?: BsButton[K] };
|
|
4765
5619
|
"bs-button-skeleton": Omit<BsButtonSkeleton, keyof BsButtonSkeletonAttributes> & { [K in keyof BsButtonSkeleton & keyof BsButtonSkeletonAttributes]?: BsButtonSkeleton[K] } & { [K in keyof BsButtonSkeleton & keyof BsButtonSkeletonAttributes as `attr:${K}`]?: BsButtonSkeletonAttributes[K] } & { [K in keyof BsButtonSkeleton & keyof BsButtonSkeletonAttributes as `prop:${K}`]?: BsButtonSkeleton[K] };
|
|
4766
5620
|
"bs-card": Omit<BsCard, keyof BsCardAttributes> & { [K in keyof BsCard & keyof BsCardAttributes]?: BsCard[K] } & { [K in keyof BsCard & keyof BsCardAttributes as `attr:${K}`]?: BsCardAttributes[K] } & { [K in keyof BsCard & keyof BsCardAttributes as `prop:${K}`]?: BsCard[K] };
|
|
@@ -4770,21 +5624,24 @@ declare namespace LocalJSX {
|
|
|
4770
5624
|
"bs-chatbot-sources-drawer": Omit<BsChatbotSourcesDrawer, keyof BsChatbotSourcesDrawerAttributes> & { [K in keyof BsChatbotSourcesDrawer & keyof BsChatbotSourcesDrawerAttributes]?: BsChatbotSourcesDrawer[K] } & { [K in keyof BsChatbotSourcesDrawer & keyof BsChatbotSourcesDrawerAttributes as `attr:${K}`]?: BsChatbotSourcesDrawerAttributes[K] } & { [K in keyof BsChatbotSourcesDrawer & keyof BsChatbotSourcesDrawerAttributes as `prop:${K}`]?: BsChatbotSourcesDrawer[K] };
|
|
4771
5625
|
"bs-chatbot-suggestion-button": Omit<BsChatbotSuggestionButton, keyof BsChatbotSuggestionButtonAttributes> & { [K in keyof BsChatbotSuggestionButton & keyof BsChatbotSuggestionButtonAttributes]?: BsChatbotSuggestionButton[K] } & { [K in keyof BsChatbotSuggestionButton & keyof BsChatbotSuggestionButtonAttributes as `attr:${K}`]?: BsChatbotSuggestionButtonAttributes[K] } & { [K in keyof BsChatbotSuggestionButton & keyof BsChatbotSuggestionButtonAttributes as `prop:${K}`]?: BsChatbotSuggestionButton[K] };
|
|
4772
5626
|
"bs-checkbox": Omit<BsCheckbox, keyof BsCheckboxAttributes> & { [K in keyof BsCheckbox & keyof BsCheckboxAttributes]?: BsCheckbox[K] } & { [K in keyof BsCheckbox & keyof BsCheckboxAttributes as `attr:${K}`]?: BsCheckboxAttributes[K] } & { [K in keyof BsCheckbox & keyof BsCheckboxAttributes as `prop:${K}`]?: BsCheckbox[K] };
|
|
5627
|
+
"bs-checkbox-skeleton": Omit<BsCheckboxSkeleton, keyof BsCheckboxSkeletonAttributes> & { [K in keyof BsCheckboxSkeleton & keyof BsCheckboxSkeletonAttributes]?: BsCheckboxSkeleton[K] } & { [K in keyof BsCheckboxSkeleton & keyof BsCheckboxSkeletonAttributes as `attr:${K}`]?: BsCheckboxSkeletonAttributes[K] } & { [K in keyof BsCheckboxSkeleton & keyof BsCheckboxSkeletonAttributes as `prop:${K}`]?: BsCheckboxSkeleton[K] };
|
|
4773
5628
|
"bs-composer": Omit<BsComposer, keyof BsComposerAttributes> & { [K in keyof BsComposer & keyof BsComposerAttributes]?: BsComposer[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `attr:${K}`]?: BsComposerAttributes[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `prop:${K}`]?: BsComposer[K] };
|
|
4774
5629
|
"bs-composer-status-banner": Omit<BsComposerStatusBanner, keyof BsComposerStatusBannerAttributes> & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes]?: BsComposerStatusBanner[K] } & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes as `attr:${K}`]?: BsComposerStatusBannerAttributes[K] } & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes as `prop:${K}`]?: BsComposerStatusBanner[K] };
|
|
4775
5630
|
"bs-data-table": Omit<BsDataTable, keyof BsDataTableAttributes> & { [K in keyof BsDataTable & keyof BsDataTableAttributes]?: BsDataTable[K] } & { [K in keyof BsDataTable & keyof BsDataTableAttributes as `attr:${K}`]?: BsDataTableAttributes[K] } & { [K in keyof BsDataTable & keyof BsDataTableAttributes as `prop:${K}`]?: BsDataTable[K] };
|
|
5631
|
+
"bs-dialog": Omit<BsDialog, keyof BsDialogAttributes> & { [K in keyof BsDialog & keyof BsDialogAttributes]?: BsDialog[K] } & { [K in keyof BsDialog & keyof BsDialogAttributes as `attr:${K}`]?: BsDialogAttributes[K] } & { [K in keyof BsDialog & keyof BsDialogAttributes as `prop:${K}`]?: BsDialog[K] };
|
|
4776
5632
|
"bs-icon-button": Omit<BsIconButton, keyof BsIconButtonAttributes> & { [K in keyof BsIconButton & keyof BsIconButtonAttributes]?: BsIconButton[K] } & { [K in keyof BsIconButton & keyof BsIconButtonAttributes as `attr:${K}`]?: BsIconButtonAttributes[K] } & { [K in keyof BsIconButton & keyof BsIconButtonAttributes as `prop:${K}`]?: BsIconButton[K] };
|
|
4777
5633
|
"bs-inline-tab": Omit<BsInlineTab, keyof BsInlineTabAttributes> & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes]?: BsInlineTab[K] } & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes as `attr:${K}`]?: BsInlineTabAttributes[K] } & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes as `prop:${K}`]?: BsInlineTab[K] };
|
|
4778
5634
|
"bs-input": Omit<BsInput, keyof BsInputAttributes> & { [K in keyof BsInput & keyof BsInputAttributes]?: BsInput[K] } & { [K in keyof BsInput & keyof BsInputAttributes as `attr:${K}`]?: BsInputAttributes[K] } & { [K in keyof BsInput & keyof BsInputAttributes as `prop:${K}`]?: BsInput[K] };
|
|
4779
5635
|
"bs-logo": Omit<BsLogo, keyof BsLogoAttributes> & { [K in keyof BsLogo & keyof BsLogoAttributes]?: BsLogo[K] } & { [K in keyof BsLogo & keyof BsLogoAttributes as `attr:${K}`]?: BsLogoAttributes[K] } & { [K in keyof BsLogo & keyof BsLogoAttributes as `prop:${K}`]?: BsLogo[K] };
|
|
4780
5636
|
"bs-menu": BsMenu;
|
|
4781
5637
|
"bs-menu-item": Omit<BsMenuItem, keyof BsMenuItemAttributes> & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes]?: BsMenuItem[K] } & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes as `attr:${K}`]?: BsMenuItemAttributes[K] } & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes as `prop:${K}`]?: BsMenuItem[K] };
|
|
4782
|
-
"bs-modal": Omit<BsModal, keyof BsModalAttributes> & { [K in keyof BsModal & keyof BsModalAttributes]?: BsModal[K] } & { [K in keyof BsModal & keyof BsModalAttributes as `attr:${K}`]?: BsModalAttributes[K] } & { [K in keyof BsModal & keyof BsModalAttributes as `prop:${K}`]?: BsModal[K] };
|
|
4783
5638
|
"bs-navigation-drawer": Omit<BsNavigationDrawer, keyof BsNavigationDrawerAttributes> & { [K in keyof BsNavigationDrawer & keyof BsNavigationDrawerAttributes]?: BsNavigationDrawer[K] } & { [K in keyof BsNavigationDrawer & keyof BsNavigationDrawerAttributes as `attr:${K}`]?: BsNavigationDrawerAttributes[K] } & { [K in keyof BsNavigationDrawer & keyof BsNavigationDrawerAttributes as `prop:${K}`]?: BsNavigationDrawer[K] };
|
|
4784
5639
|
"bs-navigation-drawer-item": Omit<BsNavigationDrawerItem, keyof BsNavigationDrawerItemAttributes> & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes]?: BsNavigationDrawerItem[K] } & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes as `attr:${K}`]?: BsNavigationDrawerItemAttributes[K] } & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes as `prop:${K}`]?: BsNavigationDrawerItem[K] };
|
|
4785
5640
|
"bs-navigation-header": Omit<BsNavigationHeader, keyof BsNavigationHeaderAttributes> & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes]?: BsNavigationHeader[K] } & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes as `attr:${K}`]?: BsNavigationHeaderAttributes[K] } & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes as `prop:${K}`]?: BsNavigationHeader[K] };
|
|
5641
|
+
"bs-pagination": Omit<BsPagination, keyof BsPaginationAttributes> & { [K in keyof BsPagination & keyof BsPaginationAttributes]?: BsPagination[K] } & { [K in keyof BsPagination & keyof BsPaginationAttributes as `attr:${K}`]?: BsPaginationAttributes[K] } & { [K in keyof BsPagination & keyof BsPaginationAttributes as `prop:${K}`]?: BsPagination[K] };
|
|
4786
5642
|
"bs-radio": Omit<BsRadio, keyof BsRadioAttributes> & { [K in keyof BsRadio & keyof BsRadioAttributes]?: BsRadio[K] } & { [K in keyof BsRadio & keyof BsRadioAttributes as `attr:${K}`]?: BsRadioAttributes[K] } & { [K in keyof BsRadio & keyof BsRadioAttributes as `prop:${K}`]?: BsRadio[K] };
|
|
4787
5643
|
"bs-slider": Omit<BsSlider, keyof BsSliderAttributes> & { [K in keyof BsSlider & keyof BsSliderAttributes]?: BsSlider[K] } & { [K in keyof BsSlider & keyof BsSliderAttributes as `attr:${K}`]?: BsSliderAttributes[K] } & { [K in keyof BsSlider & keyof BsSliderAttributes as `prop:${K}`]?: BsSlider[K] };
|
|
5644
|
+
"bs-snackbar": Omit<BsSnackbar, keyof BsSnackbarAttributes> & { [K in keyof BsSnackbar & keyof BsSnackbarAttributes]?: BsSnackbar[K] } & { [K in keyof BsSnackbar & keyof BsSnackbarAttributes as `attr:${K}`]?: BsSnackbarAttributes[K] } & { [K in keyof BsSnackbar & keyof BsSnackbarAttributes as `prop:${K}`]?: BsSnackbar[K] };
|
|
4788
5645
|
"bs-source-link": Omit<BsSourceLink, keyof BsSourceLinkAttributes> & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes]?: BsSourceLink[K] } & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes as `attr:${K}`]?: BsSourceLinkAttributes[K] } & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes as `prop:${K}`]?: BsSourceLink[K] };
|
|
4789
5646
|
"bs-switch": Omit<BsSwitch, keyof BsSwitchAttributes> & { [K in keyof BsSwitch & keyof BsSwitchAttributes]?: BsSwitch[K] } & { [K in keyof BsSwitch & keyof BsSwitchAttributes as `attr:${K}`]?: BsSwitchAttributes[K] } & { [K in keyof BsSwitch & keyof BsSwitchAttributes as `prop:${K}`]?: BsSwitch[K] };
|
|
4790
5647
|
"bs-tab": Omit<BsTab, keyof BsTabAttributes> & { [K in keyof BsTab & keyof BsTabAttributes]?: BsTab[K] } & { [K in keyof BsTab & keyof BsTabAttributes as `attr:${K}`]?: BsTabAttributes[K] } & { [K in keyof BsTab & keyof BsTabAttributes as `prop:${K}`]?: BsTab[K] };
|
|
@@ -4909,6 +5766,26 @@ declare module "@stencil/core" {
|
|
|
4909
5766
|
* hover/focus once the row is scrollable. Aliased to `--bs-neutral-300`.
|
|
4910
5767
|
*/
|
|
4911
5768
|
"bs-attachment-list": LocalJSX.IntrinsicElements["bs-attachment-list"] & JSXBase.HTMLAttributes<HTMLBsAttachmentListElement>;
|
|
5769
|
+
/**
|
|
5770
|
+
* A circular representation of a person or entity -- a photo, initials, or (as a fallback when
|
|
5771
|
+
* neither is available) a generic user-silhouette icon.
|
|
5772
|
+
* ## When to use
|
|
5773
|
+
* - Representing a specific user or account: in a header, a comment, a member list, etc.
|
|
5774
|
+
* - `type="initials"` when a photo isn't available but a name is (e.g. "Sam Lee" -> "SL").
|
|
5775
|
+
* - `type="icon"` (the default) as the generic fallback when neither a photo nor a name/initials
|
|
5776
|
+
* is available yet.
|
|
5777
|
+
* ## When not to use
|
|
5778
|
+
* - A company/brand logo -- use `bs-logo` instead.
|
|
5779
|
+
* This component is decorative/informational by default, not an interactive control -- it renders
|
|
5780
|
+
* a plain `<span>`/`<img>`, not a `<button>`. Figma's own component set includes hover/focused/
|
|
5781
|
+
* pressed states (e.g. for an account-switcher trigger use case), which this implements as real
|
|
5782
|
+
* `:hover`/`:focus-visible`/`:active` CSS on the host itself -- so wrapping this in your own
|
|
5783
|
+
* `<button>`, or setting `tabindex` and a click handler on the `<bs-avatar>` element directly, gets
|
|
5784
|
+
* the matching visual treatment for free with no extra wiring. Left genuinely non-interactive
|
|
5785
|
+
* (no implicit role/tabindex of its own) so it doesn't misrepresent a purely decorative avatar
|
|
5786
|
+
* (e.g. next to a comment) as a control when it isn't one.
|
|
5787
|
+
*/
|
|
5788
|
+
"bs-avatar": LocalJSX.IntrinsicElements["bs-avatar"] & JSXBase.HTMLAttributes<HTMLBsAvatarElement>;
|
|
4912
5789
|
/**
|
|
4913
5790
|
* A small status or category pill, usually paired with a label or list item.
|
|
4914
5791
|
* ## When to use
|
|
@@ -4919,6 +5796,67 @@ declare module "@stencil/core" {
|
|
|
4919
5796
|
* - For long text — badges are sized for one or two words.
|
|
4920
5797
|
*/
|
|
4921
5798
|
"bs-badge": LocalJSX.IntrinsicElements["bs-badge"] & JSXBase.HTMLAttributes<HTMLBsBadgeElement>;
|
|
5799
|
+
/**
|
|
5800
|
+
* A single crumb within a `<bs-breadcrumbs>` trail: a leading separator icon plus either a link,
|
|
5801
|
+
* plain text, or the current-page label, depending on `current`/`href`.
|
|
5802
|
+
* Rendering follows the W3C ARIA Authoring Practices breadcrumb pattern
|
|
5803
|
+
* (https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/): the current page is marked
|
|
5804
|
+
* `aria-current="page"` and is never a link -- this holds even when `href` is also set, unlike
|
|
5805
|
+
* Carbon Design System's `cds-breadcrumb-item`, which allows a link on the current item.
|
|
5806
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
5807
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
5808
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
5809
|
+
* ## When to use
|
|
5810
|
+
* - As one crumb inside a `<bs-breadcrumbs>` trail.
|
|
5811
|
+
* ## When not to use
|
|
5812
|
+
* - Standalone, outside a `<bs-breadcrumbs>` wrapper -- its `<ol>`/`<nav>` context and
|
|
5813
|
+
* first-child-aware separator hiding depend on that parent structure.
|
|
5814
|
+
*/
|
|
5815
|
+
"bs-breadcrumb": LocalJSX.IntrinsicElements["bs-breadcrumb"] & JSXBase.HTMLAttributes<HTMLBsBreadcrumbElement>;
|
|
5816
|
+
/**
|
|
5817
|
+
* A manually-placed collapsed-items disclosure for a `<bs-breadcrumbs>` trail: a leading separator
|
|
5818
|
+
* plus an icon-only ellipsis button that reveals a `bs-menu` popup listing every hidden crumb.
|
|
5819
|
+
* `items` is JS-property-only -- must be set as a JS property (`el.items = [...]`), not an HTML
|
|
5820
|
+
* attribute, since attributes can only carry strings. See CONVENTIONS.md.
|
|
5821
|
+
* Unlike an earlier `bs-breadcrumbs`-owned automatic `maxItems` collapse, this component does no
|
|
5822
|
+
* collapsing logic itself -- the consumer decides which crumbs to hide and places this element
|
|
5823
|
+
* wherever they want the disclosure, exactly matching Carbon Design System's own approach (Carbon
|
|
5824
|
+
* doesn't auto-collapse breadcrumbs either; a consumer there manually decides what's visible).
|
|
5825
|
+
* Hidden items with an `href` render as real `<a href>` rows inside the popup, not `bs-menu-item`
|
|
5826
|
+
* (which renders a `<button>`) -- this matters because consuming apps commonly use client-side
|
|
5827
|
+
* routers that intercept clicks on real `<a>` tags to do `preventDefault` + push-state navigation.
|
|
5828
|
+
* Rendering hidden links any other way (e.g. `window.location`) would silently break client-side
|
|
5829
|
+
* routing for hidden crumbs while working fine for visible ones. Hidden items without an `href`
|
|
5830
|
+
* render as plain non-interactive text, matching how `bs-breadcrumb` itself handles link vs.
|
|
5831
|
+
* no-link crumbs.
|
|
5832
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
5833
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
5834
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
5835
|
+
* ## When to use
|
|
5836
|
+
* - Inside a `<bs-breadcrumbs>` trail, wherever the consumer wants an interactive disclosure for
|
|
5837
|
+
* crumbs they've chosen not to render directly.
|
|
5838
|
+
* ## When not to use
|
|
5839
|
+
* - As an automatic collapsing mechanism -- there is none; the consumer decides what's hidden.
|
|
5840
|
+
*/
|
|
5841
|
+
"bs-breadcrumb-overflow": LocalJSX.IntrinsicElements["bs-breadcrumb-overflow"] & JSXBase.HTMLAttributes<HTMLBsBreadcrumbOverflowElement>;
|
|
5842
|
+
/**
|
|
5843
|
+
* A breadcrumb trail container: a real `<nav>` landmark wrapping an `<ol>`, meant to be populated
|
|
5844
|
+
* with slotted `<bs-breadcrumb>` (and, where the consumer wants a collapsed-items disclosure,
|
|
5845
|
+
* `<bs-breadcrumb-overflow>`) children -- same composition-over-configuration architecture as
|
|
5846
|
+
* Carbon Design System's `cds-breadcrumb`/`cds-breadcrumb-item`/`cds-breadcrumb-link`.
|
|
5847
|
+
* This component is intentionally thin: it owns only the `<nav>` landmark and list semantics.
|
|
5848
|
+
* Unlike an earlier `items`-array-driven design, there is no automatic collapsing here -- exactly
|
|
5849
|
+
* like Carbon, the consumer decides what's visible and manually places a `<bs-breadcrumb-overflow>`
|
|
5850
|
+
* wherever they want a collapsed-items disclosure. See `bs-breadcrumbs.mdx` for the consolidated
|
|
5851
|
+
* docs covering all three components in this feature area.
|
|
5852
|
+
* ## When to use
|
|
5853
|
+
* - Showing a user's current location within a hierarchical page structure, with a path back to
|
|
5854
|
+
* its ancestors.
|
|
5855
|
+
* ## When not to use
|
|
5856
|
+
* - Primary in-app navigation -- use `bs-navigation-drawer`/`bs-navigation-header` instead.
|
|
5857
|
+
* - A flat set of unrelated pages with no hierarchy -- breadcrumbs imply ancestry, not just history.
|
|
5858
|
+
*/
|
|
5859
|
+
"bs-breadcrumbs": LocalJSX.IntrinsicElements["bs-breadcrumbs"] & JSXBase.HTMLAttributes<HTMLBsBreadcrumbsElement>;
|
|
4922
5860
|
/**
|
|
4923
5861
|
* A clickable action element for the single most important action in a given context.
|
|
4924
5862
|
* ## When to use
|
|
@@ -5141,6 +6079,30 @@ declare module "@stencil/core" {
|
|
|
5141
6079
|
* - An on/off setting that takes effect immediately (no explicit form submission) -- use `bs-switch`.
|
|
5142
6080
|
*/
|
|
5143
6081
|
"bs-checkbox": LocalJSX.IntrinsicElements["bs-checkbox"] & JSXBase.HTMLAttributes<HTMLBsCheckboxElement>;
|
|
6082
|
+
/**
|
|
6083
|
+
* A shape-matched loading placeholder for `bs-checkbox`, shown while the real label text isn't
|
|
6084
|
+
* known yet (e.g. still being fetched from an API). Renders a small square (matching the
|
|
6085
|
+
* checkbox's own box) beside a text-bar placeholder (standing in for the label), both pulsing
|
|
6086
|
+
* together, sized to match `bs-checkbox`'s `sm`/`md`/`lg` box dimensions so layout doesn't shift
|
|
6087
|
+
* once the real checkbox renders.
|
|
6088
|
+
* ## When to use
|
|
6089
|
+
* - In place of a `bs-checkbox` whose label/checked state depends on data that hasn't loaded yet.
|
|
6090
|
+
* ## When not to use
|
|
6091
|
+
* - While a checkbox's own change handler is running (e.g. a save request in flight) -- render the
|
|
6092
|
+
* real `bs-checkbox` itself; this component is not a saving-in-progress spinner.
|
|
6093
|
+
* @prop --bs-checkbox-skeleton-size-sm - Box width/height at `size="sm"`. Aliased to
|
|
6094
|
+
* `--bs-spacing-200`, mirroring `bs-checkbox`'s own `--bs-checkbox-size-sm` -- not read directly
|
|
6095
|
+
* from it, since these are two separate shadow roots.
|
|
6096
|
+
* @prop --bs-checkbox-skeleton-size-md - Box width/height at `size="md"`. Aliased to
|
|
6097
|
+
* `--bs-spacing-250`.
|
|
6098
|
+
* @prop --bs-checkbox-skeleton-size-lg - Box width/height at `size="lg"`. Aliased to
|
|
6099
|
+
* `--bs-spacing-300`.
|
|
6100
|
+
* @prop --bs-checkbox-skeleton-gap - Gap between the box and label placeholders. Aliased to
|
|
6101
|
+
* `--bs-spacing-100`, mirroring `bs-checkbox`'s own `--bs-checkbox-gap`.
|
|
6102
|
+
* @prop --bs-checkbox-skeleton-label-width - Width of the label placeholder bar. Defaults to
|
|
6103
|
+
* `96px`.
|
|
6104
|
+
*/
|
|
6105
|
+
"bs-checkbox-skeleton": LocalJSX.IntrinsicElements["bs-checkbox-skeleton"] & JSXBase.HTMLAttributes<HTMLBsCheckboxSkeletonElement>;
|
|
5144
6106
|
/**
|
|
5145
6107
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
5146
6108
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -5251,6 +6213,24 @@ declare module "@stencil/core" {
|
|
|
5251
6213
|
* - Deeply nested/hierarchical data — this component renders one flat row per record.
|
|
5252
6214
|
*/
|
|
5253
6215
|
"bs-data-table": LocalJSX.IntrinsicElements["bs-data-table"] & JSXBase.HTMLAttributes<HTMLBsDataTableElement>;
|
|
6216
|
+
/**
|
|
6217
|
+
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
6218
|
+
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
6219
|
+
* ## When to use
|
|
6220
|
+
* - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
|
|
6221
|
+
* - A short, focused task that doesn't warrant navigating to a new page.
|
|
6222
|
+
* ## When not to use
|
|
6223
|
+
* - For non-blocking status messages — use a toast/notification instead of interrupting the user.
|
|
6224
|
+
* - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
|
|
6225
|
+
* dialog that just gets taller and taller.
|
|
6226
|
+
* Two additional slots cover the Figma "Dialog" component's other states: `image` (a hero image
|
|
6227
|
+
* across the top, close button floats over it instead of sitting in the header row) and `icon`
|
|
6228
|
+
* (only rendered when `centered` is set, e.g. a success checkmark above a centered heading). The
|
|
6229
|
+
* close button "floats" (absolute-positioned, top-right of the dialog, with its own background)
|
|
6230
|
+
* whenever `centered` is true or the `image` slot has content -- otherwise it's the plain inline
|
|
6231
|
+
* button in the header row next to the heading, same as before this addition.
|
|
6232
|
+
*/
|
|
6233
|
+
"bs-dialog": LocalJSX.IntrinsicElements["bs-dialog"] & JSXBase.HTMLAttributes<HTMLBsDialogElement>;
|
|
5254
6234
|
/**
|
|
5255
6235
|
* A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
|
|
5256
6236
|
* 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
|
|
@@ -5374,25 +6354,14 @@ declare module "@stencil/core" {
|
|
|
5374
6354
|
* @prop --bs-menu-item-line-height - Aliased to `--bs-line-height-body-md`.
|
|
5375
6355
|
*/
|
|
5376
6356
|
"bs-menu-item": LocalJSX.IntrinsicElements["bs-menu-item"] & JSXBase.HTMLAttributes<HTMLBsMenuItemElement>;
|
|
5377
|
-
/**
|
|
5378
|
-
* An overlay dialog that interrupts the current flow for a focused task or confirmation.
|
|
5379
|
-
* Closes itself on backdrop click, Escape, or its own close button, and emits `bsClose`.
|
|
5380
|
-
* ## When to use
|
|
5381
|
-
* - Confirming a consequential action (e.g. "Confirm booking") before it takes effect.
|
|
5382
|
-
* - A short, focused task that doesn't warrant navigating to a new page.
|
|
5383
|
-
* ## When not to use
|
|
5384
|
-
* - For non-blocking status messages — use a toast/notification instead of interrupting the user.
|
|
5385
|
-
* - For a long, multi-step flow — a full page or a dedicated route is usually a better fit than a
|
|
5386
|
-
* modal that just gets taller and taller.
|
|
5387
|
-
*/
|
|
5388
|
-
"bs-modal": LocalJSX.IntrinsicElements["bs-modal"] & JSXBase.HTMLAttributes<HTMLBsModalElement>;
|
|
5389
6357
|
/**
|
|
5390
6358
|
* A left-side persistent navigation sidebar: the BrandSync logo, a "Main Menu" title with a
|
|
5391
6359
|
* collapse toggle, a reserved slot for a search field, and a scrollable list of nav items.
|
|
5392
6360
|
* ## When to use
|
|
5393
6361
|
* - The primary in-app navigation, shown alongside `bs-navigation-header` (typically that
|
|
5394
6362
|
* header's `with-navigation-drawer` alignment, which omits its own logo since this component
|
|
5395
|
-
* already renders one
|
|
6363
|
+
* already renders one -- or the reverse pairing, this drawer's own `showLogo={false}` alongside
|
|
6364
|
+
* a header that keeps its logo instead, see that prop's own docs).
|
|
5396
6365
|
* ## When not to use
|
|
5397
6366
|
* - The top navigation bar itself -- use `bs-navigation-header` instead.
|
|
5398
6367
|
* This component renders a real `<nav>` landmark (no explicit `role` needed -- `<nav>` already
|
|
@@ -5468,6 +6437,22 @@ declare module "@stencil/core" {
|
|
|
5468
6437
|
* `right` slot content pushed to the far right.
|
|
5469
6438
|
*/
|
|
5470
6439
|
"bs-navigation-header": LocalJSX.IntrinsicElements["bs-navigation-header"] & JSXBase.HTMLAttributes<HTMLBsNavigationHeaderElement>;
|
|
6440
|
+
/**
|
|
6441
|
+
* A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
|
|
6442
|
+
* large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
|
|
6443
|
+
* numbered pagination); its other type ("jumper" -- a rows-per-page dropdown plus a page-jump
|
|
6444
|
+
* input) is a structurally different composite widget and isn't covered by this component.
|
|
6445
|
+
* `totalPages`/`currentPage` drive everything -- this computes which page numbers to show and
|
|
6446
|
+
* where to collapse into `...` itself, the consumer never builds the button list by hand.
|
|
6447
|
+
* ## When to use
|
|
6448
|
+
* - Paging through a large, ordered result set (a table, a search results list) where jumping
|
|
6449
|
+
* directly to a specific page number is useful.
|
|
6450
|
+
* ## When not to use
|
|
6451
|
+
* - Infinite-scroll or "load more" patterns -- those don't have a fixed, addressable page number.
|
|
6452
|
+
* - A huge page count where users realistically only ever go forward/back one page at a time --
|
|
6453
|
+
* plain prev/next controls (no numbers) are simpler there.
|
|
6454
|
+
*/
|
|
6455
|
+
"bs-pagination": LocalJSX.IntrinsicElements["bs-pagination"] & JSXBase.HTMLAttributes<HTMLBsPaginationElement>;
|
|
5471
6456
|
/**
|
|
5472
6457
|
* A single radio button with its label, for one mutually-exclusive choice within a group.
|
|
5473
6458
|
* ## When to use
|
|
@@ -5495,6 +6480,26 @@ declare module "@stencil/core" {
|
|
|
5495
6480
|
* - A small, fixed set of mutually exclusive choices -- use a radio group instead.
|
|
5496
6481
|
*/
|
|
5497
6482
|
"bs-slider": LocalJSX.IntrinsicElements["bs-slider"] & JSXBase.HTMLAttributes<HTMLBsSliderElement>;
|
|
6483
|
+
/**
|
|
6484
|
+
* A transient status bar for confirming the result of an action (e.g. "Files uploaded
|
|
6485
|
+
* successfully.") -- an icon (or loading spinner), a message, an optional action, and a close
|
|
6486
|
+
* button.
|
|
6487
|
+
* This component only renders the bar itself -- it doesn't manage its own visibility, timing, or
|
|
6488
|
+
* stacking. A consumer (typically a small "toast manager" utility) creates one per message and
|
|
6489
|
+
* removes it from the DOM again, whether on a timer or on `bsDismiss`. Figma's spec doesn't show
|
|
6490
|
+
* auto-dismiss timing at all (it's a static visual spec), so this deliberately doesn't invent one.
|
|
6491
|
+
* The icon is always the same checkmark glyph across every `variant`, just recolored -- matching
|
|
6492
|
+
* the Figma spec exactly, even though a checkmark for `variant="error"` reads a little oddly
|
|
6493
|
+
* semantically. Worth revisiting with severity-specific icons (warning triangle, error circle,
|
|
6494
|
+
* etc.) if the design updates to specify them.
|
|
6495
|
+
* ## When to use
|
|
6496
|
+
* - Confirming the outcome of an action that just happened (save succeeded, upload failed) without
|
|
6497
|
+
* interrupting the user's flow.
|
|
6498
|
+
* ## When not to use
|
|
6499
|
+
* - For a response that requires the user to make a decision before continuing -- use `bs-dialog`.
|
|
6500
|
+
* - For persistent, always-visible status -- a snackbar is inherently transient.
|
|
6501
|
+
*/
|
|
6502
|
+
"bs-snackbar": LocalJSX.IntrinsicElements["bs-snackbar"] & JSXBase.HTMLAttributes<HTMLBsSnackbarElement>;
|
|
5498
6503
|
/**
|
|
5499
6504
|
* A single citation row inside `bs-chatbot-sources-drawer` -- a file icon + filename on the first
|
|
5500
6505
|
* line, the originating system and version on the second, and a trailing "open" arrow.
|