@brandsync/wc 1.15.0 → 1.17.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 +16 -0
- package/REFERENCE.md +313 -0
- package/custom-elements.json +4760 -1555
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/p-044ac86c.entry.js +1 -0
- package/dist/brandsync-wc/p-065c7e7c.entry.js +1 -0
- package/dist/brandsync-wc/p-07673a48.entry.js +1 -0
- package/dist/brandsync-wc/{p-54f9529f.entry.js → p-08e96f13.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f3cc961b.entry.js → p-0bbaef51.entry.js} +1 -1
- package/dist/brandsync-wc/p-11d80e17.entry.js +1 -0
- package/dist/brandsync-wc/{p-c85fe37b.entry.js → p-1bd99669.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f4d1d56e.entry.js → p-225148be.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6df48031.entry.js → p-2bd30709.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e294f698.entry.js → p-32297416.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d165a742.entry.js → p-35f76ea7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4ca40386.entry.js → p-3bad5e1b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ed71eb02.entry.js → p-3bdeeb9d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1bf8fbbb.entry.js → p-3c6ec5d0.entry.js} +1 -1
- package/dist/brandsync-wc/{p-abfa43f5.entry.js → p-3cb79512.entry.js} +1 -1
- package/dist/brandsync-wc/p-3d2c62a6.entry.js +1 -0
- package/dist/brandsync-wc/{p-23379d7c.entry.js → p-3d7b0708.entry.js} +1 -1
- package/dist/brandsync-wc/{p-2e285364.entry.js → p-43d5f708.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d81c4f58.entry.js → p-4b460eda.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b6081bba.entry.js → p-4eaa9ed4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c25553bc.entry.js → p-4f4c0c68.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a56bc608.entry.js → p-5057e4fe.entry.js} +1 -1
- package/dist/brandsync-wc/p-54d91ac9.entry.js +1 -0
- package/dist/brandsync-wc/{p-65fa1b21.entry.js → p-57ff14ca.entry.js} +1 -1
- package/dist/brandsync-wc/{p-538d5b58.entry.js → p-5b933ff4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b67a0c8f.entry.js → p-5c61eb06.entry.js} +1 -1
- package/dist/brandsync-wc/{p-86774165.entry.js → p-5eb5795f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b663ee67.entry.js → p-61deb48c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ac9472ec.entry.js → p-67f125e8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3488c4fc.entry.js → p-6ea02b98.entry.js} +1 -1
- package/dist/brandsync-wc/p-70c650b2.entry.js +1 -0
- package/dist/brandsync-wc/p-79fc849c.entry.js +1 -0
- package/dist/brandsync-wc/{p-5a45ef51.entry.js → p-7ed071fb.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3c21d0bf.entry.js → p-8134f97c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4ed00786.entry.js → p-844205d9.entry.js} +1 -1
- package/dist/brandsync-wc/p-84d6d6eb.entry.js +1 -0
- package/dist/brandsync-wc/{p-401b3d3d.entry.js → p-857987f9.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b9c9bcba.entry.js → p-8c4dfccb.entry.js} +1 -1
- package/dist/brandsync-wc/{p-38ac9aad.entry.js → p-90ba3032.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1ca8b01e.entry.js → p-9396c67e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e9b6b30f.entry.js → p-9d740928.entry.js} +1 -1
- package/dist/brandsync-wc/{p-baa3d37a.entry.js → p-a7fa839a.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f271e1d2.entry.js → p-a7fb0b59.entry.js} +1 -1
- package/dist/brandsync-wc/{p-89ea6366.entry.js → p-ab14a07d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-912629c6.entry.js → p-aec2dfeb.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8390a155.entry.js → p-b02bf1ca.entry.js} +1 -1
- package/dist/brandsync-wc/{p-9beeb30c.entry.js → p-b142d8c9.entry.js} +1 -1
- package/dist/brandsync-wc/{p-7a072e64.entry.js → p-b4511ad3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-5ed1f45e.entry.js → p-b5710db6.entry.js} +1 -1
- package/dist/brandsync-wc/{p-34b0c048.entry.js → p-baa39c08.entry.js} +1 -1
- package/dist/brandsync-wc/{p-87d44938.entry.js → p-be7aac52.entry.js} +1 -1
- package/dist/brandsync-wc/p-c835afb7.entry.js +1 -0
- package/dist/brandsync-wc/{p-45986ad4.entry.js → p-d25adab2.entry.js} +1 -1
- package/dist/brandsync-wc/p-d2a15599.entry.js +1 -0
- package/dist/brandsync-wc/{p-b9c0b481.entry.js → p-d7956c51.entry.js} +1 -1
- package/dist/brandsync-wc/p-d9184940.entry.js +1 -0
- package/dist/brandsync-wc/{p-0f97fe35.entry.js → p-dcbeb143.entry.js} +1 -1
- package/dist/brandsync-wc/{p-cf287ff1.entry.js → p-debc83cc.entry.js} +1 -1
- package/dist/brandsync-wc/{p-dcacee29.entry.js → p-e0a9f2d1.entry.js} +1 -1
- package/dist/brandsync-wc/p-e123b391.entry.js +1 -0
- package/dist/brandsync-wc/p-e8ae626d.entry.js +1 -0
- package/dist/brandsync-wc/p-e8e22238.entry.js +1 -0
- package/dist/brandsync-wc/{p-6cb21302.entry.js → p-eb0dc5bf.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1b4c0971.entry.js → p-f43a7f16.entry.js} +1 -1
- package/dist/brandsync-wc/{p-7b3518b8.entry.js → p-f82a9f0d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f0be9125.entry.js → p-f98dfa85.entry.js} +1 -1
- package/dist/brandsync-wc/{p-36fe783a.entry.js → p-fdc168ec.entry.js} +1 -1
- package/dist/brandsync-wc/{p-bc97ece8.entry.js → p-ffccc1ee.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-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-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-skeleton.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 +374 -0
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
- package/dist/cjs/bs-composer.cjs.entry.js +1 -1
- package/dist/cjs/bs-container.cjs.entry.js +1 -1
- package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
- package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/bs-divider.cjs.entry.js +1 -1
- package/dist/cjs/bs-empty-state.cjs.entry.js +47 -0
- 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 +326 -0
- package/dist/cjs/bs-grid.cjs.entry.js +2 -2
- 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-inline-tab.cjs.entry.js +1 -1
- package/dist/cjs/bs-input_3.cjs.entry.js +4 -4
- package/dist/cjs/bs-key-caps.cjs.entry.js +39 -0
- package/dist/cjs/bs-key.cjs.entry.js +28 -0
- package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +112 -0
- package/dist/cjs/bs-list-item.cjs.entry.js +66 -0
- package/dist/cjs/bs-list.cjs.entry.js +103 -0
- package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-message.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
- package/dist/cjs/bs-navigation-header.cjs.entry.js +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-progress-linear.cjs.entry.js +2 -2
- package/dist/cjs/bs-progress.cjs.entry.js +2 -2
- package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
- package/dist/cjs/bs-radio.cjs.entry.js +1 -1
- package/dist/cjs/bs-search-item.cjs.entry.js +47 -0
- package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
- package/dist/cjs/bs-shortcut-row.cjs.entry.js +27 -0
- package/dist/cjs/bs-skeleton.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 +2 -2
- package/dist/cjs/bs-spinner.cjs.entry.js +1 -1
- package/dist/cjs/bs-split-pane.cjs.entry.js +1 -1
- package/dist/cjs/bs-stack.cjs.entry.js +1 -1
- package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
- package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
- package/dist/cjs/bs-switch.cjs.entry.js +1 -1
- package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
- package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
- package/dist/cjs/bs-toast.cjs.entry.js +1 -1
- package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
- package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/bs-tree-item.cjs.entry.js +94 -0
- package/dist/cjs/bs-tree.cjs.entry.js +197 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +13 -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-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-citation-preview/bs-citation-preview.js +1 -1
- package/dist/collection/components/bs-command-palette/bs-command-palette.cmp.test.js +207 -0
- package/dist/collection/components/bs-command-palette/bs-command-palette.css +214 -0
- package/dist/collection/components/bs-command-palette/bs-command-palette.js +1114 -0
- package/dist/collection/components/bs-command-palette/bs-command-palette.stories.js +194 -0
- package/dist/collection/components/bs-composer/bs-composer.js +1 -1
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
- package/dist/collection/components/bs-container/bs-container.js +1 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
- package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
- package/dist/collection/components/bs-divider/bs-divider.js +1 -1
- package/dist/collection/components/bs-empty-state/bs-empty-state.cmp.test.js +102 -0
- package/dist/collection/components/bs-empty-state/bs-empty-state.css +45 -0
- package/dist/collection/components/bs-empty-state/bs-empty-state.js +175 -0
- package/dist/collection/components/bs-empty-state/bs-empty-state.stories.js +52 -0
- 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.cmp.test.js +491 -0
- package/dist/collection/components/bs-global-search/bs-global-search.css +115 -0
- package/dist/collection/components/bs-global-search/bs-global-search.js +1024 -0
- package/dist/collection/components/bs-global-search/bs-global-search.stories.js +146 -0
- package/dist/collection/components/bs-grid/bs-grid.js +2 -2
- package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +2 -2
- package/dist/collection/components/bs-input/bs-input.js +2 -2
- package/dist/collection/components/bs-key/bs-key.cmp.test.js +59 -0
- package/dist/collection/components/bs-key/bs-key.css +58 -0
- package/dist/collection/components/bs-key/bs-key.js +84 -0
- package/dist/collection/components/bs-key/bs-key.stories.js +19 -0
- package/dist/collection/components/bs-key-caps/bs-key-caps.cmp.test.js +60 -0
- package/dist/collection/components/bs-key-caps/bs-key-caps.css +28 -0
- package/dist/collection/components/bs-key-caps/bs-key-caps.js +120 -0
- package/dist/collection/components/bs-key-caps/bs-key-caps.stories.js +29 -0
- package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.js +194 -0
- package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.css +138 -0
- package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +485 -0
- package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.js +111 -0
- package/dist/collection/components/bs-list/bs-list.cmp.test.js +99 -0
- package/dist/collection/components/bs-list/bs-list.css +15 -0
- package/dist/collection/components/bs-list/bs-list.js +241 -0
- package/dist/collection/components/bs-list/bs-list.stories.js +43 -0
- package/dist/collection/components/bs-list-item/bs-list-item.cmp.test.js +137 -0
- package/dist/collection/components/bs-list-item/bs-list-item.css +139 -0
- package/dist/collection/components/bs-list-item/bs-list-item.js +343 -0
- package/dist/collection/components/bs-list-item/bs-list-item.stories.js +86 -0
- package/dist/collection/components/bs-menu/bs-menu.js +1 -1
- package/dist/collection/components/bs-menu-item/bs-menu-item.cmp.test.js +6 -0
- 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-pagination/bs-pagination.js +1 -1
- package/dist/collection/components/bs-popover/bs-popover.js +1 -1
- 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-search-item/bs-search-item.cmp.test.js +147 -0
- package/dist/collection/components/bs-search-item/bs-search-item.css +112 -0
- package/dist/collection/components/bs-search-item/bs-search-item.js +222 -0
- package/dist/collection/components/bs-search-item/bs-search-item.stories.js +31 -0
- package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
- package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.cmp.test.js +60 -0
- package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.css +42 -0
- package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +154 -0
- package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.stories.js +24 -0
- package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
- package/dist/collection/components/bs-slider/bs-slider.js +1 -1
- package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
- package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
- package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
- package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
- package/dist/collection/components/bs-stack/bs-stack.js +1 -1
- package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
- package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
- package/dist/collection/components/bs-switch/bs-switch.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 +2 -2
- package/dist/collection/components/bs-toast/bs-toast.js +1 -1
- package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
- package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
- package/dist/collection/components/bs-tree/bs-tree.cmp.test.js +166 -0
- package/dist/collection/components/bs-tree/bs-tree.css +8 -0
- package/dist/collection/components/bs-tree/bs-tree.js +354 -0
- package/dist/collection/components/bs-tree/bs-tree.stories.js +34 -0
- package/dist/collection/components/bs-tree-item/bs-tree-item.cmp.test.js +187 -0
- package/dist/collection/components/bs-tree-item/bs-tree-item.css +161 -0
- package/dist/collection/components/bs-tree-item/bs-tree-item.js +305 -0
- package/dist/collection/components/bs-tree-item/bs-tree-item.stories.js +54 -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 +2 -2
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
- package/dist/components/bs-accordion-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-shell.js +1 -1
- package/dist/components/bs-attachment-list.js +1 -1
- package/dist/components/bs-attachment.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-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-citation-preview.js +1 -1
- package/dist/components/bs-command-palette.d.ts +11 -0
- package/dist/components/bs-command-palette.js +1 -0
- package/dist/components/bs-composer-status-banner.js +1 -1
- package/dist/components/bs-composer.js +1 -1
- package/dist/components/bs-container.js +1 -1
- package/dist/components/bs-cookie-consent.js +1 -1
- package/dist/components/bs-data-table.js +1 -1
- package/dist/components/bs-datepicker.js +1 -1
- package/dist/components/bs-dialog.js +1 -1
- package/dist/components/bs-divider.js +1 -1
- package/dist/components/bs-empty-state.d.ts +11 -0
- package/dist/components/bs-empty-state.js +1 -0
- 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.d.ts +11 -0
- package/dist/components/bs-global-search.js +1 -0
- package/dist/components/bs-grid.js +1 -1
- package/dist/components/bs-icon-button.js +1 -1
- package/dist/components/bs-icon-tile.js +1 -1
- package/dist/components/bs-inline-tab.js +1 -1
- package/dist/components/bs-input.js +1 -1
- package/dist/components/bs-key-caps.d.ts +11 -0
- package/dist/components/bs-key-caps.js +1 -0
- package/dist/components/bs-key.d.ts +11 -0
- package/dist/components/bs-key.js +1 -0
- package/dist/components/bs-keyboard-shortcuts.d.ts +11 -0
- package/dist/components/bs-keyboard-shortcuts.js +1 -0
- package/dist/components/bs-list-item.d.ts +11 -0
- package/dist/components/bs-list-item.js +1 -0
- package/dist/components/bs-list.d.ts +11 -0
- package/dist/components/bs-list.js +1 -0
- package/dist/components/bs-menu-item.js +1 -1
- package/dist/components/bs-menu.js +1 -1
- package/dist/components/bs-message-list.js +1 -1
- package/dist/components/bs-message.js +1 -1
- package/dist/components/bs-navigation-drawer-item.js +1 -1
- package/dist/components/bs-navigation-drawer.js +1 -1
- package/dist/components/bs-navigation-header.js +1 -1
- package/dist/components/bs-onboarding-checklist.js +1 -1
- package/dist/components/bs-pagination.js +1 -1
- package/dist/components/bs-popover.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.js +1 -1
- package/dist/components/bs-search-item.d.ts +11 -0
- package/dist/components/bs-search-item.js +1 -0
- package/dist/components/bs-session-timeout.js +1 -1
- package/dist/components/bs-shortcut-row.d.ts +11 -0
- package/dist/components/bs-shortcut-row.js +1 -0
- package/dist/components/bs-side-panel.js +1 -1
- package/dist/components/bs-skeleton.js +1 -1
- package/dist/components/bs-slider.js +1 -1
- package/dist/components/bs-snackbar.js +1 -1
- package/dist/components/bs-source-link.js +1 -1
- package/dist/components/bs-spinner.js +1 -1
- package/dist/components/bs-split-pane.js +1 -1
- package/dist/components/bs-stack.js +1 -1
- package/dist/components/bs-stepper-step.js +1 -1
- package/dist/components/bs-stepper.js +1 -1
- package/dist/components/bs-switch.js +1 -1
- package/dist/components/bs-tab.js +1 -1
- package/dist/components/bs-tabs.js +1 -1
- package/dist/components/bs-timepicker.js +1 -1
- package/dist/components/bs-toast.js +1 -1
- package/dist/components/bs-tooltip-trigger.js +1 -1
- package/dist/components/bs-tooltip.js +1 -1
- package/dist/components/bs-tree-item.d.ts +11 -0
- package/dist/components/bs-tree-item.js +1 -0
- package/dist/components/bs-tree.d.ts +11 -0
- package/dist/components/bs-tree.js +1 -0
- package/dist/components/bs-whats-new-entry.js +1 -1
- package/dist/components/bs-whats-new.js +1 -1
- package/dist/components/{p-GTDI4Ibw.js → p-B32Kl4IB.js} +1 -1
- package/dist/components/{p-B128GX8H.js → p-BDnZvjlq.js} +1 -1
- package/dist/components/{p-Bqe4waKJ.js → p-BUpnOUIM.js} +1 -1
- package/dist/components/p-BcYNrEOB.js +1 -0
- package/dist/components/{p-B80vOwH6.js → p-BcbaiZLh.js} +1 -1
- package/dist/components/p-Bp3DIxjT.js +1 -0
- package/dist/components/p-CH5atin4.js +1 -0
- package/dist/components/{p-kDJsWjTN.js → p-CRM1wIX9.js} +1 -1
- package/dist/components/{p-Mf1jorXP.js → p-CYzBTzzf.js} +1 -1
- package/dist/components/p-CervX0wH.js +1 -0
- package/dist/components/{p-ElcsxZSh.js → p-Cpe2k7ZC.js} +1 -1
- package/dist/components/{p-BvYkZcOU.js → p-D7AXo5NT.js} +1 -1
- package/dist/components/{p-B3l4WpgS.js → p-D8bvv9QQ.js} +1 -1
- package/dist/components/{p-ByKcHsj0.js → p-DG9eT5yi.js} +1 -1
- package/dist/components/{p-D0KM1R2i.js → p-DMLfXpva.js} +1 -1
- package/dist/components/{p-CQjSDdH7.js → p-DYDk73TF.js} +1 -1
- package/dist/components/{p-C7RZ6qZC.js → p-DcjgRtSQ.js} +1 -1
- package/dist/components/p-Dt4JNhHT.js +1 -0
- package/dist/components/{p-CK7fiES5.js → p-DtYTs9Kh.js} +1 -1
- package/dist/components/{p-BsbtyRJV.js → p-TAY9S9yG.js} +1 -1
- package/dist/components/{p-ByLUtXxO.js → p-w-DkdA4O.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-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-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-skeleton.entry.js +1 -1
- package/dist/esm/bs-citation-preview.entry.js +1 -1
- package/dist/esm/bs-command-palette.entry.js +372 -0
- package/dist/esm/bs-composer-status-banner.entry.js +1 -1
- package/dist/esm/bs-composer.entry.js +1 -1
- package/dist/esm/bs-container.entry.js +1 -1
- package/dist/esm/bs-data-table.entry.js +2 -2
- package/dist/esm/bs-datepicker.entry.js +1 -1
- package/dist/esm/bs-divider.entry.js +1 -1
- package/dist/esm/bs-empty-state.entry.js +45 -0
- 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 +324 -0
- package/dist/esm/bs-grid.entry.js +2 -2
- package/dist/esm/bs-icon-button.entry.js +1 -1
- package/dist/esm/bs-icon-tile.entry.js +2 -2
- package/dist/esm/bs-inline-tab.entry.js +1 -1
- package/dist/esm/bs-input_3.entry.js +4 -4
- package/dist/esm/bs-key-caps.entry.js +37 -0
- package/dist/esm/bs-key.entry.js +26 -0
- package/dist/esm/bs-keyboard-shortcuts.entry.js +110 -0
- package/dist/esm/bs-list-item.entry.js +64 -0
- package/dist/esm/bs-list.entry.js +101 -0
- package/dist/esm/bs-message-list.entry.js +1 -1
- package/dist/esm/bs-message.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer.entry.js +2 -2
- package/dist/esm/bs-navigation-header.entry.js +1 -1
- package/dist/esm/bs-pagination.entry.js +1 -1
- package/dist/esm/bs-popover.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.entry.js +1 -1
- package/dist/esm/bs-search-item.entry.js +45 -0
- package/dist/esm/bs-session-timeout.entry.js +1 -1
- package/dist/esm/bs-shortcut-row.entry.js +25 -0
- package/dist/esm/bs-skeleton.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 +2 -2
- package/dist/esm/bs-spinner.entry.js +1 -1
- package/dist/esm/bs-split-pane.entry.js +1 -1
- package/dist/esm/bs-stack.entry.js +1 -1
- package/dist/esm/bs-stepper-step.entry.js +1 -1
- package/dist/esm/bs-stepper.entry.js +1 -1
- package/dist/esm/bs-switch.entry.js +1 -1
- package/dist/esm/bs-tab_3.entry.js +3 -3
- package/dist/esm/bs-timepicker.entry.js +2 -2
- package/dist/esm/bs-toast.entry.js +1 -1
- package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
- package/dist/esm/bs-tooltip.entry.js +1 -1
- package/dist/esm/bs-tree-item.entry.js +92 -0
- package/dist/esm/bs-tree.entry.js +195 -0
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/bs-command-palette/bs-command-palette.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-command-palette/bs-command-palette.d.ts +172 -0
- package/dist/types/components/bs-command-palette/bs-command-palette.stories.d.ts +56 -0
- package/dist/types/components/bs-empty-state/bs-empty-state.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-empty-state/bs-empty-state.d.ts +50 -0
- package/dist/types/components/bs-empty-state/bs-empty-state.stories.d.ts +13 -0
- package/dist/types/components/bs-global-search/bs-global-search.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-global-search/bs-global-search.d.ts +166 -0
- package/dist/types/components/bs-global-search/bs-global-search.stories.d.ts +61 -0
- package/dist/types/components/bs-key/bs-key.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-key/bs-key.d.ts +36 -0
- package/dist/types/components/bs-key/bs-key.stories.d.ts +11 -0
- package/dist/types/components/bs-key-caps/bs-key-caps.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-key-caps/bs-key-caps.d.ts +31 -0
- package/dist/types/components/bs-key-caps/bs-key-caps.stories.d.ts +15 -0
- package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.d.ts +95 -0
- package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.d.ts +43 -0
- package/dist/types/components/bs-list/bs-list.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-list/bs-list.d.ts +42 -0
- package/dist/types/components/bs-list/bs-list.stories.d.ts +13 -0
- package/dist/types/components/bs-list-item/bs-list-item.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-list-item/bs-list-item.d.ts +85 -0
- package/dist/types/components/bs-list-item/bs-list-item.stories.d.ts +22 -0
- package/dist/types/components/bs-search-item/bs-search-item.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-search-item/bs-search-item.d.ts +61 -0
- package/dist/types/components/bs-search-item/bs-search-item.stories.d.ts +13 -0
- package/dist/types/components/bs-shortcut-row/bs-shortcut-row.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-shortcut-row/bs-shortcut-row.d.ts +38 -0
- package/dist/types/components/bs-shortcut-row/bs-shortcut-row.stories.d.ts +13 -0
- package/dist/types/components/bs-tree/bs-tree.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-tree/bs-tree.d.ts +53 -0
- package/dist/types/components/bs-tree/bs-tree.stories.d.ts +11 -0
- package/dist/types/components/bs-tree-item/bs-tree-item.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-tree-item/bs-tree-item.d.ts +60 -0
- package/dist/types/components/bs-tree-item/bs-tree-item.stories.d.ts +19 -0
- package/dist/types/components.d.ts +2700 -199
- package/package.json +1 -1
- package/reference.d.ts +36 -0
- package/reference.json +1076 -47
- package/dist/brandsync-wc/p-769c5b4a.entry.js +0 -1
- package/dist/brandsync-wc/p-e5f50e93.entry.js +0 -1
- package/dist/brandsync-wc/p-e72dd05e.entry.js +0 -1
|
@@ -21,6 +21,7 @@ import { BsCheckboxSize as BsCheckboxSize1 } from "./components/bs-checkbox/bs-c
|
|
|
21
21
|
import { BsChipFilterSize } from "./components/bs-chip/bs-chip-filter/bs-chip-filter";
|
|
22
22
|
import { BsChipInformativeColor, BsChipInformativeSize } from "./components/bs-chip/bs-chip-informative/bs-chip-informative";
|
|
23
23
|
import { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-input";
|
|
24
|
+
import { BsCommandPaletteInputDetail, BsCommandPaletteSelectDetail, BsCommandPaletteStatus } from "./components/bs-command-palette/bs-command-palette";
|
|
24
25
|
import { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
|
|
25
26
|
import { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
|
|
26
27
|
import { BsContainerSize } from "./components/bs-container/bs-container";
|
|
@@ -29,12 +30,15 @@ import { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs
|
|
|
29
30
|
import { BsDatepickerChange } from "./components/bs-datepicker/bs-datepicker";
|
|
30
31
|
import { BsDialogSize } from "./components/bs-dialog/bs-dialog";
|
|
31
32
|
import { BsDividerInset, BsDividerOrientation, BsDividerVariant } from "./components/bs-divider/bs-divider";
|
|
33
|
+
import { BsIconTileIntent } from "./components/bs-icon-tile/bs-icon-tile";
|
|
32
34
|
import { BsErrorPageType } from "./components/bs-error-page/bs-error-page";
|
|
33
35
|
import { BsFileUploadDirection } from "./components/bs-file-upload/bs-file-upload";
|
|
34
36
|
import { BsFileUploadItemState } from "./components/bs-file-upload-item/bs-file-upload-item";
|
|
37
|
+
import { BsGlobalSearchSelectDetail, BsGlobalSearchStatus } from "./components/bs-global-search/bs-global-search";
|
|
35
38
|
import { BsGridAlign } from "./components/bs-grid/bs-grid";
|
|
36
39
|
import { BsIconButtonSize, BsIconButtonVariant } from "./components/bs-button/bs-icon-button/bs-icon-button";
|
|
37
|
-
import { BsIconTileIntent, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
|
|
40
|
+
import { BsIconTileIntent as BsIconTileIntent1, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
|
|
41
|
+
import { BsShortcutGroup } from "./components/bs-keyboard-shortcuts/bs-keyboard-shortcuts";
|
|
38
42
|
import { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
|
|
39
43
|
import { BsMessageRole, BsMessageStatus } from "./components/bs-message/bs-message";
|
|
40
44
|
import { BsNavigationHeaderAlignment } from "./components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header";
|
|
@@ -79,6 +83,7 @@ export { BsCheckboxSize as BsCheckboxSize1 } from "./components/bs-checkbox/bs-c
|
|
|
79
83
|
export { BsChipFilterSize } from "./components/bs-chip/bs-chip-filter/bs-chip-filter";
|
|
80
84
|
export { BsChipInformativeColor, BsChipInformativeSize } from "./components/bs-chip/bs-chip-informative/bs-chip-informative";
|
|
81
85
|
export { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-input";
|
|
86
|
+
export { BsCommandPaletteInputDetail, BsCommandPaletteSelectDetail, BsCommandPaletteStatus } from "./components/bs-command-palette/bs-command-palette";
|
|
82
87
|
export { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
|
|
83
88
|
export { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
|
|
84
89
|
export { BsContainerSize } from "./components/bs-container/bs-container";
|
|
@@ -87,12 +92,15 @@ export { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs
|
|
|
87
92
|
export { BsDatepickerChange } from "./components/bs-datepicker/bs-datepicker";
|
|
88
93
|
export { BsDialogSize } from "./components/bs-dialog/bs-dialog";
|
|
89
94
|
export { BsDividerInset, BsDividerOrientation, BsDividerVariant } from "./components/bs-divider/bs-divider";
|
|
95
|
+
export { BsIconTileIntent } from "./components/bs-icon-tile/bs-icon-tile";
|
|
90
96
|
export { BsErrorPageType } from "./components/bs-error-page/bs-error-page";
|
|
91
97
|
export { BsFileUploadDirection } from "./components/bs-file-upload/bs-file-upload";
|
|
92
98
|
export { BsFileUploadItemState } from "./components/bs-file-upload-item/bs-file-upload-item";
|
|
99
|
+
export { BsGlobalSearchSelectDetail, BsGlobalSearchStatus } from "./components/bs-global-search/bs-global-search";
|
|
93
100
|
export { BsGridAlign } from "./components/bs-grid/bs-grid";
|
|
94
101
|
export { BsIconButtonSize, BsIconButtonVariant } from "./components/bs-button/bs-icon-button/bs-icon-button";
|
|
95
|
-
export { BsIconTileIntent, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
|
|
102
|
+
export { BsIconTileIntent as BsIconTileIntent1, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
|
|
103
|
+
export { BsShortcutGroup } from "./components/bs-keyboard-shortcuts/bs-keyboard-shortcuts";
|
|
96
104
|
export { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
|
|
97
105
|
export { BsMessageRole, BsMessageStatus } from "./components/bs-message/bs-message";
|
|
98
106
|
export { BsNavigationHeaderAlignment } from "./components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header";
|
|
@@ -1307,6 +1315,168 @@ export namespace Components {
|
|
|
1307
1315
|
*/
|
|
1308
1316
|
"sourceName"?: string;
|
|
1309
1317
|
}
|
|
1318
|
+
/**
|
|
1319
|
+
* A Ctrl+K command palette: a modal with a search field, grouped commands, navigation and records, a
|
|
1320
|
+
* no-results view and a keyboard-hint footer. The data, the filtering, the command registry and the
|
|
1321
|
+
* recent-items storage are all yours: you slot `bs-search-item`s into the sections and set `status`.
|
|
1322
|
+
* Built from a native `<dialog>` (opened with `showModal()`, so focus is trapped, the page behind is inert
|
|
1323
|
+
* and the backdrop is the scrim), `bs-input` (type="search"), `bs-search-item`, `bs-key` (footer hints and
|
|
1324
|
+
* the Esc cap), `bs-chip-informative` (the scope chip) and `bs-spinner` (loading). Slot a `bs-key-caps` with
|
|
1325
|
+
* `slot="trailing"` inside an item to show a command's shortcut.
|
|
1326
|
+
* ## When to use
|
|
1327
|
+
* - An app-wide "do anything" entry point opened with a hotkey: run commands, navigate, open records.
|
|
1328
|
+
* ## When not to use
|
|
1329
|
+
* - A plain search box with a dropdown -- use `bs-global-search`.
|
|
1330
|
+
* - A small list of actions on one control -- use `bs-menu`.
|
|
1331
|
+
* A `>` as the first character of the field switches to commands-only mode (`commandsOnly`, reflected as
|
|
1332
|
+
* `commands-only`). The component filters nothing: listen to `bsInput`, swap the slotted items, set `status`.
|
|
1333
|
+
* Nested (sub-command) palettes are a consumer pattern: swap the slotted commands and set `scopeLabel`.
|
|
1334
|
+
* @prop --bs-command-palette-width - Panel width. Defaults to `640px` (Figma); capped to the viewport.
|
|
1335
|
+
* @prop --bs-command-palette-top - Distance from the top of the viewport. Defaults to `12vh`.
|
|
1336
|
+
* @prop --bs-command-palette-max-height - Max height of the results area. Defaults to `60vh`.
|
|
1337
|
+
* @prop --bs-command-palette-radius - Aliased to `--bs-border-radius-150`.
|
|
1338
|
+
* @prop --bs-command-palette-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
1339
|
+
* @prop --bs-command-palette-shadow - Figma elevation level 4: `0 8px 16px` in `--bs-elevation-higher` (stronger in dark mode).
|
|
1340
|
+
* @prop --bs-command-palette-overlay - Scrim colour. Aliased to `--bs-surface-overlay`.
|
|
1341
|
+
* @prop --bs-command-palette-footer-bg - Aliased to `--bs-surface-container`.
|
|
1342
|
+
* @prop --bs-command-palette-divider-color - Aliased to `--bs-border-default`.
|
|
1343
|
+
* @prop --bs-command-palette-header-border-color - Aliased to `--bs-border-neutral-container`.
|
|
1344
|
+
* @prop --bs-command-palette-header-color - Aliased to `--bs-text-muted`.
|
|
1345
|
+
* @prop --bs-command-palette-hint-color - Aliased to `--bs-text-secondary`.
|
|
1346
|
+
* @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
|
|
1347
|
+
*/
|
|
1348
|
+
interface BsCommandPalette {
|
|
1349
|
+
/**
|
|
1350
|
+
* @default 'All results'
|
|
1351
|
+
*/
|
|
1352
|
+
"allResultsLabel": string;
|
|
1353
|
+
/**
|
|
1354
|
+
* Closes the palette and restores focus.
|
|
1355
|
+
*/
|
|
1356
|
+
"close": () => Promise<void>;
|
|
1357
|
+
/**
|
|
1358
|
+
* @default 'Close'
|
|
1359
|
+
*/
|
|
1360
|
+
"closeLabel": string;
|
|
1361
|
+
/**
|
|
1362
|
+
* @default 'Commands'
|
|
1363
|
+
*/
|
|
1364
|
+
"commandsLabel": string;
|
|
1365
|
+
/**
|
|
1366
|
+
* Derived from `value` (it starts with `>`). Read-only; set `value` instead.
|
|
1367
|
+
* @default false
|
|
1368
|
+
*/
|
|
1369
|
+
"commandsOnly": boolean;
|
|
1370
|
+
/**
|
|
1371
|
+
* @default 'Commands only'
|
|
1372
|
+
*/
|
|
1373
|
+
"commandsOnlyLabel": string;
|
|
1374
|
+
/**
|
|
1375
|
+
* A suggested correction; the "Did you mean" line shows while it is set.
|
|
1376
|
+
*/
|
|
1377
|
+
"didYouMean"?: string;
|
|
1378
|
+
/**
|
|
1379
|
+
* @default 'Did you mean'
|
|
1380
|
+
*/
|
|
1381
|
+
"didYouMeanLabel": string;
|
|
1382
|
+
/**
|
|
1383
|
+
* @default 'Check the spelling, or search records instead.'
|
|
1384
|
+
*/
|
|
1385
|
+
"emptyDescription": string;
|
|
1386
|
+
/**
|
|
1387
|
+
* No-results view copy. Include the query in `emptyHeading` yourself.
|
|
1388
|
+
* @default 'No commands or records'
|
|
1389
|
+
*/
|
|
1390
|
+
"emptyHeading": string;
|
|
1391
|
+
/**
|
|
1392
|
+
* Global shortcut that toggles the palette, e.g. `mod+k` (`mod` is Cmd on Mac, Ctrl elsewhere). Empty = off.
|
|
1393
|
+
* @default ''
|
|
1394
|
+
*/
|
|
1395
|
+
"hotkey": string;
|
|
1396
|
+
/**
|
|
1397
|
+
* Keep the palette open after an item is chosen.
|
|
1398
|
+
* @default false
|
|
1399
|
+
*/
|
|
1400
|
+
"keepOpenOnSelect": boolean;
|
|
1401
|
+
/**
|
|
1402
|
+
* Accessible name of the dialog.
|
|
1403
|
+
* @default 'Command palette'
|
|
1404
|
+
*/
|
|
1405
|
+
"label": string;
|
|
1406
|
+
/**
|
|
1407
|
+
* Accessible name of the results listbox.
|
|
1408
|
+
* @default 'Results'
|
|
1409
|
+
*/
|
|
1410
|
+
"listLabel": string;
|
|
1411
|
+
/**
|
|
1412
|
+
* Text of the loading row.
|
|
1413
|
+
* @default 'Loading…'
|
|
1414
|
+
*/
|
|
1415
|
+
"loadingLabel": string;
|
|
1416
|
+
/**
|
|
1417
|
+
* Footer hint texts.
|
|
1418
|
+
* @default 'Navigate'
|
|
1419
|
+
*/
|
|
1420
|
+
"navigateLabel": string;
|
|
1421
|
+
/**
|
|
1422
|
+
* @default 'Navigation'
|
|
1423
|
+
*/
|
|
1424
|
+
"navigationLabel": string;
|
|
1425
|
+
/**
|
|
1426
|
+
* Whether the palette is open.
|
|
1427
|
+
* @default false
|
|
1428
|
+
*/
|
|
1429
|
+
"open": boolean;
|
|
1430
|
+
/**
|
|
1431
|
+
* @default 'Open'
|
|
1432
|
+
*/
|
|
1433
|
+
"openLabel": string;
|
|
1434
|
+
/**
|
|
1435
|
+
* Placeholder of the field.
|
|
1436
|
+
* @default 'Type a command or search…'
|
|
1437
|
+
*/
|
|
1438
|
+
"placeholder": string;
|
|
1439
|
+
/**
|
|
1440
|
+
* Section headers.
|
|
1441
|
+
* @default 'Recent'
|
|
1442
|
+
*/
|
|
1443
|
+
"recentLabel": string;
|
|
1444
|
+
/**
|
|
1445
|
+
* @default 'Records'
|
|
1446
|
+
*/
|
|
1447
|
+
"recordsLabel": string;
|
|
1448
|
+
/**
|
|
1449
|
+
* Nested scope: shows this text as a chip before the field. Backspace on an empty field emits `bsScopeExit`.
|
|
1450
|
+
*/
|
|
1451
|
+
"scopeLabel"?: string;
|
|
1452
|
+
/**
|
|
1453
|
+
* Opens the palette.
|
|
1454
|
+
*/
|
|
1455
|
+
"show": () => Promise<void>;
|
|
1456
|
+
/**
|
|
1457
|
+
* Shows the footer of keyboard hints.
|
|
1458
|
+
* @default true
|
|
1459
|
+
*/
|
|
1460
|
+
"showFooter": boolean;
|
|
1461
|
+
/**
|
|
1462
|
+
* Which view to show. You choose it; nothing is inferred from `value`. `default` and `results` render the same; they differ for screen readers only.
|
|
1463
|
+
* @default 'default'
|
|
1464
|
+
*/
|
|
1465
|
+
"status": BsCommandPaletteStatus;
|
|
1466
|
+
/**
|
|
1467
|
+
* @default 'Suggested'
|
|
1468
|
+
*/
|
|
1469
|
+
"suggestedLabel": string;
|
|
1470
|
+
/**
|
|
1471
|
+
* @default 'Try instead'
|
|
1472
|
+
*/
|
|
1473
|
+
"tryInsteadLabel": string;
|
|
1474
|
+
/**
|
|
1475
|
+
* The field value. Two-way. A leading `>` means commands-only mode.
|
|
1476
|
+
* @default ''
|
|
1477
|
+
*/
|
|
1478
|
+
"value": string;
|
|
1479
|
+
}
|
|
1310
1480
|
/**
|
|
1311
1481
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
1312
1482
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -1850,6 +2020,43 @@ export namespace Components {
|
|
|
1850
2020
|
*/
|
|
1851
2021
|
"variant": BsDividerVariant;
|
|
1852
2022
|
}
|
|
2023
|
+
/**
|
|
2024
|
+
* A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
|
|
2025
|
+
* Used for empty lists, "no results" and error states inside a panel, card or page section.
|
|
2026
|
+
* Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
|
|
2027
|
+
* The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
|
|
2028
|
+
* element that stays in the DOM while this block appears and disappears).
|
|
2029
|
+
* ## When to use
|
|
2030
|
+
* - A list, table or search result that has nothing to show, or failed to load.
|
|
2031
|
+
* ## When not to use
|
|
2032
|
+
* - A full-page error with a status code -- use `bs-error-page`.
|
|
2033
|
+
* - A transient message -- use `bs-toast` or `bs-snackbar`.
|
|
2034
|
+
* @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
|
|
2035
|
+
* @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
|
|
2036
|
+
* @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
|
|
2037
|
+
* @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
|
|
2038
|
+
* @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
|
|
2039
|
+
*/
|
|
2040
|
+
interface BsEmptyState {
|
|
2041
|
+
/**
|
|
2042
|
+
* The description text. The default slot overrides it.
|
|
2043
|
+
*/
|
|
2044
|
+
"description"?: string;
|
|
2045
|
+
/**
|
|
2046
|
+
* The heading text.
|
|
2047
|
+
*/
|
|
2048
|
+
"heading"?: string;
|
|
2049
|
+
/**
|
|
2050
|
+
* Heading level, 2 to 6 (renders `h2`..`h6`). Pick the one that fits the page outline.
|
|
2051
|
+
* @default 3
|
|
2052
|
+
*/
|
|
2053
|
+
"headingLevel": 2 | 3 | 4 | 5 | 6;
|
|
2054
|
+
/**
|
|
2055
|
+
* Colour and default glyph of the icon tile. Use `error` for failures.
|
|
2056
|
+
* @default 'default'
|
|
2057
|
+
*/
|
|
2058
|
+
"intent": BsIconTileIntent;
|
|
2059
|
+
}
|
|
1853
2060
|
/**
|
|
1854
2061
|
* A full-block page for when the user can't get to what they asked for: page not found (404), a server
|
|
1855
2062
|
* error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
|
|
@@ -2005,6 +2212,161 @@ export namespace Components {
|
|
|
2005
2212
|
*/
|
|
2006
2213
|
"thumbnailSrc"?: string;
|
|
2007
2214
|
}
|
|
2215
|
+
/**
|
|
2216
|
+
* A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
|
|
2217
|
+
* or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
|
|
2218
|
+
* are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
|
|
2219
|
+
* Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
|
|
2220
|
+
* `bs-button` and `bs-key` (the footer keycaps).
|
|
2221
|
+
* ## When to use
|
|
2222
|
+
* - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
|
|
2223
|
+
* ## When not to use
|
|
2224
|
+
* - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
|
|
2225
|
+
* - A list of commands or actions -- use `bs-menu`.
|
|
2226
|
+
* - The complete result set -- link to a full search results page ("See all results").
|
|
2227
|
+
* Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
|
|
2228
|
+
* `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
|
|
2229
|
+
* content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
|
|
2230
|
+
* Known limit: the items are in your light DOM and the combobox in this shadow root, so
|
|
2231
|
+
* `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
|
|
2232
|
+
* highlighted option also gets `aria-selected="true"`.
|
|
2233
|
+
* @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
|
|
2234
|
+
* @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
|
|
2235
|
+
* @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
|
|
2236
|
+
* @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
|
|
2237
|
+
* @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
2238
|
+
* @prop --bs-global-search-shadow - Panel shadow: Figma elevation level 3 (`0 4px 8px` in `--bs-elevation-high`, 10% black in light mode and 30% in dark mode).
|
|
2239
|
+
* @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
|
|
2240
|
+
* @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
|
|
2241
|
+
* @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
|
|
2242
|
+
* @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
|
|
2243
|
+
* @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
|
|
2244
|
+
*/
|
|
2245
|
+
interface BsGlobalSearch {
|
|
2246
|
+
/**
|
|
2247
|
+
* Text of the footer button that clears recent searches.
|
|
2248
|
+
* @default 'Clear recent'
|
|
2249
|
+
*/
|
|
2250
|
+
"clearRecentLabel": string;
|
|
2251
|
+
/**
|
|
2252
|
+
* Text of the empty state's action.
|
|
2253
|
+
* @default 'Clear search'
|
|
2254
|
+
*/
|
|
2255
|
+
"clearSearchLabel": string;
|
|
2256
|
+
/**
|
|
2257
|
+
* Footer hint text after the Esc key.
|
|
2258
|
+
* @default 'Close'
|
|
2259
|
+
*/
|
|
2260
|
+
"closeLabel": string;
|
|
2261
|
+
/**
|
|
2262
|
+
* Disables the field; the panel cannot open.
|
|
2263
|
+
* @default false
|
|
2264
|
+
*/
|
|
2265
|
+
"disabled": boolean;
|
|
2266
|
+
/**
|
|
2267
|
+
* Description of the built-in empty state.
|
|
2268
|
+
* @default 'Try a different search.'
|
|
2269
|
+
*/
|
|
2270
|
+
"emptyDescription": string;
|
|
2271
|
+
/**
|
|
2272
|
+
* Heading of the built-in empty state.
|
|
2273
|
+
* @default 'No results'
|
|
2274
|
+
*/
|
|
2275
|
+
"emptyHeading": string;
|
|
2276
|
+
/**
|
|
2277
|
+
* Description of the built-in error state.
|
|
2278
|
+
* @default 'We couldn’t reach the server. Your query is kept — try again in a moment.'
|
|
2279
|
+
*/
|
|
2280
|
+
"errorDescription": string;
|
|
2281
|
+
/**
|
|
2282
|
+
* Heading of the built-in error state.
|
|
2283
|
+
* @default 'Search isn’t available right now'
|
|
2284
|
+
*/
|
|
2285
|
+
"errorHeading": string;
|
|
2286
|
+
/**
|
|
2287
|
+
* Footer hint text after the Enter key (results view).
|
|
2288
|
+
* @default 'Full results'
|
|
2289
|
+
*/
|
|
2290
|
+
"fullResultsLabel": string;
|
|
2291
|
+
/**
|
|
2292
|
+
* Header of the `jump-to` section.
|
|
2293
|
+
* @default 'Jump to'
|
|
2294
|
+
*/
|
|
2295
|
+
"jumpToLabel": string;
|
|
2296
|
+
/**
|
|
2297
|
+
* Accessible name of the search field. Falls back to the placeholder. `bs-input` has no aria-label prop, so this names the combobox wrapper.
|
|
2298
|
+
*/
|
|
2299
|
+
"label"?: string;
|
|
2300
|
+
/**
|
|
2301
|
+
* Accessible name of the suggestions listbox.
|
|
2302
|
+
* @default 'Search suggestions'
|
|
2303
|
+
*/
|
|
2304
|
+
"listLabel": string;
|
|
2305
|
+
/**
|
|
2306
|
+
* Footer hint text after the arrow keys.
|
|
2307
|
+
* @default 'Navigate'
|
|
2308
|
+
*/
|
|
2309
|
+
"navigateLabel": string;
|
|
2310
|
+
/**
|
|
2311
|
+
* Whether the dropdown panel is open. Opens on focus, click and typing; closes on Escape, outside click and selection.
|
|
2312
|
+
* @default false
|
|
2313
|
+
*/
|
|
2314
|
+
"open": boolean;
|
|
2315
|
+
/**
|
|
2316
|
+
* Placeholder of the field (also its accessible name unless `label` is set).
|
|
2317
|
+
* @default 'Search customers, orders, products…'
|
|
2318
|
+
*/
|
|
2319
|
+
"placeholder": string;
|
|
2320
|
+
/**
|
|
2321
|
+
* Header of the `recent` section.
|
|
2322
|
+
* @default 'Recent searches'
|
|
2323
|
+
*/
|
|
2324
|
+
"recentLabel": string;
|
|
2325
|
+
/**
|
|
2326
|
+
* Text of the error state's action.
|
|
2327
|
+
* @default 'Try again'
|
|
2328
|
+
*/
|
|
2329
|
+
"retryLabel": string;
|
|
2330
|
+
/**
|
|
2331
|
+
* Header of the `search-in` section.
|
|
2332
|
+
* @default 'Search in'
|
|
2333
|
+
*/
|
|
2334
|
+
"searchInLabel": string;
|
|
2335
|
+
/**
|
|
2336
|
+
* Footer hint text after the Enter key (default view).
|
|
2337
|
+
* @default 'Search'
|
|
2338
|
+
*/
|
|
2339
|
+
"searchLabel": string;
|
|
2340
|
+
/**
|
|
2341
|
+
* Text of the footer button of the results view, when `totalResults` is not set.
|
|
2342
|
+
* @default 'See all results'
|
|
2343
|
+
*/
|
|
2344
|
+
"seeAllLabel": string;
|
|
2345
|
+
/**
|
|
2346
|
+
* Shows the footer (hints and the Clear recent / See all button) for the `default` and `results` views.
|
|
2347
|
+
* @default true
|
|
2348
|
+
*/
|
|
2349
|
+
"showFooter": boolean;
|
|
2350
|
+
/**
|
|
2351
|
+
* Which view the panel shows. You choose it; nothing is inferred from `value`.
|
|
2352
|
+
* @default 'default'
|
|
2353
|
+
*/
|
|
2354
|
+
"status": BsGlobalSearchStatus;
|
|
2355
|
+
/**
|
|
2356
|
+
* Header of the `top-matches` section.
|
|
2357
|
+
* @default 'Top matches'
|
|
2358
|
+
*/
|
|
2359
|
+
"topMatchesLabel": string;
|
|
2360
|
+
/**
|
|
2361
|
+
* Total number of results (status `results`): shown as "See all {n} results" and announced to screen readers.
|
|
2362
|
+
*/
|
|
2363
|
+
"totalResults"?: number;
|
|
2364
|
+
/**
|
|
2365
|
+
* The query. Two-way with the field.
|
|
2366
|
+
* @default ''
|
|
2367
|
+
*/
|
|
2368
|
+
"value": string;
|
|
2369
|
+
}
|
|
2008
2370
|
/**
|
|
2009
2371
|
* A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
|
|
2010
2372
|
* `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
|
|
@@ -2116,7 +2478,7 @@ export namespace Components {
|
|
|
2116
2478
|
* Colour and default glyph. `brand` uses the brand colours; `information` the info palette.
|
|
2117
2479
|
* @default 'default'
|
|
2118
2480
|
*/
|
|
2119
|
-
"intent":
|
|
2481
|
+
"intent": BsIconTileIntent1;
|
|
2120
2482
|
/**
|
|
2121
2483
|
* Accessible name. When set, the tile is exposed as an image with this name; when empty it is decorative and hidden from assistive tech.
|
|
2122
2484
|
*/
|
|
@@ -2310,107 +2672,371 @@ export namespace Components {
|
|
|
2310
2672
|
"value": string;
|
|
2311
2673
|
}
|
|
2312
2674
|
/**
|
|
2313
|
-
*
|
|
2314
|
-
*
|
|
2315
|
-
* (the drawer's collapsed state even faked an icon-only look by clipping the full wordmark asset
|
|
2316
|
-
* down to a narrowed box, rather than using a real icon-only asset).
|
|
2675
|
+
* One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
|
|
2676
|
+
* Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
|
|
2317
2677
|
* ## When to use
|
|
2318
|
-
* -
|
|
2678
|
+
* - Showing a keyboard shortcut hint next to a control or inside a search field.
|
|
2679
|
+
* - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
|
|
2319
2680
|
* ## When not to use
|
|
2320
|
-
* -
|
|
2321
|
-
*
|
|
2322
|
-
*
|
|
2323
|
-
*
|
|
2324
|
-
*
|
|
2325
|
-
*
|
|
2326
|
-
*
|
|
2327
|
-
*
|
|
2328
|
-
*
|
|
2329
|
-
*
|
|
2330
|
-
* built-in BrandSync assets. This component deliberately does NOT fetch that image itself --
|
|
2331
|
-
* network calls, loading/error states, and caching are the consuming app's responsibility, same as
|
|
2332
|
-
* every other component in this library (e.g. `bs-attachment` takes `imageSrc` rather than fetching
|
|
2333
|
-
* an image on its own). `background` has no effect on `variant="custom"` -- a consumer's own image
|
|
2334
|
-
* is already designed for whatever surface it's placed on.
|
|
2681
|
+
* - As a button or any clickable control -- a key is a static hint, not interactive.
|
|
2682
|
+
* @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
|
|
2683
|
+
* @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
|
|
2684
|
+
* @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
|
|
2685
|
+
* @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
|
|
2686
|
+
* @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
|
|
2687
|
+
* @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
|
|
2688
|
+
* @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
|
|
2689
|
+
* @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
|
|
2690
|
+
* @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
|
|
2335
2691
|
*/
|
|
2336
|
-
interface
|
|
2337
|
-
/**
|
|
2338
|
-
* `variant="custom"` only: accessible alt text for the image -- a product logo is meaningful content (whose brand is this?), not decorative, so set this to something real (e.g. the product/company name). Falls back to `alt=""` (marking the image decorative to assistive tech) when unset, rather than omitting the `alt` attribute entirely -- an `<img>` with no `alt` attribute at all is a harder accessibility failure than one explicitly marked decorative, but an empty fallback is still worse than a real name, so don't rely on it. Ignored for `full`/`mark` (those already carry their own fixed `aria-label="BrandSync"`).
|
|
2339
|
-
* @default null
|
|
2340
|
-
*/
|
|
2341
|
-
"alt": string | null;
|
|
2342
|
-
/**
|
|
2343
|
-
* Which pre-built asset to use for `variant="full"` -- Figma ships a genuinely separate, differently-drawn dark-background asset (every wordmark path filled solid white, and the icon's outer shape a single solid-white path instead of the light version's two-path white-fill-plus-border-ring), not a CSS currentColor swap of identical paths. `"auto"` (default) renders both assets and lets CSS pick one via `--bs-logo-asset-light-display`/`--bs-logo-asset-dark-display` (defined in `src/global/base.css`, flipped by the same `[data-theme="dark"]` attribute every other `--bs-*` token already reacts to) -- so the logo just follows the ambient theme with no wiring needed, the same way a consuming app's own dark mode already re-themes every other part of this library via ordinary CSS custom property inheritance. Set `"light"`/`"dark"` explicitly to pin one regardless of the ambient theme -- e.g. a dark sidebar that isn't otherwise dark-themed. Has no effect on `variant="mark"`: Figma's component set only has one real designed instance of the icon-only mark (`Device="Tab and mobile"`, `Background="Default"`) -- there's no separate dark version of it, so the mark renders identically regardless of this prop.
|
|
2344
|
-
* @default 'auto'
|
|
2345
|
-
*/
|
|
2346
|
-
"background": BsLogoBackground;
|
|
2347
|
-
/**
|
|
2348
|
-
* `variant="custom"` only: the image URL to render (e.g. a URL your app already fetched from a logo API). Ignored for `full`/`mark`.
|
|
2349
|
-
* @default null
|
|
2350
|
-
*/
|
|
2351
|
-
"src": string | null;
|
|
2692
|
+
interface BsKey {
|
|
2352
2693
|
/**
|
|
2353
|
-
*
|
|
2354
|
-
* @default 'full'
|
|
2694
|
+
* The key's text, e.g. `Ctrl`. The default slot overrides it.
|
|
2355
2695
|
*/
|
|
2356
|
-
"
|
|
2357
|
-
}
|
|
2358
|
-
/**
|
|
2359
|
-
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
2360
|
-
* `bs-menu-item` elements).
|
|
2361
|
-
* ## When to use
|
|
2362
|
-
* - A popup list of actions/options triggered by another control (e.g. a "more options" kebab
|
|
2363
|
-
* button), such as `bs-chatbot-response-action`'s `menu` slot.
|
|
2364
|
-
* ## When not to use
|
|
2365
|
-
* - A persistent, always-visible list of options -- this component is purpose-built as a popup
|
|
2366
|
-
* surface (rounded corners, elevation shadow), not a plain list.
|
|
2367
|
-
* @prop --bs-menu-bg - Background of the menu box. Aliased to `--bs-surface-raised`.
|
|
2368
|
-
* @prop --bs-menu-radius - Corner radius of the menu box. Aliased to `--bs-border-radius-100`.
|
|
2369
|
-
* @prop --bs-menu-padding-y - Top/bottom padding of the menu box. Aliased to `--bs-spacing-50`.
|
|
2370
|
-
* @prop --bs-menu-gap - Gap between slotted items. Aliased to `--bs-spacing-50`.
|
|
2371
|
-
* @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
|
|
2372
|
-
*/
|
|
2373
|
-
interface BsMenu {
|
|
2696
|
+
"label"?: string;
|
|
2374
2697
|
}
|
|
2375
2698
|
/**
|
|
2376
|
-
* A
|
|
2377
|
-
*
|
|
2699
|
+
* A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
|
|
2700
|
+
* (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
|
|
2701
|
+
* elements -- for example when a key is an icon.
|
|
2378
2702
|
* ## When to use
|
|
2379
|
-
* -
|
|
2703
|
+
* - A shortcut hint beside a menu item, button or inside a search field.
|
|
2380
2704
|
* ## When not to use
|
|
2381
|
-
* -
|
|
2382
|
-
*
|
|
2383
|
-
* @prop --bs-
|
|
2384
|
-
* @prop --bs-
|
|
2385
|
-
* @prop --bs-
|
|
2386
|
-
* @prop --bs-menu-item-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
2387
|
-
* @prop --bs-menu-item-hover - Background on hover. Aliased to `--bs-color-neutral-container-hover`.
|
|
2388
|
-
* @prop --bs-menu-item-pressed - Background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
2389
|
-
* @prop --bs-menu-item-disabled-bg - Background when `disabled` is set. Aliased to `--bs-surface-action-disabled`.
|
|
2390
|
-
* @prop --bs-menu-item-icon-color - Icon color. Aliased to `--bs-icon-default`.
|
|
2391
|
-
* @prop --bs-menu-item-icon-color-disabled - Icon color when `disabled` is set. Aliased to `--bs-icon-disabled`.
|
|
2392
|
-
* @prop --bs-menu-item-color - Label text color. Aliased to `--bs-text-muted`.
|
|
2393
|
-
* @prop --bs-menu-item-color-disabled - Label text color when `disabled` is set. Aliased to `--bs-text-on-disabled`.
|
|
2394
|
-
* @prop --bs-menu-item-font-size - Aliased to `--bs-font-size-md`.
|
|
2395
|
-
* @prop --bs-menu-item-line-height - Aliased to `--bs-line-height-body-md`.
|
|
2705
|
+
* - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
|
|
2706
|
+
* - Anything interactive -- keys are static hints.
|
|
2707
|
+
* @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
|
|
2708
|
+
* @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
|
|
2709
|
+
* @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
|
|
2396
2710
|
*/
|
|
2397
|
-
interface
|
|
2711
|
+
interface BsKeyCaps {
|
|
2398
2712
|
/**
|
|
2399
|
-
*
|
|
2713
|
+
* Dims the whole shortcut and marks it `aria-disabled`.
|
|
2400
2714
|
* @default false
|
|
2401
2715
|
*/
|
|
2402
2716
|
"disabled": boolean;
|
|
2717
|
+
/**
|
|
2718
|
+
* The keys as text. A string is split on `+` (`"Ctrl+K"`); use an array to include a literal plus key. Ignored when `bs-key` elements are slotted instead. Figma defines one to four keys.
|
|
2719
|
+
*/
|
|
2720
|
+
"keys"?: string | string[];
|
|
2721
|
+
/**
|
|
2722
|
+
* Accessible name of the shortcut, e.g. "Control plus K". Defaults to the keys joined with " plus ".
|
|
2723
|
+
*/
|
|
2724
|
+
"label"?: string;
|
|
2403
2725
|
}
|
|
2404
2726
|
/**
|
|
2405
|
-
* A
|
|
2406
|
-
*
|
|
2407
|
-
*
|
|
2408
|
-
*
|
|
2727
|
+
* A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
|
|
2728
|
+
* optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
|
|
2729
|
+
* surface, not a modal -- place it inside `bs-dialog` or a popover.
|
|
2730
|
+
* Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
|
|
2731
|
+
* `bs-key-caps` / `bs-key`).
|
|
2409
2732
|
* ## When to use
|
|
2410
|
-
* -
|
|
2733
|
+
* - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
|
|
2411
2734
|
* ## When not to use
|
|
2412
|
-
* -
|
|
2413
|
-
*
|
|
2735
|
+
* - A long-form help page or documentation -- link to it instead.
|
|
2736
|
+
* - A list of commands the user can run from it -- use `bs-menu`.
|
|
2737
|
+
* @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
|
|
2738
|
+
* @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
2739
|
+
* @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
|
|
2740
|
+
* @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
|
|
2741
|
+
* @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
|
|
2742
|
+
* @prop --bs-keyboard-shortcuts-shadow - Figma elevation level 4 (`0 8px 8px` in `--bs-elevation-higher`, 12% black in light mode and 25% in dark mode).
|
|
2743
|
+
* @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
|
|
2744
|
+
* @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
|
|
2745
|
+
* @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
|
|
2746
|
+
*/
|
|
2747
|
+
interface BsKeyboardShortcuts {
|
|
2748
|
+
/**
|
|
2749
|
+
* Accessible name of the close button.
|
|
2750
|
+
* @default 'Close'
|
|
2751
|
+
*/
|
|
2752
|
+
"closeLabel": string;
|
|
2753
|
+
/**
|
|
2754
|
+
* The key shown in the footer hint.
|
|
2755
|
+
* @default '?'
|
|
2756
|
+
*/
|
|
2757
|
+
"footerKey": string;
|
|
2758
|
+
/**
|
|
2759
|
+
* Text before the footer key.
|
|
2760
|
+
* @default 'Press'
|
|
2761
|
+
*/
|
|
2762
|
+
"footerPrefix": string;
|
|
2763
|
+
/**
|
|
2764
|
+
* Footer text after the key.
|
|
2765
|
+
* @default 'anywhere to open this list. On Mac: Cmd instead of Ctrl.'
|
|
2766
|
+
*/
|
|
2767
|
+
"footerText": string;
|
|
2768
|
+
/**
|
|
2769
|
+
* Property only: the shortcut groups.
|
|
2770
|
+
* @default []
|
|
2771
|
+
*/
|
|
2772
|
+
"groups": BsShortcutGroup[];
|
|
2773
|
+
/**
|
|
2774
|
+
* Heading text. The `heading` slot overrides it.
|
|
2775
|
+
* @default 'Keyboard shortcuts'
|
|
2776
|
+
*/
|
|
2777
|
+
"heading": string;
|
|
2778
|
+
/**
|
|
2779
|
+
* Line shown when the query matches nothing.
|
|
2780
|
+
* @default 'No shortcuts match'
|
|
2781
|
+
*/
|
|
2782
|
+
"noResultsText": string;
|
|
2783
|
+
/**
|
|
2784
|
+
* Current search text. Filters by action or keys text, case-insensitively.
|
|
2785
|
+
* @default ''
|
|
2786
|
+
*/
|
|
2787
|
+
"query": string;
|
|
2788
|
+
/**
|
|
2789
|
+
* Search field placeholder (also its accessible name: `bs-input` has no aria-label prop).
|
|
2790
|
+
* @default 'Search for an action'
|
|
2791
|
+
*/
|
|
2792
|
+
"searchPlaceholder": string;
|
|
2793
|
+
/**
|
|
2794
|
+
* Shows the footer hint.
|
|
2795
|
+
* @default true
|
|
2796
|
+
*/
|
|
2797
|
+
"showFooterHint": boolean;
|
|
2798
|
+
/**
|
|
2799
|
+
* Shows the single-key switch row.
|
|
2800
|
+
* @default true
|
|
2801
|
+
*/
|
|
2802
|
+
"showSingleKeySwitch": boolean;
|
|
2803
|
+
/**
|
|
2804
|
+
* Switch caption.
|
|
2805
|
+
* @default 'Turn off if they clash with a screen reader or other tools.'
|
|
2806
|
+
*/
|
|
2807
|
+
"singleKeyDescription": string;
|
|
2808
|
+
/**
|
|
2809
|
+
* Whether single-key shortcuts are on. When off they are shown dimmed.
|
|
2810
|
+
* @default true
|
|
2811
|
+
*/
|
|
2812
|
+
"singleKeyEnabled": boolean;
|
|
2813
|
+
/**
|
|
2814
|
+
* Switch title.
|
|
2815
|
+
* @default 'Single-key shortcuts'
|
|
2816
|
+
*/
|
|
2817
|
+
"singleKeyLabel": string;
|
|
2818
|
+
}
|
|
2819
|
+
/**
|
|
2820
|
+
* A vertical list of `bs-list-item` rows, optionally single-select.
|
|
2821
|
+
* ## When to use
|
|
2822
|
+
* - Records, people, files or options shown as rows with leading media and descriptions.
|
|
2823
|
+
* - `selectable` for a single-choice list (e.g. a conversation list next to a detail pane).
|
|
2824
|
+
* ## When not to use
|
|
2825
|
+
* - A popup list of actions -- use `bs-menu`.
|
|
2826
|
+
* - Navigation between app sections -- use `bs-navigation-drawer`.
|
|
2827
|
+
* - Multi-column, sortable or paged data -- use `bs-data-table`.
|
|
2828
|
+
* Built from `bs-list-item` children (light DOM; the list never moves nodes).
|
|
2829
|
+
* @prop --bs-list-gap - Gap between rows. Defaults to `0`.
|
|
2830
|
+
* @prop --bs-list-divider-color - Divider colour when `dividers` is set. Aliased to `--bs-border-neutral-container`.
|
|
2831
|
+
*/
|
|
2832
|
+
interface BsList {
|
|
2833
|
+
/**
|
|
2834
|
+
* Accessible name of the list.
|
|
2835
|
+
* @default null
|
|
2836
|
+
*/
|
|
2837
|
+
"ariaLabel": string | null;
|
|
2838
|
+
/**
|
|
2839
|
+
* Draws a 1px separator between rows.
|
|
2840
|
+
* @default false
|
|
2841
|
+
*/
|
|
2842
|
+
"dividers": boolean;
|
|
2843
|
+
/**
|
|
2844
|
+
* Single-selection mode: role="listbox", rows are `option`s with roving tabindex.
|
|
2845
|
+
* @default false
|
|
2846
|
+
*/
|
|
2847
|
+
"selectable": boolean;
|
|
2848
|
+
/**
|
|
2849
|
+
* `value` of the selected item (selectable mode).
|
|
2850
|
+
* @default null
|
|
2851
|
+
*/
|
|
2852
|
+
"value": string | null;
|
|
2853
|
+
}
|
|
2854
|
+
/**
|
|
2855
|
+
* A single row of a list: optional leading media (avatar, icon, image), a label, a description and
|
|
2856
|
+
* optional support text, and an optional trailing caret or custom trailing content.
|
|
2857
|
+
* ## When to use
|
|
2858
|
+
* - As a child of `bs-list`, one per record, person, file or option.
|
|
2859
|
+
* - Standalone as a plain information row (non-interactive), or with `interactive` as a button-like row.
|
|
2860
|
+
* ## When not to use
|
|
2861
|
+
* - A popup list of actions -- use `bs-menu` / `bs-menu-item`.
|
|
2862
|
+
* - App navigation with an active route -- use `bs-navigation-drawer-item`.
|
|
2863
|
+
* - Tabular data with columns, sorting or paging -- use `bs-data-table`.
|
|
2864
|
+
* Composed from: leading media (`bs-avatar`) and trailing controls (`bs-icon-button`) are supplied by the
|
|
2865
|
+
* consumer through the `leading` and `trailing` slots; the row itself only reserves layout. The default
|
|
2866
|
+
* trailing caret is inline SVG.
|
|
2867
|
+
* Roles are driven by the parent `bs-list` (via `selectionRole`). Standalone, the row has no role
|
|
2868
|
+
* (`listitem` is only valid inside a list) unless `interactive` is set, which makes it a focusable
|
|
2869
|
+
* `role="button"`.
|
|
2870
|
+
* @prop --bs-list-item-min-height - Minimum row height. Aliased to `--bs-spacing-1000`.
|
|
2871
|
+
* @prop --bs-list-item-padding-y - Aliased to `--bs-spacing-150`.
|
|
2872
|
+
* @prop --bs-list-item-padding-x - Aliased to `--bs-spacing-200`.
|
|
2873
|
+
* @prop --bs-list-item-gap - Gap between leading, content and trailing. Aliased to `--bs-spacing-200`.
|
|
2874
|
+
* @prop --bs-list-item-content-gap - Gap between text lines. Aliased to `--bs-spacing-25`.
|
|
2875
|
+
* @prop --bs-list-item-radius - Aliased to `--bs-border-radius-100`.
|
|
2876
|
+
* @prop --bs-list-item-bg - Enabled background. `transparent`.
|
|
2877
|
+
* @prop --bs-list-item-bg-hover - Aliased to `--bs-surface-hover`.
|
|
2878
|
+
* @prop --bs-list-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
2879
|
+
* @prop --bs-list-item-bg-focus - Aliased to `--bs-surface-focus`.
|
|
2880
|
+
* @prop --bs-list-item-bg-selected - Aliased to `--bs-surface-selected`.
|
|
2881
|
+
* @prop --bs-list-item-bg-selected-hover - Aliased to `--bs-surface-selected-hover`.
|
|
2882
|
+
* @prop --bs-list-item-bg-selected-pressed - Aliased to `--bs-surface-selected-pressed`.
|
|
2883
|
+
* @prop --bs-list-item-bg-selected-focus - Aliased to `--bs-surface-selected-focus`.
|
|
2884
|
+
* @prop --bs-list-item-bg-disabled - Aliased to `--bs-surface-action-disabled`.
|
|
2885
|
+
* @prop --bs-list-item-color - Text colour. Aliased to `--bs-text-default`.
|
|
2886
|
+
* @prop --bs-list-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
2887
|
+
* @prop --bs-list-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
2888
|
+
* @prop --bs-list-item-image-width - Leading image width. 72px.
|
|
2889
|
+
* @prop --bs-list-item-image-height - Leading image height. 56px.
|
|
2890
|
+
*/
|
|
2891
|
+
interface BsListItem {
|
|
2892
|
+
/**
|
|
2893
|
+
* Second text line (the "paragraph").
|
|
2894
|
+
* @default null
|
|
2895
|
+
*/
|
|
2896
|
+
"description": string | null;
|
|
2897
|
+
/**
|
|
2898
|
+
* Disables the row: dimmed, not focusable, no click event.
|
|
2899
|
+
* @default false
|
|
2900
|
+
*/
|
|
2901
|
+
"disabled": boolean;
|
|
2902
|
+
/**
|
|
2903
|
+
* Makes a standalone row a focusable `role="button"` that emits `bsItemClick`.
|
|
2904
|
+
* @default false
|
|
2905
|
+
*/
|
|
2906
|
+
"interactive": boolean;
|
|
2907
|
+
/**
|
|
2908
|
+
* First text line (semibold).
|
|
2909
|
+
* @default null
|
|
2910
|
+
*/
|
|
2911
|
+
"label": string | null;
|
|
2912
|
+
/**
|
|
2913
|
+
* Marks the row as selected. Managed by the parent `bs-list` when it is `selectable`.
|
|
2914
|
+
* @default false
|
|
2915
|
+
*/
|
|
2916
|
+
"selected": boolean;
|
|
2917
|
+
/**
|
|
2918
|
+
* Set by the parent `bs-list`: `listitem` (plain list) or `option` (selectable list). Do not set by hand.
|
|
2919
|
+
* @default null
|
|
2920
|
+
*/
|
|
2921
|
+
"selectionRole": 'listitem' | 'option' | null;
|
|
2922
|
+
/**
|
|
2923
|
+
* Shows a trailing caret (unless the `trailing` slot has content).
|
|
2924
|
+
* @default false
|
|
2925
|
+
*/
|
|
2926
|
+
"showArrow": boolean;
|
|
2927
|
+
/**
|
|
2928
|
+
* Optional third text line.
|
|
2929
|
+
* @default null
|
|
2930
|
+
*/
|
|
2931
|
+
"supportText": string | null;
|
|
2932
|
+
/**
|
|
2933
|
+
* Identifies the item; emitted by `bsItemClick` and matched against `bs-list`'s `value`.
|
|
2934
|
+
* @default null
|
|
2935
|
+
*/
|
|
2936
|
+
"value": string | null;
|
|
2937
|
+
}
|
|
2938
|
+
/**
|
|
2939
|
+
* The BrandSync brand mark, as its own standalone component -- shared by `bs-navigation-header`
|
|
2940
|
+
* and `bs-navigation-drawer`, which used to each render their own duplicated copy of this SVG
|
|
2941
|
+
* (the drawer's collapsed state even faked an icon-only look by clipping the full wordmark asset
|
|
2942
|
+
* down to a narrowed box, rather than using a real icon-only asset).
|
|
2943
|
+
* ## When to use
|
|
2944
|
+
* - Anywhere the BrandSync logo/icon needs to render: a navigation header, a nav drawer, etc.
|
|
2945
|
+
* ## When not to use
|
|
2946
|
+
* - The Genie AI chat panel's own brand mark -- that's a different logo (`bs-chatbot-header`'s
|
|
2947
|
+
* own inline Genie asset), not this one.
|
|
2948
|
+
* `variant` mirrors Figma's "Logo" component set (node 10909:30421) `Device` property
|
|
2949
|
+
* ("Desktop" / "Tab and mobile"), which was originally meant to distinguish the full lockup from
|
|
2950
|
+
* the icon-only mark at different responsive breakpoints -- renamed here to
|
|
2951
|
+
* `variant: 'full' | 'mark'` since that's what it actually controls (how much of the logo
|
|
2952
|
+
* renders), not literally a device/breakpoint switch.
|
|
2953
|
+
* `variant="custom"` is not a Figma variant at all -- it's an escape hatch for a consuming app
|
|
2954
|
+
* that needs to show a DIFFERENT product's logo in the same slot (e.g. a white-labeled deployment,
|
|
2955
|
+
* or a logo fetched at runtime from a service like brand.dev), via `src`/`alt`, instead of the
|
|
2956
|
+
* built-in BrandSync assets. This component deliberately does NOT fetch that image itself --
|
|
2957
|
+
* network calls, loading/error states, and caching are the consuming app's responsibility, same as
|
|
2958
|
+
* every other component in this library (e.g. `bs-attachment` takes `imageSrc` rather than fetching
|
|
2959
|
+
* an image on its own). `background` has no effect on `variant="custom"` -- a consumer's own image
|
|
2960
|
+
* is already designed for whatever surface it's placed on.
|
|
2961
|
+
*/
|
|
2962
|
+
interface BsLogo {
|
|
2963
|
+
/**
|
|
2964
|
+
* `variant="custom"` only: accessible alt text for the image -- a product logo is meaningful content (whose brand is this?), not decorative, so set this to something real (e.g. the product/company name). Falls back to `alt=""` (marking the image decorative to assistive tech) when unset, rather than omitting the `alt` attribute entirely -- an `<img>` with no `alt` attribute at all is a harder accessibility failure than one explicitly marked decorative, but an empty fallback is still worse than a real name, so don't rely on it. Ignored for `full`/`mark` (those already carry their own fixed `aria-label="BrandSync"`).
|
|
2965
|
+
* @default null
|
|
2966
|
+
*/
|
|
2967
|
+
"alt": string | null;
|
|
2968
|
+
/**
|
|
2969
|
+
* Which pre-built asset to use for `variant="full"` -- Figma ships a genuinely separate, differently-drawn dark-background asset (every wordmark path filled solid white, and the icon's outer shape a single solid-white path instead of the light version's two-path white-fill-plus-border-ring), not a CSS currentColor swap of identical paths. `"auto"` (default) renders both assets and lets CSS pick one via `--bs-logo-asset-light-display`/`--bs-logo-asset-dark-display` (defined in `src/global/base.css`, flipped by the same `[data-theme="dark"]` attribute every other `--bs-*` token already reacts to) -- so the logo just follows the ambient theme with no wiring needed, the same way a consuming app's own dark mode already re-themes every other part of this library via ordinary CSS custom property inheritance. Set `"light"`/`"dark"` explicitly to pin one regardless of the ambient theme -- e.g. a dark sidebar that isn't otherwise dark-themed. Has no effect on `variant="mark"`: Figma's component set only has one real designed instance of the icon-only mark (`Device="Tab and mobile"`, `Background="Default"`) -- there's no separate dark version of it, so the mark renders identically regardless of this prop.
|
|
2970
|
+
* @default 'auto'
|
|
2971
|
+
*/
|
|
2972
|
+
"background": BsLogoBackground;
|
|
2973
|
+
/**
|
|
2974
|
+
* `variant="custom"` only: the image URL to render (e.g. a URL your app already fetched from a logo API). Ignored for `full`/`mark`.
|
|
2975
|
+
* @default null
|
|
2976
|
+
*/
|
|
2977
|
+
"src": string | null;
|
|
2978
|
+
/**
|
|
2979
|
+
* How much of the logo to render. `full` is the icon + "EG BrandSync" wordmark (190.977x44 natural size); `mark` is just the icon (44x44 natural size), no wordmark; `custom` renders a consumer-supplied image via `src`/`alt` instead of a built-in BrandSync asset -- see the class doc above.
|
|
2980
|
+
* @default 'full'
|
|
2981
|
+
*/
|
|
2982
|
+
"variant": BsLogoVariant;
|
|
2983
|
+
}
|
|
2984
|
+
/**
|
|
2985
|
+
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
2986
|
+
* `bs-menu-item` elements).
|
|
2987
|
+
* ## When to use
|
|
2988
|
+
* - A popup list of actions/options triggered by another control (e.g. a "more options" kebab
|
|
2989
|
+
* button), such as `bs-chatbot-response-action`'s `menu` slot.
|
|
2990
|
+
* ## When not to use
|
|
2991
|
+
* - A persistent, always-visible list of options -- this component is purpose-built as a popup
|
|
2992
|
+
* surface (rounded corners, elevation shadow), not a plain list.
|
|
2993
|
+
* @prop --bs-menu-bg - Background of the menu box. Aliased to `--bs-surface-raised`.
|
|
2994
|
+
* @prop --bs-menu-radius - Corner radius of the menu box. Aliased to `--bs-border-radius-100`.
|
|
2995
|
+
* @prop --bs-menu-padding-y - Top/bottom padding of the menu box. Aliased to `--bs-spacing-50`.
|
|
2996
|
+
* @prop --bs-menu-gap - Gap between slotted items. Aliased to `--bs-spacing-50`.
|
|
2997
|
+
* @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
|
|
2998
|
+
*/
|
|
2999
|
+
interface BsMenu {
|
|
3000
|
+
}
|
|
3001
|
+
/**
|
|
3002
|
+
* A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
|
|
3003
|
+
* real `<button>` for correct keyboard/click semantics.
|
|
3004
|
+
* ## When to use
|
|
3005
|
+
* - As a child of `bs-menu`, one per selectable action/option.
|
|
3006
|
+
* ## When not to use
|
|
3007
|
+
* - Outside of `bs-menu` -- this component's sizing/hover treatment is designed to sit inside the
|
|
3008
|
+
* menu's rounded, padded list box.
|
|
3009
|
+
* @prop --bs-menu-item-radius - Corner radius of the row. Aliased to `--bs-border-radius-100`.
|
|
3010
|
+
* @prop --bs-menu-item-padding-y - Top/bottom padding. Aliased to `--bs-spacing-100`.
|
|
3011
|
+
* @prop --bs-menu-item-padding-x - Left/right padding. Aliased to `--bs-spacing-150`.
|
|
3012
|
+
* @prop --bs-menu-item-gap - Gap between icon and label. Aliased to `--bs-spacing-100`.
|
|
3013
|
+
* @prop --bs-menu-item-hover - Background on hover. Aliased to `--bs-color-neutral-container-hover`.
|
|
3014
|
+
* @prop --bs-menu-item-pressed - Background when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
3015
|
+
* @prop --bs-menu-item-disabled-bg - Background when `disabled` is set. Aliased to `--bs-surface-action-disabled`.
|
|
3016
|
+
* @prop --bs-menu-item-icon-color - Icon color. Aliased to `--bs-icon-default`.
|
|
3017
|
+
* @prop --bs-menu-item-icon-color-disabled - Icon color when `disabled` is set. Aliased to `--bs-icon-disabled`.
|
|
3018
|
+
* @prop --bs-menu-item-color - Label text color. Aliased to `--bs-text-muted`.
|
|
3019
|
+
* @prop --bs-menu-item-color-disabled - Label text color when `disabled` is set. Aliased to `--bs-text-on-disabled`.
|
|
3020
|
+
* @prop --bs-menu-item-font-size - Aliased to `--bs-font-size-md`.
|
|
3021
|
+
* @prop --bs-menu-item-line-height - Aliased to `--bs-line-height-body-md`.
|
|
3022
|
+
*/
|
|
3023
|
+
interface BsMenuItem {
|
|
3024
|
+
/**
|
|
3025
|
+
* Disables the item: no hover/pressed/focus styling, no pointer cursor, not reachable by keyboard tabbing, and clicking it does not emit `bsSelect`.
|
|
3026
|
+
* @default false
|
|
3027
|
+
*/
|
|
3028
|
+
"disabled": boolean;
|
|
3029
|
+
}
|
|
3030
|
+
/**
|
|
3031
|
+
* A single chat message bubble. User messages align to the end with a primary-tinted bubble;
|
|
3032
|
+
* assistant messages align to the start on a neutral bubble. The consumer renders the content
|
|
3033
|
+
* (e.g. markdown) into the default slot.
|
|
3034
|
+
* Composed from: `bs-card` (the bubble surface).
|
|
3035
|
+
* ## When to use
|
|
3036
|
+
* - One entry per turn in a chat transcript, usually inside `bs-message-list`.
|
|
3037
|
+
* ## When not to use
|
|
3038
|
+
* - For transient notices or system banners -- use `bs-toast` / `bs-composer-status-banner`.
|
|
3039
|
+
* @prop --bs-message-gap - Gap between avatar and message column. Aliased to `--bs-spacing-100`.
|
|
2414
3040
|
* @prop --bs-message-max-width - Max width of the message column. Defaults to `80%`.
|
|
2415
3041
|
* @prop --bs-message-padding - Bubble padding. Aliased to `--bs-spacing-150`.
|
|
2416
3042
|
* @prop --bs-message-radius - Bubble corner radius. Aliased to `--bs-border-radius-150`.
|
|
@@ -3178,6 +3804,55 @@ export namespace Components {
|
|
|
3178
3804
|
*/
|
|
3179
3805
|
"value": string;
|
|
3180
3806
|
}
|
|
3807
|
+
/**
|
|
3808
|
+
* One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
|
|
3809
|
+
* description line and trailing text. Static, not focusable -- focus stays in the search field and the
|
|
3810
|
+
* parent (`bs-global-search`) marks the highlighted row with `active`.
|
|
3811
|
+
* Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
|
|
3812
|
+
* the same pattern as `bs-list-item` and `bs-shortcut-row`.
|
|
3813
|
+
* ## When to use
|
|
3814
|
+
* - A suggestion, recent search or result inside `bs-global-search`.
|
|
3815
|
+
* ## When not to use
|
|
3816
|
+
* - A row in a generic list -- use `bs-list-item`.
|
|
3817
|
+
* - A command in a popup menu -- use `bs-menu-item`.
|
|
3818
|
+
* @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
|
|
3819
|
+
* @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
3820
|
+
* @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
|
|
3821
|
+
* @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
|
|
3822
|
+
* @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
|
|
3823
|
+
* @prop --bs-search-item-bg - Resting background. `transparent`.
|
|
3824
|
+
* @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
|
|
3825
|
+
* @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
3826
|
+
* @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
|
|
3827
|
+
* @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
|
|
3828
|
+
* @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
3829
|
+
* @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
|
|
3830
|
+
*/
|
|
3831
|
+
interface BsSearchItem {
|
|
3832
|
+
/**
|
|
3833
|
+
* Highlighted row (keyboard or hover). Set by the parent.
|
|
3834
|
+
* @default false
|
|
3835
|
+
*/
|
|
3836
|
+
"active": boolean;
|
|
3837
|
+
/**
|
|
3838
|
+
* Dims the row and ignores clicks.
|
|
3839
|
+
* @default false
|
|
3840
|
+
*/
|
|
3841
|
+
"disabled": boolean;
|
|
3842
|
+
/**
|
|
3843
|
+
* Set by the parent (`"option"`). Standalone rows have no role.
|
|
3844
|
+
* @default null
|
|
3845
|
+
*/
|
|
3846
|
+
"selectionRole": 'option' | null;
|
|
3847
|
+
/**
|
|
3848
|
+
* Trailing text shorthand. The `trailing` slot overrides it.
|
|
3849
|
+
*/
|
|
3850
|
+
"trailing"?: string;
|
|
3851
|
+
/**
|
|
3852
|
+
* Identifies the item; emitted by `bsItemSelect`.
|
|
3853
|
+
*/
|
|
3854
|
+
"value"?: string;
|
|
3855
|
+
}
|
|
3181
3856
|
/**
|
|
3182
3857
|
* The three moments around an expiring session, as one card. Matches the Figma "Session timeout"
|
|
3183
3858
|
* component's three types:
|
|
@@ -3302,6 +3977,46 @@ export namespace Components {
|
|
|
3302
3977
|
*/
|
|
3303
3978
|
"type": BsSessionTimeoutType;
|
|
3304
3979
|
}
|
|
3980
|
+
/**
|
|
3981
|
+
* One row of a shortcut list: an action label on the left and its keyboard shortcut on the right.
|
|
3982
|
+
* Static information, not interactive. Standalone it has no role; `bs-keyboard-shortcuts` sets
|
|
3983
|
+
* `selectionRole="listitem"` on its rows (same pattern as `bs-list-item`).
|
|
3984
|
+
* Built from `bs-key-caps` (and so `bs-key`).
|
|
3985
|
+
* ## When to use
|
|
3986
|
+
* - A line in a keyboard-shortcut reference, usually inside `bs-keyboard-shortcuts`.
|
|
3987
|
+
* ## When not to use
|
|
3988
|
+
* - A clickable command or menu entry -- use `bs-menu-item` (which has its own shortcut slot).
|
|
3989
|
+
* @prop --bs-shortcut-row-height - Row height. Defaults to `36px` (Figma).
|
|
3990
|
+
* @prop --bs-shortcut-row-padding-x - Horizontal padding. Aliased to `--bs-spacing-100`.
|
|
3991
|
+
* @prop --bs-shortcut-row-gap - Gap between label and keys. Aliased to `--bs-spacing-100`.
|
|
3992
|
+
* @prop --bs-shortcut-row-radius - Corner radius. Aliased to `--bs-border-radius-75`.
|
|
3993
|
+
* @prop --bs-shortcut-row-color - Label colour. Aliased to `--bs-text-default`.
|
|
3994
|
+
* @prop --bs-shortcut-row-color-disabled - Label colour while `disabled`. Aliased to `--bs-text-on-disabled`.
|
|
3995
|
+
*/
|
|
3996
|
+
interface BsShortcutRow {
|
|
3997
|
+
/**
|
|
3998
|
+
* The action, e.g. "Save". The default slot overrides it.
|
|
3999
|
+
*/
|
|
4000
|
+
"action"?: string;
|
|
4001
|
+
/**
|
|
4002
|
+
* Dims the label and the keys.
|
|
4003
|
+
* @default false
|
|
4004
|
+
*/
|
|
4005
|
+
"disabled": boolean;
|
|
4006
|
+
/**
|
|
4007
|
+
* The keys, e.g. `"Ctrl+S"`, or an array (`['Ctrl', '+']`) for a literal plus key. See `bs-key-caps`.
|
|
4008
|
+
*/
|
|
4009
|
+
"keys"?: string | string[];
|
|
4010
|
+
/**
|
|
4011
|
+
* Accessible name of the key caps, e.g. "Control plus S". Defaults to the keys joined with "plus".
|
|
4012
|
+
*/
|
|
4013
|
+
"label"?: string;
|
|
4014
|
+
/**
|
|
4015
|
+
* Set by the parent list (`"listitem"`). Standalone rows have no role.
|
|
4016
|
+
* @default null
|
|
4017
|
+
*/
|
|
4018
|
+
"selectionRole": 'listitem' | null;
|
|
4019
|
+
}
|
|
3305
4020
|
/**
|
|
3306
4021
|
* A generic slide-in panel (drawer) anchored to the start or end edge, for history, filters, FAQ
|
|
3307
4022
|
* and similar secondary content. Closes via its close button or Escape and emits `bsClose`.
|
|
@@ -4090,31 +4805,112 @@ export namespace Components {
|
|
|
4090
4805
|
"text": string;
|
|
4091
4806
|
}
|
|
4092
4807
|
/**
|
|
4093
|
-
* A
|
|
4094
|
-
* -
|
|
4095
|
-
*
|
|
4096
|
-
*
|
|
4097
|
-
*
|
|
4098
|
-
*
|
|
4099
|
-
*
|
|
4100
|
-
* track which the user has seen, or decide when to appear: your app owns `entries` (with their `unread`
|
|
4101
|
-
* flags) and reacts to the events.
|
|
4102
|
-
* **Built from:** `bs-card` (the surface), `bs-whats-new-entry` (each update), `bs-tabs` (the filters),
|
|
4103
|
-
* `bs-chip-informative` (the tags), `bs-button`, `bs-icon-button`.
|
|
4104
|
-
* ## When to use
|
|
4105
|
-
* - Telling users about changes to the product, in a place they can come back to.
|
|
4106
|
-
* ## When not to use
|
|
4107
|
-
* - Messages about the user's own data or an action they just took -- use `bs-snackbar`, `bs-toast`.
|
|
4108
|
-
* - A guided walk through the interface -- use `bs-product-tour`.
|
|
4808
|
+
* A hierarchical list of `bs-tree-item` rows with single selection, expand/collapse and the
|
|
4809
|
+
* WAI-ARIA tree keyboard pattern.
|
|
4810
|
+
* The tree owns `role="tree"`, the roving `tabindex` (exactly one enabled, visible item is
|
|
4811
|
+
* tabbable: the selected one, otherwise the first), selection (kept in sync with each item's
|
|
4812
|
+
* `selected`) and keyboard navigation over the visible (rendered, non-disabled) items. Items own
|
|
4813
|
+
* their expansion state and emit `bsSelect` / `bsToggle`.
|
|
4814
|
+
* Built from: `bs-tree-item` rows.
|
|
4109
4815
|
*/
|
|
4110
|
-
interface
|
|
4816
|
+
interface BsTree {
|
|
4111
4817
|
/**
|
|
4112
|
-
*
|
|
4113
|
-
* @default
|
|
4818
|
+
* Accessible name of the tree. Bound onto the internal `role="tree"` element (an `aria-label` on the host would not reach it).
|
|
4819
|
+
* @default null
|
|
4114
4820
|
*/
|
|
4115
|
-
"
|
|
4821
|
+
"ariaLabel": string | null;
|
|
4116
4822
|
/**
|
|
4117
|
-
*
|
|
4823
|
+
* Collapses every parent item.
|
|
4824
|
+
*/
|
|
4825
|
+
"collapseAll": () => Promise<void>;
|
|
4826
|
+
/**
|
|
4827
|
+
* Expands every parent item.
|
|
4828
|
+
*/
|
|
4829
|
+
"expandAll": () => Promise<void>;
|
|
4830
|
+
/**
|
|
4831
|
+
* When `false`, rows do not select (clicks and Enter/Space do nothing) but parents still expand and collapse.
|
|
4832
|
+
* @default true
|
|
4833
|
+
*/
|
|
4834
|
+
"selectable": boolean;
|
|
4835
|
+
/**
|
|
4836
|
+
* The `value` (or, when empty, the `label`) of the selected item. Two-way synced with each item's `selected` (single selection). Setting it from code does not emit `bsChange`.
|
|
4837
|
+
* @default ''
|
|
4838
|
+
*/
|
|
4839
|
+
"value": string;
|
|
4840
|
+
}
|
|
4841
|
+
/**
|
|
4842
|
+
* A single row of a `bs-tree`. An item that contains child `bs-tree-item` elements is a parent
|
|
4843
|
+
* (it gets an expand/collapse caret and a folder icon); an item without children is a leaf (no
|
|
4844
|
+
* caret, file icon).
|
|
4845
|
+
* The host carries `role="treeitem"` and the `aria-*` state; the owning `bs-tree` manages the
|
|
4846
|
+
* roving `tabindex`, selection and keyboard navigation. Nesting depth is computed automatically
|
|
4847
|
+
* from the number of ancestor `bs-tree-item` elements and exposed as `aria-level` -- it is not a
|
|
4848
|
+
* prop. Clicking the row selects it; clicking the caret (or pressing Right/Left in a tree) toggles
|
|
4849
|
+
* expansion -- the two are deliberately separate.
|
|
4850
|
+
* Built from: inline SVG icons only (no existing `bs-*` component covers a tree row).
|
|
4851
|
+
*/
|
|
4852
|
+
interface BsTreeItem {
|
|
4853
|
+
/**
|
|
4854
|
+
* Disables the row: not focusable, ignores clicks, dimmed. Reflected.
|
|
4855
|
+
* @default false
|
|
4856
|
+
*/
|
|
4857
|
+
"disabled": boolean;
|
|
4858
|
+
/**
|
|
4859
|
+
* Whether the child items are shown. Only meaningful for parents. Mutable: the caret, the keyboard and the owning tree toggle it. Reflected.
|
|
4860
|
+
* @default false
|
|
4861
|
+
*/
|
|
4862
|
+
"expanded": boolean;
|
|
4863
|
+
/**
|
|
4864
|
+
* The row's text. Use the `label` slot for rich content.
|
|
4865
|
+
* @default ''
|
|
4866
|
+
*/
|
|
4867
|
+
"label": string;
|
|
4868
|
+
/**
|
|
4869
|
+
* Marks the row as selected. Owned by the tree (single selection, synced with its `value`). Reflected.
|
|
4870
|
+
* @default false
|
|
4871
|
+
*/
|
|
4872
|
+
"selected": boolean;
|
|
4873
|
+
/**
|
|
4874
|
+
* Sets `expanded` as a user action: updates the prop and emits `bsToggle`. No-op for leaves, disabled items, or when the value would not change.
|
|
4875
|
+
*/
|
|
4876
|
+
"setExpanded": (next: boolean) => Promise<void>;
|
|
4877
|
+
/**
|
|
4878
|
+
* Shows the leading icon (default folder / file, or the `icon` slot).
|
|
4879
|
+
* @default true
|
|
4880
|
+
*/
|
|
4881
|
+
"showIcon": boolean;
|
|
4882
|
+
/**
|
|
4883
|
+
* Identifier used in events and for the tree's `value`. Falls back to `label` when empty.
|
|
4884
|
+
* @default ''
|
|
4885
|
+
*/
|
|
4886
|
+
"value": string;
|
|
4887
|
+
}
|
|
4888
|
+
/**
|
|
4889
|
+
* A product's "What's new" surface, in three forms matching the Figma component:
|
|
4890
|
+
* - `feed` -- a docked panel: heading, "Mark all as read", filter tabs, the list of updates (each a
|
|
4891
|
+
* `bs-whats-new-entry`) and a link to the full release notes.
|
|
4892
|
+
* - `announcement` -- one big update, with a hero image, a tag, a heading, a few bullet points, "1 of 3"
|
|
4893
|
+
* and Remind me later / Next.
|
|
4894
|
+
* - `teaser` -- a small card pointing at the feed: tag, date, heading, a line of text and "Open What's new".
|
|
4895
|
+
* The component only shows what you give it and reports what the user pressed. It doesn't fetch updates,
|
|
4896
|
+
* track which the user has seen, or decide when to appear: your app owns `entries` (with their `unread`
|
|
4897
|
+
* flags) and reacts to the events.
|
|
4898
|
+
* **Built from:** `bs-card` (the surface), `bs-whats-new-entry` (each update), `bs-tabs` (the filters),
|
|
4899
|
+
* `bs-chip-informative` (the tags), `bs-button`, `bs-icon-button`.
|
|
4900
|
+
* ## When to use
|
|
4901
|
+
* - Telling users about changes to the product, in a place they can come back to.
|
|
4902
|
+
* ## When not to use
|
|
4903
|
+
* - Messages about the user's own data or an action they just took -- use `bs-snackbar`, `bs-toast`.
|
|
4904
|
+
* - A guided walk through the interface -- use `bs-product-tour`.
|
|
4905
|
+
*/
|
|
4906
|
+
interface BsWhatsNew {
|
|
4907
|
+
/**
|
|
4908
|
+
* Label of the link (`teaser`).
|
|
4909
|
+
* @default 'Open What’s new'
|
|
4910
|
+
*/
|
|
4911
|
+
"actionLabel": string;
|
|
4912
|
+
/**
|
|
4913
|
+
* Shows a close button.
|
|
4118
4914
|
* @default false
|
|
4119
4915
|
*/
|
|
4120
4916
|
"closable": boolean;
|
|
@@ -4338,6 +5134,10 @@ export interface BsCitationPreviewCustomEvent<T> extends CustomEvent<T> {
|
|
|
4338
5134
|
detail: T;
|
|
4339
5135
|
target: HTMLBsCitationPreviewElement;
|
|
4340
5136
|
}
|
|
5137
|
+
export interface BsCommandPaletteCustomEvent<T> extends CustomEvent<T> {
|
|
5138
|
+
detail: T;
|
|
5139
|
+
target: HTMLBsCommandPaletteElement;
|
|
5140
|
+
}
|
|
4341
5141
|
export interface BsComposerCustomEvent<T> extends CustomEvent<T> {
|
|
4342
5142
|
detail: T;
|
|
4343
5143
|
target: HTMLBsComposerElement;
|
|
@@ -4374,6 +5174,10 @@ export interface BsFileUploadItemCustomEvent<T> extends CustomEvent<T> {
|
|
|
4374
5174
|
detail: T;
|
|
4375
5175
|
target: HTMLBsFileUploadItemElement;
|
|
4376
5176
|
}
|
|
5177
|
+
export interface BsGlobalSearchCustomEvent<T> extends CustomEvent<T> {
|
|
5178
|
+
detail: T;
|
|
5179
|
+
target: HTMLBsGlobalSearchElement;
|
|
5180
|
+
}
|
|
4377
5181
|
export interface BsInlineTabCustomEvent<T> extends CustomEvent<T> {
|
|
4378
5182
|
detail: T;
|
|
4379
5183
|
target: HTMLBsInlineTabElement;
|
|
@@ -4382,6 +5186,18 @@ export interface BsInputCustomEvent<T> extends CustomEvent<T> {
|
|
|
4382
5186
|
detail: T;
|
|
4383
5187
|
target: HTMLBsInputElement;
|
|
4384
5188
|
}
|
|
5189
|
+
export interface BsKeyboardShortcutsCustomEvent<T> extends CustomEvent<T> {
|
|
5190
|
+
detail: T;
|
|
5191
|
+
target: HTMLBsKeyboardShortcutsElement;
|
|
5192
|
+
}
|
|
5193
|
+
export interface BsListCustomEvent<T> extends CustomEvent<T> {
|
|
5194
|
+
detail: T;
|
|
5195
|
+
target: HTMLBsListElement;
|
|
5196
|
+
}
|
|
5197
|
+
export interface BsListItemCustomEvent<T> extends CustomEvent<T> {
|
|
5198
|
+
detail: T;
|
|
5199
|
+
target: HTMLBsListItemElement;
|
|
5200
|
+
}
|
|
4385
5201
|
export interface BsMenuItemCustomEvent<T> extends CustomEvent<T> {
|
|
4386
5202
|
detail: T;
|
|
4387
5203
|
target: HTMLBsMenuItemElement;
|
|
@@ -4422,6 +5238,10 @@ export interface BsRadioCustomEvent<T> extends CustomEvent<T> {
|
|
|
4422
5238
|
detail: T;
|
|
4423
5239
|
target: HTMLBsRadioElement;
|
|
4424
5240
|
}
|
|
5241
|
+
export interface BsSearchItemCustomEvent<T> extends CustomEvent<T> {
|
|
5242
|
+
detail: T;
|
|
5243
|
+
target: HTMLBsSearchItemElement;
|
|
5244
|
+
}
|
|
4425
5245
|
export interface BsSessionTimeoutCustomEvent<T> extends CustomEvent<T> {
|
|
4426
5246
|
detail: T;
|
|
4427
5247
|
target: HTMLBsSessionTimeoutElement;
|
|
@@ -4466,6 +5286,14 @@ export interface BsToastCustomEvent<T> extends CustomEvent<T> {
|
|
|
4466
5286
|
detail: T;
|
|
4467
5287
|
target: HTMLBsToastElement;
|
|
4468
5288
|
}
|
|
5289
|
+
export interface BsTreeCustomEvent<T> extends CustomEvent<T> {
|
|
5290
|
+
detail: T;
|
|
5291
|
+
target: HTMLBsTreeElement;
|
|
5292
|
+
}
|
|
5293
|
+
export interface BsTreeItemCustomEvent<T> extends CustomEvent<T> {
|
|
5294
|
+
detail: T;
|
|
5295
|
+
target: HTMLBsTreeItemElement;
|
|
5296
|
+
}
|
|
4469
5297
|
export interface BsWhatsNewCustomEvent<T> extends CustomEvent<T> {
|
|
4470
5298
|
detail: T;
|
|
4471
5299
|
target: HTMLBsWhatsNewElement;
|
|
@@ -5352,6 +6180,57 @@ declare global {
|
|
|
5352
6180
|
prototype: HTMLBsCitationPreviewElement;
|
|
5353
6181
|
new (): HTMLBsCitationPreviewElement;
|
|
5354
6182
|
};
|
|
6183
|
+
interface HTMLBsCommandPaletteElementEventMap {
|
|
6184
|
+
"bsInput": BsCommandPaletteInputDetail;
|
|
6185
|
+
"bsSelect": BsCommandPaletteSelectDetail;
|
|
6186
|
+
"bsSuggestion": string;
|
|
6187
|
+
"bsOpenChange": boolean;
|
|
6188
|
+
"bsScopeExit": void;
|
|
6189
|
+
}
|
|
6190
|
+
/**
|
|
6191
|
+
* A Ctrl+K command palette: a modal with a search field, grouped commands, navigation and records, a
|
|
6192
|
+
* no-results view and a keyboard-hint footer. The data, the filtering, the command registry and the
|
|
6193
|
+
* recent-items storage are all yours: you slot `bs-search-item`s into the sections and set `status`.
|
|
6194
|
+
* Built from a native `<dialog>` (opened with `showModal()`, so focus is trapped, the page behind is inert
|
|
6195
|
+
* and the backdrop is the scrim), `bs-input` (type="search"), `bs-search-item`, `bs-key` (footer hints and
|
|
6196
|
+
* the Esc cap), `bs-chip-informative` (the scope chip) and `bs-spinner` (loading). Slot a `bs-key-caps` with
|
|
6197
|
+
* `slot="trailing"` inside an item to show a command's shortcut.
|
|
6198
|
+
* ## When to use
|
|
6199
|
+
* - An app-wide "do anything" entry point opened with a hotkey: run commands, navigate, open records.
|
|
6200
|
+
* ## When not to use
|
|
6201
|
+
* - A plain search box with a dropdown -- use `bs-global-search`.
|
|
6202
|
+
* - A small list of actions on one control -- use `bs-menu`.
|
|
6203
|
+
* A `>` as the first character of the field switches to commands-only mode (`commandsOnly`, reflected as
|
|
6204
|
+
* `commands-only`). The component filters nothing: listen to `bsInput`, swap the slotted items, set `status`.
|
|
6205
|
+
* Nested (sub-command) palettes are a consumer pattern: swap the slotted commands and set `scopeLabel`.
|
|
6206
|
+
* @prop --bs-command-palette-width - Panel width. Defaults to `640px` (Figma); capped to the viewport.
|
|
6207
|
+
* @prop --bs-command-palette-top - Distance from the top of the viewport. Defaults to `12vh`.
|
|
6208
|
+
* @prop --bs-command-palette-max-height - Max height of the results area. Defaults to `60vh`.
|
|
6209
|
+
* @prop --bs-command-palette-radius - Aliased to `--bs-border-radius-150`.
|
|
6210
|
+
* @prop --bs-command-palette-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
6211
|
+
* @prop --bs-command-palette-shadow - Figma elevation level 4: `0 8px 16px` in `--bs-elevation-higher` (stronger in dark mode).
|
|
6212
|
+
* @prop --bs-command-palette-overlay - Scrim colour. Aliased to `--bs-surface-overlay`.
|
|
6213
|
+
* @prop --bs-command-palette-footer-bg - Aliased to `--bs-surface-container`.
|
|
6214
|
+
* @prop --bs-command-palette-divider-color - Aliased to `--bs-border-default`.
|
|
6215
|
+
* @prop --bs-command-palette-header-border-color - Aliased to `--bs-border-neutral-container`.
|
|
6216
|
+
* @prop --bs-command-palette-header-color - Aliased to `--bs-text-muted`.
|
|
6217
|
+
* @prop --bs-command-palette-hint-color - Aliased to `--bs-text-secondary`.
|
|
6218
|
+
* @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
|
|
6219
|
+
*/
|
|
6220
|
+
interface HTMLBsCommandPaletteElement extends Components.BsCommandPalette, HTMLStencilElement {
|
|
6221
|
+
addEventListener<K extends keyof HTMLBsCommandPaletteElementEventMap>(type: K, listener: (this: HTMLBsCommandPaletteElement, ev: BsCommandPaletteCustomEvent<HTMLBsCommandPaletteElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6222
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6223
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6224
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
6225
|
+
removeEventListener<K extends keyof HTMLBsCommandPaletteElementEventMap>(type: K, listener: (this: HTMLBsCommandPaletteElement, ev: BsCommandPaletteCustomEvent<HTMLBsCommandPaletteElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
6226
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6227
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6228
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
6229
|
+
}
|
|
6230
|
+
var HTMLBsCommandPaletteElement: {
|
|
6231
|
+
prototype: HTMLBsCommandPaletteElement;
|
|
6232
|
+
new (): HTMLBsCommandPaletteElement;
|
|
6233
|
+
};
|
|
5355
6234
|
interface HTMLBsComposerElementEventMap {
|
|
5356
6235
|
"bsInput": string;
|
|
5357
6236
|
"bsSubmit": void;
|
|
@@ -5667,6 +6546,29 @@ declare global {
|
|
|
5667
6546
|
prototype: HTMLBsDividerElement;
|
|
5668
6547
|
new (): HTMLBsDividerElement;
|
|
5669
6548
|
};
|
|
6549
|
+
/**
|
|
6550
|
+
* A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
|
|
6551
|
+
* Used for empty lists, "no results" and error states inside a panel, card or page section.
|
|
6552
|
+
* Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
|
|
6553
|
+
* The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
|
|
6554
|
+
* element that stays in the DOM while this block appears and disappears).
|
|
6555
|
+
* ## When to use
|
|
6556
|
+
* - A list, table or search result that has nothing to show, or failed to load.
|
|
6557
|
+
* ## When not to use
|
|
6558
|
+
* - A full-page error with a status code -- use `bs-error-page`.
|
|
6559
|
+
* - A transient message -- use `bs-toast` or `bs-snackbar`.
|
|
6560
|
+
* @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
|
|
6561
|
+
* @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
|
|
6562
|
+
* @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
|
|
6563
|
+
* @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
|
|
6564
|
+
* @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
|
|
6565
|
+
*/
|
|
6566
|
+
interface HTMLBsEmptyStateElement extends Components.BsEmptyState, HTMLStencilElement {
|
|
6567
|
+
}
|
|
6568
|
+
var HTMLBsEmptyStateElement: {
|
|
6569
|
+
prototype: HTMLBsEmptyStateElement;
|
|
6570
|
+
new (): HTMLBsEmptyStateElement;
|
|
6571
|
+
};
|
|
5670
6572
|
interface HTMLBsErrorPageElementEventMap {
|
|
5671
6573
|
"bsPrimary": void;
|
|
5672
6574
|
"bsSecondary": void;
|
|
@@ -5757,6 +6659,60 @@ declare global {
|
|
|
5757
6659
|
prototype: HTMLBsFileUploadItemElement;
|
|
5758
6660
|
new (): HTMLBsFileUploadItemElement;
|
|
5759
6661
|
};
|
|
6662
|
+
interface HTMLBsGlobalSearchElementEventMap {
|
|
6663
|
+
"bsInput": string;
|
|
6664
|
+
"bsSearch": string;
|
|
6665
|
+
"bsSelect": BsGlobalSearchSelectDetail;
|
|
6666
|
+
"bsOpenChange": boolean;
|
|
6667
|
+
"bsClearRecent": void;
|
|
6668
|
+
"bsClearSearch": void;
|
|
6669
|
+
"bsSeeAll": void;
|
|
6670
|
+
"bsRetry": void;
|
|
6671
|
+
}
|
|
6672
|
+
/**
|
|
6673
|
+
* A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
|
|
6674
|
+
* or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
|
|
6675
|
+
* are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
|
|
6676
|
+
* Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
|
|
6677
|
+
* `bs-button` and `bs-key` (the footer keycaps).
|
|
6678
|
+
* ## When to use
|
|
6679
|
+
* - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
|
|
6680
|
+
* ## When not to use
|
|
6681
|
+
* - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
|
|
6682
|
+
* - A list of commands or actions -- use `bs-menu`.
|
|
6683
|
+
* - The complete result set -- link to a full search results page ("See all results").
|
|
6684
|
+
* Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
|
|
6685
|
+
* `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
|
|
6686
|
+
* content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
|
|
6687
|
+
* Known limit: the items are in your light DOM and the combobox in this shadow root, so
|
|
6688
|
+
* `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
|
|
6689
|
+
* highlighted option also gets `aria-selected="true"`.
|
|
6690
|
+
* @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
|
|
6691
|
+
* @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
|
|
6692
|
+
* @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
|
|
6693
|
+
* @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
|
|
6694
|
+
* @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
6695
|
+
* @prop --bs-global-search-shadow - Panel shadow: Figma elevation level 3 (`0 4px 8px` in `--bs-elevation-high`, 10% black in light mode and 30% in dark mode).
|
|
6696
|
+
* @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
|
|
6697
|
+
* @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
|
|
6698
|
+
* @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
|
|
6699
|
+
* @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
|
|
6700
|
+
* @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
|
|
6701
|
+
*/
|
|
6702
|
+
interface HTMLBsGlobalSearchElement extends Components.BsGlobalSearch, HTMLStencilElement {
|
|
6703
|
+
addEventListener<K extends keyof HTMLBsGlobalSearchElementEventMap>(type: K, listener: (this: HTMLBsGlobalSearchElement, ev: BsGlobalSearchCustomEvent<HTMLBsGlobalSearchElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6704
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6705
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6706
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
6707
|
+
removeEventListener<K extends keyof HTMLBsGlobalSearchElementEventMap>(type: K, listener: (this: HTMLBsGlobalSearchElement, ev: BsGlobalSearchCustomEvent<HTMLBsGlobalSearchElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
6708
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6709
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6710
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
6711
|
+
}
|
|
6712
|
+
var HTMLBsGlobalSearchElement: {
|
|
6713
|
+
prototype: HTMLBsGlobalSearchElement;
|
|
6714
|
+
new (): HTMLBsGlobalSearchElement;
|
|
6715
|
+
};
|
|
5760
6716
|
/**
|
|
5761
6717
|
* A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
|
|
5762
6718
|
* `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
|
|
@@ -5904,6 +6860,173 @@ declare global {
|
|
|
5904
6860
|
prototype: HTMLBsInputElement;
|
|
5905
6861
|
new (): HTMLBsInputElement;
|
|
5906
6862
|
};
|
|
6863
|
+
/**
|
|
6864
|
+
* One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
|
|
6865
|
+
* Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
|
|
6866
|
+
* ## When to use
|
|
6867
|
+
* - Showing a keyboard shortcut hint next to a control or inside a search field.
|
|
6868
|
+
* - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
|
|
6869
|
+
* ## When not to use
|
|
6870
|
+
* - As a button or any clickable control -- a key is a static hint, not interactive.
|
|
6871
|
+
* @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
|
|
6872
|
+
* @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
|
|
6873
|
+
* @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
|
|
6874
|
+
* @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
|
|
6875
|
+
* @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
|
|
6876
|
+
* @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
|
|
6877
|
+
* @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
|
|
6878
|
+
* @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
|
|
6879
|
+
* @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
|
|
6880
|
+
*/
|
|
6881
|
+
interface HTMLBsKeyElement extends Components.BsKey, HTMLStencilElement {
|
|
6882
|
+
}
|
|
6883
|
+
var HTMLBsKeyElement: {
|
|
6884
|
+
prototype: HTMLBsKeyElement;
|
|
6885
|
+
new (): HTMLBsKeyElement;
|
|
6886
|
+
};
|
|
6887
|
+
/**
|
|
6888
|
+
* A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
|
|
6889
|
+
* (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
|
|
6890
|
+
* elements -- for example when a key is an icon.
|
|
6891
|
+
* ## When to use
|
|
6892
|
+
* - A shortcut hint beside a menu item, button or inside a search field.
|
|
6893
|
+
* ## When not to use
|
|
6894
|
+
* - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
|
|
6895
|
+
* - Anything interactive -- keys are static hints.
|
|
6896
|
+
* @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
|
|
6897
|
+
* @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
|
|
6898
|
+
* @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
|
|
6899
|
+
*/
|
|
6900
|
+
interface HTMLBsKeyCapsElement extends Components.BsKeyCaps, HTMLStencilElement {
|
|
6901
|
+
}
|
|
6902
|
+
var HTMLBsKeyCapsElement: {
|
|
6903
|
+
prototype: HTMLBsKeyCapsElement;
|
|
6904
|
+
new (): HTMLBsKeyCapsElement;
|
|
6905
|
+
};
|
|
6906
|
+
interface HTMLBsKeyboardShortcutsElementEventMap {
|
|
6907
|
+
"bsClose": void;
|
|
6908
|
+
"bsQueryChange": string;
|
|
6909
|
+
"bsSingleKeyChange": boolean;
|
|
6910
|
+
}
|
|
6911
|
+
/**
|
|
6912
|
+
* A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
|
|
6913
|
+
* optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
|
|
6914
|
+
* surface, not a modal -- place it inside `bs-dialog` or a popover.
|
|
6915
|
+
* Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
|
|
6916
|
+
* `bs-key-caps` / `bs-key`).
|
|
6917
|
+
* ## When to use
|
|
6918
|
+
* - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
|
|
6919
|
+
* ## When not to use
|
|
6920
|
+
* - A long-form help page or documentation -- link to it instead.
|
|
6921
|
+
* - A list of commands the user can run from it -- use `bs-menu`.
|
|
6922
|
+
* @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
|
|
6923
|
+
* @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
6924
|
+
* @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
|
|
6925
|
+
* @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
|
|
6926
|
+
* @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
|
|
6927
|
+
* @prop --bs-keyboard-shortcuts-shadow - Figma elevation level 4 (`0 8px 8px` in `--bs-elevation-higher`, 12% black in light mode and 25% in dark mode).
|
|
6928
|
+
* @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
|
|
6929
|
+
* @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
|
|
6930
|
+
* @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
|
|
6931
|
+
*/
|
|
6932
|
+
interface HTMLBsKeyboardShortcutsElement extends Components.BsKeyboardShortcuts, HTMLStencilElement {
|
|
6933
|
+
addEventListener<K extends keyof HTMLBsKeyboardShortcutsElementEventMap>(type: K, listener: (this: HTMLBsKeyboardShortcutsElement, ev: BsKeyboardShortcutsCustomEvent<HTMLBsKeyboardShortcutsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6934
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6935
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6936
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
6937
|
+
removeEventListener<K extends keyof HTMLBsKeyboardShortcutsElementEventMap>(type: K, listener: (this: HTMLBsKeyboardShortcutsElement, ev: BsKeyboardShortcutsCustomEvent<HTMLBsKeyboardShortcutsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
6938
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6939
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6940
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
6941
|
+
}
|
|
6942
|
+
var HTMLBsKeyboardShortcutsElement: {
|
|
6943
|
+
prototype: HTMLBsKeyboardShortcutsElement;
|
|
6944
|
+
new (): HTMLBsKeyboardShortcutsElement;
|
|
6945
|
+
};
|
|
6946
|
+
interface HTMLBsListElementEventMap {
|
|
6947
|
+
"bsChange": string | null;
|
|
6948
|
+
}
|
|
6949
|
+
/**
|
|
6950
|
+
* A vertical list of `bs-list-item` rows, optionally single-select.
|
|
6951
|
+
* ## When to use
|
|
6952
|
+
* - Records, people, files or options shown as rows with leading media and descriptions.
|
|
6953
|
+
* - `selectable` for a single-choice list (e.g. a conversation list next to a detail pane).
|
|
6954
|
+
* ## When not to use
|
|
6955
|
+
* - A popup list of actions -- use `bs-menu`.
|
|
6956
|
+
* - Navigation between app sections -- use `bs-navigation-drawer`.
|
|
6957
|
+
* - Multi-column, sortable or paged data -- use `bs-data-table`.
|
|
6958
|
+
* Built from `bs-list-item` children (light DOM; the list never moves nodes).
|
|
6959
|
+
* @prop --bs-list-gap - Gap between rows. Defaults to `0`.
|
|
6960
|
+
* @prop --bs-list-divider-color - Divider colour when `dividers` is set. Aliased to `--bs-border-neutral-container`.
|
|
6961
|
+
*/
|
|
6962
|
+
interface HTMLBsListElement extends Components.BsList, HTMLStencilElement {
|
|
6963
|
+
addEventListener<K extends keyof HTMLBsListElementEventMap>(type: K, listener: (this: HTMLBsListElement, ev: BsListCustomEvent<HTMLBsListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6964
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6965
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6966
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
6967
|
+
removeEventListener<K extends keyof HTMLBsListElementEventMap>(type: K, listener: (this: HTMLBsListElement, ev: BsListCustomEvent<HTMLBsListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
6968
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6969
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6970
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
6971
|
+
}
|
|
6972
|
+
var HTMLBsListElement: {
|
|
6973
|
+
prototype: HTMLBsListElement;
|
|
6974
|
+
new (): HTMLBsListElement;
|
|
6975
|
+
};
|
|
6976
|
+
interface HTMLBsListItemElementEventMap {
|
|
6977
|
+
"bsItemClick": string | null;
|
|
6978
|
+
}
|
|
6979
|
+
/**
|
|
6980
|
+
* A single row of a list: optional leading media (avatar, icon, image), a label, a description and
|
|
6981
|
+
* optional support text, and an optional trailing caret or custom trailing content.
|
|
6982
|
+
* ## When to use
|
|
6983
|
+
* - As a child of `bs-list`, one per record, person, file or option.
|
|
6984
|
+
* - Standalone as a plain information row (non-interactive), or with `interactive` as a button-like row.
|
|
6985
|
+
* ## When not to use
|
|
6986
|
+
* - A popup list of actions -- use `bs-menu` / `bs-menu-item`.
|
|
6987
|
+
* - App navigation with an active route -- use `bs-navigation-drawer-item`.
|
|
6988
|
+
* - Tabular data with columns, sorting or paging -- use `bs-data-table`.
|
|
6989
|
+
* Composed from: leading media (`bs-avatar`) and trailing controls (`bs-icon-button`) are supplied by the
|
|
6990
|
+
* consumer through the `leading` and `trailing` slots; the row itself only reserves layout. The default
|
|
6991
|
+
* trailing caret is inline SVG.
|
|
6992
|
+
* Roles are driven by the parent `bs-list` (via `selectionRole`). Standalone, the row has no role
|
|
6993
|
+
* (`listitem` is only valid inside a list) unless `interactive` is set, which makes it a focusable
|
|
6994
|
+
* `role="button"`.
|
|
6995
|
+
* @prop --bs-list-item-min-height - Minimum row height. Aliased to `--bs-spacing-1000`.
|
|
6996
|
+
* @prop --bs-list-item-padding-y - Aliased to `--bs-spacing-150`.
|
|
6997
|
+
* @prop --bs-list-item-padding-x - Aliased to `--bs-spacing-200`.
|
|
6998
|
+
* @prop --bs-list-item-gap - Gap between leading, content and trailing. Aliased to `--bs-spacing-200`.
|
|
6999
|
+
* @prop --bs-list-item-content-gap - Gap between text lines. Aliased to `--bs-spacing-25`.
|
|
7000
|
+
* @prop --bs-list-item-radius - Aliased to `--bs-border-radius-100`.
|
|
7001
|
+
* @prop --bs-list-item-bg - Enabled background. `transparent`.
|
|
7002
|
+
* @prop --bs-list-item-bg-hover - Aliased to `--bs-surface-hover`.
|
|
7003
|
+
* @prop --bs-list-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
7004
|
+
* @prop --bs-list-item-bg-focus - Aliased to `--bs-surface-focus`.
|
|
7005
|
+
* @prop --bs-list-item-bg-selected - Aliased to `--bs-surface-selected`.
|
|
7006
|
+
* @prop --bs-list-item-bg-selected-hover - Aliased to `--bs-surface-selected-hover`.
|
|
7007
|
+
* @prop --bs-list-item-bg-selected-pressed - Aliased to `--bs-surface-selected-pressed`.
|
|
7008
|
+
* @prop --bs-list-item-bg-selected-focus - Aliased to `--bs-surface-selected-focus`.
|
|
7009
|
+
* @prop --bs-list-item-bg-disabled - Aliased to `--bs-surface-action-disabled`.
|
|
7010
|
+
* @prop --bs-list-item-color - Text colour. Aliased to `--bs-text-default`.
|
|
7011
|
+
* @prop --bs-list-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
7012
|
+
* @prop --bs-list-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
7013
|
+
* @prop --bs-list-item-image-width - Leading image width. 72px.
|
|
7014
|
+
* @prop --bs-list-item-image-height - Leading image height. 56px.
|
|
7015
|
+
*/
|
|
7016
|
+
interface HTMLBsListItemElement extends Components.BsListItem, HTMLStencilElement {
|
|
7017
|
+
addEventListener<K extends keyof HTMLBsListItemElementEventMap>(type: K, listener: (this: HTMLBsListItemElement, ev: BsListItemCustomEvent<HTMLBsListItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7018
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7019
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7020
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
7021
|
+
removeEventListener<K extends keyof HTMLBsListItemElementEventMap>(type: K, listener: (this: HTMLBsListItemElement, ev: BsListItemCustomEvent<HTMLBsListItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
7022
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7023
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7024
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
7025
|
+
}
|
|
7026
|
+
var HTMLBsListItemElement: {
|
|
7027
|
+
prototype: HTMLBsListItemElement;
|
|
7028
|
+
new (): HTMLBsListItemElement;
|
|
7029
|
+
};
|
|
5907
7030
|
/**
|
|
5908
7031
|
* The BrandSync brand mark, as its own standalone component -- shared by `bs-navigation-header`
|
|
5909
7032
|
* and `bs-navigation-drawer`, which used to each render their own duplicated copy of this SVG
|
|
@@ -6439,6 +7562,47 @@ declare global {
|
|
|
6439
7562
|
prototype: HTMLBsRadioElement;
|
|
6440
7563
|
new (): HTMLBsRadioElement;
|
|
6441
7564
|
};
|
|
7565
|
+
interface HTMLBsSearchItemElementEventMap {
|
|
7566
|
+
"bsItemSelect": string | undefined;
|
|
7567
|
+
}
|
|
7568
|
+
/**
|
|
7569
|
+
* One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
|
|
7570
|
+
* description line and trailing text. Static, not focusable -- focus stays in the search field and the
|
|
7571
|
+
* parent (`bs-global-search`) marks the highlighted row with `active`.
|
|
7572
|
+
* Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
|
|
7573
|
+
* the same pattern as `bs-list-item` and `bs-shortcut-row`.
|
|
7574
|
+
* ## When to use
|
|
7575
|
+
* - A suggestion, recent search or result inside `bs-global-search`.
|
|
7576
|
+
* ## When not to use
|
|
7577
|
+
* - A row in a generic list -- use `bs-list-item`.
|
|
7578
|
+
* - A command in a popup menu -- use `bs-menu-item`.
|
|
7579
|
+
* @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
|
|
7580
|
+
* @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
7581
|
+
* @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
|
|
7582
|
+
* @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
|
|
7583
|
+
* @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
|
|
7584
|
+
* @prop --bs-search-item-bg - Resting background. `transparent`.
|
|
7585
|
+
* @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
|
|
7586
|
+
* @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
7587
|
+
* @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
|
|
7588
|
+
* @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
|
|
7589
|
+
* @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
7590
|
+
* @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
|
|
7591
|
+
*/
|
|
7592
|
+
interface HTMLBsSearchItemElement extends Components.BsSearchItem, HTMLStencilElement {
|
|
7593
|
+
addEventListener<K extends keyof HTMLBsSearchItemElementEventMap>(type: K, listener: (this: HTMLBsSearchItemElement, ev: BsSearchItemCustomEvent<HTMLBsSearchItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7594
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7595
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7596
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
7597
|
+
removeEventListener<K extends keyof HTMLBsSearchItemElementEventMap>(type: K, listener: (this: HTMLBsSearchItemElement, ev: BsSearchItemCustomEvent<HTMLBsSearchItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
7598
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7599
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7600
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
7601
|
+
}
|
|
7602
|
+
var HTMLBsSearchItemElement: {
|
|
7603
|
+
prototype: HTMLBsSearchItemElement;
|
|
7604
|
+
new (): HTMLBsSearchItemElement;
|
|
7605
|
+
};
|
|
6442
7606
|
interface HTMLBsSessionTimeoutElementEventMap {
|
|
6443
7607
|
"bsPrimary": { password?: string } | void;
|
|
6444
7608
|
"bsSecondary": void;
|
|
@@ -6486,6 +7650,28 @@ declare global {
|
|
|
6486
7650
|
prototype: HTMLBsSessionTimeoutElement;
|
|
6487
7651
|
new (): HTMLBsSessionTimeoutElement;
|
|
6488
7652
|
};
|
|
7653
|
+
/**
|
|
7654
|
+
* One row of a shortcut list: an action label on the left and its keyboard shortcut on the right.
|
|
7655
|
+
* Static information, not interactive. Standalone it has no role; `bs-keyboard-shortcuts` sets
|
|
7656
|
+
* `selectionRole="listitem"` on its rows (same pattern as `bs-list-item`).
|
|
7657
|
+
* Built from `bs-key-caps` (and so `bs-key`).
|
|
7658
|
+
* ## When to use
|
|
7659
|
+
* - A line in a keyboard-shortcut reference, usually inside `bs-keyboard-shortcuts`.
|
|
7660
|
+
* ## When not to use
|
|
7661
|
+
* - A clickable command or menu entry -- use `bs-menu-item` (which has its own shortcut slot).
|
|
7662
|
+
* @prop --bs-shortcut-row-height - Row height. Defaults to `36px` (Figma).
|
|
7663
|
+
* @prop --bs-shortcut-row-padding-x - Horizontal padding. Aliased to `--bs-spacing-100`.
|
|
7664
|
+
* @prop --bs-shortcut-row-gap - Gap between label and keys. Aliased to `--bs-spacing-100`.
|
|
7665
|
+
* @prop --bs-shortcut-row-radius - Corner radius. Aliased to `--bs-border-radius-75`.
|
|
7666
|
+
* @prop --bs-shortcut-row-color - Label colour. Aliased to `--bs-text-default`.
|
|
7667
|
+
* @prop --bs-shortcut-row-color-disabled - Label colour while `disabled`. Aliased to `--bs-text-on-disabled`.
|
|
7668
|
+
*/
|
|
7669
|
+
interface HTMLBsShortcutRowElement extends Components.BsShortcutRow, HTMLStencilElement {
|
|
7670
|
+
}
|
|
7671
|
+
var HTMLBsShortcutRowElement: {
|
|
7672
|
+
prototype: HTMLBsShortcutRowElement;
|
|
7673
|
+
new (): HTMLBsShortcutRowElement;
|
|
7674
|
+
};
|
|
6489
7675
|
interface HTMLBsSidePanelElementEventMap {
|
|
6490
7676
|
"bsClose": void;
|
|
6491
7677
|
}
|
|
@@ -7005,6 +8191,61 @@ declare global {
|
|
|
7005
8191
|
prototype: HTMLBsTooltipTriggerElement;
|
|
7006
8192
|
new (): HTMLBsTooltipTriggerElement;
|
|
7007
8193
|
};
|
|
8194
|
+
interface HTMLBsTreeElementEventMap {
|
|
8195
|
+
"bsChange": string;
|
|
8196
|
+
}
|
|
8197
|
+
/**
|
|
8198
|
+
* A hierarchical list of `bs-tree-item` rows with single selection, expand/collapse and the
|
|
8199
|
+
* WAI-ARIA tree keyboard pattern.
|
|
8200
|
+
* The tree owns `role="tree"`, the roving `tabindex` (exactly one enabled, visible item is
|
|
8201
|
+
* tabbable: the selected one, otherwise the first), selection (kept in sync with each item's
|
|
8202
|
+
* `selected`) and keyboard navigation over the visible (rendered, non-disabled) items. Items own
|
|
8203
|
+
* their expansion state and emit `bsSelect` / `bsToggle`.
|
|
8204
|
+
* Built from: `bs-tree-item` rows.
|
|
8205
|
+
*/
|
|
8206
|
+
interface HTMLBsTreeElement extends Components.BsTree, HTMLStencilElement {
|
|
8207
|
+
addEventListener<K extends keyof HTMLBsTreeElementEventMap>(type: K, listener: (this: HTMLBsTreeElement, ev: BsTreeCustomEvent<HTMLBsTreeElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8208
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8209
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8210
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
8211
|
+
removeEventListener<K extends keyof HTMLBsTreeElementEventMap>(type: K, listener: (this: HTMLBsTreeElement, ev: BsTreeCustomEvent<HTMLBsTreeElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
8212
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
8213
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
8214
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
8215
|
+
}
|
|
8216
|
+
var HTMLBsTreeElement: {
|
|
8217
|
+
prototype: HTMLBsTreeElement;
|
|
8218
|
+
new (): HTMLBsTreeElement;
|
|
8219
|
+
};
|
|
8220
|
+
interface HTMLBsTreeItemElementEventMap {
|
|
8221
|
+
"bsToggle": boolean;
|
|
8222
|
+
"bsSelect": string;
|
|
8223
|
+
}
|
|
8224
|
+
/**
|
|
8225
|
+
* A single row of a `bs-tree`. An item that contains child `bs-tree-item` elements is a parent
|
|
8226
|
+
* (it gets an expand/collapse caret and a folder icon); an item without children is a leaf (no
|
|
8227
|
+
* caret, file icon).
|
|
8228
|
+
* The host carries `role="treeitem"` and the `aria-*` state; the owning `bs-tree` manages the
|
|
8229
|
+
* roving `tabindex`, selection and keyboard navigation. Nesting depth is computed automatically
|
|
8230
|
+
* from the number of ancestor `bs-tree-item` elements and exposed as `aria-level` -- it is not a
|
|
8231
|
+
* prop. Clicking the row selects it; clicking the caret (or pressing Right/Left in a tree) toggles
|
|
8232
|
+
* expansion -- the two are deliberately separate.
|
|
8233
|
+
* Built from: inline SVG icons only (no existing `bs-*` component covers a tree row).
|
|
8234
|
+
*/
|
|
8235
|
+
interface HTMLBsTreeItemElement extends Components.BsTreeItem, HTMLStencilElement {
|
|
8236
|
+
addEventListener<K extends keyof HTMLBsTreeItemElementEventMap>(type: K, listener: (this: HTMLBsTreeItemElement, ev: BsTreeItemCustomEvent<HTMLBsTreeItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8237
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8238
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8239
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
8240
|
+
removeEventListener<K extends keyof HTMLBsTreeItemElementEventMap>(type: K, listener: (this: HTMLBsTreeItemElement, ev: BsTreeItemCustomEvent<HTMLBsTreeItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
8241
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
8242
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
8243
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
8244
|
+
}
|
|
8245
|
+
var HTMLBsTreeItemElement: {
|
|
8246
|
+
prototype: HTMLBsTreeItemElement;
|
|
8247
|
+
new (): HTMLBsTreeItemElement;
|
|
8248
|
+
};
|
|
7008
8249
|
interface HTMLBsWhatsNewElementEventMap {
|
|
7009
8250
|
"bsMarkAllRead": void;
|
|
7010
8251
|
"bsEntryAction": { id: string };
|
|
@@ -7103,6 +8344,7 @@ declare global {
|
|
|
7103
8344
|
"bs-chip-informative": HTMLBsChipInformativeElement;
|
|
7104
8345
|
"bs-chip-input": HTMLBsChipInputElement;
|
|
7105
8346
|
"bs-citation-preview": HTMLBsCitationPreviewElement;
|
|
8347
|
+
"bs-command-palette": HTMLBsCommandPaletteElement;
|
|
7106
8348
|
"bs-composer": HTMLBsComposerElement;
|
|
7107
8349
|
"bs-composer-status-banner": HTMLBsComposerStatusBannerElement;
|
|
7108
8350
|
"bs-container": HTMLBsContainerElement;
|
|
@@ -7111,14 +8353,21 @@ declare global {
|
|
|
7111
8353
|
"bs-datepicker": HTMLBsDatepickerElement;
|
|
7112
8354
|
"bs-dialog": HTMLBsDialogElement;
|
|
7113
8355
|
"bs-divider": HTMLBsDividerElement;
|
|
8356
|
+
"bs-empty-state": HTMLBsEmptyStateElement;
|
|
7114
8357
|
"bs-error-page": HTMLBsErrorPageElement;
|
|
7115
8358
|
"bs-file-upload": HTMLBsFileUploadElement;
|
|
7116
8359
|
"bs-file-upload-item": HTMLBsFileUploadItemElement;
|
|
8360
|
+
"bs-global-search": HTMLBsGlobalSearchElement;
|
|
7117
8361
|
"bs-grid": HTMLBsGridElement;
|
|
7118
8362
|
"bs-icon-button": HTMLBsIconButtonElement;
|
|
7119
8363
|
"bs-icon-tile": HTMLBsIconTileElement;
|
|
7120
8364
|
"bs-inline-tab": HTMLBsInlineTabElement;
|
|
7121
8365
|
"bs-input": HTMLBsInputElement;
|
|
8366
|
+
"bs-key": HTMLBsKeyElement;
|
|
8367
|
+
"bs-key-caps": HTMLBsKeyCapsElement;
|
|
8368
|
+
"bs-keyboard-shortcuts": HTMLBsKeyboardShortcutsElement;
|
|
8369
|
+
"bs-list": HTMLBsListElement;
|
|
8370
|
+
"bs-list-item": HTMLBsListItemElement;
|
|
7122
8371
|
"bs-logo": HTMLBsLogoElement;
|
|
7123
8372
|
"bs-menu": HTMLBsMenuElement;
|
|
7124
8373
|
"bs-menu-item": HTMLBsMenuItemElement;
|
|
@@ -7135,7 +8384,9 @@ declare global {
|
|
|
7135
8384
|
"bs-progress-linear": HTMLBsProgressLinearElement;
|
|
7136
8385
|
"bs-qr-code": HTMLBsQrCodeElement;
|
|
7137
8386
|
"bs-radio": HTMLBsRadioElement;
|
|
8387
|
+
"bs-search-item": HTMLBsSearchItemElement;
|
|
7138
8388
|
"bs-session-timeout": HTMLBsSessionTimeoutElement;
|
|
8389
|
+
"bs-shortcut-row": HTMLBsShortcutRowElement;
|
|
7139
8390
|
"bs-side-panel": HTMLBsSidePanelElement;
|
|
7140
8391
|
"bs-skeleton": HTMLBsSkeletonElement;
|
|
7141
8392
|
"bs-slider": HTMLBsSliderElement;
|
|
@@ -7153,6 +8404,8 @@ declare global {
|
|
|
7153
8404
|
"bs-toast": HTMLBsToastElement;
|
|
7154
8405
|
"bs-tooltip": HTMLBsTooltipElement;
|
|
7155
8406
|
"bs-tooltip-trigger": HTMLBsTooltipTriggerElement;
|
|
8407
|
+
"bs-tree": HTMLBsTreeElement;
|
|
8408
|
+
"bs-tree-item": HTMLBsTreeItemElement;
|
|
7156
8409
|
"bs-whats-new": HTMLBsWhatsNewElement;
|
|
7157
8410
|
"bs-whats-new-entry": HTMLBsWhatsNewEntryElement;
|
|
7158
8411
|
}
|
|
@@ -8468,56 +9721,230 @@ declare namespace LocalJSX {
|
|
|
8468
9721
|
"sourceName"?: string;
|
|
8469
9722
|
}
|
|
8470
9723
|
/**
|
|
8471
|
-
* A
|
|
8472
|
-
*
|
|
8473
|
-
*
|
|
9724
|
+
* A Ctrl+K command palette: a modal with a search field, grouped commands, navigation and records, a
|
|
9725
|
+
* no-results view and a keyboard-hint footer. The data, the filtering, the command registry and the
|
|
9726
|
+
* recent-items storage are all yours: you slot `bs-search-item`s into the sections and set `status`.
|
|
9727
|
+
* Built from a native `<dialog>` (opened with `showModal()`, so focus is trapped, the page behind is inert
|
|
9728
|
+
* and the backdrop is the scrim), `bs-input` (type="search"), `bs-search-item`, `bs-key` (footer hints and
|
|
9729
|
+
* the Esc cap), `bs-chip-informative` (the scope chip) and `bs-spinner` (loading). Slot a `bs-key-caps` with
|
|
9730
|
+
* `slot="trailing"` inside an item to show a command's shortcut.
|
|
8474
9731
|
* ## When to use
|
|
8475
|
-
* -
|
|
9732
|
+
* - An app-wide "do anything" entry point opened with a hotkey: run commands, navigate, open records.
|
|
8476
9733
|
* ## When not to use
|
|
8477
|
-
* - A
|
|
8478
|
-
*
|
|
8479
|
-
*
|
|
8480
|
-
*
|
|
8481
|
-
*
|
|
8482
|
-
*
|
|
8483
|
-
*
|
|
8484
|
-
* @prop --bs-
|
|
8485
|
-
* @prop --bs-
|
|
8486
|
-
* @prop --bs-
|
|
8487
|
-
* @prop --bs-
|
|
8488
|
-
* @prop --bs-
|
|
8489
|
-
* @prop --bs-
|
|
8490
|
-
* @prop --bs-
|
|
8491
|
-
* @prop --bs-
|
|
8492
|
-
* @prop --bs-
|
|
8493
|
-
* @prop --bs-
|
|
8494
|
-
* @prop --bs-
|
|
8495
|
-
* @prop --bs-composer-action-icon-disabled - Aliased to `--bs-text-on-disabled`.
|
|
8496
|
-
* @prop --bs-composer-attach-icon - Icon color of the attach button. Aliased to `--bs-icon-default`.
|
|
8497
|
-
* @prop --bs-composer-mic-icon - Icon color of the mic/stop-recording button. Aliased to `--bs-icon-default`.
|
|
8498
|
-
* @prop --bs-composer-mic-icon-disabled - Aliased to `--bs-icon-disabled`.
|
|
8499
|
-
* @prop --bs-composer-subtle-hover - Background of the attach/mic buttons on hover (subtle-button treatment, same as `bs-button`'s `subtle` variant). Aliased to `--bs-color-neutral-container`.
|
|
8500
|
-
* @prop --bs-composer-subtle-pressed - Background of the attach/mic buttons when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
8501
|
-
* @prop --bs-composer-input-max-lines - How many lines the text field grows to before scrolling internally instead of growing further. Aliased to `10`.
|
|
9734
|
+
* - A plain search box with a dropdown -- use `bs-global-search`.
|
|
9735
|
+
* - A small list of actions on one control -- use `bs-menu`.
|
|
9736
|
+
* A `>` as the first character of the field switches to commands-only mode (`commandsOnly`, reflected as
|
|
9737
|
+
* `commands-only`). The component filters nothing: listen to `bsInput`, swap the slotted items, set `status`.
|
|
9738
|
+
* Nested (sub-command) palettes are a consumer pattern: swap the slotted commands and set `scopeLabel`.
|
|
9739
|
+
* @prop --bs-command-palette-width - Panel width. Defaults to `640px` (Figma); capped to the viewport.
|
|
9740
|
+
* @prop --bs-command-palette-top - Distance from the top of the viewport. Defaults to `12vh`.
|
|
9741
|
+
* @prop --bs-command-palette-max-height - Max height of the results area. Defaults to `60vh`.
|
|
9742
|
+
* @prop --bs-command-palette-radius - Aliased to `--bs-border-radius-150`.
|
|
9743
|
+
* @prop --bs-command-palette-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
9744
|
+
* @prop --bs-command-palette-shadow - Figma elevation level 4: `0 8px 16px` in `--bs-elevation-higher` (stronger in dark mode).
|
|
9745
|
+
* @prop --bs-command-palette-overlay - Scrim colour. Aliased to `--bs-surface-overlay`.
|
|
9746
|
+
* @prop --bs-command-palette-footer-bg - Aliased to `--bs-surface-container`.
|
|
9747
|
+
* @prop --bs-command-palette-divider-color - Aliased to `--bs-border-default`.
|
|
9748
|
+
* @prop --bs-command-palette-header-border-color - Aliased to `--bs-border-neutral-container`.
|
|
9749
|
+
* @prop --bs-command-palette-header-color - Aliased to `--bs-text-muted`.
|
|
9750
|
+
* @prop --bs-command-palette-hint-color - Aliased to `--bs-text-secondary`.
|
|
9751
|
+
* @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
|
|
8502
9752
|
*/
|
|
8503
|
-
interface
|
|
9753
|
+
interface BsCommandPalette {
|
|
8504
9754
|
/**
|
|
8505
|
-
*
|
|
8506
|
-
* @default null
|
|
9755
|
+
* @default 'All results'
|
|
8507
9756
|
*/
|
|
8508
|
-
"
|
|
9757
|
+
"allResultsLabel"?: string;
|
|
8509
9758
|
/**
|
|
8510
|
-
*
|
|
8511
|
-
* @default 'Attach'
|
|
9759
|
+
* @default 'Close'
|
|
8512
9760
|
*/
|
|
8513
|
-
"
|
|
9761
|
+
"closeLabel"?: string;
|
|
8514
9762
|
/**
|
|
8515
|
-
*
|
|
8516
|
-
* @default 'Confirm'
|
|
9763
|
+
* @default 'Commands'
|
|
8517
9764
|
*/
|
|
8518
|
-
"
|
|
9765
|
+
"commandsLabel"?: string;
|
|
8519
9766
|
/**
|
|
8520
|
-
*
|
|
9767
|
+
* Derived from `value` (it starts with `>`). Read-only; set `value` instead.
|
|
9768
|
+
* @default false
|
|
9769
|
+
*/
|
|
9770
|
+
"commandsOnly"?: boolean;
|
|
9771
|
+
/**
|
|
9772
|
+
* @default 'Commands only'
|
|
9773
|
+
*/
|
|
9774
|
+
"commandsOnlyLabel"?: string;
|
|
9775
|
+
/**
|
|
9776
|
+
* A suggested correction; the "Did you mean" line shows while it is set.
|
|
9777
|
+
*/
|
|
9778
|
+
"didYouMean"?: string;
|
|
9779
|
+
/**
|
|
9780
|
+
* @default 'Did you mean'
|
|
9781
|
+
*/
|
|
9782
|
+
"didYouMeanLabel"?: string;
|
|
9783
|
+
/**
|
|
9784
|
+
* @default 'Check the spelling, or search records instead.'
|
|
9785
|
+
*/
|
|
9786
|
+
"emptyDescription"?: string;
|
|
9787
|
+
/**
|
|
9788
|
+
* No-results view copy. Include the query in `emptyHeading` yourself.
|
|
9789
|
+
* @default 'No commands or records'
|
|
9790
|
+
*/
|
|
9791
|
+
"emptyHeading"?: string;
|
|
9792
|
+
/**
|
|
9793
|
+
* Global shortcut that toggles the palette, e.g. `mod+k` (`mod` is Cmd on Mac, Ctrl elsewhere). Empty = off.
|
|
9794
|
+
* @default ''
|
|
9795
|
+
*/
|
|
9796
|
+
"hotkey"?: string;
|
|
9797
|
+
/**
|
|
9798
|
+
* Keep the palette open after an item is chosen.
|
|
9799
|
+
* @default false
|
|
9800
|
+
*/
|
|
9801
|
+
"keepOpenOnSelect"?: boolean;
|
|
9802
|
+
/**
|
|
9803
|
+
* Accessible name of the dialog.
|
|
9804
|
+
* @default 'Command palette'
|
|
9805
|
+
*/
|
|
9806
|
+
"label"?: string;
|
|
9807
|
+
/**
|
|
9808
|
+
* Accessible name of the results listbox.
|
|
9809
|
+
* @default 'Results'
|
|
9810
|
+
*/
|
|
9811
|
+
"listLabel"?: string;
|
|
9812
|
+
/**
|
|
9813
|
+
* Text of the loading row.
|
|
9814
|
+
* @default 'Loading…'
|
|
9815
|
+
*/
|
|
9816
|
+
"loadingLabel"?: string;
|
|
9817
|
+
/**
|
|
9818
|
+
* Footer hint texts.
|
|
9819
|
+
* @default 'Navigate'
|
|
9820
|
+
*/
|
|
9821
|
+
"navigateLabel"?: string;
|
|
9822
|
+
/**
|
|
9823
|
+
* @default 'Navigation'
|
|
9824
|
+
*/
|
|
9825
|
+
"navigationLabel"?: string;
|
|
9826
|
+
/**
|
|
9827
|
+
* Fires on every keystroke with `{ value, query, commandsOnly }`.
|
|
9828
|
+
*/
|
|
9829
|
+
"onBsInput"?: (event: BsCommandPaletteCustomEvent<BsCommandPaletteInputDetail>) => void;
|
|
9830
|
+
/**
|
|
9831
|
+
* Fires when the palette opens or closes through user interaction (hotkey, Esc, scrim, selection).
|
|
9832
|
+
*/
|
|
9833
|
+
"onBsOpenChange"?: (event: BsCommandPaletteCustomEvent<boolean>) => void;
|
|
9834
|
+
/**
|
|
9835
|
+
* Fires on Backspace in an empty field while `scopeLabel` is set.
|
|
9836
|
+
*/
|
|
9837
|
+
"onBsScopeExit"?: (event: BsCommandPaletteCustomEvent<void>) => void;
|
|
9838
|
+
/**
|
|
9839
|
+
* Fires when an item is chosen (click or Enter) with `{ value, section, commandsOnly }`.
|
|
9840
|
+
*/
|
|
9841
|
+
"onBsSelect"?: (event: BsCommandPaletteCustomEvent<BsCommandPaletteSelectDetail>) => void;
|
|
9842
|
+
/**
|
|
9843
|
+
* Fires when the "Did you mean" suggestion is pressed, with its text.
|
|
9844
|
+
*/
|
|
9845
|
+
"onBsSuggestion"?: (event: BsCommandPaletteCustomEvent<string>) => void;
|
|
9846
|
+
/**
|
|
9847
|
+
* Whether the palette is open.
|
|
9848
|
+
* @default false
|
|
9849
|
+
*/
|
|
9850
|
+
"open"?: boolean;
|
|
9851
|
+
/**
|
|
9852
|
+
* @default 'Open'
|
|
9853
|
+
*/
|
|
9854
|
+
"openLabel"?: string;
|
|
9855
|
+
/**
|
|
9856
|
+
* Placeholder of the field.
|
|
9857
|
+
* @default 'Type a command or search…'
|
|
9858
|
+
*/
|
|
9859
|
+
"placeholder"?: string;
|
|
9860
|
+
/**
|
|
9861
|
+
* Section headers.
|
|
9862
|
+
* @default 'Recent'
|
|
9863
|
+
*/
|
|
9864
|
+
"recentLabel"?: string;
|
|
9865
|
+
/**
|
|
9866
|
+
* @default 'Records'
|
|
9867
|
+
*/
|
|
9868
|
+
"recordsLabel"?: string;
|
|
9869
|
+
/**
|
|
9870
|
+
* Nested scope: shows this text as a chip before the field. Backspace on an empty field emits `bsScopeExit`.
|
|
9871
|
+
*/
|
|
9872
|
+
"scopeLabel"?: string;
|
|
9873
|
+
/**
|
|
9874
|
+
* Shows the footer of keyboard hints.
|
|
9875
|
+
* @default true
|
|
9876
|
+
*/
|
|
9877
|
+
"showFooter"?: boolean;
|
|
9878
|
+
/**
|
|
9879
|
+
* Which view to show. You choose it; nothing is inferred from `value`. `default` and `results` render the same; they differ for screen readers only.
|
|
9880
|
+
* @default 'default'
|
|
9881
|
+
*/
|
|
9882
|
+
"status"?: BsCommandPaletteStatus;
|
|
9883
|
+
/**
|
|
9884
|
+
* @default 'Suggested'
|
|
9885
|
+
*/
|
|
9886
|
+
"suggestedLabel"?: string;
|
|
9887
|
+
/**
|
|
9888
|
+
* @default 'Try instead'
|
|
9889
|
+
*/
|
|
9890
|
+
"tryInsteadLabel"?: string;
|
|
9891
|
+
/**
|
|
9892
|
+
* The field value. Two-way. A leading `>` means commands-only mode.
|
|
9893
|
+
* @default ''
|
|
9894
|
+
*/
|
|
9895
|
+
"value"?: string;
|
|
9896
|
+
}
|
|
9897
|
+
/**
|
|
9898
|
+
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
9899
|
+
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
9900
|
+
* icon and behavior change with `state` (send, stop generating, or confirm a voice recording).
|
|
9901
|
+
* ## When to use
|
|
9902
|
+
* - The message-entry bar for an AI chat/assistant or human support conversation.
|
|
9903
|
+
* ## When not to use
|
|
9904
|
+
* - A general-purpose text field — use `bs-input` instead; this component's layout and states are
|
|
9905
|
+
* purpose-built for a chat composer, not a generic form field.
|
|
9906
|
+
* ## Focus
|
|
9907
|
+
* Uses `shadow: { delegatesFocus: true }`, so calling `.focus()` on the `<bs-composer>` host
|
|
9908
|
+
* element itself (not just its internal `<input>`) moves focus into the shadow-DOM text field --
|
|
9909
|
+
* useful for e.g. focusing the composer after a parent view mounts, without reaching into its
|
|
9910
|
+
* shadow root.
|
|
9911
|
+
* @prop --bs-composer-radius - Corner radius of the container. Aliased to `--bs-border-radius-150`.
|
|
9912
|
+
* @prop --bs-composer-button-radius - Corner radius of the attach/mic/action buttons. Aliased to `--bs-border-radius-100`.
|
|
9913
|
+
* @prop --bs-composer-button-size - Width/height of the attach/mic/action buttons. Aliased to `--bs-spacing-600`.
|
|
9914
|
+
* @prop --bs-composer-bg - Background of the pill container. Aliased to `--bs-input-bg-default`.
|
|
9915
|
+
* @prop --bs-composer-border - Border color of the pill container. Aliased to `--bs-input-border-default`.
|
|
9916
|
+
* @prop --bs-composer-border-focus - Border color when the text field has focus. Aliased to `--bs-input-border-focus`.
|
|
9917
|
+
* @prop --bs-composer-action-bg - Background of the primary action button. Aliased to `--bs-color-primary-default`.
|
|
9918
|
+
* @prop --bs-composer-action-bg-hover - Aliased to `--bs-color-primary-hover`.
|
|
9919
|
+
* @prop --bs-composer-action-bg-pressed - Aliased to `--bs-color-primary-pressed`.
|
|
9920
|
+
* @prop --bs-composer-action-bg-disabled - Aliased to `--bs-surface-action-disabled`.
|
|
9921
|
+
* @prop --bs-composer-action-icon - Icon color on the primary action button. Aliased to `--bs-text-on-action`.
|
|
9922
|
+
* @prop --bs-composer-action-icon-disabled - Aliased to `--bs-text-on-disabled`.
|
|
9923
|
+
* @prop --bs-composer-attach-icon - Icon color of the attach button. Aliased to `--bs-icon-default`.
|
|
9924
|
+
* @prop --bs-composer-mic-icon - Icon color of the mic/stop-recording button. Aliased to `--bs-icon-default`.
|
|
9925
|
+
* @prop --bs-composer-mic-icon-disabled - Aliased to `--bs-icon-disabled`.
|
|
9926
|
+
* @prop --bs-composer-subtle-hover - Background of the attach/mic buttons on hover (subtle-button treatment, same as `bs-button`'s `subtle` variant). Aliased to `--bs-color-neutral-container`.
|
|
9927
|
+
* @prop --bs-composer-subtle-pressed - Background of the attach/mic buttons when pressed. Aliased to `--bs-color-neutral-container-pressed`.
|
|
9928
|
+
* @prop --bs-composer-input-max-lines - How many lines the text field grows to before scrolling internally instead of growing further. Aliased to `10`.
|
|
9929
|
+
*/
|
|
9930
|
+
interface BsComposer {
|
|
9931
|
+
/**
|
|
9932
|
+
* Accessible name for the text field. This component has no visible `<label>` (chat composers don't show one in the design), so `ariaLabel` is the only way a consumer gives the textbox an accessible name -- set it in every real usage.
|
|
9933
|
+
* @default null
|
|
9934
|
+
*/
|
|
9935
|
+
"ariaLabel"?: string | null;
|
|
9936
|
+
/**
|
|
9937
|
+
* Accessible name of the attach button.
|
|
9938
|
+
* @default 'Attach'
|
|
9939
|
+
*/
|
|
9940
|
+
"attachLabel"?: string;
|
|
9941
|
+
/**
|
|
9942
|
+
* Accessible name of the primary action button while `state="recording"`.
|
|
9943
|
+
* @default 'Confirm'
|
|
9944
|
+
*/
|
|
9945
|
+
"confirmLabel"?: string;
|
|
9946
|
+
/**
|
|
9947
|
+
* Removes the attach ("+") button from the DOM.
|
|
8521
9948
|
* @default false
|
|
8522
9949
|
*/
|
|
8523
9950
|
"hideAttach"?: boolean;
|
|
@@ -9081,6 +10508,43 @@ declare namespace LocalJSX {
|
|
|
9081
10508
|
*/
|
|
9082
10509
|
"variant"?: BsDividerVariant;
|
|
9083
10510
|
}
|
|
10511
|
+
/**
|
|
10512
|
+
* A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
|
|
10513
|
+
* Used for empty lists, "no results" and error states inside a panel, card or page section.
|
|
10514
|
+
* Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
|
|
10515
|
+
* The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
|
|
10516
|
+
* element that stays in the DOM while this block appears and disappears).
|
|
10517
|
+
* ## When to use
|
|
10518
|
+
* - A list, table or search result that has nothing to show, or failed to load.
|
|
10519
|
+
* ## When not to use
|
|
10520
|
+
* - A full-page error with a status code -- use `bs-error-page`.
|
|
10521
|
+
* - A transient message -- use `bs-toast` or `bs-snackbar`.
|
|
10522
|
+
* @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
|
|
10523
|
+
* @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
|
|
10524
|
+
* @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
|
|
10525
|
+
* @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
|
|
10526
|
+
* @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
|
|
10527
|
+
*/
|
|
10528
|
+
interface BsEmptyState {
|
|
10529
|
+
/**
|
|
10530
|
+
* The description text. The default slot overrides it.
|
|
10531
|
+
*/
|
|
10532
|
+
"description"?: string;
|
|
10533
|
+
/**
|
|
10534
|
+
* The heading text.
|
|
10535
|
+
*/
|
|
10536
|
+
"heading"?: string;
|
|
10537
|
+
/**
|
|
10538
|
+
* Heading level, 2 to 6 (renders `h2`..`h6`). Pick the one that fits the page outline.
|
|
10539
|
+
* @default 3
|
|
10540
|
+
*/
|
|
10541
|
+
"headingLevel"?: 2 | 3 | 4 | 5 | 6;
|
|
10542
|
+
/**
|
|
10543
|
+
* Colour and default glyph of the icon tile. Use `error` for failures.
|
|
10544
|
+
* @default 'default'
|
|
10545
|
+
*/
|
|
10546
|
+
"intent"?: BsIconTileIntent;
|
|
10547
|
+
}
|
|
9084
10548
|
/**
|
|
9085
10549
|
* A full-block page for when the user can't get to what they asked for: page not found (404), a server
|
|
9086
10550
|
* error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
|
|
@@ -9260,6 +10724,193 @@ declare namespace LocalJSX {
|
|
|
9260
10724
|
*/
|
|
9261
10725
|
"thumbnailSrc"?: string;
|
|
9262
10726
|
}
|
|
10727
|
+
/**
|
|
10728
|
+
* A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
|
|
10729
|
+
* or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
|
|
10730
|
+
* are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
|
|
10731
|
+
* Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
|
|
10732
|
+
* `bs-button` and `bs-key` (the footer keycaps).
|
|
10733
|
+
* ## When to use
|
|
10734
|
+
* - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
|
|
10735
|
+
* ## When not to use
|
|
10736
|
+
* - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
|
|
10737
|
+
* - A list of commands or actions -- use `bs-menu`.
|
|
10738
|
+
* - The complete result set -- link to a full search results page ("See all results").
|
|
10739
|
+
* Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
|
|
10740
|
+
* `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
|
|
10741
|
+
* content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
|
|
10742
|
+
* Known limit: the items are in your light DOM and the combobox in this shadow root, so
|
|
10743
|
+
* `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
|
|
10744
|
+
* highlighted option also gets `aria-selected="true"`.
|
|
10745
|
+
* @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
|
|
10746
|
+
* @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
|
|
10747
|
+
* @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
|
|
10748
|
+
* @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
|
|
10749
|
+
* @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
10750
|
+
* @prop --bs-global-search-shadow - Panel shadow: Figma elevation level 3 (`0 4px 8px` in `--bs-elevation-high`, 10% black in light mode and 30% in dark mode).
|
|
10751
|
+
* @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
|
|
10752
|
+
* @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
|
|
10753
|
+
* @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
|
|
10754
|
+
* @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
|
|
10755
|
+
* @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
|
|
10756
|
+
*/
|
|
10757
|
+
interface BsGlobalSearch {
|
|
10758
|
+
/**
|
|
10759
|
+
* Text of the footer button that clears recent searches.
|
|
10760
|
+
* @default 'Clear recent'
|
|
10761
|
+
*/
|
|
10762
|
+
"clearRecentLabel"?: string;
|
|
10763
|
+
/**
|
|
10764
|
+
* Text of the empty state's action.
|
|
10765
|
+
* @default 'Clear search'
|
|
10766
|
+
*/
|
|
10767
|
+
"clearSearchLabel"?: string;
|
|
10768
|
+
/**
|
|
10769
|
+
* Footer hint text after the Esc key.
|
|
10770
|
+
* @default 'Close'
|
|
10771
|
+
*/
|
|
10772
|
+
"closeLabel"?: string;
|
|
10773
|
+
/**
|
|
10774
|
+
* Disables the field; the panel cannot open.
|
|
10775
|
+
* @default false
|
|
10776
|
+
*/
|
|
10777
|
+
"disabled"?: boolean;
|
|
10778
|
+
/**
|
|
10779
|
+
* Description of the built-in empty state.
|
|
10780
|
+
* @default 'Try a different search.'
|
|
10781
|
+
*/
|
|
10782
|
+
"emptyDescription"?: string;
|
|
10783
|
+
/**
|
|
10784
|
+
* Heading of the built-in empty state.
|
|
10785
|
+
* @default 'No results'
|
|
10786
|
+
*/
|
|
10787
|
+
"emptyHeading"?: string;
|
|
10788
|
+
/**
|
|
10789
|
+
* Description of the built-in error state.
|
|
10790
|
+
* @default 'We couldn’t reach the server. Your query is kept — try again in a moment.'
|
|
10791
|
+
*/
|
|
10792
|
+
"errorDescription"?: string;
|
|
10793
|
+
/**
|
|
10794
|
+
* Heading of the built-in error state.
|
|
10795
|
+
* @default 'Search isn’t available right now'
|
|
10796
|
+
*/
|
|
10797
|
+
"errorHeading"?: string;
|
|
10798
|
+
/**
|
|
10799
|
+
* Footer hint text after the Enter key (results view).
|
|
10800
|
+
* @default 'Full results'
|
|
10801
|
+
*/
|
|
10802
|
+
"fullResultsLabel"?: string;
|
|
10803
|
+
/**
|
|
10804
|
+
* Header of the `jump-to` section.
|
|
10805
|
+
* @default 'Jump to'
|
|
10806
|
+
*/
|
|
10807
|
+
"jumpToLabel"?: string;
|
|
10808
|
+
/**
|
|
10809
|
+
* Accessible name of the search field. Falls back to the placeholder. `bs-input` has no aria-label prop, so this names the combobox wrapper.
|
|
10810
|
+
*/
|
|
10811
|
+
"label"?: string;
|
|
10812
|
+
/**
|
|
10813
|
+
* Accessible name of the suggestions listbox.
|
|
10814
|
+
* @default 'Search suggestions'
|
|
10815
|
+
*/
|
|
10816
|
+
"listLabel"?: string;
|
|
10817
|
+
/**
|
|
10818
|
+
* Footer hint text after the arrow keys.
|
|
10819
|
+
* @default 'Navigate'
|
|
10820
|
+
*/
|
|
10821
|
+
"navigateLabel"?: string;
|
|
10822
|
+
/**
|
|
10823
|
+
* Fires when "Clear recent" is pressed.
|
|
10824
|
+
*/
|
|
10825
|
+
"onBsClearRecent"?: (event: BsGlobalSearchCustomEvent<void>) => void;
|
|
10826
|
+
/**
|
|
10827
|
+
* Fires when the empty state's "Clear search" is pressed; the value is also cleared.
|
|
10828
|
+
*/
|
|
10829
|
+
"onBsClearSearch"?: (event: BsGlobalSearchCustomEvent<void>) => void;
|
|
10830
|
+
/**
|
|
10831
|
+
* Fires on every keystroke with the query. The component filters nothing itself.
|
|
10832
|
+
*/
|
|
10833
|
+
"onBsInput"?: (event: BsGlobalSearchCustomEvent<string>) => void;
|
|
10834
|
+
/**
|
|
10835
|
+
* Fires when the panel opens or closes through user interaction, with the new state.
|
|
10836
|
+
*/
|
|
10837
|
+
"onBsOpenChange"?: (event: BsGlobalSearchCustomEvent<boolean>) => void;
|
|
10838
|
+
/**
|
|
10839
|
+
* Fires when the error state's "Try again" is pressed.
|
|
10840
|
+
*/
|
|
10841
|
+
"onBsRetry"?: (event: BsGlobalSearchCustomEvent<void>) => void;
|
|
10842
|
+
/**
|
|
10843
|
+
* Fires on Enter with no highlighted item, with the query.
|
|
10844
|
+
*/
|
|
10845
|
+
"onBsSearch"?: (event: BsGlobalSearchCustomEvent<string>) => void;
|
|
10846
|
+
/**
|
|
10847
|
+
* Fires when "See all results" is pressed.
|
|
10848
|
+
*/
|
|
10849
|
+
"onBsSeeAll"?: (event: BsGlobalSearchCustomEvent<void>) => void;
|
|
10850
|
+
/**
|
|
10851
|
+
* Fires when an item is chosen (click or Enter), with its `value` and section (slot name).
|
|
10852
|
+
*/
|
|
10853
|
+
"onBsSelect"?: (event: BsGlobalSearchCustomEvent<BsGlobalSearchSelectDetail>) => void;
|
|
10854
|
+
/**
|
|
10855
|
+
* Whether the dropdown panel is open. Opens on focus, click and typing; closes on Escape, outside click and selection.
|
|
10856
|
+
* @default false
|
|
10857
|
+
*/
|
|
10858
|
+
"open"?: boolean;
|
|
10859
|
+
/**
|
|
10860
|
+
* Placeholder of the field (also its accessible name unless `label` is set).
|
|
10861
|
+
* @default 'Search customers, orders, products…'
|
|
10862
|
+
*/
|
|
10863
|
+
"placeholder"?: string;
|
|
10864
|
+
/**
|
|
10865
|
+
* Header of the `recent` section.
|
|
10866
|
+
* @default 'Recent searches'
|
|
10867
|
+
*/
|
|
10868
|
+
"recentLabel"?: string;
|
|
10869
|
+
/**
|
|
10870
|
+
* Text of the error state's action.
|
|
10871
|
+
* @default 'Try again'
|
|
10872
|
+
*/
|
|
10873
|
+
"retryLabel"?: string;
|
|
10874
|
+
/**
|
|
10875
|
+
* Header of the `search-in` section.
|
|
10876
|
+
* @default 'Search in'
|
|
10877
|
+
*/
|
|
10878
|
+
"searchInLabel"?: string;
|
|
10879
|
+
/**
|
|
10880
|
+
* Footer hint text after the Enter key (default view).
|
|
10881
|
+
* @default 'Search'
|
|
10882
|
+
*/
|
|
10883
|
+
"searchLabel"?: string;
|
|
10884
|
+
/**
|
|
10885
|
+
* Text of the footer button of the results view, when `totalResults` is not set.
|
|
10886
|
+
* @default 'See all results'
|
|
10887
|
+
*/
|
|
10888
|
+
"seeAllLabel"?: string;
|
|
10889
|
+
/**
|
|
10890
|
+
* Shows the footer (hints and the Clear recent / See all button) for the `default` and `results` views.
|
|
10891
|
+
* @default true
|
|
10892
|
+
*/
|
|
10893
|
+
"showFooter"?: boolean;
|
|
10894
|
+
/**
|
|
10895
|
+
* Which view the panel shows. You choose it; nothing is inferred from `value`.
|
|
10896
|
+
* @default 'default'
|
|
10897
|
+
*/
|
|
10898
|
+
"status"?: BsGlobalSearchStatus;
|
|
10899
|
+
/**
|
|
10900
|
+
* Header of the `top-matches` section.
|
|
10901
|
+
* @default 'Top matches'
|
|
10902
|
+
*/
|
|
10903
|
+
"topMatchesLabel"?: string;
|
|
10904
|
+
/**
|
|
10905
|
+
* Total number of results (status `results`): shown as "See all {n} results" and announced to screen readers.
|
|
10906
|
+
*/
|
|
10907
|
+
"totalResults"?: number;
|
|
10908
|
+
/**
|
|
10909
|
+
* The query. Two-way with the field.
|
|
10910
|
+
* @default ''
|
|
10911
|
+
*/
|
|
10912
|
+
"value"?: string;
|
|
10913
|
+
}
|
|
9263
10914
|
/**
|
|
9264
10915
|
* A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
|
|
9265
10916
|
* `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
|
|
@@ -9379,7 +11030,7 @@ declare namespace LocalJSX {
|
|
|
9379
11030
|
* Colour and default glyph. `brand` uses the brand colours; `information` the info palette.
|
|
9380
11031
|
* @default 'default'
|
|
9381
11032
|
*/
|
|
9382
|
-
"intent"?:
|
|
11033
|
+
"intent"?: BsIconTileIntent1;
|
|
9383
11034
|
/**
|
|
9384
11035
|
* Accessible name. When set, the tile is exposed as an image with this name; when empty it is decorative and hidden from assistive tech.
|
|
9385
11036
|
*/
|
|
@@ -9521,86 +11172,370 @@ declare namespace LocalJSX {
|
|
|
9521
11172
|
/**
|
|
9522
11173
|
* The `name` the value is submitted under in a surrounding `<form>`'s `FormData`.
|
|
9523
11174
|
*/
|
|
9524
|
-
"name"?: string;
|
|
9525
|
-
"onBsChange"?: (event: BsInputCustomEvent<string>) => void;
|
|
11175
|
+
"name"?: string;
|
|
11176
|
+
"onBsChange"?: (event: BsInputCustomEvent<string>) => void;
|
|
11177
|
+
/**
|
|
11178
|
+
* Emitted when a chip is committed (Enter pressed in the draft input) for `type="chip"`.
|
|
11179
|
+
*/
|
|
11180
|
+
"onBsChipAdd"?: (event: BsInputCustomEvent<string>) => void;
|
|
11181
|
+
/**
|
|
11182
|
+
* Emitted when a chip's remove button is clicked for `type="chip"`.
|
|
11183
|
+
*/
|
|
11184
|
+
"onBsChipRemove"?: (event: BsInputCustomEvent<string>) => void;
|
|
11185
|
+
/**
|
|
11186
|
+
* Emitted when the country `<select>` changes for `type="country"`.
|
|
11187
|
+
*/
|
|
11188
|
+
"onBsCountryChange"?: (event: BsInputCustomEvent<string>) => void;
|
|
11189
|
+
"onBsInput"?: (event: BsInputCustomEvent<string>) => void;
|
|
11190
|
+
/**
|
|
11191
|
+
* Emitted when `type="dropdown"`'s trigger is toggled. See `open`'s doc comment for this type's shell-only limitation.
|
|
11192
|
+
*/
|
|
11193
|
+
"onBsOpen"?: (event: BsInputCustomEvent<boolean>) => void;
|
|
11194
|
+
/**
|
|
11195
|
+
* Emitted when the title `<select>` changes for `type="initials"`.
|
|
11196
|
+
*/
|
|
11197
|
+
"onBsTitleChange"?: (event: BsInputCustomEvent<string>) => void;
|
|
11198
|
+
/**
|
|
11199
|
+
* Whether the `type="dropdown"` trigger is open. Reflects to an attribute so consumers can style an open state via CSS. When `options` is non-empty, this also controls whether the `bs-menu` of `bs-menu-item`s is rendered below the field.
|
|
11200
|
+
* @default false
|
|
11201
|
+
*/
|
|
11202
|
+
"open"?: boolean;
|
|
11203
|
+
/**
|
|
11204
|
+
* Options for `type="select"` (rendered as native `<option>`s) and `type="dropdown"` (rendered as a `bs-menu` of `bs-menu-item`s when `open`). Must be set as a JS property, not an HTML attribute -- see CONVENTIONS.md's non-string props rule.
|
|
11205
|
+
* @default []
|
|
11206
|
+
*/
|
|
11207
|
+
"options"?: { label: string; value: string }[];
|
|
11208
|
+
"placeholder"?: string;
|
|
11209
|
+
/**
|
|
11210
|
+
* Marks the field as required: renders a red `*` after the label and sets `aria-required="true"` on the control. Applies regardless of `type`.
|
|
11211
|
+
* @default false
|
|
11212
|
+
*/
|
|
11213
|
+
"required"?: boolean;
|
|
11214
|
+
/**
|
|
11215
|
+
* Number of visible rows for `type="textarea"`.
|
|
11216
|
+
* @default 3
|
|
11217
|
+
*/
|
|
11218
|
+
"rows"?: number;
|
|
11219
|
+
/**
|
|
11220
|
+
* Accessible name of the password toggle while the password is hidden.
|
|
11221
|
+
* @default 'Show password'
|
|
11222
|
+
*/
|
|
11223
|
+
"showPasswordLabel"?: string;
|
|
11224
|
+
/**
|
|
11225
|
+
* Step size for `type="number"`'s increment/decrement stepper buttons.
|
|
11226
|
+
* @default 1
|
|
11227
|
+
*/
|
|
11228
|
+
"step"?: number;
|
|
11229
|
+
/**
|
|
11230
|
+
* Title select options for `type="initials"` (e.g. `['Mrs.', 'Mr.', 'Dr.']`). Must be set as a JS property, not an HTML attribute -- see CONVENTIONS.md's non-string props rule.
|
|
11231
|
+
* @default []
|
|
11232
|
+
*/
|
|
11233
|
+
"titleOptions"?: string[];
|
|
11234
|
+
/**
|
|
11235
|
+
* @default 'text'
|
|
11236
|
+
*/
|
|
11237
|
+
"type"?: | 'text'
|
|
11238
|
+
| 'email'
|
|
11239
|
+
| 'password'
|
|
11240
|
+
| 'number'
|
|
11241
|
+
| 'search'
|
|
11242
|
+
| 'date'
|
|
11243
|
+
| 'dropdown'
|
|
11244
|
+
| 'select'
|
|
11245
|
+
| 'textarea'
|
|
11246
|
+
| 'chip'
|
|
11247
|
+
| 'initials'
|
|
11248
|
+
| 'country'
|
|
11249
|
+
| 'pin';
|
|
11250
|
+
/**
|
|
11251
|
+
* Current value. Native `input`/`change` events don't cross the Shadow DOM boundary, so this component re-dispatches them as `bsInput`/`bsChange` custom events instead. Mutable so the `number` type's stepper buttons can update it directly.
|
|
11252
|
+
* @default ''
|
|
11253
|
+
*/
|
|
11254
|
+
"value"?: string;
|
|
11255
|
+
}
|
|
11256
|
+
/**
|
|
11257
|
+
* One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
|
|
11258
|
+
* Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
|
|
11259
|
+
* ## When to use
|
|
11260
|
+
* - Showing a keyboard shortcut hint next to a control or inside a search field.
|
|
11261
|
+
* - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
|
|
11262
|
+
* ## When not to use
|
|
11263
|
+
* - As a button or any clickable control -- a key is a static hint, not interactive.
|
|
11264
|
+
* @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
|
|
11265
|
+
* @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
|
|
11266
|
+
* @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
|
|
11267
|
+
* @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
|
|
11268
|
+
* @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
|
|
11269
|
+
* @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
|
|
11270
|
+
* @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
|
|
11271
|
+
* @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
|
|
11272
|
+
* @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
|
|
11273
|
+
*/
|
|
11274
|
+
interface BsKey {
|
|
11275
|
+
/**
|
|
11276
|
+
* The key's text, e.g. `Ctrl`. The default slot overrides it.
|
|
11277
|
+
*/
|
|
11278
|
+
"label"?: string;
|
|
11279
|
+
}
|
|
11280
|
+
/**
|
|
11281
|
+
* A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
|
|
11282
|
+
* (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
|
|
11283
|
+
* elements -- for example when a key is an icon.
|
|
11284
|
+
* ## When to use
|
|
11285
|
+
* - A shortcut hint beside a menu item, button or inside a search field.
|
|
11286
|
+
* ## When not to use
|
|
11287
|
+
* - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
|
|
11288
|
+
* - Anything interactive -- keys are static hints.
|
|
11289
|
+
* @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
|
|
11290
|
+
* @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
|
|
11291
|
+
* @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
|
|
11292
|
+
*/
|
|
11293
|
+
interface BsKeyCaps {
|
|
11294
|
+
/**
|
|
11295
|
+
* Dims the whole shortcut and marks it `aria-disabled`.
|
|
11296
|
+
* @default false
|
|
11297
|
+
*/
|
|
11298
|
+
"disabled"?: boolean;
|
|
11299
|
+
/**
|
|
11300
|
+
* The keys as text. A string is split on `+` (`"Ctrl+K"`); use an array to include a literal plus key. Ignored when `bs-key` elements are slotted instead. Figma defines one to four keys.
|
|
11301
|
+
*/
|
|
11302
|
+
"keys"?: string | string[];
|
|
11303
|
+
/**
|
|
11304
|
+
* Accessible name of the shortcut, e.g. "Control plus K". Defaults to the keys joined with " plus ".
|
|
11305
|
+
*/
|
|
11306
|
+
"label"?: string;
|
|
11307
|
+
}
|
|
11308
|
+
/**
|
|
11309
|
+
* A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
|
|
11310
|
+
* optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
|
|
11311
|
+
* surface, not a modal -- place it inside `bs-dialog` or a popover.
|
|
11312
|
+
* Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
|
|
11313
|
+
* `bs-key-caps` / `bs-key`).
|
|
11314
|
+
* ## When to use
|
|
11315
|
+
* - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
|
|
11316
|
+
* ## When not to use
|
|
11317
|
+
* - A long-form help page or documentation -- link to it instead.
|
|
11318
|
+
* - A list of commands the user can run from it -- use `bs-menu`.
|
|
11319
|
+
* @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
|
|
11320
|
+
* @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
11321
|
+
* @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
|
|
11322
|
+
* @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
|
|
11323
|
+
* @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
|
|
11324
|
+
* @prop --bs-keyboard-shortcuts-shadow - Figma elevation level 4 (`0 8px 8px` in `--bs-elevation-higher`, 12% black in light mode and 25% in dark mode).
|
|
11325
|
+
* @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
|
|
11326
|
+
* @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
|
|
11327
|
+
* @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
|
|
11328
|
+
*/
|
|
11329
|
+
interface BsKeyboardShortcuts {
|
|
11330
|
+
/**
|
|
11331
|
+
* Accessible name of the close button.
|
|
11332
|
+
* @default 'Close'
|
|
11333
|
+
*/
|
|
11334
|
+
"closeLabel"?: string;
|
|
11335
|
+
/**
|
|
11336
|
+
* The key shown in the footer hint.
|
|
11337
|
+
* @default '?'
|
|
11338
|
+
*/
|
|
11339
|
+
"footerKey"?: string;
|
|
11340
|
+
/**
|
|
11341
|
+
* Text before the footer key.
|
|
11342
|
+
* @default 'Press'
|
|
11343
|
+
*/
|
|
11344
|
+
"footerPrefix"?: string;
|
|
11345
|
+
/**
|
|
11346
|
+
* Footer text after the key.
|
|
11347
|
+
* @default 'anywhere to open this list. On Mac: Cmd instead of Ctrl.'
|
|
11348
|
+
*/
|
|
11349
|
+
"footerText"?: string;
|
|
11350
|
+
/**
|
|
11351
|
+
* Property only: the shortcut groups.
|
|
11352
|
+
* @default []
|
|
11353
|
+
*/
|
|
11354
|
+
"groups"?: BsShortcutGroup[];
|
|
11355
|
+
/**
|
|
11356
|
+
* Heading text. The `heading` slot overrides it.
|
|
11357
|
+
* @default 'Keyboard shortcuts'
|
|
11358
|
+
*/
|
|
11359
|
+
"heading"?: string;
|
|
11360
|
+
/**
|
|
11361
|
+
* Line shown when the query matches nothing.
|
|
11362
|
+
* @default 'No shortcuts match'
|
|
11363
|
+
*/
|
|
11364
|
+
"noResultsText"?: string;
|
|
11365
|
+
/**
|
|
11366
|
+
* Emitted by the close button and by Escape.
|
|
11367
|
+
*/
|
|
11368
|
+
"onBsClose"?: (event: BsKeyboardShortcutsCustomEvent<void>) => void;
|
|
11369
|
+
/**
|
|
11370
|
+
* Emitted when the search text changes, with the new text.
|
|
11371
|
+
*/
|
|
11372
|
+
"onBsQueryChange"?: (event: BsKeyboardShortcutsCustomEvent<string>) => void;
|
|
11373
|
+
/**
|
|
11374
|
+
* Emitted when the single-key switch changes, with the new value.
|
|
11375
|
+
*/
|
|
11376
|
+
"onBsSingleKeyChange"?: (event: BsKeyboardShortcutsCustomEvent<boolean>) => void;
|
|
11377
|
+
/**
|
|
11378
|
+
* Current search text. Filters by action or keys text, case-insensitively.
|
|
11379
|
+
* @default ''
|
|
11380
|
+
*/
|
|
11381
|
+
"query"?: string;
|
|
11382
|
+
/**
|
|
11383
|
+
* Search field placeholder (also its accessible name: `bs-input` has no aria-label prop).
|
|
11384
|
+
* @default 'Search for an action'
|
|
11385
|
+
*/
|
|
11386
|
+
"searchPlaceholder"?: string;
|
|
11387
|
+
/**
|
|
11388
|
+
* Shows the footer hint.
|
|
11389
|
+
* @default true
|
|
11390
|
+
*/
|
|
11391
|
+
"showFooterHint"?: boolean;
|
|
11392
|
+
/**
|
|
11393
|
+
* Shows the single-key switch row.
|
|
11394
|
+
* @default true
|
|
11395
|
+
*/
|
|
11396
|
+
"showSingleKeySwitch"?: boolean;
|
|
11397
|
+
/**
|
|
11398
|
+
* Switch caption.
|
|
11399
|
+
* @default 'Turn off if they clash with a screen reader or other tools.'
|
|
11400
|
+
*/
|
|
11401
|
+
"singleKeyDescription"?: string;
|
|
11402
|
+
/**
|
|
11403
|
+
* Whether single-key shortcuts are on. When off they are shown dimmed.
|
|
11404
|
+
* @default true
|
|
11405
|
+
*/
|
|
11406
|
+
"singleKeyEnabled"?: boolean;
|
|
11407
|
+
/**
|
|
11408
|
+
* Switch title.
|
|
11409
|
+
* @default 'Single-key shortcuts'
|
|
11410
|
+
*/
|
|
11411
|
+
"singleKeyLabel"?: string;
|
|
11412
|
+
}
|
|
11413
|
+
/**
|
|
11414
|
+
* A vertical list of `bs-list-item` rows, optionally single-select.
|
|
11415
|
+
* ## When to use
|
|
11416
|
+
* - Records, people, files or options shown as rows with leading media and descriptions.
|
|
11417
|
+
* - `selectable` for a single-choice list (e.g. a conversation list next to a detail pane).
|
|
11418
|
+
* ## When not to use
|
|
11419
|
+
* - A popup list of actions -- use `bs-menu`.
|
|
11420
|
+
* - Navigation between app sections -- use `bs-navigation-drawer`.
|
|
11421
|
+
* - Multi-column, sortable or paged data -- use `bs-data-table`.
|
|
11422
|
+
* Built from `bs-list-item` children (light DOM; the list never moves nodes).
|
|
11423
|
+
* @prop --bs-list-gap - Gap between rows. Defaults to `0`.
|
|
11424
|
+
* @prop --bs-list-divider-color - Divider colour when `dividers` is set. Aliased to `--bs-border-neutral-container`.
|
|
11425
|
+
*/
|
|
11426
|
+
interface BsList {
|
|
11427
|
+
/**
|
|
11428
|
+
* Accessible name of the list.
|
|
11429
|
+
* @default null
|
|
11430
|
+
*/
|
|
11431
|
+
"ariaLabel"?: string | null;
|
|
9526
11432
|
/**
|
|
9527
|
-
*
|
|
11433
|
+
* Draws a 1px separator between rows.
|
|
11434
|
+
* @default false
|
|
9528
11435
|
*/
|
|
9529
|
-
"
|
|
11436
|
+
"dividers"?: boolean;
|
|
9530
11437
|
/**
|
|
9531
|
-
*
|
|
11438
|
+
* Fires with the new `value` when the user changes the selection.
|
|
9532
11439
|
*/
|
|
9533
|
-
"
|
|
11440
|
+
"onBsChange"?: (event: BsListCustomEvent<string | null>) => void;
|
|
9534
11441
|
/**
|
|
9535
|
-
*
|
|
11442
|
+
* Single-selection mode: role="listbox", rows are `option`s with roving tabindex.
|
|
11443
|
+
* @default false
|
|
9536
11444
|
*/
|
|
9537
|
-
"
|
|
9538
|
-
"onBsInput"?: (event: BsInputCustomEvent<string>) => void;
|
|
11445
|
+
"selectable"?: boolean;
|
|
9539
11446
|
/**
|
|
9540
|
-
*
|
|
11447
|
+
* `value` of the selected item (selectable mode).
|
|
11448
|
+
* @default null
|
|
9541
11449
|
*/
|
|
9542
|
-
"
|
|
11450
|
+
"value"?: string | null;
|
|
11451
|
+
}
|
|
11452
|
+
/**
|
|
11453
|
+
* A single row of a list: optional leading media (avatar, icon, image), a label, a description and
|
|
11454
|
+
* optional support text, and an optional trailing caret or custom trailing content.
|
|
11455
|
+
* ## When to use
|
|
11456
|
+
* - As a child of `bs-list`, one per record, person, file or option.
|
|
11457
|
+
* - Standalone as a plain information row (non-interactive), or with `interactive` as a button-like row.
|
|
11458
|
+
* ## When not to use
|
|
11459
|
+
* - A popup list of actions -- use `bs-menu` / `bs-menu-item`.
|
|
11460
|
+
* - App navigation with an active route -- use `bs-navigation-drawer-item`.
|
|
11461
|
+
* - Tabular data with columns, sorting or paging -- use `bs-data-table`.
|
|
11462
|
+
* Composed from: leading media (`bs-avatar`) and trailing controls (`bs-icon-button`) are supplied by the
|
|
11463
|
+
* consumer through the `leading` and `trailing` slots; the row itself only reserves layout. The default
|
|
11464
|
+
* trailing caret is inline SVG.
|
|
11465
|
+
* Roles are driven by the parent `bs-list` (via `selectionRole`). Standalone, the row has no role
|
|
11466
|
+
* (`listitem` is only valid inside a list) unless `interactive` is set, which makes it a focusable
|
|
11467
|
+
* `role="button"`.
|
|
11468
|
+
* @prop --bs-list-item-min-height - Minimum row height. Aliased to `--bs-spacing-1000`.
|
|
11469
|
+
* @prop --bs-list-item-padding-y - Aliased to `--bs-spacing-150`.
|
|
11470
|
+
* @prop --bs-list-item-padding-x - Aliased to `--bs-spacing-200`.
|
|
11471
|
+
* @prop --bs-list-item-gap - Gap between leading, content and trailing. Aliased to `--bs-spacing-200`.
|
|
11472
|
+
* @prop --bs-list-item-content-gap - Gap between text lines. Aliased to `--bs-spacing-25`.
|
|
11473
|
+
* @prop --bs-list-item-radius - Aliased to `--bs-border-radius-100`.
|
|
11474
|
+
* @prop --bs-list-item-bg - Enabled background. `transparent`.
|
|
11475
|
+
* @prop --bs-list-item-bg-hover - Aliased to `--bs-surface-hover`.
|
|
11476
|
+
* @prop --bs-list-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
11477
|
+
* @prop --bs-list-item-bg-focus - Aliased to `--bs-surface-focus`.
|
|
11478
|
+
* @prop --bs-list-item-bg-selected - Aliased to `--bs-surface-selected`.
|
|
11479
|
+
* @prop --bs-list-item-bg-selected-hover - Aliased to `--bs-surface-selected-hover`.
|
|
11480
|
+
* @prop --bs-list-item-bg-selected-pressed - Aliased to `--bs-surface-selected-pressed`.
|
|
11481
|
+
* @prop --bs-list-item-bg-selected-focus - Aliased to `--bs-surface-selected-focus`.
|
|
11482
|
+
* @prop --bs-list-item-bg-disabled - Aliased to `--bs-surface-action-disabled`.
|
|
11483
|
+
* @prop --bs-list-item-color - Text colour. Aliased to `--bs-text-default`.
|
|
11484
|
+
* @prop --bs-list-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
11485
|
+
* @prop --bs-list-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
11486
|
+
* @prop --bs-list-item-image-width - Leading image width. 72px.
|
|
11487
|
+
* @prop --bs-list-item-image-height - Leading image height. 56px.
|
|
11488
|
+
*/
|
|
11489
|
+
interface BsListItem {
|
|
9543
11490
|
/**
|
|
9544
|
-
*
|
|
11491
|
+
* Second text line (the "paragraph").
|
|
11492
|
+
* @default null
|
|
9545
11493
|
*/
|
|
9546
|
-
"
|
|
11494
|
+
"description"?: string | null;
|
|
9547
11495
|
/**
|
|
9548
|
-
*
|
|
11496
|
+
* Disables the row: dimmed, not focusable, no click event.
|
|
9549
11497
|
* @default false
|
|
9550
11498
|
*/
|
|
9551
|
-
"
|
|
11499
|
+
"disabled"?: boolean;
|
|
9552
11500
|
/**
|
|
9553
|
-
*
|
|
9554
|
-
* @default
|
|
11501
|
+
* Makes a standalone row a focusable `role="button"` that emits `bsItemClick`.
|
|
11502
|
+
* @default false
|
|
9555
11503
|
*/
|
|
9556
|
-
"
|
|
9557
|
-
"placeholder"?: string;
|
|
11504
|
+
"interactive"?: boolean;
|
|
9558
11505
|
/**
|
|
9559
|
-
*
|
|
9560
|
-
* @default
|
|
11506
|
+
* First text line (semibold).
|
|
11507
|
+
* @default null
|
|
9561
11508
|
*/
|
|
9562
|
-
"
|
|
11509
|
+
"label"?: string | null;
|
|
9563
11510
|
/**
|
|
9564
|
-
*
|
|
9565
|
-
* @default 3
|
|
11511
|
+
* Fires on click / Enter / Space when the row is interactive and not disabled. Payload is `value`.
|
|
9566
11512
|
*/
|
|
9567
|
-
"
|
|
11513
|
+
"onBsItemClick"?: (event: BsListItemCustomEvent<string | null>) => void;
|
|
9568
11514
|
/**
|
|
9569
|
-
*
|
|
9570
|
-
* @default
|
|
11515
|
+
* Marks the row as selected. Managed by the parent `bs-list` when it is `selectable`.
|
|
11516
|
+
* @default false
|
|
9571
11517
|
*/
|
|
9572
|
-
"
|
|
11518
|
+
"selected"?: boolean;
|
|
9573
11519
|
/**
|
|
9574
|
-
*
|
|
9575
|
-
* @default
|
|
11520
|
+
* Set by the parent `bs-list`: `listitem` (plain list) or `option` (selectable list). Do not set by hand.
|
|
11521
|
+
* @default null
|
|
9576
11522
|
*/
|
|
9577
|
-
"
|
|
11523
|
+
"selectionRole"?: 'listitem' | 'option' | null;
|
|
9578
11524
|
/**
|
|
9579
|
-
*
|
|
9580
|
-
* @default
|
|
11525
|
+
* Shows a trailing caret (unless the `trailing` slot has content).
|
|
11526
|
+
* @default false
|
|
9581
11527
|
*/
|
|
9582
|
-
"
|
|
11528
|
+
"showArrow"?: boolean;
|
|
9583
11529
|
/**
|
|
9584
|
-
*
|
|
11530
|
+
* Optional third text line.
|
|
11531
|
+
* @default null
|
|
9585
11532
|
*/
|
|
9586
|
-
"
|
|
9587
|
-
| 'email'
|
|
9588
|
-
| 'password'
|
|
9589
|
-
| 'number'
|
|
9590
|
-
| 'search'
|
|
9591
|
-
| 'date'
|
|
9592
|
-
| 'dropdown'
|
|
9593
|
-
| 'select'
|
|
9594
|
-
| 'textarea'
|
|
9595
|
-
| 'chip'
|
|
9596
|
-
| 'initials'
|
|
9597
|
-
| 'country'
|
|
9598
|
-
| 'pin';
|
|
11533
|
+
"supportText"?: string | null;
|
|
9599
11534
|
/**
|
|
9600
|
-
*
|
|
9601
|
-
* @default
|
|
11535
|
+
* Identifies the item; emitted by `bsItemClick` and matched against `bs-list`'s `value`.
|
|
11536
|
+
* @default null
|
|
9602
11537
|
*/
|
|
9603
|
-
"value"?: string;
|
|
11538
|
+
"value"?: string | null;
|
|
9604
11539
|
}
|
|
9605
11540
|
/**
|
|
9606
11541
|
* The BrandSync brand mark, as its own standalone component -- shared by `bs-navigation-header`
|
|
@@ -10567,6 +12502,59 @@ declare namespace LocalJSX {
|
|
|
10567
12502
|
*/
|
|
10568
12503
|
"value"?: string;
|
|
10569
12504
|
}
|
|
12505
|
+
/**
|
|
12506
|
+
* One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
|
|
12507
|
+
* description line and trailing text. Static, not focusable -- focus stays in the search field and the
|
|
12508
|
+
* parent (`bs-global-search`) marks the highlighted row with `active`.
|
|
12509
|
+
* Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
|
|
12510
|
+
* the same pattern as `bs-list-item` and `bs-shortcut-row`.
|
|
12511
|
+
* ## When to use
|
|
12512
|
+
* - A suggestion, recent search or result inside `bs-global-search`.
|
|
12513
|
+
* ## When not to use
|
|
12514
|
+
* - A row in a generic list -- use `bs-list-item`.
|
|
12515
|
+
* - A command in a popup menu -- use `bs-menu-item`.
|
|
12516
|
+
* @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
|
|
12517
|
+
* @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
12518
|
+
* @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
|
|
12519
|
+
* @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
|
|
12520
|
+
* @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
|
|
12521
|
+
* @prop --bs-search-item-bg - Resting background. `transparent`.
|
|
12522
|
+
* @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
|
|
12523
|
+
* @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
12524
|
+
* @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
|
|
12525
|
+
* @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
|
|
12526
|
+
* @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
12527
|
+
* @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
|
|
12528
|
+
*/
|
|
12529
|
+
interface BsSearchItem {
|
|
12530
|
+
/**
|
|
12531
|
+
* Highlighted row (keyboard or hover). Set by the parent.
|
|
12532
|
+
* @default false
|
|
12533
|
+
*/
|
|
12534
|
+
"active"?: boolean;
|
|
12535
|
+
/**
|
|
12536
|
+
* Dims the row and ignores clicks.
|
|
12537
|
+
* @default false
|
|
12538
|
+
*/
|
|
12539
|
+
"disabled"?: boolean;
|
|
12540
|
+
/**
|
|
12541
|
+
* Fires with `value` when the row is clicked, or when the parent selects it with Enter.
|
|
12542
|
+
*/
|
|
12543
|
+
"onBsItemSelect"?: (event: BsSearchItemCustomEvent<string | undefined>) => void;
|
|
12544
|
+
/**
|
|
12545
|
+
* Set by the parent (`"option"`). Standalone rows have no role.
|
|
12546
|
+
* @default null
|
|
12547
|
+
*/
|
|
12548
|
+
"selectionRole"?: 'option' | null;
|
|
12549
|
+
/**
|
|
12550
|
+
* Trailing text shorthand. The `trailing` slot overrides it.
|
|
12551
|
+
*/
|
|
12552
|
+
"trailing"?: string;
|
|
12553
|
+
/**
|
|
12554
|
+
* Identifies the item; emitted by `bsItemSelect`.
|
|
12555
|
+
*/
|
|
12556
|
+
"value"?: string;
|
|
12557
|
+
}
|
|
10570
12558
|
/**
|
|
10571
12559
|
* The three moments around an expiring session, as one card. Matches the Figma "Session timeout"
|
|
10572
12560
|
* component's three types:
|
|
@@ -10711,6 +12699,46 @@ declare namespace LocalJSX {
|
|
|
10711
12699
|
*/
|
|
10712
12700
|
"type"?: BsSessionTimeoutType;
|
|
10713
12701
|
}
|
|
12702
|
+
/**
|
|
12703
|
+
* One row of a shortcut list: an action label on the left and its keyboard shortcut on the right.
|
|
12704
|
+
* Static information, not interactive. Standalone it has no role; `bs-keyboard-shortcuts` sets
|
|
12705
|
+
* `selectionRole="listitem"` on its rows (same pattern as `bs-list-item`).
|
|
12706
|
+
* Built from `bs-key-caps` (and so `bs-key`).
|
|
12707
|
+
* ## When to use
|
|
12708
|
+
* - A line in a keyboard-shortcut reference, usually inside `bs-keyboard-shortcuts`.
|
|
12709
|
+
* ## When not to use
|
|
12710
|
+
* - A clickable command or menu entry -- use `bs-menu-item` (which has its own shortcut slot).
|
|
12711
|
+
* @prop --bs-shortcut-row-height - Row height. Defaults to `36px` (Figma).
|
|
12712
|
+
* @prop --bs-shortcut-row-padding-x - Horizontal padding. Aliased to `--bs-spacing-100`.
|
|
12713
|
+
* @prop --bs-shortcut-row-gap - Gap between label and keys. Aliased to `--bs-spacing-100`.
|
|
12714
|
+
* @prop --bs-shortcut-row-radius - Corner radius. Aliased to `--bs-border-radius-75`.
|
|
12715
|
+
* @prop --bs-shortcut-row-color - Label colour. Aliased to `--bs-text-default`.
|
|
12716
|
+
* @prop --bs-shortcut-row-color-disabled - Label colour while `disabled`. Aliased to `--bs-text-on-disabled`.
|
|
12717
|
+
*/
|
|
12718
|
+
interface BsShortcutRow {
|
|
12719
|
+
/**
|
|
12720
|
+
* The action, e.g. "Save". The default slot overrides it.
|
|
12721
|
+
*/
|
|
12722
|
+
"action"?: string;
|
|
12723
|
+
/**
|
|
12724
|
+
* Dims the label and the keys.
|
|
12725
|
+
* @default false
|
|
12726
|
+
*/
|
|
12727
|
+
"disabled"?: boolean;
|
|
12728
|
+
/**
|
|
12729
|
+
* The keys, e.g. `"Ctrl+S"`, or an array (`['Ctrl', '+']`) for a literal plus key. See `bs-key-caps`.
|
|
12730
|
+
*/
|
|
12731
|
+
"keys"?: string | string[];
|
|
12732
|
+
/**
|
|
12733
|
+
* Accessible name of the key caps, e.g. "Control plus S". Defaults to the keys joined with "plus".
|
|
12734
|
+
*/
|
|
12735
|
+
"label"?: string;
|
|
12736
|
+
/**
|
|
12737
|
+
* Set by the parent list (`"listitem"`). Standalone rows have no role.
|
|
12738
|
+
* @default null
|
|
12739
|
+
*/
|
|
12740
|
+
"selectionRole"?: 'listitem' | null;
|
|
12741
|
+
}
|
|
10714
12742
|
/**
|
|
10715
12743
|
* A generic slide-in panel (drawer) anchored to the start or end edge, for history, filters, FAQ
|
|
10716
12744
|
* and similar secondary content. Closes via its close button or Escape and emits `bsClose`.
|
|
@@ -11566,6 +13594,87 @@ declare namespace LocalJSX {
|
|
|
11566
13594
|
*/
|
|
11567
13595
|
"text"?: string;
|
|
11568
13596
|
}
|
|
13597
|
+
/**
|
|
13598
|
+
* A hierarchical list of `bs-tree-item` rows with single selection, expand/collapse and the
|
|
13599
|
+
* WAI-ARIA tree keyboard pattern.
|
|
13600
|
+
* The tree owns `role="tree"`, the roving `tabindex` (exactly one enabled, visible item is
|
|
13601
|
+
* tabbable: the selected one, otherwise the first), selection (kept in sync with each item's
|
|
13602
|
+
* `selected`) and keyboard navigation over the visible (rendered, non-disabled) items. Items own
|
|
13603
|
+
* their expansion state and emit `bsSelect` / `bsToggle`.
|
|
13604
|
+
* Built from: `bs-tree-item` rows.
|
|
13605
|
+
*/
|
|
13606
|
+
interface BsTree {
|
|
13607
|
+
/**
|
|
13608
|
+
* Accessible name of the tree. Bound onto the internal `role="tree"` element (an `aria-label` on the host would not reach it).
|
|
13609
|
+
* @default null
|
|
13610
|
+
*/
|
|
13611
|
+
"ariaLabel"?: string | null;
|
|
13612
|
+
/**
|
|
13613
|
+
* Emitted when the user changes the selection (click, Enter/Space), with the new value. Not emitted when `value` is set from code.
|
|
13614
|
+
*/
|
|
13615
|
+
"onBsChange"?: (event: BsTreeCustomEvent<string>) => void;
|
|
13616
|
+
/**
|
|
13617
|
+
* When `false`, rows do not select (clicks and Enter/Space do nothing) but parents still expand and collapse.
|
|
13618
|
+
* @default true
|
|
13619
|
+
*/
|
|
13620
|
+
"selectable"?: boolean;
|
|
13621
|
+
/**
|
|
13622
|
+
* The `value` (or, when empty, the `label`) of the selected item. Two-way synced with each item's `selected` (single selection). Setting it from code does not emit `bsChange`.
|
|
13623
|
+
* @default ''
|
|
13624
|
+
*/
|
|
13625
|
+
"value"?: string;
|
|
13626
|
+
}
|
|
13627
|
+
/**
|
|
13628
|
+
* A single row of a `bs-tree`. An item that contains child `bs-tree-item` elements is a parent
|
|
13629
|
+
* (it gets an expand/collapse caret and a folder icon); an item without children is a leaf (no
|
|
13630
|
+
* caret, file icon).
|
|
13631
|
+
* The host carries `role="treeitem"` and the `aria-*` state; the owning `bs-tree` manages the
|
|
13632
|
+
* roving `tabindex`, selection and keyboard navigation. Nesting depth is computed automatically
|
|
13633
|
+
* from the number of ancestor `bs-tree-item` elements and exposed as `aria-level` -- it is not a
|
|
13634
|
+
* prop. Clicking the row selects it; clicking the caret (or pressing Right/Left in a tree) toggles
|
|
13635
|
+
* expansion -- the two are deliberately separate.
|
|
13636
|
+
* Built from: inline SVG icons only (no existing `bs-*` component covers a tree row).
|
|
13637
|
+
*/
|
|
13638
|
+
interface BsTreeItem {
|
|
13639
|
+
/**
|
|
13640
|
+
* Disables the row: not focusable, ignores clicks, dimmed. Reflected.
|
|
13641
|
+
* @default false
|
|
13642
|
+
*/
|
|
13643
|
+
"disabled"?: boolean;
|
|
13644
|
+
/**
|
|
13645
|
+
* Whether the child items are shown. Only meaningful for parents. Mutable: the caret, the keyboard and the owning tree toggle it. Reflected.
|
|
13646
|
+
* @default false
|
|
13647
|
+
*/
|
|
13648
|
+
"expanded"?: boolean;
|
|
13649
|
+
/**
|
|
13650
|
+
* The row's text. Use the `label` slot for rich content.
|
|
13651
|
+
* @default ''
|
|
13652
|
+
*/
|
|
13653
|
+
"label"?: string;
|
|
13654
|
+
/**
|
|
13655
|
+
* Emitted (bubbling, composed) when the user activates the row, with the item's value. The owning `bs-tree` listens and updates the selection.
|
|
13656
|
+
*/
|
|
13657
|
+
"onBsSelect"?: (event: BsTreeItemCustomEvent<string>) => void;
|
|
13658
|
+
/**
|
|
13659
|
+
* Emitted when the user toggles expansion (caret click or keyboard), with the new `expanded` value. Not emitted when `expanded` is set from code.
|
|
13660
|
+
*/
|
|
13661
|
+
"onBsToggle"?: (event: BsTreeItemCustomEvent<boolean>) => void;
|
|
13662
|
+
/**
|
|
13663
|
+
* Marks the row as selected. Owned by the tree (single selection, synced with its `value`). Reflected.
|
|
13664
|
+
* @default false
|
|
13665
|
+
*/
|
|
13666
|
+
"selected"?: boolean;
|
|
13667
|
+
/**
|
|
13668
|
+
* Shows the leading icon (default folder / file, or the `icon` slot).
|
|
13669
|
+
* @default true
|
|
13670
|
+
*/
|
|
13671
|
+
"showIcon"?: boolean;
|
|
13672
|
+
/**
|
|
13673
|
+
* Identifier used in events and for the tree's `value`. Falls back to `label` when empty.
|
|
13674
|
+
* @default ''
|
|
13675
|
+
*/
|
|
13676
|
+
"value"?: string;
|
|
13677
|
+
}
|
|
11569
13678
|
/**
|
|
11570
13679
|
* A product's "What's new" surface, in three forms matching the Figma component:
|
|
11571
13680
|
* - `feed` -- a docked panel: heading, "Mark all as read", filter tabs, the list of updates (each a
|
|
@@ -11965,6 +14074,35 @@ declare namespace LocalJSX {
|
|
|
11965
14074
|
"page": string;
|
|
11966
14075
|
"href": string;
|
|
11967
14076
|
}
|
|
14077
|
+
interface BsCommandPaletteAttributes {
|
|
14078
|
+
"value": string;
|
|
14079
|
+
"open": boolean;
|
|
14080
|
+
"commandsOnly": boolean;
|
|
14081
|
+
"status": BsCommandPaletteStatus;
|
|
14082
|
+
"label": string;
|
|
14083
|
+
"placeholder": string;
|
|
14084
|
+
"keepOpenOnSelect": boolean;
|
|
14085
|
+
"showFooter": boolean;
|
|
14086
|
+
"hotkey": string;
|
|
14087
|
+
"scopeLabel": string;
|
|
14088
|
+
"recentLabel": string;
|
|
14089
|
+
"suggestedLabel": string;
|
|
14090
|
+
"commandsLabel": string;
|
|
14091
|
+
"navigationLabel": string;
|
|
14092
|
+
"recordsLabel": string;
|
|
14093
|
+
"tryInsteadLabel": string;
|
|
14094
|
+
"navigateLabel": string;
|
|
14095
|
+
"openLabel": string;
|
|
14096
|
+
"closeLabel": string;
|
|
14097
|
+
"commandsOnlyLabel": string;
|
|
14098
|
+
"allResultsLabel": string;
|
|
14099
|
+
"emptyHeading": string;
|
|
14100
|
+
"emptyDescription": string;
|
|
14101
|
+
"didYouMean": string;
|
|
14102
|
+
"didYouMeanLabel": string;
|
|
14103
|
+
"loadingLabel": string;
|
|
14104
|
+
"listLabel": string;
|
|
14105
|
+
}
|
|
11968
14106
|
interface BsComposerAttributes {
|
|
11969
14107
|
"variant": BsComposerVariant;
|
|
11970
14108
|
"placeholder": string;
|
|
@@ -12048,6 +14186,12 @@ declare namespace LocalJSX {
|
|
|
12048
14186
|
"inset": BsDividerInset;
|
|
12049
14187
|
"decorative": boolean;
|
|
12050
14188
|
}
|
|
14189
|
+
interface BsEmptyStateAttributes {
|
|
14190
|
+
"heading": string;
|
|
14191
|
+
"description": string;
|
|
14192
|
+
"intent": BsIconTileIntent;
|
|
14193
|
+
"headingLevel": 2 | 3 | 4 | 5 | 6;
|
|
14194
|
+
}
|
|
12051
14195
|
interface BsErrorPageAttributes {
|
|
12052
14196
|
"type": BsErrorPageType;
|
|
12053
14197
|
"code": string;
|
|
@@ -12079,6 +14223,33 @@ declare namespace LocalJSX {
|
|
|
12079
14223
|
"cancelLabel": string;
|
|
12080
14224
|
"removeLabel": string;
|
|
12081
14225
|
}
|
|
14226
|
+
interface BsGlobalSearchAttributes {
|
|
14227
|
+
"value": string;
|
|
14228
|
+
"placeholder": string;
|
|
14229
|
+
"label": string;
|
|
14230
|
+
"disabled": boolean;
|
|
14231
|
+
"open": boolean;
|
|
14232
|
+
"status": BsGlobalSearchStatus;
|
|
14233
|
+
"totalResults": number;
|
|
14234
|
+
"showFooter": boolean;
|
|
14235
|
+
"listLabel": string;
|
|
14236
|
+
"recentLabel": string;
|
|
14237
|
+
"jumpToLabel": string;
|
|
14238
|
+
"topMatchesLabel": string;
|
|
14239
|
+
"searchInLabel": string;
|
|
14240
|
+
"navigateLabel": string;
|
|
14241
|
+
"searchLabel": string;
|
|
14242
|
+
"closeLabel": string;
|
|
14243
|
+
"fullResultsLabel": string;
|
|
14244
|
+
"clearRecentLabel": string;
|
|
14245
|
+
"seeAllLabel": string;
|
|
14246
|
+
"emptyHeading": string;
|
|
14247
|
+
"emptyDescription": string;
|
|
14248
|
+
"clearSearchLabel": string;
|
|
14249
|
+
"errorHeading": string;
|
|
14250
|
+
"errorDescription": string;
|
|
14251
|
+
"retryLabel": string;
|
|
14252
|
+
}
|
|
12082
14253
|
interface BsGridAttributes {
|
|
12083
14254
|
"columns": string;
|
|
12084
14255
|
"gap": string;
|
|
@@ -12141,6 +14312,46 @@ declare namespace LocalJSX {
|
|
|
12141
14312
|
"length": number;
|
|
12142
14313
|
"open": boolean;
|
|
12143
14314
|
}
|
|
14315
|
+
interface BsKeyAttributes {
|
|
14316
|
+
"label": string;
|
|
14317
|
+
}
|
|
14318
|
+
interface BsKeyCapsAttributes {
|
|
14319
|
+
"keys": string | string[];
|
|
14320
|
+
"disabled": boolean;
|
|
14321
|
+
"label": string;
|
|
14322
|
+
}
|
|
14323
|
+
interface BsKeyboardShortcutsAttributes {
|
|
14324
|
+
"heading": string;
|
|
14325
|
+
"closeLabel": string;
|
|
14326
|
+
"searchPlaceholder": string;
|
|
14327
|
+
"query": string;
|
|
14328
|
+
"showSingleKeySwitch": boolean;
|
|
14329
|
+
"singleKeyEnabled": boolean;
|
|
14330
|
+
"singleKeyLabel": string;
|
|
14331
|
+
"singleKeyDescription": string;
|
|
14332
|
+
"showFooterHint": boolean;
|
|
14333
|
+
"footerKey": string;
|
|
14334
|
+
"footerText": string;
|
|
14335
|
+
"footerPrefix": string;
|
|
14336
|
+
"noResultsText": string;
|
|
14337
|
+
}
|
|
14338
|
+
interface BsListAttributes {
|
|
14339
|
+
"selectable": boolean;
|
|
14340
|
+
"value": string | null;
|
|
14341
|
+
"dividers": boolean;
|
|
14342
|
+
"ariaLabel": string | null;
|
|
14343
|
+
}
|
|
14344
|
+
interface BsListItemAttributes {
|
|
14345
|
+
"label": string | null;
|
|
14346
|
+
"description": string | null;
|
|
14347
|
+
"supportText": string | null;
|
|
14348
|
+
"selected": boolean;
|
|
14349
|
+
"disabled": boolean;
|
|
14350
|
+
"showArrow": boolean;
|
|
14351
|
+
"value": string | null;
|
|
14352
|
+
"interactive": boolean;
|
|
14353
|
+
"selectionRole": 'listitem' | 'option' | null;
|
|
14354
|
+
}
|
|
12144
14355
|
interface BsLogoAttributes {
|
|
12145
14356
|
"variant": BsLogoVariant;
|
|
12146
14357
|
"background": BsLogoBackground;
|
|
@@ -12276,6 +14487,13 @@ declare namespace LocalJSX {
|
|
|
12276
14487
|
"checked": boolean;
|
|
12277
14488
|
"disabled": boolean;
|
|
12278
14489
|
}
|
|
14490
|
+
interface BsSearchItemAttributes {
|
|
14491
|
+
"value": string;
|
|
14492
|
+
"active": boolean;
|
|
14493
|
+
"disabled": boolean;
|
|
14494
|
+
"trailing": string;
|
|
14495
|
+
"selectionRole": 'option' | null;
|
|
14496
|
+
}
|
|
12279
14497
|
interface BsSessionTimeoutAttributes {
|
|
12280
14498
|
"type": BsSessionTimeoutType;
|
|
12281
14499
|
"heading": string;
|
|
@@ -12298,6 +14516,13 @@ declare namespace LocalJSX {
|
|
|
12298
14516
|
"dividerLabel": string;
|
|
12299
14517
|
"cancelLabel": string;
|
|
12300
14518
|
}
|
|
14519
|
+
interface BsShortcutRowAttributes {
|
|
14520
|
+
"action": string;
|
|
14521
|
+
"keys": string | string[];
|
|
14522
|
+
"label": string;
|
|
14523
|
+
"disabled": boolean;
|
|
14524
|
+
"selectionRole": 'listitem' | null;
|
|
14525
|
+
}
|
|
12301
14526
|
interface BsSidePanelAttributes {
|
|
12302
14527
|
"open": boolean;
|
|
12303
14528
|
"heading": string;
|
|
@@ -12425,6 +14650,19 @@ declare namespace LocalJSX {
|
|
|
12425
14650
|
"delay": number;
|
|
12426
14651
|
"placement": BsTooltipTriggerPlacement;
|
|
12427
14652
|
}
|
|
14653
|
+
interface BsTreeAttributes {
|
|
14654
|
+
"ariaLabel": string | null;
|
|
14655
|
+
"value": string;
|
|
14656
|
+
"selectable": boolean;
|
|
14657
|
+
}
|
|
14658
|
+
interface BsTreeItemAttributes {
|
|
14659
|
+
"label": string;
|
|
14660
|
+
"expanded": boolean;
|
|
14661
|
+
"selected": boolean;
|
|
14662
|
+
"disabled": boolean;
|
|
14663
|
+
"showIcon": boolean;
|
|
14664
|
+
"value": string;
|
|
14665
|
+
}
|
|
12428
14666
|
interface BsWhatsNewAttributes {
|
|
12429
14667
|
"type": BsWhatsNewType;
|
|
12430
14668
|
"heading": string;
|
|
@@ -12490,6 +14728,7 @@ declare namespace LocalJSX {
|
|
|
12490
14728
|
"bs-chip-informative": Omit<BsChipInformative, keyof BsChipInformativeAttributes> & { [K in keyof BsChipInformative & keyof BsChipInformativeAttributes]?: BsChipInformative[K] } & { [K in keyof BsChipInformative & keyof BsChipInformativeAttributes as `attr:${K}`]?: BsChipInformativeAttributes[K] } & { [K in keyof BsChipInformative & keyof BsChipInformativeAttributes as `prop:${K}`]?: BsChipInformative[K] };
|
|
12491
14729
|
"bs-chip-input": Omit<BsChipInput, keyof BsChipInputAttributes> & { [K in keyof BsChipInput & keyof BsChipInputAttributes]?: BsChipInput[K] } & { [K in keyof BsChipInput & keyof BsChipInputAttributes as `attr:${K}`]?: BsChipInputAttributes[K] } & { [K in keyof BsChipInput & keyof BsChipInputAttributes as `prop:${K}`]?: BsChipInput[K] };
|
|
12492
14730
|
"bs-citation-preview": Omit<BsCitationPreview, keyof BsCitationPreviewAttributes> & { [K in keyof BsCitationPreview & keyof BsCitationPreviewAttributes]?: BsCitationPreview[K] } & { [K in keyof BsCitationPreview & keyof BsCitationPreviewAttributes as `attr:${K}`]?: BsCitationPreviewAttributes[K] } & { [K in keyof BsCitationPreview & keyof BsCitationPreviewAttributes as `prop:${K}`]?: BsCitationPreview[K] };
|
|
14731
|
+
"bs-command-palette": Omit<BsCommandPalette, keyof BsCommandPaletteAttributes> & { [K in keyof BsCommandPalette & keyof BsCommandPaletteAttributes]?: BsCommandPalette[K] } & { [K in keyof BsCommandPalette & keyof BsCommandPaletteAttributes as `attr:${K}`]?: BsCommandPaletteAttributes[K] } & { [K in keyof BsCommandPalette & keyof BsCommandPaletteAttributes as `prop:${K}`]?: BsCommandPalette[K] };
|
|
12493
14732
|
"bs-composer": Omit<BsComposer, keyof BsComposerAttributes> & { [K in keyof BsComposer & keyof BsComposerAttributes]?: BsComposer[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `attr:${K}`]?: BsComposerAttributes[K] } & { [K in keyof BsComposer & keyof BsComposerAttributes as `prop:${K}`]?: BsComposer[K] };
|
|
12494
14733
|
"bs-composer-status-banner": Omit<BsComposerStatusBanner, keyof BsComposerStatusBannerAttributes> & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes]?: BsComposerStatusBanner[K] } & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes as `attr:${K}`]?: BsComposerStatusBannerAttributes[K] } & { [K in keyof BsComposerStatusBanner & keyof BsComposerStatusBannerAttributes as `prop:${K}`]?: BsComposerStatusBanner[K] };
|
|
12495
14734
|
"bs-container": Omit<BsContainer, keyof BsContainerAttributes> & { [K in keyof BsContainer & keyof BsContainerAttributes]?: BsContainer[K] } & { [K in keyof BsContainer & keyof BsContainerAttributes as `attr:${K}`]?: BsContainerAttributes[K] } & { [K in keyof BsContainer & keyof BsContainerAttributes as `prop:${K}`]?: BsContainer[K] };
|
|
@@ -12498,14 +14737,21 @@ declare namespace LocalJSX {
|
|
|
12498
14737
|
"bs-datepicker": Omit<BsDatepicker, keyof BsDatepickerAttributes> & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes]?: BsDatepicker[K] } & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes as `attr:${K}`]?: BsDatepickerAttributes[K] } & { [K in keyof BsDatepicker & keyof BsDatepickerAttributes as `prop:${K}`]?: BsDatepicker[K] };
|
|
12499
14738
|
"bs-dialog": Omit<BsDialog, keyof BsDialogAttributes> & { [K in keyof BsDialog & keyof BsDialogAttributes]?: BsDialog[K] } & { [K in keyof BsDialog & keyof BsDialogAttributes as `attr:${K}`]?: BsDialogAttributes[K] } & { [K in keyof BsDialog & keyof BsDialogAttributes as `prop:${K}`]?: BsDialog[K] };
|
|
12500
14739
|
"bs-divider": Omit<BsDivider, keyof BsDividerAttributes> & { [K in keyof BsDivider & keyof BsDividerAttributes]?: BsDivider[K] } & { [K in keyof BsDivider & keyof BsDividerAttributes as `attr:${K}`]?: BsDividerAttributes[K] } & { [K in keyof BsDivider & keyof BsDividerAttributes as `prop:${K}`]?: BsDivider[K] };
|
|
14740
|
+
"bs-empty-state": Omit<BsEmptyState, keyof BsEmptyStateAttributes> & { [K in keyof BsEmptyState & keyof BsEmptyStateAttributes]?: BsEmptyState[K] } & { [K in keyof BsEmptyState & keyof BsEmptyStateAttributes as `attr:${K}`]?: BsEmptyStateAttributes[K] } & { [K in keyof BsEmptyState & keyof BsEmptyStateAttributes as `prop:${K}`]?: BsEmptyState[K] };
|
|
12501
14741
|
"bs-error-page": Omit<BsErrorPage, keyof BsErrorPageAttributes> & { [K in keyof BsErrorPage & keyof BsErrorPageAttributes]?: BsErrorPage[K] } & { [K in keyof BsErrorPage & keyof BsErrorPageAttributes as `attr:${K}`]?: BsErrorPageAttributes[K] } & { [K in keyof BsErrorPage & keyof BsErrorPageAttributes as `prop:${K}`]?: BsErrorPage[K] };
|
|
12502
14742
|
"bs-file-upload": Omit<BsFileUpload, keyof BsFileUploadAttributes> & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes]?: BsFileUpload[K] } & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes as `attr:${K}`]?: BsFileUploadAttributes[K] } & { [K in keyof BsFileUpload & keyof BsFileUploadAttributes as `prop:${K}`]?: BsFileUpload[K] };
|
|
12503
14743
|
"bs-file-upload-item": Omit<BsFileUploadItem, keyof BsFileUploadItemAttributes> & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes]?: BsFileUploadItem[K] } & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes as `attr:${K}`]?: BsFileUploadItemAttributes[K] } & { [K in keyof BsFileUploadItem & keyof BsFileUploadItemAttributes as `prop:${K}`]?: BsFileUploadItem[K] };
|
|
14744
|
+
"bs-global-search": Omit<BsGlobalSearch, keyof BsGlobalSearchAttributes> & { [K in keyof BsGlobalSearch & keyof BsGlobalSearchAttributes]?: BsGlobalSearch[K] } & { [K in keyof BsGlobalSearch & keyof BsGlobalSearchAttributes as `attr:${K}`]?: BsGlobalSearchAttributes[K] } & { [K in keyof BsGlobalSearch & keyof BsGlobalSearchAttributes as `prop:${K}`]?: BsGlobalSearch[K] };
|
|
12504
14745
|
"bs-grid": Omit<BsGrid, keyof BsGridAttributes> & { [K in keyof BsGrid & keyof BsGridAttributes]?: BsGrid[K] } & { [K in keyof BsGrid & keyof BsGridAttributes as `attr:${K}`]?: BsGridAttributes[K] } & { [K in keyof BsGrid & keyof BsGridAttributes as `prop:${K}`]?: BsGrid[K] };
|
|
12505
14746
|
"bs-icon-button": Omit<BsIconButton, keyof BsIconButtonAttributes> & { [K in keyof BsIconButton & keyof BsIconButtonAttributes]?: BsIconButton[K] } & { [K in keyof BsIconButton & keyof BsIconButtonAttributes as `attr:${K}`]?: BsIconButtonAttributes[K] } & { [K in keyof BsIconButton & keyof BsIconButtonAttributes as `prop:${K}`]?: BsIconButton[K] };
|
|
12506
14747
|
"bs-icon-tile": Omit<BsIconTile, keyof BsIconTileAttributes> & { [K in keyof BsIconTile & keyof BsIconTileAttributes]?: BsIconTile[K] } & { [K in keyof BsIconTile & keyof BsIconTileAttributes as `attr:${K}`]?: BsIconTileAttributes[K] } & { [K in keyof BsIconTile & keyof BsIconTileAttributes as `prop:${K}`]?: BsIconTile[K] };
|
|
12507
14748
|
"bs-inline-tab": Omit<BsInlineTab, keyof BsInlineTabAttributes> & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes]?: BsInlineTab[K] } & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes as `attr:${K}`]?: BsInlineTabAttributes[K] } & { [K in keyof BsInlineTab & keyof BsInlineTabAttributes as `prop:${K}`]?: BsInlineTab[K] };
|
|
12508
14749
|
"bs-input": Omit<BsInput, keyof BsInputAttributes> & { [K in keyof BsInput & keyof BsInputAttributes]?: BsInput[K] } & { [K in keyof BsInput & keyof BsInputAttributes as `attr:${K}`]?: BsInputAttributes[K] } & { [K in keyof BsInput & keyof BsInputAttributes as `prop:${K}`]?: BsInput[K] };
|
|
14750
|
+
"bs-key": Omit<BsKey, keyof BsKeyAttributes> & { [K in keyof BsKey & keyof BsKeyAttributes]?: BsKey[K] } & { [K in keyof BsKey & keyof BsKeyAttributes as `attr:${K}`]?: BsKeyAttributes[K] } & { [K in keyof BsKey & keyof BsKeyAttributes as `prop:${K}`]?: BsKey[K] };
|
|
14751
|
+
"bs-key-caps": Omit<BsKeyCaps, keyof BsKeyCapsAttributes> & { [K in keyof BsKeyCaps & keyof BsKeyCapsAttributes]?: BsKeyCaps[K] } & { [K in keyof BsKeyCaps & keyof BsKeyCapsAttributes as `attr:${K}`]?: BsKeyCapsAttributes[K] } & { [K in keyof BsKeyCaps & keyof BsKeyCapsAttributes as `prop:${K}`]?: BsKeyCaps[K] };
|
|
14752
|
+
"bs-keyboard-shortcuts": Omit<BsKeyboardShortcuts, keyof BsKeyboardShortcutsAttributes> & { [K in keyof BsKeyboardShortcuts & keyof BsKeyboardShortcutsAttributes]?: BsKeyboardShortcuts[K] } & { [K in keyof BsKeyboardShortcuts & keyof BsKeyboardShortcutsAttributes as `attr:${K}`]?: BsKeyboardShortcutsAttributes[K] } & { [K in keyof BsKeyboardShortcuts & keyof BsKeyboardShortcutsAttributes as `prop:${K}`]?: BsKeyboardShortcuts[K] };
|
|
14753
|
+
"bs-list": Omit<BsList, keyof BsListAttributes> & { [K in keyof BsList & keyof BsListAttributes]?: BsList[K] } & { [K in keyof BsList & keyof BsListAttributes as `attr:${K}`]?: BsListAttributes[K] } & { [K in keyof BsList & keyof BsListAttributes as `prop:${K}`]?: BsList[K] };
|
|
14754
|
+
"bs-list-item": Omit<BsListItem, keyof BsListItemAttributes> & { [K in keyof BsListItem & keyof BsListItemAttributes]?: BsListItem[K] } & { [K in keyof BsListItem & keyof BsListItemAttributes as `attr:${K}`]?: BsListItemAttributes[K] } & { [K in keyof BsListItem & keyof BsListItemAttributes as `prop:${K}`]?: BsListItem[K] };
|
|
12509
14755
|
"bs-logo": Omit<BsLogo, keyof BsLogoAttributes> & { [K in keyof BsLogo & keyof BsLogoAttributes]?: BsLogo[K] } & { [K in keyof BsLogo & keyof BsLogoAttributes as `attr:${K}`]?: BsLogoAttributes[K] } & { [K in keyof BsLogo & keyof BsLogoAttributes as `prop:${K}`]?: BsLogo[K] };
|
|
12510
14756
|
"bs-menu": BsMenu;
|
|
12511
14757
|
"bs-menu-item": Omit<BsMenuItem, keyof BsMenuItemAttributes> & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes]?: BsMenuItem[K] } & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes as `attr:${K}`]?: BsMenuItemAttributes[K] } & { [K in keyof BsMenuItem & keyof BsMenuItemAttributes as `prop:${K}`]?: BsMenuItem[K] };
|
|
@@ -12522,7 +14768,9 @@ declare namespace LocalJSX {
|
|
|
12522
14768
|
"bs-progress-linear": Omit<BsProgressLinear, keyof BsProgressLinearAttributes> & { [K in keyof BsProgressLinear & keyof BsProgressLinearAttributes]?: BsProgressLinear[K] } & { [K in keyof BsProgressLinear & keyof BsProgressLinearAttributes as `attr:${K}`]?: BsProgressLinearAttributes[K] } & { [K in keyof BsProgressLinear & keyof BsProgressLinearAttributes as `prop:${K}`]?: BsProgressLinear[K] };
|
|
12523
14769
|
"bs-qr-code": Omit<BsQrCode, keyof BsQrCodeAttributes> & { [K in keyof BsQrCode & keyof BsQrCodeAttributes]?: BsQrCode[K] } & { [K in keyof BsQrCode & keyof BsQrCodeAttributes as `attr:${K}`]?: BsQrCodeAttributes[K] } & { [K in keyof BsQrCode & keyof BsQrCodeAttributes as `prop:${K}`]?: BsQrCode[K] };
|
|
12524
14770
|
"bs-radio": Omit<BsRadio, keyof BsRadioAttributes> & { [K in keyof BsRadio & keyof BsRadioAttributes]?: BsRadio[K] } & { [K in keyof BsRadio & keyof BsRadioAttributes as `attr:${K}`]?: BsRadioAttributes[K] } & { [K in keyof BsRadio & keyof BsRadioAttributes as `prop:${K}`]?: BsRadio[K] };
|
|
14771
|
+
"bs-search-item": Omit<BsSearchItem, keyof BsSearchItemAttributes> & { [K in keyof BsSearchItem & keyof BsSearchItemAttributes]?: BsSearchItem[K] } & { [K in keyof BsSearchItem & keyof BsSearchItemAttributes as `attr:${K}`]?: BsSearchItemAttributes[K] } & { [K in keyof BsSearchItem & keyof BsSearchItemAttributes as `prop:${K}`]?: BsSearchItem[K] };
|
|
12525
14772
|
"bs-session-timeout": Omit<BsSessionTimeout, keyof BsSessionTimeoutAttributes> & { [K in keyof BsSessionTimeout & keyof BsSessionTimeoutAttributes]?: BsSessionTimeout[K] } & { [K in keyof BsSessionTimeout & keyof BsSessionTimeoutAttributes as `attr:${K}`]?: BsSessionTimeoutAttributes[K] } & { [K in keyof BsSessionTimeout & keyof BsSessionTimeoutAttributes as `prop:${K}`]?: BsSessionTimeout[K] };
|
|
14773
|
+
"bs-shortcut-row": Omit<BsShortcutRow, keyof BsShortcutRowAttributes> & { [K in keyof BsShortcutRow & keyof BsShortcutRowAttributes]?: BsShortcutRow[K] } & { [K in keyof BsShortcutRow & keyof BsShortcutRowAttributes as `attr:${K}`]?: BsShortcutRowAttributes[K] } & { [K in keyof BsShortcutRow & keyof BsShortcutRowAttributes as `prop:${K}`]?: BsShortcutRow[K] };
|
|
12526
14774
|
"bs-side-panel": Omit<BsSidePanel, keyof BsSidePanelAttributes> & { [K in keyof BsSidePanel & keyof BsSidePanelAttributes]?: BsSidePanel[K] } & { [K in keyof BsSidePanel & keyof BsSidePanelAttributes as `attr:${K}`]?: BsSidePanelAttributes[K] } & { [K in keyof BsSidePanel & keyof BsSidePanelAttributes as `prop:${K}`]?: BsSidePanel[K] };
|
|
12527
14775
|
"bs-skeleton": Omit<BsSkeleton, keyof BsSkeletonAttributes> & { [K in keyof BsSkeleton & keyof BsSkeletonAttributes]?: BsSkeleton[K] } & { [K in keyof BsSkeleton & keyof BsSkeletonAttributes as `attr:${K}`]?: BsSkeletonAttributes[K] } & { [K in keyof BsSkeleton & keyof BsSkeletonAttributes as `prop:${K}`]?: BsSkeleton[K] };
|
|
12528
14776
|
"bs-slider": Omit<BsSlider, keyof BsSliderAttributes> & { [K in keyof BsSlider & keyof BsSliderAttributes]?: BsSlider[K] } & { [K in keyof BsSlider & keyof BsSliderAttributes as `attr:${K}`]?: BsSliderAttributes[K] } & { [K in keyof BsSlider & keyof BsSliderAttributes as `prop:${K}`]?: BsSlider[K] };
|
|
@@ -12540,6 +14788,8 @@ declare namespace LocalJSX {
|
|
|
12540
14788
|
"bs-toast": Omit<BsToast, keyof BsToastAttributes> & { [K in keyof BsToast & keyof BsToastAttributes]?: BsToast[K] } & { [K in keyof BsToast & keyof BsToastAttributes as `attr:${K}`]?: BsToastAttributes[K] } & { [K in keyof BsToast & keyof BsToastAttributes as `prop:${K}`]?: BsToast[K] };
|
|
12541
14789
|
"bs-tooltip": Omit<BsTooltip, keyof BsTooltipAttributes> & { [K in keyof BsTooltip & keyof BsTooltipAttributes]?: BsTooltip[K] } & { [K in keyof BsTooltip & keyof BsTooltipAttributes as `attr:${K}`]?: BsTooltipAttributes[K] } & { [K in keyof BsTooltip & keyof BsTooltipAttributes as `prop:${K}`]?: BsTooltip[K] };
|
|
12542
14790
|
"bs-tooltip-trigger": Omit<BsTooltipTrigger, keyof BsTooltipTriggerAttributes> & { [K in keyof BsTooltipTrigger & keyof BsTooltipTriggerAttributes]?: BsTooltipTrigger[K] } & { [K in keyof BsTooltipTrigger & keyof BsTooltipTriggerAttributes as `attr:${K}`]?: BsTooltipTriggerAttributes[K] } & { [K in keyof BsTooltipTrigger & keyof BsTooltipTriggerAttributes as `prop:${K}`]?: BsTooltipTrigger[K] };
|
|
14791
|
+
"bs-tree": Omit<BsTree, keyof BsTreeAttributes> & { [K in keyof BsTree & keyof BsTreeAttributes]?: BsTree[K] } & { [K in keyof BsTree & keyof BsTreeAttributes as `attr:${K}`]?: BsTreeAttributes[K] } & { [K in keyof BsTree & keyof BsTreeAttributes as `prop:${K}`]?: BsTree[K] };
|
|
14792
|
+
"bs-tree-item": Omit<BsTreeItem, keyof BsTreeItemAttributes> & { [K in keyof BsTreeItem & keyof BsTreeItemAttributes]?: BsTreeItem[K] } & { [K in keyof BsTreeItem & keyof BsTreeItemAttributes as `attr:${K}`]?: BsTreeItemAttributes[K] } & { [K in keyof BsTreeItem & keyof BsTreeItemAttributes as `prop:${K}`]?: BsTreeItem[K] };
|
|
12543
14793
|
"bs-whats-new": Omit<BsWhatsNew, keyof BsWhatsNewAttributes> & { [K in keyof BsWhatsNew & keyof BsWhatsNewAttributes]?: BsWhatsNew[K] } & { [K in keyof BsWhatsNew & keyof BsWhatsNewAttributes as `attr:${K}`]?: BsWhatsNewAttributes[K] } & { [K in keyof BsWhatsNew & keyof BsWhatsNewAttributes as `prop:${K}`]?: BsWhatsNew[K] };
|
|
12544
14794
|
"bs-whats-new-entry": Omit<BsWhatsNewEntry, keyof BsWhatsNewEntryAttributes> & { [K in keyof BsWhatsNewEntry & keyof BsWhatsNewEntryAttributes]?: BsWhatsNewEntry[K] } & { [K in keyof BsWhatsNewEntry & keyof BsWhatsNewEntryAttributes as `attr:${K}`]?: BsWhatsNewEntryAttributes[K] } & { [K in keyof BsWhatsNewEntry & keyof BsWhatsNewEntryAttributes as `prop:${K}`]?: BsWhatsNewEntry[K] };
|
|
12545
14795
|
}
|
|
@@ -13117,6 +15367,37 @@ declare module "@stencil/core" {
|
|
|
13117
15367
|
* @prop --bs-citation-preview-page-color - Page label color. Aliased to `--bs-text-secondary`.
|
|
13118
15368
|
*/
|
|
13119
15369
|
"bs-citation-preview": LocalJSX.IntrinsicElements["bs-citation-preview"] & JSXBase.HTMLAttributes<HTMLBsCitationPreviewElement>;
|
|
15370
|
+
/**
|
|
15371
|
+
* A Ctrl+K command palette: a modal with a search field, grouped commands, navigation and records, a
|
|
15372
|
+
* no-results view and a keyboard-hint footer. The data, the filtering, the command registry and the
|
|
15373
|
+
* recent-items storage are all yours: you slot `bs-search-item`s into the sections and set `status`.
|
|
15374
|
+
* Built from a native `<dialog>` (opened with `showModal()`, so focus is trapped, the page behind is inert
|
|
15375
|
+
* and the backdrop is the scrim), `bs-input` (type="search"), `bs-search-item`, `bs-key` (footer hints and
|
|
15376
|
+
* the Esc cap), `bs-chip-informative` (the scope chip) and `bs-spinner` (loading). Slot a `bs-key-caps` with
|
|
15377
|
+
* `slot="trailing"` inside an item to show a command's shortcut.
|
|
15378
|
+
* ## When to use
|
|
15379
|
+
* - An app-wide "do anything" entry point opened with a hotkey: run commands, navigate, open records.
|
|
15380
|
+
* ## When not to use
|
|
15381
|
+
* - A plain search box with a dropdown -- use `bs-global-search`.
|
|
15382
|
+
* - A small list of actions on one control -- use `bs-menu`.
|
|
15383
|
+
* A `>` as the first character of the field switches to commands-only mode (`commandsOnly`, reflected as
|
|
15384
|
+
* `commands-only`). The component filters nothing: listen to `bsInput`, swap the slotted items, set `status`.
|
|
15385
|
+
* Nested (sub-command) palettes are a consumer pattern: swap the slotted commands and set `scopeLabel`.
|
|
15386
|
+
* @prop --bs-command-palette-width - Panel width. Defaults to `640px` (Figma); capped to the viewport.
|
|
15387
|
+
* @prop --bs-command-palette-top - Distance from the top of the viewport. Defaults to `12vh`.
|
|
15388
|
+
* @prop --bs-command-palette-max-height - Max height of the results area. Defaults to `60vh`.
|
|
15389
|
+
* @prop --bs-command-palette-radius - Aliased to `--bs-border-radius-150`.
|
|
15390
|
+
* @prop --bs-command-palette-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
15391
|
+
* @prop --bs-command-palette-shadow - Figma elevation level 4: `0 8px 16px` in `--bs-elevation-higher` (stronger in dark mode).
|
|
15392
|
+
* @prop --bs-command-palette-overlay - Scrim colour. Aliased to `--bs-surface-overlay`.
|
|
15393
|
+
* @prop --bs-command-palette-footer-bg - Aliased to `--bs-surface-container`.
|
|
15394
|
+
* @prop --bs-command-palette-divider-color - Aliased to `--bs-border-default`.
|
|
15395
|
+
* @prop --bs-command-palette-header-border-color - Aliased to `--bs-border-neutral-container`.
|
|
15396
|
+
* @prop --bs-command-palette-header-color - Aliased to `--bs-text-muted`.
|
|
15397
|
+
* @prop --bs-command-palette-hint-color - Aliased to `--bs-text-secondary`.
|
|
15398
|
+
* @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
|
|
15399
|
+
*/
|
|
15400
|
+
"bs-command-palette": LocalJSX.IntrinsicElements["bs-command-palette"] & JSXBase.HTMLAttributes<HTMLBsCommandPaletteElement>;
|
|
13120
15401
|
/**
|
|
13121
15402
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
13122
15403
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -13313,6 +15594,24 @@ declare module "@stencil/core" {
|
|
|
13313
15594
|
* @prop --bs-divider-inset - Indent applied by `inset`. Aliased to `--bs-spacing-300`.
|
|
13314
15595
|
*/
|
|
13315
15596
|
"bs-divider": LocalJSX.IntrinsicElements["bs-divider"] & JSXBase.HTMLAttributes<HTMLBsDividerElement>;
|
|
15597
|
+
/**
|
|
15598
|
+
* A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
|
|
15599
|
+
* Used for empty lists, "no results" and error states inside a panel, card or page section.
|
|
15600
|
+
* Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
|
|
15601
|
+
* The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
|
|
15602
|
+
* element that stays in the DOM while this block appears and disappears).
|
|
15603
|
+
* ## When to use
|
|
15604
|
+
* - A list, table or search result that has nothing to show, or failed to load.
|
|
15605
|
+
* ## When not to use
|
|
15606
|
+
* - A full-page error with a status code -- use `bs-error-page`.
|
|
15607
|
+
* - A transient message -- use `bs-toast` or `bs-snackbar`.
|
|
15608
|
+
* @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
|
|
15609
|
+
* @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
|
|
15610
|
+
* @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
|
|
15611
|
+
* @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
|
|
15612
|
+
* @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
|
|
15613
|
+
*/
|
|
15614
|
+
"bs-empty-state": LocalJSX.IntrinsicElements["bs-empty-state"] & JSXBase.HTMLAttributes<HTMLBsEmptyStateElement>;
|
|
13316
15615
|
/**
|
|
13317
15616
|
* A full-block page for when the user can't get to what they asked for: page not found (404), a server
|
|
13318
15617
|
* error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
|
|
@@ -13352,6 +15651,37 @@ declare module "@stencil/core" {
|
|
|
13352
15651
|
* - Attaching files to a chat message -- use `bs-attachment`.
|
|
13353
15652
|
*/
|
|
13354
15653
|
"bs-file-upload-item": LocalJSX.IntrinsicElements["bs-file-upload-item"] & JSXBase.HTMLAttributes<HTMLBsFileUploadItemElement>;
|
|
15654
|
+
/**
|
|
15655
|
+
* A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
|
|
15656
|
+
* or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
|
|
15657
|
+
* are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
|
|
15658
|
+
* Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
|
|
15659
|
+
* `bs-button` and `bs-key` (the footer keycaps).
|
|
15660
|
+
* ## When to use
|
|
15661
|
+
* - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
|
|
15662
|
+
* ## When not to use
|
|
15663
|
+
* - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
|
|
15664
|
+
* - A list of commands or actions -- use `bs-menu`.
|
|
15665
|
+
* - The complete result set -- link to a full search results page ("See all results").
|
|
15666
|
+
* Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
|
|
15667
|
+
* `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
|
|
15668
|
+
* content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
|
|
15669
|
+
* Known limit: the items are in your light DOM and the combobox in this shadow root, so
|
|
15670
|
+
* `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
|
|
15671
|
+
* highlighted option also gets `aria-selected="true"`.
|
|
15672
|
+
* @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
|
|
15673
|
+
* @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
|
|
15674
|
+
* @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
|
|
15675
|
+
* @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
|
|
15676
|
+
* @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
15677
|
+
* @prop --bs-global-search-shadow - Panel shadow: Figma elevation level 3 (`0 4px 8px` in `--bs-elevation-high`, 10% black in light mode and 30% in dark mode).
|
|
15678
|
+
* @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
|
|
15679
|
+
* @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
|
|
15680
|
+
* @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
|
|
15681
|
+
* @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
|
|
15682
|
+
* @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
|
|
15683
|
+
*/
|
|
15684
|
+
"bs-global-search": LocalJSX.IntrinsicElements["bs-global-search"] & JSXBase.HTMLAttributes<HTMLBsGlobalSearchElement>;
|
|
13355
15685
|
/**
|
|
13356
15686
|
* A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
|
|
13357
15687
|
* `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
|
|
@@ -13446,6 +15776,113 @@ declare module "@stencil/core" {
|
|
|
13446
15776
|
* options list at all (freeform chip entry).
|
|
13447
15777
|
*/
|
|
13448
15778
|
"bs-input": LocalJSX.IntrinsicElements["bs-input"] & JSXBase.HTMLAttributes<HTMLBsInputElement>;
|
|
15779
|
+
/**
|
|
15780
|
+
* One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
|
|
15781
|
+
* Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
|
|
15782
|
+
* ## When to use
|
|
15783
|
+
* - Showing a keyboard shortcut hint next to a control or inside a search field.
|
|
15784
|
+
* - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
|
|
15785
|
+
* ## When not to use
|
|
15786
|
+
* - As a button or any clickable control -- a key is a static hint, not interactive.
|
|
15787
|
+
* @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
|
|
15788
|
+
* @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
|
|
15789
|
+
* @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
|
|
15790
|
+
* @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
|
|
15791
|
+
* @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
|
|
15792
|
+
* @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
|
|
15793
|
+
* @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
|
|
15794
|
+
* @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
|
|
15795
|
+
* @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
|
|
15796
|
+
*/
|
|
15797
|
+
"bs-key": LocalJSX.IntrinsicElements["bs-key"] & JSXBase.HTMLAttributes<HTMLBsKeyElement>;
|
|
15798
|
+
/**
|
|
15799
|
+
* A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
|
|
15800
|
+
* (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
|
|
15801
|
+
* elements -- for example when a key is an icon.
|
|
15802
|
+
* ## When to use
|
|
15803
|
+
* - A shortcut hint beside a menu item, button or inside a search field.
|
|
15804
|
+
* ## When not to use
|
|
15805
|
+
* - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
|
|
15806
|
+
* - Anything interactive -- keys are static hints.
|
|
15807
|
+
* @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
|
|
15808
|
+
* @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
|
|
15809
|
+
* @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
|
|
15810
|
+
*/
|
|
15811
|
+
"bs-key-caps": LocalJSX.IntrinsicElements["bs-key-caps"] & JSXBase.HTMLAttributes<HTMLBsKeyCapsElement>;
|
|
15812
|
+
/**
|
|
15813
|
+
* A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
|
|
15814
|
+
* optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
|
|
15815
|
+
* surface, not a modal -- place it inside `bs-dialog` or a popover.
|
|
15816
|
+
* Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
|
|
15817
|
+
* `bs-key-caps` / `bs-key`).
|
|
15818
|
+
* ## When to use
|
|
15819
|
+
* - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
|
|
15820
|
+
* ## When not to use
|
|
15821
|
+
* - A long-form help page or documentation -- link to it instead.
|
|
15822
|
+
* - A list of commands the user can run from it -- use `bs-menu`.
|
|
15823
|
+
* @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
|
|
15824
|
+
* @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
15825
|
+
* @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
|
|
15826
|
+
* @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
|
|
15827
|
+
* @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
|
|
15828
|
+
* @prop --bs-keyboard-shortcuts-shadow - Figma elevation level 4 (`0 8px 8px` in `--bs-elevation-higher`, 12% black in light mode and 25% in dark mode).
|
|
15829
|
+
* @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
|
|
15830
|
+
* @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
|
|
15831
|
+
* @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
|
|
15832
|
+
*/
|
|
15833
|
+
"bs-keyboard-shortcuts": LocalJSX.IntrinsicElements["bs-keyboard-shortcuts"] & JSXBase.HTMLAttributes<HTMLBsKeyboardShortcutsElement>;
|
|
15834
|
+
/**
|
|
15835
|
+
* A vertical list of `bs-list-item` rows, optionally single-select.
|
|
15836
|
+
* ## When to use
|
|
15837
|
+
* - Records, people, files or options shown as rows with leading media and descriptions.
|
|
15838
|
+
* - `selectable` for a single-choice list (e.g. a conversation list next to a detail pane).
|
|
15839
|
+
* ## When not to use
|
|
15840
|
+
* - A popup list of actions -- use `bs-menu`.
|
|
15841
|
+
* - Navigation between app sections -- use `bs-navigation-drawer`.
|
|
15842
|
+
* - Multi-column, sortable or paged data -- use `bs-data-table`.
|
|
15843
|
+
* Built from `bs-list-item` children (light DOM; the list never moves nodes).
|
|
15844
|
+
* @prop --bs-list-gap - Gap between rows. Defaults to `0`.
|
|
15845
|
+
* @prop --bs-list-divider-color - Divider colour when `dividers` is set. Aliased to `--bs-border-neutral-container`.
|
|
15846
|
+
*/
|
|
15847
|
+
"bs-list": LocalJSX.IntrinsicElements["bs-list"] & JSXBase.HTMLAttributes<HTMLBsListElement>;
|
|
15848
|
+
/**
|
|
15849
|
+
* A single row of a list: optional leading media (avatar, icon, image), a label, a description and
|
|
15850
|
+
* optional support text, and an optional trailing caret or custom trailing content.
|
|
15851
|
+
* ## When to use
|
|
15852
|
+
* - As a child of `bs-list`, one per record, person, file or option.
|
|
15853
|
+
* - Standalone as a plain information row (non-interactive), or with `interactive` as a button-like row.
|
|
15854
|
+
* ## When not to use
|
|
15855
|
+
* - A popup list of actions -- use `bs-menu` / `bs-menu-item`.
|
|
15856
|
+
* - App navigation with an active route -- use `bs-navigation-drawer-item`.
|
|
15857
|
+
* - Tabular data with columns, sorting or paging -- use `bs-data-table`.
|
|
15858
|
+
* Composed from: leading media (`bs-avatar`) and trailing controls (`bs-icon-button`) are supplied by the
|
|
15859
|
+
* consumer through the `leading` and `trailing` slots; the row itself only reserves layout. The default
|
|
15860
|
+
* trailing caret is inline SVG.
|
|
15861
|
+
* Roles are driven by the parent `bs-list` (via `selectionRole`). Standalone, the row has no role
|
|
15862
|
+
* (`listitem` is only valid inside a list) unless `interactive` is set, which makes it a focusable
|
|
15863
|
+
* `role="button"`.
|
|
15864
|
+
* @prop --bs-list-item-min-height - Minimum row height. Aliased to `--bs-spacing-1000`.
|
|
15865
|
+
* @prop --bs-list-item-padding-y - Aliased to `--bs-spacing-150`.
|
|
15866
|
+
* @prop --bs-list-item-padding-x - Aliased to `--bs-spacing-200`.
|
|
15867
|
+
* @prop --bs-list-item-gap - Gap between leading, content and trailing. Aliased to `--bs-spacing-200`.
|
|
15868
|
+
* @prop --bs-list-item-content-gap - Gap between text lines. Aliased to `--bs-spacing-25`.
|
|
15869
|
+
* @prop --bs-list-item-radius - Aliased to `--bs-border-radius-100`.
|
|
15870
|
+
* @prop --bs-list-item-bg - Enabled background. `transparent`.
|
|
15871
|
+
* @prop --bs-list-item-bg-hover - Aliased to `--bs-surface-hover`.
|
|
15872
|
+
* @prop --bs-list-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
15873
|
+
* @prop --bs-list-item-bg-focus - Aliased to `--bs-surface-focus`.
|
|
15874
|
+
* @prop --bs-list-item-bg-selected - Aliased to `--bs-surface-selected`.
|
|
15875
|
+
* @prop --bs-list-item-bg-selected-hover - Aliased to `--bs-surface-selected-hover`.
|
|
15876
|
+
* @prop --bs-list-item-bg-selected-pressed - Aliased to `--bs-surface-selected-pressed`.
|
|
15877
|
+
* @prop --bs-list-item-bg-selected-focus - Aliased to `--bs-surface-selected-focus`.
|
|
15878
|
+
* @prop --bs-list-item-bg-disabled - Aliased to `--bs-surface-action-disabled`.
|
|
15879
|
+
* @prop --bs-list-item-color - Text colour. Aliased to `--bs-text-default`.
|
|
15880
|
+
* @prop --bs-list-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
15881
|
+
* @prop --bs-list-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
15882
|
+
* @prop --bs-list-item-image-width - Leading image width. 72px.
|
|
15883
|
+
* @prop --bs-list-item-image-height - Leading image height. 56px.
|
|
15884
|
+
*/
|
|
15885
|
+
"bs-list-item": LocalJSX.IntrinsicElements["bs-list-item"] & JSXBase.HTMLAttributes<HTMLBsListItemElement>;
|
|
13449
15886
|
/**
|
|
13450
15887
|
* The BrandSync brand mark, as its own standalone component -- shared by `bs-navigation-header`
|
|
13451
15888
|
* and `bs-navigation-drawer`, which used to each render their own duplicated copy of this SVG
|
|
@@ -13777,6 +16214,31 @@ declare module "@stencil/core" {
|
|
|
13777
16214
|
* - An on/off setting that takes effect immediately (no explicit form submission) -- use `bs-switch`.
|
|
13778
16215
|
*/
|
|
13779
16216
|
"bs-radio": LocalJSX.IntrinsicElements["bs-radio"] & JSXBase.HTMLAttributes<HTMLBsRadioElement>;
|
|
16217
|
+
/**
|
|
16218
|
+
* One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
|
|
16219
|
+
* description line and trailing text. Static, not focusable -- focus stays in the search field and the
|
|
16220
|
+
* parent (`bs-global-search`) marks the highlighted row with `active`.
|
|
16221
|
+
* Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
|
|
16222
|
+
* the same pattern as `bs-list-item` and `bs-shortcut-row`.
|
|
16223
|
+
* ## When to use
|
|
16224
|
+
* - A suggestion, recent search or result inside `bs-global-search`.
|
|
16225
|
+
* ## When not to use
|
|
16226
|
+
* - A row in a generic list -- use `bs-list-item`.
|
|
16227
|
+
* - A command in a popup menu -- use `bs-menu-item`.
|
|
16228
|
+
* @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
|
|
16229
|
+
* @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
16230
|
+
* @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
|
|
16231
|
+
* @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
|
|
16232
|
+
* @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
|
|
16233
|
+
* @prop --bs-search-item-bg - Resting background. `transparent`.
|
|
16234
|
+
* @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
|
|
16235
|
+
* @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
16236
|
+
* @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
|
|
16237
|
+
* @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
|
|
16238
|
+
* @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
16239
|
+
* @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
|
|
16240
|
+
*/
|
|
16241
|
+
"bs-search-item": LocalJSX.IntrinsicElements["bs-search-item"] & JSXBase.HTMLAttributes<HTMLBsSearchItemElement>;
|
|
13780
16242
|
/**
|
|
13781
16243
|
* The three moments around an expiring session, as one card. Matches the Figma "Session timeout"
|
|
13782
16244
|
* component's three types:
|
|
@@ -13804,6 +16266,23 @@ declare module "@stencil/core" {
|
|
|
13804
16266
|
* (`bs-dialog`) if the warning must trap focus.
|
|
13805
16267
|
*/
|
|
13806
16268
|
"bs-session-timeout": LocalJSX.IntrinsicElements["bs-session-timeout"] & JSXBase.HTMLAttributes<HTMLBsSessionTimeoutElement>;
|
|
16269
|
+
/**
|
|
16270
|
+
* One row of a shortcut list: an action label on the left and its keyboard shortcut on the right.
|
|
16271
|
+
* Static information, not interactive. Standalone it has no role; `bs-keyboard-shortcuts` sets
|
|
16272
|
+
* `selectionRole="listitem"` on its rows (same pattern as `bs-list-item`).
|
|
16273
|
+
* Built from `bs-key-caps` (and so `bs-key`).
|
|
16274
|
+
* ## When to use
|
|
16275
|
+
* - A line in a keyboard-shortcut reference, usually inside `bs-keyboard-shortcuts`.
|
|
16276
|
+
* ## When not to use
|
|
16277
|
+
* - A clickable command or menu entry -- use `bs-menu-item` (which has its own shortcut slot).
|
|
16278
|
+
* @prop --bs-shortcut-row-height - Row height. Defaults to `36px` (Figma).
|
|
16279
|
+
* @prop --bs-shortcut-row-padding-x - Horizontal padding. Aliased to `--bs-spacing-100`.
|
|
16280
|
+
* @prop --bs-shortcut-row-gap - Gap between label and keys. Aliased to `--bs-spacing-100`.
|
|
16281
|
+
* @prop --bs-shortcut-row-radius - Corner radius. Aliased to `--bs-border-radius-75`.
|
|
16282
|
+
* @prop --bs-shortcut-row-color - Label colour. Aliased to `--bs-text-default`.
|
|
16283
|
+
* @prop --bs-shortcut-row-color-disabled - Label colour while `disabled`. Aliased to `--bs-text-on-disabled`.
|
|
16284
|
+
*/
|
|
16285
|
+
"bs-shortcut-row": LocalJSX.IntrinsicElements["bs-shortcut-row"] & JSXBase.HTMLAttributes<HTMLBsShortcutRowElement>;
|
|
13807
16286
|
/**
|
|
13808
16287
|
* A generic slide-in panel (drawer) anchored to the start or end edge, for history, filters, FAQ
|
|
13809
16288
|
* and similar secondary content. Closes via its close button or Escape and emits `bsClose`.
|
|
@@ -14124,6 +16603,28 @@ declare module "@stencil/core" {
|
|
|
14124
16603
|
* @prop --bs-tooltip-trigger-z-index - Stacking order. Aliased to `--bs-z-index-popover`.
|
|
14125
16604
|
*/
|
|
14126
16605
|
"bs-tooltip-trigger": LocalJSX.IntrinsicElements["bs-tooltip-trigger"] & JSXBase.HTMLAttributes<HTMLBsTooltipTriggerElement>;
|
|
16606
|
+
/**
|
|
16607
|
+
* A hierarchical list of `bs-tree-item` rows with single selection, expand/collapse and the
|
|
16608
|
+
* WAI-ARIA tree keyboard pattern.
|
|
16609
|
+
* The tree owns `role="tree"`, the roving `tabindex` (exactly one enabled, visible item is
|
|
16610
|
+
* tabbable: the selected one, otherwise the first), selection (kept in sync with each item's
|
|
16611
|
+
* `selected`) and keyboard navigation over the visible (rendered, non-disabled) items. Items own
|
|
16612
|
+
* their expansion state and emit `bsSelect` / `bsToggle`.
|
|
16613
|
+
* Built from: `bs-tree-item` rows.
|
|
16614
|
+
*/
|
|
16615
|
+
"bs-tree": LocalJSX.IntrinsicElements["bs-tree"] & JSXBase.HTMLAttributes<HTMLBsTreeElement>;
|
|
16616
|
+
/**
|
|
16617
|
+
* A single row of a `bs-tree`. An item that contains child `bs-tree-item` elements is a parent
|
|
16618
|
+
* (it gets an expand/collapse caret and a folder icon); an item without children is a leaf (no
|
|
16619
|
+
* caret, file icon).
|
|
16620
|
+
* The host carries `role="treeitem"` and the `aria-*` state; the owning `bs-tree` manages the
|
|
16621
|
+
* roving `tabindex`, selection and keyboard navigation. Nesting depth is computed automatically
|
|
16622
|
+
* from the number of ancestor `bs-tree-item` elements and exposed as `aria-level` -- it is not a
|
|
16623
|
+
* prop. Clicking the row selects it; clicking the caret (or pressing Right/Left in a tree) toggles
|
|
16624
|
+
* expansion -- the two are deliberately separate.
|
|
16625
|
+
* Built from: inline SVG icons only (no existing `bs-*` component covers a tree row).
|
|
16626
|
+
*/
|
|
16627
|
+
"bs-tree-item": LocalJSX.IntrinsicElements["bs-tree-item"] & JSXBase.HTMLAttributes<HTMLBsTreeItemElement>;
|
|
14127
16628
|
/**
|
|
14128
16629
|
* A product's "What's new" surface, in three forms matching the Figma component:
|
|
14129
16630
|
* - `feed` -- a docked panel: heading, "Mark all as read", filter tabs, the list of updates (each a
|