@brandsync/wc 1.20.1 → 1.22.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 +26 -0
- package/REFERENCE.md +2 -1
- package/custom-elements.json +157 -6
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-dd3499ab.entry.js → p-018ab194.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d6600c7c.entry.js → p-020a274b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2a96ce61.entry.js → p-0276bca4.entry.js} +1 -1
- package/dist/brandsync-wc/p-03acdd56.entry.js +1 -0
- package/dist/brandsync-wc/{p-32d83763.entry.js → p-06a5fe99.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1a549f9a.entry.js → p-0a0798c4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ecb1a27d.entry.js → p-0b92d0d7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-319b7baa.entry.js → p-0be65af0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-0ebb60a8.entry.js → p-0ce29fc2.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6ae75ed0.entry.js → p-1436ae47.entry.js} +1 -1
- package/dist/brandsync-wc/{p-66f1ca2e.entry.js → p-181a8372.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f71d7582.entry.js → p-1bd3756c.entry.js} +1 -1
- package/dist/brandsync-wc/p-1bf91b43.entry.js +1 -0
- package/dist/brandsync-wc/p-1c2402eb.entry.js +1 -0
- package/dist/brandsync-wc/{p-ff85a9d8.entry.js → p-214b32bb.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4810bcc8.entry.js → p-21a592a4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a3c7b4e7.entry.js → p-23e3bffe.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e8027825.entry.js → p-284e4e1e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-78e4dd14.entry.js → p-2c167f83.entry.js} +1 -1
- package/dist/brandsync-wc/p-2e2dc322.entry.js +1 -0
- package/dist/brandsync-wc/{p-f22d2db8.entry.js → p-37da7465.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2621b1b2.entry.js → p-38f4552f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-23367a4d.entry.js → p-39afd9b8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-28a34097.entry.js → p-3a13747b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-fc7df528.entry.js → p-3b3a9587.entry.js} +1 -1
- package/dist/brandsync-wc/{p-50a154b8.entry.js → p-3de7989e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d555984e.entry.js → p-43a792a3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-bfdd135b.entry.js → p-4907f66e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-9e93b482.entry.js → p-4a8c2eca.entry.js} +1 -1
- package/dist/brandsync-wc/{p-89dbb3c8.entry.js → p-4ff5bc4b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a6cbb6c6.entry.js → p-51e9d375.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2f58b161.entry.js → p-5399e163.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e2268c96.entry.js → p-55db935b.entry.js} +1 -1
- package/dist/brandsync-wc/p-5f26d601.entry.js +1 -0
- package/dist/brandsync-wc/{p-409cf56b.entry.js → p-60e4e07a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-08d08dc9.entry.js → p-645e1a78.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6adc9c4f.entry.js → p-682b9f3e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-08a5e178.entry.js → p-697de2b2.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e18cb639.entry.js → p-6aa3dcef.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d8a299a9.entry.js → p-6b11aebb.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a1d34ff3.entry.js → p-6d18ba79.entry.js} +1 -1
- package/dist/brandsync-wc/p-6fcfd7d7.entry.js +1 -0
- package/dist/brandsync-wc/{p-69489f45.entry.js → p-71ea6c1c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b0f4cbca.entry.js → p-74dd9146.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8c83cc99.entry.js → p-75ec385a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ca8a1e51.entry.js → p-78fdcd05.entry.js} +1 -1
- package/dist/brandsync-wc/{p-eb4ad606.entry.js → p-7a291cfc.entry.js} +1 -1
- package/dist/brandsync-wc/{p-baca1abf.entry.js → p-7f3c8416.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8d674f11.entry.js → p-7f50ae81.entry.js} +1 -1
- package/dist/brandsync-wc/{p-53b1c545.entry.js → p-82533674.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d263deec.entry.js → p-83977d40.entry.js} +1 -1
- package/dist/brandsync-wc/{p-806bb471.entry.js → p-851c1498.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3f6be3f7.entry.js → p-87b91d38.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b7545d9b.entry.js → p-8a85e144.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c0e5db3d.entry.js → p-9301f01e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c39e6be9.entry.js → p-978c46d9.entry.js} +1 -1
- package/dist/brandsync-wc/{p-fa894893.entry.js → p-9988ebab.entry.js} +1 -1
- package/dist/brandsync-wc/p-9a45899c.entry.js +1 -0
- package/dist/brandsync-wc/{p-debc308d.entry.js → p-9bd0c4a7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4d6f2fec.entry.js → p-9c1ea6f0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-aa99b1f8.entry.js → p-9c353a03.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1daf48b1.entry.js → p-9d90d3b8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-5b48a6c7.entry.js → p-a59b4c08.entry.js} +1 -1
- package/dist/brandsync-wc/{p-39c50762.entry.js → p-ad53d283.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4f19e8d8.entry.js → p-ad9c3eea.entry.js} +1 -1
- package/dist/brandsync-wc/{p-040d4755.entry.js → p-aeb99b7d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-70924681.entry.js → p-b145997c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-90442341.entry.js → p-b6350eab.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f229f59a.entry.js → p-b90c8b7d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a86560e6.entry.js → p-b93ce581.entry.js} +1 -1
- package/dist/brandsync-wc/p-ba933f3b.entry.js +1 -0
- package/dist/brandsync-wc/{p-6db03e96.entry.js → p-bb1b2350.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d67840f5.entry.js → p-bcb09ba4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-50ac6889.entry.js → p-bde099fb.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e18e45bc.entry.js → p-bef6e54b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-520b277a.entry.js → p-bf8da1b5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2210c680.entry.js → p-c36f68a2.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1ce4395a.entry.js → p-c4026551.entry.js} +1 -1
- package/dist/brandsync-wc/{p-14719554.entry.js → p-c7c3c4ae.entry.js} +1 -1
- package/dist/brandsync-wc/{p-eb1b1497.entry.js → p-ca71e180.entry.js} +1 -1
- package/dist/brandsync-wc/p-cc664465.entry.js +1 -0
- package/dist/brandsync-wc/{p-8a4d64fd.entry.js → p-ce3a762e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-452f6c13.entry.js → p-d38394ce.entry.js} +1 -1
- package/dist/brandsync-wc/{p-fbd204b6.entry.js → p-d4caa814.entry.js} +1 -1
- package/dist/brandsync-wc/{p-47fc5f29.entry.js → p-d8dd2230.entry.js} +1 -1
- package/dist/brandsync-wc/{p-13d98ec3.entry.js → p-da091255.entry.js} +1 -1
- package/dist/brandsync-wc/{p-fe6f71da.entry.js → p-dd7bb223.entry.js} +1 -1
- package/dist/brandsync-wc/{p-548b96f7.entry.js → p-e0d47019.entry.js} +1 -1
- package/dist/brandsync-wc/{p-587be2c6.entry.js → p-e8fe79bc.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b6dc9234.entry.js → p-e90e4991.entry.js} +1 -1
- package/dist/brandsync-wc/{p-338b5e39.entry.js → p-ee4f3b3d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-32004fb3.entry.js → p-f43615f7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b1663378.entry.js → p-fca95aae.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-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 +4 -4
- package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
- package/dist/cjs/bs-attachment-list.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 +1 -1
- 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 +1 -1
- package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-checkbox-group.cjs.entry.js +8 -3
- package/dist/cjs/bs-checkbox-skeleton.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 +31 -2
- package/dist/cjs/bs-chip-input.cjs.entry.js +1 -1
- 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 +4 -4
- package/dist/cjs/bs-company-switcher.cjs.entry.js +2 -2
- 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 +4 -2
- package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/bs-description-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-description-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-divider.cjs.entry.js +1 -1
- package/dist/cjs/bs-dropdown.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-heading.cjs.entry.js +1 -1
- package/dist/cjs/bs-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-icon-tile.cjs.entry.js +2 -2
- package/dist/cjs/bs-icon.cjs.entry.js +1 -1
- package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
- package/dist/cjs/bs-input_4.cjs.entry.js +9 -6
- 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-link.cjs.entry.js +1 -1
- package/dist/cjs/bs-list-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-mega-menu.cjs.entry.js +1 -1
- 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 +2 -2
- package/dist/cjs/bs-page-header.cjs.entry.js +1 -1
- package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
- package/dist/cjs/bs-popover.cjs.entry.js +1 -1
- package/dist/cjs/bs-presence.cjs.entry.js +1 -1
- 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-group.cjs.entry.js +1 -1
- package/dist/cjs/bs-radio.cjs.entry.js +1 -1
- package/dist/cjs/bs-search-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-select.cjs.entry.js +1 -1
- 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-skip-link.cjs.entry.js +1 -1
- 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 +3 -3
- package/dist/cjs/bs-split-pane.cjs.entry.js +27 -2
- package/dist/cjs/bs-stack.cjs.entry.js +1 -1
- package/dist/cjs/bs-stat.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 +1 -1
- package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
- package/dist/cjs/bs-table-of-contents.cjs.entry.js +1 -1
- package/dist/cjs/bs-tag.cjs.entry.js +2 -2
- package/dist/cjs/bs-text.cjs.entry.js +1 -1
- package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
- package/dist/cjs/bs-toast.cjs.entry.js +1 -1
- package/dist/cjs/bs-toggle-button-group.cjs.entry.js +1 -1
- package/dist/cjs/bs-toggle-button.cjs.entry.js +9 -1
- package/dist/cjs/bs-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
- package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/bs-tree-item.cjs.entry.js +2 -2
- package/dist/cjs/bs-tree.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/bs-accordion/bs-accordion.stories.js +25 -1
- 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.js +3 -3
- package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +1 -1
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.stories.js +25 -1
- package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.cmp.test.js +9 -0
- package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.css +13 -0
- package/dist/collection/components/bs-checkbox-group/bs-checkbox-group.js +28 -3
- package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.cmp.test.js +44 -0
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.css +30 -0
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +139 -7
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.stories.js +7 -0
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -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.js +1 -1
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +2 -2
- 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.cmp.test.js +9 -0
- package/dist/collection/components/bs-data-table/bs-data-table.js +24 -2
- package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
- package/dist/collection/components/bs-description-item/bs-description-item.js +1 -1
- package/dist/collection/components/bs-description-list/bs-description-list.js +1 -1
- package/dist/collection/components/bs-divider/bs-divider.js +1 -1
- package/dist/collection/components/bs-dropdown/bs-dropdown.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-heading/bs-heading.js +1 -1
- package/dist/collection/components/bs-icon/bs-icon.js +1 -1
- package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
- package/dist/collection/components/bs-input/bs-input.cmp.test.js +12 -0
- package/dist/collection/components/bs-input/bs-input.js +26 -3
- package/dist/collection/components/bs-input/bs-input.stories.js +14 -0
- 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-link/bs-link.js +1 -1
- package/dist/collection/components/bs-list/bs-list.js +1 -1
- package/dist/collection/components/bs-list-item/bs-list-item.js +1 -1
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +1 -1
- package/dist/collection/components/bs-menu/bs-menu.js +1 -1
- package/dist/collection/components/bs-menu-block/bs-menu-block.js +3 -3
- package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -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.js +1 -1
- package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
- package/dist/collection/components/bs-popover/bs-popover.js +1 -1
- package/dist/collection/components/bs-presence/bs-presence.js +1 -1
- package/dist/collection/components/bs-progress/bs-progress.js +2 -2
- package/dist/collection/components/bs-progress/bs-progress.stories.js +6 -3
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.stories.js +7 -5
- package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
- package/dist/collection/components/bs-radio/bs-radio.js +1 -1
- package/dist/collection/components/bs-radio-group/bs-radio-group.js +1 -1
- package/dist/collection/components/bs-radio-group/bs-radio-group.stories.js +15 -1
- package/dist/collection/components/bs-ripple/bs-ripple.js +1 -1
- package/dist/collection/components/bs-search-item/bs-search-item.js +1 -1
- package/dist/collection/components/bs-select/bs-select.js +1 -1
- package/dist/collection/components/bs-select/bs-select.stories.js +21 -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-skeleton/bs-skeleton.js +1 -1
- package/dist/collection/components/bs-skip-link/bs-skip-link.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.js +3 -3
- package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
- package/dist/collection/components/bs-split-pane/bs-split-pane.cmp.test.js +8 -0
- package/dist/collection/components/bs-split-pane/bs-split-pane.js +26 -1
- package/dist/collection/components/bs-stack/bs-stack.js +1 -1
- package/dist/collection/components/bs-stat/bs-stat.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.js +1 -1
- package/dist/collection/components/bs-switch/bs-switch.stories.js +33 -9
- 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-tab/bs-tabs/bs-tabs.stories.js +19 -1
- package/dist/collection/components/bs-table-of-contents/bs-table-of-contents.js +1 -1
- package/dist/collection/components/bs-tag/bs-tag.js +6 -2
- package/dist/collection/components/bs-text/bs-text.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-toggle-button/bs-toggle-button.cmp.test.js +11 -0
- package/dist/collection/components/bs-toggle-button/bs-toggle-button.js +9 -1
- package/dist/collection/components/bs-toggle-button/bs-toggle-button.stories.js +1 -1
- package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.js +1 -1
- package/dist/collection/components/bs-toggle-button-group/bs-toggle-button-group.stories.js +33 -3
- package/dist/collection/components/bs-toolbar/bs-toolbar.js +1 -1
- package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
- package/dist/collection/components/bs-tree/bs-tree.js +1 -1
- package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
- package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
- package/dist/collection/components/tokens/tokens.stories.js +90 -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 +2 -2
- package/dist/collection/play-utils.js +24 -0
- package/dist/components/bs-accordion-group.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.js +1 -1
- package/dist/components/bs-app-shell.js +1 -1
- package/dist/components/bs-app-switcher.js +1 -1
- package/dist/components/bs-app-tile.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-breadcrumb-overflow.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-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-group.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-code-block.js +1 -1
- package/dist/components/bs-command-palette.js +1 -1
- package/dist/components/bs-compact-menu-block.js +1 -1
- package/dist/components/bs-company-switcher.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-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-description-item.js +1 -1
- package/dist/components/bs-description-list.js +1 -1
- package/dist/components/bs-dialog.js +1 -1
- package/dist/components/bs-divider.js +1 -1
- package/dist/components/bs-dropdown.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-heading.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-icon.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-link.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.js +1 -1
- package/dist/components/bs-menu-block.js +1 -1
- 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.js +1 -1
- package/dist/components/bs-pagination.js +1 -1
- package/dist/components/bs-popover.js +1 -1
- package/dist/components/bs-presence.js +1 -1
- 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-group.js +1 -1
- package/dist/components/bs-radio.js +1 -1
- package/dist/components/bs-ripple.js +1 -1
- package/dist/components/bs-search-item.js +1 -1
- package/dist/components/bs-select.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-skip-link.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-stat.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-table-of-contents.js +1 -1
- package/dist/components/bs-tabs.js +1 -1
- package/dist/components/bs-tag.js +1 -1
- package/dist/components/bs-text.js +1 -1
- package/dist/components/bs-timepicker.js +1 -1
- package/dist/components/bs-toast.js +1 -1
- package/dist/components/bs-toggle-button-group.js +1 -1
- package/dist/components/bs-toggle-button.js +1 -1
- package/dist/components/bs-toolbar.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-abyVFrPp.js → p--3dR13A5.js} +1 -1
- package/dist/components/{p-D4W5LcEW.js → p-5OSJi5Hq.js} +1 -1
- package/dist/components/{p-DHZ_DStJ.js → p-5yADpXI0.js} +1 -1
- package/dist/components/p-B1pqQBKC.js +1 -0
- package/dist/components/{p-BB1HiIxJ.js → p-B6bXreGu.js} +1 -1
- package/dist/components/{p-Ba8J2kHD.js → p-BDqzHL7T.js} +1 -1
- package/dist/components/{p-CALH_mHQ.js → p-BSaspygR.js} +1 -1
- package/dist/components/{p-Cz38kNDe.js → p-BYZ1TxxS.js} +1 -1
- package/dist/components/{p-DMp5CvEJ.js → p-BenlMTiB.js} +1 -1
- package/dist/components/{p-wscU7FUD.js → p-BkzRLgh4.js} +1 -1
- package/dist/components/{p-B81aicKA.js → p-BpD6hqIE.js} +1 -1
- package/dist/components/{p-CL99S8-7.js → p-Bu47NRjs.js} +1 -1
- package/dist/components/{p-DK1uv2fu.js → p-C4NrLy_y.js} +1 -1
- package/dist/components/{p-Dlp2c-Ii.js → p-CA1qkJ9m.js} +1 -1
- package/dist/components/{p-DO4sVZCh.js → p-CMhON6jB.js} +1 -1
- package/dist/components/{p-DUV80kt-.js → p-Cau06t9C.js} +1 -1
- package/dist/components/{p-DLNoxNuW.js → p-D9TQ0LLX.js} +1 -1
- package/dist/components/{p-Cso2DKAz.js → p-DJqNdSU4.js} +1 -1
- package/dist/components/{p-KiyJJwzr.js → p-DLGXRivO.js} +1 -1
- package/dist/components/{p-BLJL4BVY.js → p-DPIDWFCa.js} +1 -1
- package/dist/components/{p-wd9-vGpQ.js → p-DQY3n0nR.js} +1 -1
- package/dist/components/{p-DL9HtG41.js → p-DfYJCczy.js} +1 -1
- package/dist/components/{p-CxNNy2m6.js → p-DoCH1kV9.js} +1 -1
- package/dist/components/p-DpMqdknQ.js +1 -0
- package/dist/components/{p-Dt3b6VYT.js → p-Dsyt34TD.js} +1 -1
- package/dist/components/{p-CZfbB-t_.js → p-Dx10cRTc.js} +1 -1
- package/dist/components/p-EQrsaDKp.js +1 -0
- package/dist/components/{p-DaKBSL2O.js → p-ESiaIgGU.js} +1 -1
- package/dist/components/p-OhKj-S2c.js +1 -0
- package/dist/components/{p-DOW-YekD.js → p-TRtv6fbe.js} +1 -1
- package/dist/components/{p-DnagAPBF.js → p-_oStzQSx.js} +1 -1
- package/dist/components/{p-BR7C-aKy.js → p-bOSY8sKI.js} +1 -1
- package/dist/components/{p-DARbgzSz.js → p-hjzkd-La.js} +1 -1
- package/dist/esm/brandsync-wc.js +1 -1
- package/dist/esm/bs-accordion-group.entry.js +1 -1
- 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 +4 -4
- package/dist/esm/bs-app-shell.entry.js +1 -1
- package/dist/esm/bs-attachment-list.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 +1 -1
- 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 +1 -1
- package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
- package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
- package/dist/esm/bs-checkbox-group.entry.js +8 -3
- package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
- package/dist/esm/bs-chip-filter.entry.js +1 -1
- package/dist/esm/bs-chip-informative.entry.js +32 -3
- package/dist/esm/bs-chip-input.entry.js +1 -1
- 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 +4 -4
- package/dist/esm/bs-company-switcher.entry.js +2 -2
- 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 +4 -2
- package/dist/esm/bs-datepicker.entry.js +1 -1
- package/dist/esm/bs-description-item.entry.js +1 -1
- package/dist/esm/bs-description-list.entry.js +1 -1
- package/dist/esm/bs-divider.entry.js +1 -1
- package/dist/esm/bs-dropdown.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-heading.entry.js +1 -1
- package/dist/esm/bs-icon-button.entry.js +1 -1
- package/dist/esm/bs-icon-tile.entry.js +2 -2
- package/dist/esm/bs-icon.entry.js +1 -1
- package/dist/esm/bs-inline-tab.entry.js +1 -1
- package/dist/esm/bs-input_4.entry.js +9 -6
- 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-link.entry.js +1 -1
- package/dist/esm/bs-list-item.entry.js +1 -1
- package/dist/esm/bs-list.entry.js +1 -1
- package/dist/esm/bs-mega-menu.entry.js +1 -1
- 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 +2 -2
- package/dist/esm/bs-page-header.entry.js +1 -1
- package/dist/esm/bs-pagination.entry.js +1 -1
- package/dist/esm/bs-popover.entry.js +1 -1
- package/dist/esm/bs-presence.entry.js +1 -1
- 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-group.entry.js +1 -1
- package/dist/esm/bs-radio.entry.js +1 -1
- package/dist/esm/bs-search-item.entry.js +1 -1
- package/dist/esm/bs-select.entry.js +1 -1
- package/dist/esm/bs-session-timeout.entry.js +1 -1
- package/dist/esm/bs-shortcut-row.entry.js +1 -1
- package/dist/esm/bs-skip-link.entry.js +1 -1
- 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 +3 -3
- package/dist/esm/bs-split-pane.entry.js +27 -2
- package/dist/esm/bs-stack.entry.js +1 -1
- package/dist/esm/bs-stat.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 +1 -1
- package/dist/esm/bs-tab_3.entry.js +3 -3
- package/dist/esm/bs-table-of-contents.entry.js +1 -1
- package/dist/esm/bs-tag.entry.js +2 -2
- package/dist/esm/bs-text.entry.js +1 -1
- package/dist/esm/bs-timepicker.entry.js +2 -2
- package/dist/esm/bs-toast.entry.js +1 -1
- package/dist/esm/bs-toggle-button-group.entry.js +1 -1
- package/dist/esm/bs-toggle-button.entry.js +9 -1
- package/dist/esm/bs-toolbar.entry.js +1 -1
- package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
- package/dist/esm/bs-tooltip.entry.js +1 -1
- package/dist/esm/bs-tree-item.entry.js +2 -2
- package/dist/esm/bs-tree.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/bs-checkbox-group/bs-checkbox-group.d.ts +3 -1
- package/dist/types/components/bs-chip/bs-chip-informative/bs-chip-informative.d.ts +29 -5
- package/dist/types/components/bs-chip/bs-chip-informative/bs-chip-informative.stories.d.ts +2 -0
- package/dist/types/components/bs-data-table/bs-data-table.d.ts +2 -0
- package/dist/types/components/bs-input/bs-input.d.ts +3 -0
- package/dist/types/components/bs-progress/bs-progress.stories.d.ts +1 -0
- package/dist/types/components/bs-progress-linear/bs-progress-linear.stories.d.ts +1 -0
- package/dist/types/components/bs-split-pane/bs-split-pane.d.ts +3 -0
- package/dist/types/components/bs-tag/bs-tag.d.ts +4 -0
- package/dist/types/components/bs-toggle-button/bs-toggle-button.d.ts +1 -0
- package/dist/types/components/tokens/tokens.stories.d.ts +12 -0
- package/dist/types/components.d.ts +142 -18
- package/dist/types/play-utils.d.ts +6 -0
- package/dist/types/raw-css.d.ts +4 -0
- package/package.json +1 -1
- package/reference.d.ts +1 -1
- package/reference.json +6 -1
- package/dist/brandsync-wc/p-23affb5d.entry.js +0 -1
- package/dist/brandsync-wc/p-23b3958e.entry.js +0 -1
- package/dist/brandsync-wc/p-28723df1.entry.js +0 -1
- package/dist/brandsync-wc/p-32157c7a.entry.js +0 -1
- package/dist/brandsync-wc/p-4ae7b8b9.entry.js +0 -1
- package/dist/brandsync-wc/p-60636c6c.entry.js +0 -1
- package/dist/brandsync-wc/p-6096900b.entry.js +0 -1
- package/dist/brandsync-wc/p-6bdd9ef9.entry.js +0 -1
- package/dist/brandsync-wc/p-e4033ebc.entry.js +0 -1
- package/dist/components/p-B5yjDh8h.js +0 -1
- package/dist/components/p-C3YETziz.js +0 -1
- package/dist/components/p-CKTbatgt.js +0 -1
- package/dist/components/p-_zxYDrzi.js +0 -1
|
@@ -38,7 +38,7 @@ export class BsCitationPreview {
|
|
|
38
38
|
bsOpen;
|
|
39
39
|
render() {
|
|
40
40
|
const hasPage = this.page !== undefined && this.page !== null && this.page !== '';
|
|
41
|
-
return (h("bs-card", { key: '
|
|
41
|
+
return (h("bs-card", { key: '4cd2544f4f2432c805caa775406c96dae7561452', part: "container", class: "bs-citation-preview", surface: "base" }, h("div", { key: '6d71dc9004e751fca3cd0d2af1d480f812e1bb9c', class: "bs-citation-preview__body" }, h("bs-source-link", { key: 'c089f659de271f201cbedb3b1661f11cad7daabb', part: "header", fileName: this.fileName, sourceName: this.sourceName, href: this.href, onBsOpen: () => this.bsOpen.emit() }), h("div", { key: '3010095752fb0cb0e695c12c378893b4973ec556', part: "snippet", class: "bs-citation-preview__snippet" }, h("slot", { key: '04c9331812a9b9e23c0cd9eb08e52c516a0f4156' })), h("div", { key: '10d6028902c212b166810b0ef8f79e04a863d59b', class: "bs-citation-preview__footer" }, h("slot", { key: '90108dc123a1b105e81094999660b768083edcbd', name: "footer" }, hasPage && (h("span", { key: '2f3f69d2ea1b59cde085cadc737d38c655b9b1db', part: "page", class: "bs-citation-preview__page" }, "Page ", this.page)))))));
|
|
42
42
|
}
|
|
43
43
|
static get is() { return "bs-citation-preview"; }
|
|
44
44
|
static get encapsulation() { return "shadow"; }
|
|
@@ -393,7 +393,7 @@ export class BsCommandPalette {
|
|
|
393
393
|
const sections = this.shownSections().filter(s => this.filled[s]);
|
|
394
394
|
const hasList = sections.length > 0;
|
|
395
395
|
const showResults = loading || empty || hasList;
|
|
396
|
-
return (h("dialog", { key: '
|
|
396
|
+
return (h("dialog", { key: '14f738dbfc997dd3a0e5c763659198ff4bb95529', ref: el => (this.dialogEl = el), part: "dialog", class: "bs-command-palette", "aria-label": this.label, "aria-modal": "true", role: "dialog", onCancel: this.onCancel, onClose: () => this.open && this.setOpen(false), onClick: this.onDialogClick, onKeyDown: this.onDialogKeyDown }, h("div", { key: '2763bfb126b06706973e82411a50d81186398660', part: "panel", class: "bs-command-palette__panel" }, h("div", { key: '662b84e505270a77b519b2ba44869b39ded8b118', part: "search", class: "bs-command-palette__search" }, this.scopeLabel && (h("bs-chip-informative", { key: '129c0e4b8d442c47fcdb63c706e6a8afd204d15b', class: "bs-command-palette__scope", color: "info" }, this.scopeLabel)), h("div", { key: '2df2f5b194a3089af079e13b42146cc6042fed7d', class: "bs-command-palette__field", ref: el => (this.comboEl = el), role: "combobox", "aria-label": this.placeholder, "aria-expanded": String(hasList), "aria-haspopup": "listbox", "aria-controls": hasList ? listId : undefined, onKeyDown: this.onKeyDown }, h("bs-input", { key: '9bbb0fb5338b4a897c01becd9c06c19537abd4ea', part: "input", ref: el => (this.inputEl = el), type: "search", value: this.value, placeholder: this.placeholder, onBsInput: this.onInput })), h("span", { key: '1fb9c6bf593b2bd2a3d86f5fef51119fc76ad545', class: "bs-command-palette__esc", "aria-hidden": "true" }, h("bs-key", { key: '37fbede6ae45c725e6b3097a3cdd8a3985f0b7ee', label: "Esc" }))), showResults && h("div", { key: '99b59b7f2ac6762f5a638dd084420332bbe95391', class: "bs-command-palette__divider", role: "presentation" }), showResults && (h("div", { key: '18a22c3d45ec4c84990ca9a87fb3cf76ccdb7552', part: "results", class: "bs-command-palette__results", "aria-busy": String(loading), onMouseOver: this.onResultsMouseOver }, loading && (h("div", { key: 'c4246fa469a4bd9556db418cea6f763630d0907a', class: "bs-command-palette__loading", role: "status" }, h("bs-spinner", { key: 'f7658c22dceb48bc4c4f1265b7f4618ace5e12a7', size: "sm" }), h("span", { key: '03bf1c7a43b99d45cd8630f1dc628f258583a4a6' }, this.loadingLabel))), empty && this.renderEmpty(), hasList && (h("div", { key: '10af576c2d8ae003e372bc1d60d1c399c8bd40b5', id: listId, class: "bs-command-palette__list", role: "listbox", "aria-label": this.listLabel }, sections.map(s => this.renderSection(s)))))), this.showFooter && this.renderFooter()), h("span", { key: '5f078c4477ccabd8620bc67de7a0c071987416f3', class: "bs-command-palette__live", "aria-live": "polite" }, this.announcement())));
|
|
397
397
|
}
|
|
398
398
|
static get is() { return "bs-command-palette"; }
|
|
399
399
|
static get encapsulation() { return "shadow"; }
|
|
@@ -27,7 +27,7 @@ export class BsCompactMenuBlock {
|
|
|
27
27
|
name;
|
|
28
28
|
render() {
|
|
29
29
|
const common = { part: 'container', class: 'bs-compact-menu-block' };
|
|
30
|
-
return (h("button", { key: '
|
|
30
|
+
return (h("button", { key: 'ef2215a64dfd1aa73db75b5352a9caa564978802', ...common, type: "button" }, this.name));
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "bs-compact-menu-block"; }
|
|
33
33
|
static get encapsulation() { return "shadow"; }
|
|
@@ -234,10 +234,10 @@ export class BsCompanySwitcher {
|
|
|
234
234
|
const empty = !!this.q && groups.length === 0;
|
|
235
235
|
const listId = `${this.id}-listbox`;
|
|
236
236
|
const total = groups.reduce((n, g) => n + g.items.length, 0);
|
|
237
|
-
return (h("bs-popover", { key: '
|
|
237
|
+
return (h("bs-popover", { key: 'b0eec2cc5ce7574933ef80e1fd8a6faf8ca340cb', class: "bs-company-switcher", open: this.open, placement: "bottom-start", onBsOpenChange: this.onPopoverOpenChange }, this.renderTrigger(), h("bs-card", { key: '0f68df42724c5b4561c991ffe0fab1571292472a', part: "panel", class: "bs-company-switcher__panel", surface: "base" }, h("div", { key: '03bcc888d4dbef3d18e58ac12953e0cfdcafc219', class: "bs-company-switcher__search", onMouseDown: (ev) => ev.preventDefault() }, h("div", { key: 'b1e9a44d67ed0237a0860285cb766b9f0ceaa8b0', part: "search", role: "combobox", "aria-label": this.searchPlaceholder, "aria-expanded": groups.length ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": groups.length ? listId : undefined, "aria-activedescendant": this.activeId ?? undefined, onKeyDown: this.onKeyDown }, h("bs-input", { key: '33f3b85bcbe1b4e5e999d8b71a4699165e94c6db', ref: el => (this.inputEl = el), type: "search", value: this.query, placeholder: this.searchPlaceholder, onBsInput: this.onInput }))), groups.length > 0 && (h("div", { key: 'ca4ea82856f25a754d9da32b3bea39172e98d07c', id: listId, part: "list", class: "bs-company-switcher__list", role: "listbox", "aria-label": this.listLabel, onMouseDown: (ev) => ev.preventDefault(), onMouseLeave: () => (this.activeId = null) }, groups.map(g => {
|
|
238
238
|
const hid = `${this.id}-h-${g.key}`;
|
|
239
239
|
return (h("div", { part: "group", class: "bs-company-switcher__group", role: "group", "aria-labelledby": hid }, h("div", { part: "group-header", id: hid, class: "bs-company-switcher__group-header" }, g.header), g.items.map(c => this.renderRow(c))));
|
|
240
|
-
}))), empty && (h("bs-empty-state", { key: '
|
|
240
|
+
}))), empty && (h("bs-empty-state", { key: '9d0612d45e3f7e34615a4df33af90898c8f42ad4', part: "empty", class: "bs-company-switcher__empty", heading: this.emptyHeading.replace('{query}', this.query.trim()), description: this.emptyDescription }, h("svg", { key: '269c8cb9cab9e5f1c0f0f46661e2ebb780c35767', slot: "icon", ...svgProps }, h("circle", { key: 'edff5845828ee02a4ca233173d64d305e3a0fff3', cx: "11", cy: "11", r: "7" }), h("path", { key: 'fe598787496866fd7d922609ce5633708f20c8ff', d: "m20 20-3.5-3.5" })))), h("bs-divider", { key: '97a3536b4d4a76ab83e072b69c14a093f8456d14', class: "bs-company-switcher__divider", decorative: true }), h("div", { key: '1b2946a19574798829e4aa2a41741e73158963dd', part: "footer", class: "bs-company-switcher__footer" }, h("bs-button", { key: '4802d08ecbe212ea674205485b5676c2f97c195e', variant: "subtle", size: "sm", onClick: () => this.bsManageCompanies.emit() }, h("svg", { key: '6b4458e279e9f15094dd28e0c394111ab98cf4fe', slot: "icon", ...svgProps }, h("circle", { key: 'd23a66a7b4142c5f5d370b194824b573e667bb4f', cx: "12", cy: "12", r: "3" }), h("path", { key: '76f4741d079f3c3cfd8f18c03c61e88aa2b47196', d: "M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z" })), this.manageLabel), h("bs-button", { key: '347c34917288e15a461f3d16eaac077c454d968d', variant: "subtle", size: "sm", onClick: () => this.bsAddCompanies.emit() }, h("svg", { key: '6d701ae30b07de092d93b700d264bbaee166a721', slot: "icon", ...svgProps }, h("path", { key: '2ec0699033facd45aae07a3926db0ccf4113d40f', d: "M12 5v14M5 12h14" })), this.addLabel)), h("span", { key: 'bc4cc1dd886ab4a06afce21fdb670a1fdf46181e', class: "bs-company-switcher__live", "aria-live": "polite" }, this.open && this.q ? (empty ? this.emptyHeading.replace('{query}', this.query.trim()) : `${total} ${total === 1 ? this.matchLabel : this.matchesLabel}`) : ''))));
|
|
241
241
|
}
|
|
242
242
|
static get is() { return "bs-company-switcher"; }
|
|
243
243
|
static get encapsulation() { return "shadow"; }
|
|
@@ -234,7 +234,7 @@ export class BsComposer {
|
|
|
234
234
|
const placeholder = this.placeholder ?? DEFAULT_PLACEHOLDERS[this.variant];
|
|
235
235
|
const disabled = this.state === 'disabled';
|
|
236
236
|
const recording = this.state === 'recording';
|
|
237
|
-
return (h("div", { key: '
|
|
237
|
+
return (h("div", { key: '1b2b2a80e3cc3838921c2353f94142c43136ea96', class: `bs-composer bs-composer--${this.state} bs-composer--${this.variant}` }, h("div", { key: 'ab827001a719251a3844d228cae2f3e2ad44646f', part: "attachments", class: `bs-composer__attachments-row ${this.hasAttachments ? 'bs-composer__attachments-row--visible' : ''}` }, h("slot", { key: 'e9daab24f2e008325532e6ea284aff78fe850574', name: "attachments", onSlotchange: this.onAttachmentsSlotchange })), h("div", { key: '175b60b706ea6aae20734169ca5f9a84cf34de39', class: "bs-composer__text-row" }, h("textarea", { key: 'b765186c7fb867799e241e85293caed2e491fc25', ref: el => (this.inputEl = el), part: "input", class: "bs-composer__input", rows: 1, value: this.value, placeholder: placeholder, disabled: disabled, maxLength: this.maxLength, "aria-label": this.ariaLabel, onInput: this.onInput, onKeyDown: this.onInputKeydown })), h("div", { key: 'f539b712f3bc7cc0b289f0ffee0ae00f58bba243', class: "bs-composer__controls-row" }, !this.hideAttach && (h("button", { key: 'e8ca8c173d62e4457516177c738af39039c14757', type: "button", part: "attach", class: "bs-composer__attach", "aria-label": this.attachLabel, onClick: this.onAttachClick }, h(PlusIcon, { key: 'b505c8cfff359c592a6e83d27a390378b602c1e7' }))), recording ? (h("span", { class: "bs-composer__waveform", "aria-hidden": "true" }, WAVEFORM_BAR_HEIGHTS.map(height => (h("span", { class: "bs-composer__waveform-bar", style: { '--bs-composer-bar-height': `${height}px` } }))))) : (h("span", { class: "bs-composer__spacer" })), !this.hideMic && (h("button", { key: 'a3602320e85c453e479275b0e1871f257f13c940', type: "button", part: "mic", class: `bs-composer__mic ${recording ? 'bs-composer__mic--recording' : ''}`, "aria-label": recording ? this.stopRecordingLabel : this.micLabel, disabled: disabled, onClick: this.onMicClick }, recording ? h(StopIcon, null) : h(MicIcon, null))), h("button", { key: 'afa647554fba93f413c5b715f936909a3a916164', type: "button", part: "action", class: `bs-composer__action bs-composer__action--${this.state}`, "aria-label": this.actionLabel(), disabled: disabled, "aria-busy": this.loading && this.state === 'idle' ? 'true' : undefined, onClick: this.onActionClick }, this.renderActionIcon()), h("slot", { key: '4a888c18430a3cf8facc21ac23e2e1867261bada', name: "actions-end" }))));
|
|
238
238
|
}
|
|
239
239
|
static get is() { return "bs-composer"; }
|
|
240
240
|
static get encapsulation() { return "shadow"; }
|
|
@@ -113,7 +113,7 @@ export class BsComposerStatusBanner {
|
|
|
113
113
|
return this.type === 'error' || this.type === 'warning' ? h(WarningIcon, null) : h(ClockIcon, null);
|
|
114
114
|
}
|
|
115
115
|
render() {
|
|
116
|
-
return (h("div", { key: '
|
|
116
|
+
return (h("div", { key: '23bdf6951b97e63e25673a612d81469aa1fbd4f6', role: this.roleForType(), "aria-busy": this.loading ? 'true' : undefined, class: `bs-composer-status-banner bs-composer-status-banner--${this.type}` }, h("div", { key: 'b434fe1114e435bbcbf7c80b44bb83b9c770bf28', class: "bs-composer-status-banner__message-group" }, this.showIcon && (h("span", { key: '5f1898ac0068f2f7f509c219660b96972e7a8603', part: "icon", class: "bs-composer-status-banner__icon" }, h("slot", { key: '81eff04aa85683efb4ae5670fb3ea966326d1c9a', name: "icon" }, this.renderDefaultIcon()))), h("p", { key: '6ddb4f8f61df621f18594178eb744adf0cdcc8b1', part: "message", class: "bs-composer-status-banner__message" }, this.message)), this.showButton && (h("button", { key: '1c20e4a587173da03fc78e314f9dac26e01fac07', type: "button", part: "action", class: "bs-composer-status-banner__action", onClick: this.onActionClick }, this.actionLabel)), this.allowClose && (h("button", { key: '91ed4898ddea0e238e15c3b9b66b7a2b9117136b', type: "button", part: "close", class: "bs-composer-status-banner__close", "aria-label": this.closeLabel, onClick: this.onCloseClick }, h(CloseIcon, { key: '91abf65867cfecb458f32e884eb22beb63e71a56' })))));
|
|
117
117
|
}
|
|
118
118
|
static get is() { return "bs-composer-status-banner"; }
|
|
119
119
|
static get encapsulation() { return "shadow"; }
|
|
@@ -21,7 +21,7 @@ export class BsContainer {
|
|
|
21
21
|
padding = '300';
|
|
22
22
|
render() {
|
|
23
23
|
const pad = SPACING_TOKENS.includes(String(this.padding)) ? String(this.padding) : '300';
|
|
24
|
-
return (h(Host, { key: '
|
|
24
|
+
return (h(Host, { key: '3996ed195614e9619afed595fcc751cc243fb9ee', style: { '--bs-container-padding-token': `var(--bs-spacing-${pad})` } }, h("slot", { key: '5bdf2a82ed2a2602a035184e3ba8e09fd46b0eba' })));
|
|
25
25
|
}
|
|
26
26
|
static get is() { return "bs-container"; }
|
|
27
27
|
static get encapsulation() { return "shadow"; }
|
|
@@ -18,6 +18,15 @@ describe('bs-data-table', () => {
|
|
|
18
18
|
expect(selectAll.checked).toBe(false);
|
|
19
19
|
expect(selectAll.indeterminate).toBe(false);
|
|
20
20
|
});
|
|
21
|
+
it('gives each row checkbox an accessible name, configurable via selectRowLabel', async () => {
|
|
22
|
+
const { root } = await render(h("bs-data-table", { selectable: true, columns: columns, rows: rows }));
|
|
23
|
+
const rowBoxes = Array.from(root.shadowRoot.querySelectorAll('tbody input[type="checkbox"]'));
|
|
24
|
+
expect(rowBoxes.length).toBe(rows.length);
|
|
25
|
+
expect(rowBoxes.every(b => b.getAttribute('aria-label') === 'Select row')).toBe(true);
|
|
26
|
+
root.selectRowLabel = 'Vælg række';
|
|
27
|
+
await new Promise(r => setTimeout(r, 50));
|
|
28
|
+
expect(root.shadowRoot.querySelector('tbody input[type="checkbox"]').getAttribute('aria-label')).toBe('Vælg række');
|
|
29
|
+
});
|
|
21
30
|
it('does not render a select-all checkbox when not selectable', async () => {
|
|
22
31
|
const { root } = await render(h("bs-data-table", { columns: columns, rows: rows }));
|
|
23
32
|
expect(root.shadowRoot.querySelector('thead input[type="checkbox"]')).toBeNull();
|
|
@@ -38,6 +38,8 @@ export class BsDataTable {
|
|
|
38
38
|
sortDirection = 'asc';
|
|
39
39
|
/** Accessible name of the select-all checkbox in the header (when `selectable`). */
|
|
40
40
|
selectAllLabel = 'Select all rows';
|
|
41
|
+
/** Accessible name of each row's checkbox (when `selectable`). */
|
|
42
|
+
selectRowLabel = 'Select row';
|
|
41
43
|
selectable = false;
|
|
42
44
|
/** Alternates the row background (even rows use `--bs-data-table-stripe-bg`) so wide tables are
|
|
43
45
|
* easier to scan. Follows dark mode through the token. Row hover still wins. */
|
|
@@ -98,11 +100,11 @@ export class BsDataTable {
|
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
102
|
render() {
|
|
101
|
-
return (h("table", { key: '
|
|
103
|
+
return (h("table", { key: 'd24675d99b4bb7070646b7dd8a432d1395737be2', part: "table", class: "bs-data-table" }, h("thead", { key: '6cd20167515acc4b9509a17584b8d6963f73b4d9', part: "head" }, h("tr", { key: 'df8433665b80da7f39c4ee11abe7250827ea0ceb' }, this.selectable && (h("th", { key: 'cfd133dd0044cef743f528ad2b48b7352be4c3d8', class: "bs-data-table__select-col" }, this.rows.length > 0 && (h("input", { key: '930f6e772809bf3250912b78c17364ceda67a9a8', type: "checkbox", "aria-label": this.selectAllLabel, checked: this.selectedIds.size > 0 && this.selectedIds.size === this.rows.length, indeterminate: this.selectedIds.size > 0 && this.selectedIds.size < this.rows.length, onChange: this.onSelectAllChange })))), this.columns.map(column => {
|
|
102
104
|
const isSorted = this.sortColumn === column.key;
|
|
103
105
|
const ariaSort = column.sortable ? (isSorted ? (this.sortDirection === 'asc' ? 'ascending' : 'descending') : 'none') : undefined;
|
|
104
106
|
return (h("th", { part: "header-cell", class: "bs-data-table__header-cell", "aria-sort": ariaSort }, column.sortable ? (h("button", { type: "button", class: "bs-data-table__sort-button", onClick: () => this.onHeaderClick(column) }, column.label, isSorted && h("span", { class: "bs-data-table__sort-indicator" }, this.sortDirection === 'asc' ? ' ▲' : ' ▼'))) : (column.label)));
|
|
105
|
-
}))), h("tbody", { key: '
|
|
107
|
+
}))), h("tbody", { key: 'efafea945207fc1c29016ae066e0a2fce3ec5f6e', part: "body" }, this.rows.map(row => (h("tr", { part: "row", class: "bs-data-table__row" }, this.selectable && (h("td", { class: "bs-data-table__select-col" }, h("input", { type: "checkbox", "aria-label": this.selectRowLabel, checked: this.selectedIds.has(row.id), onChange: ev => this.onRowCheckboxChange(row, ev) }))), this.columns.map(column => this.cellRenderer ? (
|
|
106
108
|
// cellRenderer is a developer-supplied, trusted function (JS-property-only, never
|
|
107
109
|
// derived from untrusted input) -- its HTML output is intentionally not escaped,
|
|
108
110
|
// same trust model as React's dangerouslySetInnerHTML.
|
|
@@ -232,6 +234,26 @@ export class BsDataTable {
|
|
|
232
234
|
"attribute": "select-all-label",
|
|
233
235
|
"defaultValue": "'Select all rows'"
|
|
234
236
|
},
|
|
237
|
+
"selectRowLabel": {
|
|
238
|
+
"type": "string",
|
|
239
|
+
"mutable": false,
|
|
240
|
+
"complexType": {
|
|
241
|
+
"original": "string",
|
|
242
|
+
"resolved": "string",
|
|
243
|
+
"references": {}
|
|
244
|
+
},
|
|
245
|
+
"required": false,
|
|
246
|
+
"optional": false,
|
|
247
|
+
"docs": {
|
|
248
|
+
"tags": [],
|
|
249
|
+
"text": "Accessible name of each row's checkbox (when `selectable`)."
|
|
250
|
+
},
|
|
251
|
+
"getter": false,
|
|
252
|
+
"setter": false,
|
|
253
|
+
"reflect": false,
|
|
254
|
+
"attribute": "select-row-label",
|
|
255
|
+
"defaultValue": "'Select row'"
|
|
256
|
+
},
|
|
235
257
|
"selectable": {
|
|
236
258
|
"type": "boolean",
|
|
237
259
|
"mutable": false,
|
|
@@ -340,7 +340,7 @@ export class BsDatepicker {
|
|
|
340
340
|
: this.defaultTabbable(days);
|
|
341
341
|
const isInRange = (iso) => !!selectedStart && !!previewEnd && iso > selectedStart && iso < previewEnd;
|
|
342
342
|
const weekdays = this.weekdays();
|
|
343
|
-
return (h("bs-card", { key: '
|
|
343
|
+
return (h("bs-card", { key: '5dfa1f91fce2714fbaa120c0c159858dd1f22f77', part: "container", class: "bs-datepicker", surface: "raised" }, h("div", { key: 'd5683ce23acd1f07a9c382254d0e39cb7caf0d9a', class: "bs-datepicker__body" }, this.renderHeader(), h("div", { key: 'da658aaa5410916b223708890e3f0d012c297d08', part: "nav", class: "bs-datepicker__nav" }, h("button", { key: '99df9c289bb4a6e5901aabc9ad294122297ecd05', part: "prev", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.previousLabel, onClick: () => this.moveView(-1) }, h("svg", { key: 'db686789ae2ca6a9600bd6477e9b56a50adf722e', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { key: '99d27b25366ee163c9dda8caeed0630f1c6c6157', d: "M15 18L9 12L15 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("div", { key: '297710ca625a8163abca541ca11b858e61431ee0', part: "title", class: "bs-datepicker__title", "aria-live": "polite" }, this.titleText()), h("button", { key: '26e5b15959adcea0a842f59e85b5bca6bb7ec6a7', part: "next", type: "button", class: "bs-datepicker__nav-button", "aria-label": this.nextLabel, onClick: () => this.moveView(1) }, h("svg", { key: 'bef119a10f7e01e8c58e8fd3690417442528d071', viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { key: 'd6566754ab7cf16f2e82127c594675c906ce6397', d: "M9 18L15 12L9 6", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: 'c9f559c3ba6c929160801ece12d7ed61cb3cbe4b', part: "grid", class: "bs-datepicker__grid", role: "grid", "aria-label": this.titleText() }, h("div", { key: '214302e6ea6693ba9e4a2e908fa982f0df0d926a', class: "bs-datepicker__row", role: "row" }, weekdays.map(w => (h("div", { part: "weekday", class: "bs-datepicker__weekday", role: "columnheader" }, w)))), Array.from({ length: 6 }, (_, r) => {
|
|
344
344
|
const row = days.slice(r * 7, r * 7 + 7);
|
|
345
345
|
return (h("div", { class: "bs-datepicker__row", role: "row" }, row.map((d, c) => {
|
|
346
346
|
const iso = toIso(d);
|
|
@@ -32,7 +32,7 @@ export class BsDescriptionItem {
|
|
|
32
32
|
/** Set by the parent `bs-description-list`: `stacked` (term above detail) or `horizontal` (side by side). */
|
|
33
33
|
layout = 'stacked';
|
|
34
34
|
render() {
|
|
35
|
-
return (h("dl", { key: '
|
|
35
|
+
return (h("dl", { key: '40c0899a000b225ecb5332902e9a9f74f54a8caf', part: "container", class: "bs-description-item" }, h("div", { key: '524e64c9808a3aa172854c96466f23719637723e', class: "bs-description-item__group" }, h("dt", { key: '1f7b417f6422fe49b537ce57881a094092e177da', part: "term", class: "bs-description-item__term" }, h("slot", { key: '6f7893e2ca851a7d55aa82cc4f19593db16e9110', name: "term" }, this.term)), h("dd", { key: '861794158a281145f885c5f3990db4506257a4fe', part: "description", class: "bs-description-item__description" }, h("slot", { key: 'ab3ead012e9cd01c5377af5ab05fbf932ffdb0c9' }, this.description)))));
|
|
36
36
|
}
|
|
37
37
|
static get is() { return "bs-description-item"; }
|
|
38
38
|
static get encapsulation() { return "shadow"; }
|
|
@@ -39,7 +39,7 @@ export class BsDescriptionList {
|
|
|
39
39
|
.forEach(i => (i.layout = this.layout));
|
|
40
40
|
}
|
|
41
41
|
render() {
|
|
42
|
-
return (h("div", { key: '
|
|
42
|
+
return (h("div", { key: '05c9e878bf5d7c044f0952194ab139504e18bc37', part: "list", class: "bs-description-list", role: "group", "aria-label": this.ariaLabel ?? undefined }, h("slot", { key: 'e4d5086670583c29bbd5b6d93d49507bd2292aa5', onSlotchange: () => this.sync() })));
|
|
43
43
|
}
|
|
44
44
|
static get is() { return "bs-description-list"; }
|
|
45
45
|
static get encapsulation() { return "shadow"; }
|
|
@@ -28,7 +28,7 @@ export class BsDivider {
|
|
|
28
28
|
const a11y = this.decorative
|
|
29
29
|
? { role: 'none', 'aria-hidden': 'true' }
|
|
30
30
|
: { role: 'separator', 'aria-orientation': orientation };
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'a4b1c9d1ae6166b883923cc4f403e16b6bb77d1e', ...a11y }, h("div", { key: '7a3d216c6cd74f0dc511c27e9c8decdabbffb8a8', class: "line", part: "line" })));
|
|
32
32
|
}
|
|
33
33
|
static get is() { return "bs-divider"; }
|
|
34
34
|
static get encapsulation() { return "shadow"; }
|
|
@@ -96,7 +96,7 @@ export class BsDropdown {
|
|
|
96
96
|
this.open = ev.detail;
|
|
97
97
|
};
|
|
98
98
|
render() {
|
|
99
|
-
return (h("bs-popover", { key: '
|
|
99
|
+
return (h("bs-popover", { key: '02bce3b47bd8a7d96b22c9b60b3517802e9b05aa', part: "popover", open: this.open, placement: this.placement, onBsOpenChange: this.onPopoverOpenChange }, h("slot", { key: 'd15d4801ef7d8c15cd22772a83d2658d562ce9e4', name: "trigger", slot: "trigger", onSlotchange: this.syncTrigger, ref: el => (this.triggerSlot = el) }), h("slot", { key: 'b098ecec20a9a3a129f7420634dba01816dc61de' })));
|
|
100
100
|
}
|
|
101
101
|
static get is() { return "bs-dropdown"; }
|
|
102
102
|
static get encapsulation() { return "shadow"; }
|
|
@@ -68,7 +68,7 @@ export class BsEmptyState {
|
|
|
68
68
|
render() {
|
|
69
69
|
const level = Math.min(6, Math.max(2, Math.round(Number(this.headingLevel)) || 3));
|
|
70
70
|
const Heading = `h${level}`;
|
|
71
|
-
return (h("div", { key: '
|
|
71
|
+
return (h("div", { key: 'ffdf706be4116dc017712d0e8224ae0ac19fdd86', part: "container", class: "bs-empty-state" }, this.hasIllustration ? (h("div", { part: "illustration", class: "bs-empty-state__illustration" }, h("slot", { name: "illustration" }))) : (h("bs-icon-tile", { part: "icon", size: "lg", intent: this.intent }, this.hasIcon && h("slot", { name: "icon" }))), this.heading && (h(Heading, { key: '5b0787b3afdc2792aaf198eda2c22c2d918f7743', part: "heading", class: "bs-empty-state__heading" }, this.heading)), (this.description || this.hasDescriptionSlot) && (h("p", { key: 'b8f23d2049e1c451c6ebf058479776d7620b30c6', part: "description", class: "bs-empty-state__description" }, this.hasDescriptionSlot ? h("slot", null) : this.description)), this.hasAction && (h("div", { key: '0d90b309f70235864cddb9051457a023fb035cff', part: "action", class: "bs-empty-state__action" }, h("slot", { key: 'bf4df45020fe85c49b5eeb22f83c37759fd6cbbe', name: "action" })))));
|
|
72
72
|
}
|
|
73
73
|
static get is() { return "bs-empty-state"; }
|
|
74
74
|
static get encapsulation() { return "shadow"; }
|
|
@@ -65,7 +65,7 @@ export class BsErrorPage {
|
|
|
65
65
|
const primary = this.primaryLabel ?? d.primary;
|
|
66
66
|
const secondary = this.secondaryLabel ?? d.secondary;
|
|
67
67
|
const level = Math.min(6, Math.max(1, Math.trunc(Number(this.headingLevel)) || 1));
|
|
68
|
-
return (h("bs-card", { key: '
|
|
68
|
+
return (h("bs-card", { key: '8aff9c8d96ef4b11da092a77ebf5825d15927352', part: "container", class: "bs-error-page", surface: "base" }, h("div", { key: '19257d7f087c9e129a100a233f2b347f91bf94e3', class: "bs-error-page__body" }, h("div", { key: '626069ac9658d54560ff3b7fe1ee33d4e61d2120', class: "bs-error-page__art-group" }, h("bs-icon-tile", { key: '906074042657ea36412905e28db696beb48fca20', part: "art", class: `bs-error-page__art ${d.info ? 'bs-error-page__art--info' : ''}`, intent: d.intent, size: "lg" }, h("slot", { key: '08e00c6308418f3de6cee8574bf59b59c7749853', name: "icon" }, d.glyph())), code && (h("span", { key: '927bc4a8cb649c62dae21c512d444b6bc5c5bae8', part: "code", class: "bs-error-page__code" }, code))), h(`h${level}`, { part: 'heading', class: { 'bs-error-page__heading': true } }, heading), description && (h("p", { key: '213c0da80e469597d3964b8b91d643dbcc11caf3', part: "description", class: "bs-error-page__description" }, description)), (primary || secondary) && (h("div", { key: '85c062187fab0d14c29a826649fe84b515caf791', part: "actions", class: "bs-error-page__actions" }, primary && (h("bs-button", { key: 'c884d4cb3a054b1be6b53cdefba6219ad47a577b', part: "primary", variant: "primary", onClick: () => this.bsPrimary.emit() }, primary)), secondary && (h("bs-button", { key: '3e36ee75d488483d9d9a5385cf6ff6d632e8fee3', part: "secondary", variant: "outlined", onClick: () => this.bsSecondary.emit() }, secondary)))), this.reference && (h("p", { key: '7bf4f351eda32d20c2529e166b02b1da66851c64', part: "reference", class: "bs-error-page__reference" }, this.reference)))));
|
|
69
69
|
}
|
|
70
70
|
static get is() { return "bs-error-page"; }
|
|
71
71
|
static get encapsulation() { return "shadow"; }
|
|
@@ -112,7 +112,7 @@ export class BsFileUpload {
|
|
|
112
112
|
this.handleFiles(files);
|
|
113
113
|
};
|
|
114
114
|
render() {
|
|
115
|
-
return (h("div", { key: '
|
|
115
|
+
return (h("div", { key: 'a36d673f20523d6384240fa4cabac8389b57b29f', part: "dropzone", class: `bs-file-upload bs-file-upload--${this.direction} ${this.dragging ? 'bs-file-upload--dragging' : ''} ${this.disabled ? 'bs-file-upload--disabled' : ''}`, onDragEnter: this.onDragOver, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onDrop: this.onDrop }, h("div", { key: 'c769eb48169ccdea3d9b2ec461fc131be8deec6e', part: "icon", class: "bs-file-upload__icon" }, h("slot", { key: 'e09c8fe53baaf4a42171799ce3c26595fc214321', name: "icon" }, h(UploadIcon, { key: 'e7687bf38d08a9d650c424efecf4ab1cee2fdbbd' }))), h("div", { key: 'c437654a93b2d8bca60b1bf5e9d883cba66b9514', class: "bs-file-upload__content" }, h("div", { key: '36c4fa07235bdaf27401d23d064b53910505bb3b', class: "bs-file-upload__text" }, this.heading && (h("span", { key: '232df19561f275bd62c9829ebe70c1e6155a8ce0', part: "heading", class: "bs-file-upload__heading" }, this.heading)), this.description && (h("span", { key: '493bb2708692a92b669d75d1f0ab075e9fb41355', part: "description", id: "description", class: "bs-file-upload__description" }, this.description))), h("bs-button", { key: '7f2955d2054a30efeec35252f776028b06a390df', part: "browse", variant: "neutral", size: "sm", disabled: this.disabled, onClick: this.onBrowse }, this.buttonLabel)), h("input", { key: '367b7d2fbbbf7ddfe0ebc063d0cef22c8510e713', ref: el => (this.inputEl = el), class: "bs-file-upload__input", type: "file", hidden: true, tabindex: -1, accept: this.accept, multiple: this.multiple, disabled: this.disabled, "aria-describedby": this.description ? 'description' : undefined, onChange: this.onInputChange })));
|
|
116
116
|
}
|
|
117
117
|
static get is() { return "bs-file-upload"; }
|
|
118
118
|
static get encapsulation() { return "shadow"; }
|
|
@@ -86,7 +86,7 @@ export class BsFileUploadItem {
|
|
|
86
86
|
}
|
|
87
87
|
render() {
|
|
88
88
|
const removing = this.state === 'success';
|
|
89
|
-
return (h("div", { key: '
|
|
89
|
+
return (h("div", { key: 'b3dfe347e900ba5f452e6d653f17b66956eba4b7', part: "item", class: `bs-file-upload-item bs-file-upload-item--${this.state}` }, h("div", { key: '619821ac9b479d7dc78d98fb0344942c1b205d53', part: "thumbnail", class: "bs-file-upload-item__thumbnail" }, h("slot", { key: '879934c913d92097e079faa64b05322720e28467', name: "thumbnail" }, this.thumbnailSrc ? (h("img", { class: "bs-file-upload-item__image", src: this.thumbnailSrc, alt: this.thumbnailAlt })) : (h(ImageIcon, null)))), h("div", { key: '54e8b1582cb66122a5a7d7a0125e2bd99df28f8f', class: "bs-file-upload-item__content" }, h("div", { key: '3d79114f91830c4f22586da37bfb4f3e71f8ee04', class: "bs-file-upload-item__meta" }, h("span", { key: '450b9ac9b96506884fdf8ebc50adb57055f5d4bd', part: "name", class: "bs-file-upload-item__name" }, this.fileName), this.fileSize && (h("span", { key: '0ee574ac068a6f4dbc2c59a9c9bac31ab9087001', part: "size", class: "bs-file-upload-item__size" }, this.fileSize))), this.renderStatus()), h("bs-icon-button", { key: 'bbb36dc36d633a7a3d9150df5d1992b1b3e356ce', part: "action", variant: "subtle", size: "lg", ariaLabel: removing ? this.removeLabel : this.cancelLabel, onClick: this.onAction }, removing ? h(TrashIcon, null) : h(CloseIcon, null))));
|
|
90
90
|
}
|
|
91
91
|
static get is() { return "bs-file-upload-item"; }
|
|
92
92
|
static get encapsulation() { return "shadow"; }
|
|
@@ -342,10 +342,10 @@ export class BsGlobalSearch {
|
|
|
342
342
|
const listId = `${this.id}-listbox`;
|
|
343
343
|
const isList = this.status === 'default' || this.status === 'results';
|
|
344
344
|
const showFooter = this.showFooter && isList;
|
|
345
|
-
return (h("div", { key: '
|
|
345
|
+
return (h("div", { key: 'badb002b67175179a79d0bc9c1366632d4a0645e', class: "bs-global-search" }, h("div", { key: '1902883e1e2a341bb78d57b0c2efc0695e2d50cc', part: "field", class: "bs-global-search__field", role: "combobox", "aria-label": this.label || this.placeholder, "aria-expanded": String(this.open && showList), "aria-haspopup": "listbox", "aria-controls": this.open && showList ? listId : undefined, "aria-activedescendant": this.open && this.activeId ? this.activeId : undefined, onKeyDown: this.onKeyDown, onFocusin: () => this.setOpen(true), onClick: () => this.setOpen(true) }, h("bs-input", { key: 'b8f8c00f00eef0051252ea8bc5b9e7bc299dc04e', ref: el => (this.inputEl = el), type: "search", value: this.value, placeholder: this.placeholder, disabled: this.disabled, onBsInput: this.onInput })), this.open && (h("div", { key: '08102c3daa1c44ed47c141c7aa010fbe68d322f8', part: "panel", class: "bs-global-search__panel", onMouseDown: (ev) => ev.preventDefault(), onMouseOver: this.onPanelMouseOver }, isList && showList && (h("div", { key: 'b14315ba3ced12ea89f961b889fcd514720b331d', id: listId, class: "bs-global-search__list", role: "listbox", "aria-label": this.listLabel }, sections.map(s => {
|
|
346
346
|
const hid = `${this.id}-h-${s}`;
|
|
347
347
|
return (h("div", { part: "section", class: "bs-global-search__section", role: "group", "aria-labelledby": hid }, h("div", { part: "section-header", id: hid, class: "bs-global-search__section-header" }, this.sectionLabel(s)), h("slot", { name: s })));
|
|
348
|
-
}))), this.status === 'empty' && this.renderStateBlock('empty'), this.status === 'error' && this.renderStateBlock('error'), showFooter && this.renderFooter())), h("span", { key: '
|
|
348
|
+
}))), this.status === 'empty' && this.renderStateBlock('empty'), this.status === 'error' && this.renderStateBlock('error'), showFooter && this.renderFooter())), h("span", { key: 'c5acca23be3dab4b04a2590f079973fef8ac28c1', class: "bs-global-search__live", "aria-live": "polite" }, this.announcement())));
|
|
349
349
|
}
|
|
350
350
|
static get is() { return "bs-global-search"; }
|
|
351
351
|
static get encapsulation() { return "shadow"; }
|
|
@@ -59,12 +59,12 @@ export class BsGrid {
|
|
|
59
59
|
const row = this.rowGap ? this.token(this.rowGap) : gapValue;
|
|
60
60
|
const col = this.columnGap ? this.token(this.columnGap) : gapValue;
|
|
61
61
|
const align = ALIGNS.includes(this.align) ? this.align : 'stretch';
|
|
62
|
-
return (h("div", { key: '
|
|
62
|
+
return (h("div", { key: '9507109de1fe2a61cb12fdf10249eea822aca4fd', class: "bs-grid", part: "container", style: {
|
|
63
63
|
gridTemplateColumns: this.template(),
|
|
64
64
|
rowGap: `var(--bs-grid-row-gap, ${row})`,
|
|
65
65
|
columnGap: `var(--bs-grid-column-gap, ${col})`,
|
|
66
66
|
alignItems: align,
|
|
67
|
-
} }, h("slot", { key: '
|
|
67
|
+
} }, h("slot", { key: '71f053d7d6be8bc917c44bec3a0c2f220836322c' })));
|
|
68
68
|
}
|
|
69
69
|
static get is() { return "bs-grid"; }
|
|
70
70
|
static get encapsulation() { return "shadow"; }
|
|
@@ -31,7 +31,7 @@ export class BsHeading {
|
|
|
31
31
|
const level = Math.min(6, Math.max(1, Number(this.level) || 2));
|
|
32
32
|
const Tag = (this.as ?? `h${level}`);
|
|
33
33
|
const size = this.size ?? String(level);
|
|
34
|
-
return (h(Tag, { key: '
|
|
34
|
+
return (h(Tag, { key: 'd30a0c74c61d89c6acaba89ef5133bdb4c9598aa', part: "heading", class: `bs-heading bs-heading--${size}` }, h("slot", { key: 'c9ec8694882323cc5dd98e771c70c296902d29e8' })));
|
|
35
35
|
}
|
|
36
36
|
static get is() { return "bs-heading"; }
|
|
37
37
|
static get encapsulation() { return "shadow"; }
|
|
@@ -40,7 +40,7 @@ export class BsIcon {
|
|
|
40
40
|
const filled = typeof markup === 'object';
|
|
41
41
|
const inner = typeof markup === 'string' ? markup : markup?.body;
|
|
42
42
|
const labelled = !!this.label;
|
|
43
|
-
return (h("span", { key: '
|
|
43
|
+
return (h("span", { key: '92c14176ca0b3ae936d5a34103c7e8fb5fb797fa', part: "icon", class: "bs-icon", role: labelled ? 'img' : undefined, "aria-label": labelled ? this.label : undefined, "aria-hidden": labelled ? undefined : 'true' }, markup ? (h("svg", { viewBox: filled ? markup.viewBox : '0 0 24 24', fill: filled ? 'currentColor' : 'none', stroke: filled ? undefined : 'currentColor', "stroke-width": filled ? undefined : '2', "stroke-linecap": filled ? undefined : 'round', "stroke-linejoin": filled ? undefined : 'round', "aria-hidden": "true", focusable: "false", ref: (svg) => {
|
|
44
44
|
if (svg && svg.innerHTML !== inner)
|
|
45
45
|
svg.innerHTML = inner;
|
|
46
46
|
} })) : (h("slot", null))));
|
|
@@ -46,8 +46,8 @@ export class BsIconTile {
|
|
|
46
46
|
render() {
|
|
47
47
|
const labelled = !!this.label;
|
|
48
48
|
return [
|
|
49
|
-
h("div", { key: '
|
|
50
|
-
h("span", { key: '
|
|
49
|
+
h("div", { key: 'bf6404159383eea8bc502471fe9050b3b756b44b', part: "container", class: "bs-icon-tile", role: labelled ? 'img' : undefined, "aria-label": labelled ? this.label : undefined, "aria-hidden": labelled ? undefined : 'true' }, h("span", { key: '68388ac2d1736c4f988aa4891ba98ed782e8e73e', part: "icon", class: "bs-icon-tile__icon" }, h("slot", { key: '63912e42c3858d1c893cd648772f014c1a9e0a0c', onSlotchange: (ev) => (this.hasCustomIcon = hasContent(ev.target)) }), !this.hasCustomIcon && (GLYPHS[this.intent] ?? GLYPHS.default))),
|
|
50
|
+
h("span", { key: '5e33734bd960efbd3432ad827261bed80fa60e76', part: "text", class: { 'bs-icon-tile__text': true, 'bs-icon-tile__text--visible': this.hasText } }, h("slot", { key: '09f2d6c09e4592f6796187fd320ddbc6058f255e', name: "text", onSlotchange: (ev) => (this.hasText = ev.target.assignedNodes().length > 0) })),
|
|
51
51
|
];
|
|
52
52
|
}
|
|
53
53
|
static get is() { return "bs-icon-tile"; }
|
|
@@ -579,6 +579,18 @@ describe('bs-input', () => {
|
|
|
579
579
|
});
|
|
580
580
|
});
|
|
581
581
|
describe('type="pin"', () => {
|
|
582
|
+
it('names every cell, keeping the visible label for the first when there is one', async () => {
|
|
583
|
+
const { root } = await render(h("bs-input", { type: "pin", length: 3, label: "Verification code" }));
|
|
584
|
+
const cells = Array.from(root.shadowRoot.querySelectorAll('.bs-input__pin-cell'));
|
|
585
|
+
expect(cells[0].hasAttribute('aria-label')).toBe(false);
|
|
586
|
+
expect(cells[1].getAttribute('aria-label')).toBe('Digit 2 of 3');
|
|
587
|
+
expect(cells[2].getAttribute('aria-label')).toBe('Digit 3 of 3');
|
|
588
|
+
});
|
|
589
|
+
it('names the first cell too when there is no label, and honours pinCellLabel', async () => {
|
|
590
|
+
const { root } = await render(h("bs-input", { type: "pin", length: 2, pinCellLabel: "Ziffer {n} von {total}" }));
|
|
591
|
+
const cells = Array.from(root.shadowRoot.querySelectorAll('.bs-input__pin-cell'));
|
|
592
|
+
expect(cells.map(c => c.getAttribute('aria-label'))).toEqual(['Ziffer 1 von 2', 'Ziffer 2 von 2']);
|
|
593
|
+
});
|
|
582
594
|
it('renders one input cell per length', async () => {
|
|
583
595
|
const { root } = await render(h("bs-input", { type: "pin", length: 4 }));
|
|
584
596
|
const cells = root.shadowRoot.querySelectorAll('.bs-input__pin-cell');
|
|
@@ -118,6 +118,9 @@ export class BsInput {
|
|
|
118
118
|
countryLabel = 'Country';
|
|
119
119
|
/** Number of cells for `type="pin"`. */
|
|
120
120
|
length = 4;
|
|
121
|
+
/** `type="pin"`: accessible name of each cell, with `{n}` replaced by its 1-based position and `{total}` by `length`. The
|
|
122
|
+
* first cell keeps the field's visible `label` as its name when there is one. */
|
|
123
|
+
pinCellLabel = 'Digit {n} of {total}';
|
|
121
124
|
/** `type="combobox"`: shows a loading indicator and, while no options match, a loading message
|
|
122
125
|
* in the popup instead of "no results". Use while fetching `options` asynchronously. */
|
|
123
126
|
loading = false;
|
|
@@ -710,13 +713,13 @@ export class BsInput {
|
|
|
710
713
|
this.pinInputs = [];
|
|
711
714
|
const errorClass = this.error ? 'bs-input__field--error' : '';
|
|
712
715
|
const disabledClass = this.disabled ? 'bs-input__field--disabled' : '';
|
|
713
|
-
return (h("div", { part: "field", class: `bs-input__field bs-input__field--pin ${errorClass} ${disabledClass}` }, Array.from({ length: this.length }).map((_, i) => (h("input", { id: i === 0 ? 'control' : undefined, ref: el => (this.pinInputs[i] = el), part: "control", class: "bs-input__pin-cell", type: "text", inputMode: "numeric", maxLength: 1, value: this.value[i] ?? '', disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, onInput: this.onPinInput(i), onKeyDown: this.onPinKeydown(i) })))));
|
|
716
|
+
return (h("div", { part: "field", class: `bs-input__field bs-input__field--pin ${errorClass} ${disabledClass}` }, Array.from({ length: this.length }).map((_, i) => (h("input", { id: i === 0 ? 'control' : undefined, ref: el => (this.pinInputs[i] = el), part: "control", class: "bs-input__pin-cell", type: "text", inputMode: "numeric", maxLength: 1, "aria-label": i === 0 && this.label ? undefined : this.pinCellLabel.replace('{n}', String(i + 1)).replace('{total}', String(this.length)), value: this.value[i] ?? '', disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, onInput: this.onPinInput(i), onKeyDown: this.onPinKeydown(i) })))));
|
|
714
717
|
}
|
|
715
718
|
render() {
|
|
716
|
-
return (h("div", { key: '
|
|
719
|
+
return (h("div", { key: '2607d492f534549e07c0f03474452e57ee8d1e62', class: `bs-input ${this.error ? 'bs-input--error' : ''}` }, this.label && (
|
|
717
720
|
// "control" is a fixed id, not a generated one -- safe because Shadow DOM scopes ids
|
|
718
721
|
// to this instance's own shadow root, so it can never collide with another bs-input.
|
|
719
|
-
h("label", { key: '
|
|
722
|
+
h("label", { key: '6c8d72b986a0ca92360778318c66dc66753737b5', part: "label", class: "bs-input__label", htmlFor: "control" }, this.label, this.required && (h("span", { key: '2a37224b19126d5de000592dec29f366a0298630', part: "required", class: "bs-input__required", "aria-hidden": "true" }, "*")))), this.type === 'pin' ? this.renderPinField() : this.type === 'initials' ? this.renderInitialsField() : this.type === 'country' ? this.renderCountryField() : this.renderField(), this.error ? (h("span", { id: "description-or-error", part: "error", class: "bs-input__error" }, h("svg", { part: "error-icon", class: "bs-input__error-icon", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, h("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", "stroke-width": "1.2" }), h("path", { d: "M8 5V8.5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round" }), h("circle", { cx: "8", cy: "11", r: "0.75", fill: "currentColor" })), this.error)) : this.description ? (h("span", { id: "description-or-error", part: "description", class: "bs-input__description" }, this.description)) : null));
|
|
720
723
|
}
|
|
721
724
|
static get is() { return "bs-input"; }
|
|
722
725
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1259,6 +1262,26 @@ export class BsInput {
|
|
|
1259
1262
|
"attribute": "length",
|
|
1260
1263
|
"defaultValue": "4"
|
|
1261
1264
|
},
|
|
1265
|
+
"pinCellLabel": {
|
|
1266
|
+
"type": "string",
|
|
1267
|
+
"mutable": false,
|
|
1268
|
+
"complexType": {
|
|
1269
|
+
"original": "string",
|
|
1270
|
+
"resolved": "string",
|
|
1271
|
+
"references": {}
|
|
1272
|
+
},
|
|
1273
|
+
"required": false,
|
|
1274
|
+
"optional": false,
|
|
1275
|
+
"docs": {
|
|
1276
|
+
"tags": [],
|
|
1277
|
+
"text": "`type=\"pin\"`: accessible name of each cell, with `{n}` replaced by its 1-based position and `{total}` by `length`. The\nfirst cell keeps the field's visible `label` as its name when there is one."
|
|
1278
|
+
},
|
|
1279
|
+
"getter": false,
|
|
1280
|
+
"setter": false,
|
|
1281
|
+
"reflect": false,
|
|
1282
|
+
"attribute": "pin-cell-label",
|
|
1283
|
+
"defaultValue": "'Digit {n} of {total}'"
|
|
1284
|
+
},
|
|
1262
1285
|
"loading": {
|
|
1263
1286
|
"type": "boolean",
|
|
1264
1287
|
"mutable": false,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { html } from "lit";
|
|
2
2
|
import { componentDescription, propDescription } from "../../stories-utils";
|
|
3
|
+
import { expect, userEvent, waitFor } from "storybook/test";
|
|
4
|
+
import { ready, inShadow, recordEvents } from "../../play-utils";
|
|
3
5
|
const inputTypes = ['text', 'email', 'password', 'number', 'search', 'date', 'dropdown', 'select', 'textarea', 'chip', 'initials', 'country', 'pin', 'combobox'];
|
|
4
6
|
const mailIcon = html `
|
|
5
7
|
<svg slot="icon" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
@@ -59,6 +61,18 @@ export const Default = {
|
|
|
59
61
|
args: {
|
|
60
62
|
type: 'email',
|
|
61
63
|
},
|
|
64
|
+
play: async ({ canvasElement }) => {
|
|
65
|
+
const host = await ready(canvasElement, 'bs-input');
|
|
66
|
+
const inputs = recordEvents(host, 'bsInput');
|
|
67
|
+
const control = inShadow(host, '[part="control"]');
|
|
68
|
+
await expect(control).toHaveValue('');
|
|
69
|
+
await userEvent.type(control, 'ada@example.com');
|
|
70
|
+
await expect(control).toHaveValue('ada@example.com');
|
|
71
|
+
await waitFor(() => expect(host.value).toBe('ada@example.com'));
|
|
72
|
+
// One bsInput per keystroke, each carrying the value so far.
|
|
73
|
+
await expect(inputs.at(-1)?.detail).toBe('ada@example.com');
|
|
74
|
+
await expect(inputs).toHaveLength('ada@example.com'.length);
|
|
75
|
+
},
|
|
62
76
|
};
|
|
63
77
|
export const WithDescription = {
|
|
64
78
|
args: { description: "We'll never share your email." },
|
|
@@ -38,7 +38,7 @@ export class BsKey {
|
|
|
38
38
|
this.hasIcon = ev.target.assignedNodes().length > 0;
|
|
39
39
|
};
|
|
40
40
|
render() {
|
|
41
|
-
return (h("kbd", { key: '
|
|
41
|
+
return (h("kbd", { key: '696939056f306280e640f5bfb9a23d3282fd3bdd', part: "container", class: "bs-key" }, !this.hasIcon && (h("span", { key: 'b51ef1e566756374c22ecbd5d744bef23e25efd8', part: "label", class: "bs-key__label" }, h("slot", { key: 'c12e9f373c0da8c981bf13107f464407bb28f5a4' }, this.label))), h("span", { key: 'a0f88845c5a4ebfd6695f23eb204492862620a4d', part: "icon", class: { 'bs-key__icon': true, 'bs-key__icon--hidden': !this.hasIcon } }, h("slot", { key: '5a4209c004c9c30523c7128a61cd7f082a77a06d', name: "icon", onSlotchange: this.onIconSlotChange }))));
|
|
42
42
|
}
|
|
43
43
|
static get is() { return "bs-key"; }
|
|
44
44
|
static get encapsulation() { return "shadow"; }
|
|
@@ -41,7 +41,7 @@ export class BsKeyCaps {
|
|
|
41
41
|
render() {
|
|
42
42
|
const keys = this.keyList();
|
|
43
43
|
const name = this.label ?? (keys.length ? keys.join(' plus ') : undefined);
|
|
44
|
-
return (h("span", { key: '
|
|
44
|
+
return (h("span", { key: '46f3da326c7901ced8a486f32d552a28ac394c77', part: "container", class: "bs-key-caps", role: "group", "aria-label": name, "aria-disabled": this.disabled ? 'true' : undefined }, keys.map(k => (h("bs-key", { label: k }))), h("slot", { key: '072587ad1177338f6477d589431a7bb9d961963a' })));
|
|
45
45
|
}
|
|
46
46
|
static get is() { return "bs-key-caps"; }
|
|
47
47
|
static get encapsulation() { return "shadow"; }
|