@brandsync/wc 0.0.12 → 1.0.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 +4969 -3104
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/p-0ba35c3b.entry.js +1 -0
- package/dist/brandsync-wc/{p-72a33f88.entry.js → p-10f6f3cd.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2c51d738.entry.js → p-16c960b5.entry.js} +1 -1
- package/dist/brandsync-wc/p-17a695af.entry.js +1 -0
- package/dist/brandsync-wc/{p-6e854e92.entry.js → p-196cfcf0.entry.js} +1 -1
- package/dist/brandsync-wc/p-1fcc9f47.entry.js +1 -0
- package/dist/brandsync-wc/p-27cce165.entry.js +1 -0
- package/dist/brandsync-wc/p-37365a51.entry.js +1 -0
- package/dist/brandsync-wc/{p-0eee5477.entry.js → p-38aad266.entry.js} +1 -1
- package/dist/brandsync-wc/p-3efb76dd.entry.js +1 -0
- package/dist/brandsync-wc/{p-1c6fa697.entry.js → p-43e37883.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1900f6ce.entry.js → p-45016a37.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8b662ee3.entry.js → p-48000949.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ef8522b5.entry.js → p-4ec24ccb.entry.js} +1 -1
- package/dist/brandsync-wc/p-4f8459ae.entry.js +1 -0
- 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-613ff380.entry.js +1 -0
- package/dist/brandsync-wc/{p-57fdbb76.entry.js → p-63167373.entry.js} +1 -1
- package/dist/brandsync-wc/{p-20dbc6a1.entry.js → p-69c5bc2e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-46ddc8e1.entry.js → p-6e95eb36.entry.js} +1 -1
- package/dist/brandsync-wc/p-752c04c8.entry.js +1 -0
- package/dist/brandsync-wc/p-7e544766.entry.js +1 -0
- package/dist/brandsync-wc/p-917a5bbc.entry.js +1 -0
- package/dist/brandsync-wc/{p-c320b6b4.entry.js → p-9bcd99aa.entry.js} +1 -1
- package/dist/brandsync-wc/{p-12ec9e92.entry.js → p-9f1e4a91.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-dd09d335.entry.js → p-ab8de9b6.entry.js} +1 -1
- package/dist/brandsync-wc/p-b18e4845.entry.js +1 -0
- package/dist/brandsync-wc/{p-88a0abee.entry.js → p-b5cbe30b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3b31f7c7.entry.js → p-baa4e2e0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d4e3ca77.entry.js → p-c04cf1bb.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-c90f5a74.entry.js +1 -0
- 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-1adc59be.entry.js → p-d037b619.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2a65aabb.entry.js → p-d22990c0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-56c66448.entry.js → p-e231e4cf.entry.js} +1 -1
- package/dist/brandsync-wc/{p-64e2a7d7.entry.js → p-e2a37bda.entry.js} +1 -1
- package/dist/brandsync-wc/{p-aba300a9.entry.js → p-e3ce0c8c.entry.js} +1 -1
- package/dist/brandsync-wc/p-f0ae2740.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-stepper-step.cjs.entry.js +44 -0
- package/dist/cjs/bs-stepper.cjs.entry.js +62 -0
- 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 +10 -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-stepper/bs-stepper/bs-stepper.cmp.test.js +42 -0
- package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.css +29 -0
- package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +162 -0
- package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.stories.js +59 -0
- package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.cmp.test.js +73 -0
- package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.css +258 -0
- package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +231 -0
- 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-stepper-step.d.ts +11 -0
- package/dist/components/bs-stepper-step.js +1 -0
- package/dist/components/bs-stepper.d.ts +11 -0
- package/dist/components/bs-stepper.js +1 -0
- 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-Bs7nEbqK.js} +1 -1
- package/dist/components/{p-BqYyMGrB.js → p-CPSCOLIf.js} +1 -1
- package/dist/components/{p-xfx69LQx.js → p-CUa8zihb.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-stepper-step.entry.js +42 -0
- package/dist/esm/bs-stepper.entry.js +60 -0
- 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/bs-stepper/bs-stepper/bs-stepper.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-stepper/bs-stepper/bs-stepper.d.ts +48 -0
- package/dist/types/components/bs-stepper/bs-stepper/bs-stepper.stories.d.ts +14 -0
- package/dist/types/components/bs-stepper/bs-stepper-step/bs-stepper-step.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-stepper/bs-stepper-step/bs-stepper-step.d.ts +55 -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 +1431 -128
- 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/brandsync-wc/p-f04db1b0.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
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prop --bs-breadcrumb-gap: Gap between the separator icon and this crumb's own content. Aliased to --bs-spacing-50.
|
|
3
|
+
* @prop --bs-breadcrumb-separator-color: Separator icon color. Aliased to --bs-icon-default.
|
|
4
|
+
* @prop --bs-breadcrumb-color-default: Text color, non-current crumb. Aliased to --bs-text-muted.
|
|
5
|
+
* @prop --bs-breadcrumb-color-hover: Text color, non-current link crumb on hover/focus. Aliased to --bs-text-default.
|
|
6
|
+
* @prop --bs-breadcrumb-color-current: Text color, the current-page crumb. Aliased to --bs-text-default.
|
|
7
|
+
* @prop --bs-breadcrumb-font-size: Aliased to --bs-font-size-md.
|
|
8
|
+
* @prop --bs-breadcrumb-line-height: Aliased to --bs-line-height-body-md.
|
|
9
|
+
* @prop --bs-breadcrumb-font-size-sm: Font size at size="sm". Aliased to --bs-font-size-sm.
|
|
10
|
+
* @prop --bs-breadcrumb-line-height-sm: Line height at size="sm". Aliased to --bs-line-height-body-sm.
|
|
11
|
+
* @prop --bs-breadcrumb-font-weight-default: Font weight, non-current crumb. Aliased to --bs-font-weight-regular.
|
|
12
|
+
* @prop --bs-breadcrumb-font-weight-current: Font weight, the current-page crumb. Aliased to --bs-font-weight-semibold.
|
|
13
|
+
* @prop --bs-breadcrumb-focus-ring-color: Focus ring color for a link crumb. Aliased to --bs-border-neutral-focus.
|
|
14
|
+
* @prop --bs-breadcrumb-radius: Border radius for a link crumb's focus ring. Aliased to --bs-border-radius-50.
|
|
15
|
+
*/
|
|
16
|
+
:host {
|
|
17
|
+
display: inline-flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
|
|
20
|
+
--bs-breadcrumb-gap: var(--bs-spacing-50);
|
|
21
|
+
|
|
22
|
+
--bs-breadcrumb-separator-color: var(--bs-icon-default);
|
|
23
|
+
|
|
24
|
+
--bs-breadcrumb-color-default: var(--bs-text-muted);
|
|
25
|
+
--bs-breadcrumb-color-hover: var(--bs-text-default);
|
|
26
|
+
--bs-breadcrumb-color-current: var(--bs-text-default);
|
|
27
|
+
|
|
28
|
+
--bs-breadcrumb-font-size: var(--bs-font-size-md);
|
|
29
|
+
--bs-breadcrumb-line-height: var(--bs-line-height-body-md);
|
|
30
|
+
--bs-breadcrumb-font-size-sm: var(--bs-font-size-sm);
|
|
31
|
+
--bs-breadcrumb-line-height-sm: var(--bs-line-height-body-sm);
|
|
32
|
+
--bs-breadcrumb-font-weight-default: var(--bs-font-weight-regular);
|
|
33
|
+
--bs-breadcrumb-font-weight-current: var(--bs-font-weight-semibold);
|
|
34
|
+
|
|
35
|
+
--bs-breadcrumb-focus-ring-color: var(--bs-border-neutral-focus);
|
|
36
|
+
--bs-breadcrumb-radius: var(--bs-border-radius-50);
|
|
37
|
+
|
|
38
|
+
gap: var(--bs-breadcrumb-gap);
|
|
39
|
+
font-family: inherit;
|
|
40
|
+
font-size: var(--bs-breadcrumb-font-size);
|
|
41
|
+
line-height: calc(var(--bs-breadcrumb-line-height) * 1px);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* This crumb is visually first in the trail -- pure DOM position (not :first-of-type, which only
|
|
45
|
+
counts same-tag siblings and would wrongly also match a bs-breadcrumb immediately following a
|
|
46
|
+
bs-breadcrumb-overflow). See bs-breadcrumb-overflow.css for the identical rule. */
|
|
47
|
+
:host(:first-child) .bs-breadcrumb__separator {
|
|
48
|
+
display: none;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* size="sm" scales font-size/line-height only -- the separator icon's pixel size is unchanged,
|
|
52
|
+
since Figma didn't specify a sm icon size (see the `size` prop's doc comment in bs-breadcrumb.tsx). */
|
|
53
|
+
:host([size='sm']) {
|
|
54
|
+
font-size: var(--bs-breadcrumb-font-size-sm);
|
|
55
|
+
line-height: calc(var(--bs-breadcrumb-line-height-sm) * 1px);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.bs-breadcrumb__separator {
|
|
59
|
+
display: inline-flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
justify-content: center;
|
|
62
|
+
width: 16px;
|
|
63
|
+
height: 16px;
|
|
64
|
+
flex-shrink: 0;
|
|
65
|
+
color: var(--bs-breadcrumb-separator-color);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.bs-breadcrumb__separator svg {
|
|
69
|
+
width: 16px;
|
|
70
|
+
height: 16px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.bs-breadcrumb__link {
|
|
74
|
+
color: var(--bs-breadcrumb-color-default);
|
|
75
|
+
font-weight: var(--bs-breadcrumb-font-weight-default);
|
|
76
|
+
text-decoration: none;
|
|
77
|
+
border-radius: var(--bs-breadcrumb-radius);
|
|
78
|
+
transition: color var(--bs-duration-fast) var(--bs-easing-standard);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
a.bs-breadcrumb__link:hover {
|
|
82
|
+
color: var(--bs-breadcrumb-color-hover);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
a.bs-breadcrumb__link:focus-visible {
|
|
86
|
+
outline: 2px solid var(--bs-breadcrumb-focus-ring-color);
|
|
87
|
+
outline-offset: 2px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.bs-breadcrumb__current {
|
|
91
|
+
color: var(--bs-breadcrumb-color-current);
|
|
92
|
+
font-weight: var(--bs-breadcrumb-font-weight-current);
|
|
93
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A single crumb within a `<bs-breadcrumbs>` trail: a leading separator icon plus either a link,
|
|
4
|
+
* plain text, or the current-page label, depending on `current`/`href`.
|
|
5
|
+
*
|
|
6
|
+
* Rendering follows the W3C ARIA Authoring Practices breadcrumb pattern
|
|
7
|
+
* (https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/): the current page is marked
|
|
8
|
+
* `aria-current="page"` and is never a link -- this holds even when `href` is also set, unlike
|
|
9
|
+
* Carbon Design System's `cds-breadcrumb-item`, which allows a link on the current item.
|
|
10
|
+
*
|
|
11
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
12
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
13
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
14
|
+
*
|
|
15
|
+
* ## When to use
|
|
16
|
+
* - As one crumb inside a `<bs-breadcrumbs>` trail.
|
|
17
|
+
*
|
|
18
|
+
* ## When not to use
|
|
19
|
+
* - Standalone, outside a `<bs-breadcrumbs>` wrapper -- its `<ol>`/`<nav>` context and
|
|
20
|
+
* first-child-aware separator hiding depend on that parent structure.
|
|
21
|
+
*
|
|
22
|
+
* @slot - Default slot: the crumb's label content/text.
|
|
23
|
+
* @part separator - The leading separator icon wrapper.
|
|
24
|
+
* @part link - The anchor (or, when there's no `href`, plain `<span>`) for a non-current crumb.
|
|
25
|
+
* @part current - The current-page text element.
|
|
26
|
+
*/
|
|
27
|
+
// Note: this component's CSS Custom Properties (--bs-breadcrumb-*) are documented via @prop
|
|
28
|
+
// comments in bs-breadcrumb.css, not here -- see bs-tab.tsx's identical note.
|
|
29
|
+
export class BsBreadcrumb {
|
|
30
|
+
/** Destination for a non-current crumb. Ignored when `current` is true -- the current page is
|
|
31
|
+
* never a link, even if `href` is set (see the class JSDoc). */
|
|
32
|
+
href;
|
|
33
|
+
/** Whether this crumb is the current page. Renders as plain (non-link) text marked
|
|
34
|
+
* `aria-current="page"`, reflected as an attribute so consumers/CSS can target
|
|
35
|
+
* `bs-breadcrumb[current]`. */
|
|
36
|
+
current = false;
|
|
37
|
+
/** Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- the
|
|
38
|
+
* container propagates its own `size` as a JS property to every slotted `bs-breadcrumb`/
|
|
39
|
+
* `bs-breadcrumb-overflow` child (see `bs-breadcrumbs.tsx`'s `propagateSize`), since CSS custom
|
|
40
|
+
* properties can't carry an enum that switches rules on their own. Can also be set directly on a
|
|
41
|
+
* standalone crumb. `sm` scales down font-size/line-height only -- the separator icon's pixel
|
|
42
|
+
* size is unchanged, since Figma didn't specify a `sm` icon size and guessing one risked drifting
|
|
43
|
+
* off-brand. Reflected so consumers/CSS can target `bs-breadcrumb[size="sm"]`. */
|
|
44
|
+
size = 'md';
|
|
45
|
+
render() {
|
|
46
|
+
return (h(Host, { key: '631ab305f75d905c7e54facdc55348b84095530d', role: "listitem" }, h("span", { key: 'a84c1b0b123d5e930c27fc5a10e0bde66003e99b', part: "separator", class: "bs-breadcrumb__separator", "aria-hidden": "true" }, h(CaretRightIcon, { key: '540d161da72801edb9d308c2023da7dd76042912' })), this.current ? (h("span", { part: "current", class: "bs-breadcrumb__current", "aria-current": "page" }, h("slot", null))) : this.href ? (h("a", { part: "link", class: "bs-breadcrumb__link", href: this.href }, h("slot", null))) : (h("span", { part: "link", class: "bs-breadcrumb__link" }, h("slot", null)))));
|
|
47
|
+
}
|
|
48
|
+
static get is() { return "bs-breadcrumb"; }
|
|
49
|
+
static get encapsulation() { return "shadow"; }
|
|
50
|
+
static get originalStyleUrls() {
|
|
51
|
+
return {
|
|
52
|
+
"$": ["bs-breadcrumb.css"]
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
static get styleUrls() {
|
|
56
|
+
return {
|
|
57
|
+
"$": ["bs-breadcrumb.css"]
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
static get properties() {
|
|
61
|
+
return {
|
|
62
|
+
"href": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"mutable": false,
|
|
65
|
+
"complexType": {
|
|
66
|
+
"original": "string",
|
|
67
|
+
"resolved": "string",
|
|
68
|
+
"references": {}
|
|
69
|
+
},
|
|
70
|
+
"required": false,
|
|
71
|
+
"optional": true,
|
|
72
|
+
"docs": {
|
|
73
|
+
"tags": [],
|
|
74
|
+
"text": "Destination for a non-current crumb. Ignored when `current` is true -- the current page is\nnever a link, even if `href` is set (see the class JSDoc)."
|
|
75
|
+
},
|
|
76
|
+
"getter": false,
|
|
77
|
+
"setter": false,
|
|
78
|
+
"reflect": false,
|
|
79
|
+
"attribute": "href"
|
|
80
|
+
},
|
|
81
|
+
"current": {
|
|
82
|
+
"type": "boolean",
|
|
83
|
+
"mutable": false,
|
|
84
|
+
"complexType": {
|
|
85
|
+
"original": "boolean",
|
|
86
|
+
"resolved": "boolean",
|
|
87
|
+
"references": {}
|
|
88
|
+
},
|
|
89
|
+
"required": false,
|
|
90
|
+
"optional": false,
|
|
91
|
+
"docs": {
|
|
92
|
+
"tags": [],
|
|
93
|
+
"text": "Whether this crumb is the current page. Renders as plain (non-link) text marked\n`aria-current=\"page\"`, reflected as an attribute so consumers/CSS can target\n`bs-breadcrumb[current]`."
|
|
94
|
+
},
|
|
95
|
+
"getter": false,
|
|
96
|
+
"setter": false,
|
|
97
|
+
"reflect": true,
|
|
98
|
+
"attribute": "current",
|
|
99
|
+
"defaultValue": "false"
|
|
100
|
+
},
|
|
101
|
+
"size": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"mutable": false,
|
|
104
|
+
"complexType": {
|
|
105
|
+
"original": "BsBreadcrumbSize",
|
|
106
|
+
"resolved": "\"md\" | \"sm\"",
|
|
107
|
+
"references": {
|
|
108
|
+
"BsBreadcrumbSize": {
|
|
109
|
+
"location": "local",
|
|
110
|
+
"path": "/Users/vivka/brandsync-web-components/src/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.tsx",
|
|
111
|
+
"id": "src/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.tsx::BsBreadcrumbSize"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"required": false,
|
|
116
|
+
"optional": false,
|
|
117
|
+
"docs": {
|
|
118
|
+
"tags": [],
|
|
119
|
+
"text": "Size variant. Normally set automatically by a parent `<bs-breadcrumbs size=\"...\">` -- the\ncontainer propagates its own `size` as a JS property to every slotted `bs-breadcrumb`/\n`bs-breadcrumb-overflow` child (see `bs-breadcrumbs.tsx`'s `propagateSize`), since CSS custom\nproperties can't carry an enum that switches rules on their own. Can also be set directly on a\nstandalone crumb. `sm` scales down font-size/line-height only -- the separator icon's pixel\nsize is unchanged, since Figma didn't specify a `sm` icon size and guessing one risked drifting\noff-brand. Reflected so consumers/CSS can target `bs-breadcrumb[size=\"sm\"]`."
|
|
120
|
+
},
|
|
121
|
+
"getter": false,
|
|
122
|
+
"setter": false,
|
|
123
|
+
"reflect": true,
|
|
124
|
+
"attribute": "size",
|
|
125
|
+
"defaultValue": "'md'"
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const CaretRightIcon = () => (h("svg", { viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M6 3L11 8L6 13", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { render, h, describe, it, expect } from "@stencil/vitest";
|
|
2
|
+
const items = [
|
|
3
|
+
{ label: 'Products', href: '/products' },
|
|
4
|
+
{ label: 'Category', href: '/products/category' },
|
|
5
|
+
];
|
|
6
|
+
describe('bs-breadcrumb-overflow', () => {
|
|
7
|
+
it('sets role="listitem" on the host', async () => {
|
|
8
|
+
const { root } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
9
|
+
expect(root).toEqualAttribute('role', 'listitem');
|
|
10
|
+
});
|
|
11
|
+
it('is a real button with aria-haspopup="menu" and starts closed', async () => {
|
|
12
|
+
const { root } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
13
|
+
const ellipsis = root.shadowRoot.querySelector('[part="ellipsis"]');
|
|
14
|
+
expect(ellipsis).not.toBeNull();
|
|
15
|
+
expect(ellipsis.tagName).toBe('BUTTON');
|
|
16
|
+
expect(ellipsis).toEqualAttribute('aria-haspopup', 'menu');
|
|
17
|
+
expect(ellipsis).toEqualAttribute('aria-expanded', 'false');
|
|
18
|
+
expect(root.shadowRoot.querySelector('bs-menu')).toBeNull();
|
|
19
|
+
});
|
|
20
|
+
it('reflects the overflowLabel prop as the ellipsis button aria-label', async () => {
|
|
21
|
+
const { root } = await render(h("bs-breadcrumb-overflow", { items: items, overflowLabel: "See hidden crumbs" }));
|
|
22
|
+
const ellipsis = root.shadowRoot.querySelector('[part="ellipsis"]');
|
|
23
|
+
expect(ellipsis).toEqualAttribute('aria-label', 'See hidden crumbs');
|
|
24
|
+
});
|
|
25
|
+
it('clicking the ellipsis opens the popup with exactly the given items, in order', async () => {
|
|
26
|
+
const { root, waitForChanges } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
27
|
+
const ellipsis = root.shadowRoot.querySelector('[part="ellipsis"]');
|
|
28
|
+
ellipsis.click();
|
|
29
|
+
await waitForChanges();
|
|
30
|
+
expect(ellipsis).toEqualAttribute('aria-expanded', 'true');
|
|
31
|
+
const menu = root.shadowRoot.querySelector('bs-menu');
|
|
32
|
+
expect(menu).not.toBeNull();
|
|
33
|
+
const rows = menu.querySelectorAll('[part="link"]');
|
|
34
|
+
expect(rows.length).toBe(items.length);
|
|
35
|
+
rows.forEach((row, index) => {
|
|
36
|
+
expect(row.textContent.trim()).toBe(items[index].label);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
it('renders an item with href as a real <a href>, not a bs-menu-item/button', async () => {
|
|
40
|
+
const { root, waitForChanges } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
41
|
+
const ellipsis = root.shadowRoot.querySelector('[part="ellipsis"]');
|
|
42
|
+
ellipsis.click();
|
|
43
|
+
await waitForChanges();
|
|
44
|
+
const rows = root.shadowRoot.querySelectorAll('[part="link"]');
|
|
45
|
+
expect(rows[0].tagName).toBe('A');
|
|
46
|
+
expect(rows[0]).toEqualAttribute('href', items[0].href);
|
|
47
|
+
expect(root.shadowRoot.querySelector('bs-menu-item')).toBeNull();
|
|
48
|
+
expect(root.shadowRoot.querySelector('bs-menu button')).toBeNull();
|
|
49
|
+
});
|
|
50
|
+
it('renders an item without href as plain non-interactive text', async () => {
|
|
51
|
+
const noHrefItems = [{ label: 'No Link' }, { label: 'Category', href: '/products/category' }];
|
|
52
|
+
const { root, waitForChanges } = await render(h("bs-breadcrumb-overflow", { items: noHrefItems }));
|
|
53
|
+
const ellipsis = root.shadowRoot.querySelector('[part="ellipsis"]');
|
|
54
|
+
ellipsis.click();
|
|
55
|
+
await waitForChanges();
|
|
56
|
+
const rows = root.shadowRoot.querySelectorAll('[part="link"]');
|
|
57
|
+
expect(rows[0].tagName).toBe('SPAN');
|
|
58
|
+
expect(rows[0].hasAttribute('href')).toBe(false);
|
|
59
|
+
});
|
|
60
|
+
it('closes on Escape', async () => {
|
|
61
|
+
const { root, waitForChanges } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
62
|
+
const ellipsis = root.shadowRoot.querySelector('[part="ellipsis"]');
|
|
63
|
+
ellipsis.click();
|
|
64
|
+
await waitForChanges();
|
|
65
|
+
expect(root.shadowRoot.querySelector('bs-menu')).not.toBeNull();
|
|
66
|
+
root.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true, composed: true }));
|
|
67
|
+
await waitForChanges();
|
|
68
|
+
expect(ellipsis).toEqualAttribute('aria-expanded', 'false');
|
|
69
|
+
expect(root.shadowRoot.querySelector('bs-menu')).toBeNull();
|
|
70
|
+
});
|
|
71
|
+
it('closes on focusout when relatedTarget is outside the host', async () => {
|
|
72
|
+
const { root, waitForChanges } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
73
|
+
const ellipsis = root.shadowRoot.querySelector('[part="ellipsis"]');
|
|
74
|
+
ellipsis.click();
|
|
75
|
+
await waitForChanges();
|
|
76
|
+
const outside = document.createElement('div');
|
|
77
|
+
document.body.appendChild(outside);
|
|
78
|
+
root.dispatchEvent(new FocusEvent('focusout', { relatedTarget: outside, bubbles: true, composed: true }));
|
|
79
|
+
await waitForChanges();
|
|
80
|
+
expect(ellipsis).toEqualAttribute('aria-expanded', 'false');
|
|
81
|
+
expect(root.shadowRoot.querySelector('bs-menu')).toBeNull();
|
|
82
|
+
outside.remove();
|
|
83
|
+
});
|
|
84
|
+
it('does not close on focusout when relatedTarget is still inside the host', async () => {
|
|
85
|
+
const { root, waitForChanges } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
86
|
+
const ellipsis = root.shadowRoot.querySelector('[part="ellipsis"]');
|
|
87
|
+
ellipsis.click();
|
|
88
|
+
await waitForChanges();
|
|
89
|
+
const insideLink = root.shadowRoot.querySelector('[part="link"]');
|
|
90
|
+
root.dispatchEvent(new FocusEvent('focusout', { relatedTarget: insideLink, bubbles: true, composed: true }));
|
|
91
|
+
await waitForChanges();
|
|
92
|
+
expect(ellipsis).toEqualAttribute('aria-expanded', 'true');
|
|
93
|
+
expect(root.shadowRoot.querySelector('bs-menu')).not.toBeNull();
|
|
94
|
+
});
|
|
95
|
+
describe('first-child separator hiding', () => {
|
|
96
|
+
it("hides its own separator when it is the first child, even alone", async () => {
|
|
97
|
+
const { root } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
98
|
+
const separator = root.shadowRoot.querySelector('[part="separator"]');
|
|
99
|
+
expect(getComputedStyle(separator).display).toBe('none');
|
|
100
|
+
});
|
|
101
|
+
it('shows its separator when a bs-breadcrumb precedes it', async () => {
|
|
102
|
+
const { root } = await render(h("bs-breadcrumbs", null, h("bs-breadcrumb", { href: "/" }, "Home"), h("bs-breadcrumb-overflow", { items: items })));
|
|
103
|
+
const overflow = root.querySelector('bs-breadcrumb-overflow');
|
|
104
|
+
const separator = overflow.shadowRoot.querySelector('[part="separator"]');
|
|
105
|
+
expect(getComputedStyle(separator).display).not.toBe('none');
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('size', () => {
|
|
109
|
+
it('defaults to "md" and reflects the attribute', async () => {
|
|
110
|
+
const { root } = await render(h("bs-breadcrumb-overflow", { items: items }));
|
|
111
|
+
expect(root).toEqualAttribute('size', 'md');
|
|
112
|
+
});
|
|
113
|
+
it('reflects a "sm" size', async () => {
|
|
114
|
+
const { root } = await render(h("bs-breadcrumb-overflow", { items: items, size: "sm" }));
|
|
115
|
+
expect(root).toEqualAttribute('size', 'sm');
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
});
|
package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.css
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prop --bs-breadcrumb-overflow-gap: Gap between the separator icon and the ellipsis, and the popup's offset below the button. Aliased to --bs-spacing-50.
|
|
3
|
+
* @prop --bs-breadcrumb-overflow-separator-color: Separator icon color. Aliased to --bs-icon-default.
|
|
4
|
+
* @prop --bs-breadcrumb-overflow-ellipsis-color: Ellipsis icon color. Aliased to --bs-icon-muted.
|
|
5
|
+
* @prop --bs-breadcrumb-overflow-radius: Border radius of each row in the popup. Aliased to --bs-border-radius-100.
|
|
6
|
+
* @prop --bs-breadcrumb-overflow-padding-y: Top/bottom padding of each row in the popup. Aliased to --bs-spacing-100.
|
|
7
|
+
* @prop --bs-breadcrumb-overflow-padding-x: Left/right padding of each row in the popup. Aliased to --bs-spacing-150.
|
|
8
|
+
* @prop --bs-breadcrumb-overflow-hover: Background color of a row in the popup on hover/focus. Aliased to --bs-color-neutral-container-hover.
|
|
9
|
+
* @prop --bs-breadcrumb-overflow-color: Text color of a row in the popup. Aliased to --bs-text-muted.
|
|
10
|
+
* @prop --bs-breadcrumb-overflow-font-size: Aliased to --bs-font-size-md.
|
|
11
|
+
* @prop --bs-breadcrumb-overflow-line-height: Aliased to --bs-line-height-body-md.
|
|
12
|
+
* @prop --bs-breadcrumb-overflow-font-size-sm: Popup row font size at size="sm". Aliased to --bs-font-size-sm.
|
|
13
|
+
* @prop --bs-breadcrumb-overflow-line-height-sm: Popup row line height at size="sm". Aliased to --bs-line-height-body-sm.
|
|
14
|
+
*/
|
|
15
|
+
:host {
|
|
16
|
+
display: inline-flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
|
|
19
|
+
--bs-breadcrumb-overflow-gap: var(--bs-spacing-50);
|
|
20
|
+
|
|
21
|
+
--bs-breadcrumb-overflow-separator-color: var(--bs-icon-default);
|
|
22
|
+
--bs-breadcrumb-overflow-ellipsis-color: var(--bs-icon-muted);
|
|
23
|
+
|
|
24
|
+
--bs-breadcrumb-overflow-radius: var(--bs-border-radius-100);
|
|
25
|
+
--bs-breadcrumb-overflow-padding-y: var(--bs-spacing-100);
|
|
26
|
+
--bs-breadcrumb-overflow-padding-x: var(--bs-spacing-150);
|
|
27
|
+
--bs-breadcrumb-overflow-hover: var(--bs-color-neutral-container-hover);
|
|
28
|
+
--bs-breadcrumb-overflow-color: var(--bs-text-muted);
|
|
29
|
+
--bs-breadcrumb-overflow-font-size: var(--bs-font-size-md);
|
|
30
|
+
--bs-breadcrumb-overflow-line-height: var(--bs-line-height-body-md);
|
|
31
|
+
--bs-breadcrumb-overflow-font-size-sm: var(--bs-font-size-sm);
|
|
32
|
+
--bs-breadcrumb-overflow-line-height-sm: var(--bs-line-height-body-sm);
|
|
33
|
+
|
|
34
|
+
gap: var(--bs-breadcrumb-overflow-gap);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* This element is visually first in the trail -- pure DOM position (not :first-of-type, which
|
|
38
|
+
only counts same-tag siblings and would wrongly fail to hide the separator when a bs-breadcrumb
|
|
39
|
+
is literally first and this element immediately follows it). See bs-breadcrumb.css for the
|
|
40
|
+
identical rule. */
|
|
41
|
+
:host(:first-child) .bs-breadcrumb-overflow__separator {
|
|
42
|
+
display: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* size="sm" scales the popup rows' font-size/line-height only -- the separator/ellipsis icons'
|
|
46
|
+
pixel sizes are unchanged, matching bs-breadcrumb's identical sm rule. */
|
|
47
|
+
:host([size='sm']) .bs-breadcrumb-overflow__link {
|
|
48
|
+
font-size: var(--bs-breadcrumb-overflow-font-size-sm);
|
|
49
|
+
line-height: calc(var(--bs-breadcrumb-overflow-line-height-sm) * 1px);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.bs-breadcrumb-overflow__separator {
|
|
53
|
+
display: inline-flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
width: 16px;
|
|
57
|
+
height: 16px;
|
|
58
|
+
flex-shrink: 0;
|
|
59
|
+
color: var(--bs-breadcrumb-overflow-separator-color);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.bs-breadcrumb-overflow__separator svg {
|
|
63
|
+
width: 16px;
|
|
64
|
+
height: 16px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.bs-breadcrumb-overflow__wrapper {
|
|
68
|
+
position: relative;
|
|
69
|
+
display: inline-flex;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.bs-breadcrumb-overflow__ellipsis {
|
|
73
|
+
display: inline-flex;
|
|
74
|
+
align-items: center;
|
|
75
|
+
justify-content: center;
|
|
76
|
+
width: 24px;
|
|
77
|
+
height: 24px;
|
|
78
|
+
flex-shrink: 0;
|
|
79
|
+
padding: 0;
|
|
80
|
+
border: none;
|
|
81
|
+
background: transparent;
|
|
82
|
+
cursor: pointer;
|
|
83
|
+
color: var(--bs-breadcrumb-overflow-ellipsis-color);
|
|
84
|
+
border-radius: var(--bs-breadcrumb-overflow-radius);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.bs-breadcrumb-overflow__ellipsis:focus-visible {
|
|
88
|
+
outline: 2px solid var(--bs-border-neutral-focus);
|
|
89
|
+
outline-offset: 2px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.bs-breadcrumb-overflow__ellipsis svg {
|
|
93
|
+
width: 24px;
|
|
94
|
+
height: 24px;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.bs-breadcrumb-overflow__menu {
|
|
98
|
+
position: absolute;
|
|
99
|
+
top: calc(100% + var(--bs-breadcrumb-overflow-gap));
|
|
100
|
+
left: 0;
|
|
101
|
+
z-index: 1;
|
|
102
|
+
white-space: nowrap;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.bs-breadcrumb-overflow__link {
|
|
106
|
+
display: block;
|
|
107
|
+
box-sizing: border-box;
|
|
108
|
+
padding: var(--bs-breadcrumb-overflow-padding-y) var(--bs-breadcrumb-overflow-padding-x);
|
|
109
|
+
border-radius: var(--bs-breadcrumb-overflow-radius);
|
|
110
|
+
color: var(--bs-breadcrumb-overflow-color);
|
|
111
|
+
font-size: var(--bs-breadcrumb-overflow-font-size);
|
|
112
|
+
line-height: calc(var(--bs-breadcrumb-overflow-line-height) * 1px);
|
|
113
|
+
text-decoration: none;
|
|
114
|
+
transition: background-color var(--bs-duration-fast) var(--bs-easing-standard);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
a.bs-breadcrumb-overflow__link:hover,
|
|
118
|
+
a.bs-breadcrumb-overflow__link:focus-visible {
|
|
119
|
+
background: var(--bs-breadcrumb-overflow-hover);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
a.bs-breadcrumb-overflow__link:focus-visible {
|
|
123
|
+
outline: 2px solid var(--bs-border-neutral-focus);
|
|
124
|
+
outline-offset: -2px;
|
|
125
|
+
}
|
package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A manually-placed collapsed-items disclosure for a `<bs-breadcrumbs>` trail: a leading separator
|
|
4
|
+
* plus an icon-only ellipsis button that reveals a `bs-menu` popup listing every hidden crumb.
|
|
5
|
+
*
|
|
6
|
+
* `items` is JS-property-only -- must be set as a JS property (`el.items = [...]`), not an HTML
|
|
7
|
+
* attribute, since attributes can only carry strings. See CONVENTIONS.md.
|
|
8
|
+
*
|
|
9
|
+
* Unlike an earlier `bs-breadcrumbs`-owned automatic `maxItems` collapse, this component does no
|
|
10
|
+
* collapsing logic itself -- the consumer decides which crumbs to hide and places this element
|
|
11
|
+
* wherever they want the disclosure, exactly matching Carbon Design System's own approach (Carbon
|
|
12
|
+
* doesn't auto-collapse breadcrumbs either; a consumer there manually decides what's visible).
|
|
13
|
+
*
|
|
14
|
+
* Hidden items with an `href` render as real `<a href>` rows inside the popup, not `bs-menu-item`
|
|
15
|
+
* (which renders a `<button>`) -- this matters because consuming apps commonly use client-side
|
|
16
|
+
* routers that intercept clicks on real `<a>` tags to do `preventDefault` + push-state navigation.
|
|
17
|
+
* Rendering hidden links any other way (e.g. `window.location`) would silently break client-side
|
|
18
|
+
* routing for hidden crumbs while working fine for visible ones. Hidden items without an `href`
|
|
19
|
+
* render as plain non-interactive text, matching how `bs-breadcrumb` itself handles link vs.
|
|
20
|
+
* no-link crumbs.
|
|
21
|
+
*
|
|
22
|
+
* Sets `role="listitem"` on the host, mirroring Carbon's own `CDSBreadcrumbItem.connectedCallback()`
|
|
23
|
+
* -- since this is a custom-element child of a real `<ol>` rather than a real `<li>`, the
|
|
24
|
+
* accessibility tree needs this explicit role to preserve the list's semantics.
|
|
25
|
+
*
|
|
26
|
+
* ## When to use
|
|
27
|
+
* - Inside a `<bs-breadcrumbs>` trail, wherever the consumer wants an interactive disclosure for
|
|
28
|
+
* crumbs they've chosen not to render directly.
|
|
29
|
+
*
|
|
30
|
+
* ## When not to use
|
|
31
|
+
* - As an automatic collapsing mechanism -- there is none; the consumer decides what's hidden.
|
|
32
|
+
*
|
|
33
|
+
* @slot - None: `items` fully drives the popup's contents.
|
|
34
|
+
* @part separator - The leading separator icon wrapper.
|
|
35
|
+
* @part ellipsis - The icon-only disclosure button.
|
|
36
|
+
* @part menu - The `bs-menu` popup revealed by the ellipsis button.
|
|
37
|
+
* @part link - Each anchor/span row inside the popup.
|
|
38
|
+
*/
|
|
39
|
+
// Note: this component's CSS Custom Properties (--bs-breadcrumb-overflow-*) are documented via
|
|
40
|
+
// @prop comments in bs-breadcrumb-overflow.css, not here -- see bs-tab.tsx's identical note.
|
|
41
|
+
export class BsBreadcrumbOverflow {
|
|
42
|
+
el;
|
|
43
|
+
/** Array prop -- must be set as a JS property (`el.items = [...]`), not an HTML attribute, since
|
|
44
|
+
* attributes can only carry strings. See CONVENTIONS.md. The hidden crumbs reachable via this
|
|
45
|
+
* disclosure -- no collapsing logic here, the consumer decides what goes in this list. */
|
|
46
|
+
items = [];
|
|
47
|
+
/** Accessible name (`aria-label`) for the icon-only ellipsis trigger button. */
|
|
48
|
+
overflowLabel = 'Show hidden breadcrumbs';
|
|
49
|
+
/** Size variant. Normally set automatically by a parent `<bs-breadcrumbs size="...">` -- see
|
|
50
|
+
* `bs-breadcrumb`'s identical `size` prop doc comment for why this is propagated as a JS
|
|
51
|
+
* property rather than inherited via CSS. Scales the popup rows' font-size/line-height only; the
|
|
52
|
+
* separator/ellipsis icons' pixel sizes are unchanged. Reflected so consumers/CSS can target
|
|
53
|
+
* `bs-breadcrumb-overflow[size="sm"]`. */
|
|
54
|
+
size = 'md';
|
|
55
|
+
/** Whether the overflow popup is open. */
|
|
56
|
+
open = false;
|
|
57
|
+
onEllipsisToggle = () => {
|
|
58
|
+
this.open = !this.open;
|
|
59
|
+
};
|
|
60
|
+
/** Closes the overflow popup on Escape, from anywhere within the component -- host is the
|
|
61
|
+
* default @Listen target, so this fires whether focus is on the ellipsis button itself or on a
|
|
62
|
+
* link inside the popup. Mirrors `bs-input`'s `type="dropdown"` `onHostKeydown`. */
|
|
63
|
+
onHostKeydown(ev) {
|
|
64
|
+
if (this.open && ev.key === 'Escape') {
|
|
65
|
+
this.open = false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** Closes the overflow popup once focus leaves the component entirely (e.g. Tab away, or a click
|
|
69
|
+
* outside that moves focus elsewhere) -- `focusout` is composed, so it bubbles across the
|
|
70
|
+
* `bs-menu` shadow boundary too. Mirrors `bs-input`'s `type="dropdown"` `onHostFocusOut`. */
|
|
71
|
+
onHostFocusOut(ev) {
|
|
72
|
+
if (!this.open)
|
|
73
|
+
return;
|
|
74
|
+
const related = ev.relatedTarget;
|
|
75
|
+
if (!related || !this.el.contains(related)) {
|
|
76
|
+
this.open = false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
render() {
|
|
80
|
+
return (h(Host, { key: 'a688f0759da177fa76c44694f2c55966e08f609d', role: "listitem" }, h("span", { key: '9c40bec2a10521160ee99889e083b0131d26020c', part: "separator", class: "bs-breadcrumb-overflow__separator", "aria-hidden": "true" }, h(CaretRightIcon, { key: '936d785bfcfd6b4f857bff8471ab92a292503208' })), h("span", { key: '2cc66274a1b0d58a1532d53784eeeef2dd94586e', class: "bs-breadcrumb-overflow__wrapper" }, h("button", { key: 'ffcd37213c27ae6286a8b258b58ad1197e9bee3e', type: "button", part: "ellipsis", class: "bs-breadcrumb-overflow__ellipsis", "aria-haspopup": "menu", "aria-expanded": String(this.open), "aria-label": this.overflowLabel, onClick: this.onEllipsisToggle }, h(DotsThreeIcon, { key: '381db917ca9bd23b794e7bf57364a7743e60da26' })), this.open && this.items.length > 0 && (h("bs-menu", { key: 'f41bd68b27971f7dcb3ab1f5af82dc7ed8373a6c', part: "menu", class: "bs-breadcrumb-overflow__menu" }, this.items.map(item => item.href ? (h("a", { part: "link", class: "bs-breadcrumb-overflow__link", href: item.href }, item.label)) : (h("span", { part: "link", class: "bs-breadcrumb-overflow__link" }, item.label))))))));
|
|
81
|
+
}
|
|
82
|
+
static get is() { return "bs-breadcrumb-overflow"; }
|
|
83
|
+
static get encapsulation() { return "shadow"; }
|
|
84
|
+
static get originalStyleUrls() {
|
|
85
|
+
return {
|
|
86
|
+
"$": ["bs-breadcrumb-overflow.css"]
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
static get styleUrls() {
|
|
90
|
+
return {
|
|
91
|
+
"$": ["bs-breadcrumb-overflow.css"]
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
static get properties() {
|
|
95
|
+
return {
|
|
96
|
+
"items": {
|
|
97
|
+
"type": "unknown",
|
|
98
|
+
"mutable": false,
|
|
99
|
+
"complexType": {
|
|
100
|
+
"original": "BsBreadcrumbOverflowItem[]",
|
|
101
|
+
"resolved": "BsBreadcrumbOverflowItem[]",
|
|
102
|
+
"references": {
|
|
103
|
+
"BsBreadcrumbOverflowItem": {
|
|
104
|
+
"location": "local",
|
|
105
|
+
"path": "/Users/vivka/brandsync-web-components/src/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.tsx",
|
|
106
|
+
"id": "src/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.tsx::BsBreadcrumbOverflowItem"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"required": false,
|
|
111
|
+
"optional": false,
|
|
112
|
+
"docs": {
|
|
113
|
+
"tags": [],
|
|
114
|
+
"text": "Array prop -- must be set as a JS property (`el.items = [...]`), not an HTML attribute, since\nattributes can only carry strings. See CONVENTIONS.md. The hidden crumbs reachable via this\ndisclosure -- no collapsing logic here, the consumer decides what goes in this list."
|
|
115
|
+
},
|
|
116
|
+
"getter": false,
|
|
117
|
+
"setter": false,
|
|
118
|
+
"defaultValue": "[]"
|
|
119
|
+
},
|
|
120
|
+
"overflowLabel": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"mutable": false,
|
|
123
|
+
"complexType": {
|
|
124
|
+
"original": "string",
|
|
125
|
+
"resolved": "string",
|
|
126
|
+
"references": {}
|
|
127
|
+
},
|
|
128
|
+
"required": false,
|
|
129
|
+
"optional": false,
|
|
130
|
+
"docs": {
|
|
131
|
+
"tags": [],
|
|
132
|
+
"text": "Accessible name (`aria-label`) for the icon-only ellipsis trigger button."
|
|
133
|
+
},
|
|
134
|
+
"getter": false,
|
|
135
|
+
"setter": false,
|
|
136
|
+
"reflect": false,
|
|
137
|
+
"attribute": "overflow-label",
|
|
138
|
+
"defaultValue": "'Show hidden breadcrumbs'"
|
|
139
|
+
},
|
|
140
|
+
"size": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"mutable": false,
|
|
143
|
+
"complexType": {
|
|
144
|
+
"original": "BsBreadcrumbSize",
|
|
145
|
+
"resolved": "\"md\" | \"sm\"",
|
|
146
|
+
"references": {
|
|
147
|
+
"BsBreadcrumbSize": {
|
|
148
|
+
"location": "import",
|
|
149
|
+
"path": "../bs-breadcrumb/bs-breadcrumb",
|
|
150
|
+
"id": "src/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.tsx::BsBreadcrumbSize",
|
|
151
|
+
"referenceLocation": "BsBreadcrumbSize"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"required": false,
|
|
156
|
+
"optional": false,
|
|
157
|
+
"docs": {
|
|
158
|
+
"tags": [],
|
|
159
|
+
"text": "Size variant. Normally set automatically by a parent `<bs-breadcrumbs size=\"...\">` -- see\n`bs-breadcrumb`'s identical `size` prop doc comment for why this is propagated as a JS\nproperty rather than inherited via CSS. Scales the popup rows' font-size/line-height only; the\nseparator/ellipsis icons' pixel sizes are unchanged. Reflected so consumers/CSS can target\n`bs-breadcrumb-overflow[size=\"sm\"]`."
|
|
160
|
+
},
|
|
161
|
+
"getter": false,
|
|
162
|
+
"setter": false,
|
|
163
|
+
"reflect": true,
|
|
164
|
+
"attribute": "size",
|
|
165
|
+
"defaultValue": "'md'"
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
static get states() {
|
|
170
|
+
return {
|
|
171
|
+
"open": {}
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
static get elementRef() { return "el"; }
|
|
175
|
+
static get listeners() {
|
|
176
|
+
return [{
|
|
177
|
+
"name": "keydown",
|
|
178
|
+
"method": "onHostKeydown",
|
|
179
|
+
"target": undefined,
|
|
180
|
+
"capture": false,
|
|
181
|
+
"passive": false
|
|
182
|
+
}, {
|
|
183
|
+
"name": "focusout",
|
|
184
|
+
"method": "onHostFocusOut",
|
|
185
|
+
"target": undefined,
|
|
186
|
+
"capture": false,
|
|
187
|
+
"passive": false
|
|
188
|
+
}];
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const CaretRightIcon = () => (h("svg", { viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { d: "M6 3L11 8L6 13", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));
|
|
192
|
+
const DotsThreeIcon = () => (h("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, h("path", { fill: "currentColor", d: "M12 13.125C12.6213 13.125 13.125 12.6213 13.125 12C13.125 11.3787 12.6213 10.875 12 10.875C11.3787 10.875 10.875 11.3787 10.875 12C10.875 12.6213 11.3787 13.125 12 13.125Z" }), h("path", { fill: "currentColor", d: "M18.375 13.125C18.9963 13.125 19.5 12.6213 19.5 12C19.5 11.3787 18.9963 10.875 18.375 10.875C17.7537 10.875 17.25 11.3787 17.25 12C17.25 12.6213 17.7537 13.125 18.375 13.125Z" }), h("path", { fill: "currentColor", d: "M5.625 13.125C6.24632 13.125 6.75 12.6213 6.75 12C6.75 11.3787 6.24632 10.875 5.625 10.875C5.00368 10.875 4.5 11.3787 4.5 12C4.5 12.6213 5.00368 13.125 5.625 13.125Z" })));
|