@brandsync/wc 1.10.0 → 1.12.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 +155 -0
- package/custom-elements.json +8333 -4134
- package/dist/brandsync-wc/brandsync-wc.css +33 -0
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-9f8852a0.entry.js → p-00a0d489.entry.js} +1 -1
- package/dist/brandsync-wc/{p-360452c2.entry.js → p-09435f41.entry.js} +1 -1
- package/dist/brandsync-wc/{p-dbcbe682.entry.js → p-09bc1923.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1f7208cb.entry.js → p-09cbf05b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c99b6a66.entry.js → p-0b2d3b7e.entry.js} +1 -1
- package/dist/brandsync-wc/p-0b7c77c1.entry.js +1 -0
- package/dist/brandsync-wc/p-0ee4126c.entry.js +1 -0
- package/dist/brandsync-wc/{p-5f3cd501.entry.js → p-0f8cd2e8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1c0db4d6.entry.js → p-1261f0b0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b2074a32.entry.js → p-1978e63c.entry.js} +1 -1
- package/dist/brandsync-wc/p-1aab6d07.entry.js +1 -0
- package/dist/brandsync-wc/{p-96ed9386.entry.js → p-20030f4d.entry.js} +1 -1
- package/dist/brandsync-wc/p-2177042f.entry.js +1 -0
- package/dist/brandsync-wc/{p-a8e2a829.entry.js → p-2368a92e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2e958566.entry.js → p-247e36ad.entry.js} +1 -1
- package/dist/brandsync-wc/p-2497d128.entry.js +1 -0
- package/dist/brandsync-wc/{p-701ebf4a.entry.js → p-282ddbee.entry.js} +1 -1
- package/dist/brandsync-wc/{p-763876f5.entry.js → p-2f4e08e1.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c3f72584.entry.js → p-34e5feaf.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ea4e20ef.entry.js → p-39a26c64.entry.js} +1 -1
- package/dist/brandsync-wc/p-3a1af63a.entry.js +1 -0
- package/dist/brandsync-wc/{p-9f6fe37d.entry.js → p-3f09296a.entry.js} +1 -1
- package/dist/brandsync-wc/p-416322bd.entry.js +1 -0
- package/dist/brandsync-wc/{p-f89de457.entry.js → p-452f9c1c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-bbcc47b0.entry.js → p-491b51e6.entry.js} +1 -1
- package/dist/brandsync-wc/p-52cb2358.entry.js +1 -0
- package/dist/brandsync-wc/{p-daab6b22.entry.js → p-56c37e0a.entry.js} +1 -1
- package/dist/brandsync-wc/p-5ba90a13.entry.js +1 -0
- package/dist/brandsync-wc/{p-08c99a60.entry.js → p-617bd13a.entry.js} +1 -1
- package/dist/brandsync-wc/p-68fcd4a4.entry.js +1 -0
- package/dist/brandsync-wc/{p-9e88f19c.entry.js → p-69c0a85d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d3f44cb7.entry.js → p-6a696161.entry.js} +1 -1
- package/dist/brandsync-wc/{p-32cd69f1.entry.js → p-6c6cdf77.entry.js} +1 -1
- package/dist/brandsync-wc/{p-041776c0.entry.js → p-6e735e37.entry.js} +1 -1
- package/dist/brandsync-wc/{p-fc58c663.entry.js → p-73f214ed.entry.js} +1 -1
- package/dist/brandsync-wc/{p-be2c1740.entry.js → p-7796b93f.entry.js} +1 -1
- package/dist/brandsync-wc/p-78a69a59.entry.js +1 -0
- package/dist/brandsync-wc/{p-f370b8fa.entry.js → p-78f4fcf0.entry.js} +1 -1
- package/dist/brandsync-wc/p-7f954939.entry.js +1 -0
- package/dist/brandsync-wc/{p-835a8dc7.entry.js → p-81605b82.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a71d2811.entry.js → p-823ab3b2.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2181378f.entry.js → p-83c90489.entry.js} +1 -1
- package/dist/brandsync-wc/p-89099a39.entry.js +1 -0
- package/dist/brandsync-wc/{p-a92eec48.entry.js → p-89fabf27.entry.js} +1 -1
- package/dist/brandsync-wc/{p-AgoOSYvW.js → p-DqQRXQMx.js} +2 -2
- package/dist/brandsync-wc/{p-18c3c22c.entry.js → p-a9169157.entry.js} +1 -1
- package/dist/brandsync-wc/{p-301b2455.entry.js → p-b84366a7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a5feaad4.entry.js → p-b8d2ce91.entry.js} +1 -1
- package/dist/brandsync-wc/p-b9a4042e.entry.js +1 -0
- package/dist/brandsync-wc/{p-275072dd.entry.js → p-b9ccd9d1.entry.js} +1 -1
- package/dist/brandsync-wc/{p-61c1a2a3.entry.js → p-be3dd446.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8eba7f90.entry.js → p-d754ee13.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e9b43754.entry.js → p-d75f3f87.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e8a5b8eb.entry.js → p-d8b29a53.entry.js} +1 -1
- package/dist/brandsync-wc/p-de110ad0.entry.js +1 -0
- package/dist/brandsync-wc/p-e2556b4e.entry.js +1 -0
- package/dist/brandsync-wc/{p-af2bf957.entry.js → p-e5daa6ca.entry.js} +1 -1
- package/dist/brandsync-wc/{p-0132a2d1.entry.js → p-f15d9524.entry.js} +1 -1
- package/dist/brandsync-wc/p-f5180578.entry.js +1 -0
- package/dist/brandsync-wc/{p-fd254972.entry.js → p-f7d15fbe.entry.js} +1 -1
- package/dist/brandsync-wc/{p-50a251a4.entry.js → p-fc069773.entry.js} +1 -1
- package/dist/brandsync-wc/p-fcee0dc4.entry.js +1 -0
- package/dist/cjs/brandsync-wc.cjs.js +2 -2
- package/dist/cjs/bs-accordion.cjs.entry.js +1 -1
- 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 +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 +6 -3
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +2 -2
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/bs-button.cjs.entry.js +3 -3
- package/dist/cjs/bs-card.cjs.entry.js +3 -3
- package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +2 -2
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/bs-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/bs-chip-filter.cjs.entry.js +1 -1
- package/dist/cjs/bs-chip-informative.cjs.entry.js +1 -1
- package/dist/cjs/bs-chip-input.cjs.entry.js +1 -1
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
- package/dist/cjs/bs-composer.cjs.entry.js +2 -2
- package/dist/cjs/bs-cookie-consent.cjs.entry.js +186 -0
- package/dist/cjs/bs-data-table.cjs.entry.js +1 -1
- package/dist/cjs/bs-datepicker.cjs.entry.js +13 -9
- package/dist/cjs/bs-dialog.cjs.entry.js +1 -1
- package/dist/cjs/bs-error-page.cjs.entry.js +103 -0
- package/dist/cjs/bs-file-upload-item.cjs.entry.js +2 -2
- package/dist/cjs/bs-file-upload.cjs.entry.js +2 -2
- package/dist/cjs/bs-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/bs-icon-tile.cjs.entry.js +52 -0
- package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
- package/dist/cjs/{bs-input_2.cjs.entry.js → bs-input_3.cjs.entry.js} +42 -6
- package/dist/cjs/bs-logo.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +2 -2
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +3 -3
- package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-onboarding-checklist.cjs.entry.js +161 -0
- package/dist/cjs/bs-pagination.cjs.entry.js +2 -2
- package/dist/cjs/bs-product-tour.cjs.entry.js +78 -0
- package/dist/cjs/bs-progress-linear.cjs.entry.js +4 -4
- package/dist/cjs/bs-progress.cjs.entry.js +3 -3
- package/dist/cjs/bs-qr-code.cjs.entry.js +148 -0
- package/dist/cjs/bs-radio.cjs.entry.js +2 -2
- package/dist/cjs/bs-session-timeout.cjs.entry.js +215 -0
- package/dist/cjs/bs-slider.cjs.entry.js +2 -2
- package/dist/cjs/bs-snackbar.cjs.entry.js +9 -3
- package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
- package/dist/cjs/bs-stepper-step.cjs.entry.js +2 -2
- package/dist/cjs/bs-stepper.cjs.entry.js +2 -2
- package/dist/cjs/bs-switch.cjs.entry.js +2 -2
- package/dist/cjs/bs-tab_3.cjs.entry.js +255 -0
- package/dist/cjs/bs-timepicker.cjs.entry.js +4 -4
- package/dist/cjs/bs-toast.cjs.entry.js +2 -2
- package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/bs-whats-new.cjs.entry.js +144 -0
- package/dist/cjs/{index-kk9YXF2S.js → index-tFJjflK5.js} +15 -3
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +9 -0
- package/dist/collection/components/bs-a11y.cmp.test.js +22 -0
- 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/bs-attachment.stories.js +4 -3
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +6 -3
- 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 +28 -0
- package/dist/collection/components/bs-button/bs-button/bs-button.css +8 -2
- 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.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 +48 -0
- package/dist/collection/components/bs-card/bs-card.css +37 -16
- package/dist/collection/components/bs-card/bs-card.js +2 -2
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.cmp.test.js +2 -2
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.css +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
- package/dist/collection/components/bs-composer/bs-composer.css +4 -2
- package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.cmp.test.js +217 -0
- package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.css +350 -0
- package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.js +668 -0
- package/dist/collection/components/bs-cookie-consent/bs-cookie-consent.stories.js +103 -0
- package/dist/collection/components/bs-datepicker/bs-datepicker.cmp.test.js +9 -0
- package/dist/collection/components/bs-datepicker/bs-datepicker.css +21 -11
- package/dist/collection/components/bs-datepicker/bs-datepicker.js +13 -7
- package/dist/collection/components/bs-datepicker/bs-datepicker.stories.js +3 -2
- package/dist/collection/components/bs-error-page/bs-error-page.cmp.test.js +99 -0
- package/dist/collection/components/bs-error-page/bs-error-page.css +105 -0
- package/dist/collection/components/bs-error-page/bs-error-page.js +328 -0
- package/dist/collection/components/bs-error-page/bs-error-page.stories.js +57 -0
- 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-icon-tile/bs-icon-tile.cmp.test.js +175 -0
- package/dist/collection/components/bs-icon-tile/bs-icon-tile.css +112 -0
- package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +158 -0
- package/dist/collection/components/bs-icon-tile/bs-icon-tile.stories.js +45 -0
- package/dist/collection/components/bs-input/bs-input.cmp.test.js +16 -2
- package/dist/collection/components/bs-input/bs-input.css +15 -23
- package/dist/collection/components/bs-input/bs-input.js +8 -4
- 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-onboarding-checklist/bs-onboarding-checklist.cmp.test.js +280 -0
- package/dist/collection/components/bs-onboarding-checklist/bs-onboarding-checklist.css +488 -0
- package/dist/collection/components/bs-onboarding-checklist/bs-onboarding-checklist.js +674 -0
- package/dist/collection/components/bs-onboarding-checklist/bs-onboarding-checklist.stories.js +92 -0
- package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
- package/dist/collection/components/bs-product-tour/bs-product-tour.cmp.test.js +116 -0
- package/dist/collection/components/bs-product-tour/bs-product-tour.css +265 -0
- package/dist/collection/components/bs-product-tour/bs-product-tour.js +391 -0
- package/dist/collection/components/bs-product-tour/bs-product-tour.stories.js +68 -0
- package/dist/collection/components/bs-progress/bs-progress.js +2 -2
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.css +1 -1
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
- package/dist/collection/components/bs-qr-code/bs-qr-code.cmp.test.js +152 -0
- package/dist/collection/components/bs-qr-code/bs-qr-code.css +307 -0
- package/dist/collection/components/bs-qr-code/bs-qr-code.js +767 -0
- package/dist/collection/components/bs-qr-code/bs-qr-code.stories.js +99 -0
- package/dist/collection/components/bs-radio/bs-radio.js +1 -1
- package/dist/collection/components/bs-session-timeout/bs-session-timeout.cmp.test.js +202 -0
- package/dist/collection/components/bs-session-timeout/bs-session-timeout.css +239 -0
- package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +772 -0
- package/dist/collection/components/bs-session-timeout/bs-session-timeout.stories.js +88 -0
- package/dist/collection/components/bs-slider/bs-slider.js +1 -1
- package/dist/collection/components/bs-snackbar/bs-snackbar.cmp.test.js +20 -0
- package/dist/collection/components/bs-snackbar/bs-snackbar.css +6 -4
- package/dist/collection/components/bs-snackbar/bs-snackbar.js +53 -1
- package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
- 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.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-timepicker/bs-timepicker.css +15 -11
- package/dist/collection/components/bs-timepicker/bs-timepicker.js +4 -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-whats-new/bs-whats-new.cmp.test.js +200 -0
- package/dist/collection/components/bs-whats-new/bs-whats-new.css +315 -0
- package/dist/collection/components/bs-whats-new/bs-whats-new.js +790 -0
- package/dist/collection/components/bs-whats-new/bs-whats-new.stories.js +105 -0
- package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.cmp.test.js +79 -0
- package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.css +131 -0
- package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +295 -0
- package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.stories.js +67 -0
- 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.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-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-composer-status-banner.js +1 -1
- package/dist/components/bs-composer.js +1 -1
- package/dist/components/bs-cookie-consent.d.ts +11 -0
- package/dist/components/bs-cookie-consent.js +1 -0
- 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-error-page.d.ts +11 -0
- package/dist/components/bs-error-page.js +1 -0
- package/dist/components/bs-file-upload-item.js +1 -1
- package/dist/components/bs-file-upload.js +1 -1
- package/dist/components/bs-icon-button.js +1 -1
- package/dist/components/bs-icon-tile.d.ts +11 -0
- package/dist/components/bs-icon-tile.js +1 -0
- 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-onboarding-checklist.d.ts +11 -0
- package/dist/components/bs-onboarding-checklist.js +1 -0
- package/dist/components/bs-pagination.js +1 -1
- package/dist/components/bs-product-tour.d.ts +11 -0
- package/dist/components/bs-product-tour.js +1 -0
- package/dist/components/bs-progress-linear.js +1 -1
- package/dist/components/bs-progress.js +1 -1
- package/dist/components/bs-qr-code.d.ts +11 -0
- package/dist/components/bs-qr-code.js +1 -0
- package/dist/components/bs-radio.js +1 -1
- package/dist/components/bs-session-timeout.d.ts +11 -0
- package/dist/components/bs-session-timeout.js +1 -0
- 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-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.js +1 -1
- package/dist/components/bs-whats-new-entry.d.ts +11 -0
- package/dist/components/bs-whats-new-entry.js +1 -0
- package/dist/components/bs-whats-new.d.ts +11 -0
- package/dist/components/bs-whats-new.js +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/{p-R2MlkUzD.js → p-BEEoVNRu.js} +1 -1
- package/dist/components/p-BUskqBR6.js +1 -0
- package/dist/components/{p-DkIVyFOP.js → p-BZ3M4lOU.js} +1 -1
- package/dist/components/{p-ZK8p5zax.js → p-Be9L4_Fe.js} +1 -1
- package/dist/components/p-Be_Pmccm.js +1 -0
- package/dist/components/{p-CPvqZNO8.js → p-Bl_tVzeq.js} +1 -1
- package/dist/components/p-C8yT2Ucq.js +1 -0
- package/dist/components/p-CA31vqjL.js +1 -0
- package/dist/components/p-CUfs0ROR.js +1 -0
- package/dist/components/{p-JYlmcxBn.js → p-CVrEuVFo.js} +1 -1
- package/dist/components/{p-B7Icv1ho.js → p-C_j_jDM6.js} +1 -1
- package/dist/components/p-CbimDNGY.js +1 -0
- package/dist/components/p-CeUK3n7D.js +1 -0
- package/dist/components/p-CncySD_-.js +1 -0
- package/dist/components/p-DE8K7fg0.js +1 -0
- package/dist/components/p-Dr0Qk9Zc.js +1 -0
- package/dist/components/p-DuLL7Ouw.js +1 -0
- package/dist/components/p-YsHQLXET.js +1 -0
- package/dist/components/p-qmS2CBqi.js +1 -0
- package/dist/components/{p-BYR_ZC8v.js → p-zTHlbyH6.js} +1 -1
- package/dist/esm/brandsync-wc.js +3 -3
- package/dist/esm/bs-accordion.entry.js +1 -1
- 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 +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 +6 -3
- package/dist/esm/bs-breadcrumbs.entry.js +2 -2
- package/dist/esm/bs-button-skeleton.entry.js +2 -2
- package/dist/esm/bs-button.entry.js +3 -3
- package/dist/esm/bs-card.entry.js +3 -3
- package/dist/esm/bs-carousel.entry.js +1 -1
- package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
- package/dist/esm/bs-chatbot-header.entry.js +3 -3
- 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 +2 -2
- package/dist/esm/bs-checkbox.entry.js +1 -1
- package/dist/esm/bs-chip-filter.entry.js +1 -1
- package/dist/esm/bs-chip-informative.entry.js +1 -1
- package/dist/esm/bs-chip-input.entry.js +1 -1
- package/dist/esm/bs-composer-status-banner.entry.js +1 -1
- package/dist/esm/bs-composer.entry.js +2 -2
- package/dist/esm/bs-cookie-consent.entry.js +184 -0
- package/dist/esm/bs-data-table.entry.js +1 -1
- package/dist/esm/bs-datepicker.entry.js +13 -9
- package/dist/esm/bs-dialog.entry.js +1 -1
- package/dist/esm/bs-error-page.entry.js +101 -0
- package/dist/esm/bs-file-upload-item.entry.js +2 -2
- package/dist/esm/bs-file-upload.entry.js +2 -2
- package/dist/esm/bs-icon-button.entry.js +2 -2
- package/dist/esm/bs-icon-tile.entry.js +50 -0
- package/dist/esm/bs-inline-tab.entry.js +2 -2
- package/dist/esm/{bs-input_2.entry.js → bs-input_3.entry.js} +42 -7
- package/dist/esm/bs-logo.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
- package/dist/esm/bs-navigation-drawer.entry.js +3 -3
- package/dist/esm/bs-navigation-header.entry.js +2 -2
- package/dist/esm/bs-onboarding-checklist.entry.js +159 -0
- package/dist/esm/bs-pagination.entry.js +2 -2
- package/dist/esm/bs-product-tour.entry.js +76 -0
- package/dist/esm/bs-progress-linear.entry.js +4 -4
- package/dist/esm/bs-progress.entry.js +3 -3
- package/dist/esm/bs-qr-code.entry.js +146 -0
- package/dist/esm/bs-radio.entry.js +2 -2
- package/dist/esm/bs-session-timeout.entry.js +213 -0
- package/dist/esm/bs-slider.entry.js +2 -2
- package/dist/esm/bs-snackbar.entry.js +9 -3
- package/dist/esm/bs-source-link.entry.js +3 -3
- package/dist/esm/bs-stepper-step.entry.js +2 -2
- package/dist/esm/bs-stepper.entry.js +2 -2
- package/dist/esm/bs-switch.entry.js +2 -2
- package/dist/esm/bs-tab_3.entry.js +251 -0
- package/dist/esm/bs-timepicker.entry.js +4 -4
- package/dist/esm/bs-toast.entry.js +2 -2
- package/dist/esm/bs-tooltip.entry.js +2 -2
- package/dist/esm/bs-whats-new.entry.js +142 -0
- package/dist/esm/{index-AgoOSYvW.js → index-DqQRXQMx.js} +15 -3
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/bs-attachment/bs-attachment.stories.d.ts +1 -1
- package/dist/types/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.d.ts +4 -1
- package/dist/types/components/bs-button/bs-button/bs-button.d.ts +3 -0
- package/dist/types/components/bs-cookie-consent/bs-cookie-consent.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-cookie-consent/bs-cookie-consent.d.ts +136 -0
- package/dist/types/components/bs-cookie-consent/bs-cookie-consent.stories.d.ts +16 -0
- package/dist/types/components/bs-datepicker/bs-datepicker.d.ts +2 -0
- package/dist/types/components/bs-error-page/bs-error-page.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-error-page/bs-error-page.d.ts +60 -0
- package/dist/types/components/bs-error-page/bs-error-page.stories.d.ts +22 -0
- package/dist/types/components/bs-icon-tile/bs-icon-tile.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-icon-tile/bs-icon-tile.d.ts +40 -0
- package/dist/types/components/bs-icon-tile/bs-icon-tile.stories.d.ts +13 -0
- package/dist/types/components/bs-input/bs-input.d.ts +4 -1
- package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.d.ts +140 -0
- package/dist/types/components/bs-onboarding-checklist/bs-onboarding-checklist.stories.d.ts +18 -0
- package/dist/types/components/bs-product-tour/bs-product-tour.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-product-tour/bs-product-tour.d.ts +78 -0
- package/dist/types/components/bs-product-tour/bs-product-tour.stories.d.ts +19 -0
- package/dist/types/components/bs-qr-code/bs-qr-code.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-qr-code/bs-qr-code.d.ts +124 -0
- package/dist/types/components/bs-qr-code/bs-qr-code.stories.d.ts +28 -0
- package/dist/types/components/bs-session-timeout/bs-session-timeout.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-session-timeout/bs-session-timeout.d.ts +141 -0
- package/dist/types/components/bs-session-timeout/bs-session-timeout.stories.d.ts +19 -0
- package/dist/types/components/bs-snackbar/bs-snackbar.d.ts +7 -0
- package/dist/types/components/bs-timepicker/bs-timepicker.d.ts +2 -0
- package/dist/types/components/bs-whats-new/bs-whats-new.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-whats-new/bs-whats-new.d.ts +147 -0
- package/dist/types/components/bs-whats-new/bs-whats-new.stories.d.ts +14 -0
- package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.d.ts +53 -0
- package/dist/types/components/bs-whats-new-entry/bs-whats-new-entry.stories.d.ts +18 -0
- package/dist/types/components.d.ts +2642 -98
- package/package.json +3 -2
- package/dist/brandsync-wc/p-1c3a43c7.entry.js +0 -1
- package/dist/brandsync-wc/p-1c427ffb.entry.js +0 -1
- package/dist/brandsync-wc/p-4f2c4929.entry.js +0 -1
- package/dist/brandsync-wc/p-76e1c295.entry.js +0 -1
- package/dist/brandsync-wc/p-790db8b3.entry.js +0 -1
- package/dist/brandsync-wc/p-796a1860.entry.js +0 -1
- package/dist/brandsync-wc/p-806a5347.entry.js +0 -1
- package/dist/brandsync-wc/p-addfa0a0.entry.js +0 -1
- package/dist/brandsync-wc/p-c9a72416.entry.js +0 -1
- package/dist/brandsync-wc/p-d42b1c2b.entry.js +0 -1
- package/dist/brandsync-wc/p-f006d962.entry.js +0 -1
- package/dist/brandsync-wc/p-f074f94e.entry.js +0 -1
- package/dist/cjs/bs-menu.cjs.entry.js +0 -39
- package/dist/cjs/bs-tab.cjs.entry.js +0 -88
- package/dist/cjs/bs-tabs.cjs.entry.js +0 -133
- package/dist/components/p-BTvme8CE.js +0 -1
- package/dist/components/p-Ba860ej1.js +0 -1
- package/dist/components/p-CpUHnsq9.js +0 -1
- package/dist/components/p-jDO25SfF.js +0 -1
- package/dist/esm/bs-menu.entry.js +0 -37
- package/dist/esm/bs-tab.entry.js +0 -86
- package/dist/esm/bs-tabs.entry.js +0 -131
|
@@ -21,6 +21,28 @@ describe('axe: form controls', () => {
|
|
|
21
21
|
describe('axe: actions & navigation', () => {
|
|
22
22
|
axeOf('bs-button', () => h("bs-button", null, "Save"));
|
|
23
23
|
axeOf('bs-icon-button', () => h("bs-icon-button", { ariaLabel: "Close" }));
|
|
24
|
+
axeOf('bs-icon-tile', () => h("bs-icon-tile", { intent: "success", size: "lg" }));
|
|
25
|
+
axeOf('bs-icon-tile (labelled)', () => h("bs-icon-tile", { intent: "error", label: "Error" }));
|
|
26
|
+
axeOf('bs-qr-code', () => h("bs-qr-code", { description: "Scan to open SO-10482", url: "egsync.no/d/SO-10482", matrix: [[true, false, true], [false, true, false], [true, false, true]] }));
|
|
27
|
+
axeOf('bs-qr-code (payment, expired)', () => h("bs-qr-code", { type: "payment", state: "expired", amount: "148,00 kr" }));
|
|
28
|
+
axeOf('bs-product-tour (welcome)', () => h("bs-product-tour", { heading: "Welcome", description: "Take a quick tour." }));
|
|
29
|
+
axeOf('bs-product-tour (pointer)', () => h("bs-product-tour", { type: "pointer", heading: "Filters", description: "Narrow the list.", step: 1, total: 3, closable: true }));
|
|
30
|
+
axeOf('bs-error-page', () => h("bs-error-page", null));
|
|
31
|
+
axeOf('bs-error-page (server error)', () => h("bs-error-page", { type: "server-error", reference: "Error ID: 7f3c-21a9", headingLevel: 2 }));
|
|
32
|
+
axeOf('bs-session-timeout (warning)', () => h("bs-session-timeout", { secondsLeft: 112, savedMessage: "Your draft is saved automatically." }));
|
|
33
|
+
axeOf('bs-session-timeout (signed out)', () => h("bs-session-timeout", { type: "signed-out", accountName: "Mette Jensen", accountEmail: "mette.jensen@nordlys.no" }));
|
|
34
|
+
axeOf('bs-session-timeout (confirm identity)', () => h("bs-session-timeout", { type: "confirm-identity" }));
|
|
35
|
+
axeOf('bs-cookie-consent (banner)', () => h("bs-cookie-consent", { policyUrl: "/cookies" }));
|
|
36
|
+
axeOf('bs-cookie-consent (preferences)', () => h("bs-cookie-consent", { type: "preferences" }));
|
|
37
|
+
axeOf('bs-cookie-consent (saved)', () => h("bs-cookie-consent", { type: "saved" }));
|
|
38
|
+
axeOf('bs-onboarding-checklist (panel)', () => h("bs-onboarding-checklist", { steps: [{ id: 'a', label: 'Add details', done: true }, { id: 'b', label: 'Connect bank', description: 'Import transactions.', actionLabel: 'Connect bank', estimate: 'About 3 min' }, { id: 'c', label: 'Send invoice' }], closable: true }));
|
|
39
|
+
axeOf('bs-onboarding-checklist (dashboard)', () => h("bs-onboarding-checklist", { type: "dashboard", steps: [{ id: 'a', label: 'Add details', done: true }, { id: 'b', label: 'Connect bank' }, { id: 'c', label: 'Send invoice' }] }));
|
|
40
|
+
axeOf('bs-onboarding-checklist (launcher)', () => h("bs-onboarding-checklist", { type: "launcher", steps: [{ id: 'a', label: 'One', done: true }, { id: 'b', label: 'Two' }] }));
|
|
41
|
+
axeOf('bs-onboarding-checklist (completion)', () => h("bs-onboarding-checklist", { type: "completion", steps: [{ id: 'a', label: 'One', done: true }] }));
|
|
42
|
+
axeOf('bs-whats-new-entry', () => h("bs-whats-new-entry", { tag: "New feature", date: "24.09.2026", unread: true, heading: "Smarter reminders", description: "Sent at the best time.", actionLabel: "Try it", divider: true }));
|
|
43
|
+
axeOf('bs-whats-new (feed)', () => h("bs-whats-new", { closable: true, releaseNotesUrl: "/notes", entries: [{ id: 'a', category: 'features', tag: 'New feature', date: '24.09.2026', unread: true, heading: 'Smarter reminders', description: 'Sent at the best time.', actionLabel: 'Try it' }, { id: 'b', category: 'fixes', tag: 'Fix', tagColor: 'success', date: '11.09.2026', heading: 'SAF-T export', description: 'Credit notes are back.' }] }));
|
|
44
|
+
axeOf('bs-whats-new (announcement)', () => h("bs-whats-new", { type: "announcement", tag: "New feature", heading: "Payment reminders that pick the best time", points: ['One', 'Two'], step: 1, total: 3, closable: true }));
|
|
45
|
+
axeOf('bs-whats-new (teaser)', () => h("bs-whats-new", { type: "teaser", tag: "New", date: "24.09.2026", heading: "Smarter payment reminders", description: "See what changed.", closable: true }));
|
|
24
46
|
axeOf('bs-button-skeleton', () => h("bs-button-skeleton", null));
|
|
25
47
|
axeOf('bs-tabs', () => (h("bs-tabs", null, h("bs-tab", { selected: true }, "One"), h("bs-tab", null, "Two"))));
|
|
26
48
|
axeOf('bs-menu', () => (h("bs-menu", null, h("bs-menu-item", null, "Edit"), h("bs-menu-item", null, "Delete"))));
|
|
@@ -25,7 +25,7 @@ import { h } from "@stencil/core";
|
|
|
25
25
|
export class BsAiDisclaimer {
|
|
26
26
|
render() {
|
|
27
27
|
https: //images.unsplash.com/photo-1512917774080-9991f1c4c750?w=200&h=200&fit=crop
|
|
28
|
-
return (h("div", { key: '
|
|
28
|
+
return (h("div", { key: '767bf87bcfe9d07ba03aae5809a483e207bad96d', class: "bs-ai-disclaimer" }, h("p", { key: '563f48f1c1dda418af44e27c237655bcfc0821d7', part: "text", class: "bs-ai-disclaimer__text" }, h("slot", { key: '255b7d63c1d719cf09b914d5d5df6af7516c18dd' }))));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "bs-ai-disclaimer"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -43,7 +43,7 @@ export class BsAiGreeting {
|
|
|
43
43
|
const subtext = this.productName
|
|
44
44
|
? `How can I help you with ${this.productName} today?`
|
|
45
45
|
: 'How can I help you today?';
|
|
46
|
-
return (h("div", { key: '
|
|
46
|
+
return (h("div", { key: '707816a52c925fa81beb3dc4f83d38d144a0bd6b', class: "bs-ai-greeting" }, h("div", { key: '5762d7e1a865fc5cb8b680bfd7547acee7a871ed', part: "heading", class: "bs-ai-greeting__heading" }, h("p", { key: '0301b8b35d6919c0e9f51def1dbac208309facf9', class: "bs-ai-greeting__heading-line" }, "Hi. I'm ", this.assistantName, ","), h("p", { key: '1ba457bc87cc9e38b4d191ff5b3d6079768a5d7c', class: "bs-ai-greeting__heading-line" }, "your AI assistant.")), h("p", { key: '056f8ad54e7c3b6115248206921f8b6ec5b1d7b0', part: "subtext", class: "bs-ai-greeting__subtext" }, subtext)));
|
|
47
47
|
}
|
|
48
48
|
static get is() { return "bs-ai-greeting"; }
|
|
49
49
|
static get encapsulation() { return "shadow"; }
|
|
@@ -29,7 +29,7 @@ export class BsAiThinking {
|
|
|
29
29
|
/** The status text shown next to the icon, e.g. "Retrieving", "Thinking", "Searching". */
|
|
30
30
|
label = 'Thinking';
|
|
31
31
|
render() {
|
|
32
|
-
return (h("div", { key: '
|
|
32
|
+
return (h("div", { key: 'e9d5f3302e6048a8c62462eb867ab48289e3b108', class: "bs-ai-thinking", role: "status", "aria-live": "polite" }, h("img", { key: '89abfffcbcf2a03d8dcb02e5cd44dde40285f43d', part: "icon", class: "bs-ai-thinking__icon", src: GENIE_MARK_ICON, alt: "", "aria-hidden": "true" }), h("span", { key: '5d50e900a14dc0849ccbc26543c9b13ad538ed7f', part: "label", class: "bs-ai-thinking__label" }, this.label)));
|
|
33
33
|
}
|
|
34
34
|
static get is() { return "bs-ai-thinking"; }
|
|
35
35
|
static get encapsulation() { return "shadow"; }
|
|
@@ -44,15 +44,16 @@ export const PdfLoading = {
|
|
|
44
44
|
name: 'PDF (loading)',
|
|
45
45
|
args: { type: 'pdf', loading: true },
|
|
46
46
|
};
|
|
47
|
-
export const
|
|
47
|
+
export const MultipleAttachments = {
|
|
48
|
+
name: 'Multiple attachments',
|
|
48
49
|
render: () => html `
|
|
49
|
-
<
|
|
50
|
+
<bs-attachment-list aria-label="Attachments" style="max-width: 360px">
|
|
50
51
|
<bs-attachment type="image" image-src=${SAMPLE_IMAGE}></bs-attachment>
|
|
51
52
|
<bs-attachment type="pdf" file-name="Dummy-pdf-in-here"></bs-attachment>
|
|
52
53
|
<bs-attachment type="document" file-name="Dummy-pdf-in-here"></bs-attachment>
|
|
53
54
|
<bs-attachment type="image" image-src=${SAMPLE_IMAGE} loading></bs-attachment>
|
|
54
55
|
<bs-attachment type="pdf" file-name="Dummy-pdf-in-here" loading></bs-attachment>
|
|
55
56
|
<bs-attachment type="document" file-name="Dummy-pdf-in-here" loading></bs-attachment>
|
|
56
|
-
</
|
|
57
|
+
</bs-attachment-list>
|
|
57
58
|
`,
|
|
58
59
|
};
|
|
@@ -58,7 +58,7 @@ export class BsAttachmentList {
|
|
|
58
58
|
this.canScrollRight = row.scrollWidth - row.clientWidth - row.scrollLeft > 1;
|
|
59
59
|
};
|
|
60
60
|
render() {
|
|
61
|
-
return (h("div", { key: '
|
|
61
|
+
return (h("div", { key: 'b17878e1d519c9e23af55615c96099d3c95978ef', class: "bs-attachment-list" }, h("div", { key: 'd31618f4b625a05ce2843857c1d7e24f8fcdc1f0', part: "row", class: "bs-attachment-list__row", ref: el => (this.row = el), onScroll: this.onScroll, role: "group", "aria-label": this.ariaLabel, tabIndex: 0 }, h("slot", { key: '3d53cf8c9ec46e39fbebfc9b95e848f330956e8f', onSlotchange: this.onSlotchange })), this.canScrollRight && h("div", { key: '76073ed15b11a0afd206c2843b9926e8c8df97de', part: "fade", class: "bs-attachment-list__fade", "aria-hidden": "true" })));
|
|
62
62
|
}
|
|
63
63
|
static get is() { return "bs-attachment-list"; }
|
|
64
64
|
static get encapsulation() { return "shadow"; }
|
|
@@ -28,7 +28,10 @@ import { Host, h } from "@stencil/core";
|
|
|
28
28
|
// comments in bs-breadcrumb.css, not here -- see bs-tab.tsx's identical note.
|
|
29
29
|
export class BsBreadcrumb {
|
|
30
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).
|
|
31
|
+
* never a link, even if `href` is set (see the class JSDoc). A non-current crumb **without** `href`
|
|
32
|
+
* renders as plain text that looks identical to a link crumb at rest (only link crumbs get the
|
|
33
|
+
* hover/focus styles), so give every non-current crumb an `href` unless it is deliberately not
|
|
34
|
+
* navigable. */
|
|
32
35
|
href;
|
|
33
36
|
/** Whether this crumb is the current page. Renders as plain (non-link) text marked
|
|
34
37
|
* `aria-current="page"`, reflected as an attribute so consumers/CSS can target
|
|
@@ -56,7 +59,7 @@ export class BsBreadcrumb {
|
|
|
56
59
|
ev.preventDefault();
|
|
57
60
|
};
|
|
58
61
|
render() {
|
|
59
|
-
return (h(Host, { key: '
|
|
62
|
+
return (h(Host, { key: 'a9ccd034d839eb8c2b3e3dfb7536737cd0189b75', role: "listitem" }, h("span", { key: '5b10b00b1b2ac1a5246f8d658edb2f2a1110df56', part: "separator", class: "bs-breadcrumb__separator", "aria-hidden": "true" }, h(CaretRightIcon, { key: 'c3d867d49f00e09a333116f9f87aeb6c9478379b' })), 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, onClick: this.onLinkClick }, h("slot", null))) : (h("span", { part: "link", class: "bs-breadcrumb__link" }, h("slot", null)))));
|
|
60
63
|
}
|
|
61
64
|
static get is() { return "bs-breadcrumb"; }
|
|
62
65
|
static get encapsulation() { return "shadow"; }
|
|
@@ -84,7 +87,7 @@ export class BsBreadcrumb {
|
|
|
84
87
|
"optional": true,
|
|
85
88
|
"docs": {
|
|
86
89
|
"tags": [],
|
|
87
|
-
"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)."
|
|
90
|
+
"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). A non-current crumb **without** `href`\nrenders as plain text that looks identical to a link crumb at rest (only link crumbs get the\nhover/focus styles), so give every non-current crumb an `href` unless it is deliberately not\nnavigable."
|
|
88
91
|
},
|
|
89
92
|
"getter": false,
|
|
90
93
|
"setter": false,
|
|
@@ -54,7 +54,7 @@ export class BsBreadcrumbs {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
render() {
|
|
57
|
-
return (h("nav", { key: '
|
|
57
|
+
return (h("nav", { key: 'd98b09d03dc33133c3ab4bf6694e38e274e0551d', "aria-label": this.label }, h("ol", { key: '4064e1ec205530fb4e9af24e4325914a41480403', part: "list", class: "bs-breadcrumbs__list" }, h("slot", { key: 'cb0849d8d47ae4054f34f1928eeb162b007d15a9', onSlotchange: this.onSlotChange }))));
|
|
58
58
|
}
|
|
59
59
|
static get is() { return "bs-breadcrumbs"; }
|
|
60
60
|
static get encapsulation() { return "shadow"; }
|
|
@@ -104,4 +104,32 @@ describe('bs-button', () => {
|
|
|
104
104
|
expect(button).not.toHaveClass('bs-button--has-end-icon');
|
|
105
105
|
});
|
|
106
106
|
});
|
|
107
|
+
describe('width and subtle colour custom properties', () => {
|
|
108
|
+
it('fits its content by default', async () => {
|
|
109
|
+
const { root } = await render(h("bs-button", null, "Click me"));
|
|
110
|
+
const button = root.shadowRoot.querySelector('button');
|
|
111
|
+
expect(button.getBoundingClientRect().width).toBe(root.getBoundingClientRect().width);
|
|
112
|
+
expect(root.getBoundingClientRect().width).toBeLessThan(200);
|
|
113
|
+
});
|
|
114
|
+
it('fills its container with --bs-button-width: 100%', async () => {
|
|
115
|
+
const { root } = await render(h("div", { style: { width: '320px' } }, h("bs-button", { style: { '--bs-button-width': '100%' } }, "Confirm")));
|
|
116
|
+
const button = root.querySelector('bs-button');
|
|
117
|
+
expect(button.getBoundingClientRect().width).toBe(320);
|
|
118
|
+
expect(button.shadowRoot.querySelector('button').getBoundingClientRect().width).toBe(320);
|
|
119
|
+
});
|
|
120
|
+
it('has 24px side padding at size sm, and takes --bs-button-padding-x-sm', async () => {
|
|
121
|
+
const a = await render(h("bs-button", { size: "sm" }, "Change"));
|
|
122
|
+
const wide = a.root.getBoundingClientRect().width;
|
|
123
|
+
const b = await render(h("bs-button", { size: "sm", style: { '--bs-button-padding-x-sm': '16px' } }, "Change"));
|
|
124
|
+
expect(wide - b.root.getBoundingClientRect().width).toBe(16);
|
|
125
|
+
});
|
|
126
|
+
it('colours the subtle variant through --bs-button-subtle-color', async () => {
|
|
127
|
+
const a = await render(h("bs-button", { variant: "subtle" }, "Cancel"));
|
|
128
|
+
const before = getComputedStyle(a.root.shadowRoot.querySelector('button')).color;
|
|
129
|
+
const b = await render(h("bs-button", { variant: "subtle", style: { '--bs-button-subtle-color': 'rgb(0, 98, 193)' } }, "Cancel"));
|
|
130
|
+
const after = getComputedStyle(b.root.shadowRoot.querySelector('button')).color;
|
|
131
|
+
expect(after).toBe('rgb(0, 98, 193)');
|
|
132
|
+
expect(before).not.toBe(after);
|
|
133
|
+
});
|
|
134
|
+
});
|
|
107
135
|
});
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: inline-block;
|
|
3
|
+
width: var(--bs-button-width);
|
|
4
|
+
--bs-button-width: auto;
|
|
5
|
+
--bs-button-subtle-color: var(--bs-color-neutral-default);
|
|
3
6
|
--bs-button-height-sm: var(--bs-spacing-500);
|
|
4
7
|
--bs-button-height-md: var(--bs-spacing-600);
|
|
5
8
|
--bs-button-height-lg: var(--bs-spacing-700);
|
|
6
9
|
--bs-button-radius: var(--bs-border-radius-100);
|
|
10
|
+
--bs-button-padding-x-sm: var(--bs-spacing-300);
|
|
7
11
|
--bs-button-padding-x-icon-side: var(--bs-spacing-150);
|
|
8
12
|
--bs-button-padding-x-label-side: var(--bs-spacing-250);
|
|
9
13
|
|
|
@@ -62,6 +66,8 @@
|
|
|
62
66
|
}
|
|
63
67
|
|
|
64
68
|
.bs-button {
|
|
69
|
+
/* Fills the host, whose width is --bs-button-width (auto = fit the content). */
|
|
70
|
+
width: 100%;
|
|
65
71
|
display: inline-flex;
|
|
66
72
|
align-items: center;
|
|
67
73
|
justify-content: center;
|
|
@@ -87,7 +93,7 @@
|
|
|
87
93
|
|
|
88
94
|
.bs-button--sm {
|
|
89
95
|
height: var(--bs-button-height-sm);
|
|
90
|
-
padding: 0 var(--bs-
|
|
96
|
+
padding: 0 var(--bs-button-padding-x-sm);
|
|
91
97
|
font-size: var(--bs-font-size-sm);
|
|
92
98
|
}
|
|
93
99
|
|
|
@@ -220,7 +226,7 @@
|
|
|
220
226
|
|
|
221
227
|
.bs-button--subtle {
|
|
222
228
|
background: transparent;
|
|
223
|
-
color: var(--bs-
|
|
229
|
+
color: var(--bs-button-subtle-color);
|
|
224
230
|
}
|
|
225
231
|
.bs-button--subtle:hover:not(:disabled) {
|
|
226
232
|
background: var(--bs-button-subtle-hover);
|
|
@@ -24,6 +24,9 @@ import { h } from "@stencil/core";
|
|
|
24
24
|
* @part label - The text label element.
|
|
25
25
|
* @part end-icon - The trailing icon wrapper element.
|
|
26
26
|
* @prop --bs-button-radius - Corner radius. Aliased to `--bs-border-radius-100` by default.
|
|
27
|
+
* @prop --bs-button-padding-x-sm - Left/right padding of a label-only button at `size="sm"`. Aliased to `--bs-spacing-300`.
|
|
28
|
+
* @prop --bs-button-width - Width of the button. `auto` by default (fits its content); set `100%` for a full-width button, e.g. `bs-button { --bs-button-width: 100%; }`.
|
|
29
|
+
* @prop --bs-button-subtle-color - Label/icon colour, `variant="subtle"`. Aliased to `--bs-color-neutral-default`; set it to `var(--bs-text-action)` for a blue text button.
|
|
27
30
|
* @prop --bs-button-height-sm - Height at `size="sm"`. Aliased to `--bs-spacing-500`.
|
|
28
31
|
* @prop --bs-button-height-md - Height at `size="md"`. Aliased to `--bs-spacing-600`.
|
|
29
32
|
* @prop --bs-button-height-lg - Height at `size="lg"`. Aliased to `--bs-spacing-700`.
|
|
@@ -116,7 +119,7 @@ export class BsButton {
|
|
|
116
119
|
};
|
|
117
120
|
render() {
|
|
118
121
|
const iconOnly = (this.hasIcon || this.hasEndIcon) && !this.hasLabel;
|
|
119
|
-
return (h("button", { key: '
|
|
122
|
+
return (h("button", { key: 'dd64d152077f283339cbf93b3b7424dd51519163', class: `bs-button bs-button--${this.variant} bs-button--${this.size} ${iconOnly ? 'bs-button--icon-only' : ''} ${this.hasIcon && !iconOnly ? 'bs-button--has-icon' : ''} ${this.hasEndIcon && !iconOnly ? 'bs-button--has-end-icon' : ''}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '918a3c1e157e9c84992fd1553c69cf2d7b87cba9', part: "icon", class: `bs-button__icon ${this.hasIcon ? 'bs-button__icon--visible' : ''}` }, h("slot", { key: 'a43da2dfb72cc155d113f4e044fec9890bcf8e90', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: '35c941287c14c79b9a9c23a0d4cfecd66c459f20', part: "label", class: "bs-button__label" }, h("slot", { key: '4e76d97c2f26e3f609e3e8336135529b49d1a370', onSlotchange: this.onLabelSlotchange })), h("span", { key: 'fb82a5a1785c6c96993daf3de2bdff5b9597a431', part: "end-icon", class: `bs-button__end-icon ${this.hasEndIcon ? 'bs-button__end-icon--visible' : ''}` }, h("slot", { key: '0d70abb45f41970bc2aa5dcd18ad3931b053190e', name: "end-icon", onSlotchange: this.onEndIconSlotchange }))));
|
|
120
123
|
}
|
|
121
124
|
static get is() { return "bs-button"; }
|
|
122
125
|
static get encapsulation() { return "shadow"; }
|
|
@@ -62,7 +62,7 @@ export class BsIconButton {
|
|
|
62
62
|
form.reset();
|
|
63
63
|
};
|
|
64
64
|
render() {
|
|
65
|
-
return (h("button", { key: '
|
|
65
|
+
return (h("button", { key: '3ac84a834ff924589ebf317bff14576905091bb7', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel, onClick: this.onClick }, h("span", { key: '2b913f9fdfa8bc0b5bbbd9ef55b2dc73718d260c', part: "icon", class: "bs-icon-button__icon" }, h("slot", { key: '6cbb10e814b9b179f9a3b99fae0e662ce351c607' }))));
|
|
66
66
|
}
|
|
67
67
|
static get is() { return "bs-icon-button"; }
|
|
68
68
|
static get encapsulation() { return "shadow"; }
|
|
@@ -25,7 +25,7 @@ export class BsButtonSkeleton {
|
|
|
25
25
|
/** Sizing scale, matching the `bs-button` size it stands in for. */
|
|
26
26
|
size = 'md';
|
|
27
27
|
render() {
|
|
28
|
-
return h("span", { key: '
|
|
28
|
+
return h("span", { key: '69fa3f8608b28769612132249a8ac0a23098bda6', part: "container", class: `bs-button-skeleton bs-button-skeleton--${this.size}`, role: "status", "aria-label": "Loading" });
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "bs-button-skeleton"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -58,4 +58,52 @@ describe('bs-card', () => {
|
|
|
58
58
|
expect(image).toHaveClass('bs-card__image--visible');
|
|
59
59
|
});
|
|
60
60
|
});
|
|
61
|
+
describe('customization', () => {
|
|
62
|
+
const style = (el) => getComputedStyle(el.shadowRoot.querySelector('.bs-card'));
|
|
63
|
+
it('keeps the Figma defaults: 8px radius, no border, raised shadow, 16px padding', async () => {
|
|
64
|
+
const { root } = await render(h("bs-card", null, "Body"));
|
|
65
|
+
const card = style(root);
|
|
66
|
+
expect(card.borderTopLeftRadius).toBe('8px');
|
|
67
|
+
expect(card.borderTopWidth).toBe('0px');
|
|
68
|
+
expect(card.boxShadow).not.toBe('none');
|
|
69
|
+
expect(getComputedStyle(root.shadowRoot.querySelector('.bs-card__content')).paddingTop).toBe('16px');
|
|
70
|
+
});
|
|
71
|
+
it('has no shadow on the base and container surfaces', async () => {
|
|
72
|
+
for (const surface of ['base', 'container']) {
|
|
73
|
+
const { root } = await render(h("bs-card", { surface: surface }, "Body"));
|
|
74
|
+
expect(style(root).boxShadow).toBe('none');
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
it('can be restyled through its custom properties', async () => {
|
|
78
|
+
const { root } = await render(h("bs-card", { style: {
|
|
79
|
+
'--bs-card-radius': '12px',
|
|
80
|
+
'--bs-card-padding': '24px 0',
|
|
81
|
+
'--bs-card-border-width': '1px',
|
|
82
|
+
'--bs-card-shadow': 'none',
|
|
83
|
+
'--bs-card-overflow': 'visible',
|
|
84
|
+
} }, "Body"));
|
|
85
|
+
const card = style(root);
|
|
86
|
+
expect(card.borderTopLeftRadius).toBe('12px');
|
|
87
|
+
expect(card.borderTopWidth).toBe('1px');
|
|
88
|
+
expect(card.boxShadow).toBe('none');
|
|
89
|
+
expect(card.overflow).toBe('visible');
|
|
90
|
+
const content = getComputedStyle(root.shadowRoot.querySelector('.bs-card__content'));
|
|
91
|
+
expect(content.paddingTop).toBe('24px');
|
|
92
|
+
expect(content.paddingLeft).toBe('0px');
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
describe('height', () => {
|
|
96
|
+
it('sizes to its content by default', async () => {
|
|
97
|
+
const { root } = await render(h("bs-card", null, "Body"));
|
|
98
|
+
const surface = root.shadowRoot.querySelector('.bs-card');
|
|
99
|
+
expect(surface.getBoundingClientRect().height).toBe(root.getBoundingClientRect().height);
|
|
100
|
+
expect(root.getBoundingClientRect().height).toBeLessThan(120);
|
|
101
|
+
});
|
|
102
|
+
it('fills a height set on the host, so the surface (not just the box) is that tall', async () => {
|
|
103
|
+
const { root } = await render(h("bs-card", { style: { height: '200px' } }, "Body"));
|
|
104
|
+
const surface = root.shadowRoot.querySelector('.bs-card');
|
|
105
|
+
expect(root.getBoundingClientRect().height).toBe(200);
|
|
106
|
+
expect(surface.getBoundingClientRect().height).toBe(200);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
61
109
|
});
|
|
@@ -1,5 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prop --bs-card-bg: Background. Set per `surface`: --bs-paper-bg-raised / -base / -container.
|
|
3
|
+
* @prop --bs-card-radius: Corner radius. Aliased to --bs-border-radius-100 (8px).
|
|
4
|
+
* @prop --bs-card-padding: Padding around the header/body/footer content (the `image` slot stays flush). Aliased to --bs-spacing-200. Accepts a shorthand, e.g. `var(--bs-spacing-200) 0`.
|
|
5
|
+
* @prop --bs-card-border-width: Border width. 0 -- the Figma "Card" has no border. Set it with --bs-card-border-color for a bordered card.
|
|
6
|
+
* @prop --bs-card-border-color: Border colour. Aliased to --bs-border-default.
|
|
7
|
+
* @prop --bs-card-shadow: Box shadow. Set per `surface`: --bs-shadow-sm for `raised`, none for `base` and `container`.
|
|
8
|
+
* @prop --bs-card-overflow: Overflow of the surface. `hidden` so the image slot's top corners are clipped to the radius; set `visible` when the content has to overflow (a popup menu, an arrow).
|
|
9
|
+
*/
|
|
1
10
|
:host {
|
|
2
11
|
display: block;
|
|
12
|
+
|
|
13
|
+
--bs-card-bg: var(--bs-paper-bg-raised);
|
|
14
|
+
--bs-card-radius: var(--bs-border-radius-100);
|
|
15
|
+
--bs-card-padding: var(--bs-spacing-200);
|
|
16
|
+
--bs-card-border-width: 0px;
|
|
17
|
+
--bs-card-border-color: var(--bs-border-default);
|
|
18
|
+
--bs-card-shadow: var(--bs-shadow-sm);
|
|
19
|
+
--bs-card-overflow: hidden;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host([surface='base']) {
|
|
23
|
+
--bs-card-bg: var(--bs-paper-bg-base);
|
|
24
|
+
--bs-card-shadow: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:host([surface='container']) {
|
|
28
|
+
--bs-card-bg: var(--bs-paper-bg-container);
|
|
29
|
+
--bs-card-shadow: none;
|
|
3
30
|
}
|
|
4
31
|
|
|
5
32
|
/* No border -- verified against the Figma "Card" node, which relies on background/shadow contrast
|
|
@@ -8,8 +35,15 @@
|
|
|
8
35
|
the -150 value previously here was the Figma *demo frame's* radius around the example, not the
|
|
9
36
|
card's own "Paper" node radius. */
|
|
10
37
|
.bs-card {
|
|
11
|
-
|
|
12
|
-
|
|
38
|
+
box-sizing: border-box;
|
|
39
|
+
/* Fills the host when the host has an explicit height (a fixed-height card), and is a no-op when the host's
|
|
40
|
+
height is auto -- so cards still size to their content by default. */
|
|
41
|
+
height: 100%;
|
|
42
|
+
overflow: var(--bs-card-overflow);
|
|
43
|
+
border: var(--bs-card-border-width) solid var(--bs-card-border-color);
|
|
44
|
+
border-radius: var(--bs-card-radius);
|
|
45
|
+
background: var(--bs-card-bg);
|
|
46
|
+
box-shadow: var(--bs-card-shadow);
|
|
13
47
|
font-family: inherit;
|
|
14
48
|
/* No color rule existed anywhere in this file before this -- slotted header/body/footer content
|
|
15
49
|
inherited whatever color the *consuming page* happened to have, not this card's own themed
|
|
@@ -19,19 +53,6 @@
|
|
|
19
53
|
color: var(--bs-text-default);
|
|
20
54
|
}
|
|
21
55
|
|
|
22
|
-
.bs-card--base {
|
|
23
|
-
background: var(--bs-paper-bg-base);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.bs-card--raised {
|
|
27
|
-
background: var(--bs-paper-bg-raised);
|
|
28
|
-
box-shadow: var(--bs-shadow-sm);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.bs-card--container {
|
|
32
|
-
background: var(--bs-paper-bg-container);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
56
|
/* Empty by default (no padding/margin) -- only visible when the image slot has content, same
|
|
36
57
|
"reserve no space when empty" pattern as bs-dialog's own image slot. */
|
|
37
58
|
.bs-card__image--visible ::slotted(img) {
|
|
@@ -45,7 +66,7 @@
|
|
|
45
66
|
can sit flush against the card's edges instead of being inset by it. spacing-200 (16px), not
|
|
46
67
|
-400 (32px) -- the -400 value previously here didn't match the Figma redline at all. */
|
|
47
68
|
.bs-card__content {
|
|
48
|
-
padding: var(--bs-
|
|
69
|
+
padding: var(--bs-card-padding);
|
|
49
70
|
}
|
|
50
71
|
|
|
51
72
|
/* spacing-100 (8px), not -300 (24px) -- same over-sized-token mistake as the padding above. */
|
|
@@ -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: '288db1e39f66129bf5d6598f53fb49d5481d0f02', part: "container", class: `bs-card bs-card--${this.surface}` }, h("div", { key: '9f25abc5cdfdf40d7bdefab7f1154545cc634f9d', part: "image", class: `bs-card__image ${this.hasImage ? 'bs-card__image--visible' : ''}` }, h("slot", { key: '8eff4a23e8ecf977056206bc8c223b4ad97b7656', name: "image", onSlotchange: this.onImageSlotchange })), h("div", { key: 'b0a1580657943f30c9a5dba3361dcf00dd36e90f', class: "bs-card__content" }, h("div", { key: 'f151de3b9d5975d2953131aea92a2353ac665bbc', part: "header", class: "bs-card__header" }, h("slot", { key: '6d015146a6ff72788ad3843caa37f2c304728b8b', name: "header" })), h("div", { key: 'd678f0d33dba58725b397502d9aced9983466bf6', part: "body", class: "bs-card__body" }, h("slot", { key: '51b7cdca4af0e43ba7de04c14bca32f59baa2f58' })), h("div", { key: '6b6fe027565678561d7f7beb79f6ceb05397ff50', part: "footer", class: "bs-card__footer" }, h("slot", { key: '6d704d0e7b6644e3f0e6b4ce7ae12e515c84339d', name: "footer" })))));
|
|
38
38
|
}
|
|
39
39
|
static get is() { return "bs-card"; }
|
|
40
40
|
static get encapsulation() { return "shadow"; }
|
|
@@ -72,7 +72,7 @@ export class BsCard {
|
|
|
72
72
|
},
|
|
73
73
|
"getter": false,
|
|
74
74
|
"setter": false,
|
|
75
|
-
"reflect":
|
|
75
|
+
"reflect": true,
|
|
76
76
|
"attribute": "surface",
|
|
77
77
|
"defaultValue": "'raised'"
|
|
78
78
|
}
|
|
@@ -123,7 +123,7 @@ export class BsChatbotFeedback {
|
|
|
123
123
|
}
|
|
124
124
|
render() {
|
|
125
125
|
const stars = [1, 2, 3, 4, 5];
|
|
126
|
-
return (h("div", { key: '
|
|
126
|
+
return (h("div", { key: '1cf3a5182bae5ef9ca6032e719ded84b89e38c92', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: '5bda6ae88a7d61097f6903a9d65450c7189deed3', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": "Close", onClick: this.onCloseClick }, h(CloseIcon, { key: 'e108a344b08ea32fc9483fe38afe414ba4934b18' })), h("div", { key: '59290f663a13db00de6e009d50f54f593667ecdb', class: "bs-chatbot-feedback__top" }, h("div", { key: '9f4f809e1b0a785e1b511225b9cba960a4089a5b', class: "bs-chatbot-feedback__text" }, h("p", { key: '7eb6e3ff94b3b40402eb00a019094186bec1a954', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: 'e3d44543b43f3f0cf16a78951d08184697cd31c3', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: '802bd512162d1135b6ca3a358230cfa3946d9b47', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": "Rating" }, 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} star${value > 1 ? 's' : ''}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h(StarIcon, { filled: this.rating >= value }))))), !this.submitted && (h("div", { key: '0efa9387c6c4ff4256f2b3fcb0ed057425c56a47', class: "bs-chatbot-feedback__field" }, h("label", { key: '56ba4baaaf912b4434b6be27af865296ebad2bf5', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, "Tell us what you think"), h("textarea", { key: 'c0964f935e259744a770870671ccbe1c6748f2d6', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: "e.g.The response was helpful ....", value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: '226aefe64cdc4d05986a5d078a391dcc03630acf', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: '174a94b61e9395792f99d73ab0533a4e7e7d6bab', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: 'b1539a93054f3037926e190432c8821e14cb7fee', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h(SendIcon, { key: 'd885521025886f58311c5713430414a82eb9b063' }), "Submit feedback")), h("button", { key: '623b133d827c7549d6f052e7668d3303f93f80c3', 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: '5069e1d0219f4b25212631425ddb85473bff0c4a' }), "Start new chat"))));
|
|
127
127
|
}
|
|
128
128
|
static get is() { return "bs-chatbot-feedback"; }
|
|
129
129
|
static get encapsulation() { return "shadow"; }
|
|
@@ -52,14 +52,14 @@ describe('bs-chatbot-header', () => {
|
|
|
52
52
|
const header = root;
|
|
53
53
|
expect(header.expanded).toBe(false);
|
|
54
54
|
const expandButton = root.shadowRoot.querySelector('[part="expand"]');
|
|
55
|
-
expect(expandButton).toEqualAttribute('aria-label', '
|
|
55
|
+
expect(expandButton).toEqualAttribute('aria-label', 'Fullscreen');
|
|
56
56
|
expect(expandButton).toEqualAttribute('aria-pressed', 'false');
|
|
57
57
|
expandButton.click();
|
|
58
58
|
await waitForChanges();
|
|
59
59
|
expect(header.expanded).toBe(true);
|
|
60
60
|
expect(expandSpy).toHaveReceivedEventTimes(1);
|
|
61
61
|
expect(expandSpy).toHaveReceivedEventDetail(true);
|
|
62
|
-
expect(expandButton).toEqualAttribute('aria-label', '
|
|
62
|
+
expect(expandButton).toEqualAttribute('aria-label', 'Exit fullscreen');
|
|
63
63
|
expect(expandButton).toEqualAttribute('aria-pressed', 'true');
|
|
64
64
|
expect(newChatSpy.length).toBe(0);
|
|
65
65
|
expect(historySpy.length).toBe(0);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
--bs-chatbot-header-border: var(--bs-border-default);
|
|
5
5
|
--bs-chatbot-header-padding-top: var(--bs-spacing-200);
|
|
6
6
|
--bs-chatbot-header-padding-bottom: var(--bs-spacing-100);
|
|
7
|
-
--bs-chatbot-header-padding-x: var(--bs-
|
|
7
|
+
--bs-chatbot-header-padding-x: var(--bs-spacing-200);
|
|
8
8
|
--bs-chatbot-header-gap: var(--bs-navigation-header-gap);
|
|
9
9
|
--bs-chatbot-header-actions-gap: var(--bs-spacing-100);
|
|
10
10
|
--bs-chatbot-header-button-size: var(--bs-spacing-600);
|
|
@@ -74,7 +74,7 @@ export class BsChatbotHeader {
|
|
|
74
74
|
this.bsClose.emit();
|
|
75
75
|
};
|
|
76
76
|
render() {
|
|
77
|
-
return (h("div", { key: '
|
|
77
|
+
return (h("div", { key: 'c77fcfa340df9342111e77588804f51c66788e90', class: "bs-chatbot-header", role: "banner", "aria-label": this.heading }, h("div", { key: 'c17b3297adacb61edbfbdc77832d1c0e5e1c1f02', part: "logo", class: "bs-chatbot-header__logo", role: "img", "aria-label": this.heading, innerHTML: GENIE_LOGO_SVG }), h("div", { key: '9c07b22fa0a41a21fd95966d25c619a6e1b3dfa8', class: "bs-chatbot-header__actions" }, h("span", { key: '5f640f6c5df74ae59cb302aa4d66456fbd71c3b0', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'd50d84593711b1b045cc2ff66d1efc2d71c73755', type: "button", part: "new-chat", class: "bs-chatbot-header__button", "aria-label": "New chat", onClick: this.onNewChatClick }, h("slot", { key: '29dc1d8da07329d304e94d4baac0ab1104ea5815', name: "new-chat-icon" }, h(NewChatIcon, { key: '9e584349507e736f7f5c24f8fb2253ad29bbf09b' }))), h("bs-tooltip", { key: 'd99a994539368edc0aa053e474ab9aff155050ed', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "New chat")), h("span", { key: '85f4e439d95a56da740a37c41a39b3a9b7ac2f13', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'a2d0d468c03d6a83cbdfb69ca0edc30168c3f8a8', type: "button", part: "history", class: "bs-chatbot-header__button", "aria-label": "History", onClick: this.onHistoryClick }, h("slot", { key: 'd6f6bd60b8931229602aaebee485cb5a1fbb8ca8', name: "history-icon" }, h(HistoryIcon, { key: 'f2de17ccd1e23077e57bd4a092d2432f854b5161' }))), h("bs-tooltip", { key: '6cce933959793a959cf288df3323ed5d8f80dba8', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "History")), h("span", { key: '019a198d91c9c93266efd1a3df823d13ea2455d4', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '26cb1a7436d213b1ce003f33abe419d8fab0deb9', type: "button", part: "expand", class: "bs-chatbot-header__button", "aria-label": this.expanded ? 'Exit fullscreen' : 'Fullscreen', "aria-pressed": this.expanded ? 'true' : 'false', onClick: this.onExpandClick }, h("slot", { key: 'e36dca1a33834d5f6a4f3a9434535b280de26e52', name: "expand-icon" }, h(ExpandIcon, { key: 'e045048d9044b29b2de00b529e5aa2d634c41520' }))), h("bs-tooltip", { key: '9e7911c8544776e6939b7e704a2206d95ff69126', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.expanded ? 'Exit fullscreen' : 'Fullscreen')), h("span", { key: '6d23ab86e5b21dbb44d7f21443d19f1a6b2b2727', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'a9d5765cf1db4f1278f922acbb54a41ad7477a10', type: "button", part: "close", class: "bs-chatbot-header__button", "aria-label": "Close", onClick: this.onCloseClick }, h("slot", { key: '3570a4fadc9e52bc4b9db393f9351ae2dcb4c877', name: "close-icon" }, h(CloseIcon, { key: 'ca1ee8c7733e74db4b464e7e1af4addec847c950' }))), h("bs-tooltip", { key: '6fbdd96e577b485f7268501c2cfd3805dc3acefc', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "Close")))));
|
|
78
78
|
}
|
|
79
79
|
static get is() { return "bs-chatbot-header"; }
|
|
80
80
|
static get encapsulation() { return "shadow"; }
|
|
@@ -105,7 +105,7 @@ export class BsChatbotResponseAction {
|
|
|
105
105
|
};
|
|
106
106
|
render() {
|
|
107
107
|
const hasSources = !!this.sourcesCount && this.sourcesCount > 0;
|
|
108
|
-
return (h("div", { key: '
|
|
108
|
+
return (h("div", { key: '227d45ac6fa99d0c5315d765327c02ba0f0ec103', class: "bs-chatbot-response-action" }, h("button", { key: '19db04d45fbe745bd4e80264c9f8e612ed03d411', type: "button", part: "like", class: "bs-chatbot-response-action__button", "aria-label": "Like", onClick: this.onLikeClick }, h("slot", { key: '034deacf77f82cb9b521db16be095b78522ee895', name: "like-icon" }, h(ThumbsUpIcon, { key: 'cd4d70ed2ee5d4be7916ba7f11b725f63bc29204' }))), h("button", { key: '380f16ac09380b76b7a931a7397bca0c8506207f', type: "button", part: "dislike", class: "bs-chatbot-response-action__button", "aria-label": "Dislike", onClick: this.onDislikeClick }, h("slot", { key: '7f1ecd578a69c138a8b44c360d371e33bd74e4a2', name: "dislike-icon" }, h(ThumbsDownIcon, { key: 'b196af3aee600a21b5d1bf53244888c690ba0451' }))), h("button", { key: '82739cc554821af33042f4620bcd6bbcbd96e517', type: "button", part: "copy", class: "bs-chatbot-response-action__button", "aria-label": "Copy", onClick: this.onCopyClick }, h("slot", { key: 'd4b9981fb67e317a6cee54b4ef17a68fe12d7115', name: "copy-icon" }, h(CopyIcon, { key: '7ca4e99ae3f3e418a0882fcbb663dd819e4582cf' }))), h("button", { key: '0b32cb3292ebd4e75ce8a3eb418f5d5a2ab191dc', type: "button", part: "regenerate", class: "bs-chatbot-response-action__button", "aria-label": "Regenerate", onClick: this.onRegenerateClick }, h("slot", { key: 'ede5d996bd1e6e5fe260df4734a5749b957c6455', name: "regenerate-icon" }, h(RegenerateIcon, { key: '12ff8d4527153fa65ba5e7de866758e9fe21dece' }))), h("div", { key: '03f207b3d016b114ef2d4337e9ed1468da63e3f7', class: "bs-chatbot-response-action__menu-wrapper" }, h("button", { key: '2e4745ace0e6d220998b17265902d2663b63e369', type: "button", part: "menu", class: "bs-chatbot-response-action__button", "aria-label": "More options", "aria-haspopup": "menu", "aria-expanded": this.menuOpen ? 'true' : 'false', onClick: this.onMenuClick }, h("slot", { key: 'fb4d12abae8d01bfc8ff0f4eb3f3888eb2c5a78e', name: "menu-icon" }, h(MenuIcon, { key: '5cd60593c9bb37fdb0ecb09d95cc1d39056cf826' }))), this.menuOpen && (h("div", { key: '33bb00b251c3aef1af17854690c30b8b27e01da1', class: "bs-chatbot-response-action__menu-popup" }, h("slot", { key: 'cd848943f1c881c95a14c54f8ef01e4b0182c629', name: "menu" })))), hasSources && (h("button", { key: 'b6493094208f1716aebacb63ca6b2c0139ce34ff', type: "button", part: "sources", class: "bs-chatbot-response-action__sources", onClick: this.onSourcesClick }, h("slot", { key: 'dbec7bbc889f52b76b914fa5a7c19cd378829345', name: "sources-icon" }, h(SourcesIcon, { key: '0af7d81f2f9328f380a1ecf17f0e453243e0ae8f' })), h("span", { key: 'f5247563134eb5a3932110c1191edf51ef8c2f69', class: "bs-chatbot-response-action__sources-label" }, this.sourcesCount, " ", this.sourcesCount === 1 ? 'source' : 'sources')))));
|
|
109
109
|
}
|
|
110
110
|
static get is() { return "bs-chatbot-response-action"; }
|
|
111
111
|
static get encapsulation() { return "shadow"; }
|
|
@@ -57,7 +57,7 @@ export class BsChatbotSourcesDrawer {
|
|
|
57
57
|
};
|
|
58
58
|
render() {
|
|
59
59
|
const displayCount = this.count ?? this.slottedCount;
|
|
60
|
-
return (h("div", { key: '
|
|
60
|
+
return (h("div", { key: '8d3a64121acfc35e2be62baf23ff3630a9193617', class: "bs-chatbot-sources-drawer", role: "region", "aria-label": this.heading }, h("div", { key: '384e3cb1c4bca85727d6f21260490b5119f29db5', class: "bs-chatbot-sources-drawer__header" }, h("div", { key: 'bd83473b5787fd2ca7a143c600de6fe74625ee80', class: "bs-chatbot-sources-drawer__title-group" }, h("h2", { key: '0c9285fa51de5f73f89c7d67786c5f4b5bde55ed', part: "heading", class: "bs-chatbot-sources-drawer__heading" }, this.heading), displayCount > 0 && (h("span", { key: 'a3725d4b2798e07972335ee7a8024cd2f8e73f99', part: "count", class: "bs-chatbot-sources-drawer__count" }, displayCount))), h("button", { key: 'afb5efa705e54a464e3237475a90987d7da5f506', type: "button", part: "collapse", class: "bs-chatbot-sources-drawer__collapse", "aria-label": "Collapse sources", onClick: this.onCollapseClick }, h("slot", { key: '8b886a8b6c2f60a4ca07978a8367f3366455bedc', name: "collapse-icon" }, h(CaretRightIcon, { key: 'bea232b218eca7f11c43a5c8884f78b0d5569cda' })))), h("div", { key: 'a417a26fb970a77002a56b7bd91645d18793ae69', part: "list", class: "bs-chatbot-sources-drawer__list" }, h("slot", { key: '018bf6454c7020b3d14122c1b9b86ae11072f1a7', onSlotchange: this.onSlotchange }))));
|
|
61
61
|
}
|
|
62
62
|
static get is() { return "bs-chatbot-sources-drawer"; }
|
|
63
63
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js
CHANGED
|
@@ -45,7 +45,7 @@ export class BsChatbotSuggestionButton {
|
|
|
45
45
|
this.bsSelect.emit();
|
|
46
46
|
};
|
|
47
47
|
render() {
|
|
48
|
-
return (h("button", { key: '
|
|
48
|
+
return (h("button", { key: '159fda3cff7fa1295b9b9800d083706f282bbd0d', type: "button", part: "button", class: "bs-chatbot-suggestion-button", disabled: this.disabled, onClick: this.onClick }, h("slot", { key: 'a26be73a49a140f2e3017ff91a0727f83e00b67c' })));
|
|
49
49
|
}
|
|
50
50
|
static get is() { return "bs-chatbot-suggestion-button"; }
|
|
51
51
|
static get encapsulation() { return "shadow"; }
|
|
@@ -33,7 +33,7 @@ export class BsCheckboxSkeleton {
|
|
|
33
33
|
* (unusual) default `bs-checkbox` itself uses. */
|
|
34
34
|
size = 'lg';
|
|
35
35
|
render() {
|
|
36
|
-
return (h("span", { key: '
|
|
36
|
+
return (h("span", { key: '26d1c09678d3385cda9494440b116c190c0431cd', part: "container", class: "bs-checkbox-skeleton", role: "status", "aria-label": "Loading" }, h("span", { key: '62e597f01d199aadbbd2e725753ab82377c9b685', part: "box", class: `bs-checkbox-skeleton__box bs-checkbox-skeleton__box--${this.size}` }), h("span", { key: 'a36053e0d189edaae49fcf9340f28f70ed50a28b', part: "label", class: "bs-checkbox-skeleton__label" })));
|
|
37
37
|
}
|
|
38
38
|
static get is() { return "bs-checkbox-skeleton"; }
|
|
39
39
|
static get encapsulation() { return "shadow"; }
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
display: block;
|
|
3
3
|
--bs-composer-radius: var(--bs-border-radius-150);
|
|
4
4
|
--bs-composer-button-radius: var(--bs-border-radius-100);
|
|
5
|
-
--bs-composer-button-size: var(--bs-spacing-
|
|
5
|
+
--bs-composer-button-size: var(--bs-spacing-550);
|
|
6
6
|
--bs-composer-bg: var(--bs-input-bg-default);
|
|
7
7
|
--bs-composer-border: var(--bs-input-border-default);
|
|
8
8
|
--bs-composer-border-focus: var(--bs-input-border-focus);
|
|
9
|
+
--bs-composer-border-human: var(--bs-border-neutral-hover);
|
|
9
10
|
|
|
10
11
|
--bs-composer-action-bg: var(--bs-color-primary-default);
|
|
11
12
|
--bs-composer-action-bg-hover: var(--bs-color-primary-hover);
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
|
|
39
40
|
.bs-composer--human {
|
|
40
41
|
border-style: dashed;
|
|
42
|
+
border-color: var(--bs-composer-border-human);
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
.bs-composer:focus-within {
|
|
@@ -118,7 +120,7 @@
|
|
|
118
120
|
.bs-composer__controls-row {
|
|
119
121
|
display: flex;
|
|
120
122
|
align-items: center;
|
|
121
|
-
gap: var(--bs-spacing-
|
|
123
|
+
gap: var(--bs-spacing-100);
|
|
122
124
|
padding: var(--bs-spacing-150);
|
|
123
125
|
}
|
|
124
126
|
|