@brandsync/wc 1.12.1 → 1.14.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 +22 -0
- package/CONVENTIONS.md +109 -0
- package/REFERENCE.md +1388 -0
- package/custom-elements.json +5069 -2575
- package/dist/brandsync-wc/brandsync-wc.css +1 -1783
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-83c90489.entry.js → p-00be9a64.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b9ccd9d1.entry.js → p-020cb767.entry.js} +1 -1
- package/dist/brandsync-wc/p-046a53de.entry.js +1 -0
- package/dist/brandsync-wc/p-056608f0.entry.js +1 -0
- package/dist/brandsync-wc/p-0cb6fc39.entry.js +1 -0
- package/dist/brandsync-wc/p-0e738622.entry.js +1 -0
- package/dist/brandsync-wc/{p-e5daa6ca.entry.js → p-10290c41.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e2556b4e.entry.js → p-144b6ac8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-56c37e0a.entry.js → p-16c78ff6.entry.js} +1 -1
- package/dist/brandsync-wc/p-1b5cc9b8.entry.js +1 -0
- package/dist/brandsync-wc/p-204cc690.entry.js +1 -0
- package/dist/brandsync-wc/p-221244a9.entry.js +1 -0
- package/dist/brandsync-wc/p-227a5182.entry.js +1 -0
- package/dist/brandsync-wc/p-23b56775.entry.js +1 -0
- package/dist/brandsync-wc/p-2967240d.entry.js +1 -0
- package/dist/brandsync-wc/p-2c1efaa1.entry.js +1 -0
- package/dist/brandsync-wc/p-2e68b76e.entry.js +1 -0
- package/dist/brandsync-wc/{p-a9169157.entry.js → p-315b510c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1978e63c.entry.js → p-31cd66e0.entry.js} +1 -1
- package/dist/brandsync-wc/p-3477539c.entry.js +1 -0
- package/dist/brandsync-wc/{p-81605b82.entry.js → p-361aef36.entry.js} +1 -1
- package/dist/brandsync-wc/{p-89fabf27.entry.js → p-3789c7a5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2497d128.entry.js → p-3dabf202.entry.js} +1 -1
- package/dist/brandsync-wc/{p-fc069773.entry.js → p-45cb3e6d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-de110ad0.entry.js → p-47b7fe76.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2f4e08e1.entry.js → p-47cd19aa.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f15d9524.entry.js → p-4b40a596.entry.js} +1 -1
- package/dist/brandsync-wc/p-51f40972.entry.js +1 -0
- package/dist/brandsync-wc/{p-39a26c64.entry.js → p-617bd76d.entry.js} +1 -1
- package/dist/brandsync-wc/p-658532b7.entry.js +1 -0
- package/dist/brandsync-wc/{p-617bd13a.entry.js → p-686297f1.entry.js} +1 -1
- package/dist/brandsync-wc/{p-78f4fcf0.entry.js → p-6ca1e51b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-52cb2358.entry.js → p-6e923ebc.entry.js} +1 -1
- package/dist/brandsync-wc/{p-00a0d489.entry.js → p-8048d033.entry.js} +1 -1
- package/dist/brandsync-wc/{p-0b2d3b7e.entry.js → p-80700878.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2368a92e.entry.js → p-8184d7de.entry.js} +1 -1
- package/dist/brandsync-wc/p-833f9dc4.entry.js +1 -0
- package/dist/brandsync-wc/p-8390a155.entry.js +1 -0
- package/dist/brandsync-wc/{p-fcee0dc4.entry.js → p-89fa7567.entry.js} +1 -1
- package/dist/brandsync-wc/{p-7796b93f.entry.js → p-8c9938a5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-68fcd4a4.entry.js → p-9125632c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-416322bd.entry.js → p-94d435a2.entry.js} +1 -1
- package/dist/brandsync-wc/p-9d12b1fb.entry.js +1 -0
- package/dist/brandsync-wc/{p-5ba90a13.entry.js → p-9d660c03.entry.js} +1 -1
- package/dist/brandsync-wc/p-9fa67924.entry.js +1 -0
- package/dist/brandsync-wc/p-D3SkQJpw.js +3 -0
- package/dist/brandsync-wc/{p-7f954939.entry.js → p-a28ef52e.entry.js} +1 -1
- package/dist/brandsync-wc/p-a2e59aca.entry.js +1 -0
- package/dist/brandsync-wc/{p-09435f41.entry.js → p-a5659499.entry.js} +1 -1
- package/dist/brandsync-wc/p-b6ac1b50.entry.js +1 -0
- package/dist/brandsync-wc/{p-69c0a85d.entry.js → p-b793a0d6.entry.js} +1 -1
- package/dist/brandsync-wc/p-bee30626.entry.js +1 -0
- package/dist/brandsync-wc/{p-1aab6d07.entry.js → p-c05ee501.entry.js} +1 -1
- package/dist/brandsync-wc/p-c488cc8b.entry.js +1 -0
- package/dist/brandsync-wc/p-c67bc817.entry.js +1 -0
- package/dist/brandsync-wc/{p-247e36ad.entry.js → p-cc1055e6.entry.js} +1 -1
- package/dist/brandsync-wc/p-cc25ee67.entry.js +1 -0
- package/dist/brandsync-wc/p-ce16f038.entry.js +1 -0
- package/dist/brandsync-wc/{p-491b51e6.entry.js → p-d5a6098d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-282ddbee.entry.js → p-d892277f.entry.js} +1 -1
- package/dist/brandsync-wc/p-dd52209a.entry.js +1 -0
- package/dist/brandsync-wc/{p-09bc1923.entry.js → p-df3e7973.entry.js} +1 -1
- package/dist/brandsync-wc/p-dfad8c0a.entry.js +1 -0
- package/dist/brandsync-wc/p-e0927a9a.entry.js +1 -0
- package/dist/brandsync-wc/{p-0ee4126c.entry.js → p-e1b7bea7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-0b7c77c1.entry.js → p-e65d286c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f5180578.entry.js → p-e6fc2cd4.entry.js} +1 -1
- package/dist/brandsync-wc/p-f271e1d2.entry.js +1 -0
- package/dist/brandsync-wc/{p-3f09296a.entry.js → p-f3eca1ce.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2177042f.entry.js → p-fa6b9750.entry.js} +1 -1
- package/dist/brandsync-wc/{p-78a69a59.entry.js → p-fc76031e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-be3dd446.entry.js → p-ffc07eb5.entry.js} +1 -1
- package/dist/cjs/brandsync-wc.cjs.js +2 -2
- package/dist/cjs/bs-accordion-group.cjs.entry.js +33 -0
- 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 +9 -5
- package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
- package/dist/cjs/bs-badge.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +2 -2
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +4 -2
- package/dist/cjs/bs-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-card.cjs.entry.js +1 -1
- package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +18 -2
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +20 -2
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +25 -3
- package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +4 -2
- package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +3 -3
- package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +4 -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 +4 -2
- package/dist/cjs/bs-citation-preview.cjs.entry.js +29 -0
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +11 -3
- package/dist/cjs/bs-composer.cjs.entry.js +36 -7
- package/dist/cjs/bs-cookie-consent.cjs.entry.js +1 -1
- package/dist/cjs/bs-data-table.cjs.entry.js +5 -3
- package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/bs-dialog.cjs.entry.js +4 -2
- 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-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-icon-tile.cjs.entry.js +1 -1
- package/dist/cjs/bs-inline-tab.cjs.entry.js +2 -2
- package/dist/cjs/bs-input_3.cjs.entry.js +15 -7
- package/dist/cjs/bs-logo.cjs.entry.js +1 -1
- package/dist/cjs/bs-message-list.cjs.entry.js +71 -0
- package/dist/cjs/bs-message.cjs.entry.js +25 -0
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +2 -2
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +9 -3
- package/dist/cjs/bs-navigation-header.cjs.entry.js +2 -2
- package/dist/cjs/bs-onboarding-checklist.cjs.entry.js +1 -1
- package/dist/cjs/bs-pagination.cjs.entry.js +6 -2
- package/dist/cjs/bs-popover.cjs.entry.js +153 -0
- package/dist/cjs/bs-product-tour.cjs.entry.js +1 -1
- package/dist/cjs/bs-progress-linear.cjs.entry.js +3 -3
- package/dist/cjs/bs-progress.cjs.entry.js +3 -3
- package/dist/cjs/bs-qr-code.cjs.entry.js +2 -2
- package/dist/cjs/bs-radio.cjs.entry.js +2 -2
- package/dist/cjs/bs-session-timeout.cjs.entry.js +2 -2
- package/dist/cjs/bs-side-panel.cjs.entry.js +164 -0
- package/dist/cjs/bs-skeleton.cjs.entry.js +51 -0
- package/dist/cjs/bs-slider.cjs.entry.js +7 -3
- package/dist/cjs/bs-snackbar.cjs.entry.js +2 -2
- package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
- package/dist/cjs/bs-spinner.cjs.entry.js +24 -0
- package/dist/cjs/bs-split-pane.cjs.entry.js +193 -0
- 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 +4 -4
- package/dist/cjs/bs-timepicker.cjs.entry.js +8 -4
- package/dist/cjs/bs-toast.cjs.entry.js +4 -2
- package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +46 -0
- package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/bs-whats-new.cjs.entry.js +1 -1
- package/dist/cjs/index-BYfMRtlW.js +1863 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +10 -0
- package/dist/collection/components/bs-accordion-group/bs-accordion-group.cmp.test.js +39 -0
- package/dist/collection/components/bs-accordion-group/bs-accordion-group.css +10 -0
- package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +86 -0
- package/dist/collection/components/bs-accordion-group/bs-accordion-group.stories.js +18 -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.js +48 -4
- 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-skeleton/bs-button-skeleton.js +23 -1
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.cmp.test.js +10 -0
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +178 -2
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.cmp.test.js +6 -0
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +200 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.cmp.test.js +8 -0
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.css +4 -0
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +223 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +24 -2
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.css +1 -4
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +3 -6
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +23 -1
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +23 -1
- package/dist/collection/components/bs-citation-preview/bs-citation-preview.cmp.test.js +34 -0
- package/dist/collection/components/bs-citation-preview/bs-citation-preview.css +36 -0
- package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +154 -0
- package/dist/collection/components/bs-citation-preview/bs-citation-preview.stories.js +22 -0
- package/dist/collection/components/bs-composer/bs-composer.cmp.test.js +29 -2
- package/dist/collection/components/bs-composer/bs-composer.css +16 -0
- package/dist/collection/components/bs-composer/bs-composer.js +234 -6
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.cmp.test.js +5 -0
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.css +16 -0
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +49 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +24 -2
- package/dist/collection/components/bs-dialog/bs-dialog.js +23 -1
- package/dist/collection/components/bs-input/bs-input.js +92 -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-message/bs-message.cmp.test.js +36 -0
- package/dist/collection/components/bs-message/bs-message.css +77 -0
- package/dist/collection/components/bs-message/bs-message.js +156 -0
- package/dist/collection/components/bs-message/bs-message.stories.js +33 -0
- package/dist/collection/components/bs-message-list/bs-message-list.cmp.test.js +58 -0
- package/dist/collection/components/bs-message-list/bs-message-list.css +40 -0
- package/dist/collection/components/bs-message-list/bs-message-list.js +161 -0
- package/dist/collection/components/bs-message-list/bs-message-list.stories.js +17 -0
- package/dist/collection/components/bs-pagination/bs-pagination.cmp.test.js +5 -0
- package/dist/collection/components/bs-pagination/bs-pagination.js +45 -1
- package/dist/collection/components/bs-popover/bs-popover.cmp.test.js +107 -0
- package/dist/collection/components/bs-popover/bs-popover.css +61 -0
- package/dist/collection/components/bs-popover/bs-popover.js +247 -0
- package/dist/collection/components/bs-popover/bs-popover.stories.js +26 -0
- package/dist/collection/components/bs-progress/bs-progress.js +2 -2
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
- package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
- package/dist/collection/components/bs-radio/bs-radio.js +1 -1
- package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
- package/dist/collection/components/bs-side-panel/bs-side-panel.cmp.test.js +117 -0
- package/dist/collection/components/bs-side-panel/bs-side-panel.css +77 -0
- package/dist/collection/components/bs-side-panel/bs-side-panel.js +325 -0
- package/dist/collection/components/bs-side-panel/bs-side-panel.stories.js +24 -0
- package/dist/collection/components/bs-skeleton/bs-skeleton.cmp.test.js +49 -0
- package/dist/collection/components/bs-skeleton/bs-skeleton.css +62 -0
- package/dist/collection/components/bs-skeleton/bs-skeleton.js +204 -0
- package/dist/collection/components/bs-skeleton/bs-skeleton.stories.js +43 -0
- package/dist/collection/components/bs-slider/bs-slider.js +46 -2
- package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
- package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
- package/dist/collection/components/bs-spinner/bs-spinner.cmp.test.js +32 -0
- package/dist/collection/components/bs-spinner/bs-spinner.css +61 -0
- package/dist/collection/components/bs-spinner/bs-spinner.js +96 -0
- package/dist/collection/components/bs-spinner/bs-spinner.stories.js +30 -0
- package/dist/collection/components/bs-split-pane/bs-split-pane.cmp.test.js +107 -0
- package/dist/collection/components/bs-split-pane/bs-split-pane.css +108 -0
- package/dist/collection/components/bs-split-pane/bs-split-pane.js +404 -0
- package/dist/collection/components/bs-split-pane/bs-split-pane.stories.js +47 -0
- 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.js +48 -4
- package/dist/collection/components/bs-toast/bs-toast.js +23 -1
- package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.cmp.test.js +73 -0
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.css +52 -0
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +140 -0
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.stories.js +21 -0
- package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +68 -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/collection/global/brand-theming.cmp.test.js +44 -0
- package/dist/components/bs-accordion-group.d.ts +11 -0
- package/dist/components/bs-accordion-group.js +1 -0
- 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-citation-preview.d.ts +11 -0
- package/dist/components/bs-citation-preview.js +1 -0
- package/dist/components/bs-composer-status-banner.js +1 -1
- package/dist/components/bs-composer.js +1 -1
- package/dist/components/bs-cookie-consent.js +1 -1
- package/dist/components/bs-data-table.js +1 -1
- package/dist/components/bs-datepicker.js +1 -1
- package/dist/components/bs-dialog.js +1 -1
- package/dist/components/bs-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-icon-button.js +1 -1
- package/dist/components/bs-icon-tile.js +1 -1
- package/dist/components/bs-inline-tab.js +1 -1
- package/dist/components/bs-input.js +1 -1
- package/dist/components/bs-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-message-list.d.ts +11 -0
- package/dist/components/bs-message-list.js +1 -0
- package/dist/components/bs-message.d.ts +11 -0
- package/dist/components/bs-message.js +1 -0
- 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-pagination.js +1 -1
- package/dist/components/bs-popover.d.ts +11 -0
- package/dist/components/bs-popover.js +1 -0
- package/dist/components/bs-product-tour.js +1 -1
- package/dist/components/bs-progress-linear.js +1 -1
- package/dist/components/bs-progress.js +1 -1
- package/dist/components/bs-qr-code.js +1 -1
- package/dist/components/bs-radio.js +1 -1
- package/dist/components/bs-session-timeout.js +1 -1
- package/dist/components/bs-side-panel.d.ts +11 -0
- package/dist/components/bs-side-panel.js +1 -0
- package/dist/components/bs-skeleton.d.ts +11 -0
- package/dist/components/bs-skeleton.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-spinner.d.ts +11 -0
- package/dist/components/bs-spinner.js +1 -0
- package/dist/components/bs-split-pane.d.ts +11 -0
- package/dist/components/bs-split-pane.js +1 -0
- package/dist/components/bs-stepper-step.js +1 -1
- package/dist/components/bs-stepper.js +1 -1
- package/dist/components/bs-switch.js +1 -1
- package/dist/components/bs-tab.js +1 -1
- package/dist/components/bs-tabs.js +1 -1
- package/dist/components/bs-timepicker.js +1 -1
- package/dist/components/bs-toast.js +1 -1
- package/dist/components/bs-tooltip-trigger.d.ts +11 -0
- package/dist/components/bs-tooltip-trigger.js +1 -0
- package/dist/components/bs-tooltip.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/index.js +1 -1
- package/dist/components/p-B2gx7SZk.js +1 -0
- package/dist/components/{p-C_j_jDM6.js → p-BESyTlfT.js} +1 -1
- package/dist/components/{p-YsHQLXET.js → p-BIW9eUic.js} +1 -1
- package/dist/components/{p-Be_Pmccm.js → p-BJR8KVFc.js} +1 -1
- package/dist/components/{p-BEEoVNRu.js → p-BTPdjnXT.js} +1 -1
- package/dist/components/{p-Be9L4_Fe.js → p-CDYw4Eyj.js} +1 -1
- package/dist/components/{p-DuLL7Ouw.js → p-CRtvJlh8.js} +1 -1
- package/dist/components/{p-Dr0Qk9Zc.js → p-ChcaPfNL.js} +1 -1
- package/dist/components/{p-DE8K7fg0.js → p-CiSEDtbE.js} +1 -1
- package/dist/components/{p-CbimDNGY.js → p-CrmEXUwm.js} +1 -1
- package/dist/components/{p-zTHlbyH6.js → p-DAwSBMeM.js} +1 -1
- package/dist/components/{p-qmS2CBqi.js → p-DYuzgzxI.js} +1 -1
- package/dist/components/p-Dm3TqgV_.js +1 -0
- package/dist/components/{p-CUfs0ROR.js → p-DpVeeIko.js} +1 -1
- package/dist/components/{p-CA31vqjL.js → p-DvNED6Lb.js} +1 -1
- package/dist/components/{p-Bl_tVzeq.js → p-HAmR4gM2.js} +1 -1
- package/dist/components/p-HzaOqQ0U.js +1 -0
- package/dist/components/{p-C8yT2Ucq.js → p-QnTjSed5.js} +1 -1
- package/dist/components/{p-CncySD_-.js → p-Rx4bpeYN.js} +1 -1
- package/dist/components/p-nC2VxRNo.js +1 -0
- package/dist/components/p-zscW5LNR.js +1 -0
- package/dist/esm/brandsync-wc.js +3 -3
- package/dist/esm/bs-accordion-group.entry.js +31 -0
- 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 +9 -5
- package/dist/esm/bs-avatar.entry.js +1 -1
- package/dist/esm/bs-badge.entry.js +1 -1
- package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
- package/dist/esm/bs-breadcrumb.entry.js +1 -1
- package/dist/esm/bs-breadcrumbs.entry.js +2 -2
- package/dist/esm/bs-button-skeleton.entry.js +4 -2
- package/dist/esm/bs-button.entry.js +1 -1
- package/dist/esm/bs-card.entry.js +1 -1
- package/dist/esm/bs-carousel.entry.js +1 -1
- package/dist/esm/bs-chatbot-feedback.entry.js +18 -2
- package/dist/esm/bs-chatbot-header.entry.js +20 -2
- package/dist/esm/bs-chatbot-response-action.entry.js +25 -3
- package/dist/esm/bs-chatbot-sources-drawer.entry.js +4 -2
- package/dist/esm/bs-chatbot-suggestion-button.entry.js +3 -3
- package/dist/esm/bs-checkbox-skeleton.entry.js +4 -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 +4 -2
- package/dist/esm/bs-citation-preview.entry.js +27 -0
- package/dist/esm/bs-composer-status-banner.entry.js +11 -3
- package/dist/esm/bs-composer.entry.js +36 -7
- package/dist/esm/bs-cookie-consent.entry.js +1 -1
- package/dist/esm/bs-data-table.entry.js +5 -3
- package/dist/esm/bs-datepicker.entry.js +1 -1
- package/dist/esm/bs-dialog.entry.js +4 -2
- 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-icon-button.entry.js +1 -1
- package/dist/esm/bs-icon-tile.entry.js +1 -1
- package/dist/esm/bs-inline-tab.entry.js +2 -2
- package/dist/esm/bs-input_3.entry.js +15 -7
- package/dist/esm/bs-logo.entry.js +1 -1
- package/dist/esm/bs-message-list.entry.js +69 -0
- package/dist/esm/bs-message.entry.js +23 -0
- package/dist/esm/bs-navigation-drawer-item.entry.js +2 -2
- package/dist/esm/bs-navigation-drawer.entry.js +9 -3
- package/dist/esm/bs-navigation-header.entry.js +2 -2
- package/dist/esm/bs-onboarding-checklist.entry.js +1 -1
- package/dist/esm/bs-pagination.entry.js +6 -2
- package/dist/esm/bs-popover.entry.js +151 -0
- package/dist/esm/bs-product-tour.entry.js +1 -1
- package/dist/esm/bs-progress-linear.entry.js +3 -3
- package/dist/esm/bs-progress.entry.js +3 -3
- package/dist/esm/bs-qr-code.entry.js +2 -2
- package/dist/esm/bs-radio.entry.js +2 -2
- package/dist/esm/bs-session-timeout.entry.js +2 -2
- package/dist/esm/bs-side-panel.entry.js +162 -0
- package/dist/esm/bs-skeleton.entry.js +49 -0
- package/dist/esm/bs-slider.entry.js +7 -3
- package/dist/esm/bs-snackbar.entry.js +2 -2
- package/dist/esm/bs-source-link.entry.js +3 -3
- package/dist/esm/bs-spinner.entry.js +22 -0
- package/dist/esm/bs-split-pane.entry.js +191 -0
- 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 +4 -4
- package/dist/esm/bs-timepicker.entry.js +8 -4
- package/dist/esm/bs-toast.entry.js +4 -2
- package/dist/esm/bs-tooltip-trigger.entry.js +44 -0
- package/dist/esm/bs-tooltip.entry.js +2 -2
- package/dist/esm/bs-whats-new.entry.js +1 -1
- package/dist/esm/index-D3SkQJpw.js +1853 -0
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/bs-accordion-group/bs-accordion-group.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-accordion-group/bs-accordion-group.d.ts +25 -0
- package/dist/types/components/bs-accordion-group/bs-accordion-group.stories.d.ts +9 -0
- package/dist/types/components/bs-attachment/bs-attachment.d.ts +4 -0
- package/dist/types/components/bs-button-skeleton/bs-button-skeleton.d.ts +2 -0
- package/dist/types/components/bs-chatbot-feedback/bs-chatbot-feedback.d.ts +16 -0
- package/dist/types/components/bs-chatbot-header/bs-chatbot-header.d.ts +19 -0
- package/dist/types/components/bs-chatbot-response-action/bs-chatbot-response-action.d.ts +22 -0
- package/dist/types/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.d.ts +2 -0
- package/dist/types/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.d.ts +2 -5
- package/dist/types/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.d.ts +2 -0
- package/dist/types/components/bs-chip/bs-chip-input/bs-chip-input.d.ts +2 -0
- package/dist/types/components/bs-citation-preview/bs-citation-preview.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-citation-preview/bs-citation-preview.d.ts +40 -0
- package/dist/types/components/bs-citation-preview/bs-citation-preview.stories.d.ts +13 -0
- package/dist/types/components/bs-composer/bs-composer.d.ts +25 -1
- package/dist/types/components/bs-composer-status-banner/bs-composer-status-banner.d.ts +5 -0
- package/dist/types/components/bs-data-table/bs-data-table.d.ts +2 -0
- package/dist/types/components/bs-dialog/bs-dialog.d.ts +2 -0
- package/dist/types/components/bs-input/bs-input.d.ts +8 -0
- package/dist/types/components/bs-message/bs-message.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-message/bs-message.d.ts +49 -0
- package/dist/types/components/bs-message/bs-message.stories.d.ts +15 -0
- package/dist/types/components/bs-message-list/bs-message-list.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-message-list/bs-message-list.d.ts +44 -0
- package/dist/types/components/bs-message-list/bs-message-list.stories.d.ts +8 -0
- package/dist/types/components/bs-pagination/bs-pagination.d.ts +4 -0
- package/dist/types/components/bs-popover/bs-popover.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-popover/bs-popover.d.ts +58 -0
- package/dist/types/components/bs-popover/bs-popover.stories.d.ts +11 -0
- package/dist/types/components/bs-side-panel/bs-side-panel.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-side-panel/bs-side-panel.d.ts +67 -0
- package/dist/types/components/bs-side-panel/bs-side-panel.stories.d.ts +14 -0
- package/dist/types/components/bs-skeleton/bs-skeleton.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-skeleton/bs-skeleton.d.ts +44 -0
- package/dist/types/components/bs-skeleton/bs-skeleton.stories.d.ts +17 -0
- package/dist/types/components/bs-slider/bs-slider.d.ts +4 -0
- package/dist/types/components/bs-spinner/bs-spinner.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-spinner/bs-spinner.d.ts +32 -0
- package/dist/types/components/bs-spinner/bs-spinner.stories.d.ts +12 -0
- package/dist/types/components/bs-split-pane/bs-split-pane.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-split-pane/bs-split-pane.d.ts +85 -0
- package/dist/types/components/bs-split-pane/bs-split-pane.stories.d.ts +15 -0
- package/dist/types/components/bs-timepicker/bs-timepicker.d.ts +4 -0
- package/dist/types/components/bs-toast/bs-toast.d.ts +2 -0
- package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.d.ts +35 -0
- package/dist/types/components/bs-tooltip-trigger/bs-tooltip-trigger.stories.d.ts +10 -0
- package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +6 -0
- package/dist/types/components.d.ts +1995 -39
- package/dist/types/global/brand-theming.cmp.test.d.ts +1 -0
- package/package.json +21 -5
- package/reference.d.ts +245 -0
- package/reference.json +4284 -0
- package/reference.mjs +2 -0
- package/tailwind-preset.cjs +36 -0
- package/testing/vitest-setup.mjs +41 -0
- package/dist/brandsync-wc/p-09cbf05b.entry.js +0 -1
- package/dist/brandsync-wc/p-0f8cd2e8.entry.js +0 -1
- package/dist/brandsync-wc/p-1261f0b0.entry.js +0 -1
- package/dist/brandsync-wc/p-20030f4d.entry.js +0 -1
- package/dist/brandsync-wc/p-22f8201a.entry.js +0 -1
- package/dist/brandsync-wc/p-34e5feaf.entry.js +0 -1
- package/dist/brandsync-wc/p-3a1af63a.entry.js +0 -1
- package/dist/brandsync-wc/p-452f9c1c.entry.js +0 -1
- package/dist/brandsync-wc/p-6a696161.entry.js +0 -1
- package/dist/brandsync-wc/p-6c6cdf77.entry.js +0 -1
- package/dist/brandsync-wc/p-6e735e37.entry.js +0 -1
- package/dist/brandsync-wc/p-73f214ed.entry.js +0 -1
- package/dist/brandsync-wc/p-823ab3b2.entry.js +0 -1
- package/dist/brandsync-wc/p-DqQRXQMx.js +0 -3
- package/dist/brandsync-wc/p-b84366a7.entry.js +0 -1
- package/dist/brandsync-wc/p-b8d2ce91.entry.js +0 -1
- package/dist/brandsync-wc/p-b9a4042e.entry.js +0 -1
- package/dist/brandsync-wc/p-d754ee13.entry.js +0 -1
- package/dist/brandsync-wc/p-d75f3f87.entry.js +0 -1
- package/dist/brandsync-wc/p-d8b29a53.entry.js +0 -1
- package/dist/brandsync-wc/p-f7d15fbe.entry.js +0 -1
- package/dist/cjs/index-tFJjflK5.js +0 -1863
- package/dist/components/p-BGW5q5LZ.js +0 -1
- package/dist/components/p-BZ3M4lOU.js +0 -1
- package/dist/components/p-CVrEuVFo.js +0 -1
- package/dist/components/p-CeUK3n7D.js +0 -1
- package/dist/esm/index-DqQRXQMx.js +0 -1853
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
let panelId = 0;
|
|
3
|
+
/**
|
|
4
|
+
* A generic slide-in panel (drawer) anchored to the start or end edge, for history, filters, FAQ
|
|
5
|
+
* and similar secondary content. Closes via its close button or Escape and emits `bsClose`.
|
|
6
|
+
*
|
|
7
|
+
* Composed from `bs-icon-button` (close button).
|
|
8
|
+
*
|
|
9
|
+
* While open, Tab/Shift+Tab are trapped in the panel; with `overlay`, the rest of the page is made `inert`.
|
|
10
|
+
*
|
|
11
|
+
* ## When to use
|
|
12
|
+
* - Secondary content that sits beside the page without leaving it.
|
|
13
|
+
*
|
|
14
|
+
* ## When not to use
|
|
15
|
+
* - A blocking confirmation (use `bs-dialog`).
|
|
16
|
+
*
|
|
17
|
+
* @slot - Default slot: the panel body.
|
|
18
|
+
* @slot header-actions - Extra actions shown in the header next to the close button.
|
|
19
|
+
* @slot footer - Optional footer area (e.g. apply/reset buttons).
|
|
20
|
+
* @part overlay - The backdrop (only when `overlay` is set).
|
|
21
|
+
* @part panel - The panel surface (role="dialog").
|
|
22
|
+
* @part header - The header row.
|
|
23
|
+
* @part heading - The heading text.
|
|
24
|
+
* @part body - The scrollable body.
|
|
25
|
+
* @part footer - The footer wrapper.
|
|
26
|
+
* @prop --bs-side-panel-bg - Panel background. Aliased to `--bs-surface-raised`.
|
|
27
|
+
* @prop --bs-side-panel-width - Panel width. Aliased to `calc(var(--bs-scale-1600) * 3)`.
|
|
28
|
+
* @prop --bs-side-panel-padding - Header/body/footer padding. Aliased to `--bs-spacing-200`.
|
|
29
|
+
* @prop --bs-side-panel-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
|
|
30
|
+
* @prop --bs-side-panel-overlay-bg - Backdrop color. Aliased to `--bs-surface-overlay`.
|
|
31
|
+
* @prop --bs-side-panel-color - Text color. Aliased to `--bs-text-default`.
|
|
32
|
+
* @prop --bs-side-panel-z-index - Stacking order. Aliased to `--bs-z-index-modal`.
|
|
33
|
+
*/
|
|
34
|
+
export class BsSidePanel {
|
|
35
|
+
el;
|
|
36
|
+
/** Whether the panel is visible. */
|
|
37
|
+
open = false;
|
|
38
|
+
/** Panel title; also its accessible name. */
|
|
39
|
+
heading = '';
|
|
40
|
+
/** Edge the panel is anchored to. */
|
|
41
|
+
side = 'end';
|
|
42
|
+
/** Accessible label of the close button. */
|
|
43
|
+
closeLabel = 'Close';
|
|
44
|
+
/** Shows a backdrop behind the panel; clicking it closes the panel. */
|
|
45
|
+
overlay = false;
|
|
46
|
+
/** Emitted when the panel requests to close (close button, Escape, overlay click). */
|
|
47
|
+
bsClose;
|
|
48
|
+
headingId = `bs-side-panel-heading-${++panelId}`;
|
|
49
|
+
previouslyFocused = null;
|
|
50
|
+
panelEl;
|
|
51
|
+
/** Elements we set `inert` on (so we only undo our own changes). */
|
|
52
|
+
inertified = [];
|
|
53
|
+
onOpenChange(next) {
|
|
54
|
+
if (next) {
|
|
55
|
+
this.previouslyFocused = document.activeElement ?? null;
|
|
56
|
+
this.applyInert();
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.restoreInert();
|
|
60
|
+
this.previouslyFocused?.focus?.();
|
|
61
|
+
this.previouslyFocused = null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
onOverlayChange() {
|
|
65
|
+
if (!this.open)
|
|
66
|
+
return;
|
|
67
|
+
this.restoreInert();
|
|
68
|
+
this.applyInert();
|
|
69
|
+
}
|
|
70
|
+
connectedCallback() {
|
|
71
|
+
if (this.open)
|
|
72
|
+
this.applyInert();
|
|
73
|
+
}
|
|
74
|
+
disconnectedCallback() {
|
|
75
|
+
this.restoreInert();
|
|
76
|
+
}
|
|
77
|
+
/** Marks everything outside the panel as inert (modal overlay only). */
|
|
78
|
+
applyInert() {
|
|
79
|
+
if (!this.overlay || this.inertified.length)
|
|
80
|
+
return;
|
|
81
|
+
let node = this.el;
|
|
82
|
+
while (node && node !== document.body) {
|
|
83
|
+
const parent = node.parentElement;
|
|
84
|
+
if (!parent)
|
|
85
|
+
break;
|
|
86
|
+
Array.from(parent.children).forEach(sib => {
|
|
87
|
+
if (sib === node || !(sib instanceof HTMLElement) || sib.inert)
|
|
88
|
+
return;
|
|
89
|
+
sib.inert = true;
|
|
90
|
+
this.inertified.push(sib);
|
|
91
|
+
});
|
|
92
|
+
node = parent;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
restoreInert() {
|
|
96
|
+
this.inertified.forEach(el => (el.inert = false));
|
|
97
|
+
this.inertified = [];
|
|
98
|
+
}
|
|
99
|
+
getFocusables() {
|
|
100
|
+
const sel = 'a[href],button:not([disabled]),input:not([disabled]):not([type="hidden"]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"]),bs-icon-button,[contenteditable="true"]';
|
|
101
|
+
const out = [];
|
|
102
|
+
const visit = (root) => {
|
|
103
|
+
Array.from(root.children).forEach(child => {
|
|
104
|
+
if (child instanceof HTMLSlotElement) {
|
|
105
|
+
const assigned = child.assignedElements({ flatten: true });
|
|
106
|
+
assigned.forEach(a => consider(a));
|
|
107
|
+
}
|
|
108
|
+
else
|
|
109
|
+
consider(child);
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
const consider = (el) => {
|
|
113
|
+
if (!(el instanceof HTMLElement) || el.hidden || el.inert)
|
|
114
|
+
return;
|
|
115
|
+
if (el.matches(sel) && el.getAttribute('tabindex') !== '-1') {
|
|
116
|
+
// A custom element that delegates focus is itself the tab stop.
|
|
117
|
+
out.push(el);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
visit(el.shadowRoot ?? el);
|
|
121
|
+
};
|
|
122
|
+
if (this.panelEl)
|
|
123
|
+
visit(this.panelEl);
|
|
124
|
+
return out;
|
|
125
|
+
}
|
|
126
|
+
trapTab(ev) {
|
|
127
|
+
const items = this.getFocusables();
|
|
128
|
+
if (!items.length) {
|
|
129
|
+
ev.preventDefault();
|
|
130
|
+
this.panelEl?.focus();
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
const first = items[0];
|
|
134
|
+
const last = items[items.length - 1];
|
|
135
|
+
const path = ev.composedPath();
|
|
136
|
+
const active = items.find(i => path.includes(i));
|
|
137
|
+
const atPanel = path[0] === this.panelEl;
|
|
138
|
+
if (ev.shiftKey && (atPanel || active === first || !active)) {
|
|
139
|
+
ev.preventDefault();
|
|
140
|
+
last.focus();
|
|
141
|
+
}
|
|
142
|
+
else if (!ev.shiftKey && (active === last || (!active && !atPanel))) {
|
|
143
|
+
ev.preventDefault();
|
|
144
|
+
first.focus();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
componentDidRender() {
|
|
148
|
+
if (this.open && this.panelEl && !this.focusedIn) {
|
|
149
|
+
this.focusedIn = true;
|
|
150
|
+
this.panelEl.focus();
|
|
151
|
+
}
|
|
152
|
+
else if (!this.open) {
|
|
153
|
+
this.focusedIn = false;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
focusedIn = false;
|
|
157
|
+
close = () => {
|
|
158
|
+
this.open = false;
|
|
159
|
+
this.bsClose.emit();
|
|
160
|
+
};
|
|
161
|
+
onKeyDown = (ev) => {
|
|
162
|
+
if (ev.key === 'Escape' && this.open) {
|
|
163
|
+
ev.stopPropagation();
|
|
164
|
+
this.close();
|
|
165
|
+
}
|
|
166
|
+
else if (ev.key === 'Tab' && this.open) {
|
|
167
|
+
this.trapTab(ev);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
render() {
|
|
171
|
+
if (!this.open)
|
|
172
|
+
return null;
|
|
173
|
+
return (h("div", { class: `bs-side-panel bs-side-panel--${this.side}`, onKeyDown: this.onKeyDown }, this.overlay && h("div", { part: "overlay", class: "bs-side-panel__overlay", onClick: this.close }), h("div", { part: "panel", class: "bs-side-panel__panel", role: "dialog", "aria-modal": "true", "aria-labelledby": this.headingId, tabindex: "-1", ref: el => (this.panelEl = el) }, h("div", { part: "header", class: "bs-side-panel__header" }, h("h2", { part: "heading", id: this.headingId, class: "bs-side-panel__heading" }, this.heading), h("div", { class: "bs-side-panel__actions" }, h("slot", { name: "header-actions" }), h("bs-icon-button", { variant: "subtle", ariaLabel: this.closeLabel, onClick: this.close }, h("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { d: "M6 6L18 18M18 6L6 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" }))))), h("div", { part: "body", class: "bs-side-panel__body" }, h("slot", null)), h("div", { part: "footer", class: "bs-side-panel__footer" }, h("slot", { name: "footer" })))));
|
|
174
|
+
}
|
|
175
|
+
static get is() { return "bs-side-panel"; }
|
|
176
|
+
static get encapsulation() { return "shadow"; }
|
|
177
|
+
static get originalStyleUrls() {
|
|
178
|
+
return {
|
|
179
|
+
"$": ["bs-side-panel.css"]
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
static get styleUrls() {
|
|
183
|
+
return {
|
|
184
|
+
"$": ["bs-side-panel.css"]
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
static get properties() {
|
|
188
|
+
return {
|
|
189
|
+
"open": {
|
|
190
|
+
"type": "boolean",
|
|
191
|
+
"mutable": true,
|
|
192
|
+
"complexType": {
|
|
193
|
+
"original": "boolean",
|
|
194
|
+
"resolved": "boolean",
|
|
195
|
+
"references": {}
|
|
196
|
+
},
|
|
197
|
+
"required": false,
|
|
198
|
+
"optional": false,
|
|
199
|
+
"docs": {
|
|
200
|
+
"tags": [],
|
|
201
|
+
"text": "Whether the panel is visible."
|
|
202
|
+
},
|
|
203
|
+
"getter": false,
|
|
204
|
+
"setter": false,
|
|
205
|
+
"reflect": true,
|
|
206
|
+
"attribute": "open",
|
|
207
|
+
"defaultValue": "false"
|
|
208
|
+
},
|
|
209
|
+
"heading": {
|
|
210
|
+
"type": "string",
|
|
211
|
+
"mutable": false,
|
|
212
|
+
"complexType": {
|
|
213
|
+
"original": "string",
|
|
214
|
+
"resolved": "string",
|
|
215
|
+
"references": {}
|
|
216
|
+
},
|
|
217
|
+
"required": false,
|
|
218
|
+
"optional": false,
|
|
219
|
+
"docs": {
|
|
220
|
+
"tags": [],
|
|
221
|
+
"text": "Panel title; also its accessible name."
|
|
222
|
+
},
|
|
223
|
+
"getter": false,
|
|
224
|
+
"setter": false,
|
|
225
|
+
"reflect": false,
|
|
226
|
+
"attribute": "heading",
|
|
227
|
+
"defaultValue": "''"
|
|
228
|
+
},
|
|
229
|
+
"side": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"mutable": false,
|
|
232
|
+
"complexType": {
|
|
233
|
+
"original": "BsSidePanelSide",
|
|
234
|
+
"resolved": "\"end\" | \"start\"",
|
|
235
|
+
"references": {
|
|
236
|
+
"BsSidePanelSide": {
|
|
237
|
+
"location": "local",
|
|
238
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-side-panel/bs-side-panel.tsx",
|
|
239
|
+
"id": "src/components/bs-side-panel/bs-side-panel.tsx::BsSidePanelSide"
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
"required": false,
|
|
244
|
+
"optional": false,
|
|
245
|
+
"docs": {
|
|
246
|
+
"tags": [],
|
|
247
|
+
"text": "Edge the panel is anchored to."
|
|
248
|
+
},
|
|
249
|
+
"getter": false,
|
|
250
|
+
"setter": false,
|
|
251
|
+
"reflect": true,
|
|
252
|
+
"attribute": "side",
|
|
253
|
+
"defaultValue": "'end'"
|
|
254
|
+
},
|
|
255
|
+
"closeLabel": {
|
|
256
|
+
"type": "string",
|
|
257
|
+
"mutable": false,
|
|
258
|
+
"complexType": {
|
|
259
|
+
"original": "string",
|
|
260
|
+
"resolved": "string",
|
|
261
|
+
"references": {}
|
|
262
|
+
},
|
|
263
|
+
"required": false,
|
|
264
|
+
"optional": false,
|
|
265
|
+
"docs": {
|
|
266
|
+
"tags": [],
|
|
267
|
+
"text": "Accessible label of the close button."
|
|
268
|
+
},
|
|
269
|
+
"getter": false,
|
|
270
|
+
"setter": false,
|
|
271
|
+
"reflect": false,
|
|
272
|
+
"attribute": "close-label",
|
|
273
|
+
"defaultValue": "'Close'"
|
|
274
|
+
},
|
|
275
|
+
"overlay": {
|
|
276
|
+
"type": "boolean",
|
|
277
|
+
"mutable": false,
|
|
278
|
+
"complexType": {
|
|
279
|
+
"original": "boolean",
|
|
280
|
+
"resolved": "boolean",
|
|
281
|
+
"references": {}
|
|
282
|
+
},
|
|
283
|
+
"required": false,
|
|
284
|
+
"optional": false,
|
|
285
|
+
"docs": {
|
|
286
|
+
"tags": [],
|
|
287
|
+
"text": "Shows a backdrop behind the panel; clicking it closes the panel."
|
|
288
|
+
},
|
|
289
|
+
"getter": false,
|
|
290
|
+
"setter": false,
|
|
291
|
+
"reflect": true,
|
|
292
|
+
"attribute": "overlay",
|
|
293
|
+
"defaultValue": "false"
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
static get events() {
|
|
298
|
+
return [{
|
|
299
|
+
"method": "bsClose",
|
|
300
|
+
"name": "bsClose",
|
|
301
|
+
"bubbles": true,
|
|
302
|
+
"cancelable": true,
|
|
303
|
+
"composed": true,
|
|
304
|
+
"docs": {
|
|
305
|
+
"tags": [],
|
|
306
|
+
"text": "Emitted when the panel requests to close (close button, Escape, overlay click)."
|
|
307
|
+
},
|
|
308
|
+
"complexType": {
|
|
309
|
+
"original": "void",
|
|
310
|
+
"resolved": "void",
|
|
311
|
+
"references": {}
|
|
312
|
+
}
|
|
313
|
+
}];
|
|
314
|
+
}
|
|
315
|
+
static get elementRef() { return "el"; }
|
|
316
|
+
static get watchers() {
|
|
317
|
+
return [{
|
|
318
|
+
"propName": "open",
|
|
319
|
+
"methodName": "onOpenChange"
|
|
320
|
+
}, {
|
|
321
|
+
"propName": "overlay",
|
|
322
|
+
"methodName": "onOverlayChange"
|
|
323
|
+
}];
|
|
324
|
+
}
|
|
325
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
import { componentDescription } from "../../stories-utils";
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'Components/bs-side-panel',
|
|
5
|
+
parameters: { docs: { description: { component: componentDescription('bs-side-panel') } } },
|
|
6
|
+
render: args => html `
|
|
7
|
+
<bs-side-panel ?open=${args.open} heading=${args.heading} side=${args.side} close-label=${args.closeLabel} ?overlay=${args.overlay}>
|
|
8
|
+
<p>Panel body content.</p>
|
|
9
|
+
<bs-button slot="footer">Apply</bs-button>
|
|
10
|
+
</bs-side-panel>
|
|
11
|
+
`,
|
|
12
|
+
argTypes: {
|
|
13
|
+
open: { control: 'boolean' },
|
|
14
|
+
heading: { control: 'text' },
|
|
15
|
+
side: { control: 'inline-radio', options: ['start', 'end'] },
|
|
16
|
+
closeLabel: { control: 'text' },
|
|
17
|
+
overlay: { control: 'boolean' },
|
|
18
|
+
},
|
|
19
|
+
args: { open: true, heading: 'History', side: 'end', closeLabel: 'Close', overlay: false },
|
|
20
|
+
};
|
|
21
|
+
export default meta;
|
|
22
|
+
export const Default = {};
|
|
23
|
+
export const WithOverlay = { name: 'With overlay', args: { overlay: true } };
|
|
24
|
+
export const Start = { name: 'Start side', args: { side: 'start' } };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { render, h, describe, it, expect } from "@stencil/vitest";
|
|
2
|
+
describe('bs-skeleton', () => {
|
|
3
|
+
it('is aria-hidden by default with no role', async () => {
|
|
4
|
+
const { root } = await render(h("bs-skeleton", null));
|
|
5
|
+
const c = root.shadowRoot.querySelector('[part="container"]');
|
|
6
|
+
expect(c).toEqualAttribute('aria-hidden', 'true');
|
|
7
|
+
expect(c.hasAttribute('role')).toBe(false);
|
|
8
|
+
});
|
|
9
|
+
it('uses role="status" + aria-label when label is set', async () => {
|
|
10
|
+
const { root } = await render(h("bs-skeleton", { label: "Loading profile" }));
|
|
11
|
+
const c = root.shadowRoot.querySelector('[part="container"]');
|
|
12
|
+
expect(c).toEqualAttribute('role', 'status');
|
|
13
|
+
expect(c).toEqualAttribute('aria-label', 'Loading profile');
|
|
14
|
+
expect(c.hasAttribute('aria-hidden')).toBe(false);
|
|
15
|
+
});
|
|
16
|
+
it('renders one line per `lines` for text, with a shorter last line', async () => {
|
|
17
|
+
const { root } = await render(h("bs-skeleton", { lines: 3 }));
|
|
18
|
+
const lines = root.shadowRoot.querySelectorAll('[part="line"]');
|
|
19
|
+
expect(lines.length).toBe(3);
|
|
20
|
+
expect(lines[2]).toHaveClass('bs-skeleton__line--short');
|
|
21
|
+
expect(lines[0]).not.toHaveClass('bs-skeleton__line--short');
|
|
22
|
+
});
|
|
23
|
+
it('ignores `lines` for non-text variants and clamps invalid values', async () => {
|
|
24
|
+
const { root, setProps } = await render(h("bs-skeleton", { variant: "rect", lines: 4 }));
|
|
25
|
+
expect(root.shadowRoot.querySelectorAll('[part="line"]').length).toBe(1);
|
|
26
|
+
await setProps({ variant: 'text', lines: 0 });
|
|
27
|
+
expect(root.shadowRoot.querySelectorAll('[part="line"]').length).toBe(1);
|
|
28
|
+
});
|
|
29
|
+
it('applies the variant class and width/height inline', async () => {
|
|
30
|
+
const { root } = await render(h("bs-skeleton", { variant: "rect", width: "200px", height: "40px" }));
|
|
31
|
+
const line = root.shadowRoot.querySelector('[part="line"]');
|
|
32
|
+
expect(line).toHaveClass('bs-skeleton__line--rect');
|
|
33
|
+
expect(line.style.width).toBe('200px');
|
|
34
|
+
expect(line.style.height).toBe('40px');
|
|
35
|
+
});
|
|
36
|
+
it('circle mirrors a single dimension', async () => {
|
|
37
|
+
const { root } = await render(h("bs-skeleton", { variant: "circle", width: "48px" }));
|
|
38
|
+
const line = root.shadowRoot.querySelector('[part="line"]');
|
|
39
|
+
expect(line.style.width).toBe('48px');
|
|
40
|
+
expect(line.style.height).toBe('48px');
|
|
41
|
+
});
|
|
42
|
+
it('animated toggles the animation class', async () => {
|
|
43
|
+
const { root, setProps } = await render(h("bs-skeleton", null));
|
|
44
|
+
const c = root.shadowRoot.querySelector('[part="container"]');
|
|
45
|
+
expect(c).toHaveClass('bs-skeleton--animated');
|
|
46
|
+
await setProps({ animated: false });
|
|
47
|
+
expect(c).not.toHaveClass('bs-skeleton--animated');
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
--bs-skeleton-bg: var(--bs-color-neutral-container);
|
|
4
|
+
--bs-skeleton-radius: var(--bs-border-radius-100);
|
|
5
|
+
--bs-skeleton-width: 100%;
|
|
6
|
+
--bs-skeleton-text-height: 1em;
|
|
7
|
+
--bs-skeleton-rect-height: 96px;
|
|
8
|
+
--bs-skeleton-gap: var(--bs-spacing-100);
|
|
9
|
+
--bs-skeleton-duration: 1.5s;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.bs-skeleton {
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
gap: var(--bs-skeleton-gap);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.bs-skeleton__line {
|
|
19
|
+
display: block;
|
|
20
|
+
max-width: 100%;
|
|
21
|
+
width: var(--bs-skeleton-width);
|
|
22
|
+
background: var(--bs-skeleton-bg);
|
|
23
|
+
border-radius: var(--bs-skeleton-radius);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.bs-skeleton__line--text {
|
|
27
|
+
height: var(--bs-skeleton-text-height);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.bs-skeleton__line--rect {
|
|
31
|
+
height: var(--bs-skeleton-rect-height);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.bs-skeleton__line--circle {
|
|
35
|
+
height: var(--bs-skeleton-rect-height);
|
|
36
|
+
width: var(--bs-skeleton-rect-height);
|
|
37
|
+
border-radius: var(--bs-border-radius-full);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.bs-skeleton__line--short {
|
|
41
|
+
width: 60%;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.bs-skeleton--animated .bs-skeleton__line {
|
|
45
|
+
animation: bs-skeleton-pulse var(--bs-skeleton-duration) ease-in-out infinite;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@keyframes bs-skeleton-pulse {
|
|
49
|
+
0%,
|
|
50
|
+
100% {
|
|
51
|
+
opacity: 1;
|
|
52
|
+
}
|
|
53
|
+
50% {
|
|
54
|
+
opacity: 0.5;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@media (prefers-reduced-motion: reduce) {
|
|
59
|
+
.bs-skeleton--animated .bs-skeleton__line {
|
|
60
|
+
animation: none;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A general-purpose loading placeholder for content whose shape isn't covered by a dedicated
|
|
4
|
+
* skeleton (e.g. `bs-button-skeleton`). Renders a pulsing text line (or several), rectangle or circle.
|
|
5
|
+
*
|
|
6
|
+
* Decorative by default (`aria-hidden="true"`). Set `label` to expose it to assistive tech as a
|
|
7
|
+
* `role="status"` live region with that accessible name -- do this on one placeholder per loading
|
|
8
|
+
* region, not on every placeholder, so screen readers don't announce it repeatedly.
|
|
9
|
+
*
|
|
10
|
+
* ## When to use
|
|
11
|
+
* - Standing in for text, images, avatars or other blocks while their data loads.
|
|
12
|
+
*
|
|
13
|
+
* ## When not to use
|
|
14
|
+
* - For a `bs-button` or `bs-checkbox` placeholder -- use `bs-button-skeleton` / `bs-checkbox-skeleton`.
|
|
15
|
+
* - For an in-progress action on already-rendered UI -- use `bs-spinner` or `bs-progress`.
|
|
16
|
+
*
|
|
17
|
+
* @part container - The outer wrapper.
|
|
18
|
+
* @part line - Each pulsing placeholder element (one per line for `variant="text"`).
|
|
19
|
+
* @prop --bs-skeleton-bg - Placeholder color. Aliased to `--bs-color-neutral-container`.
|
|
20
|
+
* @prop --bs-skeleton-radius - Corner radius for `text`/`rect`. Aliased to `--bs-border-radius-100`.
|
|
21
|
+
* @prop --bs-skeleton-width - Width when the `width` prop is not set. Defaults to `100%`.
|
|
22
|
+
* @prop --bs-skeleton-text-height - Height of each text line when `height` is not set. Defaults to `1em`.
|
|
23
|
+
* @prop --bs-skeleton-rect-height - Height of `rect`/`circle` when `height` is not set. Defaults to `96px`.
|
|
24
|
+
* @prop --bs-skeleton-gap - Gap between text lines. Aliased to `--bs-spacing-100`.
|
|
25
|
+
* @prop --bs-skeleton-duration - Pulse duration. Defaults to `1.5s`.
|
|
26
|
+
*/
|
|
27
|
+
export class BsSkeleton {
|
|
28
|
+
/** Shape of the placeholder. */
|
|
29
|
+
variant = 'text';
|
|
30
|
+
/** Any CSS length (e.g. `200px`, `50%`). Falls back to `--bs-skeleton-width`. For `circle`, if
|
|
31
|
+
* only one of `width`/`height` is set the other matches it. */
|
|
32
|
+
width;
|
|
33
|
+
/** Any CSS length. Falls back to the variant's default height custom property. */
|
|
34
|
+
height;
|
|
35
|
+
/** Number of text lines (`variant="text"` only). The last line of a multi-line block is shorter.
|
|
36
|
+
* Values below 1 are treated as 1. */
|
|
37
|
+
lines = 1;
|
|
38
|
+
/** Whether the placeholder pulses. Disabled automatically under `prefers-reduced-motion`. */
|
|
39
|
+
animated = true;
|
|
40
|
+
/** When set, the placeholder gets `role="status"` and this as its `aria-label`; otherwise it is
|
|
41
|
+
* `aria-hidden="true"`. */
|
|
42
|
+
label;
|
|
43
|
+
render() {
|
|
44
|
+
const isText = this.variant === 'text';
|
|
45
|
+
const count = isText ? Math.max(1, Math.floor(Number(this.lines)) || 1) : 1;
|
|
46
|
+
let width = this.width;
|
|
47
|
+
let height = this.height;
|
|
48
|
+
if (this.variant === 'circle') {
|
|
49
|
+
width = width ?? height;
|
|
50
|
+
height = height ?? width;
|
|
51
|
+
}
|
|
52
|
+
const style = {};
|
|
53
|
+
if (width)
|
|
54
|
+
style.width = width;
|
|
55
|
+
if (height)
|
|
56
|
+
style.height = height;
|
|
57
|
+
const lines = [];
|
|
58
|
+
for (let i = 0; i < count; i++) {
|
|
59
|
+
const isShortLast = isText && count > 1 && i === count - 1 && !this.width;
|
|
60
|
+
lines.push(h("span", { part: "line", class: { 'bs-skeleton__line': true, [`bs-skeleton__line--${this.variant}`]: true, 'bs-skeleton__line--short': isShortLast }, style: style }));
|
|
61
|
+
}
|
|
62
|
+
const hasLabel = !!this.label;
|
|
63
|
+
return (h("span", { key: 'dc80e4fbb6d9da6387f5bb674595469e7566ce2c', part: "container", class: { 'bs-skeleton': true, 'bs-skeleton--animated': this.animated, [`bs-skeleton--${this.variant}`]: true }, role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.label : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, lines));
|
|
64
|
+
}
|
|
65
|
+
static get is() { return "bs-skeleton"; }
|
|
66
|
+
static get encapsulation() { return "shadow"; }
|
|
67
|
+
static get originalStyleUrls() {
|
|
68
|
+
return {
|
|
69
|
+
"$": ["bs-skeleton.css"]
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
static get styleUrls() {
|
|
73
|
+
return {
|
|
74
|
+
"$": ["bs-skeleton.css"]
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
static get properties() {
|
|
78
|
+
return {
|
|
79
|
+
"variant": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"mutable": false,
|
|
82
|
+
"complexType": {
|
|
83
|
+
"original": "BsSkeletonVariant",
|
|
84
|
+
"resolved": "\"circle\" | \"rect\" | \"text\"",
|
|
85
|
+
"references": {
|
|
86
|
+
"BsSkeletonVariant": {
|
|
87
|
+
"location": "local",
|
|
88
|
+
"path": "/home/runner/work/eg-brandsync-storybook/eg-brandsync-storybook/packages/wc/src/components/bs-skeleton/bs-skeleton.tsx",
|
|
89
|
+
"id": "src/components/bs-skeleton/bs-skeleton.tsx::BsSkeletonVariant"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"required": false,
|
|
94
|
+
"optional": false,
|
|
95
|
+
"docs": {
|
|
96
|
+
"tags": [],
|
|
97
|
+
"text": "Shape of the placeholder."
|
|
98
|
+
},
|
|
99
|
+
"getter": false,
|
|
100
|
+
"setter": false,
|
|
101
|
+
"reflect": false,
|
|
102
|
+
"attribute": "variant",
|
|
103
|
+
"defaultValue": "'text'"
|
|
104
|
+
},
|
|
105
|
+
"width": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"mutable": false,
|
|
108
|
+
"complexType": {
|
|
109
|
+
"original": "string",
|
|
110
|
+
"resolved": "string",
|
|
111
|
+
"references": {}
|
|
112
|
+
},
|
|
113
|
+
"required": false,
|
|
114
|
+
"optional": true,
|
|
115
|
+
"docs": {
|
|
116
|
+
"tags": [],
|
|
117
|
+
"text": "Any CSS length (e.g. `200px`, `50%`). Falls back to `--bs-skeleton-width`. For `circle`, if\nonly one of `width`/`height` is set the other matches it."
|
|
118
|
+
},
|
|
119
|
+
"getter": false,
|
|
120
|
+
"setter": false,
|
|
121
|
+
"reflect": false,
|
|
122
|
+
"attribute": "width"
|
|
123
|
+
},
|
|
124
|
+
"height": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"mutable": false,
|
|
127
|
+
"complexType": {
|
|
128
|
+
"original": "string",
|
|
129
|
+
"resolved": "string",
|
|
130
|
+
"references": {}
|
|
131
|
+
},
|
|
132
|
+
"required": false,
|
|
133
|
+
"optional": true,
|
|
134
|
+
"docs": {
|
|
135
|
+
"tags": [],
|
|
136
|
+
"text": "Any CSS length. Falls back to the variant's default height custom property."
|
|
137
|
+
},
|
|
138
|
+
"getter": false,
|
|
139
|
+
"setter": false,
|
|
140
|
+
"reflect": false,
|
|
141
|
+
"attribute": "height"
|
|
142
|
+
},
|
|
143
|
+
"lines": {
|
|
144
|
+
"type": "number",
|
|
145
|
+
"mutable": false,
|
|
146
|
+
"complexType": {
|
|
147
|
+
"original": "number",
|
|
148
|
+
"resolved": "number",
|
|
149
|
+
"references": {}
|
|
150
|
+
},
|
|
151
|
+
"required": false,
|
|
152
|
+
"optional": false,
|
|
153
|
+
"docs": {
|
|
154
|
+
"tags": [],
|
|
155
|
+
"text": "Number of text lines (`variant=\"text\"` only). The last line of a multi-line block is shorter.\nValues below 1 are treated as 1."
|
|
156
|
+
},
|
|
157
|
+
"getter": false,
|
|
158
|
+
"setter": false,
|
|
159
|
+
"reflect": false,
|
|
160
|
+
"attribute": "lines",
|
|
161
|
+
"defaultValue": "1"
|
|
162
|
+
},
|
|
163
|
+
"animated": {
|
|
164
|
+
"type": "boolean",
|
|
165
|
+
"mutable": false,
|
|
166
|
+
"complexType": {
|
|
167
|
+
"original": "boolean",
|
|
168
|
+
"resolved": "boolean",
|
|
169
|
+
"references": {}
|
|
170
|
+
},
|
|
171
|
+
"required": false,
|
|
172
|
+
"optional": false,
|
|
173
|
+
"docs": {
|
|
174
|
+
"tags": [],
|
|
175
|
+
"text": "Whether the placeholder pulses. Disabled automatically under `prefers-reduced-motion`."
|
|
176
|
+
},
|
|
177
|
+
"getter": false,
|
|
178
|
+
"setter": false,
|
|
179
|
+
"reflect": false,
|
|
180
|
+
"attribute": "animated",
|
|
181
|
+
"defaultValue": "true"
|
|
182
|
+
},
|
|
183
|
+
"label": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"mutable": false,
|
|
186
|
+
"complexType": {
|
|
187
|
+
"original": "string",
|
|
188
|
+
"resolved": "string",
|
|
189
|
+
"references": {}
|
|
190
|
+
},
|
|
191
|
+
"required": false,
|
|
192
|
+
"optional": true,
|
|
193
|
+
"docs": {
|
|
194
|
+
"tags": [],
|
|
195
|
+
"text": "When set, the placeholder gets `role=\"status\"` and this as its `aria-label`; otherwise it is\n`aria-hidden=\"true\"`."
|
|
196
|
+
},
|
|
197
|
+
"getter": false,
|
|
198
|
+
"setter": false,
|
|
199
|
+
"reflect": false,
|
|
200
|
+
"attribute": "label"
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
}
|