@brandsync/wc 1.17.0 → 1.19.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/CHANGELOG.md +19 -0
- package/REFERENCE.md +316 -8
- package/custom-elements.json +9323 -6758
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/p-02314404.entry.js +1 -0
- package/dist/brandsync-wc/{p-0bbaef51.entry.js → p-028d3244.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8c4dfccb.entry.js → p-03ad83a3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f82a9f0d.entry.js → p-0819add7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-67f125e8.entry.js → p-08649f52.entry.js} +1 -1
- package/dist/brandsync-wc/p-0dff9822.entry.js +1 -0
- package/dist/brandsync-wc/{p-9d12b1fb.entry.js → p-10b8937f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-aec2dfeb.entry.js → p-129a4de7.entry.js} +1 -1
- package/dist/brandsync-wc/p-1580c56c.entry.js +1 -0
- package/dist/brandsync-wc/p-15c6f0f3.entry.js +1 -0
- package/dist/brandsync-wc/{p-9d740928.entry.js → p-171fa239.entry.js} +1 -1
- package/dist/brandsync-wc/p-197ac73f.entry.js +1 -0
- package/dist/brandsync-wc/p-1e33bc10.entry.js +1 -0
- package/dist/brandsync-wc/{p-b5710db6.entry.js → p-21e5d4d6.entry.js} +1 -1
- package/dist/brandsync-wc/{p-90ba3032.entry.js → p-2389f473.entry.js} +1 -1
- package/dist/brandsync-wc/p-25914efc.entry.js +1 -0
- package/dist/brandsync-wc/{p-4f4c0c68.entry.js → p-26e0ab15.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6ea02b98.entry.js → p-270b2cb0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-54d91ac9.entry.js → p-27663faf.entry.js} +1 -1
- package/dist/brandsync-wc/p-28c38959.entry.js +1 -0
- package/dist/brandsync-wc/{p-70c650b2.entry.js → p-2a8b2ac9.entry.js} +1 -1
- package/dist/brandsync-wc/{p-84d6d6eb.entry.js → p-2a967b45.entry.js} +1 -1
- package/dist/brandsync-wc/p-2b3d0bd4.entry.js +1 -0
- package/dist/brandsync-wc/p-30736034.entry.js +1 -0
- package/dist/brandsync-wc/{p-9396c67e.entry.js → p-30ff0659.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a7fa839a.entry.js → p-313ec145.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3c6ec5d0.entry.js → p-3627e0c6.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e8ae626d.entry.js → p-38a2210a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3bad5e1b.entry.js → p-391504ab.entry.js} +1 -1
- package/dist/brandsync-wc/{p-47b7fe76.entry.js → p-3b212a8a.entry.js} +1 -1
- package/dist/brandsync-wc/p-3c6980b9.entry.js +1 -0
- package/dist/brandsync-wc/{p-d5a6098d.entry.js → p-42fcf134.entry.js} +1 -1
- package/dist/brandsync-wc/p-4928c4ad.entry.js +1 -0
- package/dist/brandsync-wc/{p-844205d9.entry.js → p-4c51da66.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f3eca1ce.entry.js → p-4d1ee16e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-5b933ff4.entry.js → p-4dfd4715.entry.js} +1 -1
- package/dist/brandsync-wc/p-4ffcf41a.entry.js +1 -0
- package/dist/brandsync-wc/{p-11d80e17.entry.js → p-527fd08d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-43d5f708.entry.js → p-5371b31c.entry.js} +1 -1
- package/dist/brandsync-wc/p-568de1b0.entry.js +1 -0
- package/dist/brandsync-wc/{p-dcbeb143.entry.js → p-590deea0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2bd30709.entry.js → p-64e19200.entry.js} +1 -1
- package/dist/brandsync-wc/p-6afacd47.entry.js +1 -0
- package/dist/brandsync-wc/p-6f32a08e.entry.js +1 -0
- package/dist/brandsync-wc/{p-5c61eb06.entry.js → p-70a5897b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8134f97c.entry.js → p-7160a72e.entry.js} +1 -1
- package/dist/brandsync-wc/p-776b677f.entry.js +1 -0
- package/dist/brandsync-wc/{p-b142d8c9.entry.js → p-78c94cfe.entry.js} +1 -1
- package/dist/brandsync-wc/p-7bff3aa5.entry.js +1 -0
- package/dist/brandsync-wc/{p-fdc168ec.entry.js → p-7c741b8d.entry.js} +1 -1
- package/dist/brandsync-wc/p-86f04e9e.entry.js +1 -0
- package/dist/brandsync-wc/{p-4eaa9ed4.entry.js → p-8a18864a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-35f76ea7.entry.js → p-8a606b38.entry.js} +1 -1
- package/dist/brandsync-wc/p-8ac86d16.entry.js +1 -0
- package/dist/brandsync-wc/p-8b21f623.entry.js +1 -0
- package/dist/brandsync-wc/{p-1bd99669.entry.js → p-8d1ad4b0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-07673a48.entry.js → p-8e107d7a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d9184940.entry.js → p-90d8d45f.entry.js} +1 -1
- package/dist/brandsync-wc/p-9751a12d.entry.js +1 -0
- package/dist/brandsync-wc/{p-857987f9.entry.js → p-9868ee72.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f98dfa85.entry.js → p-9ba500f1.entry.js} +1 -1
- package/dist/brandsync-wc/p-9fa7bd83.entry.js +1 -0
- package/dist/brandsync-wc/p-BSt9HeTa.js +1 -0
- package/dist/brandsync-wc/{p-c835afb7.entry.js → p-a2bfbf02.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ffccc1ee.entry.js → p-a50c5e68.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3bdeeb9d.entry.js → p-a688a7ca.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f43a7f16.entry.js → p-a92c0f06.entry.js} +1 -1
- package/dist/brandsync-wc/p-ab301e9d.entry.js +1 -0
- package/dist/brandsync-wc/{p-065c7e7c.entry.js → p-ab99b8c3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3cb79512.entry.js → p-c01e231e.entry.js} +1 -1
- package/dist/brandsync-wc/p-d15e48eb.entry.js +1 -0
- package/dist/brandsync-wc/p-d484e976.entry.js +1 -0
- package/dist/brandsync-wc/{p-d25adab2.entry.js → p-d80eecf4.entry.js} +1 -1
- package/dist/brandsync-wc/p-dc2ea372.entry.js +1 -0
- package/dist/brandsync-wc/p-de0dfd1c.entry.js +1 -0
- package/dist/brandsync-wc/p-e1d30e31.entry.js +1 -0
- package/dist/brandsync-wc/{p-a7fb0b59.entry.js → p-e5235e76.entry.js} +1 -1
- package/dist/brandsync-wc/{p-00be9a64.entry.js → p-e776d145.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ffc07eb5.entry.js → p-e7c80f48.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e0a9f2d1.entry.js → p-eb680cff.entry.js} +1 -1
- package/dist/brandsync-wc/p-ebcd105d.entry.js +1 -0
- package/dist/brandsync-wc/p-f10b19a8.entry.js +1 -0
- package/dist/brandsync-wc/{p-5057e4fe.entry.js → p-f3b60029.entry.js} +1 -1
- package/dist/brandsync-wc/p-f4628861.entry.js +1 -0
- package/dist/brandsync-wc/{p-b02bf1ca.entry.js → p-f4796801.entry.js} +1 -1
- package/dist/brandsync-wc/p-f5e6fdf8.entry.js +1 -0
- package/dist/brandsync-wc/p-f93127e1.entry.js +1 -0
- package/dist/brandsync-wc/{p-57ff14ca.entry.js → p-f96f45ae.entry.js} +1 -1
- package/dist/brandsync-wc/{p-debc83cc.entry.js → p-feb46fa6.entry.js} +1 -1
- package/dist/cjs/brandsync-wc.cjs.js +1 -1
- package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/bs-accordion.cjs.entry.js +60 -3
- package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
- package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +133 -0
- package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
- package/dist/cjs/bs-app-switcher.cjs.entry.js +208 -0
- package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
- package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
- package/dist/cjs/bs-badge.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-button_2.cjs.entry.js +198 -0
- package/dist/cjs/bs-card.cjs.entry.js +1 -1
- package/dist/cjs/bs-carousel.cjs.entry.js +70 -5
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +2 -2
- package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/bs-chip-filter.cjs.entry.js +2 -2
- package/dist/cjs/bs-chip-informative.cjs.entry.js +1 -1
- package/dist/cjs/bs-chip-input.cjs.entry.js +2 -2
- package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
- package/dist/cjs/bs-command-palette.cjs.entry.js +1 -1
- package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +46 -0
- package/dist/cjs/bs-company-switcher.cjs.entry.js +211 -0
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
- package/dist/cjs/bs-composer.cjs.entry.js +1 -1
- package/dist/cjs/bs-container.cjs.entry.js +1 -1
- package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
- package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/bs-dialog.cjs.entry.js +54 -3
- package/dist/cjs/bs-divider.cjs.entry.js +1 -1
- package/dist/cjs/bs-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
- package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
- package/dist/cjs/bs-global-search.cjs.entry.js +2 -2
- package/dist/cjs/bs-grid.cjs.entry.js +2 -2
- package/dist/cjs/bs-icon-button.cjs.entry.js +9 -2
- package/dist/cjs/bs-icon-tile.cjs.entry.js +10 -2
- package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
- package/dist/cjs/bs-input_3.cjs.entry.js +5 -5
- package/dist/cjs/bs-key-caps.cjs.entry.js +1 -1
- package/dist/cjs/bs-key.cjs.entry.js +1 -1
- package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +2 -2
- package/dist/cjs/bs-list-item_2.cjs.entry.js +261 -0
- package/dist/cjs/bs-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-mega-menu.cjs.entry.js +120 -0
- package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-message.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
- package/dist/cjs/bs-navigation-header.cjs.entry.js +5 -2
- package/dist/cjs/bs-page-header.cjs.entry.js +66 -0
- package/dist/cjs/bs-pagination.cjs.entry.js +2 -2
- package/dist/cjs/bs-presence.cjs.entry.js +88 -0
- package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
- package/dist/cjs/bs-progress.cjs.entry.js +2 -2
- package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
- package/dist/cjs/bs-radio.cjs.entry.js +4 -4
- package/dist/cjs/bs-search-item.cjs.entry.js +2 -2
- package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
- package/dist/cjs/bs-shortcut-row.cjs.entry.js +1 -1
- package/dist/cjs/bs-side-panel.cjs.entry.js +52 -3
- package/dist/cjs/bs-slider.cjs.entry.js +1 -1
- package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/bs-source-link.cjs.entry.js +4 -3
- package/dist/cjs/bs-spinner.cjs.entry.js +1 -1
- package/dist/cjs/bs-split-pane.cjs.entry.js +1 -1
- package/dist/cjs/bs-stack.cjs.entry.js +1 -1
- package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
- package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
- package/dist/cjs/bs-switch.cjs.entry.js +4 -11
- package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
- package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
- package/dist/cjs/bs-toast.cjs.entry.js +1 -1
- package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +61 -3
- package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/bs-tree-item.cjs.entry.js +3 -3
- package/dist/cjs/bs-tree.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/motion-DOlI71lc.js +43 -0
- package/dist/collection/collection-manifest.json +10 -0
- package/dist/collection/components/bs-accordion/bs-accordion.cmp.test.js +21 -6
- package/dist/collection/components/bs-accordion/bs-accordion.css +15 -0
- package/dist/collection/components/bs-accordion/bs-accordion.js +71 -2
- package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -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-app-recent-item/bs-app-recent-item.cmp.test.js +52 -0
- package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.css +111 -0
- package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +184 -0
- package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.stories.js +28 -0
- package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
- package/dist/collection/components/bs-app-switcher/bs-app-switcher.cmp.test.js +179 -0
- package/dist/collection/components/bs-app-switcher/bs-app-switcher.css +173 -0
- package/dist/collection/components/bs-app-switcher/bs-app-switcher.js +902 -0
- package/dist/collection/components/bs-app-switcher/bs-app-switcher.stories.js +91 -0
- package/dist/collection/components/bs-app-tile/bs-app-tile.cmp.test.js +58 -0
- package/dist/collection/components/bs-app-tile/bs-app-tile.css +104 -0
- package/dist/collection/components/bs-app-tile/bs-app-tile.js +190 -0
- package/dist/collection/components/bs-app-tile/bs-app-tile.stories.js +43 -0
- package/dist/collection/components/bs-attachment/bs-attachment.js +1 -1
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-avatar/bs-avatar.css +3 -3
- package/dist/collection/components/bs-badge/bs-badge.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
- package/dist/collection/components/bs-button/bs-button/bs-button.cmp.test.js +12 -0
- package/dist/collection/components/bs-button/bs-button/bs-button.css +2 -0
- package/dist/collection/components/bs-button/bs-button/bs-button.js +4 -1
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +13 -0
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +2 -0
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +28 -1
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
- package/dist/collection/components/bs-card/bs-card.js +1 -1
- package/dist/collection/components/bs-carousel/bs-carousel.cmp.test.js +39 -1
- package/dist/collection/components/bs-carousel/bs-carousel.css +9 -0
- package/dist/collection/components/bs-carousel/bs-carousel.js +75 -4
- 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.css +2 -0
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +2 -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.css +2 -0
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +2 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.css +7 -0
- package/dist/collection/components/bs-checkbox/bs-checkbox.js +2 -1
- package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.css +2 -0
- package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +2 -1
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.css +7 -0
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +2 -1
- package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
- package/dist/collection/components/bs-command-palette/bs-command-palette.js +1 -1
- package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.cmp.test.js +32 -0
- package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.css +43 -0
- package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +67 -0
- package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.stories.js +25 -0
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.cmp.test.js +171 -0
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.css +196 -0
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +720 -0
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.stories.js +78 -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-container/bs-container.js +1 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
- package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
- package/dist/collection/components/bs-dialog/bs-dialog.cmp.test.js +32 -0
- package/dist/collection/components/bs-dialog/bs-dialog.css +16 -0
- package/dist/collection/components/bs-dialog/bs-dialog.js +61 -3
- package/dist/collection/components/bs-divider/bs-divider.js +1 -1
- package/dist/collection/components/bs-empty-state/bs-empty-state.js +1 -1
- package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
- package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
- package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
- package/dist/collection/components/bs-global-search/bs-global-search.js +2 -2
- package/dist/collection/components/bs-grid/bs-grid.js +2 -2
- package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +11 -2
- package/dist/collection/components/bs-input/bs-input.js +2 -2
- package/dist/collection/components/bs-key/bs-key.js +1 -1
- package/dist/collection/components/bs-key-caps/bs-key-caps.js +1 -1
- package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +2 -2
- package/dist/collection/components/bs-list/bs-list.js +1 -1
- package/dist/collection/components/bs-list-item/bs-list-item.css +2 -0
- package/dist/collection/components/bs-list-item/bs-list-item.js +2 -1
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.cmp.test.js +204 -0
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.css +143 -0
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +443 -0
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.stories.js +188 -0
- package/dist/collection/components/bs-menu/bs-menu.js +1 -1
- package/dist/collection/components/bs-menu-block/bs-menu-block.cmp.test.js +44 -0
- package/dist/collection/components/bs-menu-block/bs-menu-block.css +106 -0
- package/dist/collection/components/bs-menu-block/bs-menu-block.js +147 -0
- package/dist/collection/components/bs-menu-block/bs-menu-block.stories.js +36 -0
- package/dist/collection/components/bs-menu-item/bs-menu-item.css +2 -0
- package/dist/collection/components/bs-menu-item/bs-menu-item.js +2 -1
- package/dist/collection/components/bs-message/bs-message.js +1 -1
- package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
- package/dist/collection/components/bs-page-header/bs-page-header.cmp.test.js +206 -0
- package/dist/collection/components/bs-page-header/bs-page-header.css +252 -0
- package/dist/collection/components/bs-page-header/bs-page-header.js +351 -0
- package/dist/collection/components/bs-page-header/bs-page-header.stories.js +177 -0
- package/dist/collection/components/bs-pagination/bs-pagination.css +2 -0
- package/dist/collection/components/bs-pagination/bs-pagination.js +2 -1
- package/dist/collection/components/bs-popover/bs-popover.cmp.test.js +20 -0
- package/dist/collection/components/bs-popover/bs-popover.css +3 -0
- package/dist/collection/components/bs-popover/bs-popover.js +59 -2
- package/dist/collection/components/bs-presence/bs-presence.cmp.test.js +64 -0
- package/dist/collection/components/bs-presence/bs-presence.css +80 -0
- package/dist/collection/components/bs-presence/bs-presence.js +233 -0
- package/dist/collection/components/bs-presence/bs-presence.stories.js +101 -0
- package/dist/collection/components/bs-progress/bs-progress.js +2 -2
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
- package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
- package/dist/collection/components/bs-radio/bs-radio.css +6 -0
- package/dist/collection/components/bs-radio/bs-radio.js +4 -3
- package/dist/collection/components/bs-ripple/bs-ripple.cmp.test.js +45 -0
- package/dist/collection/components/bs-ripple/bs-ripple.css +32 -0
- package/dist/collection/components/bs-ripple/bs-ripple.js +188 -0
- package/dist/collection/components/bs-ripple/bs-ripple.stories.js +33 -0
- package/dist/collection/components/bs-search-item/bs-search-item.css +2 -0
- package/dist/collection/components/bs-search-item/bs-search-item.js +2 -1
- package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
- package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +1 -1
- package/dist/collection/components/bs-side-panel/bs-side-panel.cmp.test.js +19 -0
- package/dist/collection/components/bs-side-panel/bs-side-panel.css +8 -0
- package/dist/collection/components/bs-side-panel/bs-side-panel.js +58 -2
- package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
- package/dist/collection/components/bs-slider/bs-slider.js +1 -1
- package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
- package/dist/collection/components/bs-source-link/bs-source-link.css +2 -0
- package/dist/collection/components/bs-source-link/bs-source-link.js +4 -2
- package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
- package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
- package/dist/collection/components/bs-stack/bs-stack.js +1 -1
- package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
- package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
- package/dist/collection/components/bs-switch/bs-switch.css +9 -0
- package/dist/collection/components/bs-switch/bs-switch.js +4 -10
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +2 -0
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +2 -1
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +2 -1
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
- package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
- package/dist/collection/components/bs-toast/bs-toast.js +1 -1
- package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.cmp.test.js +53 -2
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.css +3 -0
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +70 -3
- package/dist/collection/components/bs-tree/bs-tree.js +1 -1
- package/dist/collection/components/bs-tree-item/bs-tree-item.css +2 -0
- package/dist/collection/components/bs-tree-item/bs-tree-item.js +3 -2
- package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
- 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.cmp.test.js +79 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +46 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +10 -1
- package/dist/collection/utils/motion.js +37 -0
- package/dist/components/bs-accordion-group.js +1 -1
- package/dist/components/bs-accordion.js +1 -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-app-recent-item.d.ts +11 -0
- package/dist/components/bs-app-recent-item.js +1 -0
- package/dist/components/bs-app-shell.js +1 -1
- package/dist/components/bs-app-switcher.d.ts +11 -0
- package/dist/components/bs-app-switcher.js +1 -0
- package/dist/components/bs-app-tile.d.ts +11 -0
- package/dist/components/bs-app-tile.js +1 -0
- package/dist/components/bs-attachment-list.js +1 -1
- package/dist/components/bs-attachment.js +1 -1
- package/dist/components/bs-avatar.js +1 -1
- package/dist/components/bs-badge.js +1 -1
- package/dist/components/bs-breadcrumb-overflow.js +1 -1
- package/dist/components/bs-breadcrumb.js +1 -1
- package/dist/components/bs-breadcrumbs.js +1 -1
- package/dist/components/bs-button-skeleton.js +1 -1
- package/dist/components/bs-button.js +1 -1
- package/dist/components/bs-card.js +1 -1
- package/dist/components/bs-carousel.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.js +1 -1
- package/dist/components/bs-checkbox.js +1 -1
- package/dist/components/bs-chip-filter.js +1 -1
- package/dist/components/bs-chip-informative.js +1 -1
- package/dist/components/bs-chip-input.js +1 -1
- package/dist/components/bs-citation-preview.js +1 -1
- package/dist/components/bs-command-palette.js +1 -1
- package/dist/components/bs-compact-menu-block.d.ts +11 -0
- package/dist/components/bs-compact-menu-block.js +1 -0
- package/dist/components/bs-company-switcher.d.ts +11 -0
- package/dist/components/bs-company-switcher.js +1 -0
- package/dist/components/bs-composer-status-banner.js +1 -1
- package/dist/components/bs-composer.js +1 -1
- package/dist/components/bs-container.js +1 -1
- package/dist/components/bs-cookie-consent.js +1 -1
- package/dist/components/bs-data-table.js +1 -1
- package/dist/components/bs-datepicker.js +1 -1
- package/dist/components/bs-dialog.js +1 -1
- package/dist/components/bs-divider.js +1 -1
- package/dist/components/bs-empty-state.js +1 -1
- package/dist/components/bs-error-page.js +1 -1
- package/dist/components/bs-file-upload-item.js +1 -1
- package/dist/components/bs-file-upload.js +1 -1
- package/dist/components/bs-global-search.js +1 -1
- package/dist/components/bs-grid.js +1 -1
- package/dist/components/bs-icon-button.js +1 -1
- package/dist/components/bs-icon-tile.js +1 -1
- package/dist/components/bs-inline-tab.js +1 -1
- package/dist/components/bs-input.js +1 -1
- package/dist/components/bs-key-caps.js +1 -1
- package/dist/components/bs-key.js +1 -1
- package/dist/components/bs-keyboard-shortcuts.js +1 -1
- package/dist/components/bs-list-item.js +1 -1
- package/dist/components/bs-list.js +1 -1
- package/dist/components/bs-mega-menu.d.ts +11 -0
- package/dist/components/bs-mega-menu.js +1 -0
- package/dist/components/bs-menu-block.d.ts +11 -0
- package/dist/components/bs-menu-block.js +1 -0
- package/dist/components/bs-menu-item.js +1 -1
- package/dist/components/bs-menu.js +1 -1
- package/dist/components/bs-message-list.js +1 -1
- package/dist/components/bs-message.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-onboarding-checklist.js +1 -1
- package/dist/components/bs-page-header.d.ts +11 -0
- package/dist/components/bs-page-header.js +1 -0
- package/dist/components/bs-pagination.js +1 -1
- package/dist/components/bs-popover.js +1 -1
- package/dist/components/bs-presence.d.ts +11 -0
- package/dist/components/bs-presence.js +1 -0
- package/dist/components/bs-product-tour.js +1 -1
- package/dist/components/bs-progress-linear.js +1 -1
- package/dist/components/bs-progress.js +1 -1
- package/dist/components/bs-qr-code.js +1 -1
- package/dist/components/bs-radio.js +1 -1
- package/dist/components/bs-ripple.d.ts +11 -0
- package/dist/components/bs-ripple.js +1 -0
- package/dist/components/bs-search-item.js +1 -1
- package/dist/components/bs-session-timeout.js +1 -1
- package/dist/components/bs-shortcut-row.js +1 -1
- package/dist/components/bs-side-panel.js +1 -1
- package/dist/components/bs-skeleton.js +1 -1
- package/dist/components/bs-slider.js +1 -1
- package/dist/components/bs-snackbar.js +1 -1
- package/dist/components/bs-source-link.js +1 -1
- package/dist/components/bs-spinner.js +1 -1
- package/dist/components/bs-split-pane.js +1 -1
- package/dist/components/bs-stack.js +1 -1
- package/dist/components/bs-stepper-step.js +1 -1
- package/dist/components/bs-stepper.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-timepicker.js +1 -1
- package/dist/components/bs-toast.js +1 -1
- package/dist/components/bs-tooltip-trigger.js +1 -1
- package/dist/components/bs-tooltip.js +1 -1
- package/dist/components/bs-tree-item.js +1 -1
- package/dist/components/bs-tree.js +1 -1
- package/dist/components/bs-whats-new-entry.js +1 -1
- package/dist/components/bs-whats-new.js +1 -1
- package/dist/components/p--Tyv3LIl.js +1 -0
- package/dist/components/p-4yShCgRb.js +1 -0
- package/dist/components/p-6Rr9bjVN.js +1 -0
- package/dist/components/{p-CervX0wH.js → p-BHzj13sd.js} +1 -1
- package/dist/components/p-BIxcCDgl.js +1 -0
- package/dist/components/p-BQ4rSQDm.js +1 -0
- package/dist/components/p-BSt9HeTa.js +1 -0
- package/dist/components/p-BWRkbt0f.js +1 -0
- package/dist/components/p-BfCah-Ij.js +1 -0
- package/dist/components/p-BpkPo4ay.js +1 -0
- package/dist/components/{p-Bp3DIxjT.js → p-CFR3Q0io.js} +1 -1
- package/dist/components/p-CHZE_FrW.js +1 -0
- package/dist/components/{p-CYzBTzzf.js → p-CVQycAap.js} +1 -1
- package/dist/components/{p-DtYTs9Kh.js → p-Cr8cHmpM.js} +1 -1
- package/dist/components/p-CvSewXZF.js +1 -0
- package/dist/components/{p-Dt4JNhHT.js → p-D3PuUD8Z.js} +1 -1
- package/dist/components/p-D5eN9Lfa.js +1 -0
- package/dist/components/{p-BDnZvjlq.js → p-DDgzEg1C.js} +1 -1
- package/dist/components/p-DF2FcJPs.js +1 -0
- package/dist/components/{p-DcjgRtSQ.js → p-DLnZG_G9.js} +1 -1
- package/dist/components/{p-CH5atin4.js → p-DXbcyEgd.js} +1 -1
- package/dist/components/{p-CRtvJlh8.js → p-DXwatzvM.js} +1 -1
- package/dist/components/p-DcD5eV_Z.js +1 -0
- package/dist/components/p-Dj393s3S.js +1 -0
- package/dist/components/p-DsBToIYE.js +1 -0
- package/dist/components/p-DtkTnaOp.js +1 -0
- package/dist/components/{p-DvNED6Lb.js → p-EGNLb4cQ.js} +1 -1
- package/dist/components/{p-CRM1wIX9.js → p-Jik5UkAe.js} +1 -1
- package/dist/components/p-XZXdZpt4.js +1 -0
- package/dist/components/{p-BcYNrEOB.js → p-Y5FyLR8G.js} +1 -1
- package/dist/components/{p-DG9eT5yi.js → p-ZfE38vXZ.js} +1 -1
- package/dist/components/p-lPTgyF9v.js +1 -0
- package/dist/components/p-syO0ipbw.js +1 -0
- package/dist/components/p-up01gvHY.js +1 -0
- package/dist/esm/brandsync-wc.js +1 -1
- package/dist/esm/bs-accordion-group.entry.js +1 -1
- package/dist/esm/bs-accordion.entry.js +61 -4
- package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
- package/dist/esm/bs-ai-greeting.entry.js +1 -1
- package/dist/esm/bs-ai-thinking.entry.js +1 -1
- package/dist/esm/bs-app-recent-item_3.entry.js +129 -0
- package/dist/esm/bs-app-shell.entry.js +1 -1
- package/dist/esm/bs-app-switcher.entry.js +206 -0
- package/dist/esm/bs-attachment-list.entry.js +1 -1
- package/dist/esm/bs-attachment.entry.js +1 -1
- package/dist/esm/bs-avatar.entry.js +1 -1
- package/dist/esm/bs-badge.entry.js +1 -1
- package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
- package/dist/esm/bs-breadcrumb.entry.js +1 -1
- package/dist/esm/bs-breadcrumbs.entry.js +1 -1
- package/dist/esm/bs-button-skeleton.entry.js +1 -1
- package/dist/esm/bs-button_2.entry.js +195 -0
- package/dist/esm/bs-card.entry.js +1 -1
- package/dist/esm/bs-carousel.entry.js +70 -5
- package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
- package/dist/esm/bs-chatbot-header.entry.js +1 -1
- package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
- package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
- package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
- package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
- package/dist/esm/bs-checkbox.entry.js +2 -2
- package/dist/esm/bs-chip-filter.entry.js +2 -2
- package/dist/esm/bs-chip-informative.entry.js +1 -1
- package/dist/esm/bs-chip-input.entry.js +2 -2
- package/dist/esm/bs-citation-preview.entry.js +1 -1
- package/dist/esm/bs-command-palette.entry.js +1 -1
- package/dist/esm/bs-compact-menu-block_2.entry.js +43 -0
- package/dist/esm/bs-company-switcher.entry.js +209 -0
- package/dist/esm/bs-composer-status-banner.entry.js +1 -1
- package/dist/esm/bs-composer.entry.js +1 -1
- package/dist/esm/bs-container.entry.js +1 -1
- package/dist/esm/bs-data-table.entry.js +2 -2
- package/dist/esm/bs-datepicker.entry.js +1 -1
- package/dist/esm/bs-dialog.entry.js +55 -4
- package/dist/esm/bs-divider.entry.js +1 -1
- package/dist/esm/bs-empty-state.entry.js +1 -1
- package/dist/esm/bs-error-page.entry.js +1 -1
- package/dist/esm/bs-file-upload-item.entry.js +1 -1
- package/dist/esm/bs-file-upload.entry.js +1 -1
- package/dist/esm/bs-global-search.entry.js +2 -2
- package/dist/esm/bs-grid.entry.js +2 -2
- package/dist/esm/bs-icon-button.entry.js +9 -2
- package/dist/esm/bs-icon-tile.entry.js +11 -3
- package/dist/esm/bs-inline-tab.entry.js +2 -2
- package/dist/esm/bs-input_3.entry.js +5 -5
- package/dist/esm/bs-key-caps.entry.js +1 -1
- package/dist/esm/bs-key.entry.js +1 -1
- package/dist/esm/bs-keyboard-shortcuts.entry.js +2 -2
- package/dist/esm/bs-list-item_2.entry.js +258 -0
- package/dist/esm/bs-list.entry.js +1 -1
- package/dist/esm/bs-mega-menu.entry.js +118 -0
- package/dist/esm/bs-message-list.entry.js +1 -1
- package/dist/esm/bs-message.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer.entry.js +2 -2
- package/dist/esm/bs-navigation-header.entry.js +5 -2
- package/dist/esm/bs-page-header.entry.js +64 -0
- package/dist/esm/bs-pagination.entry.js +2 -2
- package/dist/esm/bs-presence.entry.js +86 -0
- package/dist/esm/bs-progress-linear.entry.js +2 -2
- package/dist/esm/bs-progress.entry.js +2 -2
- package/dist/esm/bs-qr-code.entry.js +1 -1
- package/dist/esm/bs-radio.entry.js +4 -4
- package/dist/esm/bs-search-item.entry.js +2 -2
- package/dist/esm/bs-session-timeout.entry.js +1 -1
- package/dist/esm/bs-shortcut-row.entry.js +1 -1
- package/dist/esm/bs-side-panel.entry.js +52 -3
- package/dist/esm/bs-slider.entry.js +1 -1
- package/dist/esm/bs-snackbar.entry.js +1 -1
- package/dist/esm/bs-source-link.entry.js +4 -3
- package/dist/esm/bs-spinner.entry.js +1 -1
- package/dist/esm/bs-split-pane.entry.js +1 -1
- package/dist/esm/bs-stack.entry.js +1 -1
- package/dist/esm/bs-stepper-step.entry.js +1 -1
- package/dist/esm/bs-stepper.entry.js +1 -1
- package/dist/esm/bs-switch.entry.js +4 -11
- package/dist/esm/bs-tab_3.entry.js +3 -3
- package/dist/esm/bs-timepicker.entry.js +2 -2
- package/dist/esm/bs-toast.entry.js +1 -1
- package/dist/esm/bs-tooltip-trigger.entry.js +62 -4
- package/dist/esm/bs-tooltip.entry.js +1 -1
- package/dist/esm/bs-tree-item.entry.js +3 -3
- package/dist/esm/bs-tree.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/motion-BSt9HeTa.js +39 -0
- package/dist/types/components/bs-accordion/bs-accordion.d.ts +22 -0
- package/dist/types/components/bs-app-recent-item/bs-app-recent-item.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-app-recent-item/bs-app-recent-item.d.ts +51 -0
- package/dist/types/components/bs-app-recent-item/bs-app-recent-item.stories.d.ts +15 -0
- package/dist/types/components/bs-app-switcher/bs-app-switcher.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-app-switcher/bs-app-switcher.d.ts +159 -0
- package/dist/types/components/bs-app-switcher/bs-app-switcher.stories.d.ts +34 -0
- package/dist/types/components/bs-app-tile/bs-app-tile.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-app-tile/bs-app-tile.d.ts +51 -0
- package/dist/types/components/bs-app-tile/bs-app-tile.stories.d.ts +18 -0
- package/dist/types/components/bs-button/bs-button/bs-button.d.ts +3 -0
- package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +8 -0
- package/dist/types/components/bs-carousel/bs-carousel.d.ts +21 -1
- package/dist/types/components/bs-chatbot-response-action/bs-chatbot-response-action.d.ts +1 -0
- package/dist/types/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.d.ts +1 -0
- package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +1 -0
- package/dist/types/components/bs-chip/bs-chip-filter/bs-chip-filter.d.ts +1 -0
- package/dist/types/components/bs-chip/bs-chip-input/bs-chip-input.d.ts +1 -0
- package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.d.ts +28 -0
- package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.stories.d.ts +10 -0
- package/dist/types/components/bs-company-switcher/bs-company-switcher.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-company-switcher/bs-company-switcher.d.ts +130 -0
- package/dist/types/components/bs-company-switcher/bs-company-switcher.stories.d.ts +25 -0
- package/dist/types/components/bs-dialog/bs-dialog.d.ts +14 -0
- package/dist/types/components/bs-icon-tile/bs-icon-tile.d.ts +5 -0
- package/dist/types/components/bs-list-item/bs-list-item.d.ts +1 -0
- package/dist/types/components/bs-mega-menu/bs-mega-menu.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-mega-menu/bs-mega-menu.d.ts +134 -0
- package/dist/types/components/bs-mega-menu/bs-mega-menu.stories.d.ts +55 -0
- package/dist/types/components/bs-menu-block/bs-menu-block.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-menu-block/bs-menu-block.d.ts +47 -0
- package/dist/types/components/bs-menu-block/bs-menu-block.stories.d.ts +15 -0
- package/dist/types/components/bs-menu-item/bs-menu-item.d.ts +1 -0
- package/dist/types/components/bs-page-header/bs-page-header.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-page-header/bs-page-header.d.ts +100 -0
- package/dist/types/components/bs-page-header/bs-page-header.stories.d.ts +41 -0
- package/dist/types/components/bs-pagination/bs-pagination.d.ts +1 -0
- package/dist/types/components/bs-popover/bs-popover.d.ts +15 -0
- package/dist/types/components/bs-presence/bs-presence.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-presence/bs-presence.d.ts +50 -0
- package/dist/types/components/bs-presence/bs-presence.stories.d.ts +15 -0
- package/dist/types/components/bs-radio/bs-radio.d.ts +1 -0
- package/dist/types/components/bs-ripple/bs-ripple.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-ripple/bs-ripple.d.ts +52 -0
- package/dist/types/components/bs-ripple/bs-ripple.stories.d.ts +11 -0
- package/dist/types/components/bs-search-item/bs-search-item.d.ts +1 -0
- package/dist/types/components/bs-side-panel/bs-side-panel.d.ts +13 -0
- package/dist/types/components/bs-source-link/bs-source-link.d.ts +1 -0
- package/dist/types/components/bs-switch/bs-switch.d.ts +1 -0
- package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +1 -0
- package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +1 -0
- package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.d.ts +18 -0
- package/dist/types/components/bs-tree-item/bs-tree-item.d.ts +1 -0
- package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.d.ts +7 -1
- package/dist/types/components.d.ts +2422 -0
- package/dist/types/svg-inline.d.ts +5 -0
- package/dist/types/utils/motion.d.ts +21 -0
- package/package.json +2 -1
- package/reference.d.ts +53 -23
- package/reference.json +1210 -98
- package/dist/brandsync-wc/p-044ac86c.entry.js +0 -1
- package/dist/brandsync-wc/p-046a53de.entry.js +0 -1
- package/dist/brandsync-wc/p-08e96f13.entry.js +0 -1
- package/dist/brandsync-wc/p-225148be.entry.js +0 -1
- package/dist/brandsync-wc/p-23b56775.entry.js +0 -1
- package/dist/brandsync-wc/p-32297416.entry.js +0 -1
- package/dist/brandsync-wc/p-361aef36.entry.js +0 -1
- package/dist/brandsync-wc/p-3789c7a5.entry.js +0 -1
- package/dist/brandsync-wc/p-3d2c62a6.entry.js +0 -1
- package/dist/brandsync-wc/p-3d7b0708.entry.js +0 -1
- package/dist/brandsync-wc/p-4b460eda.entry.js +0 -1
- package/dist/brandsync-wc/p-5eb5795f.entry.js +0 -1
- package/dist/brandsync-wc/p-61deb48c.entry.js +0 -1
- package/dist/brandsync-wc/p-79fc849c.entry.js +0 -1
- package/dist/brandsync-wc/p-7ed071fb.entry.js +0 -1
- package/dist/brandsync-wc/p-8048d033.entry.js +0 -1
- package/dist/brandsync-wc/p-8c9938a5.entry.js +0 -1
- package/dist/brandsync-wc/p-a5659499.entry.js +0 -1
- package/dist/brandsync-wc/p-ab14a07d.entry.js +0 -1
- package/dist/brandsync-wc/p-b4511ad3.entry.js +0 -1
- package/dist/brandsync-wc/p-baa39c08.entry.js +0 -1
- package/dist/brandsync-wc/p-be7aac52.entry.js +0 -1
- package/dist/brandsync-wc/p-c05ee501.entry.js +0 -1
- package/dist/brandsync-wc/p-d2a15599.entry.js +0 -1
- package/dist/brandsync-wc/p-d7956c51.entry.js +0 -1
- package/dist/brandsync-wc/p-dfad8c0a.entry.js +0 -1
- package/dist/brandsync-wc/p-e123b391.entry.js +0 -1
- package/dist/brandsync-wc/p-e8e22238.entry.js +0 -1
- package/dist/brandsync-wc/p-eb0dc5bf.entry.js +0 -1
- package/dist/cjs/bs-button.cjs.entry.js +0 -107
- package/dist/cjs/bs-list-item.cjs.entry.js +0 -66
- package/dist/cjs/bs-popover.cjs.entry.js +0 -153
- package/dist/cjs/bs-skeleton.cjs.entry.js +0 -51
- package/dist/components/p-B32Kl4IB.js +0 -1
- package/dist/components/p-BUpnOUIM.js +0 -1
- package/dist/components/p-BcbaiZLh.js +0 -1
- package/dist/components/p-ChcaPfNL.js +0 -1
- package/dist/components/p-Cpe2k7ZC.js +0 -1
- package/dist/components/p-D7AXo5NT.js +0 -1
- package/dist/components/p-D8bvv9QQ.js +0 -1
- package/dist/components/p-DMLfXpva.js +0 -1
- package/dist/components/p-DYDk73TF.js +0 -1
- package/dist/components/p-DYuzgzxI.js +0 -1
- package/dist/components/p-TAY9S9yG.js +0 -1
- package/dist/components/p-w-DkdA4O.js +0 -1
- package/dist/esm/bs-button.entry.js +0 -105
- package/dist/esm/bs-list-item.entry.js +0 -64
- package/dist/esm/bs-popover.entry.js +0 -151
- package/dist/esm/bs-skeleton.entry.js +0 -49
|
@@ -100,4 +100,17 @@ describe('bs-icon-button', () => {
|
|
|
100
100
|
expect(getComputedStyle(root.querySelector('i.glyph')).fontSize).toBe('30px');
|
|
101
101
|
});
|
|
102
102
|
});
|
|
103
|
+
describe('pressed (toggle)', () => {
|
|
104
|
+
it('sets aria-pressed on the inner button only when `pressed` is set', async () => {
|
|
105
|
+
const { root, waitForChanges } = await render(h("bs-icon-button", { ariaLabel: "Favourite" }));
|
|
106
|
+
const inner = () => root.shadowRoot.querySelector('button');
|
|
107
|
+
expect(inner().hasAttribute('aria-pressed')).toBe(false);
|
|
108
|
+
root.pressed = true;
|
|
109
|
+
await waitForChanges();
|
|
110
|
+
expect(inner().getAttribute('aria-pressed')).toBe('true');
|
|
111
|
+
root.pressed = false;
|
|
112
|
+
await waitForChanges();
|
|
113
|
+
expect(inner().getAttribute('aria-pressed')).toBe('false');
|
|
114
|
+
});
|
|
115
|
+
});
|
|
103
116
|
});
|
|
@@ -23,6 +23,7 @@ import { h } from "@stencil/core";
|
|
|
23
23
|
* @slot - Default slot: the icon content. Exactly one icon, no label -- an inline SVG, or an icon-font
|
|
24
24
|
* glyph (sized by `font-size`, which this component sets from the `size` prop).
|
|
25
25
|
* @part icon - The icon wrapper element.
|
|
26
|
+
* @part ripple - The press-ripple layer (a `bs-ripple`). Tune it with `::part(ripple) { --bs-ripple-color: ...; }`.
|
|
26
27
|
*/
|
|
27
28
|
// Note: this component's CSS Custom Properties (--bs-icon-button-*) are documented via @prop
|
|
28
29
|
// comments in bs-icon-button.css, not here -- Stencil's docs generator only parses @prop out of
|
|
@@ -52,6 +53,13 @@ export class BsIconButton {
|
|
|
52
53
|
* prop to the `aria-label` HTML attribute automatically.
|
|
53
54
|
*/
|
|
54
55
|
ariaLabel = null;
|
|
56
|
+
/**
|
|
57
|
+
* Makes this a toggle button: sets `aria-pressed` on the inner `<button>` to `true`/`false`. Leave it
|
|
58
|
+
* unset (the default) for a plain action button, which then has no `aria-pressed` at all. The component
|
|
59
|
+
* does not toggle itself; the owner flips this on click. Put the toggle's state in the icon (e.g. a filled
|
|
60
|
+
* star), not in the label, which should stay the same.
|
|
61
|
+
*/
|
|
62
|
+
pressed;
|
|
55
63
|
onClick = () => {
|
|
56
64
|
const form = this.internals?.form;
|
|
57
65
|
if (!form || this.disabled)
|
|
@@ -62,7 +70,7 @@ export class BsIconButton {
|
|
|
62
70
|
form.reset();
|
|
63
71
|
};
|
|
64
72
|
render() {
|
|
65
|
-
return (h("button", { key: '
|
|
73
|
+
return (h("button", { key: '6ffeb6535c6c1fb493f6c805a1f70a431a593d08', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, "aria-pressed": this.pressed === undefined ? undefined : String(this.pressed), onClick: this.onClick }, h("bs-ripple", { key: '0f3f40ca57f447a5d92b3f0ef132c146ef25675d', part: "ripple", centered: true, disabled: this.disabled }), h("span", { key: '00c1039364372917781441fca63553a430b9398a', part: "icon", class: "bs-icon-button__icon" }, h("slot", { key: '18ba74587ec975b3f95115c211bcef1d4bac6ae5' }))));
|
|
66
74
|
}
|
|
67
75
|
static get is() { return "bs-icon-button"; }
|
|
68
76
|
static get encapsulation() { return "shadow"; }
|
|
@@ -191,6 +199,25 @@ export class BsIconButton {
|
|
|
191
199
|
"reflect": false,
|
|
192
200
|
"attribute": "aria-label",
|
|
193
201
|
"defaultValue": "null"
|
|
202
|
+
},
|
|
203
|
+
"pressed": {
|
|
204
|
+
"type": "boolean",
|
|
205
|
+
"mutable": false,
|
|
206
|
+
"complexType": {
|
|
207
|
+
"original": "boolean",
|
|
208
|
+
"resolved": "boolean",
|
|
209
|
+
"references": {}
|
|
210
|
+
},
|
|
211
|
+
"required": false,
|
|
212
|
+
"optional": true,
|
|
213
|
+
"docs": {
|
|
214
|
+
"tags": [],
|
|
215
|
+
"text": "Makes this a toggle button: sets `aria-pressed` on the inner `<button>` to `true`/`false`. Leave it\nunset (the default) for a plain action button, which then has no `aria-pressed` at all. The component\ndoes not toggle itself; the owner flips this on click. Put the toggle's state in the icon (e.g. a filled\nstar), not in the label, which should stay the same."
|
|
216
|
+
},
|
|
217
|
+
"getter": false,
|
|
218
|
+
"setter": false,
|
|
219
|
+
"reflect": false,
|
|
220
|
+
"attribute": "pressed"
|
|
194
221
|
}
|
|
195
222
|
};
|
|
196
223
|
}
|
|
@@ -27,7 +27,7 @@ export class BsButtonSkeleton {
|
|
|
27
27
|
/** Accessible name announced for the loading placeholder. */
|
|
28
28
|
loadingLabel = 'Loading';
|
|
29
29
|
render() {
|
|
30
|
-
return h("span", { key: '
|
|
30
|
+
return h("span", { key: 'c29256165abc3f5de50cf1f087f0ad161e33bb76', part: "container", class: `bs-button-skeleton bs-button-skeleton--${this.size}`, role: "status", "aria-label": this.loadingLabel });
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "bs-button-skeleton"; }
|
|
33
33
|
static get encapsulation() { return "shadow"; }
|
|
@@ -34,7 +34,7 @@ export class BsCard {
|
|
|
34
34
|
this.hasImage = ev.target.assignedNodes().length > 0;
|
|
35
35
|
};
|
|
36
36
|
render() {
|
|
37
|
-
return (h("div", { key: '
|
|
37
|
+
return (h("div", { key: '5badbcc0d29f07bf53520091e1e8fe8d8187dd18', part: "container", class: `bs-card bs-card--${this.surface}` }, h("div", { key: '2c69c0795db112c2dc52289a47b76d60662ef693', part: "image", class: `bs-card__image ${this.hasImage ? 'bs-card__image--visible' : ''}` }, h("slot", { key: '3aa0debc45e28c88b05103a494ee52f047305d9d', name: "image", onSlotchange: this.onImageSlotchange })), h("div", { key: '6fbe78e872b7aa7e166907a4173edd813f8fd73b', class: "bs-card__content" }, h("div", { key: '19df2524b50471bbb56e95b445643a4bfddd0c12', part: "header", class: "bs-card__header" }, h("slot", { key: 'bd4c9b53ccc07b7a95f6aee28b2a95a0ab8b137e', name: "header" })), h("div", { key: 'c5351e535d77c007806554ae3580b1b0b0bafd9d', part: "body", class: "bs-card__body" }, h("slot", { key: '323ac4df7355ce44383137ad754c650ff515ef28' })), h("div", { key: 'ac3e228d13303ffcaab2a4879a202db28e2c3a6a', part: "footer", class: "bs-card__footer" }, h("slot", { key: 'a2afbae842ef598422853a0628bb9f14dee34c6a', name: "footer" })))));
|
|
38
38
|
}
|
|
39
39
|
static get is() { return "bs-card"; }
|
|
40
40
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { render, h, describe, it, expect } from "@stencil/vitest";
|
|
2
2
|
import { afterEach, beforeEach, vi } from "vitest";
|
|
3
3
|
import { userEvent } from "vitest/browser";
|
|
4
|
-
import { assertShadowParts, runAxeCheck } from "../../test/helpers/conventions";
|
|
4
|
+
import { assertCssCustomProperties, assertShadowParts, runAxeCheck } from "../../test/helpers/conventions";
|
|
5
5
|
const slides = (n) => Array.from({ length: n }, (_, i) => h("div", null, "Slide ", i + 1));
|
|
6
|
+
// Page changes play a short exit-then-enter motion (default 300ms); the new page is on screen after it.
|
|
7
|
+
const settled = () => new Promise(resolve => setTimeout(resolve, 450));
|
|
6
8
|
const visible = (root) => Array.from(root.children).filter(c => !c.hidden).map(c => c.textContent);
|
|
7
9
|
// Autoplay deliberately holds while the pointer is over the carousel (WCAG pause-on-hover). The test
|
|
8
10
|
// browser keeps ONE pointer for the whole run, so an earlier test that hovered something near the top
|
|
@@ -88,6 +90,7 @@ describe('bs-carousel', () => {
|
|
|
88
90
|
expect(prev.disabled).toBe(true);
|
|
89
91
|
btn(next).click();
|
|
90
92
|
await waitForChanges();
|
|
93
|
+
await settled();
|
|
91
94
|
expect(visible(root)).toEqual(['Slide 4', 'Slide 5', 'Slide 6']);
|
|
92
95
|
expect(root.currentPage).toBe(2);
|
|
93
96
|
expect(spy).toHaveReceivedEventDetail(2);
|
|
@@ -108,6 +111,7 @@ describe('bs-carousel', () => {
|
|
|
108
111
|
pagination.shadowRoot.querySelectorAll('.bs-pagination__page')[2].click();
|
|
109
112
|
await waitForChanges();
|
|
110
113
|
expect(root.currentPage).toBe(3);
|
|
114
|
+
await settled();
|
|
111
115
|
expect(visible(root)).toEqual(['Slide 7', 'Slide 8', 'Slide 9']);
|
|
112
116
|
expect(spy).toHaveReceivedEventTimes(1);
|
|
113
117
|
expect(spy).toHaveReceivedEventDetail(3);
|
|
@@ -195,4 +199,38 @@ describe('bs-carousel', () => {
|
|
|
195
199
|
expect(root.currentPage).toBe(1);
|
|
196
200
|
});
|
|
197
201
|
});
|
|
202
|
+
describe('page change motion', () => {
|
|
203
|
+
const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
204
|
+
it('keeps the old page up while it animates out, then shows the new page', async () => {
|
|
205
|
+
const { root, waitForChanges } = await render(h("bs-carousel", { style: { '--bs-carousel-duration': '200ms' } }, slides(6)));
|
|
206
|
+
const before = visible(root);
|
|
207
|
+
root.currentPage = 2;
|
|
208
|
+
await waitForChanges();
|
|
209
|
+
expect(visible(root)).toEqual(before);
|
|
210
|
+
await wait(400);
|
|
211
|
+
await waitForChanges();
|
|
212
|
+
expect(visible(root)).not.toEqual(before);
|
|
213
|
+
expect(root.currentPage).toBe(2);
|
|
214
|
+
});
|
|
215
|
+
it('switches immediately when the duration is 0ms', async () => {
|
|
216
|
+
const { root, waitForChanges } = await render(h("bs-carousel", { style: { '--bs-carousel-duration': '0ms' } }, slides(6)));
|
|
217
|
+
const before = visible(root);
|
|
218
|
+
root.currentPage = 2;
|
|
219
|
+
await waitForChanges();
|
|
220
|
+
expect(visible(root)).not.toEqual(before);
|
|
221
|
+
});
|
|
222
|
+
it('snaps to the latest page when changed again mid-motion', async () => {
|
|
223
|
+
const { root, waitForChanges } = await render(h("bs-carousel", { style: { '--bs-carousel-duration': '400ms' } }, slides(9)));
|
|
224
|
+
root.currentPage = 2;
|
|
225
|
+
await waitForChanges();
|
|
226
|
+
root.currentPage = 3;
|
|
227
|
+
await waitForChanges();
|
|
228
|
+
await wait(100);
|
|
229
|
+
expect(visible(root)).toEqual(['Slide 7', 'Slide 8', 'Slide 9']);
|
|
230
|
+
});
|
|
231
|
+
it('exposes its motion custom properties', async () => {
|
|
232
|
+
const { root } = await render(h("bs-carousel", null, slides(6)));
|
|
233
|
+
assertCssCustomProperties(root, ['--bs-carousel-duration', '--bs-carousel-easing', '--bs-carousel-slide-distance']);
|
|
234
|
+
});
|
|
235
|
+
});
|
|
198
236
|
});
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
* @prop --bs-carousel-dot-color: Fill of an inactive dot. Aliased to --bs-surface-container.
|
|
8
8
|
* @prop --bs-carousel-dot-active-color: Fill of the active dot. Aliased to --bs-color-primary-default.
|
|
9
9
|
* @prop --bs-carousel-dots-gap: Gap between dots. Aliased to --bs-spacing-50.
|
|
10
|
+
* @prop --bs-carousel-duration: Length of a page change (slides out, then in; the dots use the same length). Aliased to --bs-duration-slow.
|
|
11
|
+
* @prop --bs-carousel-easing: Curve of a page change. Aliased to --bs-easing-standard.
|
|
12
|
+
* @prop --bs-carousel-slide-distance: How far the slides travel while they fade. Aliased to --bs-spacing-400.
|
|
10
13
|
*/
|
|
11
14
|
:host {
|
|
12
15
|
display: block;
|
|
@@ -20,6 +23,9 @@
|
|
|
20
23
|
--bs-carousel-dot-color: var(--bs-surface-container);
|
|
21
24
|
--bs-carousel-dot-active-color: var(--bs-color-primary-default);
|
|
22
25
|
--bs-carousel-dots-gap: var(--bs-spacing-50);
|
|
26
|
+
--bs-carousel-duration: var(--bs-duration-slow);
|
|
27
|
+
--bs-carousel-easing: var(--bs-easing-standard);
|
|
28
|
+
--bs-carousel-slide-distance: var(--bs-spacing-400);
|
|
23
29
|
}
|
|
24
30
|
|
|
25
31
|
.bs-carousel {
|
|
@@ -77,6 +83,9 @@
|
|
|
77
83
|
height: var(--bs-carousel-dot-size);
|
|
78
84
|
border-radius: var(--bs-carousel-dot-radius);
|
|
79
85
|
background: var(--bs-carousel-dot-color);
|
|
86
|
+
transition:
|
|
87
|
+
width var(--bs-carousel-duration) var(--bs-carousel-easing),
|
|
88
|
+
background-color var(--bs-carousel-duration) var(--bs-carousel-easing);
|
|
80
89
|
}
|
|
81
90
|
|
|
82
91
|
.bs-carousel__dot--active {
|
|
@@ -9,6 +9,12 @@ import { h } from "@stencil/core";
|
|
|
9
9
|
* so they leave the tab order and the accessibility tree) and, only when not already set,
|
|
10
10
|
* `role="group"`, `aria-roledescription="slide"` and an `aria-label` of "n of N".
|
|
11
11
|
*
|
|
12
|
+
* Changing page plays a short motion: the visible slides fade and slide out in the direction of travel,
|
|
13
|
+
* then the next page's slides fade and slide in (reversed for previous, and mirrored in RTL). The dots
|
|
14
|
+
* also grow and fade between pages. Motion length and distance follow `--bs-carousel-duration`,
|
|
15
|
+
* `--bs-carousel-easing` and `--bs-carousel-slide-distance`. Under `prefers-reduced-motion: reduce`
|
|
16
|
+
* the duration token is `0ms`, so pages switch instantly.
|
|
17
|
+
*
|
|
12
18
|
* Composes `bs-pagination` (`tracker="numbers"`), `bs-icon-button` (previous/next for
|
|
13
19
|
* `tracker="dots"`) and `bs-button` (Pause/Play) rather than re-implementing them.
|
|
14
20
|
*
|
|
@@ -77,6 +83,12 @@ export class BsCarousel {
|
|
|
77
83
|
/** True while the pointer is over the carousel or focus is inside it (auto-advance holds). */
|
|
78
84
|
interacting = false;
|
|
79
85
|
timer;
|
|
86
|
+
/** The page whose slides are actually on screen. Lags `currentPage` while a page change animates out. */
|
|
87
|
+
shown = 0;
|
|
88
|
+
loaded = false;
|
|
89
|
+
transitioning = false;
|
|
90
|
+
runId = 0;
|
|
91
|
+
running = [];
|
|
80
92
|
get slides() {
|
|
81
93
|
return Array.from(this.el.children).filter(c => !c.hasAttribute('slot'));
|
|
82
94
|
}
|
|
@@ -101,6 +113,7 @@ export class BsCarousel {
|
|
|
101
113
|
}
|
|
102
114
|
}
|
|
103
115
|
componentDidLoad() {
|
|
116
|
+
this.loaded = true;
|
|
104
117
|
this.applySlides();
|
|
105
118
|
this.updateTimer();
|
|
106
119
|
}
|
|
@@ -110,11 +123,66 @@ export class BsCarousel {
|
|
|
110
123
|
}
|
|
111
124
|
disconnectedCallback() {
|
|
112
125
|
this.stopTimer();
|
|
126
|
+
this.cancelMotion();
|
|
113
127
|
}
|
|
114
|
-
onCurrentPageChange() {
|
|
128
|
+
onCurrentPageChange(next) {
|
|
115
129
|
// Keep the mutable prop honest if it was set out of range from outside.
|
|
116
|
-
if (this.currentPage !== this.page)
|
|
130
|
+
if (this.currentPage !== this.page) {
|
|
117
131
|
this.currentPage = this.page;
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const wasMoving = this.transitioning;
|
|
135
|
+
this.cancelMotion();
|
|
136
|
+
// A change that lands mid-motion snaps straight to the new page instead of restarting the motion.
|
|
137
|
+
if (wasMoving || !this.loaded || next === this.shown || this.shown === 0)
|
|
138
|
+
return;
|
|
139
|
+
this.playPageChange(next > this.shown ? 1 : -1);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Exit then enter, each half the duration. While the old page animates out it stays mounted
|
|
143
|
+
* (`transitioning` makes `applySlides` keep showing `shown`); then the new page is shown and
|
|
144
|
+
* animated in. A new change arriving mid-motion cancels it and snaps to the latest page.
|
|
145
|
+
*/
|
|
146
|
+
playPageChange(direction) {
|
|
147
|
+
const style = getComputedStyle(this.el);
|
|
148
|
+
const total = this.toMs(style.getPropertyValue('--bs-carousel-duration'));
|
|
149
|
+
const outgoing = this.slides.filter(slide => !slide.hidden);
|
|
150
|
+
if (total === 0 || outgoing.length === 0)
|
|
151
|
+
return;
|
|
152
|
+
const easing = style.getPropertyValue('--bs-carousel-easing').trim() || 'ease';
|
|
153
|
+
const distance = parseFloat(style.getPropertyValue('--bs-carousel-slide-distance')) || 0;
|
|
154
|
+
// In RTL "next" travels leftwards.
|
|
155
|
+
const dx = direction * (this.el.matches(':dir(rtl)') ? -1 : 1) * distance;
|
|
156
|
+
const half = total / 2;
|
|
157
|
+
const run = ++this.runId;
|
|
158
|
+
this.transitioning = true;
|
|
159
|
+
this.running = outgoing.map(slide => slide.animate([{ opacity: 1, transform: 'none' }, { opacity: 0, transform: `translateX(${-dx}px)` }], { duration: half, easing, fill: 'forwards' }));
|
|
160
|
+
Promise.all(this.running.map(a => a.finished)).then(() => {
|
|
161
|
+
if (run !== this.runId)
|
|
162
|
+
return;
|
|
163
|
+
this.running.forEach(a => a.cancel());
|
|
164
|
+
this.transitioning = false;
|
|
165
|
+
this.applySlides();
|
|
166
|
+
this.running = this.slides
|
|
167
|
+
.filter(slide => !slide.hidden)
|
|
168
|
+
.map(slide => slide.animate([{ opacity: 0, transform: `translateX(${dx}px)` }, { opacity: 1, transform: 'none' }], { duration: half, easing }));
|
|
169
|
+
}, () => {
|
|
170
|
+
/* cancelled by a newer page change */
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
cancelMotion() {
|
|
174
|
+
this.runId++;
|
|
175
|
+
this.running.forEach(a => a.cancel());
|
|
176
|
+
this.running = [];
|
|
177
|
+
this.transitioning = false;
|
|
178
|
+
}
|
|
179
|
+
toMs(value) {
|
|
180
|
+
const v = value.trim();
|
|
181
|
+
if (v.endsWith('ms'))
|
|
182
|
+
return parseFloat(v);
|
|
183
|
+
if (v.endsWith('s'))
|
|
184
|
+
return parseFloat(v) * 1000;
|
|
185
|
+
return 0;
|
|
118
186
|
}
|
|
119
187
|
updateTimer() {
|
|
120
188
|
this.stopTimer();
|
|
@@ -150,7 +218,10 @@ export class BsCarousel {
|
|
|
150
218
|
/** Shows only the current page's slides and labels each slide. */
|
|
151
219
|
applySlides() {
|
|
152
220
|
const slides = this.slides;
|
|
153
|
-
|
|
221
|
+
// Keep showing the old page until its exit motion has finished.
|
|
222
|
+
if (!this.transitioning || this.shown === 0)
|
|
223
|
+
this.shown = this.page;
|
|
224
|
+
const start = (this.shown - 1) * this.perView;
|
|
154
225
|
slides.forEach((slide, i) => {
|
|
155
226
|
slide.hidden = i < start || i >= start + this.perView;
|
|
156
227
|
if (!slide.hasAttribute('role'))
|
|
@@ -186,7 +257,7 @@ export class BsCarousel {
|
|
|
186
257
|
// While auto-advance is actually running, slide changes must not be announced (it would
|
|
187
258
|
// interrupt the user constantly); otherwise announce them politely.
|
|
188
259
|
const rotating = this.autoplay && !this.paused && !this.interacting;
|
|
189
|
-
return (h("section", { key: '
|
|
260
|
+
return (h("section", { key: 'fe38898b10611d2bb20c3428cbc4009449186453', part: "carousel", class: "bs-carousel", role: "region", "aria-roledescription": "carousel", "aria-label": this.label, style: { '--bs-carousel-slides-per-view': String(this.perView) } }, h("div", { key: 'd1d01494417dc282a52931307406970b8a1b7011', part: "slides", class: "bs-carousel__slides", "aria-live": rotating ? 'off' : 'polite' }, h("slot", { key: '955bb5229671a23babeea85b7f23b5ec3b330ebe', onSlotchange: this.onSlotChange })), showTracker && (h("div", { key: '7c4c3e73bc8dbf05e351cb0628e26e138d0a4028', part: "tracker", class: "bs-carousel__tracker" }, this.tracker === 'numbers' ? (h("bs-pagination", { part: "pagination", totalPages: this.pageCount, currentPage: this.page, onBsPageChange: (ev) => {
|
|
190
261
|
ev.stopPropagation();
|
|
191
262
|
this.goTo(ev.detail);
|
|
192
263
|
} })) : (h("div", { class: "bs-carousel__nav" }, this.renderDotsTracker())), this.renderPause()))));
|
|
@@ -139,7 +139,7 @@ export class BsChatbotFeedback {
|
|
|
139
139
|
}
|
|
140
140
|
render() {
|
|
141
141
|
const stars = [1, 2, 3, 4, 5];
|
|
142
|
-
return (h("div", { key: '
|
|
142
|
+
return (h("div", { key: 'ee99c0b20a4dc2fee3543f66eaa8c8f354c8a3ff', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: '31751520032972b7ae9a93848d1ee44045f00dc6', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h(CloseIcon, { key: '1b7367e072d066e183eccaf76b3b954026101db2' })), h("div", { key: '9ed28d17e8ba6c561fc72d1036d34a431a482251', class: "bs-chatbot-feedback__top" }, h("div", { key: '745c881283b828eb32586cf6f81b2142936f93f6', class: "bs-chatbot-feedback__text" }, h("p", { key: '8d8bea1913dc865ec79e88a31e0b93ca84c1a867', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: 'fffe199cc928e0b6c481270d7ad59dbdfdb2b2c4', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: '8cc7563ec8ae7ee981f12323b55397d5e0bcb2c2', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": this.ratingLabel }, stars.map(value => (h("button", { type: "button", part: "star", class: "bs-chatbot-feedback__star", role: "radio", "aria-checked": (this.rating >= value).toString(), "aria-label": `${value} ${value > 1 ? this.starsLabel : this.starLabel}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h(StarIcon, { filled: this.rating >= value }))))), !this.submitted && (h("div", { key: 'de939881796cf7f7e32294904aec1be2f7f71035', class: "bs-chatbot-feedback__field" }, h("label", { key: 'd58da98d04619b3bfcbe3b97fcf9529229526831', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, this.commentLabel), h("textarea", { key: 'c45059beddde013832133f21e20d86be7be2bd9c', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: this.commentPlaceholder, value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: 'd630c3cb1561f90d123989015f0388da16a22595', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: '37c06651e4f65c54e4e58da5f3c1a224c5125184', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: 'a88d5a116114d4685d92562a49f3dc99bff86e9d', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h(SendIcon, { key: '557e3de8ae2fcf5a76fda6cbcea1762e674f0734' }), this.submitLabel)), h("button", { key: '37c972da6bb7595d1a05a72a1c49c3184b054020', type: "button", part: "new-chat", class: `bs-chatbot-feedback__new-chat ${this.submitted ? 'bs-chatbot-feedback__new-chat--primary' : 'bs-chatbot-feedback__new-chat--outlined'}`, onClick: this.onNewChatClick }, h(EditIcon, { key: '76e954f39f7b45e227df1ee4f6bbc24fd6985b9f' }), this.newChatLabel))));
|
|
143
143
|
}
|
|
144
144
|
static get is() { return "bs-chatbot-feedback"; }
|
|
145
145
|
static get encapsulation() { return "shadow"; }
|
|
@@ -93,7 +93,7 @@ export class BsChatbotHeader {
|
|
|
93
93
|
this.bsClose.emit();
|
|
94
94
|
};
|
|
95
95
|
render() {
|
|
96
|
-
return (h("div", { key: '
|
|
96
|
+
return (h("div", { key: '4d749a85b3317c88b39c0042be1dd5c415bce812', class: "bs-chatbot-header", role: "banner", "aria-label": this.heading }, h("div", { key: 'adb4686e3c95bd0c63c4ae5e02726a23c90653e4', part: "logo", class: "bs-chatbot-header__logo", role: "img", "aria-label": this.heading, innerHTML: GENIE_LOGO_SVG }), h("div", { key: '9baf468f0792ec06ef3a4bf776df0ec938dae56c', class: "bs-chatbot-header__actions" }, h("slot", { key: '78a6ac0cce725bb63301351bdbf3fbb4af1dccfc', name: "actions" }), !this.hideNewChat && (h("span", { key: '5614b1689b6a1518cb2f466586453114a8eb2269', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'f593334c14d6890f6b204aede3af2ac21282c834', type: "button", part: "new-chat", class: "bs-chatbot-header__button", "aria-label": this.newChatLabel, onClick: this.onNewChatClick }, h("slot", { key: 'ce1f32ee3c7baf5b141004e3bcd4b92390c5f65a', name: "new-chat-icon" }, h(NewChatIcon, { key: 'db2ae97dfbeb82b0fec1def38a2d3a6efff915ca' }))), h("bs-tooltip", { key: '11fecac2381fadc649f6f0fa71bf22adaf7c7170', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.newChatLabel))), !this.hideHistory && (h("span", { key: '8c6dd57c915550f2d9bf89aa3a915d036f5fb1db', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'c9c9a4df2bc94fee532c8997bbc91b94b0dc90f4', type: "button", part: "history", class: "bs-chatbot-header__button", "aria-label": this.historyLabel, onClick: this.onHistoryClick }, h("slot", { key: '7efd44b983dc8d7bcf0e517d1c283c30dc920388', name: "history-icon" }, h(HistoryIcon, { key: '5e053692985e9efb724ef315397e480a927a23af' }))), h("bs-tooltip", { key: '0736b67042161cfa09e1e4d6fe50aecdabc97da7', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.historyLabel))), !this.hideExpand && (h("span", { key: '2f57c3fdf10c31c5d892a094df94e36a0273a8a3', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '75b4864469e56ec3fa373740483118878e6e2637', type: "button", part: "expand", class: "bs-chatbot-header__button", "aria-label": this.expanded ? this.collapseLabel : this.expandLabel, "aria-pressed": this.expanded ? 'true' : 'false', onClick: this.onExpandClick }, h("slot", { key: '549a118c2784795cc4ac12c1c257221e57f40243', name: "expand-icon" }, h(ExpandIcon, { key: '88bb836b69e0293e45a0be50f33f6256242a5761' }))), h("bs-tooltip", { key: '9c957cdb8876be24b1fc2b9167852f80145ed43d', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.expanded ? this.collapseLabel : this.expandLabel))), !this.hideClose && (h("span", { key: 'cacd2af286b69dc72340d045adceb97d5219a6d8', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '03e08785d4db92fec96632fe60542f997c954e51', type: "button", part: "close", class: "bs-chatbot-header__button", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h("slot", { key: '67b21828c6e8663333157f4d3f0f671cd8fcbf79', name: "close-icon" }, h(CloseIcon, { key: '11f16c5d485969216a25ef2b581d4dd72ef3cdc7' }))), h("bs-tooltip", { key: '7a9a19cf276a1e9c097f901ea57be2f32d11902e', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.closeLabel))))));
|
|
97
97
|
}
|
|
98
98
|
static get is() { return "bs-chatbot-header"; }
|
|
99
99
|
static get encapsulation() { return "shadow"; }
|
|
@@ -39,6 +39,7 @@ import { h } from "@stencil/core";
|
|
|
39
39
|
* @prop --bs-chatbot-response-action-sources-color - Text color of the sources label. Aliased to `--bs-text-neutral-default`.
|
|
40
40
|
* @prop --bs-chatbot-response-action-sources-font-size - Aliased to `--bs-font-size-sm`.
|
|
41
41
|
* @prop --bs-chatbot-response-action-sources-line-height - Aliased to `--bs-line-height-body-sm`.
|
|
42
|
+
* @part ripple - The press-ripple layer (a `bs-ripple`). Tune it with `::part(ripple) { --bs-ripple-color: ...; }`.
|
|
42
43
|
*/
|
|
43
44
|
export class BsChatbotResponseAction {
|
|
44
45
|
host;
|
|
@@ -127,7 +128,7 @@ export class BsChatbotResponseAction {
|
|
|
127
128
|
};
|
|
128
129
|
render() {
|
|
129
130
|
const hasSources = !!this.sourcesCount && this.sourcesCount > 0;
|
|
130
|
-
return (h("div", { key: '
|
|
131
|
+
return (h("div", { key: 'ea10465bf7825b4fd96464ee91b10566b51add61', class: "bs-chatbot-response-action" }, h("button", { key: '27a4ccd7a97f4821569b382377dfcd11520cf4b3', type: "button", part: "like", class: "bs-chatbot-response-action__button", "aria-label": this.likeLabel, "aria-pressed": this.liked ? 'true' : 'false', onClick: this.onLikeClick }, h("bs-ripple", { key: 'e51f72aaa2018b77f0e67454a42754a69c53b827', part: "ripple", centered: true }), h("slot", { key: '685362071a59475ce8831f3648f244721f183252', name: "like-icon" }, h(ThumbsUpIcon, { key: '4a9dd14db641ec7d6e60ce018218a7af6a34e34c' }))), h("button", { key: 'f48e058db0e94aaf2d13a93dffb1d995616074b9', type: "button", part: "dislike", class: "bs-chatbot-response-action__button", "aria-label": this.dislikeLabel, "aria-pressed": this.disliked ? 'true' : 'false', onClick: this.onDislikeClick }, h("bs-ripple", { key: '8e10c2a3793010a3be06412f09f5495185659b8f', part: "ripple", centered: true }), h("slot", { key: '017e084ab2b1188d1bdd19d4f4b5ca30a2e9dfb0', name: "dislike-icon" }, h(ThumbsDownIcon, { key: '6578301a7d4ba5351e59f91dbed3016d10834386' }))), h("button", { key: 'ea1425fc220fd8a8ad775e6f5e24fe3cb236dc78', type: "button", part: "copy", class: "bs-chatbot-response-action__button", "aria-label": this.copyLabel, onClick: this.onCopyClick }, h("bs-ripple", { key: 'f857a092b5db633da3d0dca78fb53dea0c764f3a', part: "ripple", centered: true }), h("slot", { key: 'a96a945f08995317c0bc08bc8e320575d4eaa6ac', name: "copy-icon" }, h(CopyIcon, { key: '8b3ca7ad7dd18b35a6be2d46e1a8d785f948559e' }))), !this.hideRegenerate && (h("button", { key: 'd114185e80a157217b8bdf7249db1d7c0434daf3', type: "button", part: "regenerate", class: "bs-chatbot-response-action__button", "aria-label": this.regenerateLabel, onClick: this.onRegenerateClick }, h("bs-ripple", { key: '47b10ab111100c2001ec64a1881839ef3c77486c', part: "ripple", centered: true }), h("slot", { key: 'aae132c65e481002ff95ea1fa65614d24b316cdb', name: "regenerate-icon" }, h(RegenerateIcon, { key: '77fe5385e571abc771f5a4118c9e7d2fe5214f31' })))), h("div", { key: '43ae8110dac16f340d1fbba57cb39d6e0fac2bba', class: "bs-chatbot-response-action__menu-wrapper" }, h("button", { key: '13b43339ccc55a0472e266a0812c867ea5684db0', type: "button", part: "menu", class: "bs-chatbot-response-action__button", "aria-label": this.menuLabel, "aria-haspopup": "menu", "aria-expanded": this.menuOpen ? 'true' : 'false', onClick: this.onMenuClick }, h("bs-ripple", { key: '9184bb5cf7a1ec514286be13561356a84020d8bc', part: "ripple", centered: true }), h("slot", { key: 'ec41980667b59320f6f1e64fa7ad1e61b48985f5', name: "menu-icon" }, h(MenuIcon, { key: '5f6065880fcab476067c9cdd641e3803594d47af' }))), this.menuOpen && (h("div", { key: '64657764d6e5e1b799b118defe89ab098e7cf284', class: "bs-chatbot-response-action__menu-popup" }, h("slot", { key: 'b70facad47bb5971fef174c209c023203f321441', name: "menu" })))), hasSources && (h("button", { key: '6f382c1f12d9c6588d93fbb8f3fff50f3d961ad0', type: "button", part: "sources", class: "bs-chatbot-response-action__sources", onClick: this.onSourcesClick }, h("slot", { key: 'bd9751f689fc23acaa5a3e62bf5490d36834772d', name: "sources-icon" }, h(SourcesIcon, { key: 'fb0bf01af7ad41d23827197bbce23573d7886a5b' })), h("span", { key: '3277653214f36c8a0277059929baeb14691dc1c3', class: "bs-chatbot-response-action__sources-label" }, this.sourcesCount, " ", this.sourcesCount === 1 ? this.sourceLabel : this.sourcesLabel)))));
|
|
131
132
|
}
|
|
132
133
|
static get is() { return "bs-chatbot-response-action"; }
|
|
133
134
|
static get encapsulation() { return "shadow"; }
|
|
@@ -59,7 +59,7 @@ export class BsChatbotSourcesDrawer {
|
|
|
59
59
|
};
|
|
60
60
|
render() {
|
|
61
61
|
const displayCount = this.count ?? this.slottedCount;
|
|
62
|
-
return (h("div", { key: '
|
|
62
|
+
return (h("div", { key: '3a1ada3b813ff876728dc3aaa97f083cca62e06d', class: "bs-chatbot-sources-drawer", role: "region", "aria-label": this.heading }, h("div", { key: '97a5b46ecd7e365f19b97d22e64dd5f8ccc321a9', class: "bs-chatbot-sources-drawer__header" }, h("div", { key: '13da4c69fa4882f663bd0c50b7e076246b369f3b', class: "bs-chatbot-sources-drawer__title-group" }, h("h2", { key: 'cb709deaa389afca9f9f233772d00ceebf80c174', part: "heading", class: "bs-chatbot-sources-drawer__heading" }, this.heading), displayCount > 0 && (h("span", { key: 'a195d6e2de3305d6c4c8866d1333f7554c7dc3b3', part: "count", class: "bs-chatbot-sources-drawer__count" }, displayCount))), h("button", { key: '02cfdf86c2a83a0abfdbe36dd6ef0aee416477ca', type: "button", part: "collapse", class: "bs-chatbot-sources-drawer__collapse", "aria-label": this.collapseLabel, onClick: this.onCollapseClick }, h("slot", { key: 'ef4e483e4adb1a668401244d13eace6acf12023b', name: "collapse-icon" }, h(CaretRightIcon, { key: 'ca9e17d19e935606e196253136151d81d8ab2566' })))), h("div", { key: '1fe136577e90fc5eb650d6e856923ed1dfa60112', part: "list", class: "bs-chatbot-sources-drawer__list" }, h("slot", { key: 'd5a5204ebbca3035e1ba6360168c36e17d89431a', onSlotchange: this.onSlotchange }))));
|
|
63
63
|
}
|
|
64
64
|
static get is() { return "bs-chatbot-sources-drawer"; }
|
|
65
65
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js
CHANGED
|
@@ -32,6 +32,7 @@ import { h } from "@stencil/core";
|
|
|
32
32
|
* Aliased to `--bs-text-action-hover`.
|
|
33
33
|
* @prop --bs-chatbot-suggestion-button-focus-ring-color - Focus ring color. Aliased to
|
|
34
34
|
* `--bs-border-primary-focus`.
|
|
35
|
+
* @part ripple - The press-ripple layer (a `bs-ripple`). Tune it with `::part(ripple) { --bs-ripple-color: ...; }`.
|
|
35
36
|
*/
|
|
36
37
|
export class BsChatbotSuggestionButton {
|
|
37
38
|
/** Disables the button and applies a reduced-opacity treatment. */
|
|
@@ -42,7 +43,7 @@ export class BsChatbotSuggestionButton {
|
|
|
42
43
|
this.bsSelect.emit();
|
|
43
44
|
};
|
|
44
45
|
render() {
|
|
45
|
-
return (h("button", { key: '
|
|
46
|
+
return (h("button", { key: 'c76c66440c64cf4cfe60fbd98a49229896e593e2', type: "button", part: "button", class: "bs-chatbot-suggestion-button", disabled: this.disabled, onClick: this.onClick }, h("bs-ripple", { key: 'aa4295c7a0ae1c1fcefe567c594a7dfb01e5fc4e', part: "ripple", centered: false, disabled: this.disabled }), h("slot", { key: 'd9e21c45c97236d08f0d9e2c9829b6a0501424e2' })));
|
|
46
47
|
}
|
|
47
48
|
static get is() { return "bs-chatbot-suggestion-button"; }
|
|
48
49
|
static get encapsulation() { return "shadow"; }
|
|
@@ -35,7 +35,7 @@ export class BsCheckboxSkeleton {
|
|
|
35
35
|
/** Accessible name announced for the loading placeholder. */
|
|
36
36
|
loadingLabel = 'Loading';
|
|
37
37
|
render() {
|
|
38
|
-
return (h("span", { key: '
|
|
38
|
+
return (h("span", { key: '92bd864f7f59de942901944109eabc70e4f6ee28', part: "container", class: "bs-checkbox-skeleton", role: "status", "aria-label": this.loadingLabel }, h("span", { key: 'e69ed9e4bef797036110d4ed504c3526272ef467', part: "box", class: `bs-checkbox-skeleton__box bs-checkbox-skeleton__box--${this.size}` }), h("span", { key: '562219d3322ba5b120143e04a34d6ab693ede45a', part: "label", class: "bs-checkbox-skeleton__label" })));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "bs-checkbox-skeleton"; }
|
|
41
41
|
static get encapsulation() { return "shadow"; }
|
|
@@ -204,3 +204,10 @@
|
|
|
204
204
|
.bs-checkbox__box--selected { background: Highlight; border-color: Highlight; color: HighlightText; }
|
|
205
205
|
.bs-checkbox__box--disabled { border-color: GrayText; color: GrayText; }
|
|
206
206
|
}
|
|
207
|
+
|
|
208
|
+
/* Round halo that extends past the box, tinted with the brand colour. The press target is the whole label. */
|
|
209
|
+
.bs-checkbox__ripple {
|
|
210
|
+
inset: -10px;
|
|
211
|
+
border-radius: 50%;
|
|
212
|
+
--bs-ripple-color: var(--bs-color-primary-default);
|
|
213
|
+
}
|
|
@@ -16,6 +16,7 @@ import { h } from "@stencil/core";
|
|
|
16
16
|
* @part box - The visual checkbox square.
|
|
17
17
|
* @part icon - The check/minus icon shown inside the box when `checked` or `indeterminate`.
|
|
18
18
|
* @part label - The label text wrapper.
|
|
19
|
+
* @part ripple - The press-ripple halo (a `bs-ripple`). Tune it with `::part(ripple) { --bs-ripple-color: ...; }`.
|
|
19
20
|
*/
|
|
20
21
|
// Note: this component's CSS Custom Properties (--bs-checkbox-*) are documented via @prop comments
|
|
21
22
|
// in bs-checkbox.css, not here -- Stencil's docs generator only parses @prop out of CSS file
|
|
@@ -120,7 +121,7 @@ export class BsCheckbox {
|
|
|
120
121
|
]
|
|
121
122
|
.filter(Boolean)
|
|
122
123
|
.join(' ');
|
|
123
|
-
return (h("label", { key: '
|
|
124
|
+
return (h("label", { key: 'd35cd1c413ad4a5da2b964828f225ccd434f8724', class: `bs-checkbox ${this.disabled ? 'bs-checkbox--disabled' : ''}` }, h("input", { key: '6a50bcabb9856f732472c08acf28a72b47efcd0e', ref: el => (this.inputEl = el), class: "bs-checkbox__input", type: "checkbox", checked: this.checked, disabled: this.disabled, required: this.required, "aria-checked": this.indeterminate ? 'mixed' : String(this.checked), "aria-label": this.ariaLabel, onChange: this.onChange }), h("span", { key: '73125ca0d0b7f6820655d3f3001b91c4d7712979', part: "box", class: boxClasses }, h("bs-ripple", { key: 'e0e763aa5342b8241758cdb9f56397a36fd08b27', part: "ripple", class: "bs-checkbox__ripple", centered: true, triggerSelector: ".bs-checkbox", disabled: this.disabled }), showIcon && (h("svg", { key: '1d31573c1bf95fa1efa9c38e2516df59cf84e247', part: "icon", class: "bs-checkbox__icon", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, this.indeterminate ? (h("path", { d: "M3 8H13", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })) : (h("path", { d: "M3 8.5L6.2 11.5L13 4.5", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), h("span", { key: '71101d692d0ebe55a1e36055394395adacfef564', part: "label", class: "bs-checkbox__label" }, h("slot", { key: '5964f3edad9f4217334c5703032a28c99974970b' }))));
|
|
124
125
|
}
|
|
125
126
|
static get is() { return "bs-checkbox"; }
|
|
126
127
|
static get encapsulation() { return "shadow"; }
|
|
@@ -18,6 +18,7 @@ import { h } from "@stencil/core";
|
|
|
18
18
|
* @part icon - The icon wrapper element.
|
|
19
19
|
* @part label - The text label element.
|
|
20
20
|
* @part caret - The dropdown caret wrapper element, when `dropdown` is set.
|
|
21
|
+
* @part ripple - The press-ripple layer (a `bs-ripple`). Tune it with `::part(ripple) { --bs-ripple-color: ...; }`.
|
|
21
22
|
*/
|
|
22
23
|
export class BsChipFilter {
|
|
23
24
|
el;
|
|
@@ -70,7 +71,7 @@ export class BsChipFilter {
|
|
|
70
71
|
// label-only edge gets more -- except when NEITHER edge has a glyph, where both edges use a
|
|
71
72
|
// third, larger value rather than the label-only one (see bs-chip-filter.css's own comment).
|
|
72
73
|
const paddingVariant = this.hasIcon && this.dropdown ? 'icon-dropdown' : this.hasIcon ? 'icon-only' : this.dropdown ? 'dropdown-only' : 'text-only';
|
|
73
|
-
return (h("button", { key: '
|
|
74
|
+
return (h("button", { key: '330d7292dd7bb519c8cdf0dd237ad85913ab35fe', type: "button", class: `bs-chip-filter bs-chip-filter--${this.size} bs-chip-filter--${paddingVariant} ${this.selected ? 'bs-chip-filter--selected' : ''}`, disabled: this.disabled, "aria-pressed": String(this.selected), "aria-label": this.ariaLabel, onClick: this.onClick }, h("bs-ripple", { key: '34767b4129e742f2eaefb2192ae0bfb07449f480', part: "ripple", centered: false, disabled: this.disabled }), h("span", { key: '9ec983b47dec13c4ac573d2c2125fe314843693c', part: "icon", class: `bs-chip-filter__icon ${this.hasIcon ? 'bs-chip-filter__icon--visible' : ''}` }, h("slot", { key: '0b7093bf29bc156a0c969616af48c5c709b0ee6e', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '3a309c3171bee1ccdf066da85aea80b5476f454d', part: "label", class: "bs-chip-filter__label" }, h("slot", { key: 'afda9556224d3faf5fed56796f0d2eebd335d612' })), this.dropdown && (h("span", { key: '692b0d968999335c18cf21eaea20af997f1a6599', part: "caret", class: "bs-chip-filter__caret", "aria-hidden": "true" }, h(ChevronDownIcon, { key: 'cc87f0f3f8e95a8733f083f36d5caee9b649bed7' })))));
|
|
74
75
|
}
|
|
75
76
|
static get is() { return "bs-chip-filter"; }
|
|
76
77
|
static get encapsulation() { return "shadow"; }
|
|
@@ -44,7 +44,7 @@ export class BsChipInformative {
|
|
|
44
44
|
};
|
|
45
45
|
render() {
|
|
46
46
|
const paddingVariant = this.hasIcon ? 'icon' : 'text';
|
|
47
|
-
return (h(Host, { key: '
|
|
47
|
+
return (h(Host, { key: '1c590939607a3a3c511e60fbf13da81268a3f178', class: `bs-chip-informative bs-chip-informative--${this.color} bs-chip-informative--${this.size} bs-chip-informative--${paddingVariant}` }, h("span", { key: '9da198d1f3680e20364c13bee40c0123473ec37c', part: "icon", class: `bs-chip-informative__icon ${this.hasIcon ? 'bs-chip-informative__icon--visible' : ''}` }, h("slot", { key: '7951b8044a25a007641b2cff5d4e52543f5a2a82', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '54c6f6abe99b04cc0b3dfd75202dde81bdc8a163', part: "label", class: "bs-chip-informative__label" }, h("slot", { key: '3e4f7a245054e0d8898028c5c1ed4e6e35496988' }))));
|
|
48
48
|
}
|
|
49
49
|
static get is() { return "bs-chip-informative"; }
|
|
50
50
|
static get encapsulation() { return "shadow"; }
|
|
@@ -170,3 +170,10 @@
|
|
|
170
170
|
.bs-chip-input__remove:disabled {
|
|
171
171
|
cursor: not-allowed;
|
|
172
172
|
}
|
|
173
|
+
|
|
174
|
+
.bs-chip-input__body,
|
|
175
|
+
.bs-chip-input__remove {
|
|
176
|
+
/* Containing block for the absolutely-positioned bs-ripple layer. */
|
|
177
|
+
position: relative;
|
|
178
|
+
border-radius: inherit;
|
|
179
|
+
}
|
|
@@ -21,6 +21,7 @@ import { Host, h } from "@stencil/core";
|
|
|
21
21
|
* @part icon - The icon wrapper element.
|
|
22
22
|
* @part label - The text label element.
|
|
23
23
|
* @part remove - The trailing remove button.
|
|
24
|
+
* @part ripple - The press-ripple layer (a `bs-ripple`). Tune it with `::part(ripple) { --bs-ripple-color: ...; }`.
|
|
24
25
|
*/
|
|
25
26
|
export class BsChipInput {
|
|
26
27
|
el;
|
|
@@ -79,7 +80,7 @@ export class BsChipInput {
|
|
|
79
80
|
};
|
|
80
81
|
render() {
|
|
81
82
|
const paddingVariant = this.hasIcon ? 'icon' : 'text';
|
|
82
|
-
return (h(Host, { key: '
|
|
83
|
+
return (h(Host, { key: '23b8519dece5666894eb211065d8ebc6208afb73', class: `bs-chip-input bs-chip-input--${this.size} bs-chip-input--${paddingVariant}` }, h("button", { key: 'bf65dbc1e0989c7ddeca7d863357934833d40889', type: "button", part: "body", class: "bs-chip-input__body", disabled: this.disabled, "aria-pressed": String(this.selected), onClick: this.onBodyClick }, h("bs-ripple", { key: '4b74e46a995d1e6429a69853550983066c53fd8b', part: "ripple", centered: false, disabled: this.disabled }), h("span", { key: '45c9089f5050b6417667b71af047b55d9df20aae', part: "icon", class: `bs-chip-input__icon ${this.hasIcon ? 'bs-chip-input__icon--visible' : ''}` }, h("slot", { key: 'e3e68eb90f3f4908ff1f3af61a2fbc524c148ae6', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '2e4709dd6398fe589294bd884a2a60c7bc083804', part: "label", class: "bs-chip-input__label" }, h("slot", { key: '71b54619b617b3bf82cee8d7144e2b23af2353c7', onSlotchange: this.onLabelSlotchange }))), h("button", { key: 'bc3892fe66883bc9f43b9fb95274539be42d40b9', type: "button", part: "remove", class: "bs-chip-input__remove", disabled: this.disabled, "aria-label": `${this.removeLabel} ${this.labelText}`, onClick: this.onRemoveClick }, h("bs-ripple", { key: '283b64fdc5fcf4c490d07ffac9e66284d666fc15', part: "ripple", centered: true, disabled: this.disabled }), h(CloseIcon, { key: 'ed997aab7198b3de133c05c49a4a220422db3cf4' }))));
|
|
83
84
|
}
|
|
84
85
|
static get is() { return "bs-chip-input"; }
|
|
85
86
|
static get encapsulation() { return "shadow"; }
|