@brandsync/wc 1.16.0 → 1.18.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 +20 -0
- package/REFERENCE.md +476 -0
- package/custom-elements.json +10039 -5497
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/{p-f271e1d2.entry.js → p-0082db6a.entry.js} +1 -1
- package/dist/brandsync-wc/p-07e0b444.entry.js +1 -0
- package/dist/brandsync-wc/{p-b67a0c8f.entry.js → p-08e0e704.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d165a742.entry.js → p-0a6f22fe.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8390a155.entry.js → p-14b4f4c4.entry.js} +1 -1
- package/dist/brandsync-wc/p-15f06226.entry.js +1 -0
- package/dist/brandsync-wc/{p-a5659499.entry.js → p-186e3b78.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c85fe37b.entry.js → p-1a47774e.entry.js} +1 -1
- package/dist/brandsync-wc/p-1a62e5b7.entry.js +1 -0
- package/dist/brandsync-wc/p-1aa0f9a3.entry.js +1 -0
- package/dist/brandsync-wc/{p-e9b6b30f.entry.js → p-1d8c2ec1.entry.js} +1 -1
- package/dist/brandsync-wc/p-246036cd.entry.js +1 -0
- package/dist/brandsync-wc/{p-45986ad4.entry.js → p-31ca98c3.entry.js} +1 -1
- package/dist/brandsync-wc/p-344695a8.entry.js +1 -0
- package/dist/brandsync-wc/{p-c25553bc.entry.js → p-345b5ef3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-dcacee29.entry.js → p-34851d6d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6cb21302.entry.js → p-348fef11.entry.js} +1 -1
- package/dist/brandsync-wc/p-3e6f430a.entry.js +1 -0
- package/dist/brandsync-wc/p-43f8afda.entry.js +1 -0
- package/dist/brandsync-wc/{p-361aef36.entry.js → p-47929dca.entry.js} +1 -1
- package/dist/brandsync-wc/{p-cc4c8c1d.entry.js → p-47ce984f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-d5a6098d.entry.js → p-4d4997af.entry.js} +1 -1
- package/dist/brandsync-wc/p-4ff649f1.entry.js +1 -0
- package/dist/brandsync-wc/p-50c116eb.entry.js +1 -0
- package/dist/brandsync-wc/{p-f3eca1ce.entry.js → p-50f60ed6.entry.js} +1 -1
- package/dist/brandsync-wc/p-52d61070.entry.js +1 -0
- package/dist/brandsync-wc/{p-2e285364.entry.js → p-55d336da.entry.js} +1 -1
- package/dist/brandsync-wc/{p-38fe9d07.entry.js → p-55d97d1d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-9beeb30c.entry.js → p-56a45582.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e9afb553.entry.js → p-58179e15.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1ca8b01e.entry.js → p-5868793d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-38ac9aad.entry.js → p-5ac75555.entry.js} +1 -1
- package/dist/brandsync-wc/{p-7b3518b8.entry.js → p-5cd1abc7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-dfad8c0a.entry.js → p-5e36d46f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-54f9529f.entry.js → p-64f8eb7e.entry.js} +1 -1
- package/dist/brandsync-wc/p-6b019a88.entry.js +1 -0
- package/dist/brandsync-wc/{p-f0be9125.entry.js → p-6c987bc9.entry.js} +1 -1
- package/dist/brandsync-wc/{p-5ed1f45e.entry.js → p-757cd066.entry.js} +1 -1
- package/dist/brandsync-wc/{p-47b7fe76.entry.js → p-78114ea3.entry.js} +1 -1
- package/dist/brandsync-wc/p-7c29678d.entry.js +1 -0
- package/dist/brandsync-wc/{p-9d12b1fb.entry.js → p-7cfb1be6.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4ed00786.entry.js → p-841a80b4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a56bc608.entry.js → p-87a10ee1.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c05ee501.entry.js → p-8962abe0.entry.js} +1 -1
- package/dist/brandsync-wc/p-8e46a262.entry.js +1 -0
- package/dist/brandsync-wc/p-8f82ea7e.entry.js +1 -0
- package/dist/brandsync-wc/p-95c7f350.entry.js +1 -0
- package/dist/brandsync-wc/{p-3488c4fc.entry.js → p-9787bc0f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-0159f0da.entry.js → p-998b95d3.entry.js} +1 -1
- package/dist/brandsync-wc/p-9bd739e5.entry.js +1 -0
- package/dist/brandsync-wc/p-a424a709.entry.js +1 -0
- package/dist/brandsync-wc/{p-b6081bba.entry.js → p-a51355d9.entry.js} +1 -1
- package/dist/brandsync-wc/{p-4ca40386.entry.js → p-a8c2855c.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b663ee67.entry.js → p-a9d0a730.entry.js} +1 -1
- package/dist/brandsync-wc/{p-15f4c343.entry.js → p-ae207fd5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-8048d033.entry.js → p-b1edc9b7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-949a4270.entry.js → p-b759ae72.entry.js} +1 -1
- package/dist/brandsync-wc/{p-7dc59e0b.entry.js → p-b7bbc52f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-912629c6.entry.js → p-bd901b06.entry.js} +1 -1
- package/dist/brandsync-wc/p-be7272ce.entry.js +1 -0
- package/dist/brandsync-wc/{p-401b3d3d.entry.js → p-bfff7cbb.entry.js} +1 -1
- package/dist/brandsync-wc/{p-298158da.entry.js → p-c020ffdf.entry.js} +1 -1
- package/dist/brandsync-wc/{p-abfa43f5.entry.js → p-c02ed03d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-baa3d37a.entry.js → p-cb002195.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ffc07eb5.entry.js → p-d3fe8cea.entry.js} +1 -1
- package/dist/brandsync-wc/{p-42b79d95.entry.js → p-d42a26c1.entry.js} +1 -1
- package/dist/brandsync-wc/{p-e72dd05e.entry.js → p-d985e569.entry.js} +1 -1
- package/dist/brandsync-wc/{p-cf287ff1.entry.js → p-e2491db8.entry.js} +1 -1
- package/dist/brandsync-wc/{p-36fe783a.entry.js → p-e32a6df1.entry.js} +1 -1
- package/dist/brandsync-wc/{p-65fa1b21.entry.js → p-e3e15670.entry.js} +1 -1
- package/dist/brandsync-wc/{p-67629178.entry.js → p-e4e9c961.entry.js} +1 -1
- package/dist/brandsync-wc/{p-521d0fc2.entry.js → p-e99c0937.entry.js} +1 -1
- package/dist/brandsync-wc/{p-89ea6366.entry.js → p-e9adfa44.entry.js} +1 -1
- package/dist/brandsync-wc/{p-76748795.entry.js → p-eb3bacb9.entry.js} +1 -1
- package/dist/brandsync-wc/p-ee00d3a5.entry.js +1 -0
- package/dist/brandsync-wc/{p-ed71eb02.entry.js → p-ee63423c.entry.js} +1 -1
- package/dist/brandsync-wc/p-f4628861.entry.js +1 -0
- package/dist/brandsync-wc/{p-d81c4f58.entry.js → p-f47b8673.entry.js} +1 -1
- package/dist/brandsync-wc/{p-b9c9bcba.entry.js → p-f6caa623.entry.js} +1 -1
- package/dist/brandsync-wc/p-f86b58bf.entry.js +1 -0
- package/dist/brandsync-wc/{p-00be9a64.entry.js → p-fa91106e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-538d5b58.entry.js → p-fb84002e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a12691d8.entry.js → p-fbc219c6.entry.js} +1 -1
- package/dist/brandsync-wc/{p-f3cc961b.entry.js → p-fd78ff22.entry.js} +1 -1
- package/dist/cjs/brandsync-wc.cjs.js +1 -1
- package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
- package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +133 -0
- package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
- package/dist/cjs/bs-app-switcher.cjs.entry.js +208 -0
- package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
- package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
- package/dist/cjs/bs-badge.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-card.cjs.entry.js +1 -1
- package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +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-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/bs-chip-filter.cjs.entry.js +1 -1
- package/dist/cjs/bs-chip-informative.cjs.entry.js +1 -1
- package/dist/cjs/bs-chip-input.cjs.entry.js +1 -1
- package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
- package/dist/cjs/bs-command-palette.cjs.entry.js +374 -0
- package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +46 -0
- package/dist/cjs/bs-company-switcher.cjs.entry.js +211 -0
- package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
- package/dist/cjs/bs-composer.cjs.entry.js +1 -1
- package/dist/cjs/bs-container.cjs.entry.js +1 -1
- package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
- package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/bs-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 +8 -1
- package/dist/cjs/bs-icon-tile.cjs.entry.js +10 -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_2.cjs.entry.js +215 -0
- package/dist/cjs/bs-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-mega-menu.cjs.entry.js +70 -0
- package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-message.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
- package/dist/cjs/bs-navigation-header.cjs.entry.js +5 -2
- package/dist/cjs/bs-page-header.cjs.entry.js +66 -0
- package/dist/cjs/bs-pagination.cjs.entry.js +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-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 +2 -2
- package/dist/cjs/bs-tree.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +17 -1
- package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
- package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
- package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
- package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
- package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.cmp.test.js +52 -0
- package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.css +111 -0
- package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +184 -0
- package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.stories.js +28 -0
- package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
- package/dist/collection/components/bs-app-switcher/bs-app-switcher.cmp.test.js +179 -0
- package/dist/collection/components/bs-app-switcher/bs-app-switcher.css +173 -0
- package/dist/collection/components/bs-app-switcher/bs-app-switcher.js +902 -0
- package/dist/collection/components/bs-app-switcher/bs-app-switcher.stories.js +91 -0
- package/dist/collection/components/bs-app-tile/bs-app-tile.cmp.test.js +58 -0
- package/dist/collection/components/bs-app-tile/bs-app-tile.css +104 -0
- package/dist/collection/components/bs-app-tile/bs-app-tile.js +190 -0
- package/dist/collection/components/bs-app-tile/bs-app-tile.stories.js +43 -0
- package/dist/collection/components/bs-attachment/bs-attachment.js +1 -1
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-avatar/bs-avatar.css +3 -3
- package/dist/collection/components/bs-badge/bs-badge.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
- package/dist/collection/components/bs-button/bs-button/bs-button.js +1 -1
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +13 -0
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +27 -1
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
- package/dist/collection/components/bs-card/bs-card.js +1 -1
- package/dist/collection/components/bs-carousel/bs-carousel.js +1 -1
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
- package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
- package/dist/collection/components/bs-command-palette/bs-command-palette.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-compact-menu-block/bs-compact-menu-block.cmp.test.js +32 -0
- package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.css +43 -0
- package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +67 -0
- package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.stories.js +25 -0
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.cmp.test.js +171 -0
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.css +196 -0
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +720 -0
- package/dist/collection/components/bs-company-switcher/bs-company-switcher.stories.js +78 -0
- package/dist/collection/components/bs-composer/bs-composer.js +1 -1
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
- package/dist/collection/components/bs-container/bs-container.js +1 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
- package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
- package/dist/collection/components/bs-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 +11 -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.js +1 -1
- package/dist/collection/components/bs-list-item/bs-list-item.js +1 -1
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.cmp.test.js +131 -0
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.css +139 -0
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +358 -0
- package/dist/collection/components/bs-mega-menu/bs-mega-menu.stories.js +188 -0
- package/dist/collection/components/bs-menu/bs-menu.js +1 -1
- package/dist/collection/components/bs-menu-block/bs-menu-block.cmp.test.js +44 -0
- package/dist/collection/components/bs-menu-block/bs-menu-block.css +106 -0
- package/dist/collection/components/bs-menu-block/bs-menu-block.js +147 -0
- package/dist/collection/components/bs-menu-block/bs-menu-block.stories.js +36 -0
- package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
- package/dist/collection/components/bs-message/bs-message.js +1 -1
- package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
- package/dist/collection/components/bs-page-header/bs-page-header.cmp.test.js +206 -0
- package/dist/collection/components/bs-page-header/bs-page-header.css +252 -0
- package/dist/collection/components/bs-page-header/bs-page-header.js +351 -0
- package/dist/collection/components/bs-page-header/bs-page-header.stories.js +177 -0
- package/dist/collection/components/bs-pagination/bs-pagination.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.js +1 -1
- package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
- package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +79 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +46 -0
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +10 -1
- package/dist/components/bs-accordion-group.js +1 -1
- package/dist/components/bs-ai-disclaimer.js +1 -1
- package/dist/components/bs-ai-greeting.js +1 -1
- package/dist/components/bs-ai-thinking.js +1 -1
- package/dist/components/bs-app-recent-item.d.ts +11 -0
- package/dist/components/bs-app-recent-item.js +1 -0
- package/dist/components/bs-app-shell.js +1 -1
- package/dist/components/bs-app-switcher.d.ts +11 -0
- package/dist/components/bs-app-switcher.js +1 -0
- package/dist/components/bs-app-tile.d.ts +11 -0
- package/dist/components/bs-app-tile.js +1 -0
- package/dist/components/bs-attachment-list.js +1 -1
- package/dist/components/bs-attachment.js +1 -1
- package/dist/components/bs-avatar.js +1 -1
- package/dist/components/bs-badge.js +1 -1
- package/dist/components/bs-breadcrumb-overflow.js +1 -1
- package/dist/components/bs-breadcrumb.js +1 -1
- package/dist/components/bs-breadcrumbs.js +1 -1
- package/dist/components/bs-button-skeleton.js +1 -1
- package/dist/components/bs-button.js +1 -1
- package/dist/components/bs-card.js +1 -1
- package/dist/components/bs-carousel.js +1 -1
- package/dist/components/bs-chatbot-feedback.js +1 -1
- package/dist/components/bs-chatbot-header.js +1 -1
- package/dist/components/bs-chatbot-response-action.js +1 -1
- package/dist/components/bs-chatbot-sources-drawer.js +1 -1
- package/dist/components/bs-chatbot-suggestion-button.js +1 -1
- package/dist/components/bs-checkbox-skeleton.js +1 -1
- package/dist/components/bs-checkbox.js +1 -1
- package/dist/components/bs-chip-filter.js +1 -1
- package/dist/components/bs-chip-informative.js +1 -1
- package/dist/components/bs-chip-input.js +1 -1
- package/dist/components/bs-citation-preview.js +1 -1
- package/dist/components/bs-command-palette.d.ts +11 -0
- package/dist/components/bs-command-palette.js +1 -0
- package/dist/components/bs-compact-menu-block.d.ts +11 -0
- package/dist/components/bs-compact-menu-block.js +1 -0
- package/dist/components/bs-company-switcher.d.ts +11 -0
- package/dist/components/bs-company-switcher.js +1 -0
- package/dist/components/bs-composer-status-banner.js +1 -1
- package/dist/components/bs-composer.js +1 -1
- package/dist/components/bs-container.js +1 -1
- package/dist/components/bs-cookie-consent.js +1 -1
- package/dist/components/bs-data-table.js +1 -1
- package/dist/components/bs-datepicker.js +1 -1
- package/dist/components/bs-dialog.js +1 -1
- package/dist/components/bs-divider.js +1 -1
- package/dist/components/bs-empty-state.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.js +1 -1
- package/dist/components/bs-list.js +1 -1
- package/dist/components/bs-mega-menu.d.ts +11 -0
- package/dist/components/bs-mega-menu.js +1 -0
- package/dist/components/bs-menu-block.d.ts +11 -0
- package/dist/components/bs-menu-block.js +1 -0
- package/dist/components/bs-menu-item.js +1 -1
- package/dist/components/bs-menu.js +1 -1
- package/dist/components/bs-message-list.js +1 -1
- package/dist/components/bs-message.js +1 -1
- package/dist/components/bs-navigation-drawer-item.js +1 -1
- package/dist/components/bs-navigation-drawer.js +1 -1
- package/dist/components/bs-navigation-header.js +1 -1
- package/dist/components/bs-onboarding-checklist.js +1 -1
- package/dist/components/bs-page-header.d.ts +11 -0
- package/dist/components/bs-page-header.js +1 -0
- package/dist/components/bs-pagination.js +1 -1
- package/dist/components/bs-popover.js +1 -1
- package/dist/components/bs-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.js +1 -1
- package/dist/components/bs-tree.js +1 -1
- package/dist/components/bs-whats-new-entry.js +1 -1
- package/dist/components/bs-whats-new.js +1 -1
- package/dist/components/p-B6KgEbdM.js +1 -0
- package/dist/components/{p-CQjSDdH7.js → p-B8kw9EOx.js} +1 -1
- package/dist/components/p-BLPNwyiT.js +1 -0
- package/dist/components/{p-J9cxcDhY.js → p-BP1l6Q3Z.js} +1 -1
- package/dist/components/p-BS7ySxJZ.js +1 -0
- package/dist/components/{p-DYuzgzxI.js → p-BmdSbmFg.js} +1 -1
- package/dist/components/{p-CRtvJlh8.js → p-C1owRphU.js} +1 -1
- package/dist/components/{p-BsbtyRJV.js → p-C2rRVRIu.js} +1 -1
- package/dist/components/p-C3erqJFy.js +1 -0
- package/dist/components/p-Cd7p-48Q.js +1 -0
- package/dist/components/{p-CK7fiES5.js → p-CmlzHRkn.js} +1 -1
- package/dist/components/p-Co36mHEU.js +1 -0
- package/dist/components/p-D4_8H0vn.js +1 -0
- package/dist/components/{p-D0KM1R2i.js → p-D9dDFyPB.js} +1 -1
- package/dist/components/{p-DvNED6Lb.js → p-DBvhi__l.js} +1 -1
- package/dist/components/{p-kDJsWjTN.js → p-DFd4pP4i.js} +1 -1
- package/dist/components/{p-BdkE4auv.js → p-DVjuZdjF.js} +1 -1
- package/dist/components/{p-Bb1-2M8K.js → p-DW0Dw2LS.js} +1 -1
- package/dist/components/p-DcdFuKG9.js +1 -0
- package/dist/components/p-Deq0LzGO.js +1 -0
- package/dist/components/{p-BaJEv6rL.js → p-DgY5pxXd.js} +1 -1
- package/dist/components/{p-ByLUtXxO.js → p-DhhXayh6.js} +1 -1
- package/dist/components/p-DiORQQg3.js +1 -0
- package/dist/components/p-Dl0FedE5.js +1 -0
- package/dist/components/p-DsBToIYE.js +1 -0
- package/dist/components/{p-DFKc3lLA.js → p-DtbeCgXo.js} +1 -1
- package/dist/components/{p-C7RZ6qZC.js → p-DzvXbBvk.js} +1 -1
- package/dist/components/p-I1_Q3HQu.js +1 -0
- package/dist/components/{p-C93ymWm7.js → p-TXAiCnSZ.js} +1 -1
- package/dist/components/p-c-g3-oVu.js +1 -0
- package/dist/components/p-erdtytMq.js +1 -0
- package/dist/components/{p-B128GX8H.js → p-qXdgl7VG.js} +1 -1
- package/dist/esm/brandsync-wc.js +1 -1
- package/dist/esm/bs-accordion-group.entry.js +1 -1
- package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
- package/dist/esm/bs-ai-greeting.entry.js +1 -1
- package/dist/esm/bs-ai-thinking.entry.js +1 -1
- package/dist/esm/bs-app-recent-item_3.entry.js +129 -0
- package/dist/esm/bs-app-shell.entry.js +1 -1
- package/dist/esm/bs-app-switcher.entry.js +206 -0
- package/dist/esm/bs-attachment-list.entry.js +1 -1
- package/dist/esm/bs-attachment.entry.js +1 -1
- package/dist/esm/bs-avatar.entry.js +1 -1
- package/dist/esm/bs-badge.entry.js +1 -1
- package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
- package/dist/esm/bs-breadcrumb.entry.js +1 -1
- package/dist/esm/bs-breadcrumbs.entry.js +1 -1
- package/dist/esm/bs-button-skeleton.entry.js +1 -1
- package/dist/esm/bs-button.entry.js +1 -1
- package/dist/esm/bs-card.entry.js +1 -1
- package/dist/esm/bs-carousel.entry.js +1 -1
- package/dist/esm/bs-chatbot-feedback.entry.js +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-checkbox.entry.js +1 -1
- package/dist/esm/bs-chip-filter.entry.js +1 -1
- package/dist/esm/bs-chip-informative.entry.js +1 -1
- package/dist/esm/bs-chip-input.entry.js +1 -1
- package/dist/esm/bs-citation-preview.entry.js +1 -1
- package/dist/esm/bs-command-palette.entry.js +372 -0
- package/dist/esm/bs-compact-menu-block_2.entry.js +43 -0
- package/dist/esm/bs-company-switcher.entry.js +209 -0
- package/dist/esm/bs-composer-status-banner.entry.js +1 -1
- package/dist/esm/bs-composer.entry.js +1 -1
- package/dist/esm/bs-container.entry.js +1 -1
- package/dist/esm/bs-data-table.entry.js +2 -2
- package/dist/esm/bs-datepicker.entry.js +1 -1
- package/dist/esm/bs-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 +8 -1
- package/dist/esm/bs-icon-tile.entry.js +11 -3
- 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_2.entry.js +212 -0
- package/dist/esm/bs-list.entry.js +1 -1
- package/dist/esm/bs-mega-menu.entry.js +68 -0
- package/dist/esm/bs-message-list.entry.js +1 -1
- package/dist/esm/bs-message.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer.entry.js +2 -2
- package/dist/esm/bs-navigation-header.entry.js +5 -2
- package/dist/esm/bs-page-header.entry.js +64 -0
- package/dist/esm/bs-pagination.entry.js +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-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 +2 -2
- package/dist/esm/bs-tree.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/bs-app-recent-item/bs-app-recent-item.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-app-recent-item/bs-app-recent-item.d.ts +51 -0
- package/dist/types/components/bs-app-recent-item/bs-app-recent-item.stories.d.ts +15 -0
- package/dist/types/components/bs-app-switcher/bs-app-switcher.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-app-switcher/bs-app-switcher.d.ts +159 -0
- package/dist/types/components/bs-app-switcher/bs-app-switcher.stories.d.ts +34 -0
- package/dist/types/components/bs-app-tile/bs-app-tile.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-app-tile/bs-app-tile.d.ts +51 -0
- package/dist/types/components/bs-app-tile/bs-app-tile.stories.d.ts +18 -0
- package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +7 -0
- 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-compact-menu-block/bs-compact-menu-block.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.d.ts +28 -0
- package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.stories.d.ts +10 -0
- package/dist/types/components/bs-company-switcher/bs-company-switcher.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-company-switcher/bs-company-switcher.d.ts +130 -0
- package/dist/types/components/bs-company-switcher/bs-company-switcher.stories.d.ts +25 -0
- package/dist/types/components/bs-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-icon-tile/bs-icon-tile.d.ts +5 -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-mega-menu/bs-mega-menu.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-mega-menu/bs-mega-menu.d.ts +110 -0
- package/dist/types/components/bs-mega-menu/bs-mega-menu.stories.d.ts +55 -0
- package/dist/types/components/bs-menu-block/bs-menu-block.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-menu-block/bs-menu-block.d.ts +47 -0
- package/dist/types/components/bs-menu-block/bs-menu-block.stories.d.ts +15 -0
- package/dist/types/components/bs-page-header/bs-page-header.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-page-header/bs-page-header.d.ts +100 -0
- package/dist/types/components/bs-page-header/bs-page-header.stories.d.ts +41 -0
- package/dist/types/components/bs-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/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.d.ts +7 -1
- package/dist/types/components.d.ts +3920 -71
- package/dist/types/svg-inline.d.ts +5 -0
- package/package.json +2 -1
- package/reference.d.ts +50 -2
- package/reference.json +1701 -31
- package/dist/brandsync-wc/p-0228a584.entry.js +0 -1
- package/dist/brandsync-wc/p-0f97fe35.entry.js +0 -1
- package/dist/brandsync-wc/p-23379d7c.entry.js +0 -1
- package/dist/brandsync-wc/p-34b0c048.entry.js +0 -1
- package/dist/brandsync-wc/p-3789c7a5.entry.js +0 -1
- package/dist/brandsync-wc/p-5a45ef51.entry.js +0 -1
- package/dist/brandsync-wc/p-769c5b4a.entry.js +0 -1
- package/dist/brandsync-wc/p-86774165.entry.js +0 -1
- package/dist/brandsync-wc/p-e5f50e93.entry.js +0 -1
- package/dist/brandsync-wc/p-f4d1d56e.entry.js +0 -1
- package/dist/cjs/bs-list-item.cjs.entry.js +0 -66
- package/dist/cjs/bs-popover.cjs.entry.js +0 -153
- package/dist/cjs/bs-skeleton.cjs.entry.js +0 -51
- package/dist/components/p-B80vOwH6.js +0 -1
- package/dist/components/p-ChcaPfNL.js +0 -1
- package/dist/components/p-GTDI4Ibw.js +0 -1
- package/dist/esm/bs-list-item.entry.js +0 -64
- package/dist/esm/bs-popover.entry.js +0 -151
- package/dist/esm/bs-skeleton.entry.js +0 -49
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
8
|
import { BsAccordionSize } from "./components/bs-accordion/bs-accordion";
|
|
9
|
+
import { BsApp, BsAppRecent, BsAppSwitcherStatus } from "./components/bs-app-switcher/bs-app-switcher";
|
|
10
|
+
import { BsAppTileSize } from "./components/bs-app-tile/bs-app-tile";
|
|
9
11
|
import { BsAttachmentType } from "./components/bs-attachment/bs-attachment";
|
|
10
12
|
import { BsAvatarSize, BsAvatarType } from "./components/bs-avatar/bs-avatar";
|
|
11
13
|
import { BsBadgeVariant } from "./components/bs-badge/bs-badge";
|
|
@@ -21,6 +23,8 @@ import { BsCheckboxSize as BsCheckboxSize1 } from "./components/bs-checkbox/bs-c
|
|
|
21
23
|
import { BsChipFilterSize } from "./components/bs-chip/bs-chip-filter/bs-chip-filter";
|
|
22
24
|
import { BsChipInformativeColor, BsChipInformativeSize } from "./components/bs-chip/bs-chip-informative/bs-chip-informative";
|
|
23
25
|
import { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-input";
|
|
26
|
+
import { BsCommandPaletteInputDetail, BsCommandPaletteSelectDetail, BsCommandPaletteStatus } from "./components/bs-command-palette/bs-command-palette";
|
|
27
|
+
import { BsCompany } from "./components/bs-company-switcher/bs-company-switcher";
|
|
24
28
|
import { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
|
|
25
29
|
import { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
|
|
26
30
|
import { BsContainerSize } from "./components/bs-container/bs-container";
|
|
@@ -29,13 +33,17 @@ import { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs
|
|
|
29
33
|
import { BsDatepickerChange } from "./components/bs-datepicker/bs-datepicker";
|
|
30
34
|
import { BsDialogSize } from "./components/bs-dialog/bs-dialog";
|
|
31
35
|
import { BsDividerInset, BsDividerOrientation, BsDividerVariant } from "./components/bs-divider/bs-divider";
|
|
36
|
+
import { BsIconTileIntent } from "./components/bs-icon-tile/bs-icon-tile";
|
|
32
37
|
import { BsErrorPageType } from "./components/bs-error-page/bs-error-page";
|
|
33
38
|
import { BsFileUploadDirection } from "./components/bs-file-upload/bs-file-upload";
|
|
34
39
|
import { BsFileUploadItemState } from "./components/bs-file-upload-item/bs-file-upload-item";
|
|
40
|
+
import { BsGlobalSearchSelectDetail, BsGlobalSearchStatus } from "./components/bs-global-search/bs-global-search";
|
|
35
41
|
import { BsGridAlign } from "./components/bs-grid/bs-grid";
|
|
36
42
|
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";
|
|
43
|
+
import { BsIconTileIntent as BsIconTileIntent1, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
|
|
44
|
+
import { BsShortcutGroup } from "./components/bs-keyboard-shortcuts/bs-keyboard-shortcuts";
|
|
38
45
|
import { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
|
|
46
|
+
import { BsMegaMenuColumn, BsMegaMenuFeatured, BsMegaMenuItem, BsMegaMenuType } from "./components/bs-mega-menu/bs-mega-menu";
|
|
39
47
|
import { BsMessageRole, BsMessageStatus } from "./components/bs-message/bs-message";
|
|
40
48
|
import { BsNavigationHeaderAlignment } from "./components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header";
|
|
41
49
|
import { BsOnboardingChecklistType, BsOnboardingLauncherLayout, BsOnboardingStep } from "./components/bs-onboarding-checklist/bs-onboarding-checklist";
|
|
@@ -64,6 +72,8 @@ import { BsWhatsNewFilter, BsWhatsNewItem, BsWhatsNewType } from "./components/b
|
|
|
64
72
|
import { BsWhatsNewEntryTagColor } from "./components/bs-whats-new-entry/bs-whats-new-entry";
|
|
65
73
|
import { BsWhatsNewEntryTagColor as BsWhatsNewEntryTagColor1 } from "./components/bs-whats-new-entry/bs-whats-new-entry";
|
|
66
74
|
export { BsAccordionSize } from "./components/bs-accordion/bs-accordion";
|
|
75
|
+
export { BsApp, BsAppRecent, BsAppSwitcherStatus } from "./components/bs-app-switcher/bs-app-switcher";
|
|
76
|
+
export { BsAppTileSize } from "./components/bs-app-tile/bs-app-tile";
|
|
67
77
|
export { BsAttachmentType } from "./components/bs-attachment/bs-attachment";
|
|
68
78
|
export { BsAvatarSize, BsAvatarType } from "./components/bs-avatar/bs-avatar";
|
|
69
79
|
export { BsBadgeVariant } from "./components/bs-badge/bs-badge";
|
|
@@ -79,6 +89,8 @@ export { BsCheckboxSize as BsCheckboxSize1 } from "./components/bs-checkbox/bs-c
|
|
|
79
89
|
export { BsChipFilterSize } from "./components/bs-chip/bs-chip-filter/bs-chip-filter";
|
|
80
90
|
export { BsChipInformativeColor, BsChipInformativeSize } from "./components/bs-chip/bs-chip-informative/bs-chip-informative";
|
|
81
91
|
export { BsChipInputSize } from "./components/bs-chip/bs-chip-input/bs-chip-input";
|
|
92
|
+
export { BsCommandPaletteInputDetail, BsCommandPaletteSelectDetail, BsCommandPaletteStatus } from "./components/bs-command-palette/bs-command-palette";
|
|
93
|
+
export { BsCompany } from "./components/bs-company-switcher/bs-company-switcher";
|
|
82
94
|
export { BsComposerState, BsComposerVariant } from "./components/bs-composer/bs-composer";
|
|
83
95
|
export { BsComposerStatusBannerType } from "./components/bs-composer-status-banner/bs-composer-status-banner";
|
|
84
96
|
export { BsContainerSize } from "./components/bs-container/bs-container";
|
|
@@ -87,13 +99,17 @@ export { BsDataTableColumn, BsDataTableRow } from "./components/bs-data-table/bs
|
|
|
87
99
|
export { BsDatepickerChange } from "./components/bs-datepicker/bs-datepicker";
|
|
88
100
|
export { BsDialogSize } from "./components/bs-dialog/bs-dialog";
|
|
89
101
|
export { BsDividerInset, BsDividerOrientation, BsDividerVariant } from "./components/bs-divider/bs-divider";
|
|
102
|
+
export { BsIconTileIntent } from "./components/bs-icon-tile/bs-icon-tile";
|
|
90
103
|
export { BsErrorPageType } from "./components/bs-error-page/bs-error-page";
|
|
91
104
|
export { BsFileUploadDirection } from "./components/bs-file-upload/bs-file-upload";
|
|
92
105
|
export { BsFileUploadItemState } from "./components/bs-file-upload-item/bs-file-upload-item";
|
|
106
|
+
export { BsGlobalSearchSelectDetail, BsGlobalSearchStatus } from "./components/bs-global-search/bs-global-search";
|
|
93
107
|
export { BsGridAlign } from "./components/bs-grid/bs-grid";
|
|
94
108
|
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";
|
|
109
|
+
export { BsIconTileIntent as BsIconTileIntent1, BsIconTileSize } from "./components/bs-icon-tile/bs-icon-tile";
|
|
110
|
+
export { BsShortcutGroup } from "./components/bs-keyboard-shortcuts/bs-keyboard-shortcuts";
|
|
96
111
|
export { BsLogoBackground, BsLogoVariant } from "./components/bs-logo/bs-logo";
|
|
112
|
+
export { BsMegaMenuColumn, BsMegaMenuFeatured, BsMegaMenuItem, BsMegaMenuType } from "./components/bs-mega-menu/bs-mega-menu";
|
|
97
113
|
export { BsMessageRole, BsMessageStatus } from "./components/bs-message/bs-message";
|
|
98
114
|
export { BsNavigationHeaderAlignment } from "./components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header";
|
|
99
115
|
export { BsOnboardingChecklistType, BsOnboardingLauncherLayout, BsOnboardingStep } from "./components/bs-onboarding-checklist/bs-onboarding-checklist";
|
|
@@ -261,6 +277,57 @@ export namespace Components {
|
|
|
261
277
|
*/
|
|
262
278
|
"label": string;
|
|
263
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* A full-width row for one app: a small icon tile, the app name and a description line (for example
|
|
282
|
+
* "Opened 10 min ago · Nordlys Handel AS"). Matches the Figma "Recent item" component (Default, Current,
|
|
283
|
+
* Hover, Pressed and Focus).
|
|
284
|
+
* The row is always a native button and only emits events; it never navigates. `current` marks the app you are in
|
|
285
|
+
* (`aria-current="true"`); `disabled` dims it, sets `aria-disabled` and removes it from the tab order.
|
|
286
|
+
* Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the theme's
|
|
287
|
+
* icon colour through a CSS mask) or any element in the default slot.
|
|
288
|
+
* ## When to use
|
|
289
|
+
* - A recently opened app, or a search result with a description, inside `bs-app-switcher`.
|
|
290
|
+
* ## When not to use
|
|
291
|
+
* - An app in a launcher grid -- use `bs-app-tile`.
|
|
292
|
+
* - A generic list row -- use `bs-list-item`.
|
|
293
|
+
* @prop --bs-app-recent-item-padding-x - Aliased to `--bs-spacing-100`.
|
|
294
|
+
* @prop --bs-app-recent-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
295
|
+
* @prop --bs-app-recent-item-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
|
|
296
|
+
* @prop --bs-app-recent-item-radius - Aliased to `--bs-border-radius-100`.
|
|
297
|
+
* @prop --bs-app-recent-item-bg - Resting background. `transparent`.
|
|
298
|
+
* @prop --bs-app-recent-item-bg-hover - Aliased to `--bs-surface-hover`.
|
|
299
|
+
* @prop --bs-app-recent-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
300
|
+
* @prop --bs-app-recent-item-bg-current - Aliased to `--bs-surface-selected`.
|
|
301
|
+
* @prop --bs-app-recent-item-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
|
|
302
|
+
* @prop --bs-app-recent-item-color - Name colour. Aliased to `--bs-text-default`.
|
|
303
|
+
* @prop --bs-app-recent-item-color-muted - Description colour. Aliased to `--bs-text-secondary`.
|
|
304
|
+
* @prop --bs-app-recent-item-color-disabled - Name, description and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
|
|
305
|
+
* @prop --bs-app-recent-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
306
|
+
*/
|
|
307
|
+
interface BsAppRecentItem {
|
|
308
|
+
/**
|
|
309
|
+
* The app you are in right now: selected background and `aria-current="true"`.
|
|
310
|
+
* @default false
|
|
311
|
+
*/
|
|
312
|
+
"current": boolean;
|
|
313
|
+
/**
|
|
314
|
+
* Second line under the name.
|
|
315
|
+
*/
|
|
316
|
+
"description"?: string;
|
|
317
|
+
/**
|
|
318
|
+
* Dims the row, sets `aria-disabled` and takes it out of the tab order.
|
|
319
|
+
* @default false
|
|
320
|
+
*/
|
|
321
|
+
"disabled": boolean;
|
|
322
|
+
/**
|
|
323
|
+
* URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
|
|
324
|
+
*/
|
|
325
|
+
"icon"?: string;
|
|
326
|
+
/**
|
|
327
|
+
* The app name, and the accessible name of the row together with the description.
|
|
328
|
+
*/
|
|
329
|
+
"name": string;
|
|
330
|
+
}
|
|
264
331
|
/**
|
|
265
332
|
* The page frame: a header across the top, and below it a navigation | main | aside row, laid out
|
|
266
333
|
* with CSS grid. The main column scrolls independently of the header and the side columns.
|
|
@@ -289,6 +356,217 @@ export namespace Components {
|
|
|
289
356
|
*/
|
|
290
357
|
"fullHeight": boolean;
|
|
291
358
|
}
|
|
359
|
+
/**
|
|
360
|
+
* The panel of an app launcher ("EG apps"): a header with a "Manage" action, a search field, your apps as a
|
|
361
|
+
* grid (or Recent plus All apps), search results, and a footer link to browse all products. It also has
|
|
362
|
+
* no-results, loading, error and empty states. Matches the Figma "App switcher" (states Default, With recent,
|
|
363
|
+
* Searching, No results, Loading, Error and Empty).
|
|
364
|
+
* This is the panel only. To open it from a button, wrap it in `bs-popover`.
|
|
365
|
+
* Built from `bs-card` (panel surface), `bs-input` (search), `bs-app-tile` and `bs-app-recent-item` (apps),
|
|
366
|
+
* `bs-empty-state` (no results, error, empty), `bs-skeleton` (loading), `bs-button` (Clear search, Try
|
|
367
|
+
* again, Request access) and `bs-divider`. "Manage" and "Browse all" are native links (or buttons when
|
|
368
|
+
* there is no URL): `bs-button` has no link mode and the library has no link component.
|
|
369
|
+
* ## When to use
|
|
370
|
+
* - Letting a user jump between the products they have access to, from an app header.
|
|
371
|
+
* ## When not to use
|
|
372
|
+
* - Navigation inside one app -- use `bs-menu` or the app shell navigation.
|
|
373
|
+
* - Switching company -- use `bs-company-switcher`.
|
|
374
|
+
* `apps` and `recent` are arrays and must be set as JS properties. Each app's `icon` is the URL of a
|
|
375
|
+
* monochrome SVG. You own the data: listen to `bsAppSelect` (cancelable: `preventDefault()` cancels the
|
|
376
|
+
* originating click), and drive `status` and `query` yourself. An empty `apps` list while `status` is
|
|
377
|
+
* `ready` shows the empty state.
|
|
378
|
+
* @prop --bs-app-switcher-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
|
|
379
|
+
* @prop --bs-app-switcher-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
|
|
380
|
+
* @prop --bs-app-switcher-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
381
|
+
* @prop --bs-app-switcher-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
382
|
+
* @prop --bs-app-switcher-shadow - Panel shadow (elevation level 4). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-higher`.
|
|
383
|
+
* @prop --bs-app-switcher-padding - Side padding of the content. Aliased to `--bs-spacing-150`.
|
|
384
|
+
* @prop --bs-app-switcher-text-color - Heading and links in the header. Aliased to `--bs-text-default`.
|
|
385
|
+
* @prop --bs-app-switcher-header-color - Group headers. Aliased to `--bs-text-secondary`.
|
|
386
|
+
* @prop --bs-app-switcher-link-color - Browse link. Aliased to `--bs-text-action`.
|
|
387
|
+
* @prop --bs-app-switcher-focus-ring - Link focus ring. Aliased to `--bs-border-neutral-focus`.
|
|
388
|
+
*/
|
|
389
|
+
interface BsAppSwitcher {
|
|
390
|
+
/**
|
|
391
|
+
* Header of the all apps group.
|
|
392
|
+
* @default 'All apps'
|
|
393
|
+
*/
|
|
394
|
+
"allAppsLabel": string;
|
|
395
|
+
/**
|
|
396
|
+
* The apps the user can open. JS property only (an array cannot be an attribute).
|
|
397
|
+
* @default []
|
|
398
|
+
*/
|
|
399
|
+
"apps": BsApp[];
|
|
400
|
+
/**
|
|
401
|
+
* URL of the Browse all link. Without it it is a button that only fires `bsBrowseAll`.
|
|
402
|
+
*/
|
|
403
|
+
"browseHref"?: string;
|
|
404
|
+
/**
|
|
405
|
+
* Text of the footer link.
|
|
406
|
+
* @default 'Browse all EG products'
|
|
407
|
+
*/
|
|
408
|
+
"browseLabel": string;
|
|
409
|
+
/**
|
|
410
|
+
* Text of the Clear search button.
|
|
411
|
+
* @default 'Clear search'
|
|
412
|
+
*/
|
|
413
|
+
"clearLabel": string;
|
|
414
|
+
/**
|
|
415
|
+
* `id` of the app you are in: selected background and `aria-current`.
|
|
416
|
+
*/
|
|
417
|
+
"currentId"?: string;
|
|
418
|
+
/**
|
|
419
|
+
* Empty description.
|
|
420
|
+
* @default 'Ask your administrator for access, or browse all EG products to see what’s available.'
|
|
421
|
+
*/
|
|
422
|
+
"emptyDescription": string;
|
|
423
|
+
/**
|
|
424
|
+
* Empty heading (no apps assigned).
|
|
425
|
+
* @default 'No apps assigned yet'
|
|
426
|
+
*/
|
|
427
|
+
"emptyHeading": string;
|
|
428
|
+
/**
|
|
429
|
+
* Error description.
|
|
430
|
+
* @default 'Check your connection and try again. Your work in the current app is not affected.'
|
|
431
|
+
*/
|
|
432
|
+
"errorDescription": string;
|
|
433
|
+
/**
|
|
434
|
+
* Error heading.
|
|
435
|
+
* @default 'Couldn’t load your apps'
|
|
436
|
+
*/
|
|
437
|
+
"errorHeading": string;
|
|
438
|
+
/**
|
|
439
|
+
* Panel heading.
|
|
440
|
+
* @default 'EG apps'
|
|
441
|
+
*/
|
|
442
|
+
"heading": string;
|
|
443
|
+
/**
|
|
444
|
+
* Announced while loading.
|
|
445
|
+
* @default 'Loading apps…'
|
|
446
|
+
*/
|
|
447
|
+
"loadingLabel": string;
|
|
448
|
+
/**
|
|
449
|
+
* URL of the Manage link. Without it Manage is a button that only fires `bsManage`.
|
|
450
|
+
*/
|
|
451
|
+
"manageHref"?: string;
|
|
452
|
+
/**
|
|
453
|
+
* Text of the Manage link.
|
|
454
|
+
* @default 'Manage'
|
|
455
|
+
*/
|
|
456
|
+
"manageLabel": string;
|
|
457
|
+
/**
|
|
458
|
+
* No-results description.
|
|
459
|
+
* @default 'Check the spelling, or browse all EG products to find more apps.'
|
|
460
|
+
*/
|
|
461
|
+
"noResultsDescription": string;
|
|
462
|
+
/**
|
|
463
|
+
* No-results heading. `{query}` is replaced by the query.
|
|
464
|
+
* @default 'No apps match “{query}”'
|
|
465
|
+
*/
|
|
466
|
+
"noResultsHeading": string;
|
|
467
|
+
/**
|
|
468
|
+
* The search text. Mutable: typing, Escape and "Clear search" update it.
|
|
469
|
+
* @default ''
|
|
470
|
+
*/
|
|
471
|
+
"query": string;
|
|
472
|
+
/**
|
|
473
|
+
* Recently opened apps, most recent first. When there are any, the panel shows Recent and All apps. JS property only.
|
|
474
|
+
* @default []
|
|
475
|
+
*/
|
|
476
|
+
"recent": BsAppRecent[];
|
|
477
|
+
/**
|
|
478
|
+
* Header of the recent group.
|
|
479
|
+
* @default 'Recent'
|
|
480
|
+
*/
|
|
481
|
+
"recentLabel": string;
|
|
482
|
+
/**
|
|
483
|
+
* Text of the Request access button.
|
|
484
|
+
* @default 'Request access'
|
|
485
|
+
*/
|
|
486
|
+
"requestAccessLabel": string;
|
|
487
|
+
/**
|
|
488
|
+
* Search header with one result ("1 result").
|
|
489
|
+
* @default 'result'
|
|
490
|
+
*/
|
|
491
|
+
"resultLabel": string;
|
|
492
|
+
/**
|
|
493
|
+
* Search header with several results ("2 results").
|
|
494
|
+
* @default 'results'
|
|
495
|
+
*/
|
|
496
|
+
"resultsLabel": string;
|
|
497
|
+
/**
|
|
498
|
+
* Text of the Try again button.
|
|
499
|
+
* @default 'Try again'
|
|
500
|
+
*/
|
|
501
|
+
"retryLabel": string;
|
|
502
|
+
/**
|
|
503
|
+
* Placeholder (and accessible name) of the search field.
|
|
504
|
+
* @default 'Find an app'
|
|
505
|
+
*/
|
|
506
|
+
"searchPlaceholder": string;
|
|
507
|
+
/**
|
|
508
|
+
* `loading` shows skeleton tiles, `error` the failure state.
|
|
509
|
+
* @default 'ready'
|
|
510
|
+
*/
|
|
511
|
+
"status": BsAppSwitcherStatus;
|
|
512
|
+
/**
|
|
513
|
+
* Header of the default group when there are no recent apps.
|
|
514
|
+
* @default 'Your apps'
|
|
515
|
+
*/
|
|
516
|
+
"yourAppsLabel": string;
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* One app in an app launcher: an icon tile above a short label. Matches the Figma "App tile" component
|
|
520
|
+
* (Size Grid and Compact, each Default, Hover, Pressed, Focus, Current and Disabled).
|
|
521
|
+
* The tile is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
522
|
+
* native element; `current` marks the app you are in (`aria-current="true"`); `disabled` dims it, sets
|
|
523
|
+
* `aria-disabled` and removes it from the tab order.
|
|
524
|
+
* Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the
|
|
525
|
+
* theme's icon colour through a CSS mask, so it follows light and dark mode), or any element in the default
|
|
526
|
+
* slot (an `<svg>` drawn with `currentColor`).
|
|
527
|
+
* ## When to use
|
|
528
|
+
* - An app in a launcher grid, usually inside `bs-app-switcher`.
|
|
529
|
+
* ## When not to use
|
|
530
|
+
* - A row with a description or "recently opened" line -- use `bs-app-recent-item`.
|
|
531
|
+
* - A command in a menu -- use `bs-menu-item`.
|
|
532
|
+
* @prop --bs-app-tile-icon-size - Size of the icon square. `44px` in `grid` (Figma) and `--bs-sizing-400` in `compact`.
|
|
533
|
+
* @prop --bs-app-tile-padding - Padding inside the tile. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-100` (`compact`).
|
|
534
|
+
* @prop --bs-app-tile-gap - Gap between icon and label. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-50` (`compact`).
|
|
535
|
+
* @prop --bs-app-tile-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
536
|
+
* @prop --bs-app-tile-bg - Resting background. `transparent`.
|
|
537
|
+
* @prop --bs-app-tile-bg-hover - Aliased to `--bs-surface-hover`.
|
|
538
|
+
* @prop --bs-app-tile-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
539
|
+
* @prop --bs-app-tile-bg-current - Aliased to `--bs-surface-selected`.
|
|
540
|
+
* @prop --bs-app-tile-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
|
|
541
|
+
* @prop --bs-app-tile-color - Label colour. Aliased to `--bs-text-default`.
|
|
542
|
+
* @prop --bs-app-tile-color-disabled - Label and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
|
|
543
|
+
* @prop --bs-app-tile-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
544
|
+
*/
|
|
545
|
+
interface BsAppTile {
|
|
546
|
+
/**
|
|
547
|
+
* The app you are in right now: selected background and `aria-current="true"`.
|
|
548
|
+
* @default false
|
|
549
|
+
*/
|
|
550
|
+
"current": boolean;
|
|
551
|
+
/**
|
|
552
|
+
* Dims the tile, sets `aria-disabled` and takes it out of the tab order.
|
|
553
|
+
* @default false
|
|
554
|
+
*/
|
|
555
|
+
"disabled": boolean;
|
|
556
|
+
/**
|
|
557
|
+
* URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
|
|
558
|
+
*/
|
|
559
|
+
"icon"?: string;
|
|
560
|
+
/**
|
|
561
|
+
* The app name, shown under the icon and used as the accessible name.
|
|
562
|
+
*/
|
|
563
|
+
"name": string;
|
|
564
|
+
/**
|
|
565
|
+
* `grid` is the 3-column launcher tile; `compact` the smaller 4-column one.
|
|
566
|
+
* @default 'grid'
|
|
567
|
+
*/
|
|
568
|
+
"size": BsAppTileSize;
|
|
569
|
+
}
|
|
292
570
|
/**
|
|
293
571
|
* A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
|
|
294
572
|
* with a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and
|
|
@@ -1307,6 +1585,321 @@ export namespace Components {
|
|
|
1307
1585
|
*/
|
|
1308
1586
|
"sourceName"?: string;
|
|
1309
1587
|
}
|
|
1588
|
+
/**
|
|
1589
|
+
* A Ctrl+K command palette: a modal with a search field, grouped commands, navigation and records, a
|
|
1590
|
+
* no-results view and a keyboard-hint footer. The data, the filtering, the command registry and the
|
|
1591
|
+
* recent-items storage are all yours: you slot `bs-search-item`s into the sections and set `status`.
|
|
1592
|
+
* Built from a native `<dialog>` (opened with `showModal()`, so focus is trapped, the page behind is inert
|
|
1593
|
+
* and the backdrop is the scrim), `bs-input` (type="search"), `bs-search-item`, `bs-key` (footer hints and
|
|
1594
|
+
* the Esc cap), `bs-chip-informative` (the scope chip) and `bs-spinner` (loading). Slot a `bs-key-caps` with
|
|
1595
|
+
* `slot="trailing"` inside an item to show a command's shortcut.
|
|
1596
|
+
* ## When to use
|
|
1597
|
+
* - An app-wide "do anything" entry point opened with a hotkey: run commands, navigate, open records.
|
|
1598
|
+
* ## When not to use
|
|
1599
|
+
* - A plain search box with a dropdown -- use `bs-global-search`.
|
|
1600
|
+
* - A small list of actions on one control -- use `bs-menu`.
|
|
1601
|
+
* A `>` as the first character of the field switches to commands-only mode (`commandsOnly`, reflected as
|
|
1602
|
+
* `commands-only`). The component filters nothing: listen to `bsInput`, swap the slotted items, set `status`.
|
|
1603
|
+
* Nested (sub-command) palettes are a consumer pattern: swap the slotted commands and set `scopeLabel`.
|
|
1604
|
+
* @prop --bs-command-palette-width - Panel width. Defaults to `640px` (Figma); capped to the viewport.
|
|
1605
|
+
* @prop --bs-command-palette-top - Distance from the top of the viewport. Defaults to `12vh`.
|
|
1606
|
+
* @prop --bs-command-palette-max-height - Max height of the results area. Defaults to `60vh`.
|
|
1607
|
+
* @prop --bs-command-palette-radius - Aliased to `--bs-border-radius-150`.
|
|
1608
|
+
* @prop --bs-command-palette-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
1609
|
+
* @prop --bs-command-palette-shadow - Figma elevation level 4: `0 8px 16px` in `--bs-elevation-higher` (stronger in dark mode).
|
|
1610
|
+
* @prop --bs-command-palette-overlay - Scrim colour. Aliased to `--bs-surface-overlay`.
|
|
1611
|
+
* @prop --bs-command-palette-footer-bg - Aliased to `--bs-surface-container`.
|
|
1612
|
+
* @prop --bs-command-palette-divider-color - Aliased to `--bs-border-default`.
|
|
1613
|
+
* @prop --bs-command-palette-header-border-color - Aliased to `--bs-border-neutral-container`.
|
|
1614
|
+
* @prop --bs-command-palette-header-color - Aliased to `--bs-text-muted`.
|
|
1615
|
+
* @prop --bs-command-palette-hint-color - Aliased to `--bs-text-secondary`.
|
|
1616
|
+
* @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
|
|
1617
|
+
*/
|
|
1618
|
+
interface BsCommandPalette {
|
|
1619
|
+
/**
|
|
1620
|
+
* @default 'All results'
|
|
1621
|
+
*/
|
|
1622
|
+
"allResultsLabel": string;
|
|
1623
|
+
/**
|
|
1624
|
+
* Closes the palette and restores focus.
|
|
1625
|
+
*/
|
|
1626
|
+
"close": () => Promise<void>;
|
|
1627
|
+
/**
|
|
1628
|
+
* @default 'Close'
|
|
1629
|
+
*/
|
|
1630
|
+
"closeLabel": string;
|
|
1631
|
+
/**
|
|
1632
|
+
* @default 'Commands'
|
|
1633
|
+
*/
|
|
1634
|
+
"commandsLabel": string;
|
|
1635
|
+
/**
|
|
1636
|
+
* Derived from `value` (it starts with `>`). Read-only; set `value` instead.
|
|
1637
|
+
* @default false
|
|
1638
|
+
*/
|
|
1639
|
+
"commandsOnly": boolean;
|
|
1640
|
+
/**
|
|
1641
|
+
* @default 'Commands only'
|
|
1642
|
+
*/
|
|
1643
|
+
"commandsOnlyLabel": string;
|
|
1644
|
+
/**
|
|
1645
|
+
* A suggested correction; the "Did you mean" line shows while it is set.
|
|
1646
|
+
*/
|
|
1647
|
+
"didYouMean"?: string;
|
|
1648
|
+
/**
|
|
1649
|
+
* @default 'Did you mean'
|
|
1650
|
+
*/
|
|
1651
|
+
"didYouMeanLabel": string;
|
|
1652
|
+
/**
|
|
1653
|
+
* @default 'Check the spelling, or search records instead.'
|
|
1654
|
+
*/
|
|
1655
|
+
"emptyDescription": string;
|
|
1656
|
+
/**
|
|
1657
|
+
* No-results view copy. Include the query in `emptyHeading` yourself.
|
|
1658
|
+
* @default 'No commands or records'
|
|
1659
|
+
*/
|
|
1660
|
+
"emptyHeading": string;
|
|
1661
|
+
/**
|
|
1662
|
+
* Global shortcut that toggles the palette, e.g. `mod+k` (`mod` is Cmd on Mac, Ctrl elsewhere). Empty = off.
|
|
1663
|
+
* @default ''
|
|
1664
|
+
*/
|
|
1665
|
+
"hotkey": string;
|
|
1666
|
+
/**
|
|
1667
|
+
* Keep the palette open after an item is chosen.
|
|
1668
|
+
* @default false
|
|
1669
|
+
*/
|
|
1670
|
+
"keepOpenOnSelect": boolean;
|
|
1671
|
+
/**
|
|
1672
|
+
* Accessible name of the dialog.
|
|
1673
|
+
* @default 'Command palette'
|
|
1674
|
+
*/
|
|
1675
|
+
"label": string;
|
|
1676
|
+
/**
|
|
1677
|
+
* Accessible name of the results listbox.
|
|
1678
|
+
* @default 'Results'
|
|
1679
|
+
*/
|
|
1680
|
+
"listLabel": string;
|
|
1681
|
+
/**
|
|
1682
|
+
* Text of the loading row.
|
|
1683
|
+
* @default 'Loading…'
|
|
1684
|
+
*/
|
|
1685
|
+
"loadingLabel": string;
|
|
1686
|
+
/**
|
|
1687
|
+
* Footer hint texts.
|
|
1688
|
+
* @default 'Navigate'
|
|
1689
|
+
*/
|
|
1690
|
+
"navigateLabel": string;
|
|
1691
|
+
/**
|
|
1692
|
+
* @default 'Navigation'
|
|
1693
|
+
*/
|
|
1694
|
+
"navigationLabel": string;
|
|
1695
|
+
/**
|
|
1696
|
+
* Whether the palette is open.
|
|
1697
|
+
* @default false
|
|
1698
|
+
*/
|
|
1699
|
+
"open": boolean;
|
|
1700
|
+
/**
|
|
1701
|
+
* @default 'Open'
|
|
1702
|
+
*/
|
|
1703
|
+
"openLabel": string;
|
|
1704
|
+
/**
|
|
1705
|
+
* Placeholder of the field.
|
|
1706
|
+
* @default 'Type a command or search…'
|
|
1707
|
+
*/
|
|
1708
|
+
"placeholder": string;
|
|
1709
|
+
/**
|
|
1710
|
+
* Section headers.
|
|
1711
|
+
* @default 'Recent'
|
|
1712
|
+
*/
|
|
1713
|
+
"recentLabel": string;
|
|
1714
|
+
/**
|
|
1715
|
+
* @default 'Records'
|
|
1716
|
+
*/
|
|
1717
|
+
"recordsLabel": string;
|
|
1718
|
+
/**
|
|
1719
|
+
* Nested scope: shows this text as a chip before the field. Backspace on an empty field emits `bsScopeExit`.
|
|
1720
|
+
*/
|
|
1721
|
+
"scopeLabel"?: string;
|
|
1722
|
+
/**
|
|
1723
|
+
* Opens the palette.
|
|
1724
|
+
*/
|
|
1725
|
+
"show": () => Promise<void>;
|
|
1726
|
+
/**
|
|
1727
|
+
* Shows the footer of keyboard hints.
|
|
1728
|
+
* @default true
|
|
1729
|
+
*/
|
|
1730
|
+
"showFooter": boolean;
|
|
1731
|
+
/**
|
|
1732
|
+
* Which view to show. You choose it; nothing is inferred from `value`. `default` and `results` render the same; they differ for screen readers only.
|
|
1733
|
+
* @default 'default'
|
|
1734
|
+
*/
|
|
1735
|
+
"status": BsCommandPaletteStatus;
|
|
1736
|
+
/**
|
|
1737
|
+
* @default 'Suggested'
|
|
1738
|
+
*/
|
|
1739
|
+
"suggestedLabel": string;
|
|
1740
|
+
/**
|
|
1741
|
+
* @default 'Try instead'
|
|
1742
|
+
*/
|
|
1743
|
+
"tryInsteadLabel": string;
|
|
1744
|
+
/**
|
|
1745
|
+
* The field value. Two-way. A leading `>` means commands-only mode.
|
|
1746
|
+
* @default ''
|
|
1747
|
+
*/
|
|
1748
|
+
"value": string;
|
|
1749
|
+
}
|
|
1750
|
+
/**
|
|
1751
|
+
* A plain text entry in a mega menu: one line, no icon. Matches the Figma "Compact menu block" component
|
|
1752
|
+
* (Default, Hover, Pressed and Focused).
|
|
1753
|
+
* The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
1754
|
+
* native element.
|
|
1755
|
+
* ## When to use
|
|
1756
|
+
* - A dense list of destinations in a mega menu, usually inside `bs-mega-menu` with `type="compact"`.
|
|
1757
|
+
* ## When not to use
|
|
1758
|
+
* - A destination that needs an icon or a description -- use `bs-menu-block`.
|
|
1759
|
+
* - A command in a dropdown list -- use `bs-menu-item`.
|
|
1760
|
+
* @prop --bs-compact-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-100`.
|
|
1761
|
+
* @prop --bs-compact-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
1762
|
+
* @prop --bs-compact-menu-block-bg - Resting background. `transparent`.
|
|
1763
|
+
* @prop --bs-compact-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
|
|
1764
|
+
* @prop --bs-compact-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
1765
|
+
* @prop --bs-compact-menu-block-color - Text colour. Aliased to `--bs-text-default`.
|
|
1766
|
+
* @prop --bs-compact-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
|
|
1767
|
+
*/
|
|
1768
|
+
interface BsCompactMenuBlock {
|
|
1769
|
+
/**
|
|
1770
|
+
* The text, and the accessible name.
|
|
1771
|
+
*/
|
|
1772
|
+
"name": string;
|
|
1773
|
+
}
|
|
1774
|
+
/**
|
|
1775
|
+
* A company (tenant) switcher: a trigger showing the current company, and a panel to find and switch to
|
|
1776
|
+
* another one. The panel has a search field, the current / recent / all groups, a filtered "matches" view,
|
|
1777
|
+
* a no-results state and a footer with "Manage Companies" and "Add companies" actions.
|
|
1778
|
+
* Built from `bs-popover` (open/close, Escape, outside click, flipping), `bs-card` (panel surface),
|
|
1779
|
+
* `bs-input` (search), `bs-list-item` (rows), `bs-avatar` (initials), `bs-spinner` (switching),
|
|
1780
|
+
* `bs-empty-state` (no results), `bs-divider` and `bs-button` (footer). The trigger is a native `<button>`:
|
|
1781
|
+
* no `bs-*` component is a composite "avatar + two lines + chevron" button.
|
|
1782
|
+
* ## When to use
|
|
1783
|
+
* - An app header or side navigation where a user belongs to several companies and works in one at a time.
|
|
1784
|
+
* ## When not to use
|
|
1785
|
+
* - Picking a value in a form -- use `bs-input type="dropdown"`.
|
|
1786
|
+
* - Switching between a handful of fixed views -- use `bs-tab`.
|
|
1787
|
+
* `companies` is an array and must be set as a JS property. You own the data and the switch itself: listen to
|
|
1788
|
+
* `bsCompanySwitch`, do the work, then update `currentId`. To show the switching state set `switchingId`
|
|
1789
|
+
* (from the `bsCompanySwitch` handler, or later) and the panel stays open until you clear it and set `open`
|
|
1790
|
+
* to `false`. If `switchingId` is not set by the time the handler returns, the panel closes immediately.
|
|
1791
|
+
* @prop --bs-company-switcher-width - Trigger width. Defaults to `260px` (Figma); capped at 100%.
|
|
1792
|
+
* @prop --bs-company-switcher-panel-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
|
|
1793
|
+
* @prop --bs-company-switcher-radius - Trigger and panel corner radius. Aliased to `--bs-border-radius-100`.
|
|
1794
|
+
* @prop --bs-company-switcher-trigger-bg - Trigger resting background. `transparent`.
|
|
1795
|
+
* @prop --bs-company-switcher-trigger-bg-hover - Aliased to `--bs-surface-hover`.
|
|
1796
|
+
* @prop --bs-company-switcher-trigger-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
1797
|
+
* @prop --bs-company-switcher-trigger-bg-open - Aliased to `--bs-surface-selected`.
|
|
1798
|
+
* @prop --bs-company-switcher-focus-ring - Trigger focus outline. Aliased to `--bs-border-neutral-focus`.
|
|
1799
|
+
* @prop --bs-company-switcher-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
1800
|
+
* @prop --bs-company-switcher-panel-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
1801
|
+
* @prop --bs-company-switcher-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
|
|
1802
|
+
* @prop --bs-company-switcher-max-height - Maximum height of the scrolling list. Defaults to `320px`.
|
|
1803
|
+
* @prop --bs-company-switcher-text-color - Names. Aliased to `--bs-text-default`.
|
|
1804
|
+
* @prop --bs-company-switcher-muted-color - Org. numbers. Aliased to `--bs-text-secondary`.
|
|
1805
|
+
* @prop --bs-company-switcher-header-color - Group headers. Aliased to `--bs-text-muted`.
|
|
1806
|
+
* @prop --bs-company-switcher-z-index - Panel stacking. Aliased to `--bs-z-index-popover`.
|
|
1807
|
+
*/
|
|
1808
|
+
interface BsCompanySwitcher {
|
|
1809
|
+
/**
|
|
1810
|
+
* Text of the "Add companies" footer button.
|
|
1811
|
+
* @default 'Add companies'
|
|
1812
|
+
*/
|
|
1813
|
+
"addLabel": string;
|
|
1814
|
+
/**
|
|
1815
|
+
* Header of the all companies group (the count is appended).
|
|
1816
|
+
* @default 'All companies'
|
|
1817
|
+
*/
|
|
1818
|
+
"allLabel": string;
|
|
1819
|
+
/**
|
|
1820
|
+
* The companies the user can switch between. JS property only (an array cannot be an attribute).
|
|
1821
|
+
* @default []
|
|
1822
|
+
*/
|
|
1823
|
+
"companies": BsCompany[];
|
|
1824
|
+
/**
|
|
1825
|
+
* `id` of the current company.
|
|
1826
|
+
*/
|
|
1827
|
+
"currentId"?: string;
|
|
1828
|
+
/**
|
|
1829
|
+
* Header of the current company group.
|
|
1830
|
+
* @default 'Current'
|
|
1831
|
+
*/
|
|
1832
|
+
"currentLabel": string;
|
|
1833
|
+
/**
|
|
1834
|
+
* No-results description.
|
|
1835
|
+
* @default 'Check the spelling, or search by org. number.'
|
|
1836
|
+
*/
|
|
1837
|
+
"emptyDescription": string;
|
|
1838
|
+
/**
|
|
1839
|
+
* No-results heading. `{query}` is replaced by the query.
|
|
1840
|
+
* @default 'No companies match “{query}”'
|
|
1841
|
+
*/
|
|
1842
|
+
"emptyHeading": string;
|
|
1843
|
+
/**
|
|
1844
|
+
* Accessible name of the company listbox.
|
|
1845
|
+
* @default 'Companies'
|
|
1846
|
+
*/
|
|
1847
|
+
"listLabel": string;
|
|
1848
|
+
/**
|
|
1849
|
+
* Text of the "Manage Companies" footer button.
|
|
1850
|
+
* @default 'Manage Companies'
|
|
1851
|
+
*/
|
|
1852
|
+
"manageLabel": string;
|
|
1853
|
+
/**
|
|
1854
|
+
* Header of the search view when there is one match ("1 match").
|
|
1855
|
+
* @default 'match'
|
|
1856
|
+
*/
|
|
1857
|
+
"matchLabel": string;
|
|
1858
|
+
/**
|
|
1859
|
+
* Header of the search view when there are several matches ("3 matches").
|
|
1860
|
+
* @default 'matches'
|
|
1861
|
+
*/
|
|
1862
|
+
"matchesLabel": string;
|
|
1863
|
+
/**
|
|
1864
|
+
* Whether the panel is open.
|
|
1865
|
+
* @default false
|
|
1866
|
+
*/
|
|
1867
|
+
"open": boolean;
|
|
1868
|
+
/**
|
|
1869
|
+
* Prefix of the org. number, e.g. "Org. no.".
|
|
1870
|
+
* @default 'Org. no.'
|
|
1871
|
+
*/
|
|
1872
|
+
"orgNumberLabel": string;
|
|
1873
|
+
/**
|
|
1874
|
+
* Text of the trigger when there is no current company.
|
|
1875
|
+
* @default 'Select a company'
|
|
1876
|
+
*/
|
|
1877
|
+
"placeholderLabel": string;
|
|
1878
|
+
/**
|
|
1879
|
+
* `id`s of recently used companies, most recent first. The current company is not repeated in the Recent group.
|
|
1880
|
+
* @default []
|
|
1881
|
+
*/
|
|
1882
|
+
"recentIds": string[];
|
|
1883
|
+
/**
|
|
1884
|
+
* Header of the recent companies group.
|
|
1885
|
+
* @default 'Recent'
|
|
1886
|
+
*/
|
|
1887
|
+
"recentLabel": string;
|
|
1888
|
+
/**
|
|
1889
|
+
* Placeholder (and accessible name) of the search field.
|
|
1890
|
+
* @default 'Find a company or org. number'
|
|
1891
|
+
*/
|
|
1892
|
+
"searchPlaceholder": string;
|
|
1893
|
+
/**
|
|
1894
|
+
* `id` of the company being switched to. Shows the switching state: a spinner in the trigger and on that row.
|
|
1895
|
+
*/
|
|
1896
|
+
"switchingId"?: string;
|
|
1897
|
+
/**
|
|
1898
|
+
* Trigger subtitle while switching.
|
|
1899
|
+
* @default 'Switching…'
|
|
1900
|
+
*/
|
|
1901
|
+
"switchingLabel": string;
|
|
1902
|
+
}
|
|
1310
1903
|
/**
|
|
1311
1904
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
1312
1905
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -1850,6 +2443,43 @@ export namespace Components {
|
|
|
1850
2443
|
*/
|
|
1851
2444
|
"variant": BsDividerVariant;
|
|
1852
2445
|
}
|
|
2446
|
+
/**
|
|
2447
|
+
* A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
|
|
2448
|
+
* Used for empty lists, "no results" and error states inside a panel, card or page section.
|
|
2449
|
+
* Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
|
|
2450
|
+
* The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
|
|
2451
|
+
* element that stays in the DOM while this block appears and disappears).
|
|
2452
|
+
* ## When to use
|
|
2453
|
+
* - A list, table or search result that has nothing to show, or failed to load.
|
|
2454
|
+
* ## When not to use
|
|
2455
|
+
* - A full-page error with a status code -- use `bs-error-page`.
|
|
2456
|
+
* - A transient message -- use `bs-toast` or `bs-snackbar`.
|
|
2457
|
+
* @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
|
|
2458
|
+
* @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
|
|
2459
|
+
* @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
|
|
2460
|
+
* @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
|
|
2461
|
+
* @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
|
|
2462
|
+
*/
|
|
2463
|
+
interface BsEmptyState {
|
|
2464
|
+
/**
|
|
2465
|
+
* The description text. The default slot overrides it.
|
|
2466
|
+
*/
|
|
2467
|
+
"description"?: string;
|
|
2468
|
+
/**
|
|
2469
|
+
* The heading text.
|
|
2470
|
+
*/
|
|
2471
|
+
"heading"?: string;
|
|
2472
|
+
/**
|
|
2473
|
+
* Heading level, 2 to 6 (renders `h2`..`h6`). Pick the one that fits the page outline.
|
|
2474
|
+
* @default 3
|
|
2475
|
+
*/
|
|
2476
|
+
"headingLevel": 2 | 3 | 4 | 5 | 6;
|
|
2477
|
+
/**
|
|
2478
|
+
* Colour and default glyph of the icon tile. Use `error` for failures.
|
|
2479
|
+
* @default 'default'
|
|
2480
|
+
*/
|
|
2481
|
+
"intent": BsIconTileIntent;
|
|
2482
|
+
}
|
|
1853
2483
|
/**
|
|
1854
2484
|
* A full-block page for when the user can't get to what they asked for: page not found (404), a server
|
|
1855
2485
|
* error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
|
|
@@ -2006,8 +2636,163 @@ export namespace Components {
|
|
|
2006
2636
|
"thumbnailSrc"?: string;
|
|
2007
2637
|
}
|
|
2008
2638
|
/**
|
|
2009
|
-
* A
|
|
2010
|
-
*
|
|
2639
|
+
* A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
|
|
2640
|
+
* or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
|
|
2641
|
+
* are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
|
|
2642
|
+
* Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
|
|
2643
|
+
* `bs-button` and `bs-key` (the footer keycaps).
|
|
2644
|
+
* ## When to use
|
|
2645
|
+
* - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
|
|
2646
|
+
* ## When not to use
|
|
2647
|
+
* - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
|
|
2648
|
+
* - A list of commands or actions -- use `bs-menu`.
|
|
2649
|
+
* - The complete result set -- link to a full search results page ("See all results").
|
|
2650
|
+
* Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
|
|
2651
|
+
* `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
|
|
2652
|
+
* content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
|
|
2653
|
+
* Known limit: the items are in your light DOM and the combobox in this shadow root, so
|
|
2654
|
+
* `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
|
|
2655
|
+
* highlighted option also gets `aria-selected="true"`.
|
|
2656
|
+
* @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
|
|
2657
|
+
* @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
|
|
2658
|
+
* @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
|
|
2659
|
+
* @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
|
|
2660
|
+
* @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
2661
|
+
* @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).
|
|
2662
|
+
* @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
|
|
2663
|
+
* @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
|
|
2664
|
+
* @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
|
|
2665
|
+
* @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
|
|
2666
|
+
* @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
|
|
2667
|
+
*/
|
|
2668
|
+
interface BsGlobalSearch {
|
|
2669
|
+
/**
|
|
2670
|
+
* Text of the footer button that clears recent searches.
|
|
2671
|
+
* @default 'Clear recent'
|
|
2672
|
+
*/
|
|
2673
|
+
"clearRecentLabel": string;
|
|
2674
|
+
/**
|
|
2675
|
+
* Text of the empty state's action.
|
|
2676
|
+
* @default 'Clear search'
|
|
2677
|
+
*/
|
|
2678
|
+
"clearSearchLabel": string;
|
|
2679
|
+
/**
|
|
2680
|
+
* Footer hint text after the Esc key.
|
|
2681
|
+
* @default 'Close'
|
|
2682
|
+
*/
|
|
2683
|
+
"closeLabel": string;
|
|
2684
|
+
/**
|
|
2685
|
+
* Disables the field; the panel cannot open.
|
|
2686
|
+
* @default false
|
|
2687
|
+
*/
|
|
2688
|
+
"disabled": boolean;
|
|
2689
|
+
/**
|
|
2690
|
+
* Description of the built-in empty state.
|
|
2691
|
+
* @default 'Try a different search.'
|
|
2692
|
+
*/
|
|
2693
|
+
"emptyDescription": string;
|
|
2694
|
+
/**
|
|
2695
|
+
* Heading of the built-in empty state.
|
|
2696
|
+
* @default 'No results'
|
|
2697
|
+
*/
|
|
2698
|
+
"emptyHeading": string;
|
|
2699
|
+
/**
|
|
2700
|
+
* Description of the built-in error state.
|
|
2701
|
+
* @default 'We couldn’t reach the server. Your query is kept — try again in a moment.'
|
|
2702
|
+
*/
|
|
2703
|
+
"errorDescription": string;
|
|
2704
|
+
/**
|
|
2705
|
+
* Heading of the built-in error state.
|
|
2706
|
+
* @default 'Search isn’t available right now'
|
|
2707
|
+
*/
|
|
2708
|
+
"errorHeading": string;
|
|
2709
|
+
/**
|
|
2710
|
+
* Footer hint text after the Enter key (results view).
|
|
2711
|
+
* @default 'Full results'
|
|
2712
|
+
*/
|
|
2713
|
+
"fullResultsLabel": string;
|
|
2714
|
+
/**
|
|
2715
|
+
* Header of the `jump-to` section.
|
|
2716
|
+
* @default 'Jump to'
|
|
2717
|
+
*/
|
|
2718
|
+
"jumpToLabel": string;
|
|
2719
|
+
/**
|
|
2720
|
+
* Accessible name of the search field. Falls back to the placeholder. `bs-input` has no aria-label prop, so this names the combobox wrapper.
|
|
2721
|
+
*/
|
|
2722
|
+
"label"?: string;
|
|
2723
|
+
/**
|
|
2724
|
+
* Accessible name of the suggestions listbox.
|
|
2725
|
+
* @default 'Search suggestions'
|
|
2726
|
+
*/
|
|
2727
|
+
"listLabel": string;
|
|
2728
|
+
/**
|
|
2729
|
+
* Footer hint text after the arrow keys.
|
|
2730
|
+
* @default 'Navigate'
|
|
2731
|
+
*/
|
|
2732
|
+
"navigateLabel": string;
|
|
2733
|
+
/**
|
|
2734
|
+
* Whether the dropdown panel is open. Opens on focus, click and typing; closes on Escape, outside click and selection.
|
|
2735
|
+
* @default false
|
|
2736
|
+
*/
|
|
2737
|
+
"open": boolean;
|
|
2738
|
+
/**
|
|
2739
|
+
* Placeholder of the field (also its accessible name unless `label` is set).
|
|
2740
|
+
* @default 'Search customers, orders, products…'
|
|
2741
|
+
*/
|
|
2742
|
+
"placeholder": string;
|
|
2743
|
+
/**
|
|
2744
|
+
* Header of the `recent` section.
|
|
2745
|
+
* @default 'Recent searches'
|
|
2746
|
+
*/
|
|
2747
|
+
"recentLabel": string;
|
|
2748
|
+
/**
|
|
2749
|
+
* Text of the error state's action.
|
|
2750
|
+
* @default 'Try again'
|
|
2751
|
+
*/
|
|
2752
|
+
"retryLabel": string;
|
|
2753
|
+
/**
|
|
2754
|
+
* Header of the `search-in` section.
|
|
2755
|
+
* @default 'Search in'
|
|
2756
|
+
*/
|
|
2757
|
+
"searchInLabel": string;
|
|
2758
|
+
/**
|
|
2759
|
+
* Footer hint text after the Enter key (default view).
|
|
2760
|
+
* @default 'Search'
|
|
2761
|
+
*/
|
|
2762
|
+
"searchLabel": string;
|
|
2763
|
+
/**
|
|
2764
|
+
* Text of the footer button of the results view, when `totalResults` is not set.
|
|
2765
|
+
* @default 'See all results'
|
|
2766
|
+
*/
|
|
2767
|
+
"seeAllLabel": string;
|
|
2768
|
+
/**
|
|
2769
|
+
* Shows the footer (hints and the Clear recent / See all button) for the `default` and `results` views.
|
|
2770
|
+
* @default true
|
|
2771
|
+
*/
|
|
2772
|
+
"showFooter": boolean;
|
|
2773
|
+
/**
|
|
2774
|
+
* Which view the panel shows. You choose it; nothing is inferred from `value`.
|
|
2775
|
+
* @default 'default'
|
|
2776
|
+
*/
|
|
2777
|
+
"status": BsGlobalSearchStatus;
|
|
2778
|
+
/**
|
|
2779
|
+
* Header of the `top-matches` section.
|
|
2780
|
+
* @default 'Top matches'
|
|
2781
|
+
*/
|
|
2782
|
+
"topMatchesLabel": string;
|
|
2783
|
+
/**
|
|
2784
|
+
* Total number of results (status `results`): shown as "See all {n} results" and announced to screen readers.
|
|
2785
|
+
*/
|
|
2786
|
+
"totalResults"?: number;
|
|
2787
|
+
/**
|
|
2788
|
+
* The query. Two-way with the field.
|
|
2789
|
+
* @default ''
|
|
2790
|
+
*/
|
|
2791
|
+
"value": string;
|
|
2792
|
+
}
|
|
2793
|
+
/**
|
|
2794
|
+
* A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
|
|
2795
|
+
* `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
|
|
2011
2796
|
* `grid-template-columns` value (`"200px 1fr"`). `minColumnWidth` is the responsive mechanism: it
|
|
2012
2797
|
* switches to `repeat(auto-fit, minmax(min(100%, X), 1fr))`, so the column count adapts to the
|
|
2013
2798
|
* container width and `columns` is ignored. There are deliberately no per-breakpoint props in v1.
|
|
@@ -2081,6 +2866,10 @@ export namespace Components {
|
|
|
2081
2866
|
* @default false
|
|
2082
2867
|
*/
|
|
2083
2868
|
"disabled": boolean;
|
|
2869
|
+
/**
|
|
2870
|
+
* Makes this a toggle button: sets `aria-pressed` on the inner `<button>` to `true`/`false`. Leave it unset (the default) for a plain action button, which then has no `aria-pressed` at all. The component does not toggle itself; the owner flips this on click. Put the toggle's state in the icon (e.g. a filled star), not in the label, which should stay the same.
|
|
2871
|
+
*/
|
|
2872
|
+
"pressed"?: boolean;
|
|
2084
2873
|
/**
|
|
2085
2874
|
* Sizing scale. `xs` (16px, an 8px icon) is a distinct, much smaller tier meant for compact chip/tag "remove" controls, not just a smaller toolbar button -- verified against a separate Figma redline (EG BrandSync UI Kit v1.5, node 20731:18427) from the one `sm`/`md`/`lg` were built against.
|
|
2086
2875
|
* @default 'md'
|
|
@@ -2116,7 +2905,7 @@ export namespace Components {
|
|
|
2116
2905
|
* Colour and default glyph. `brand` uses the brand colours; `information` the info palette.
|
|
2117
2906
|
* @default 'default'
|
|
2118
2907
|
*/
|
|
2119
|
-
"intent":
|
|
2908
|
+
"intent": BsIconTileIntent1;
|
|
2120
2909
|
/**
|
|
2121
2910
|
* 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
2911
|
*/
|
|
@@ -2309,6 +3098,151 @@ export namespace Components {
|
|
|
2309
3098
|
*/
|
|
2310
3099
|
"value": string;
|
|
2311
3100
|
}
|
|
3101
|
+
/**
|
|
3102
|
+
* One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
|
|
3103
|
+
* Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
|
|
3104
|
+
* ## When to use
|
|
3105
|
+
* - Showing a keyboard shortcut hint next to a control or inside a search field.
|
|
3106
|
+
* - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
|
|
3107
|
+
* ## When not to use
|
|
3108
|
+
* - As a button or any clickable control -- a key is a static hint, not interactive.
|
|
3109
|
+
* @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
|
|
3110
|
+
* @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
|
|
3111
|
+
* @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
|
|
3112
|
+
* @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
|
|
3113
|
+
* @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
|
|
3114
|
+
* @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
|
|
3115
|
+
* @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
|
|
3116
|
+
* @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
|
|
3117
|
+
* @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
|
|
3118
|
+
*/
|
|
3119
|
+
interface BsKey {
|
|
3120
|
+
/**
|
|
3121
|
+
* The key's text, e.g. `Ctrl`. The default slot overrides it.
|
|
3122
|
+
*/
|
|
3123
|
+
"label"?: string;
|
|
3124
|
+
}
|
|
3125
|
+
/**
|
|
3126
|
+
* A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
|
|
3127
|
+
* (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
|
|
3128
|
+
* elements -- for example when a key is an icon.
|
|
3129
|
+
* ## When to use
|
|
3130
|
+
* - A shortcut hint beside a menu item, button or inside a search field.
|
|
3131
|
+
* ## When not to use
|
|
3132
|
+
* - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
|
|
3133
|
+
* - Anything interactive -- keys are static hints.
|
|
3134
|
+
* @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
|
|
3135
|
+
* @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
|
|
3136
|
+
* @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
|
|
3137
|
+
*/
|
|
3138
|
+
interface BsKeyCaps {
|
|
3139
|
+
/**
|
|
3140
|
+
* Dims the whole shortcut and marks it `aria-disabled`.
|
|
3141
|
+
* @default false
|
|
3142
|
+
*/
|
|
3143
|
+
"disabled": boolean;
|
|
3144
|
+
/**
|
|
3145
|
+
* 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.
|
|
3146
|
+
*/
|
|
3147
|
+
"keys"?: string | string[];
|
|
3148
|
+
/**
|
|
3149
|
+
* Accessible name of the shortcut, e.g. "Control plus K". Defaults to the keys joined with " plus ".
|
|
3150
|
+
*/
|
|
3151
|
+
"label"?: string;
|
|
3152
|
+
}
|
|
3153
|
+
/**
|
|
3154
|
+
* A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
|
|
3155
|
+
* optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
|
|
3156
|
+
* surface, not a modal -- place it inside `bs-dialog` or a popover.
|
|
3157
|
+
* Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
|
|
3158
|
+
* `bs-key-caps` / `bs-key`).
|
|
3159
|
+
* ## When to use
|
|
3160
|
+
* - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
|
|
3161
|
+
* ## When not to use
|
|
3162
|
+
* - A long-form help page or documentation -- link to it instead.
|
|
3163
|
+
* - A list of commands the user can run from it -- use `bs-menu`.
|
|
3164
|
+
* @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
|
|
3165
|
+
* @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
3166
|
+
* @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
|
|
3167
|
+
* @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
|
|
3168
|
+
* @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
|
|
3169
|
+
* @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).
|
|
3170
|
+
* @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
|
|
3171
|
+
* @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
|
|
3172
|
+
* @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
|
|
3173
|
+
*/
|
|
3174
|
+
interface BsKeyboardShortcuts {
|
|
3175
|
+
/**
|
|
3176
|
+
* Accessible name of the close button.
|
|
3177
|
+
* @default 'Close'
|
|
3178
|
+
*/
|
|
3179
|
+
"closeLabel": string;
|
|
3180
|
+
/**
|
|
3181
|
+
* The key shown in the footer hint.
|
|
3182
|
+
* @default '?'
|
|
3183
|
+
*/
|
|
3184
|
+
"footerKey": string;
|
|
3185
|
+
/**
|
|
3186
|
+
* Text before the footer key.
|
|
3187
|
+
* @default 'Press'
|
|
3188
|
+
*/
|
|
3189
|
+
"footerPrefix": string;
|
|
3190
|
+
/**
|
|
3191
|
+
* Footer text after the key.
|
|
3192
|
+
* @default 'anywhere to open this list. On Mac: Cmd instead of Ctrl.'
|
|
3193
|
+
*/
|
|
3194
|
+
"footerText": string;
|
|
3195
|
+
/**
|
|
3196
|
+
* Property only: the shortcut groups.
|
|
3197
|
+
* @default []
|
|
3198
|
+
*/
|
|
3199
|
+
"groups": BsShortcutGroup[];
|
|
3200
|
+
/**
|
|
3201
|
+
* Heading text. The `heading` slot overrides it.
|
|
3202
|
+
* @default 'Keyboard shortcuts'
|
|
3203
|
+
*/
|
|
3204
|
+
"heading": string;
|
|
3205
|
+
/**
|
|
3206
|
+
* Line shown when the query matches nothing.
|
|
3207
|
+
* @default 'No shortcuts match'
|
|
3208
|
+
*/
|
|
3209
|
+
"noResultsText": string;
|
|
3210
|
+
/**
|
|
3211
|
+
* Current search text. Filters by action or keys text, case-insensitively.
|
|
3212
|
+
* @default ''
|
|
3213
|
+
*/
|
|
3214
|
+
"query": string;
|
|
3215
|
+
/**
|
|
3216
|
+
* Search field placeholder (also its accessible name: `bs-input` has no aria-label prop).
|
|
3217
|
+
* @default 'Search for an action'
|
|
3218
|
+
*/
|
|
3219
|
+
"searchPlaceholder": string;
|
|
3220
|
+
/**
|
|
3221
|
+
* Shows the footer hint.
|
|
3222
|
+
* @default true
|
|
3223
|
+
*/
|
|
3224
|
+
"showFooterHint": boolean;
|
|
3225
|
+
/**
|
|
3226
|
+
* Shows the single-key switch row.
|
|
3227
|
+
* @default true
|
|
3228
|
+
*/
|
|
3229
|
+
"showSingleKeySwitch": boolean;
|
|
3230
|
+
/**
|
|
3231
|
+
* Switch caption.
|
|
3232
|
+
* @default 'Turn off if they clash with a screen reader or other tools.'
|
|
3233
|
+
*/
|
|
3234
|
+
"singleKeyDescription": string;
|
|
3235
|
+
/**
|
|
3236
|
+
* Whether single-key shortcuts are on. When off they are shown dimmed.
|
|
3237
|
+
* @default true
|
|
3238
|
+
*/
|
|
3239
|
+
"singleKeyEnabled": boolean;
|
|
3240
|
+
/**
|
|
3241
|
+
* Switch title.
|
|
3242
|
+
* @default 'Single-key shortcuts'
|
|
3243
|
+
*/
|
|
3244
|
+
"singleKeyLabel": string;
|
|
3245
|
+
}
|
|
2312
3246
|
/**
|
|
2313
3247
|
* A vertical list of `bs-list-item` rows, optionally single-select.
|
|
2314
3248
|
* ## When to use
|
|
@@ -2474,6 +3408,85 @@ export namespace Components {
|
|
|
2474
3408
|
*/
|
|
2475
3409
|
"variant": BsLogoVariant;
|
|
2476
3410
|
}
|
|
3411
|
+
/**
|
|
3412
|
+
* The dropdown panel under a navigation header tab: columns of links grouped under headings, an optional
|
|
3413
|
+
* featured area on the right, and a footer with recently used items and a shortcut hint. Matches the Figma
|
|
3414
|
+
* "Mega menu" (types Columns, Column with featured, Compact and Compact with featured).
|
|
3415
|
+
* This is the panel only. Put it in `bs-navigation-header`'s `menu` slot, which anchors it under the bar at the
|
|
3416
|
+
* header's full width, and toggle the host's `hidden` attribute from the tab that
|
|
3417
|
+
* opens it; the panel does not open or close itself. Escape inside the panel fires `bsClose` so you can close it.
|
|
3418
|
+
* Built from `bs-card` (panel surface), `bs-menu-block` or `bs-compact-menu-block` (the links), `bs-divider` and
|
|
3419
|
+
* `bs-key-caps` (the shortcut). The column layout, headings, featured text and footer row are plain layout
|
|
3420
|
+
* markup: no component covers them.
|
|
3421
|
+
* ## Responsive
|
|
3422
|
+
* The panel reacts to its own width (a container query), not the viewport's. Below 600px it becomes one column (heading
|
|
3423
|
+
* above its links, featured area below), titles and descriptions wrap, links are at least 44px tall, the footer stacks
|
|
3424
|
+
* and the default shortcut hint is hidden (`display: none`; a keyboard hint means nothing on a touch screen). A custom
|
|
3425
|
+
* `footer-end` slot is not hidden.
|
|
3426
|
+
* ## When to use
|
|
3427
|
+
* - A header tab that leads to many destinations that need grouping (Sell, Finance, Inventory).
|
|
3428
|
+
* ## When not to use
|
|
3429
|
+
* - A short list of commands -- use `bs-menu` in a `bs-popover`.
|
|
3430
|
+
* - Switching app or company -- use `bs-app-switcher` or `bs-company-switcher`.
|
|
3431
|
+
* `columns`, `featured` and `recent` are arrays or objects and must be set as JS properties. Each item's `icon` is
|
|
3432
|
+
* the URL of a monochrome SVG. You own the data: listen to `bsMenuSelect` (cancelable: `preventDefault()` cancels the
|
|
3433
|
+
* originating click).
|
|
3434
|
+
* @prop --bs-mega-menu-width - Panel width. Defaults to `1100px` (Figma); capped at the viewport.
|
|
3435
|
+
* @prop --bs-mega-menu-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
|
|
3436
|
+
* @prop --bs-mega-menu-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
3437
|
+
* @prop --bs-mega-menu-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
3438
|
+
* @prop --bs-mega-menu-shadow - Panel shadow (elevation level 3). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-high`.
|
|
3439
|
+
* @prop --bs-mega-menu-padding - Padding around the columns. Aliased to `--bs-spacing-300` and `--bs-spacing-350`.
|
|
3440
|
+
* @prop --bs-mega-menu-gap - Gap between columns. Aliased to `--bs-spacing-300`.
|
|
3441
|
+
* @prop --bs-mega-menu-heading-color - Column headings. Aliased to `--bs-text-muted`.
|
|
3442
|
+
* @prop --bs-mega-menu-text-color - Featured title. Aliased to `--bs-text-default`.
|
|
3443
|
+
* @prop --bs-mega-menu-muted-color - Featured description and footer text. Aliased to `--bs-text-secondary`.
|
|
3444
|
+
*/
|
|
3445
|
+
interface BsMegaMenu {
|
|
3446
|
+
/**
|
|
3447
|
+
* The groups of links. JS property only (an array cannot be an attribute).
|
|
3448
|
+
* @default []
|
|
3449
|
+
*/
|
|
3450
|
+
"columns": BsMegaMenuColumn[];
|
|
3451
|
+
/**
|
|
3452
|
+
* The featured area on the right. JS property only. The `featured` slot overrides it.
|
|
3453
|
+
*/
|
|
3454
|
+
"featured"?: BsMegaMenuFeatured;
|
|
3455
|
+
/**
|
|
3456
|
+
* Accessible name of the panel.
|
|
3457
|
+
* @default 'Menu'
|
|
3458
|
+
*/
|
|
3459
|
+
"label": string;
|
|
3460
|
+
/**
|
|
3461
|
+
* Recently used destinations, already translated, shown in the footer. JS property only.
|
|
3462
|
+
* @default []
|
|
3463
|
+
*/
|
|
3464
|
+
"recent": string[];
|
|
3465
|
+
/**
|
|
3466
|
+
* Text before the recently used items.
|
|
3467
|
+
* @default 'Recently used:'
|
|
3468
|
+
*/
|
|
3469
|
+
"recentLabel": string;
|
|
3470
|
+
/**
|
|
3471
|
+
* The shortcut keys, joined by "+".
|
|
3472
|
+
* @default 'Ctrl+K'
|
|
3473
|
+
*/
|
|
3474
|
+
"shortcutKeys": string;
|
|
3475
|
+
/**
|
|
3476
|
+
* Accessible name of the shortcut keys. Defaults to the keys joined with " plus ".
|
|
3477
|
+
*/
|
|
3478
|
+
"shortcutKeysLabel"?: string;
|
|
3479
|
+
/**
|
|
3480
|
+
* Text before the shortcut keys.
|
|
3481
|
+
* @default 'Can’t find it? Press'
|
|
3482
|
+
*/
|
|
3483
|
+
"shortcutLabel": string;
|
|
3484
|
+
/**
|
|
3485
|
+
* `columns` shows menu blocks with icon and description; `compact` plain text links.
|
|
3486
|
+
* @default 'columns'
|
|
3487
|
+
*/
|
|
3488
|
+
"type": BsMegaMenuType;
|
|
3489
|
+
}
|
|
2477
3490
|
/**
|
|
2478
3491
|
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
2479
3492
|
* `bs-menu-item` elements).
|
|
@@ -2491,6 +3504,49 @@ export namespace Components {
|
|
|
2491
3504
|
*/
|
|
2492
3505
|
interface BsMenu {
|
|
2493
3506
|
}
|
|
3507
|
+
/**
|
|
3508
|
+
* A rich entry in a mega menu: an icon tile, a title with an optional "New" chip, and a one-line description.
|
|
3509
|
+
* Matches the Figma "Menu block" component (Default, Hover, Pressed and Focused).
|
|
3510
|
+
* The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
3511
|
+
* native element. Its accessible name is its text: the title, the badge and the description, read once.
|
|
3512
|
+
* Built from `bs-icon-tile` (the icon) and `bs-chip-informative` (the badge). The icon is either a URL of a
|
|
3513
|
+
* monochrome SVG in `icon` (painted with the theme's icon colour through a CSS mask, so it follows light and
|
|
3514
|
+
* dark mode), or any element in the default slot (an `<svg>` drawn with `currentColor`).
|
|
3515
|
+
* ## When to use
|
|
3516
|
+
* - A destination in a mega menu that needs an icon and a sentence of explanation, usually inside `bs-mega-menu`.
|
|
3517
|
+
* ## When not to use
|
|
3518
|
+
* - A plain text destination -- use `bs-compact-menu-block`.
|
|
3519
|
+
* - A command in a dropdown list -- use `bs-menu-item`.
|
|
3520
|
+
* @prop --bs-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-150`.
|
|
3521
|
+
* @prop --bs-menu-block-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
|
|
3522
|
+
* @prop --bs-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
3523
|
+
* @prop --bs-menu-block-bg - Resting background. `transparent`.
|
|
3524
|
+
* @prop --bs-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
|
|
3525
|
+
* @prop --bs-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
3526
|
+
* @prop --bs-menu-block-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered or pressed.
|
|
3527
|
+
* @prop --bs-menu-block-color - Title colour. Aliased to `--bs-text-default`.
|
|
3528
|
+
* @prop --bs-menu-block-color-muted - Description colour. Aliased to `--bs-text-secondary`.
|
|
3529
|
+
* @prop --bs-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
|
|
3530
|
+
* @prop --bs-menu-block-white-space - `white-space` of the title and description. `nowrap` (single line, ellipsis); set `normal` to let them wrap.
|
|
3531
|
+
*/
|
|
3532
|
+
interface BsMenuBlock {
|
|
3533
|
+
/**
|
|
3534
|
+
* Short text for a chip beside the title, e.g. "New".
|
|
3535
|
+
*/
|
|
3536
|
+
"badge"?: string;
|
|
3537
|
+
/**
|
|
3538
|
+
* One line under the title; part of the accessible name.
|
|
3539
|
+
*/
|
|
3540
|
+
"description"?: string;
|
|
3541
|
+
/**
|
|
3542
|
+
* URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
|
|
3543
|
+
*/
|
|
3544
|
+
"icon"?: string;
|
|
3545
|
+
/**
|
|
3546
|
+
* The title, and the start of the accessible name.
|
|
3547
|
+
*/
|
|
3548
|
+
"name": string;
|
|
3549
|
+
}
|
|
2494
3550
|
/**
|
|
2495
3551
|
* A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
|
|
2496
3552
|
* real `<button>` for correct keyboard/click semantics.
|
|
@@ -2894,6 +3950,91 @@ export namespace Components {
|
|
|
2894
3950
|
*/
|
|
2895
3951
|
"type": BsOnboardingChecklistType;
|
|
2896
3952
|
}
|
|
3953
|
+
/**
|
|
3954
|
+
* The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
|
|
3955
|
+
* optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
|
|
3956
|
+
* optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
|
|
3957
|
+
* compact).
|
|
3958
|
+
* Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
|
|
3959
|
+
* buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
|
|
3960
|
+
* `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
|
|
3961
|
+
* actions area are plain layout markup, because no component covers them. The back arrow and the star are
|
|
3962
|
+
* inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
|
|
3963
|
+
* ## Compact (sticky)
|
|
3964
|
+
* `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
|
|
3965
|
+
* meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
|
|
3966
|
+
* from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
|
|
3967
|
+
* `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
|
|
3968
|
+
* ## Responsive
|
|
3969
|
+
* The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
|
|
3970
|
+
* below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
|
|
3971
|
+
* sideways inside itself. The page never gets wider.
|
|
3972
|
+
* ## When to use
|
|
3973
|
+
* - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
|
|
3974
|
+
* ## When not to use
|
|
3975
|
+
* - The app-wide bar with logo, search and user: use `bs-navigation-header`.
|
|
3976
|
+
* - The heading of a card, dialog or panel: use that component's own `heading`.
|
|
3977
|
+
* ## Accessibility notes
|
|
3978
|
+
* The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
|
|
3979
|
+
* is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
|
|
3980
|
+
* status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
|
|
3981
|
+
* @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
|
|
3982
|
+
* @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
|
|
3983
|
+
* @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
|
|
3984
|
+
* @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
|
|
3985
|
+
* @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
|
|
3986
|
+
* @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
|
|
3987
|
+
* @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
|
|
3988
|
+
* @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
|
|
3989
|
+
* @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
|
|
3990
|
+
* @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
|
|
3991
|
+
* @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
|
|
3992
|
+
*/
|
|
3993
|
+
interface BsPageHeader {
|
|
3994
|
+
/**
|
|
3995
|
+
* Shows a back button before the title. It emits `bsBack`; you navigate.
|
|
3996
|
+
* @default false
|
|
3997
|
+
*/
|
|
3998
|
+
"back": boolean;
|
|
3999
|
+
/**
|
|
4000
|
+
* Accessible name of the back button.
|
|
4001
|
+
* @default 'Back'
|
|
4002
|
+
*/
|
|
4003
|
+
"backLabel": string;
|
|
4004
|
+
/**
|
|
4005
|
+
* The condensed, sticky state: one row, a level 2 shadow, no breadcrumb and no tabs. Reflected.
|
|
4006
|
+
* @default false
|
|
4007
|
+
*/
|
|
4008
|
+
"compact": boolean;
|
|
4009
|
+
/**
|
|
4010
|
+
* Shows the favourite (star) toggle after the title.
|
|
4011
|
+
* @default false
|
|
4012
|
+
*/
|
|
4013
|
+
"favoritable": boolean;
|
|
4014
|
+
/**
|
|
4015
|
+
* Whether the record is a favourite. Mutable: it follows the user's toggle unless `bsFavoriteChange` is cancelled.
|
|
4016
|
+
* @default false
|
|
4017
|
+
*/
|
|
4018
|
+
"favorite": boolean;
|
|
4019
|
+
/**
|
|
4020
|
+
* Accessible name of the favourite toggle. It stays the same in both states; `aria-pressed` carries the state.
|
|
4021
|
+
* @default 'Favourite'
|
|
4022
|
+
*/
|
|
4023
|
+
"favoriteLabel": string;
|
|
4024
|
+
/**
|
|
4025
|
+
* The page title, rendered as the heading.
|
|
4026
|
+
*/
|
|
4027
|
+
"heading": string;
|
|
4028
|
+
/**
|
|
4029
|
+
* HTML heading level for the title, 1 to 6. Use 1 unless the page already has its own `h1`.
|
|
4030
|
+
* @default 1
|
|
4031
|
+
*/
|
|
4032
|
+
"headingLevel": number;
|
|
4033
|
+
/**
|
|
4034
|
+
* The line under the title, plain text, e.g. "214 invoices · 38 open". The `meta` slot overrides it.
|
|
4035
|
+
*/
|
|
4036
|
+
"meta"?: string;
|
|
4037
|
+
}
|
|
2897
4038
|
/**
|
|
2898
4039
|
* A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
|
|
2899
4040
|
* large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
|
|
@@ -3297,6 +4438,55 @@ export namespace Components {
|
|
|
3297
4438
|
*/
|
|
3298
4439
|
"value": string;
|
|
3299
4440
|
}
|
|
4441
|
+
/**
|
|
4442
|
+
* One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
|
|
4443
|
+
* description line and trailing text. Static, not focusable -- focus stays in the search field and the
|
|
4444
|
+
* parent (`bs-global-search`) marks the highlighted row with `active`.
|
|
4445
|
+
* Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
|
|
4446
|
+
* the same pattern as `bs-list-item` and `bs-shortcut-row`.
|
|
4447
|
+
* ## When to use
|
|
4448
|
+
* - A suggestion, recent search or result inside `bs-global-search`.
|
|
4449
|
+
* ## When not to use
|
|
4450
|
+
* - A row in a generic list -- use `bs-list-item`.
|
|
4451
|
+
* - A command in a popup menu -- use `bs-menu-item`.
|
|
4452
|
+
* @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
|
|
4453
|
+
* @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
4454
|
+
* @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
|
|
4455
|
+
* @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
|
|
4456
|
+
* @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
|
|
4457
|
+
* @prop --bs-search-item-bg - Resting background. `transparent`.
|
|
4458
|
+
* @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
|
|
4459
|
+
* @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
4460
|
+
* @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
|
|
4461
|
+
* @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
|
|
4462
|
+
* @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
4463
|
+
* @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
|
|
4464
|
+
*/
|
|
4465
|
+
interface BsSearchItem {
|
|
4466
|
+
/**
|
|
4467
|
+
* Highlighted row (keyboard or hover). Set by the parent.
|
|
4468
|
+
* @default false
|
|
4469
|
+
*/
|
|
4470
|
+
"active": boolean;
|
|
4471
|
+
/**
|
|
4472
|
+
* Dims the row and ignores clicks.
|
|
4473
|
+
* @default false
|
|
4474
|
+
*/
|
|
4475
|
+
"disabled": boolean;
|
|
4476
|
+
/**
|
|
4477
|
+
* Set by the parent (`"option"`). Standalone rows have no role.
|
|
4478
|
+
* @default null
|
|
4479
|
+
*/
|
|
4480
|
+
"selectionRole": 'option' | null;
|
|
4481
|
+
/**
|
|
4482
|
+
* Trailing text shorthand. The `trailing` slot overrides it.
|
|
4483
|
+
*/
|
|
4484
|
+
"trailing"?: string;
|
|
4485
|
+
/**
|
|
4486
|
+
* Identifies the item; emitted by `bsItemSelect`.
|
|
4487
|
+
*/
|
|
4488
|
+
"value"?: string;
|
|
4489
|
+
}
|
|
3300
4490
|
/**
|
|
3301
4491
|
* The three moments around an expiring session, as one card. Matches the Figma "Session timeout"
|
|
3302
4492
|
* component's three types:
|
|
@@ -3421,6 +4611,46 @@ export namespace Components {
|
|
|
3421
4611
|
*/
|
|
3422
4612
|
"type": BsSessionTimeoutType;
|
|
3423
4613
|
}
|
|
4614
|
+
/**
|
|
4615
|
+
* One row of a shortcut list: an action label on the left and its keyboard shortcut on the right.
|
|
4616
|
+
* Static information, not interactive. Standalone it has no role; `bs-keyboard-shortcuts` sets
|
|
4617
|
+
* `selectionRole="listitem"` on its rows (same pattern as `bs-list-item`).
|
|
4618
|
+
* Built from `bs-key-caps` (and so `bs-key`).
|
|
4619
|
+
* ## When to use
|
|
4620
|
+
* - A line in a keyboard-shortcut reference, usually inside `bs-keyboard-shortcuts`.
|
|
4621
|
+
* ## When not to use
|
|
4622
|
+
* - A clickable command or menu entry -- use `bs-menu-item` (which has its own shortcut slot).
|
|
4623
|
+
* @prop --bs-shortcut-row-height - Row height. Defaults to `36px` (Figma).
|
|
4624
|
+
* @prop --bs-shortcut-row-padding-x - Horizontal padding. Aliased to `--bs-spacing-100`.
|
|
4625
|
+
* @prop --bs-shortcut-row-gap - Gap between label and keys. Aliased to `--bs-spacing-100`.
|
|
4626
|
+
* @prop --bs-shortcut-row-radius - Corner radius. Aliased to `--bs-border-radius-75`.
|
|
4627
|
+
* @prop --bs-shortcut-row-color - Label colour. Aliased to `--bs-text-default`.
|
|
4628
|
+
* @prop --bs-shortcut-row-color-disabled - Label colour while `disabled`. Aliased to `--bs-text-on-disabled`.
|
|
4629
|
+
*/
|
|
4630
|
+
interface BsShortcutRow {
|
|
4631
|
+
/**
|
|
4632
|
+
* The action, e.g. "Save". The default slot overrides it.
|
|
4633
|
+
*/
|
|
4634
|
+
"action"?: string;
|
|
4635
|
+
/**
|
|
4636
|
+
* Dims the label and the keys.
|
|
4637
|
+
* @default false
|
|
4638
|
+
*/
|
|
4639
|
+
"disabled": boolean;
|
|
4640
|
+
/**
|
|
4641
|
+
* The keys, e.g. `"Ctrl+S"`, or an array (`['Ctrl', '+']`) for a literal plus key. See `bs-key-caps`.
|
|
4642
|
+
*/
|
|
4643
|
+
"keys"?: string | string[];
|
|
4644
|
+
/**
|
|
4645
|
+
* Accessible name of the key caps, e.g. "Control plus S". Defaults to the keys joined with "plus".
|
|
4646
|
+
*/
|
|
4647
|
+
"label"?: string;
|
|
4648
|
+
/**
|
|
4649
|
+
* Set by the parent list (`"listitem"`). Standalone rows have no role.
|
|
4650
|
+
* @default null
|
|
4651
|
+
*/
|
|
4652
|
+
"selectionRole": 'listitem' | null;
|
|
4653
|
+
}
|
|
3424
4654
|
/**
|
|
3425
4655
|
* A generic slide-in panel (drawer) anchored to the start or end edge, for history, filters, FAQ
|
|
3426
4656
|
* and similar secondary content. Closes via its close button or Escape and emits `bsClose`.
|
|
@@ -4486,6 +5716,10 @@ export interface BsAccordionCustomEvent<T> extends CustomEvent<T> {
|
|
|
4486
5716
|
detail: T;
|
|
4487
5717
|
target: HTMLBsAccordionElement;
|
|
4488
5718
|
}
|
|
5719
|
+
export interface BsAppSwitcherCustomEvent<T> extends CustomEvent<T> {
|
|
5720
|
+
detail: T;
|
|
5721
|
+
target: HTMLBsAppSwitcherElement;
|
|
5722
|
+
}
|
|
4489
5723
|
export interface BsAttachmentCustomEvent<T> extends CustomEvent<T> {
|
|
4490
5724
|
detail: T;
|
|
4491
5725
|
target: HTMLBsAttachmentElement;
|
|
@@ -4538,6 +5772,14 @@ export interface BsCitationPreviewCustomEvent<T> extends CustomEvent<T> {
|
|
|
4538
5772
|
detail: T;
|
|
4539
5773
|
target: HTMLBsCitationPreviewElement;
|
|
4540
5774
|
}
|
|
5775
|
+
export interface BsCommandPaletteCustomEvent<T> extends CustomEvent<T> {
|
|
5776
|
+
detail: T;
|
|
5777
|
+
target: HTMLBsCommandPaletteElement;
|
|
5778
|
+
}
|
|
5779
|
+
export interface BsCompanySwitcherCustomEvent<T> extends CustomEvent<T> {
|
|
5780
|
+
detail: T;
|
|
5781
|
+
target: HTMLBsCompanySwitcherElement;
|
|
5782
|
+
}
|
|
4541
5783
|
export interface BsComposerCustomEvent<T> extends CustomEvent<T> {
|
|
4542
5784
|
detail: T;
|
|
4543
5785
|
target: HTMLBsComposerElement;
|
|
@@ -4574,6 +5816,10 @@ export interface BsFileUploadItemCustomEvent<T> extends CustomEvent<T> {
|
|
|
4574
5816
|
detail: T;
|
|
4575
5817
|
target: HTMLBsFileUploadItemElement;
|
|
4576
5818
|
}
|
|
5819
|
+
export interface BsGlobalSearchCustomEvent<T> extends CustomEvent<T> {
|
|
5820
|
+
detail: T;
|
|
5821
|
+
target: HTMLBsGlobalSearchElement;
|
|
5822
|
+
}
|
|
4577
5823
|
export interface BsInlineTabCustomEvent<T> extends CustomEvent<T> {
|
|
4578
5824
|
detail: T;
|
|
4579
5825
|
target: HTMLBsInlineTabElement;
|
|
@@ -4582,6 +5828,10 @@ export interface BsInputCustomEvent<T> extends CustomEvent<T> {
|
|
|
4582
5828
|
detail: T;
|
|
4583
5829
|
target: HTMLBsInputElement;
|
|
4584
5830
|
}
|
|
5831
|
+
export interface BsKeyboardShortcutsCustomEvent<T> extends CustomEvent<T> {
|
|
5832
|
+
detail: T;
|
|
5833
|
+
target: HTMLBsKeyboardShortcutsElement;
|
|
5834
|
+
}
|
|
4585
5835
|
export interface BsListCustomEvent<T> extends CustomEvent<T> {
|
|
4586
5836
|
detail: T;
|
|
4587
5837
|
target: HTMLBsListElement;
|
|
@@ -4590,6 +5840,10 @@ export interface BsListItemCustomEvent<T> extends CustomEvent<T> {
|
|
|
4590
5840
|
detail: T;
|
|
4591
5841
|
target: HTMLBsListItemElement;
|
|
4592
5842
|
}
|
|
5843
|
+
export interface BsMegaMenuCustomEvent<T> extends CustomEvent<T> {
|
|
5844
|
+
detail: T;
|
|
5845
|
+
target: HTMLBsMegaMenuElement;
|
|
5846
|
+
}
|
|
4593
5847
|
export interface BsMenuItemCustomEvent<T> extends CustomEvent<T> {
|
|
4594
5848
|
detail: T;
|
|
4595
5849
|
target: HTMLBsMenuItemElement;
|
|
@@ -4610,6 +5864,10 @@ export interface BsOnboardingChecklistCustomEvent<T> extends CustomEvent<T> {
|
|
|
4610
5864
|
detail: T;
|
|
4611
5865
|
target: HTMLBsOnboardingChecklistElement;
|
|
4612
5866
|
}
|
|
5867
|
+
export interface BsPageHeaderCustomEvent<T> extends CustomEvent<T> {
|
|
5868
|
+
detail: T;
|
|
5869
|
+
target: HTMLBsPageHeaderElement;
|
|
5870
|
+
}
|
|
4613
5871
|
export interface BsPaginationCustomEvent<T> extends CustomEvent<T> {
|
|
4614
5872
|
detail: T;
|
|
4615
5873
|
target: HTMLBsPaginationElement;
|
|
@@ -4630,6 +5888,10 @@ export interface BsRadioCustomEvent<T> extends CustomEvent<T> {
|
|
|
4630
5888
|
detail: T;
|
|
4631
5889
|
target: HTMLBsRadioElement;
|
|
4632
5890
|
}
|
|
5891
|
+
export interface BsSearchItemCustomEvent<T> extends CustomEvent<T> {
|
|
5892
|
+
detail: T;
|
|
5893
|
+
target: HTMLBsSearchItemElement;
|
|
5894
|
+
}
|
|
4633
5895
|
export interface BsSessionTimeoutCustomEvent<T> extends CustomEvent<T> {
|
|
4634
5896
|
detail: T;
|
|
4635
5897
|
target: HTMLBsSessionTimeoutElement;
|
|
@@ -4817,6 +6079,39 @@ declare global {
|
|
|
4817
6079
|
prototype: HTMLBsAiThinkingElement;
|
|
4818
6080
|
new (): HTMLBsAiThinkingElement;
|
|
4819
6081
|
};
|
|
6082
|
+
/**
|
|
6083
|
+
* A full-width row for one app: a small icon tile, the app name and a description line (for example
|
|
6084
|
+
* "Opened 10 min ago · Nordlys Handel AS"). Matches the Figma "Recent item" component (Default, Current,
|
|
6085
|
+
* Hover, Pressed and Focus).
|
|
6086
|
+
* The row is always a native button and only emits events; it never navigates. `current` marks the app you are in
|
|
6087
|
+
* (`aria-current="true"`); `disabled` dims it, sets `aria-disabled` and removes it from the tab order.
|
|
6088
|
+
* Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the theme's
|
|
6089
|
+
* icon colour through a CSS mask) or any element in the default slot.
|
|
6090
|
+
* ## When to use
|
|
6091
|
+
* - A recently opened app, or a search result with a description, inside `bs-app-switcher`.
|
|
6092
|
+
* ## When not to use
|
|
6093
|
+
* - An app in a launcher grid -- use `bs-app-tile`.
|
|
6094
|
+
* - A generic list row -- use `bs-list-item`.
|
|
6095
|
+
* @prop --bs-app-recent-item-padding-x - Aliased to `--bs-spacing-100`.
|
|
6096
|
+
* @prop --bs-app-recent-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
6097
|
+
* @prop --bs-app-recent-item-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
|
|
6098
|
+
* @prop --bs-app-recent-item-radius - Aliased to `--bs-border-radius-100`.
|
|
6099
|
+
* @prop --bs-app-recent-item-bg - Resting background. `transparent`.
|
|
6100
|
+
* @prop --bs-app-recent-item-bg-hover - Aliased to `--bs-surface-hover`.
|
|
6101
|
+
* @prop --bs-app-recent-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
6102
|
+
* @prop --bs-app-recent-item-bg-current - Aliased to `--bs-surface-selected`.
|
|
6103
|
+
* @prop --bs-app-recent-item-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
|
|
6104
|
+
* @prop --bs-app-recent-item-color - Name colour. Aliased to `--bs-text-default`.
|
|
6105
|
+
* @prop --bs-app-recent-item-color-muted - Description colour. Aliased to `--bs-text-secondary`.
|
|
6106
|
+
* @prop --bs-app-recent-item-color-disabled - Name, description and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
|
|
6107
|
+
* @prop --bs-app-recent-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
6108
|
+
*/
|
|
6109
|
+
interface HTMLBsAppRecentItemElement extends Components.BsAppRecentItem, HTMLStencilElement {
|
|
6110
|
+
}
|
|
6111
|
+
var HTMLBsAppRecentItemElement: {
|
|
6112
|
+
prototype: HTMLBsAppRecentItemElement;
|
|
6113
|
+
new (): HTMLBsAppRecentItemElement;
|
|
6114
|
+
};
|
|
4820
6115
|
/**
|
|
4821
6116
|
* The page frame: a header across the top, and below it a navigation | main | aside row, laid out
|
|
4822
6117
|
* with CSS grid. The main column scrolls independently of the header and the side columns.
|
|
@@ -4844,6 +6139,92 @@ declare global {
|
|
|
4844
6139
|
prototype: HTMLBsAppShellElement;
|
|
4845
6140
|
new (): HTMLBsAppShellElement;
|
|
4846
6141
|
};
|
|
6142
|
+
interface HTMLBsAppSwitcherElementEventMap {
|
|
6143
|
+
"bsAppSelect": BsApp;
|
|
6144
|
+
"bsManage": void;
|
|
6145
|
+
"bsBrowseAll": void;
|
|
6146
|
+
"bsClearSearch": void;
|
|
6147
|
+
"bsRetry": void;
|
|
6148
|
+
"bsRequestAccess": void;
|
|
6149
|
+
"bsQueryChange": string;
|
|
6150
|
+
}
|
|
6151
|
+
/**
|
|
6152
|
+
* The panel of an app launcher ("EG apps"): a header with a "Manage" action, a search field, your apps as a
|
|
6153
|
+
* grid (or Recent plus All apps), search results, and a footer link to browse all products. It also has
|
|
6154
|
+
* no-results, loading, error and empty states. Matches the Figma "App switcher" (states Default, With recent,
|
|
6155
|
+
* Searching, No results, Loading, Error and Empty).
|
|
6156
|
+
* This is the panel only. To open it from a button, wrap it in `bs-popover`.
|
|
6157
|
+
* Built from `bs-card` (panel surface), `bs-input` (search), `bs-app-tile` and `bs-app-recent-item` (apps),
|
|
6158
|
+
* `bs-empty-state` (no results, error, empty), `bs-skeleton` (loading), `bs-button` (Clear search, Try
|
|
6159
|
+
* again, Request access) and `bs-divider`. "Manage" and "Browse all" are native links (or buttons when
|
|
6160
|
+
* there is no URL): `bs-button` has no link mode and the library has no link component.
|
|
6161
|
+
* ## When to use
|
|
6162
|
+
* - Letting a user jump between the products they have access to, from an app header.
|
|
6163
|
+
* ## When not to use
|
|
6164
|
+
* - Navigation inside one app -- use `bs-menu` or the app shell navigation.
|
|
6165
|
+
* - Switching company -- use `bs-company-switcher`.
|
|
6166
|
+
* `apps` and `recent` are arrays and must be set as JS properties. Each app's `icon` is the URL of a
|
|
6167
|
+
* monochrome SVG. You own the data: listen to `bsAppSelect` (cancelable: `preventDefault()` cancels the
|
|
6168
|
+
* originating click), and drive `status` and `query` yourself. An empty `apps` list while `status` is
|
|
6169
|
+
* `ready` shows the empty state.
|
|
6170
|
+
* @prop --bs-app-switcher-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
|
|
6171
|
+
* @prop --bs-app-switcher-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
|
|
6172
|
+
* @prop --bs-app-switcher-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
6173
|
+
* @prop --bs-app-switcher-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
6174
|
+
* @prop --bs-app-switcher-shadow - Panel shadow (elevation level 4). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-higher`.
|
|
6175
|
+
* @prop --bs-app-switcher-padding - Side padding of the content. Aliased to `--bs-spacing-150`.
|
|
6176
|
+
* @prop --bs-app-switcher-text-color - Heading and links in the header. Aliased to `--bs-text-default`.
|
|
6177
|
+
* @prop --bs-app-switcher-header-color - Group headers. Aliased to `--bs-text-secondary`.
|
|
6178
|
+
* @prop --bs-app-switcher-link-color - Browse link. Aliased to `--bs-text-action`.
|
|
6179
|
+
* @prop --bs-app-switcher-focus-ring - Link focus ring. Aliased to `--bs-border-neutral-focus`.
|
|
6180
|
+
*/
|
|
6181
|
+
interface HTMLBsAppSwitcherElement extends Components.BsAppSwitcher, HTMLStencilElement {
|
|
6182
|
+
addEventListener<K extends keyof HTMLBsAppSwitcherElementEventMap>(type: K, listener: (this: HTMLBsAppSwitcherElement, ev: BsAppSwitcherCustomEvent<HTMLBsAppSwitcherElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6183
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6184
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6185
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
6186
|
+
removeEventListener<K extends keyof HTMLBsAppSwitcherElementEventMap>(type: K, listener: (this: HTMLBsAppSwitcherElement, ev: BsAppSwitcherCustomEvent<HTMLBsAppSwitcherElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
6187
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6188
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6189
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
6190
|
+
}
|
|
6191
|
+
var HTMLBsAppSwitcherElement: {
|
|
6192
|
+
prototype: HTMLBsAppSwitcherElement;
|
|
6193
|
+
new (): HTMLBsAppSwitcherElement;
|
|
6194
|
+
};
|
|
6195
|
+
/**
|
|
6196
|
+
* One app in an app launcher: an icon tile above a short label. Matches the Figma "App tile" component
|
|
6197
|
+
* (Size Grid and Compact, each Default, Hover, Pressed, Focus, Current and Disabled).
|
|
6198
|
+
* The tile is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
6199
|
+
* native element; `current` marks the app you are in (`aria-current="true"`); `disabled` dims it, sets
|
|
6200
|
+
* `aria-disabled` and removes it from the tab order.
|
|
6201
|
+
* Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the
|
|
6202
|
+
* theme's icon colour through a CSS mask, so it follows light and dark mode), or any element in the default
|
|
6203
|
+
* slot (an `<svg>` drawn with `currentColor`).
|
|
6204
|
+
* ## When to use
|
|
6205
|
+
* - An app in a launcher grid, usually inside `bs-app-switcher`.
|
|
6206
|
+
* ## When not to use
|
|
6207
|
+
* - A row with a description or "recently opened" line -- use `bs-app-recent-item`.
|
|
6208
|
+
* - A command in a menu -- use `bs-menu-item`.
|
|
6209
|
+
* @prop --bs-app-tile-icon-size - Size of the icon square. `44px` in `grid` (Figma) and `--bs-sizing-400` in `compact`.
|
|
6210
|
+
* @prop --bs-app-tile-padding - Padding inside the tile. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-100` (`compact`).
|
|
6211
|
+
* @prop --bs-app-tile-gap - Gap between icon and label. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-50` (`compact`).
|
|
6212
|
+
* @prop --bs-app-tile-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
6213
|
+
* @prop --bs-app-tile-bg - Resting background. `transparent`.
|
|
6214
|
+
* @prop --bs-app-tile-bg-hover - Aliased to `--bs-surface-hover`.
|
|
6215
|
+
* @prop --bs-app-tile-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
6216
|
+
* @prop --bs-app-tile-bg-current - Aliased to `--bs-surface-selected`.
|
|
6217
|
+
* @prop --bs-app-tile-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
|
|
6218
|
+
* @prop --bs-app-tile-color - Label colour. Aliased to `--bs-text-default`.
|
|
6219
|
+
* @prop --bs-app-tile-color-disabled - Label and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
|
|
6220
|
+
* @prop --bs-app-tile-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
6221
|
+
*/
|
|
6222
|
+
interface HTMLBsAppTileElement extends Components.BsAppTile, HTMLStencilElement {
|
|
6223
|
+
}
|
|
6224
|
+
var HTMLBsAppTileElement: {
|
|
6225
|
+
prototype: HTMLBsAppTileElement;
|
|
6226
|
+
new (): HTMLBsAppTileElement;
|
|
6227
|
+
};
|
|
4847
6228
|
interface HTMLBsAttachmentElementEventMap {
|
|
4848
6229
|
"bsRemove": void;
|
|
4849
6230
|
}
|
|
@@ -5568,6 +6949,135 @@ declare global {
|
|
|
5568
6949
|
prototype: HTMLBsCitationPreviewElement;
|
|
5569
6950
|
new (): HTMLBsCitationPreviewElement;
|
|
5570
6951
|
};
|
|
6952
|
+
interface HTMLBsCommandPaletteElementEventMap {
|
|
6953
|
+
"bsInput": BsCommandPaletteInputDetail;
|
|
6954
|
+
"bsSelect": BsCommandPaletteSelectDetail;
|
|
6955
|
+
"bsSuggestion": string;
|
|
6956
|
+
"bsOpenChange": boolean;
|
|
6957
|
+
"bsScopeExit": void;
|
|
6958
|
+
}
|
|
6959
|
+
/**
|
|
6960
|
+
* A Ctrl+K command palette: a modal with a search field, grouped commands, navigation and records, a
|
|
6961
|
+
* no-results view and a keyboard-hint footer. The data, the filtering, the command registry and the
|
|
6962
|
+
* recent-items storage are all yours: you slot `bs-search-item`s into the sections and set `status`.
|
|
6963
|
+
* Built from a native `<dialog>` (opened with `showModal()`, so focus is trapped, the page behind is inert
|
|
6964
|
+
* and the backdrop is the scrim), `bs-input` (type="search"), `bs-search-item`, `bs-key` (footer hints and
|
|
6965
|
+
* the Esc cap), `bs-chip-informative` (the scope chip) and `bs-spinner` (loading). Slot a `bs-key-caps` with
|
|
6966
|
+
* `slot="trailing"` inside an item to show a command's shortcut.
|
|
6967
|
+
* ## When to use
|
|
6968
|
+
* - An app-wide "do anything" entry point opened with a hotkey: run commands, navigate, open records.
|
|
6969
|
+
* ## When not to use
|
|
6970
|
+
* - A plain search box with a dropdown -- use `bs-global-search`.
|
|
6971
|
+
* - A small list of actions on one control -- use `bs-menu`.
|
|
6972
|
+
* A `>` as the first character of the field switches to commands-only mode (`commandsOnly`, reflected as
|
|
6973
|
+
* `commands-only`). The component filters nothing: listen to `bsInput`, swap the slotted items, set `status`.
|
|
6974
|
+
* Nested (sub-command) palettes are a consumer pattern: swap the slotted commands and set `scopeLabel`.
|
|
6975
|
+
* @prop --bs-command-palette-width - Panel width. Defaults to `640px` (Figma); capped to the viewport.
|
|
6976
|
+
* @prop --bs-command-palette-top - Distance from the top of the viewport. Defaults to `12vh`.
|
|
6977
|
+
* @prop --bs-command-palette-max-height - Max height of the results area. Defaults to `60vh`.
|
|
6978
|
+
* @prop --bs-command-palette-radius - Aliased to `--bs-border-radius-150`.
|
|
6979
|
+
* @prop --bs-command-palette-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
6980
|
+
* @prop --bs-command-palette-shadow - Figma elevation level 4: `0 8px 16px` in `--bs-elevation-higher` (stronger in dark mode).
|
|
6981
|
+
* @prop --bs-command-palette-overlay - Scrim colour. Aliased to `--bs-surface-overlay`.
|
|
6982
|
+
* @prop --bs-command-palette-footer-bg - Aliased to `--bs-surface-container`.
|
|
6983
|
+
* @prop --bs-command-palette-divider-color - Aliased to `--bs-border-default`.
|
|
6984
|
+
* @prop --bs-command-palette-header-border-color - Aliased to `--bs-border-neutral-container`.
|
|
6985
|
+
* @prop --bs-command-palette-header-color - Aliased to `--bs-text-muted`.
|
|
6986
|
+
* @prop --bs-command-palette-hint-color - Aliased to `--bs-text-secondary`.
|
|
6987
|
+
* @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
|
|
6988
|
+
*/
|
|
6989
|
+
interface HTMLBsCommandPaletteElement extends Components.BsCommandPalette, HTMLStencilElement {
|
|
6990
|
+
addEventListener<K extends keyof HTMLBsCommandPaletteElementEventMap>(type: K, listener: (this: HTMLBsCommandPaletteElement, ev: BsCommandPaletteCustomEvent<HTMLBsCommandPaletteElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6991
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6992
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6993
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
6994
|
+
removeEventListener<K extends keyof HTMLBsCommandPaletteElementEventMap>(type: K, listener: (this: HTMLBsCommandPaletteElement, ev: BsCommandPaletteCustomEvent<HTMLBsCommandPaletteElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
6995
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6996
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
6997
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
6998
|
+
}
|
|
6999
|
+
var HTMLBsCommandPaletteElement: {
|
|
7000
|
+
prototype: HTMLBsCommandPaletteElement;
|
|
7001
|
+
new (): HTMLBsCommandPaletteElement;
|
|
7002
|
+
};
|
|
7003
|
+
/**
|
|
7004
|
+
* A plain text entry in a mega menu: one line, no icon. Matches the Figma "Compact menu block" component
|
|
7005
|
+
* (Default, Hover, Pressed and Focused).
|
|
7006
|
+
* The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
7007
|
+
* native element.
|
|
7008
|
+
* ## When to use
|
|
7009
|
+
* - A dense list of destinations in a mega menu, usually inside `bs-mega-menu` with `type="compact"`.
|
|
7010
|
+
* ## When not to use
|
|
7011
|
+
* - A destination that needs an icon or a description -- use `bs-menu-block`.
|
|
7012
|
+
* - A command in a dropdown list -- use `bs-menu-item`.
|
|
7013
|
+
* @prop --bs-compact-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-100`.
|
|
7014
|
+
* @prop --bs-compact-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
7015
|
+
* @prop --bs-compact-menu-block-bg - Resting background. `transparent`.
|
|
7016
|
+
* @prop --bs-compact-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
|
|
7017
|
+
* @prop --bs-compact-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
7018
|
+
* @prop --bs-compact-menu-block-color - Text colour. Aliased to `--bs-text-default`.
|
|
7019
|
+
* @prop --bs-compact-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
|
|
7020
|
+
*/
|
|
7021
|
+
interface HTMLBsCompactMenuBlockElement extends Components.BsCompactMenuBlock, HTMLStencilElement {
|
|
7022
|
+
}
|
|
7023
|
+
var HTMLBsCompactMenuBlockElement: {
|
|
7024
|
+
prototype: HTMLBsCompactMenuBlockElement;
|
|
7025
|
+
new (): HTMLBsCompactMenuBlockElement;
|
|
7026
|
+
};
|
|
7027
|
+
interface HTMLBsCompanySwitcherElementEventMap {
|
|
7028
|
+
"bsCompanySwitch": BsCompany;
|
|
7029
|
+
"bsManageCompanies": void;
|
|
7030
|
+
"bsAddCompanies": void;
|
|
7031
|
+
"bsOpenChange": boolean;
|
|
7032
|
+
}
|
|
7033
|
+
/**
|
|
7034
|
+
* A company (tenant) switcher: a trigger showing the current company, and a panel to find and switch to
|
|
7035
|
+
* another one. The panel has a search field, the current / recent / all groups, a filtered "matches" view,
|
|
7036
|
+
* a no-results state and a footer with "Manage Companies" and "Add companies" actions.
|
|
7037
|
+
* Built from `bs-popover` (open/close, Escape, outside click, flipping), `bs-card` (panel surface),
|
|
7038
|
+
* `bs-input` (search), `bs-list-item` (rows), `bs-avatar` (initials), `bs-spinner` (switching),
|
|
7039
|
+
* `bs-empty-state` (no results), `bs-divider` and `bs-button` (footer). The trigger is a native `<button>`:
|
|
7040
|
+
* no `bs-*` component is a composite "avatar + two lines + chevron" button.
|
|
7041
|
+
* ## When to use
|
|
7042
|
+
* - An app header or side navigation where a user belongs to several companies and works in one at a time.
|
|
7043
|
+
* ## When not to use
|
|
7044
|
+
* - Picking a value in a form -- use `bs-input type="dropdown"`.
|
|
7045
|
+
* - Switching between a handful of fixed views -- use `bs-tab`.
|
|
7046
|
+
* `companies` is an array and must be set as a JS property. You own the data and the switch itself: listen to
|
|
7047
|
+
* `bsCompanySwitch`, do the work, then update `currentId`. To show the switching state set `switchingId`
|
|
7048
|
+
* (from the `bsCompanySwitch` handler, or later) and the panel stays open until you clear it and set `open`
|
|
7049
|
+
* to `false`. If `switchingId` is not set by the time the handler returns, the panel closes immediately.
|
|
7050
|
+
* @prop --bs-company-switcher-width - Trigger width. Defaults to `260px` (Figma); capped at 100%.
|
|
7051
|
+
* @prop --bs-company-switcher-panel-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
|
|
7052
|
+
* @prop --bs-company-switcher-radius - Trigger and panel corner radius. Aliased to `--bs-border-radius-100`.
|
|
7053
|
+
* @prop --bs-company-switcher-trigger-bg - Trigger resting background. `transparent`.
|
|
7054
|
+
* @prop --bs-company-switcher-trigger-bg-hover - Aliased to `--bs-surface-hover`.
|
|
7055
|
+
* @prop --bs-company-switcher-trigger-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
7056
|
+
* @prop --bs-company-switcher-trigger-bg-open - Aliased to `--bs-surface-selected`.
|
|
7057
|
+
* @prop --bs-company-switcher-focus-ring - Trigger focus outline. Aliased to `--bs-border-neutral-focus`.
|
|
7058
|
+
* @prop --bs-company-switcher-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
7059
|
+
* @prop --bs-company-switcher-panel-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
7060
|
+
* @prop --bs-company-switcher-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
|
|
7061
|
+
* @prop --bs-company-switcher-max-height - Maximum height of the scrolling list. Defaults to `320px`.
|
|
7062
|
+
* @prop --bs-company-switcher-text-color - Names. Aliased to `--bs-text-default`.
|
|
7063
|
+
* @prop --bs-company-switcher-muted-color - Org. numbers. Aliased to `--bs-text-secondary`.
|
|
7064
|
+
* @prop --bs-company-switcher-header-color - Group headers. Aliased to `--bs-text-muted`.
|
|
7065
|
+
* @prop --bs-company-switcher-z-index - Panel stacking. Aliased to `--bs-z-index-popover`.
|
|
7066
|
+
*/
|
|
7067
|
+
interface HTMLBsCompanySwitcherElement extends Components.BsCompanySwitcher, HTMLStencilElement {
|
|
7068
|
+
addEventListener<K extends keyof HTMLBsCompanySwitcherElementEventMap>(type: K, listener: (this: HTMLBsCompanySwitcherElement, ev: BsCompanySwitcherCustomEvent<HTMLBsCompanySwitcherElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7069
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7070
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7071
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
7072
|
+
removeEventListener<K extends keyof HTMLBsCompanySwitcherElementEventMap>(type: K, listener: (this: HTMLBsCompanySwitcherElement, ev: BsCompanySwitcherCustomEvent<HTMLBsCompanySwitcherElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
7073
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7074
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7075
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
7076
|
+
}
|
|
7077
|
+
var HTMLBsCompanySwitcherElement: {
|
|
7078
|
+
prototype: HTMLBsCompanySwitcherElement;
|
|
7079
|
+
new (): HTMLBsCompanySwitcherElement;
|
|
7080
|
+
};
|
|
5571
7081
|
interface HTMLBsComposerElementEventMap {
|
|
5572
7082
|
"bsInput": string;
|
|
5573
7083
|
"bsSubmit": void;
|
|
@@ -5883,6 +7393,29 @@ declare global {
|
|
|
5883
7393
|
prototype: HTMLBsDividerElement;
|
|
5884
7394
|
new (): HTMLBsDividerElement;
|
|
5885
7395
|
};
|
|
7396
|
+
/**
|
|
7397
|
+
* A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
|
|
7398
|
+
* Used for empty lists, "no results" and error states inside a panel, card or page section.
|
|
7399
|
+
* Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
|
|
7400
|
+
* The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
|
|
7401
|
+
* element that stays in the DOM while this block appears and disappears).
|
|
7402
|
+
* ## When to use
|
|
7403
|
+
* - A list, table or search result that has nothing to show, or failed to load.
|
|
7404
|
+
* ## When not to use
|
|
7405
|
+
* - A full-page error with a status code -- use `bs-error-page`.
|
|
7406
|
+
* - A transient message -- use `bs-toast` or `bs-snackbar`.
|
|
7407
|
+
* @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
|
|
7408
|
+
* @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
|
|
7409
|
+
* @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
|
|
7410
|
+
* @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
|
|
7411
|
+
* @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
|
|
7412
|
+
*/
|
|
7413
|
+
interface HTMLBsEmptyStateElement extends Components.BsEmptyState, HTMLStencilElement {
|
|
7414
|
+
}
|
|
7415
|
+
var HTMLBsEmptyStateElement: {
|
|
7416
|
+
prototype: HTMLBsEmptyStateElement;
|
|
7417
|
+
new (): HTMLBsEmptyStateElement;
|
|
7418
|
+
};
|
|
5886
7419
|
interface HTMLBsErrorPageElementEventMap {
|
|
5887
7420
|
"bsPrimary": void;
|
|
5888
7421
|
"bsSecondary": void;
|
|
@@ -5973,6 +7506,60 @@ declare global {
|
|
|
5973
7506
|
prototype: HTMLBsFileUploadItemElement;
|
|
5974
7507
|
new (): HTMLBsFileUploadItemElement;
|
|
5975
7508
|
};
|
|
7509
|
+
interface HTMLBsGlobalSearchElementEventMap {
|
|
7510
|
+
"bsInput": string;
|
|
7511
|
+
"bsSearch": string;
|
|
7512
|
+
"bsSelect": BsGlobalSearchSelectDetail;
|
|
7513
|
+
"bsOpenChange": boolean;
|
|
7514
|
+
"bsClearRecent": void;
|
|
7515
|
+
"bsClearSearch": void;
|
|
7516
|
+
"bsSeeAll": void;
|
|
7517
|
+
"bsRetry": void;
|
|
7518
|
+
}
|
|
7519
|
+
/**
|
|
7520
|
+
* A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
|
|
7521
|
+
* or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
|
|
7522
|
+
* are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
|
|
7523
|
+
* Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
|
|
7524
|
+
* `bs-button` and `bs-key` (the footer keycaps).
|
|
7525
|
+
* ## When to use
|
|
7526
|
+
* - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
|
|
7527
|
+
* ## When not to use
|
|
7528
|
+
* - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
|
|
7529
|
+
* - A list of commands or actions -- use `bs-menu`.
|
|
7530
|
+
* - The complete result set -- link to a full search results page ("See all results").
|
|
7531
|
+
* Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
|
|
7532
|
+
* `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
|
|
7533
|
+
* content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
|
|
7534
|
+
* Known limit: the items are in your light DOM and the combobox in this shadow root, so
|
|
7535
|
+
* `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
|
|
7536
|
+
* highlighted option also gets `aria-selected="true"`.
|
|
7537
|
+
* @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
|
|
7538
|
+
* @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
|
|
7539
|
+
* @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
|
|
7540
|
+
* @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
|
|
7541
|
+
* @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
7542
|
+
* @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).
|
|
7543
|
+
* @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
|
|
7544
|
+
* @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
|
|
7545
|
+
* @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
|
|
7546
|
+
* @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
|
|
7547
|
+
* @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
|
|
7548
|
+
*/
|
|
7549
|
+
interface HTMLBsGlobalSearchElement extends Components.BsGlobalSearch, HTMLStencilElement {
|
|
7550
|
+
addEventListener<K extends keyof HTMLBsGlobalSearchElementEventMap>(type: K, listener: (this: HTMLBsGlobalSearchElement, ev: BsGlobalSearchCustomEvent<HTMLBsGlobalSearchElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7551
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7552
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7553
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
7554
|
+
removeEventListener<K extends keyof HTMLBsGlobalSearchElementEventMap>(type: K, listener: (this: HTMLBsGlobalSearchElement, ev: BsGlobalSearchCustomEvent<HTMLBsGlobalSearchElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
7555
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7556
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7557
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
7558
|
+
}
|
|
7559
|
+
var HTMLBsGlobalSearchElement: {
|
|
7560
|
+
prototype: HTMLBsGlobalSearchElement;
|
|
7561
|
+
new (): HTMLBsGlobalSearchElement;
|
|
7562
|
+
};
|
|
5976
7563
|
/**
|
|
5977
7564
|
* A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
|
|
5978
7565
|
* `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
|
|
@@ -6120,6 +7707,89 @@ declare global {
|
|
|
6120
7707
|
prototype: HTMLBsInputElement;
|
|
6121
7708
|
new (): HTMLBsInputElement;
|
|
6122
7709
|
};
|
|
7710
|
+
/**
|
|
7711
|
+
* One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
|
|
7712
|
+
* Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
|
|
7713
|
+
* ## When to use
|
|
7714
|
+
* - Showing a keyboard shortcut hint next to a control or inside a search field.
|
|
7715
|
+
* - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
|
|
7716
|
+
* ## When not to use
|
|
7717
|
+
* - As a button or any clickable control -- a key is a static hint, not interactive.
|
|
7718
|
+
* @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
|
|
7719
|
+
* @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
|
|
7720
|
+
* @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
|
|
7721
|
+
* @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
|
|
7722
|
+
* @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
|
|
7723
|
+
* @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
|
|
7724
|
+
* @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
|
|
7725
|
+
* @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
|
|
7726
|
+
* @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
|
|
7727
|
+
*/
|
|
7728
|
+
interface HTMLBsKeyElement extends Components.BsKey, HTMLStencilElement {
|
|
7729
|
+
}
|
|
7730
|
+
var HTMLBsKeyElement: {
|
|
7731
|
+
prototype: HTMLBsKeyElement;
|
|
7732
|
+
new (): HTMLBsKeyElement;
|
|
7733
|
+
};
|
|
7734
|
+
/**
|
|
7735
|
+
* A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
|
|
7736
|
+
* (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
|
|
7737
|
+
* elements -- for example when a key is an icon.
|
|
7738
|
+
* ## When to use
|
|
7739
|
+
* - A shortcut hint beside a menu item, button or inside a search field.
|
|
7740
|
+
* ## When not to use
|
|
7741
|
+
* - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
|
|
7742
|
+
* - Anything interactive -- keys are static hints.
|
|
7743
|
+
* @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
|
|
7744
|
+
* @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
|
|
7745
|
+
* @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
|
|
7746
|
+
*/
|
|
7747
|
+
interface HTMLBsKeyCapsElement extends Components.BsKeyCaps, HTMLStencilElement {
|
|
7748
|
+
}
|
|
7749
|
+
var HTMLBsKeyCapsElement: {
|
|
7750
|
+
prototype: HTMLBsKeyCapsElement;
|
|
7751
|
+
new (): HTMLBsKeyCapsElement;
|
|
7752
|
+
};
|
|
7753
|
+
interface HTMLBsKeyboardShortcutsElementEventMap {
|
|
7754
|
+
"bsClose": void;
|
|
7755
|
+
"bsQueryChange": string;
|
|
7756
|
+
"bsSingleKeyChange": boolean;
|
|
7757
|
+
}
|
|
7758
|
+
/**
|
|
7759
|
+
* A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
|
|
7760
|
+
* optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
|
|
7761
|
+
* surface, not a modal -- place it inside `bs-dialog` or a popover.
|
|
7762
|
+
* Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
|
|
7763
|
+
* `bs-key-caps` / `bs-key`).
|
|
7764
|
+
* ## When to use
|
|
7765
|
+
* - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
|
|
7766
|
+
* ## When not to use
|
|
7767
|
+
* - A long-form help page or documentation -- link to it instead.
|
|
7768
|
+
* - A list of commands the user can run from it -- use `bs-menu`.
|
|
7769
|
+
* @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
|
|
7770
|
+
* @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
7771
|
+
* @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
|
|
7772
|
+
* @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
|
|
7773
|
+
* @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
|
|
7774
|
+
* @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).
|
|
7775
|
+
* @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
|
|
7776
|
+
* @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
|
|
7777
|
+
* @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
|
|
7778
|
+
*/
|
|
7779
|
+
interface HTMLBsKeyboardShortcutsElement extends Components.BsKeyboardShortcuts, HTMLStencilElement {
|
|
7780
|
+
addEventListener<K extends keyof HTMLBsKeyboardShortcutsElementEventMap>(type: K, listener: (this: HTMLBsKeyboardShortcutsElement, ev: BsKeyboardShortcutsCustomEvent<HTMLBsKeyboardShortcutsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7781
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7782
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7783
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
7784
|
+
removeEventListener<K extends keyof HTMLBsKeyboardShortcutsElementEventMap>(type: K, listener: (this: HTMLBsKeyboardShortcutsElement, ev: BsKeyboardShortcutsCustomEvent<HTMLBsKeyboardShortcutsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
7785
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7786
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7787
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
7788
|
+
}
|
|
7789
|
+
var HTMLBsKeyboardShortcutsElement: {
|
|
7790
|
+
prototype: HTMLBsKeyboardShortcutsElement;
|
|
7791
|
+
new (): HTMLBsKeyboardShortcutsElement;
|
|
7792
|
+
};
|
|
6123
7793
|
interface HTMLBsListElementEventMap {
|
|
6124
7794
|
"bsChange": string | null;
|
|
6125
7795
|
}
|
|
@@ -6234,6 +7904,58 @@ declare global {
|
|
|
6234
7904
|
prototype: HTMLBsLogoElement;
|
|
6235
7905
|
new (): HTMLBsLogoElement;
|
|
6236
7906
|
};
|
|
7907
|
+
interface HTMLBsMegaMenuElementEventMap {
|
|
7908
|
+
"bsMenuSelect": BsMegaMenuItem;
|
|
7909
|
+
"bsClose": void;
|
|
7910
|
+
}
|
|
7911
|
+
/**
|
|
7912
|
+
* The dropdown panel under a navigation header tab: columns of links grouped under headings, an optional
|
|
7913
|
+
* featured area on the right, and a footer with recently used items and a shortcut hint. Matches the Figma
|
|
7914
|
+
* "Mega menu" (types Columns, Column with featured, Compact and Compact with featured).
|
|
7915
|
+
* This is the panel only. Put it in `bs-navigation-header`'s `menu` slot, which anchors it under the bar at the
|
|
7916
|
+
* header's full width, and toggle the host's `hidden` attribute from the tab that
|
|
7917
|
+
* opens it; the panel does not open or close itself. Escape inside the panel fires `bsClose` so you can close it.
|
|
7918
|
+
* Built from `bs-card` (panel surface), `bs-menu-block` or `bs-compact-menu-block` (the links), `bs-divider` and
|
|
7919
|
+
* `bs-key-caps` (the shortcut). The column layout, headings, featured text and footer row are plain layout
|
|
7920
|
+
* markup: no component covers them.
|
|
7921
|
+
* ## Responsive
|
|
7922
|
+
* The panel reacts to its own width (a container query), not the viewport's. Below 600px it becomes one column (heading
|
|
7923
|
+
* above its links, featured area below), titles and descriptions wrap, links are at least 44px tall, the footer stacks
|
|
7924
|
+
* and the default shortcut hint is hidden (`display: none`; a keyboard hint means nothing on a touch screen). A custom
|
|
7925
|
+
* `footer-end` slot is not hidden.
|
|
7926
|
+
* ## When to use
|
|
7927
|
+
* - A header tab that leads to many destinations that need grouping (Sell, Finance, Inventory).
|
|
7928
|
+
* ## When not to use
|
|
7929
|
+
* - A short list of commands -- use `bs-menu` in a `bs-popover`.
|
|
7930
|
+
* - Switching app or company -- use `bs-app-switcher` or `bs-company-switcher`.
|
|
7931
|
+
* `columns`, `featured` and `recent` are arrays or objects and must be set as JS properties. Each item's `icon` is
|
|
7932
|
+
* the URL of a monochrome SVG. You own the data: listen to `bsMenuSelect` (cancelable: `preventDefault()` cancels the
|
|
7933
|
+
* originating click).
|
|
7934
|
+
* @prop --bs-mega-menu-width - Panel width. Defaults to `1100px` (Figma); capped at the viewport.
|
|
7935
|
+
* @prop --bs-mega-menu-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
|
|
7936
|
+
* @prop --bs-mega-menu-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
7937
|
+
* @prop --bs-mega-menu-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
7938
|
+
* @prop --bs-mega-menu-shadow - Panel shadow (elevation level 3). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-high`.
|
|
7939
|
+
* @prop --bs-mega-menu-padding - Padding around the columns. Aliased to `--bs-spacing-300` and `--bs-spacing-350`.
|
|
7940
|
+
* @prop --bs-mega-menu-gap - Gap between columns. Aliased to `--bs-spacing-300`.
|
|
7941
|
+
* @prop --bs-mega-menu-heading-color - Column headings. Aliased to `--bs-text-muted`.
|
|
7942
|
+
* @prop --bs-mega-menu-text-color - Featured title. Aliased to `--bs-text-default`.
|
|
7943
|
+
* @prop --bs-mega-menu-muted-color - Featured description and footer text. Aliased to `--bs-text-secondary`.
|
|
7944
|
+
*/
|
|
7945
|
+
interface HTMLBsMegaMenuElement extends Components.BsMegaMenu, HTMLStencilElement {
|
|
7946
|
+
addEventListener<K extends keyof HTMLBsMegaMenuElementEventMap>(type: K, listener: (this: HTMLBsMegaMenuElement, ev: BsMegaMenuCustomEvent<HTMLBsMegaMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7947
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7948
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
7949
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
7950
|
+
removeEventListener<K extends keyof HTMLBsMegaMenuElementEventMap>(type: K, listener: (this: HTMLBsMegaMenuElement, ev: BsMegaMenuCustomEvent<HTMLBsMegaMenuElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
7951
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7952
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7953
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
7954
|
+
}
|
|
7955
|
+
var HTMLBsMegaMenuElement: {
|
|
7956
|
+
prototype: HTMLBsMegaMenuElement;
|
|
7957
|
+
new (): HTMLBsMegaMenuElement;
|
|
7958
|
+
};
|
|
6237
7959
|
/**
|
|
6238
7960
|
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
6239
7961
|
* `bs-menu-item` elements).
|
|
@@ -6255,6 +7977,37 @@ declare global {
|
|
|
6255
7977
|
prototype: HTMLBsMenuElement;
|
|
6256
7978
|
new (): HTMLBsMenuElement;
|
|
6257
7979
|
};
|
|
7980
|
+
/**
|
|
7981
|
+
* A rich entry in a mega menu: an icon tile, a title with an optional "New" chip, and a one-line description.
|
|
7982
|
+
* Matches the Figma "Menu block" component (Default, Hover, Pressed and Focused).
|
|
7983
|
+
* The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
7984
|
+
* native element. Its accessible name is its text: the title, the badge and the description, read once.
|
|
7985
|
+
* Built from `bs-icon-tile` (the icon) and `bs-chip-informative` (the badge). The icon is either a URL of a
|
|
7986
|
+
* monochrome SVG in `icon` (painted with the theme's icon colour through a CSS mask, so it follows light and
|
|
7987
|
+
* dark mode), or any element in the default slot (an `<svg>` drawn with `currentColor`).
|
|
7988
|
+
* ## When to use
|
|
7989
|
+
* - A destination in a mega menu that needs an icon and a sentence of explanation, usually inside `bs-mega-menu`.
|
|
7990
|
+
* ## When not to use
|
|
7991
|
+
* - A plain text destination -- use `bs-compact-menu-block`.
|
|
7992
|
+
* - A command in a dropdown list -- use `bs-menu-item`.
|
|
7993
|
+
* @prop --bs-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-150`.
|
|
7994
|
+
* @prop --bs-menu-block-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
|
|
7995
|
+
* @prop --bs-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
7996
|
+
* @prop --bs-menu-block-bg - Resting background. `transparent`.
|
|
7997
|
+
* @prop --bs-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
|
|
7998
|
+
* @prop --bs-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
7999
|
+
* @prop --bs-menu-block-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered or pressed.
|
|
8000
|
+
* @prop --bs-menu-block-color - Title colour. Aliased to `--bs-text-default`.
|
|
8001
|
+
* @prop --bs-menu-block-color-muted - Description colour. Aliased to `--bs-text-secondary`.
|
|
8002
|
+
* @prop --bs-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
|
|
8003
|
+
* @prop --bs-menu-block-white-space - `white-space` of the title and description. `nowrap` (single line, ellipsis); set `normal` to let them wrap.
|
|
8004
|
+
*/
|
|
8005
|
+
interface HTMLBsMenuBlockElement extends Components.BsMenuBlock, HTMLStencilElement {
|
|
8006
|
+
}
|
|
8007
|
+
var HTMLBsMenuBlockElement: {
|
|
8008
|
+
prototype: HTMLBsMenuBlockElement;
|
|
8009
|
+
new (): HTMLBsMenuBlockElement;
|
|
8010
|
+
};
|
|
6258
8011
|
interface HTMLBsMenuItemElementEventMap {
|
|
6259
8012
|
"bsSelect": void;
|
|
6260
8013
|
}
|
|
@@ -6530,6 +8283,64 @@ declare global {
|
|
|
6530
8283
|
prototype: HTMLBsOnboardingChecklistElement;
|
|
6531
8284
|
new (): HTMLBsOnboardingChecklistElement;
|
|
6532
8285
|
};
|
|
8286
|
+
interface HTMLBsPageHeaderElementEventMap {
|
|
8287
|
+
"bsBack": void;
|
|
8288
|
+
"bsFavoriteChange": { favorite: boolean };
|
|
8289
|
+
}
|
|
8290
|
+
/**
|
|
8291
|
+
* The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
|
|
8292
|
+
* optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
|
|
8293
|
+
* optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
|
|
8294
|
+
* compact).
|
|
8295
|
+
* Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
|
|
8296
|
+
* buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
|
|
8297
|
+
* `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
|
|
8298
|
+
* actions area are plain layout markup, because no component covers them. The back arrow and the star are
|
|
8299
|
+
* inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
|
|
8300
|
+
* ## Compact (sticky)
|
|
8301
|
+
* `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
|
|
8302
|
+
* meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
|
|
8303
|
+
* from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
|
|
8304
|
+
* `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
|
|
8305
|
+
* ## Responsive
|
|
8306
|
+
* The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
|
|
8307
|
+
* below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
|
|
8308
|
+
* sideways inside itself. The page never gets wider.
|
|
8309
|
+
* ## When to use
|
|
8310
|
+
* - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
|
|
8311
|
+
* ## When not to use
|
|
8312
|
+
* - The app-wide bar with logo, search and user: use `bs-navigation-header`.
|
|
8313
|
+
* - The heading of a card, dialog or panel: use that component's own `heading`.
|
|
8314
|
+
* ## Accessibility notes
|
|
8315
|
+
* The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
|
|
8316
|
+
* is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
|
|
8317
|
+
* status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
|
|
8318
|
+
* @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
|
|
8319
|
+
* @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
|
|
8320
|
+
* @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
|
|
8321
|
+
* @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
|
|
8322
|
+
* @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
|
|
8323
|
+
* @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
|
|
8324
|
+
* @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
|
|
8325
|
+
* @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
|
|
8326
|
+
* @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
|
|
8327
|
+
* @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
|
|
8328
|
+
* @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
|
|
8329
|
+
*/
|
|
8330
|
+
interface HTMLBsPageHeaderElement extends Components.BsPageHeader, HTMLStencilElement {
|
|
8331
|
+
addEventListener<K extends keyof HTMLBsPageHeaderElementEventMap>(type: K, listener: (this: HTMLBsPageHeaderElement, ev: BsPageHeaderCustomEvent<HTMLBsPageHeaderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8332
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8333
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8334
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
8335
|
+
removeEventListener<K extends keyof HTMLBsPageHeaderElementEventMap>(type: K, listener: (this: HTMLBsPageHeaderElement, ev: BsPageHeaderCustomEvent<HTMLBsPageHeaderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
8336
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
8337
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
8338
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
8339
|
+
}
|
|
8340
|
+
var HTMLBsPageHeaderElement: {
|
|
8341
|
+
prototype: HTMLBsPageHeaderElement;
|
|
8342
|
+
new (): HTMLBsPageHeaderElement;
|
|
8343
|
+
};
|
|
6533
8344
|
interface HTMLBsPaginationElementEventMap {
|
|
6534
8345
|
"bsPageChange": number;
|
|
6535
8346
|
}
|
|
@@ -6739,6 +8550,47 @@ declare global {
|
|
|
6739
8550
|
prototype: HTMLBsRadioElement;
|
|
6740
8551
|
new (): HTMLBsRadioElement;
|
|
6741
8552
|
};
|
|
8553
|
+
interface HTMLBsSearchItemElementEventMap {
|
|
8554
|
+
"bsItemSelect": string | undefined;
|
|
8555
|
+
}
|
|
8556
|
+
/**
|
|
8557
|
+
* One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
|
|
8558
|
+
* description line and trailing text. Static, not focusable -- focus stays in the search field and the
|
|
8559
|
+
* parent (`bs-global-search`) marks the highlighted row with `active`.
|
|
8560
|
+
* Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
|
|
8561
|
+
* the same pattern as `bs-list-item` and `bs-shortcut-row`.
|
|
8562
|
+
* ## When to use
|
|
8563
|
+
* - A suggestion, recent search or result inside `bs-global-search`.
|
|
8564
|
+
* ## When not to use
|
|
8565
|
+
* - A row in a generic list -- use `bs-list-item`.
|
|
8566
|
+
* - A command in a popup menu -- use `bs-menu-item`.
|
|
8567
|
+
* @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
|
|
8568
|
+
* @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
8569
|
+
* @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
|
|
8570
|
+
* @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
|
|
8571
|
+
* @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
|
|
8572
|
+
* @prop --bs-search-item-bg - Resting background. `transparent`.
|
|
8573
|
+
* @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
|
|
8574
|
+
* @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
8575
|
+
* @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
|
|
8576
|
+
* @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
|
|
8577
|
+
* @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
8578
|
+
* @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
|
|
8579
|
+
*/
|
|
8580
|
+
interface HTMLBsSearchItemElement extends Components.BsSearchItem, HTMLStencilElement {
|
|
8581
|
+
addEventListener<K extends keyof HTMLBsSearchItemElementEventMap>(type: K, listener: (this: HTMLBsSearchItemElement, ev: BsSearchItemCustomEvent<HTMLBsSearchItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8582
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8583
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
8584
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
8585
|
+
removeEventListener<K extends keyof HTMLBsSearchItemElementEventMap>(type: K, listener: (this: HTMLBsSearchItemElement, ev: BsSearchItemCustomEvent<HTMLBsSearchItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
8586
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
8587
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
8588
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
8589
|
+
}
|
|
8590
|
+
var HTMLBsSearchItemElement: {
|
|
8591
|
+
prototype: HTMLBsSearchItemElement;
|
|
8592
|
+
new (): HTMLBsSearchItemElement;
|
|
8593
|
+
};
|
|
6742
8594
|
interface HTMLBsSessionTimeoutElementEventMap {
|
|
6743
8595
|
"bsPrimary": { password?: string } | void;
|
|
6744
8596
|
"bsSecondary": void;
|
|
@@ -6786,6 +8638,28 @@ declare global {
|
|
|
6786
8638
|
prototype: HTMLBsSessionTimeoutElement;
|
|
6787
8639
|
new (): HTMLBsSessionTimeoutElement;
|
|
6788
8640
|
};
|
|
8641
|
+
/**
|
|
8642
|
+
* One row of a shortcut list: an action label on the left and its keyboard shortcut on the right.
|
|
8643
|
+
* Static information, not interactive. Standalone it has no role; `bs-keyboard-shortcuts` sets
|
|
8644
|
+
* `selectionRole="listitem"` on its rows (same pattern as `bs-list-item`).
|
|
8645
|
+
* Built from `bs-key-caps` (and so `bs-key`).
|
|
8646
|
+
* ## When to use
|
|
8647
|
+
* - A line in a keyboard-shortcut reference, usually inside `bs-keyboard-shortcuts`.
|
|
8648
|
+
* ## When not to use
|
|
8649
|
+
* - A clickable command or menu entry -- use `bs-menu-item` (which has its own shortcut slot).
|
|
8650
|
+
* @prop --bs-shortcut-row-height - Row height. Defaults to `36px` (Figma).
|
|
8651
|
+
* @prop --bs-shortcut-row-padding-x - Horizontal padding. Aliased to `--bs-spacing-100`.
|
|
8652
|
+
* @prop --bs-shortcut-row-gap - Gap between label and keys. Aliased to `--bs-spacing-100`.
|
|
8653
|
+
* @prop --bs-shortcut-row-radius - Corner radius. Aliased to `--bs-border-radius-75`.
|
|
8654
|
+
* @prop --bs-shortcut-row-color - Label colour. Aliased to `--bs-text-default`.
|
|
8655
|
+
* @prop --bs-shortcut-row-color-disabled - Label colour while `disabled`. Aliased to `--bs-text-on-disabled`.
|
|
8656
|
+
*/
|
|
8657
|
+
interface HTMLBsShortcutRowElement extends Components.BsShortcutRow, HTMLStencilElement {
|
|
8658
|
+
}
|
|
8659
|
+
var HTMLBsShortcutRowElement: {
|
|
8660
|
+
prototype: HTMLBsShortcutRowElement;
|
|
8661
|
+
new (): HTMLBsShortcutRowElement;
|
|
8662
|
+
};
|
|
6789
8663
|
interface HTMLBsSidePanelElementEventMap {
|
|
6790
8664
|
"bsClose": void;
|
|
6791
8665
|
}
|
|
@@ -7435,7 +9309,10 @@ declare global {
|
|
|
7435
9309
|
"bs-ai-disclaimer": HTMLBsAiDisclaimerElement;
|
|
7436
9310
|
"bs-ai-greeting": HTMLBsAiGreetingElement;
|
|
7437
9311
|
"bs-ai-thinking": HTMLBsAiThinkingElement;
|
|
9312
|
+
"bs-app-recent-item": HTMLBsAppRecentItemElement;
|
|
7438
9313
|
"bs-app-shell": HTMLBsAppShellElement;
|
|
9314
|
+
"bs-app-switcher": HTMLBsAppSwitcherElement;
|
|
9315
|
+
"bs-app-tile": HTMLBsAppTileElement;
|
|
7439
9316
|
"bs-attachment": HTMLBsAttachmentElement;
|
|
7440
9317
|
"bs-attachment-list": HTMLBsAttachmentListElement;
|
|
7441
9318
|
"bs-avatar": HTMLBsAvatarElement;
|
|
@@ -7458,6 +9335,9 @@ declare global {
|
|
|
7458
9335
|
"bs-chip-informative": HTMLBsChipInformativeElement;
|
|
7459
9336
|
"bs-chip-input": HTMLBsChipInputElement;
|
|
7460
9337
|
"bs-citation-preview": HTMLBsCitationPreviewElement;
|
|
9338
|
+
"bs-command-palette": HTMLBsCommandPaletteElement;
|
|
9339
|
+
"bs-compact-menu-block": HTMLBsCompactMenuBlockElement;
|
|
9340
|
+
"bs-company-switcher": HTMLBsCompanySwitcherElement;
|
|
7461
9341
|
"bs-composer": HTMLBsComposerElement;
|
|
7462
9342
|
"bs-composer-status-banner": HTMLBsComposerStatusBannerElement;
|
|
7463
9343
|
"bs-container": HTMLBsContainerElement;
|
|
@@ -7466,18 +9346,25 @@ declare global {
|
|
|
7466
9346
|
"bs-datepicker": HTMLBsDatepickerElement;
|
|
7467
9347
|
"bs-dialog": HTMLBsDialogElement;
|
|
7468
9348
|
"bs-divider": HTMLBsDividerElement;
|
|
9349
|
+
"bs-empty-state": HTMLBsEmptyStateElement;
|
|
7469
9350
|
"bs-error-page": HTMLBsErrorPageElement;
|
|
7470
9351
|
"bs-file-upload": HTMLBsFileUploadElement;
|
|
7471
9352
|
"bs-file-upload-item": HTMLBsFileUploadItemElement;
|
|
9353
|
+
"bs-global-search": HTMLBsGlobalSearchElement;
|
|
7472
9354
|
"bs-grid": HTMLBsGridElement;
|
|
7473
9355
|
"bs-icon-button": HTMLBsIconButtonElement;
|
|
7474
9356
|
"bs-icon-tile": HTMLBsIconTileElement;
|
|
7475
9357
|
"bs-inline-tab": HTMLBsInlineTabElement;
|
|
7476
9358
|
"bs-input": HTMLBsInputElement;
|
|
9359
|
+
"bs-key": HTMLBsKeyElement;
|
|
9360
|
+
"bs-key-caps": HTMLBsKeyCapsElement;
|
|
9361
|
+
"bs-keyboard-shortcuts": HTMLBsKeyboardShortcutsElement;
|
|
7477
9362
|
"bs-list": HTMLBsListElement;
|
|
7478
9363
|
"bs-list-item": HTMLBsListItemElement;
|
|
7479
9364
|
"bs-logo": HTMLBsLogoElement;
|
|
9365
|
+
"bs-mega-menu": HTMLBsMegaMenuElement;
|
|
7480
9366
|
"bs-menu": HTMLBsMenuElement;
|
|
9367
|
+
"bs-menu-block": HTMLBsMenuBlockElement;
|
|
7481
9368
|
"bs-menu-item": HTMLBsMenuItemElement;
|
|
7482
9369
|
"bs-message": HTMLBsMessageElement;
|
|
7483
9370
|
"bs-message-list": HTMLBsMessageListElement;
|
|
@@ -7485,6 +9372,7 @@ declare global {
|
|
|
7485
9372
|
"bs-navigation-drawer-item": HTMLBsNavigationDrawerItemElement;
|
|
7486
9373
|
"bs-navigation-header": HTMLBsNavigationHeaderElement;
|
|
7487
9374
|
"bs-onboarding-checklist": HTMLBsOnboardingChecklistElement;
|
|
9375
|
+
"bs-page-header": HTMLBsPageHeaderElement;
|
|
7488
9376
|
"bs-pagination": HTMLBsPaginationElement;
|
|
7489
9377
|
"bs-popover": HTMLBsPopoverElement;
|
|
7490
9378
|
"bs-product-tour": HTMLBsProductTourElement;
|
|
@@ -7492,7 +9380,9 @@ declare global {
|
|
|
7492
9380
|
"bs-progress-linear": HTMLBsProgressLinearElement;
|
|
7493
9381
|
"bs-qr-code": HTMLBsQrCodeElement;
|
|
7494
9382
|
"bs-radio": HTMLBsRadioElement;
|
|
9383
|
+
"bs-search-item": HTMLBsSearchItemElement;
|
|
7495
9384
|
"bs-session-timeout": HTMLBsSessionTimeoutElement;
|
|
9385
|
+
"bs-shortcut-row": HTMLBsShortcutRowElement;
|
|
7496
9386
|
"bs-side-panel": HTMLBsSidePanelElement;
|
|
7497
9387
|
"bs-skeleton": HTMLBsSkeletonElement;
|
|
7498
9388
|
"bs-slider": HTMLBsSliderElement;
|
|
@@ -7517,6 +9407,8 @@ declare global {
|
|
|
7517
9407
|
}
|
|
7518
9408
|
}
|
|
7519
9409
|
declare namespace LocalJSX {
|
|
9410
|
+
type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in `attr:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K]?: never };
|
|
9411
|
+
|
|
7520
9412
|
/**
|
|
7521
9413
|
* A single collapsible section -- a clickable header (optional leading icon, label, trailing
|
|
7522
9414
|
* caret) that reveals or hides a body content area.
|
|
@@ -7660,6 +9552,57 @@ declare namespace LocalJSX {
|
|
|
7660
9552
|
*/
|
|
7661
9553
|
"label"?: string;
|
|
7662
9554
|
}
|
|
9555
|
+
/**
|
|
9556
|
+
* A full-width row for one app: a small icon tile, the app name and a description line (for example
|
|
9557
|
+
* "Opened 10 min ago · Nordlys Handel AS"). Matches the Figma "Recent item" component (Default, Current,
|
|
9558
|
+
* Hover, Pressed and Focus).
|
|
9559
|
+
* The row is always a native button and only emits events; it never navigates. `current` marks the app you are in
|
|
9560
|
+
* (`aria-current="true"`); `disabled` dims it, sets `aria-disabled` and removes it from the tab order.
|
|
9561
|
+
* Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the theme's
|
|
9562
|
+
* icon colour through a CSS mask) or any element in the default slot.
|
|
9563
|
+
* ## When to use
|
|
9564
|
+
* - A recently opened app, or a search result with a description, inside `bs-app-switcher`.
|
|
9565
|
+
* ## When not to use
|
|
9566
|
+
* - An app in a launcher grid -- use `bs-app-tile`.
|
|
9567
|
+
* - A generic list row -- use `bs-list-item`.
|
|
9568
|
+
* @prop --bs-app-recent-item-padding-x - Aliased to `--bs-spacing-100`.
|
|
9569
|
+
* @prop --bs-app-recent-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
9570
|
+
* @prop --bs-app-recent-item-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
|
|
9571
|
+
* @prop --bs-app-recent-item-radius - Aliased to `--bs-border-radius-100`.
|
|
9572
|
+
* @prop --bs-app-recent-item-bg - Resting background. `transparent`.
|
|
9573
|
+
* @prop --bs-app-recent-item-bg-hover - Aliased to `--bs-surface-hover`.
|
|
9574
|
+
* @prop --bs-app-recent-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
9575
|
+
* @prop --bs-app-recent-item-bg-current - Aliased to `--bs-surface-selected`.
|
|
9576
|
+
* @prop --bs-app-recent-item-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
|
|
9577
|
+
* @prop --bs-app-recent-item-color - Name colour. Aliased to `--bs-text-default`.
|
|
9578
|
+
* @prop --bs-app-recent-item-color-muted - Description colour. Aliased to `--bs-text-secondary`.
|
|
9579
|
+
* @prop --bs-app-recent-item-color-disabled - Name, description and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
|
|
9580
|
+
* @prop --bs-app-recent-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
9581
|
+
*/
|
|
9582
|
+
interface BsAppRecentItem {
|
|
9583
|
+
/**
|
|
9584
|
+
* The app you are in right now: selected background and `aria-current="true"`.
|
|
9585
|
+
* @default false
|
|
9586
|
+
*/
|
|
9587
|
+
"current"?: boolean;
|
|
9588
|
+
/**
|
|
9589
|
+
* Second line under the name.
|
|
9590
|
+
*/
|
|
9591
|
+
"description"?: string;
|
|
9592
|
+
/**
|
|
9593
|
+
* Dims the row, sets `aria-disabled` and takes it out of the tab order.
|
|
9594
|
+
* @default false
|
|
9595
|
+
*/
|
|
9596
|
+
"disabled"?: boolean;
|
|
9597
|
+
/**
|
|
9598
|
+
* URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
|
|
9599
|
+
*/
|
|
9600
|
+
"icon"?: string;
|
|
9601
|
+
/**
|
|
9602
|
+
* The app name, and the accessible name of the row together with the description.
|
|
9603
|
+
*/
|
|
9604
|
+
"name": string;
|
|
9605
|
+
}
|
|
7663
9606
|
/**
|
|
7664
9607
|
* The page frame: a header across the top, and below it a navigation | main | aside row, laid out
|
|
7665
9608
|
* with CSS grid. The main column scrolls independently of the header and the side columns.
|
|
@@ -7689,89 +9632,328 @@ declare namespace LocalJSX {
|
|
|
7689
9632
|
"fullHeight"?: boolean;
|
|
7690
9633
|
}
|
|
7691
9634
|
/**
|
|
7692
|
-
*
|
|
7693
|
-
*
|
|
7694
|
-
*
|
|
7695
|
-
*
|
|
7696
|
-
*
|
|
9635
|
+
* The panel of an app launcher ("EG apps"): a header with a "Manage" action, a search field, your apps as a
|
|
9636
|
+
* grid (or Recent plus All apps), search results, and a footer link to browse all products. It also has
|
|
9637
|
+
* no-results, loading, error and empty states. Matches the Figma "App switcher" (states Default, With recent,
|
|
9638
|
+
* Searching, No results, Loading, Error and Empty).
|
|
9639
|
+
* This is the panel only. To open it from a button, wrap it in `bs-popover`.
|
|
9640
|
+
* Built from `bs-card` (panel surface), `bs-input` (search), `bs-app-tile` and `bs-app-recent-item` (apps),
|
|
9641
|
+
* `bs-empty-state` (no results, error, empty), `bs-skeleton` (loading), `bs-button` (Clear search, Try
|
|
9642
|
+
* again, Request access) and `bs-divider`. "Manage" and "Browse all" are native links (or buttons when
|
|
9643
|
+
* there is no URL): `bs-button` has no link mode and the library has no link component.
|
|
7697
9644
|
* ## When to use
|
|
7698
|
-
* -
|
|
7699
|
-
* typically alongside or inside `bs-composer`.
|
|
9645
|
+
* - Letting a user jump between the products they have access to, from an app header.
|
|
7700
9646
|
* ## When not to use
|
|
7701
|
-
* -
|
|
7702
|
-
*
|
|
7703
|
-
*
|
|
7704
|
-
*
|
|
7705
|
-
*
|
|
7706
|
-
*
|
|
7707
|
-
*
|
|
7708
|
-
* @prop --bs-
|
|
7709
|
-
* @prop --bs-
|
|
7710
|
-
* @prop --bs-
|
|
7711
|
-
* @prop --bs-
|
|
7712
|
-
* `--bs-
|
|
9647
|
+
* - Navigation inside one app -- use `bs-menu` or the app shell navigation.
|
|
9648
|
+
* - Switching company -- use `bs-company-switcher`.
|
|
9649
|
+
* `apps` and `recent` are arrays and must be set as JS properties. Each app's `icon` is the URL of a
|
|
9650
|
+
* monochrome SVG. You own the data: listen to `bsAppSelect` (cancelable: `preventDefault()` cancels the
|
|
9651
|
+
* originating click), and drive `status` and `query` yourself. An empty `apps` list while `status` is
|
|
9652
|
+
* `ready` shows the empty state.
|
|
9653
|
+
* @prop --bs-app-switcher-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
|
|
9654
|
+
* @prop --bs-app-switcher-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
|
|
9655
|
+
* @prop --bs-app-switcher-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
9656
|
+
* @prop --bs-app-switcher-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
9657
|
+
* @prop --bs-app-switcher-shadow - Panel shadow (elevation level 4). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-higher`.
|
|
9658
|
+
* @prop --bs-app-switcher-padding - Side padding of the content. Aliased to `--bs-spacing-150`.
|
|
9659
|
+
* @prop --bs-app-switcher-text-color - Heading and links in the header. Aliased to `--bs-text-default`.
|
|
9660
|
+
* @prop --bs-app-switcher-header-color - Group headers. Aliased to `--bs-text-secondary`.
|
|
9661
|
+
* @prop --bs-app-switcher-link-color - Browse link. Aliased to `--bs-text-action`.
|
|
9662
|
+
* @prop --bs-app-switcher-focus-ring - Link focus ring. Aliased to `--bs-border-neutral-focus`.
|
|
7713
9663
|
*/
|
|
7714
|
-
interface
|
|
9664
|
+
interface BsAppSwitcher {
|
|
7715
9665
|
/**
|
|
7716
|
-
*
|
|
7717
|
-
* @default '
|
|
9666
|
+
* Header of the all apps group.
|
|
9667
|
+
* @default 'All apps'
|
|
7718
9668
|
*/
|
|
7719
|
-
"
|
|
9669
|
+
"allAppsLabel"?: string;
|
|
7720
9670
|
/**
|
|
7721
|
-
*
|
|
7722
|
-
* @default
|
|
9671
|
+
* The apps the user can open. JS property only (an array cannot be an attribute).
|
|
9672
|
+
* @default []
|
|
7723
9673
|
*/
|
|
7724
|
-
"
|
|
9674
|
+
"apps"?: BsApp[];
|
|
7725
9675
|
/**
|
|
7726
|
-
*
|
|
9676
|
+
* URL of the Browse all link. Without it it is a button that only fires `bsBrowseAll`.
|
|
7727
9677
|
*/
|
|
7728
|
-
"
|
|
9678
|
+
"browseHref"?: string;
|
|
7729
9679
|
/**
|
|
7730
|
-
*
|
|
7731
|
-
* @default
|
|
9680
|
+
* Text of the footer link.
|
|
9681
|
+
* @default 'Browse all EG products'
|
|
7732
9682
|
*/
|
|
7733
|
-
"
|
|
9683
|
+
"browseLabel"?: string;
|
|
7734
9684
|
/**
|
|
7735
|
-
*
|
|
9685
|
+
* Text of the Clear search button.
|
|
9686
|
+
* @default 'Clear search'
|
|
7736
9687
|
*/
|
|
7737
|
-
"
|
|
9688
|
+
"clearLabel"?: string;
|
|
7738
9689
|
/**
|
|
7739
|
-
*
|
|
7740
|
-
* @default true
|
|
9690
|
+
* `id` of the app you are in: selected background and `aria-current`.
|
|
7741
9691
|
*/
|
|
7742
|
-
"
|
|
9692
|
+
"currentId"?: string;
|
|
7743
9693
|
/**
|
|
7744
|
-
*
|
|
7745
|
-
* @default '
|
|
9694
|
+
* Empty description.
|
|
9695
|
+
* @default 'Ask your administrator for access, or browse all EG products to see what’s available.'
|
|
7746
9696
|
*/
|
|
7747
|
-
"
|
|
9697
|
+
"emptyDescription"?: string;
|
|
7748
9698
|
/**
|
|
7749
|
-
*
|
|
7750
|
-
* @default '
|
|
9699
|
+
* Empty heading (no apps assigned).
|
|
9700
|
+
* @default 'No apps assigned yet'
|
|
7751
9701
|
*/
|
|
7752
|
-
"
|
|
9702
|
+
"emptyHeading"?: string;
|
|
7753
9703
|
/**
|
|
7754
|
-
*
|
|
7755
|
-
* @default '
|
|
9704
|
+
* Error description.
|
|
9705
|
+
* @default 'Check your connection and try again. Your work in the current app is not affected.'
|
|
7756
9706
|
*/
|
|
7757
|
-
"
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
|
|
7768
|
-
|
|
7769
|
-
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
|
|
7774
|
-
|
|
9707
|
+
"errorDescription"?: string;
|
|
9708
|
+
/**
|
|
9709
|
+
* Error heading.
|
|
9710
|
+
* @default 'Couldn’t load your apps'
|
|
9711
|
+
*/
|
|
9712
|
+
"errorHeading"?: string;
|
|
9713
|
+
/**
|
|
9714
|
+
* Panel heading.
|
|
9715
|
+
* @default 'EG apps'
|
|
9716
|
+
*/
|
|
9717
|
+
"heading"?: string;
|
|
9718
|
+
/**
|
|
9719
|
+
* Announced while loading.
|
|
9720
|
+
* @default 'Loading apps…'
|
|
9721
|
+
*/
|
|
9722
|
+
"loadingLabel"?: string;
|
|
9723
|
+
/**
|
|
9724
|
+
* URL of the Manage link. Without it Manage is a button that only fires `bsManage`.
|
|
9725
|
+
*/
|
|
9726
|
+
"manageHref"?: string;
|
|
9727
|
+
/**
|
|
9728
|
+
* Text of the Manage link.
|
|
9729
|
+
* @default 'Manage'
|
|
9730
|
+
*/
|
|
9731
|
+
"manageLabel"?: string;
|
|
9732
|
+
/**
|
|
9733
|
+
* No-results description.
|
|
9734
|
+
* @default 'Check the spelling, or browse all EG products to find more apps.'
|
|
9735
|
+
*/
|
|
9736
|
+
"noResultsDescription"?: string;
|
|
9737
|
+
/**
|
|
9738
|
+
* No-results heading. `{query}` is replaced by the query.
|
|
9739
|
+
* @default 'No apps match “{query}”'
|
|
9740
|
+
*/
|
|
9741
|
+
"noResultsHeading"?: string;
|
|
9742
|
+
/**
|
|
9743
|
+
* Fires when an app is chosen (click or Enter), with the app. Cancelable: `preventDefault()` cancels the originating click.
|
|
9744
|
+
*/
|
|
9745
|
+
"onBsAppSelect"?: (event: BsAppSwitcherCustomEvent<BsApp>) => void;
|
|
9746
|
+
/**
|
|
9747
|
+
* Fires when Browse all is pressed.
|
|
9748
|
+
*/
|
|
9749
|
+
"onBsBrowseAll"?: (event: BsAppSwitcherCustomEvent<void>) => void;
|
|
9750
|
+
/**
|
|
9751
|
+
* Fires when the search is cleared with the Clear search button or Escape.
|
|
9752
|
+
*/
|
|
9753
|
+
"onBsClearSearch"?: (event: BsAppSwitcherCustomEvent<void>) => void;
|
|
9754
|
+
/**
|
|
9755
|
+
* Fires when Manage is pressed.
|
|
9756
|
+
*/
|
|
9757
|
+
"onBsManage"?: (event: BsAppSwitcherCustomEvent<void>) => void;
|
|
9758
|
+
/**
|
|
9759
|
+
* Fires when the search text changes through user interaction, with the new text.
|
|
9760
|
+
*/
|
|
9761
|
+
"onBsQueryChange"?: (event: BsAppSwitcherCustomEvent<string>) => void;
|
|
9762
|
+
/**
|
|
9763
|
+
* Fires when Request access is pressed.
|
|
9764
|
+
*/
|
|
9765
|
+
"onBsRequestAccess"?: (event: BsAppSwitcherCustomEvent<void>) => void;
|
|
9766
|
+
/**
|
|
9767
|
+
* Fires when Try again is pressed.
|
|
9768
|
+
*/
|
|
9769
|
+
"onBsRetry"?: (event: BsAppSwitcherCustomEvent<void>) => void;
|
|
9770
|
+
/**
|
|
9771
|
+
* The search text. Mutable: typing, Escape and "Clear search" update it.
|
|
9772
|
+
* @default ''
|
|
9773
|
+
*/
|
|
9774
|
+
"query"?: string;
|
|
9775
|
+
/**
|
|
9776
|
+
* Recently opened apps, most recent first. When there are any, the panel shows Recent and All apps. JS property only.
|
|
9777
|
+
* @default []
|
|
9778
|
+
*/
|
|
9779
|
+
"recent"?: BsAppRecent[];
|
|
9780
|
+
/**
|
|
9781
|
+
* Header of the recent group.
|
|
9782
|
+
* @default 'Recent'
|
|
9783
|
+
*/
|
|
9784
|
+
"recentLabel"?: string;
|
|
9785
|
+
/**
|
|
9786
|
+
* Text of the Request access button.
|
|
9787
|
+
* @default 'Request access'
|
|
9788
|
+
*/
|
|
9789
|
+
"requestAccessLabel"?: string;
|
|
9790
|
+
/**
|
|
9791
|
+
* Search header with one result ("1 result").
|
|
9792
|
+
* @default 'result'
|
|
9793
|
+
*/
|
|
9794
|
+
"resultLabel"?: string;
|
|
9795
|
+
/**
|
|
9796
|
+
* Search header with several results ("2 results").
|
|
9797
|
+
* @default 'results'
|
|
9798
|
+
*/
|
|
9799
|
+
"resultsLabel"?: string;
|
|
9800
|
+
/**
|
|
9801
|
+
* Text of the Try again button.
|
|
9802
|
+
* @default 'Try again'
|
|
9803
|
+
*/
|
|
9804
|
+
"retryLabel"?: string;
|
|
9805
|
+
/**
|
|
9806
|
+
* Placeholder (and accessible name) of the search field.
|
|
9807
|
+
* @default 'Find an app'
|
|
9808
|
+
*/
|
|
9809
|
+
"searchPlaceholder"?: string;
|
|
9810
|
+
/**
|
|
9811
|
+
* `loading` shows skeleton tiles, `error` the failure state.
|
|
9812
|
+
* @default 'ready'
|
|
9813
|
+
*/
|
|
9814
|
+
"status"?: BsAppSwitcherStatus;
|
|
9815
|
+
/**
|
|
9816
|
+
* Header of the default group when there are no recent apps.
|
|
9817
|
+
* @default 'Your apps'
|
|
9818
|
+
*/
|
|
9819
|
+
"yourAppsLabel"?: string;
|
|
9820
|
+
}
|
|
9821
|
+
/**
|
|
9822
|
+
* One app in an app launcher: an icon tile above a short label. Matches the Figma "App tile" component
|
|
9823
|
+
* (Size Grid and Compact, each Default, Hover, Pressed, Focus, Current and Disabled).
|
|
9824
|
+
* The tile is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
9825
|
+
* native element; `current` marks the app you are in (`aria-current="true"`); `disabled` dims it, sets
|
|
9826
|
+
* `aria-disabled` and removes it from the tab order.
|
|
9827
|
+
* Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the
|
|
9828
|
+
* theme's icon colour through a CSS mask, so it follows light and dark mode), or any element in the default
|
|
9829
|
+
* slot (an `<svg>` drawn with `currentColor`).
|
|
9830
|
+
* ## When to use
|
|
9831
|
+
* - An app in a launcher grid, usually inside `bs-app-switcher`.
|
|
9832
|
+
* ## When not to use
|
|
9833
|
+
* - A row with a description or "recently opened" line -- use `bs-app-recent-item`.
|
|
9834
|
+
* - A command in a menu -- use `bs-menu-item`.
|
|
9835
|
+
* @prop --bs-app-tile-icon-size - Size of the icon square. `44px` in `grid` (Figma) and `--bs-sizing-400` in `compact`.
|
|
9836
|
+
* @prop --bs-app-tile-padding - Padding inside the tile. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-100` (`compact`).
|
|
9837
|
+
* @prop --bs-app-tile-gap - Gap between icon and label. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-50` (`compact`).
|
|
9838
|
+
* @prop --bs-app-tile-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
9839
|
+
* @prop --bs-app-tile-bg - Resting background. `transparent`.
|
|
9840
|
+
* @prop --bs-app-tile-bg-hover - Aliased to `--bs-surface-hover`.
|
|
9841
|
+
* @prop --bs-app-tile-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
9842
|
+
* @prop --bs-app-tile-bg-current - Aliased to `--bs-surface-selected`.
|
|
9843
|
+
* @prop --bs-app-tile-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
|
|
9844
|
+
* @prop --bs-app-tile-color - Label colour. Aliased to `--bs-text-default`.
|
|
9845
|
+
* @prop --bs-app-tile-color-disabled - Label and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
|
|
9846
|
+
* @prop --bs-app-tile-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
9847
|
+
*/
|
|
9848
|
+
interface BsAppTile {
|
|
9849
|
+
/**
|
|
9850
|
+
* The app you are in right now: selected background and `aria-current="true"`.
|
|
9851
|
+
* @default false
|
|
9852
|
+
*/
|
|
9853
|
+
"current"?: boolean;
|
|
9854
|
+
/**
|
|
9855
|
+
* Dims the tile, sets `aria-disabled` and takes it out of the tab order.
|
|
9856
|
+
* @default false
|
|
9857
|
+
*/
|
|
9858
|
+
"disabled"?: boolean;
|
|
9859
|
+
/**
|
|
9860
|
+
* URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
|
|
9861
|
+
*/
|
|
9862
|
+
"icon"?: string;
|
|
9863
|
+
/**
|
|
9864
|
+
* The app name, shown under the icon and used as the accessible name.
|
|
9865
|
+
*/
|
|
9866
|
+
"name": string;
|
|
9867
|
+
/**
|
|
9868
|
+
* `grid` is the 3-column launcher tile; `compact` the smaller 4-column one.
|
|
9869
|
+
* @default 'grid'
|
|
9870
|
+
*/
|
|
9871
|
+
"size"?: BsAppTileSize;
|
|
9872
|
+
}
|
|
9873
|
+
/**
|
|
9874
|
+
* A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
|
|
9875
|
+
* with a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and
|
|
9876
|
+
* a hover/focus-revealed remove button (a `bs-icon-button` with `size="xs"` `variant="neutral"` --
|
|
9877
|
+
* the same 16x16px compact tier `bs-icon-button` documents as meant for exactly this kind of
|
|
9878
|
+
* chip/tag "remove" control).
|
|
9879
|
+
* ## When to use
|
|
9880
|
+
* - Rendered by the consuming app for each file a user has attached to a Genie AI chat message,
|
|
9881
|
+
* typically alongside or inside `bs-composer`.
|
|
9882
|
+
* ## When not to use
|
|
9883
|
+
* - A generic file-upload control -- this is a preview-only presentational component. The
|
|
9884
|
+
* consuming app owns the actual file picker/upload logic and drives `loading` from that state.
|
|
9885
|
+
* @prop --bs-attachment-size - Width/height of the image thumbnail and of the card. Defaults to 112px.
|
|
9886
|
+
* @prop --bs-attachment-radius - Corner radius of the thumbnail/card. Aliased to
|
|
9887
|
+
* `--bs-border-radius-100`.
|
|
9888
|
+
* @prop --bs-attachment-border-color - Border color of the card / loading image wrap. Aliased to
|
|
9889
|
+
* `--bs-border-default`.
|
|
9890
|
+
* @prop --bs-attachment-card-bg - Card background. Aliased to `--bs-surface-base`.
|
|
9891
|
+
* @prop --bs-attachment-filename-color - Filename text color. Aliased to `--bs-text-default`.
|
|
9892
|
+
* @prop --bs-attachment-badge-bg-pdf - PDF badge background. Aliased to `--bs-badge-bg-error`.
|
|
9893
|
+
* @prop --bs-attachment-badge-bg-document - Document badge background. Aliased to
|
|
9894
|
+
* `--bs-badge-bg-info`.
|
|
9895
|
+
*/
|
|
9896
|
+
interface BsAttachment {
|
|
9897
|
+
/**
|
|
9898
|
+
* The filename shown on the card. Only used when `type` is "pdf" or "document".
|
|
9899
|
+
* @default 'Attachment'
|
|
9900
|
+
*/
|
|
9901
|
+
"fileName"?: string;
|
|
9902
|
+
/**
|
|
9903
|
+
* Accessible alt text for the image thumbnail. Only used when `type` is "image".
|
|
9904
|
+
* @default ''
|
|
9905
|
+
*/
|
|
9906
|
+
"imageAlt"?: string;
|
|
9907
|
+
/**
|
|
9908
|
+
* The thumbnail image URL. Only used when `type` is "image".
|
|
9909
|
+
*/
|
|
9910
|
+
"imageSrc"?: string;
|
|
9911
|
+
/**
|
|
9912
|
+
* Shows an upload-in-progress spinner (blurred + overlaid for images, in the badge for files).
|
|
9913
|
+
* @default false
|
|
9914
|
+
*/
|
|
9915
|
+
"loading"?: boolean;
|
|
9916
|
+
/**
|
|
9917
|
+
* Fires when the remove button is clicked.
|
|
9918
|
+
*/
|
|
9919
|
+
"onBsRemove"?: (event: BsAttachmentCustomEvent<void>) => void;
|
|
9920
|
+
/**
|
|
9921
|
+
* Whether the hover/focus-revealed remove button is rendered at all.
|
|
9922
|
+
* @default true
|
|
9923
|
+
*/
|
|
9924
|
+
"removable"?: boolean;
|
|
9925
|
+
/**
|
|
9926
|
+
* Prefix of the remove button's accessible name ("Remove attachment: {fileName}").
|
|
9927
|
+
* @default 'Remove attachment'
|
|
9928
|
+
*/
|
|
9929
|
+
"removeLabel"?: string;
|
|
9930
|
+
/**
|
|
9931
|
+
* Which kind of attachment preview to render.
|
|
9932
|
+
* @default 'image'
|
|
9933
|
+
*/
|
|
9934
|
+
"type"?: BsAttachmentType;
|
|
9935
|
+
/**
|
|
9936
|
+
* Accessible name of the upload spinner while `loading`.
|
|
9937
|
+
* @default 'Uploading'
|
|
9938
|
+
*/
|
|
9939
|
+
"uploadingLabel"?: string;
|
|
9940
|
+
}
|
|
9941
|
+
/**
|
|
9942
|
+
* A horizontally-scrolling row wrapper for one or more `bs-attachment` previews, for slotting into
|
|
9943
|
+
* `bs-composer`'s `attachments` slot when a Genie AI chat message has file attachments.
|
|
9944
|
+
* ## When to use
|
|
9945
|
+
* - Wrapping any number of `bs-attachment` elements the user has attached to a message, so they
|
|
9946
|
+
* lay out in a single row and scroll horizontally instead of wrapping/overflowing once there
|
|
9947
|
+
* are more than fit the available width.
|
|
9948
|
+
* ## When not to use
|
|
9949
|
+
* - A single attachment on its own — just render `bs-attachment` directly, this wrapper's
|
|
9950
|
+
* scroll/fade affordance only matters once there's more content than fits.
|
|
9951
|
+
* @prop --bs-attachment-list-gap - Gap between attachments. Matches the 10px Figma spec (not tied
|
|
9952
|
+
* to the `--bs-spacing-*` scale, which only has 8px/12px neighbors).
|
|
9953
|
+
* @prop --bs-attachment-list-padding - Padding around the row. Aliased to `--bs-spacing-150`.
|
|
9954
|
+
* @prop --bs-attachment-list-fade-color - Color the right-edge fade blends into. Aliased to
|
|
9955
|
+
* `--bs-static-white`.
|
|
9956
|
+
* @prop --bs-attachment-list-fade-width - Width of the right-edge fade overlay. Aliased to
|
|
7775
9957
|
* `--bs-spacing-800`.
|
|
7776
9958
|
* @prop --bs-attachment-list-scrollbar-thumb - Color of the scrollbar thumb that appears on
|
|
7777
9959
|
* hover/focus once the row is scrollable. Aliased to `--bs-neutral-300`.
|
|
@@ -8826,6 +11008,349 @@ declare namespace LocalJSX {
|
|
|
8826
11008
|
*/
|
|
8827
11009
|
"sourceName"?: string;
|
|
8828
11010
|
}
|
|
11011
|
+
/**
|
|
11012
|
+
* A Ctrl+K command palette: a modal with a search field, grouped commands, navigation and records, a
|
|
11013
|
+
* no-results view and a keyboard-hint footer. The data, the filtering, the command registry and the
|
|
11014
|
+
* recent-items storage are all yours: you slot `bs-search-item`s into the sections and set `status`.
|
|
11015
|
+
* Built from a native `<dialog>` (opened with `showModal()`, so focus is trapped, the page behind is inert
|
|
11016
|
+
* and the backdrop is the scrim), `bs-input` (type="search"), `bs-search-item`, `bs-key` (footer hints and
|
|
11017
|
+
* the Esc cap), `bs-chip-informative` (the scope chip) and `bs-spinner` (loading). Slot a `bs-key-caps` with
|
|
11018
|
+
* `slot="trailing"` inside an item to show a command's shortcut.
|
|
11019
|
+
* ## When to use
|
|
11020
|
+
* - An app-wide "do anything" entry point opened with a hotkey: run commands, navigate, open records.
|
|
11021
|
+
* ## When not to use
|
|
11022
|
+
* - A plain search box with a dropdown -- use `bs-global-search`.
|
|
11023
|
+
* - A small list of actions on one control -- use `bs-menu`.
|
|
11024
|
+
* A `>` as the first character of the field switches to commands-only mode (`commandsOnly`, reflected as
|
|
11025
|
+
* `commands-only`). The component filters nothing: listen to `bsInput`, swap the slotted items, set `status`.
|
|
11026
|
+
* Nested (sub-command) palettes are a consumer pattern: swap the slotted commands and set `scopeLabel`.
|
|
11027
|
+
* @prop --bs-command-palette-width - Panel width. Defaults to `640px` (Figma); capped to the viewport.
|
|
11028
|
+
* @prop --bs-command-palette-top - Distance from the top of the viewport. Defaults to `12vh`.
|
|
11029
|
+
* @prop --bs-command-palette-max-height - Max height of the results area. Defaults to `60vh`.
|
|
11030
|
+
* @prop --bs-command-palette-radius - Aliased to `--bs-border-radius-150`.
|
|
11031
|
+
* @prop --bs-command-palette-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
11032
|
+
* @prop --bs-command-palette-shadow - Figma elevation level 4: `0 8px 16px` in `--bs-elevation-higher` (stronger in dark mode).
|
|
11033
|
+
* @prop --bs-command-palette-overlay - Scrim colour. Aliased to `--bs-surface-overlay`.
|
|
11034
|
+
* @prop --bs-command-palette-footer-bg - Aliased to `--bs-surface-container`.
|
|
11035
|
+
* @prop --bs-command-palette-divider-color - Aliased to `--bs-border-default`.
|
|
11036
|
+
* @prop --bs-command-palette-header-border-color - Aliased to `--bs-border-neutral-container`.
|
|
11037
|
+
* @prop --bs-command-palette-header-color - Aliased to `--bs-text-muted`.
|
|
11038
|
+
* @prop --bs-command-palette-hint-color - Aliased to `--bs-text-secondary`.
|
|
11039
|
+
* @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
|
|
11040
|
+
*/
|
|
11041
|
+
interface BsCommandPalette {
|
|
11042
|
+
/**
|
|
11043
|
+
* @default 'All results'
|
|
11044
|
+
*/
|
|
11045
|
+
"allResultsLabel"?: string;
|
|
11046
|
+
/**
|
|
11047
|
+
* @default 'Close'
|
|
11048
|
+
*/
|
|
11049
|
+
"closeLabel"?: string;
|
|
11050
|
+
/**
|
|
11051
|
+
* @default 'Commands'
|
|
11052
|
+
*/
|
|
11053
|
+
"commandsLabel"?: string;
|
|
11054
|
+
/**
|
|
11055
|
+
* Derived from `value` (it starts with `>`). Read-only; set `value` instead.
|
|
11056
|
+
* @default false
|
|
11057
|
+
*/
|
|
11058
|
+
"commandsOnly"?: boolean;
|
|
11059
|
+
/**
|
|
11060
|
+
* @default 'Commands only'
|
|
11061
|
+
*/
|
|
11062
|
+
"commandsOnlyLabel"?: string;
|
|
11063
|
+
/**
|
|
11064
|
+
* A suggested correction; the "Did you mean" line shows while it is set.
|
|
11065
|
+
*/
|
|
11066
|
+
"didYouMean"?: string;
|
|
11067
|
+
/**
|
|
11068
|
+
* @default 'Did you mean'
|
|
11069
|
+
*/
|
|
11070
|
+
"didYouMeanLabel"?: string;
|
|
11071
|
+
/**
|
|
11072
|
+
* @default 'Check the spelling, or search records instead.'
|
|
11073
|
+
*/
|
|
11074
|
+
"emptyDescription"?: string;
|
|
11075
|
+
/**
|
|
11076
|
+
* No-results view copy. Include the query in `emptyHeading` yourself.
|
|
11077
|
+
* @default 'No commands or records'
|
|
11078
|
+
*/
|
|
11079
|
+
"emptyHeading"?: string;
|
|
11080
|
+
/**
|
|
11081
|
+
* Global shortcut that toggles the palette, e.g. `mod+k` (`mod` is Cmd on Mac, Ctrl elsewhere). Empty = off.
|
|
11082
|
+
* @default ''
|
|
11083
|
+
*/
|
|
11084
|
+
"hotkey"?: string;
|
|
11085
|
+
/**
|
|
11086
|
+
* Keep the palette open after an item is chosen.
|
|
11087
|
+
* @default false
|
|
11088
|
+
*/
|
|
11089
|
+
"keepOpenOnSelect"?: boolean;
|
|
11090
|
+
/**
|
|
11091
|
+
* Accessible name of the dialog.
|
|
11092
|
+
* @default 'Command palette'
|
|
11093
|
+
*/
|
|
11094
|
+
"label"?: string;
|
|
11095
|
+
/**
|
|
11096
|
+
* Accessible name of the results listbox.
|
|
11097
|
+
* @default 'Results'
|
|
11098
|
+
*/
|
|
11099
|
+
"listLabel"?: string;
|
|
11100
|
+
/**
|
|
11101
|
+
* Text of the loading row.
|
|
11102
|
+
* @default 'Loading…'
|
|
11103
|
+
*/
|
|
11104
|
+
"loadingLabel"?: string;
|
|
11105
|
+
/**
|
|
11106
|
+
* Footer hint texts.
|
|
11107
|
+
* @default 'Navigate'
|
|
11108
|
+
*/
|
|
11109
|
+
"navigateLabel"?: string;
|
|
11110
|
+
/**
|
|
11111
|
+
* @default 'Navigation'
|
|
11112
|
+
*/
|
|
11113
|
+
"navigationLabel"?: string;
|
|
11114
|
+
/**
|
|
11115
|
+
* Fires on every keystroke with `{ value, query, commandsOnly }`.
|
|
11116
|
+
*/
|
|
11117
|
+
"onBsInput"?: (event: BsCommandPaletteCustomEvent<BsCommandPaletteInputDetail>) => void;
|
|
11118
|
+
/**
|
|
11119
|
+
* Fires when the palette opens or closes through user interaction (hotkey, Esc, scrim, selection).
|
|
11120
|
+
*/
|
|
11121
|
+
"onBsOpenChange"?: (event: BsCommandPaletteCustomEvent<boolean>) => void;
|
|
11122
|
+
/**
|
|
11123
|
+
* Fires on Backspace in an empty field while `scopeLabel` is set.
|
|
11124
|
+
*/
|
|
11125
|
+
"onBsScopeExit"?: (event: BsCommandPaletteCustomEvent<void>) => void;
|
|
11126
|
+
/**
|
|
11127
|
+
* Fires when an item is chosen (click or Enter) with `{ value, section, commandsOnly }`.
|
|
11128
|
+
*/
|
|
11129
|
+
"onBsSelect"?: (event: BsCommandPaletteCustomEvent<BsCommandPaletteSelectDetail>) => void;
|
|
11130
|
+
/**
|
|
11131
|
+
* Fires when the "Did you mean" suggestion is pressed, with its text.
|
|
11132
|
+
*/
|
|
11133
|
+
"onBsSuggestion"?: (event: BsCommandPaletteCustomEvent<string>) => void;
|
|
11134
|
+
/**
|
|
11135
|
+
* Whether the palette is open.
|
|
11136
|
+
* @default false
|
|
11137
|
+
*/
|
|
11138
|
+
"open"?: boolean;
|
|
11139
|
+
/**
|
|
11140
|
+
* @default 'Open'
|
|
11141
|
+
*/
|
|
11142
|
+
"openLabel"?: string;
|
|
11143
|
+
/**
|
|
11144
|
+
* Placeholder of the field.
|
|
11145
|
+
* @default 'Type a command or search…'
|
|
11146
|
+
*/
|
|
11147
|
+
"placeholder"?: string;
|
|
11148
|
+
/**
|
|
11149
|
+
* Section headers.
|
|
11150
|
+
* @default 'Recent'
|
|
11151
|
+
*/
|
|
11152
|
+
"recentLabel"?: string;
|
|
11153
|
+
/**
|
|
11154
|
+
* @default 'Records'
|
|
11155
|
+
*/
|
|
11156
|
+
"recordsLabel"?: string;
|
|
11157
|
+
/**
|
|
11158
|
+
* Nested scope: shows this text as a chip before the field. Backspace on an empty field emits `bsScopeExit`.
|
|
11159
|
+
*/
|
|
11160
|
+
"scopeLabel"?: string;
|
|
11161
|
+
/**
|
|
11162
|
+
* Shows the footer of keyboard hints.
|
|
11163
|
+
* @default true
|
|
11164
|
+
*/
|
|
11165
|
+
"showFooter"?: boolean;
|
|
11166
|
+
/**
|
|
11167
|
+
* Which view to show. You choose it; nothing is inferred from `value`. `default` and `results` render the same; they differ for screen readers only.
|
|
11168
|
+
* @default 'default'
|
|
11169
|
+
*/
|
|
11170
|
+
"status"?: BsCommandPaletteStatus;
|
|
11171
|
+
/**
|
|
11172
|
+
* @default 'Suggested'
|
|
11173
|
+
*/
|
|
11174
|
+
"suggestedLabel"?: string;
|
|
11175
|
+
/**
|
|
11176
|
+
* @default 'Try instead'
|
|
11177
|
+
*/
|
|
11178
|
+
"tryInsteadLabel"?: string;
|
|
11179
|
+
/**
|
|
11180
|
+
* The field value. Two-way. A leading `>` means commands-only mode.
|
|
11181
|
+
* @default ''
|
|
11182
|
+
*/
|
|
11183
|
+
"value"?: string;
|
|
11184
|
+
}
|
|
11185
|
+
/**
|
|
11186
|
+
* A plain text entry in a mega menu: one line, no icon. Matches the Figma "Compact menu block" component
|
|
11187
|
+
* (Default, Hover, Pressed and Focused).
|
|
11188
|
+
* The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
11189
|
+
* native element.
|
|
11190
|
+
* ## When to use
|
|
11191
|
+
* - A dense list of destinations in a mega menu, usually inside `bs-mega-menu` with `type="compact"`.
|
|
11192
|
+
* ## When not to use
|
|
11193
|
+
* - A destination that needs an icon or a description -- use `bs-menu-block`.
|
|
11194
|
+
* - A command in a dropdown list -- use `bs-menu-item`.
|
|
11195
|
+
* @prop --bs-compact-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-100`.
|
|
11196
|
+
* @prop --bs-compact-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
11197
|
+
* @prop --bs-compact-menu-block-bg - Resting background. `transparent`.
|
|
11198
|
+
* @prop --bs-compact-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
|
|
11199
|
+
* @prop --bs-compact-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
11200
|
+
* @prop --bs-compact-menu-block-color - Text colour. Aliased to `--bs-text-default`.
|
|
11201
|
+
* @prop --bs-compact-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
|
|
11202
|
+
*/
|
|
11203
|
+
interface BsCompactMenuBlock {
|
|
11204
|
+
/**
|
|
11205
|
+
* The text, and the accessible name.
|
|
11206
|
+
*/
|
|
11207
|
+
"name": string;
|
|
11208
|
+
}
|
|
11209
|
+
/**
|
|
11210
|
+
* A company (tenant) switcher: a trigger showing the current company, and a panel to find and switch to
|
|
11211
|
+
* another one. The panel has a search field, the current / recent / all groups, a filtered "matches" view,
|
|
11212
|
+
* a no-results state and a footer with "Manage Companies" and "Add companies" actions.
|
|
11213
|
+
* Built from `bs-popover` (open/close, Escape, outside click, flipping), `bs-card` (panel surface),
|
|
11214
|
+
* `bs-input` (search), `bs-list-item` (rows), `bs-avatar` (initials), `bs-spinner` (switching),
|
|
11215
|
+
* `bs-empty-state` (no results), `bs-divider` and `bs-button` (footer). The trigger is a native `<button>`:
|
|
11216
|
+
* no `bs-*` component is a composite "avatar + two lines + chevron" button.
|
|
11217
|
+
* ## When to use
|
|
11218
|
+
* - An app header or side navigation where a user belongs to several companies and works in one at a time.
|
|
11219
|
+
* ## When not to use
|
|
11220
|
+
* - Picking a value in a form -- use `bs-input type="dropdown"`.
|
|
11221
|
+
* - Switching between a handful of fixed views -- use `bs-tab`.
|
|
11222
|
+
* `companies` is an array and must be set as a JS property. You own the data and the switch itself: listen to
|
|
11223
|
+
* `bsCompanySwitch`, do the work, then update `currentId`. To show the switching state set `switchingId`
|
|
11224
|
+
* (from the `bsCompanySwitch` handler, or later) and the panel stays open until you clear it and set `open`
|
|
11225
|
+
* to `false`. If `switchingId` is not set by the time the handler returns, the panel closes immediately.
|
|
11226
|
+
* @prop --bs-company-switcher-width - Trigger width. Defaults to `260px` (Figma); capped at 100%.
|
|
11227
|
+
* @prop --bs-company-switcher-panel-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
|
|
11228
|
+
* @prop --bs-company-switcher-radius - Trigger and panel corner radius. Aliased to `--bs-border-radius-100`.
|
|
11229
|
+
* @prop --bs-company-switcher-trigger-bg - Trigger resting background. `transparent`.
|
|
11230
|
+
* @prop --bs-company-switcher-trigger-bg-hover - Aliased to `--bs-surface-hover`.
|
|
11231
|
+
* @prop --bs-company-switcher-trigger-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
11232
|
+
* @prop --bs-company-switcher-trigger-bg-open - Aliased to `--bs-surface-selected`.
|
|
11233
|
+
* @prop --bs-company-switcher-focus-ring - Trigger focus outline. Aliased to `--bs-border-neutral-focus`.
|
|
11234
|
+
* @prop --bs-company-switcher-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
11235
|
+
* @prop --bs-company-switcher-panel-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
11236
|
+
* @prop --bs-company-switcher-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
|
|
11237
|
+
* @prop --bs-company-switcher-max-height - Maximum height of the scrolling list. Defaults to `320px`.
|
|
11238
|
+
* @prop --bs-company-switcher-text-color - Names. Aliased to `--bs-text-default`.
|
|
11239
|
+
* @prop --bs-company-switcher-muted-color - Org. numbers. Aliased to `--bs-text-secondary`.
|
|
11240
|
+
* @prop --bs-company-switcher-header-color - Group headers. Aliased to `--bs-text-muted`.
|
|
11241
|
+
* @prop --bs-company-switcher-z-index - Panel stacking. Aliased to `--bs-z-index-popover`.
|
|
11242
|
+
*/
|
|
11243
|
+
interface BsCompanySwitcher {
|
|
11244
|
+
/**
|
|
11245
|
+
* Text of the "Add companies" footer button.
|
|
11246
|
+
* @default 'Add companies'
|
|
11247
|
+
*/
|
|
11248
|
+
"addLabel"?: string;
|
|
11249
|
+
/**
|
|
11250
|
+
* Header of the all companies group (the count is appended).
|
|
11251
|
+
* @default 'All companies'
|
|
11252
|
+
*/
|
|
11253
|
+
"allLabel"?: string;
|
|
11254
|
+
/**
|
|
11255
|
+
* The companies the user can switch between. JS property only (an array cannot be an attribute).
|
|
11256
|
+
* @default []
|
|
11257
|
+
*/
|
|
11258
|
+
"companies"?: BsCompany[];
|
|
11259
|
+
/**
|
|
11260
|
+
* `id` of the current company.
|
|
11261
|
+
*/
|
|
11262
|
+
"currentId"?: string;
|
|
11263
|
+
/**
|
|
11264
|
+
* Header of the current company group.
|
|
11265
|
+
* @default 'Current'
|
|
11266
|
+
*/
|
|
11267
|
+
"currentLabel"?: string;
|
|
11268
|
+
/**
|
|
11269
|
+
* No-results description.
|
|
11270
|
+
* @default 'Check the spelling, or search by org. number.'
|
|
11271
|
+
*/
|
|
11272
|
+
"emptyDescription"?: string;
|
|
11273
|
+
/**
|
|
11274
|
+
* No-results heading. `{query}` is replaced by the query.
|
|
11275
|
+
* @default 'No companies match “{query}”'
|
|
11276
|
+
*/
|
|
11277
|
+
"emptyHeading"?: string;
|
|
11278
|
+
/**
|
|
11279
|
+
* Accessible name of the company listbox.
|
|
11280
|
+
* @default 'Companies'
|
|
11281
|
+
*/
|
|
11282
|
+
"listLabel"?: string;
|
|
11283
|
+
/**
|
|
11284
|
+
* Text of the "Manage Companies" footer button.
|
|
11285
|
+
* @default 'Manage Companies'
|
|
11286
|
+
*/
|
|
11287
|
+
"manageLabel"?: string;
|
|
11288
|
+
/**
|
|
11289
|
+
* Header of the search view when there is one match ("1 match").
|
|
11290
|
+
* @default 'match'
|
|
11291
|
+
*/
|
|
11292
|
+
"matchLabel"?: string;
|
|
11293
|
+
/**
|
|
11294
|
+
* Header of the search view when there are several matches ("3 matches").
|
|
11295
|
+
* @default 'matches'
|
|
11296
|
+
*/
|
|
11297
|
+
"matchesLabel"?: string;
|
|
11298
|
+
/**
|
|
11299
|
+
* Fires when "Add companies" is pressed.
|
|
11300
|
+
*/
|
|
11301
|
+
"onBsAddCompanies"?: (event: BsCompanySwitcherCustomEvent<void>) => void;
|
|
11302
|
+
/**
|
|
11303
|
+
* Fires when a company other than the current one is chosen (click or Enter), with the company.
|
|
11304
|
+
*/
|
|
11305
|
+
"onBsCompanySwitch"?: (event: BsCompanySwitcherCustomEvent<BsCompany>) => void;
|
|
11306
|
+
/**
|
|
11307
|
+
* Fires when "Manage Companies" is pressed.
|
|
11308
|
+
*/
|
|
11309
|
+
"onBsManageCompanies"?: (event: BsCompanySwitcherCustomEvent<void>) => void;
|
|
11310
|
+
/**
|
|
11311
|
+
* Fires when the panel opens or closes through user interaction, with the new state.
|
|
11312
|
+
*/
|
|
11313
|
+
"onBsOpenChange"?: (event: BsCompanySwitcherCustomEvent<boolean>) => void;
|
|
11314
|
+
/**
|
|
11315
|
+
* Whether the panel is open.
|
|
11316
|
+
* @default false
|
|
11317
|
+
*/
|
|
11318
|
+
"open"?: boolean;
|
|
11319
|
+
/**
|
|
11320
|
+
* Prefix of the org. number, e.g. "Org. no.".
|
|
11321
|
+
* @default 'Org. no.'
|
|
11322
|
+
*/
|
|
11323
|
+
"orgNumberLabel"?: string;
|
|
11324
|
+
/**
|
|
11325
|
+
* Text of the trigger when there is no current company.
|
|
11326
|
+
* @default 'Select a company'
|
|
11327
|
+
*/
|
|
11328
|
+
"placeholderLabel"?: string;
|
|
11329
|
+
/**
|
|
11330
|
+
* `id`s of recently used companies, most recent first. The current company is not repeated in the Recent group.
|
|
11331
|
+
* @default []
|
|
11332
|
+
*/
|
|
11333
|
+
"recentIds"?: string[];
|
|
11334
|
+
/**
|
|
11335
|
+
* Header of the recent companies group.
|
|
11336
|
+
* @default 'Recent'
|
|
11337
|
+
*/
|
|
11338
|
+
"recentLabel"?: string;
|
|
11339
|
+
/**
|
|
11340
|
+
* Placeholder (and accessible name) of the search field.
|
|
11341
|
+
* @default 'Find a company or org. number'
|
|
11342
|
+
*/
|
|
11343
|
+
"searchPlaceholder"?: string;
|
|
11344
|
+
/**
|
|
11345
|
+
* `id` of the company being switched to. Shows the switching state: a spinner in the trigger and on that row.
|
|
11346
|
+
*/
|
|
11347
|
+
"switchingId"?: string;
|
|
11348
|
+
/**
|
|
11349
|
+
* Trigger subtitle while switching.
|
|
11350
|
+
* @default 'Switching…'
|
|
11351
|
+
*/
|
|
11352
|
+
"switchingLabel"?: string;
|
|
11353
|
+
}
|
|
8829
11354
|
/**
|
|
8830
11355
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
8831
11356
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -9440,6 +11965,43 @@ declare namespace LocalJSX {
|
|
|
9440
11965
|
*/
|
|
9441
11966
|
"variant"?: BsDividerVariant;
|
|
9442
11967
|
}
|
|
11968
|
+
/**
|
|
11969
|
+
* A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
|
|
11970
|
+
* Used for empty lists, "no results" and error states inside a panel, card or page section.
|
|
11971
|
+
* Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
|
|
11972
|
+
* The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
|
|
11973
|
+
* element that stays in the DOM while this block appears and disappears).
|
|
11974
|
+
* ## When to use
|
|
11975
|
+
* - A list, table or search result that has nothing to show, or failed to load.
|
|
11976
|
+
* ## When not to use
|
|
11977
|
+
* - A full-page error with a status code -- use `bs-error-page`.
|
|
11978
|
+
* - A transient message -- use `bs-toast` or `bs-snackbar`.
|
|
11979
|
+
* @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
|
|
11980
|
+
* @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
|
|
11981
|
+
* @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
|
|
11982
|
+
* @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
|
|
11983
|
+
* @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
|
|
11984
|
+
*/
|
|
11985
|
+
interface BsEmptyState {
|
|
11986
|
+
/**
|
|
11987
|
+
* The description text. The default slot overrides it.
|
|
11988
|
+
*/
|
|
11989
|
+
"description"?: string;
|
|
11990
|
+
/**
|
|
11991
|
+
* The heading text.
|
|
11992
|
+
*/
|
|
11993
|
+
"heading"?: string;
|
|
11994
|
+
/**
|
|
11995
|
+
* Heading level, 2 to 6 (renders `h2`..`h6`). Pick the one that fits the page outline.
|
|
11996
|
+
* @default 3
|
|
11997
|
+
*/
|
|
11998
|
+
"headingLevel"?: 2 | 3 | 4 | 5 | 6;
|
|
11999
|
+
/**
|
|
12000
|
+
* Colour and default glyph of the icon tile. Use `error` for failures.
|
|
12001
|
+
* @default 'default'
|
|
12002
|
+
*/
|
|
12003
|
+
"intent"?: BsIconTileIntent;
|
|
12004
|
+
}
|
|
9443
12005
|
/**
|
|
9444
12006
|
* A full-block page for when the user can't get to what they asked for: page not found (404), a server
|
|
9445
12007
|
* error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
|
|
@@ -9619,6 +12181,193 @@ declare namespace LocalJSX {
|
|
|
9619
12181
|
*/
|
|
9620
12182
|
"thumbnailSrc"?: string;
|
|
9621
12183
|
}
|
|
12184
|
+
/**
|
|
12185
|
+
* A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
|
|
12186
|
+
* or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
|
|
12187
|
+
* are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
|
|
12188
|
+
* Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
|
|
12189
|
+
* `bs-button` and `bs-key` (the footer keycaps).
|
|
12190
|
+
* ## When to use
|
|
12191
|
+
* - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
|
|
12192
|
+
* ## When not to use
|
|
12193
|
+
* - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
|
|
12194
|
+
* - A list of commands or actions -- use `bs-menu`.
|
|
12195
|
+
* - The complete result set -- link to a full search results page ("See all results").
|
|
12196
|
+
* Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
|
|
12197
|
+
* `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
|
|
12198
|
+
* content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
|
|
12199
|
+
* Known limit: the items are in your light DOM and the combobox in this shadow root, so
|
|
12200
|
+
* `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
|
|
12201
|
+
* highlighted option also gets `aria-selected="true"`.
|
|
12202
|
+
* @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
|
|
12203
|
+
* @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
|
|
12204
|
+
* @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
|
|
12205
|
+
* @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
|
|
12206
|
+
* @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
12207
|
+
* @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).
|
|
12208
|
+
* @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
|
|
12209
|
+
* @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
|
|
12210
|
+
* @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
|
|
12211
|
+
* @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
|
|
12212
|
+
* @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
|
|
12213
|
+
*/
|
|
12214
|
+
interface BsGlobalSearch {
|
|
12215
|
+
/**
|
|
12216
|
+
* Text of the footer button that clears recent searches.
|
|
12217
|
+
* @default 'Clear recent'
|
|
12218
|
+
*/
|
|
12219
|
+
"clearRecentLabel"?: string;
|
|
12220
|
+
/**
|
|
12221
|
+
* Text of the empty state's action.
|
|
12222
|
+
* @default 'Clear search'
|
|
12223
|
+
*/
|
|
12224
|
+
"clearSearchLabel"?: string;
|
|
12225
|
+
/**
|
|
12226
|
+
* Footer hint text after the Esc key.
|
|
12227
|
+
* @default 'Close'
|
|
12228
|
+
*/
|
|
12229
|
+
"closeLabel"?: string;
|
|
12230
|
+
/**
|
|
12231
|
+
* Disables the field; the panel cannot open.
|
|
12232
|
+
* @default false
|
|
12233
|
+
*/
|
|
12234
|
+
"disabled"?: boolean;
|
|
12235
|
+
/**
|
|
12236
|
+
* Description of the built-in empty state.
|
|
12237
|
+
* @default 'Try a different search.'
|
|
12238
|
+
*/
|
|
12239
|
+
"emptyDescription"?: string;
|
|
12240
|
+
/**
|
|
12241
|
+
* Heading of the built-in empty state.
|
|
12242
|
+
* @default 'No results'
|
|
12243
|
+
*/
|
|
12244
|
+
"emptyHeading"?: string;
|
|
12245
|
+
/**
|
|
12246
|
+
* Description of the built-in error state.
|
|
12247
|
+
* @default 'We couldn’t reach the server. Your query is kept — try again in a moment.'
|
|
12248
|
+
*/
|
|
12249
|
+
"errorDescription"?: string;
|
|
12250
|
+
/**
|
|
12251
|
+
* Heading of the built-in error state.
|
|
12252
|
+
* @default 'Search isn’t available right now'
|
|
12253
|
+
*/
|
|
12254
|
+
"errorHeading"?: string;
|
|
12255
|
+
/**
|
|
12256
|
+
* Footer hint text after the Enter key (results view).
|
|
12257
|
+
* @default 'Full results'
|
|
12258
|
+
*/
|
|
12259
|
+
"fullResultsLabel"?: string;
|
|
12260
|
+
/**
|
|
12261
|
+
* Header of the `jump-to` section.
|
|
12262
|
+
* @default 'Jump to'
|
|
12263
|
+
*/
|
|
12264
|
+
"jumpToLabel"?: string;
|
|
12265
|
+
/**
|
|
12266
|
+
* Accessible name of the search field. Falls back to the placeholder. `bs-input` has no aria-label prop, so this names the combobox wrapper.
|
|
12267
|
+
*/
|
|
12268
|
+
"label"?: string;
|
|
12269
|
+
/**
|
|
12270
|
+
* Accessible name of the suggestions listbox.
|
|
12271
|
+
* @default 'Search suggestions'
|
|
12272
|
+
*/
|
|
12273
|
+
"listLabel"?: string;
|
|
12274
|
+
/**
|
|
12275
|
+
* Footer hint text after the arrow keys.
|
|
12276
|
+
* @default 'Navigate'
|
|
12277
|
+
*/
|
|
12278
|
+
"navigateLabel"?: string;
|
|
12279
|
+
/**
|
|
12280
|
+
* Fires when "Clear recent" is pressed.
|
|
12281
|
+
*/
|
|
12282
|
+
"onBsClearRecent"?: (event: BsGlobalSearchCustomEvent<void>) => void;
|
|
12283
|
+
/**
|
|
12284
|
+
* Fires when the empty state's "Clear search" is pressed; the value is also cleared.
|
|
12285
|
+
*/
|
|
12286
|
+
"onBsClearSearch"?: (event: BsGlobalSearchCustomEvent<void>) => void;
|
|
12287
|
+
/**
|
|
12288
|
+
* Fires on every keystroke with the query. The component filters nothing itself.
|
|
12289
|
+
*/
|
|
12290
|
+
"onBsInput"?: (event: BsGlobalSearchCustomEvent<string>) => void;
|
|
12291
|
+
/**
|
|
12292
|
+
* Fires when the panel opens or closes through user interaction, with the new state.
|
|
12293
|
+
*/
|
|
12294
|
+
"onBsOpenChange"?: (event: BsGlobalSearchCustomEvent<boolean>) => void;
|
|
12295
|
+
/**
|
|
12296
|
+
* Fires when the error state's "Try again" is pressed.
|
|
12297
|
+
*/
|
|
12298
|
+
"onBsRetry"?: (event: BsGlobalSearchCustomEvent<void>) => void;
|
|
12299
|
+
/**
|
|
12300
|
+
* Fires on Enter with no highlighted item, with the query.
|
|
12301
|
+
*/
|
|
12302
|
+
"onBsSearch"?: (event: BsGlobalSearchCustomEvent<string>) => void;
|
|
12303
|
+
/**
|
|
12304
|
+
* Fires when "See all results" is pressed.
|
|
12305
|
+
*/
|
|
12306
|
+
"onBsSeeAll"?: (event: BsGlobalSearchCustomEvent<void>) => void;
|
|
12307
|
+
/**
|
|
12308
|
+
* Fires when an item is chosen (click or Enter), with its `value` and section (slot name).
|
|
12309
|
+
*/
|
|
12310
|
+
"onBsSelect"?: (event: BsGlobalSearchCustomEvent<BsGlobalSearchSelectDetail>) => void;
|
|
12311
|
+
/**
|
|
12312
|
+
* Whether the dropdown panel is open. Opens on focus, click and typing; closes on Escape, outside click and selection.
|
|
12313
|
+
* @default false
|
|
12314
|
+
*/
|
|
12315
|
+
"open"?: boolean;
|
|
12316
|
+
/**
|
|
12317
|
+
* Placeholder of the field (also its accessible name unless `label` is set).
|
|
12318
|
+
* @default 'Search customers, orders, products…'
|
|
12319
|
+
*/
|
|
12320
|
+
"placeholder"?: string;
|
|
12321
|
+
/**
|
|
12322
|
+
* Header of the `recent` section.
|
|
12323
|
+
* @default 'Recent searches'
|
|
12324
|
+
*/
|
|
12325
|
+
"recentLabel"?: string;
|
|
12326
|
+
/**
|
|
12327
|
+
* Text of the error state's action.
|
|
12328
|
+
* @default 'Try again'
|
|
12329
|
+
*/
|
|
12330
|
+
"retryLabel"?: string;
|
|
12331
|
+
/**
|
|
12332
|
+
* Header of the `search-in` section.
|
|
12333
|
+
* @default 'Search in'
|
|
12334
|
+
*/
|
|
12335
|
+
"searchInLabel"?: string;
|
|
12336
|
+
/**
|
|
12337
|
+
* Footer hint text after the Enter key (default view).
|
|
12338
|
+
* @default 'Search'
|
|
12339
|
+
*/
|
|
12340
|
+
"searchLabel"?: string;
|
|
12341
|
+
/**
|
|
12342
|
+
* Text of the footer button of the results view, when `totalResults` is not set.
|
|
12343
|
+
* @default 'See all results'
|
|
12344
|
+
*/
|
|
12345
|
+
"seeAllLabel"?: string;
|
|
12346
|
+
/**
|
|
12347
|
+
* Shows the footer (hints and the Clear recent / See all button) for the `default` and `results` views.
|
|
12348
|
+
* @default true
|
|
12349
|
+
*/
|
|
12350
|
+
"showFooter"?: boolean;
|
|
12351
|
+
/**
|
|
12352
|
+
* Which view the panel shows. You choose it; nothing is inferred from `value`.
|
|
12353
|
+
* @default 'default'
|
|
12354
|
+
*/
|
|
12355
|
+
"status"?: BsGlobalSearchStatus;
|
|
12356
|
+
/**
|
|
12357
|
+
* Header of the `top-matches` section.
|
|
12358
|
+
* @default 'Top matches'
|
|
12359
|
+
*/
|
|
12360
|
+
"topMatchesLabel"?: string;
|
|
12361
|
+
/**
|
|
12362
|
+
* Total number of results (status `results`): shown as "See all {n} results" and announced to screen readers.
|
|
12363
|
+
*/
|
|
12364
|
+
"totalResults"?: number;
|
|
12365
|
+
/**
|
|
12366
|
+
* The query. Two-way with the field.
|
|
12367
|
+
* @default ''
|
|
12368
|
+
*/
|
|
12369
|
+
"value"?: string;
|
|
12370
|
+
}
|
|
9622
12371
|
/**
|
|
9623
12372
|
* A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
|
|
9624
12373
|
* `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
|
|
@@ -9703,6 +12452,10 @@ declare namespace LocalJSX {
|
|
|
9703
12452
|
* The name of the element, used when submitting an HTML form.
|
|
9704
12453
|
*/
|
|
9705
12454
|
"name"?: string;
|
|
12455
|
+
/**
|
|
12456
|
+
* Makes this a toggle button: sets `aria-pressed` on the inner `<button>` to `true`/`false`. Leave it unset (the default) for a plain action button, which then has no `aria-pressed` at all. The component does not toggle itself; the owner flips this on click. Put the toggle's state in the icon (e.g. a filled star), not in the label, which should stay the same.
|
|
12457
|
+
*/
|
|
12458
|
+
"pressed"?: boolean;
|
|
9706
12459
|
/**
|
|
9707
12460
|
* Sizing scale. `xs` (16px, an 8px icon) is a distinct, much smaller tier meant for compact chip/tag "remove" controls, not just a smaller toolbar button -- verified against a separate Figma redline (EG BrandSync UI Kit v1.5, node 20731:18427) from the one `sm`/`md`/`lg` were built against.
|
|
9708
12461
|
* @default 'md'
|
|
@@ -9738,7 +12491,7 @@ declare namespace LocalJSX {
|
|
|
9738
12491
|
* Colour and default glyph. `brand` uses the brand colours; `information` the info palette.
|
|
9739
12492
|
* @default 'default'
|
|
9740
12493
|
*/
|
|
9741
|
-
"intent"?:
|
|
12494
|
+
"intent"?: BsIconTileIntent1;
|
|
9742
12495
|
/**
|
|
9743
12496
|
* Accessible name. When set, the tile is exposed as an image with this name; when empty it is decorative and hidden from assistive tech.
|
|
9744
12497
|
*/
|
|
@@ -9956,10 +12709,167 @@ declare namespace LocalJSX {
|
|
|
9956
12709
|
| 'country'
|
|
9957
12710
|
| 'pin';
|
|
9958
12711
|
/**
|
|
9959
|
-
* 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.
|
|
9960
|
-
* @default ''
|
|
12712
|
+
* 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.
|
|
12713
|
+
* @default ''
|
|
12714
|
+
*/
|
|
12715
|
+
"value"?: string;
|
|
12716
|
+
}
|
|
12717
|
+
/**
|
|
12718
|
+
* One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
|
|
12719
|
+
* Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
|
|
12720
|
+
* ## When to use
|
|
12721
|
+
* - Showing a keyboard shortcut hint next to a control or inside a search field.
|
|
12722
|
+
* - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
|
|
12723
|
+
* ## When not to use
|
|
12724
|
+
* - As a button or any clickable control -- a key is a static hint, not interactive.
|
|
12725
|
+
* @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
|
|
12726
|
+
* @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
|
|
12727
|
+
* @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
|
|
12728
|
+
* @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
|
|
12729
|
+
* @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
|
|
12730
|
+
* @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
|
|
12731
|
+
* @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
|
|
12732
|
+
* @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
|
|
12733
|
+
* @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
|
|
12734
|
+
*/
|
|
12735
|
+
interface BsKey {
|
|
12736
|
+
/**
|
|
12737
|
+
* The key's text, e.g. `Ctrl`. The default slot overrides it.
|
|
12738
|
+
*/
|
|
12739
|
+
"label"?: string;
|
|
12740
|
+
}
|
|
12741
|
+
/**
|
|
12742
|
+
* A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
|
|
12743
|
+
* (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
|
|
12744
|
+
* elements -- for example when a key is an icon.
|
|
12745
|
+
* ## When to use
|
|
12746
|
+
* - A shortcut hint beside a menu item, button or inside a search field.
|
|
12747
|
+
* ## When not to use
|
|
12748
|
+
* - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
|
|
12749
|
+
* - Anything interactive -- keys are static hints.
|
|
12750
|
+
* @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
|
|
12751
|
+
* @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
|
|
12752
|
+
* @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
|
|
12753
|
+
*/
|
|
12754
|
+
interface BsKeyCaps {
|
|
12755
|
+
/**
|
|
12756
|
+
* Dims the whole shortcut and marks it `aria-disabled`.
|
|
12757
|
+
* @default false
|
|
12758
|
+
*/
|
|
12759
|
+
"disabled"?: boolean;
|
|
12760
|
+
/**
|
|
12761
|
+
* 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.
|
|
12762
|
+
*/
|
|
12763
|
+
"keys"?: string | string[];
|
|
12764
|
+
/**
|
|
12765
|
+
* Accessible name of the shortcut, e.g. "Control plus K". Defaults to the keys joined with " plus ".
|
|
12766
|
+
*/
|
|
12767
|
+
"label"?: string;
|
|
12768
|
+
}
|
|
12769
|
+
/**
|
|
12770
|
+
* A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
|
|
12771
|
+
* optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
|
|
12772
|
+
* surface, not a modal -- place it inside `bs-dialog` or a popover.
|
|
12773
|
+
* Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
|
|
12774
|
+
* `bs-key-caps` / `bs-key`).
|
|
12775
|
+
* ## When to use
|
|
12776
|
+
* - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
|
|
12777
|
+
* ## When not to use
|
|
12778
|
+
* - A long-form help page or documentation -- link to it instead.
|
|
12779
|
+
* - A list of commands the user can run from it -- use `bs-menu`.
|
|
12780
|
+
* @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
|
|
12781
|
+
* @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
12782
|
+
* @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
|
|
12783
|
+
* @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
|
|
12784
|
+
* @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
|
|
12785
|
+
* @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).
|
|
12786
|
+
* @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
|
|
12787
|
+
* @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
|
|
12788
|
+
* @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
|
|
12789
|
+
*/
|
|
12790
|
+
interface BsKeyboardShortcuts {
|
|
12791
|
+
/**
|
|
12792
|
+
* Accessible name of the close button.
|
|
12793
|
+
* @default 'Close'
|
|
12794
|
+
*/
|
|
12795
|
+
"closeLabel"?: string;
|
|
12796
|
+
/**
|
|
12797
|
+
* The key shown in the footer hint.
|
|
12798
|
+
* @default '?'
|
|
12799
|
+
*/
|
|
12800
|
+
"footerKey"?: string;
|
|
12801
|
+
/**
|
|
12802
|
+
* Text before the footer key.
|
|
12803
|
+
* @default 'Press'
|
|
12804
|
+
*/
|
|
12805
|
+
"footerPrefix"?: string;
|
|
12806
|
+
/**
|
|
12807
|
+
* Footer text after the key.
|
|
12808
|
+
* @default 'anywhere to open this list. On Mac: Cmd instead of Ctrl.'
|
|
12809
|
+
*/
|
|
12810
|
+
"footerText"?: string;
|
|
12811
|
+
/**
|
|
12812
|
+
* Property only: the shortcut groups.
|
|
12813
|
+
* @default []
|
|
12814
|
+
*/
|
|
12815
|
+
"groups"?: BsShortcutGroup[];
|
|
12816
|
+
/**
|
|
12817
|
+
* Heading text. The `heading` slot overrides it.
|
|
12818
|
+
* @default 'Keyboard shortcuts'
|
|
12819
|
+
*/
|
|
12820
|
+
"heading"?: string;
|
|
12821
|
+
/**
|
|
12822
|
+
* Line shown when the query matches nothing.
|
|
12823
|
+
* @default 'No shortcuts match'
|
|
12824
|
+
*/
|
|
12825
|
+
"noResultsText"?: string;
|
|
12826
|
+
/**
|
|
12827
|
+
* Emitted by the close button and by Escape.
|
|
12828
|
+
*/
|
|
12829
|
+
"onBsClose"?: (event: BsKeyboardShortcutsCustomEvent<void>) => void;
|
|
12830
|
+
/**
|
|
12831
|
+
* Emitted when the search text changes, with the new text.
|
|
12832
|
+
*/
|
|
12833
|
+
"onBsQueryChange"?: (event: BsKeyboardShortcutsCustomEvent<string>) => void;
|
|
12834
|
+
/**
|
|
12835
|
+
* Emitted when the single-key switch changes, with the new value.
|
|
12836
|
+
*/
|
|
12837
|
+
"onBsSingleKeyChange"?: (event: BsKeyboardShortcutsCustomEvent<boolean>) => void;
|
|
12838
|
+
/**
|
|
12839
|
+
* Current search text. Filters by action or keys text, case-insensitively.
|
|
12840
|
+
* @default ''
|
|
12841
|
+
*/
|
|
12842
|
+
"query"?: string;
|
|
12843
|
+
/**
|
|
12844
|
+
* Search field placeholder (also its accessible name: `bs-input` has no aria-label prop).
|
|
12845
|
+
* @default 'Search for an action'
|
|
12846
|
+
*/
|
|
12847
|
+
"searchPlaceholder"?: string;
|
|
12848
|
+
/**
|
|
12849
|
+
* Shows the footer hint.
|
|
12850
|
+
* @default true
|
|
12851
|
+
*/
|
|
12852
|
+
"showFooterHint"?: boolean;
|
|
12853
|
+
/**
|
|
12854
|
+
* Shows the single-key switch row.
|
|
12855
|
+
* @default true
|
|
9961
12856
|
*/
|
|
9962
|
-
"
|
|
12857
|
+
"showSingleKeySwitch"?: boolean;
|
|
12858
|
+
/**
|
|
12859
|
+
* Switch caption.
|
|
12860
|
+
* @default 'Turn off if they clash with a screen reader or other tools.'
|
|
12861
|
+
*/
|
|
12862
|
+
"singleKeyDescription"?: string;
|
|
12863
|
+
/**
|
|
12864
|
+
* Whether single-key shortcuts are on. When off they are shown dimmed.
|
|
12865
|
+
* @default true
|
|
12866
|
+
*/
|
|
12867
|
+
"singleKeyEnabled"?: boolean;
|
|
12868
|
+
/**
|
|
12869
|
+
* Switch title.
|
|
12870
|
+
* @default 'Single-key shortcuts'
|
|
12871
|
+
*/
|
|
12872
|
+
"singleKeyLabel"?: string;
|
|
9963
12873
|
}
|
|
9964
12874
|
/**
|
|
9965
12875
|
* A vertical list of `bs-list-item` rows, optionally single-select.
|
|
@@ -10134,6 +13044,93 @@ declare namespace LocalJSX {
|
|
|
10134
13044
|
*/
|
|
10135
13045
|
"variant"?: BsLogoVariant;
|
|
10136
13046
|
}
|
|
13047
|
+
/**
|
|
13048
|
+
* The dropdown panel under a navigation header tab: columns of links grouped under headings, an optional
|
|
13049
|
+
* featured area on the right, and a footer with recently used items and a shortcut hint. Matches the Figma
|
|
13050
|
+
* "Mega menu" (types Columns, Column with featured, Compact and Compact with featured).
|
|
13051
|
+
* This is the panel only. Put it in `bs-navigation-header`'s `menu` slot, which anchors it under the bar at the
|
|
13052
|
+
* header's full width, and toggle the host's `hidden` attribute from the tab that
|
|
13053
|
+
* opens it; the panel does not open or close itself. Escape inside the panel fires `bsClose` so you can close it.
|
|
13054
|
+
* Built from `bs-card` (panel surface), `bs-menu-block` or `bs-compact-menu-block` (the links), `bs-divider` and
|
|
13055
|
+
* `bs-key-caps` (the shortcut). The column layout, headings, featured text and footer row are plain layout
|
|
13056
|
+
* markup: no component covers them.
|
|
13057
|
+
* ## Responsive
|
|
13058
|
+
* The panel reacts to its own width (a container query), not the viewport's. Below 600px it becomes one column (heading
|
|
13059
|
+
* above its links, featured area below), titles and descriptions wrap, links are at least 44px tall, the footer stacks
|
|
13060
|
+
* and the default shortcut hint is hidden (`display: none`; a keyboard hint means nothing on a touch screen). A custom
|
|
13061
|
+
* `footer-end` slot is not hidden.
|
|
13062
|
+
* ## When to use
|
|
13063
|
+
* - A header tab that leads to many destinations that need grouping (Sell, Finance, Inventory).
|
|
13064
|
+
* ## When not to use
|
|
13065
|
+
* - A short list of commands -- use `bs-menu` in a `bs-popover`.
|
|
13066
|
+
* - Switching app or company -- use `bs-app-switcher` or `bs-company-switcher`.
|
|
13067
|
+
* `columns`, `featured` and `recent` are arrays or objects and must be set as JS properties. Each item's `icon` is
|
|
13068
|
+
* the URL of a monochrome SVG. You own the data: listen to `bsMenuSelect` (cancelable: `preventDefault()` cancels the
|
|
13069
|
+
* originating click).
|
|
13070
|
+
* @prop --bs-mega-menu-width - Panel width. Defaults to `1100px` (Figma); capped at the viewport.
|
|
13071
|
+
* @prop --bs-mega-menu-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
|
|
13072
|
+
* @prop --bs-mega-menu-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
13073
|
+
* @prop --bs-mega-menu-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
13074
|
+
* @prop --bs-mega-menu-shadow - Panel shadow (elevation level 3). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-high`.
|
|
13075
|
+
* @prop --bs-mega-menu-padding - Padding around the columns. Aliased to `--bs-spacing-300` and `--bs-spacing-350`.
|
|
13076
|
+
* @prop --bs-mega-menu-gap - Gap between columns. Aliased to `--bs-spacing-300`.
|
|
13077
|
+
* @prop --bs-mega-menu-heading-color - Column headings. Aliased to `--bs-text-muted`.
|
|
13078
|
+
* @prop --bs-mega-menu-text-color - Featured title. Aliased to `--bs-text-default`.
|
|
13079
|
+
* @prop --bs-mega-menu-muted-color - Featured description and footer text. Aliased to `--bs-text-secondary`.
|
|
13080
|
+
*/
|
|
13081
|
+
interface BsMegaMenu {
|
|
13082
|
+
/**
|
|
13083
|
+
* The groups of links. JS property only (an array cannot be an attribute).
|
|
13084
|
+
* @default []
|
|
13085
|
+
*/
|
|
13086
|
+
"columns"?: BsMegaMenuColumn[];
|
|
13087
|
+
/**
|
|
13088
|
+
* The featured area on the right. JS property only. The `featured` slot overrides it.
|
|
13089
|
+
*/
|
|
13090
|
+
"featured"?: BsMegaMenuFeatured;
|
|
13091
|
+
/**
|
|
13092
|
+
* Accessible name of the panel.
|
|
13093
|
+
* @default 'Menu'
|
|
13094
|
+
*/
|
|
13095
|
+
"label"?: string;
|
|
13096
|
+
/**
|
|
13097
|
+
* Fires when Escape is pressed inside the panel, so you can close it.
|
|
13098
|
+
*/
|
|
13099
|
+
"onBsClose"?: (event: BsMegaMenuCustomEvent<void>) => void;
|
|
13100
|
+
/**
|
|
13101
|
+
* Fires when a link is chosen (click or Enter), with the item. Cancelable: `preventDefault()` cancels the originating click.
|
|
13102
|
+
*/
|
|
13103
|
+
"onBsMenuSelect"?: (event: BsMegaMenuCustomEvent<BsMegaMenuItem>) => void;
|
|
13104
|
+
/**
|
|
13105
|
+
* Recently used destinations, already translated, shown in the footer. JS property only.
|
|
13106
|
+
* @default []
|
|
13107
|
+
*/
|
|
13108
|
+
"recent"?: string[];
|
|
13109
|
+
/**
|
|
13110
|
+
* Text before the recently used items.
|
|
13111
|
+
* @default 'Recently used:'
|
|
13112
|
+
*/
|
|
13113
|
+
"recentLabel"?: string;
|
|
13114
|
+
/**
|
|
13115
|
+
* The shortcut keys, joined by "+".
|
|
13116
|
+
* @default 'Ctrl+K'
|
|
13117
|
+
*/
|
|
13118
|
+
"shortcutKeys"?: string;
|
|
13119
|
+
/**
|
|
13120
|
+
* Accessible name of the shortcut keys. Defaults to the keys joined with " plus ".
|
|
13121
|
+
*/
|
|
13122
|
+
"shortcutKeysLabel"?: string;
|
|
13123
|
+
/**
|
|
13124
|
+
* Text before the shortcut keys.
|
|
13125
|
+
* @default 'Can’t find it? Press'
|
|
13126
|
+
*/
|
|
13127
|
+
"shortcutLabel"?: string;
|
|
13128
|
+
/**
|
|
13129
|
+
* `columns` shows menu blocks with icon and description; `compact` plain text links.
|
|
13130
|
+
* @default 'columns'
|
|
13131
|
+
*/
|
|
13132
|
+
"type"?: BsMegaMenuType;
|
|
13133
|
+
}
|
|
10137
13134
|
/**
|
|
10138
13135
|
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
10139
13136
|
* `bs-menu-item` elements).
|
|
@@ -10151,6 +13148,49 @@ declare namespace LocalJSX {
|
|
|
10151
13148
|
*/
|
|
10152
13149
|
interface BsMenu {
|
|
10153
13150
|
}
|
|
13151
|
+
/**
|
|
13152
|
+
* A rich entry in a mega menu: an icon tile, a title with an optional "New" chip, and a one-line description.
|
|
13153
|
+
* Matches the Figma "Menu block" component (Default, Hover, Pressed and Focused).
|
|
13154
|
+
* The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
13155
|
+
* native element. Its accessible name is its text: the title, the badge and the description, read once.
|
|
13156
|
+
* Built from `bs-icon-tile` (the icon) and `bs-chip-informative` (the badge). The icon is either a URL of a
|
|
13157
|
+
* monochrome SVG in `icon` (painted with the theme's icon colour through a CSS mask, so it follows light and
|
|
13158
|
+
* dark mode), or any element in the default slot (an `<svg>` drawn with `currentColor`).
|
|
13159
|
+
* ## When to use
|
|
13160
|
+
* - A destination in a mega menu that needs an icon and a sentence of explanation, usually inside `bs-mega-menu`.
|
|
13161
|
+
* ## When not to use
|
|
13162
|
+
* - A plain text destination -- use `bs-compact-menu-block`.
|
|
13163
|
+
* - A command in a dropdown list -- use `bs-menu-item`.
|
|
13164
|
+
* @prop --bs-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-150`.
|
|
13165
|
+
* @prop --bs-menu-block-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
|
|
13166
|
+
* @prop --bs-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
13167
|
+
* @prop --bs-menu-block-bg - Resting background. `transparent`.
|
|
13168
|
+
* @prop --bs-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
|
|
13169
|
+
* @prop --bs-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
13170
|
+
* @prop --bs-menu-block-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered or pressed.
|
|
13171
|
+
* @prop --bs-menu-block-color - Title colour. Aliased to `--bs-text-default`.
|
|
13172
|
+
* @prop --bs-menu-block-color-muted - Description colour. Aliased to `--bs-text-secondary`.
|
|
13173
|
+
* @prop --bs-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
|
|
13174
|
+
* @prop --bs-menu-block-white-space - `white-space` of the title and description. `nowrap` (single line, ellipsis); set `normal` to let them wrap.
|
|
13175
|
+
*/
|
|
13176
|
+
interface BsMenuBlock {
|
|
13177
|
+
/**
|
|
13178
|
+
* Short text for a chip beside the title, e.g. "New".
|
|
13179
|
+
*/
|
|
13180
|
+
"badge"?: string;
|
|
13181
|
+
/**
|
|
13182
|
+
* One line under the title; part of the accessible name.
|
|
13183
|
+
*/
|
|
13184
|
+
"description"?: string;
|
|
13185
|
+
/**
|
|
13186
|
+
* URL of a monochrome SVG painted with the icon colour. The default slot overrides it.
|
|
13187
|
+
*/
|
|
13188
|
+
"icon"?: string;
|
|
13189
|
+
/**
|
|
13190
|
+
* The title, and the start of the accessible name.
|
|
13191
|
+
*/
|
|
13192
|
+
"name": string;
|
|
13193
|
+
}
|
|
10154
13194
|
/**
|
|
10155
13195
|
* A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
|
|
10156
13196
|
* real `<button>` for correct keyboard/click semantics.
|
|
@@ -10602,6 +13642,99 @@ declare namespace LocalJSX {
|
|
|
10602
13642
|
*/
|
|
10603
13643
|
"type"?: BsOnboardingChecklistType;
|
|
10604
13644
|
}
|
|
13645
|
+
/**
|
|
13646
|
+
* The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
|
|
13647
|
+
* optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
|
|
13648
|
+
* optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
|
|
13649
|
+
* compact).
|
|
13650
|
+
* Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
|
|
13651
|
+
* buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
|
|
13652
|
+
* `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
|
|
13653
|
+
* actions area are plain layout markup, because no component covers them. The back arrow and the star are
|
|
13654
|
+
* inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
|
|
13655
|
+
* ## Compact (sticky)
|
|
13656
|
+
* `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
|
|
13657
|
+
* meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
|
|
13658
|
+
* from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
|
|
13659
|
+
* `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
|
|
13660
|
+
* ## Responsive
|
|
13661
|
+
* The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
|
|
13662
|
+
* below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
|
|
13663
|
+
* sideways inside itself. The page never gets wider.
|
|
13664
|
+
* ## When to use
|
|
13665
|
+
* - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
|
|
13666
|
+
* ## When not to use
|
|
13667
|
+
* - The app-wide bar with logo, search and user: use `bs-navigation-header`.
|
|
13668
|
+
* - The heading of a card, dialog or panel: use that component's own `heading`.
|
|
13669
|
+
* ## Accessibility notes
|
|
13670
|
+
* The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
|
|
13671
|
+
* is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
|
|
13672
|
+
* status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
|
|
13673
|
+
* @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
|
|
13674
|
+
* @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
|
|
13675
|
+
* @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
|
|
13676
|
+
* @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
|
|
13677
|
+
* @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
|
|
13678
|
+
* @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
|
|
13679
|
+
* @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
|
|
13680
|
+
* @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
|
|
13681
|
+
* @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
|
|
13682
|
+
* @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
|
|
13683
|
+
* @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
|
|
13684
|
+
*/
|
|
13685
|
+
interface BsPageHeader {
|
|
13686
|
+
/**
|
|
13687
|
+
* Shows a back button before the title. It emits `bsBack`; you navigate.
|
|
13688
|
+
* @default false
|
|
13689
|
+
*/
|
|
13690
|
+
"back"?: boolean;
|
|
13691
|
+
/**
|
|
13692
|
+
* Accessible name of the back button.
|
|
13693
|
+
* @default 'Back'
|
|
13694
|
+
*/
|
|
13695
|
+
"backLabel"?: string;
|
|
13696
|
+
/**
|
|
13697
|
+
* The condensed, sticky state: one row, a level 2 shadow, no breadcrumb and no tabs. Reflected.
|
|
13698
|
+
* @default false
|
|
13699
|
+
*/
|
|
13700
|
+
"compact"?: boolean;
|
|
13701
|
+
/**
|
|
13702
|
+
* Shows the favourite (star) toggle after the title.
|
|
13703
|
+
* @default false
|
|
13704
|
+
*/
|
|
13705
|
+
"favoritable"?: boolean;
|
|
13706
|
+
/**
|
|
13707
|
+
* Whether the record is a favourite. Mutable: it follows the user's toggle unless `bsFavoriteChange` is cancelled.
|
|
13708
|
+
* @default false
|
|
13709
|
+
*/
|
|
13710
|
+
"favorite"?: boolean;
|
|
13711
|
+
/**
|
|
13712
|
+
* Accessible name of the favourite toggle. It stays the same in both states; `aria-pressed` carries the state.
|
|
13713
|
+
* @default 'Favourite'
|
|
13714
|
+
*/
|
|
13715
|
+
"favoriteLabel"?: string;
|
|
13716
|
+
/**
|
|
13717
|
+
* The page title, rendered as the heading.
|
|
13718
|
+
*/
|
|
13719
|
+
"heading"?: string;
|
|
13720
|
+
/**
|
|
13721
|
+
* HTML heading level for the title, 1 to 6. Use 1 unless the page already has its own `h1`.
|
|
13722
|
+
* @default 1
|
|
13723
|
+
*/
|
|
13724
|
+
"headingLevel"?: number;
|
|
13725
|
+
/**
|
|
13726
|
+
* The line under the title, plain text, e.g. "214 invoices · 38 open". The `meta` slot overrides it.
|
|
13727
|
+
*/
|
|
13728
|
+
"meta"?: string;
|
|
13729
|
+
/**
|
|
13730
|
+
* Fires when the back button is clicked. Not cancelable: the component has no default action to cancel.
|
|
13731
|
+
*/
|
|
13732
|
+
"onBsBack"?: (event: BsPageHeaderCustomEvent<void>) => void;
|
|
13733
|
+
/**
|
|
13734
|
+
* Fires when the user toggles the favourite button, with the new value. Cancelable: `preventDefault()` keeps the old value.
|
|
13735
|
+
*/
|
|
13736
|
+
"onBsFavoriteChange"?: (event: BsPageHeaderCustomEvent<{ favorite: boolean }>) => void;
|
|
13737
|
+
}
|
|
10605
13738
|
/**
|
|
10606
13739
|
* A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
|
|
10607
13740
|
* large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
|
|
@@ -11053,6 +14186,59 @@ declare namespace LocalJSX {
|
|
|
11053
14186
|
*/
|
|
11054
14187
|
"value"?: string;
|
|
11055
14188
|
}
|
|
14189
|
+
/**
|
|
14190
|
+
* One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
|
|
14191
|
+
* description line and trailing text. Static, not focusable -- focus stays in the search field and the
|
|
14192
|
+
* parent (`bs-global-search`) marks the highlighted row with `active`.
|
|
14193
|
+
* Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
|
|
14194
|
+
* the same pattern as `bs-list-item` and `bs-shortcut-row`.
|
|
14195
|
+
* ## When to use
|
|
14196
|
+
* - A suggestion, recent search or result inside `bs-global-search`.
|
|
14197
|
+
* ## When not to use
|
|
14198
|
+
* - A row in a generic list -- use `bs-list-item`.
|
|
14199
|
+
* - A command in a popup menu -- use `bs-menu-item`.
|
|
14200
|
+
* @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
|
|
14201
|
+
* @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
14202
|
+
* @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
|
|
14203
|
+
* @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
|
|
14204
|
+
* @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
|
|
14205
|
+
* @prop --bs-search-item-bg - Resting background. `transparent`.
|
|
14206
|
+
* @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
|
|
14207
|
+
* @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
14208
|
+
* @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
|
|
14209
|
+
* @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
|
|
14210
|
+
* @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
14211
|
+
* @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
|
|
14212
|
+
*/
|
|
14213
|
+
interface BsSearchItem {
|
|
14214
|
+
/**
|
|
14215
|
+
* Highlighted row (keyboard or hover). Set by the parent.
|
|
14216
|
+
* @default false
|
|
14217
|
+
*/
|
|
14218
|
+
"active"?: boolean;
|
|
14219
|
+
/**
|
|
14220
|
+
* Dims the row and ignores clicks.
|
|
14221
|
+
* @default false
|
|
14222
|
+
*/
|
|
14223
|
+
"disabled"?: boolean;
|
|
14224
|
+
/**
|
|
14225
|
+
* Fires with `value` when the row is clicked, or when the parent selects it with Enter.
|
|
14226
|
+
*/
|
|
14227
|
+
"onBsItemSelect"?: (event: BsSearchItemCustomEvent<string | undefined>) => void;
|
|
14228
|
+
/**
|
|
14229
|
+
* Set by the parent (`"option"`). Standalone rows have no role.
|
|
14230
|
+
* @default null
|
|
14231
|
+
*/
|
|
14232
|
+
"selectionRole"?: 'option' | null;
|
|
14233
|
+
/**
|
|
14234
|
+
* Trailing text shorthand. The `trailing` slot overrides it.
|
|
14235
|
+
*/
|
|
14236
|
+
"trailing"?: string;
|
|
14237
|
+
/**
|
|
14238
|
+
* Identifies the item; emitted by `bsItemSelect`.
|
|
14239
|
+
*/
|
|
14240
|
+
"value"?: string;
|
|
14241
|
+
}
|
|
11056
14242
|
/**
|
|
11057
14243
|
* The three moments around an expiring session, as one card. Matches the Figma "Session timeout"
|
|
11058
14244
|
* component's three types:
|
|
@@ -11197,6 +14383,46 @@ declare namespace LocalJSX {
|
|
|
11197
14383
|
*/
|
|
11198
14384
|
"type"?: BsSessionTimeoutType;
|
|
11199
14385
|
}
|
|
14386
|
+
/**
|
|
14387
|
+
* One row of a shortcut list: an action label on the left and its keyboard shortcut on the right.
|
|
14388
|
+
* Static information, not interactive. Standalone it has no role; `bs-keyboard-shortcuts` sets
|
|
14389
|
+
* `selectionRole="listitem"` on its rows (same pattern as `bs-list-item`).
|
|
14390
|
+
* Built from `bs-key-caps` (and so `bs-key`).
|
|
14391
|
+
* ## When to use
|
|
14392
|
+
* - A line in a keyboard-shortcut reference, usually inside `bs-keyboard-shortcuts`.
|
|
14393
|
+
* ## When not to use
|
|
14394
|
+
* - A clickable command or menu entry -- use `bs-menu-item` (which has its own shortcut slot).
|
|
14395
|
+
* @prop --bs-shortcut-row-height - Row height. Defaults to `36px` (Figma).
|
|
14396
|
+
* @prop --bs-shortcut-row-padding-x - Horizontal padding. Aliased to `--bs-spacing-100`.
|
|
14397
|
+
* @prop --bs-shortcut-row-gap - Gap between label and keys. Aliased to `--bs-spacing-100`.
|
|
14398
|
+
* @prop --bs-shortcut-row-radius - Corner radius. Aliased to `--bs-border-radius-75`.
|
|
14399
|
+
* @prop --bs-shortcut-row-color - Label colour. Aliased to `--bs-text-default`.
|
|
14400
|
+
* @prop --bs-shortcut-row-color-disabled - Label colour while `disabled`. Aliased to `--bs-text-on-disabled`.
|
|
14401
|
+
*/
|
|
14402
|
+
interface BsShortcutRow {
|
|
14403
|
+
/**
|
|
14404
|
+
* The action, e.g. "Save". The default slot overrides it.
|
|
14405
|
+
*/
|
|
14406
|
+
"action"?: string;
|
|
14407
|
+
/**
|
|
14408
|
+
* Dims the label and the keys.
|
|
14409
|
+
* @default false
|
|
14410
|
+
*/
|
|
14411
|
+
"disabled"?: boolean;
|
|
14412
|
+
/**
|
|
14413
|
+
* The keys, e.g. `"Ctrl+S"`, or an array (`['Ctrl', '+']`) for a literal plus key. See `bs-key-caps`.
|
|
14414
|
+
*/
|
|
14415
|
+
"keys"?: string | string[];
|
|
14416
|
+
/**
|
|
14417
|
+
* Accessible name of the key caps, e.g. "Control plus S". Defaults to the keys joined with "plus".
|
|
14418
|
+
*/
|
|
14419
|
+
"label"?: string;
|
|
14420
|
+
/**
|
|
14421
|
+
* Set by the parent list (`"listitem"`). Standalone rows have no role.
|
|
14422
|
+
* @default null
|
|
14423
|
+
*/
|
|
14424
|
+
"selectionRole"?: 'listitem' | null;
|
|
14425
|
+
}
|
|
11200
14426
|
/**
|
|
11201
14427
|
* A generic slide-in panel (drawer) anchored to the start or end edge, for history, filters, FAQ
|
|
11202
14428
|
* and similar secondary content. Closes via its close button or Escape and emits `bsClose`.
|
|
@@ -12375,9 +15601,49 @@ declare namespace LocalJSX {
|
|
|
12375
15601
|
interface BsAiThinkingAttributes {
|
|
12376
15602
|
"label": string;
|
|
12377
15603
|
}
|
|
15604
|
+
interface BsAppRecentItemAttributes {
|
|
15605
|
+
"name": string;
|
|
15606
|
+
"description": string;
|
|
15607
|
+
"icon": string;
|
|
15608
|
+
"current": boolean;
|
|
15609
|
+
"disabled": boolean;
|
|
15610
|
+
}
|
|
12378
15611
|
interface BsAppShellAttributes {
|
|
12379
15612
|
"fullHeight": boolean;
|
|
12380
15613
|
}
|
|
15614
|
+
interface BsAppSwitcherAttributes {
|
|
15615
|
+
"currentId": string;
|
|
15616
|
+
"query": string;
|
|
15617
|
+
"status": BsAppSwitcherStatus;
|
|
15618
|
+
"manageHref": string;
|
|
15619
|
+
"browseHref": string;
|
|
15620
|
+
"heading": string;
|
|
15621
|
+
"manageLabel": string;
|
|
15622
|
+
"searchPlaceholder": string;
|
|
15623
|
+
"yourAppsLabel": string;
|
|
15624
|
+
"recentLabel": string;
|
|
15625
|
+
"allAppsLabel": string;
|
|
15626
|
+
"resultsLabel": string;
|
|
15627
|
+
"resultLabel": string;
|
|
15628
|
+
"browseLabel": string;
|
|
15629
|
+
"noResultsHeading": string;
|
|
15630
|
+
"noResultsDescription": string;
|
|
15631
|
+
"clearLabel": string;
|
|
15632
|
+
"errorHeading": string;
|
|
15633
|
+
"errorDescription": string;
|
|
15634
|
+
"retryLabel": string;
|
|
15635
|
+
"emptyHeading": string;
|
|
15636
|
+
"emptyDescription": string;
|
|
15637
|
+
"requestAccessLabel": string;
|
|
15638
|
+
"loadingLabel": string;
|
|
15639
|
+
}
|
|
15640
|
+
interface BsAppTileAttributes {
|
|
15641
|
+
"name": string;
|
|
15642
|
+
"size": BsAppTileSize;
|
|
15643
|
+
"icon": string;
|
|
15644
|
+
"current": boolean;
|
|
15645
|
+
"disabled": boolean;
|
|
15646
|
+
}
|
|
12381
15647
|
interface BsAttachmentAttributes {
|
|
12382
15648
|
"uploadingLabel": string;
|
|
12383
15649
|
"removeLabel": string;
|
|
@@ -12532,6 +15798,57 @@ declare namespace LocalJSX {
|
|
|
12532
15798
|
"page": string;
|
|
12533
15799
|
"href": string;
|
|
12534
15800
|
}
|
|
15801
|
+
interface BsCommandPaletteAttributes {
|
|
15802
|
+
"value": string;
|
|
15803
|
+
"open": boolean;
|
|
15804
|
+
"commandsOnly": boolean;
|
|
15805
|
+
"status": BsCommandPaletteStatus;
|
|
15806
|
+
"label": string;
|
|
15807
|
+
"placeholder": string;
|
|
15808
|
+
"keepOpenOnSelect": boolean;
|
|
15809
|
+
"showFooter": boolean;
|
|
15810
|
+
"hotkey": string;
|
|
15811
|
+
"scopeLabel": string;
|
|
15812
|
+
"recentLabel": string;
|
|
15813
|
+
"suggestedLabel": string;
|
|
15814
|
+
"commandsLabel": string;
|
|
15815
|
+
"navigationLabel": string;
|
|
15816
|
+
"recordsLabel": string;
|
|
15817
|
+
"tryInsteadLabel": string;
|
|
15818
|
+
"navigateLabel": string;
|
|
15819
|
+
"openLabel": string;
|
|
15820
|
+
"closeLabel": string;
|
|
15821
|
+
"commandsOnlyLabel": string;
|
|
15822
|
+
"allResultsLabel": string;
|
|
15823
|
+
"emptyHeading": string;
|
|
15824
|
+
"emptyDescription": string;
|
|
15825
|
+
"didYouMean": string;
|
|
15826
|
+
"didYouMeanLabel": string;
|
|
15827
|
+
"loadingLabel": string;
|
|
15828
|
+
"listLabel": string;
|
|
15829
|
+
}
|
|
15830
|
+
interface BsCompactMenuBlockAttributes {
|
|
15831
|
+
"name": string;
|
|
15832
|
+
}
|
|
15833
|
+
interface BsCompanySwitcherAttributes {
|
|
15834
|
+
"currentId": string;
|
|
15835
|
+
"switchingId": string;
|
|
15836
|
+
"open": boolean;
|
|
15837
|
+
"placeholderLabel": string;
|
|
15838
|
+
"searchPlaceholder": string;
|
|
15839
|
+
"listLabel": string;
|
|
15840
|
+
"currentLabel": string;
|
|
15841
|
+
"recentLabel": string;
|
|
15842
|
+
"allLabel": string;
|
|
15843
|
+
"matchesLabel": string;
|
|
15844
|
+
"matchLabel": string;
|
|
15845
|
+
"orgNumberLabel": string;
|
|
15846
|
+
"switchingLabel": string;
|
|
15847
|
+
"emptyHeading": string;
|
|
15848
|
+
"emptyDescription": string;
|
|
15849
|
+
"manageLabel": string;
|
|
15850
|
+
"addLabel": string;
|
|
15851
|
+
}
|
|
12535
15852
|
interface BsComposerAttributes {
|
|
12536
15853
|
"variant": BsComposerVariant;
|
|
12537
15854
|
"placeholder": string;
|
|
@@ -12615,6 +15932,12 @@ declare namespace LocalJSX {
|
|
|
12615
15932
|
"inset": BsDividerInset;
|
|
12616
15933
|
"decorative": boolean;
|
|
12617
15934
|
}
|
|
15935
|
+
interface BsEmptyStateAttributes {
|
|
15936
|
+
"heading": string;
|
|
15937
|
+
"description": string;
|
|
15938
|
+
"intent": BsIconTileIntent;
|
|
15939
|
+
"headingLevel": 2 | 3 | 4 | 5 | 6;
|
|
15940
|
+
}
|
|
12618
15941
|
interface BsErrorPageAttributes {
|
|
12619
15942
|
"type": BsErrorPageType;
|
|
12620
15943
|
"code": string;
|
|
@@ -12646,6 +15969,33 @@ declare namespace LocalJSX {
|
|
|
12646
15969
|
"cancelLabel": string;
|
|
12647
15970
|
"removeLabel": string;
|
|
12648
15971
|
}
|
|
15972
|
+
interface BsGlobalSearchAttributes {
|
|
15973
|
+
"value": string;
|
|
15974
|
+
"placeholder": string;
|
|
15975
|
+
"label": string;
|
|
15976
|
+
"disabled": boolean;
|
|
15977
|
+
"open": boolean;
|
|
15978
|
+
"status": BsGlobalSearchStatus;
|
|
15979
|
+
"totalResults": number;
|
|
15980
|
+
"showFooter": boolean;
|
|
15981
|
+
"listLabel": string;
|
|
15982
|
+
"recentLabel": string;
|
|
15983
|
+
"jumpToLabel": string;
|
|
15984
|
+
"topMatchesLabel": string;
|
|
15985
|
+
"searchInLabel": string;
|
|
15986
|
+
"navigateLabel": string;
|
|
15987
|
+
"searchLabel": string;
|
|
15988
|
+
"closeLabel": string;
|
|
15989
|
+
"fullResultsLabel": string;
|
|
15990
|
+
"clearRecentLabel": string;
|
|
15991
|
+
"seeAllLabel": string;
|
|
15992
|
+
"emptyHeading": string;
|
|
15993
|
+
"emptyDescription": string;
|
|
15994
|
+
"clearSearchLabel": string;
|
|
15995
|
+
"errorHeading": string;
|
|
15996
|
+
"errorDescription": string;
|
|
15997
|
+
"retryLabel": string;
|
|
15998
|
+
}
|
|
12649
15999
|
interface BsGridAttributes {
|
|
12650
16000
|
"columns": string;
|
|
12651
16001
|
"gap": string;
|
|
@@ -12660,6 +16010,7 @@ declare namespace LocalJSX {
|
|
|
12660
16010
|
"disabled": boolean;
|
|
12661
16011
|
"type": 'button' | 'submit' | 'reset';
|
|
12662
16012
|
"ariaLabel": string | null;
|
|
16013
|
+
"pressed": boolean;
|
|
12663
16014
|
}
|
|
12664
16015
|
interface BsIconTileAttributes {
|
|
12665
16016
|
"size": BsIconTileSize;
|
|
@@ -12708,6 +16059,29 @@ declare namespace LocalJSX {
|
|
|
12708
16059
|
"length": number;
|
|
12709
16060
|
"open": boolean;
|
|
12710
16061
|
}
|
|
16062
|
+
interface BsKeyAttributes {
|
|
16063
|
+
"label": string;
|
|
16064
|
+
}
|
|
16065
|
+
interface BsKeyCapsAttributes {
|
|
16066
|
+
"keys": string | string[];
|
|
16067
|
+
"disabled": boolean;
|
|
16068
|
+
"label": string;
|
|
16069
|
+
}
|
|
16070
|
+
interface BsKeyboardShortcutsAttributes {
|
|
16071
|
+
"heading": string;
|
|
16072
|
+
"closeLabel": string;
|
|
16073
|
+
"searchPlaceholder": string;
|
|
16074
|
+
"query": string;
|
|
16075
|
+
"showSingleKeySwitch": boolean;
|
|
16076
|
+
"singleKeyEnabled": boolean;
|
|
16077
|
+
"singleKeyLabel": string;
|
|
16078
|
+
"singleKeyDescription": string;
|
|
16079
|
+
"showFooterHint": boolean;
|
|
16080
|
+
"footerKey": string;
|
|
16081
|
+
"footerText": string;
|
|
16082
|
+
"footerPrefix": string;
|
|
16083
|
+
"noResultsText": string;
|
|
16084
|
+
}
|
|
12711
16085
|
interface BsListAttributes {
|
|
12712
16086
|
"selectable": boolean;
|
|
12713
16087
|
"value": string | null;
|
|
@@ -12731,6 +16105,20 @@ declare namespace LocalJSX {
|
|
|
12731
16105
|
"src": string | null;
|
|
12732
16106
|
"alt": string | null;
|
|
12733
16107
|
}
|
|
16108
|
+
interface BsMegaMenuAttributes {
|
|
16109
|
+
"type": BsMegaMenuType;
|
|
16110
|
+
"label": string;
|
|
16111
|
+
"recentLabel": string;
|
|
16112
|
+
"shortcutLabel": string;
|
|
16113
|
+
"shortcutKeys": string;
|
|
16114
|
+
"shortcutKeysLabel": string;
|
|
16115
|
+
}
|
|
16116
|
+
interface BsMenuBlockAttributes {
|
|
16117
|
+
"name": string;
|
|
16118
|
+
"description": string;
|
|
16119
|
+
"icon": string;
|
|
16120
|
+
"badge": string;
|
|
16121
|
+
}
|
|
12734
16122
|
interface BsMenuItemAttributes {
|
|
12735
16123
|
"disabled": boolean;
|
|
12736
16124
|
}
|
|
@@ -12788,6 +16176,17 @@ declare namespace LocalJSX {
|
|
|
12788
16176
|
"statusDoneLabel": string;
|
|
12789
16177
|
"statusTodoLabel": string;
|
|
12790
16178
|
}
|
|
16179
|
+
interface BsPageHeaderAttributes {
|
|
16180
|
+
"heading": string;
|
|
16181
|
+
"headingLevel": number;
|
|
16182
|
+
"meta": string;
|
|
16183
|
+
"compact": boolean;
|
|
16184
|
+
"back": boolean;
|
|
16185
|
+
"backLabel": string;
|
|
16186
|
+
"favoritable": boolean;
|
|
16187
|
+
"favorite": boolean;
|
|
16188
|
+
"favoriteLabel": string;
|
|
16189
|
+
}
|
|
12791
16190
|
interface BsPaginationAttributes {
|
|
12792
16191
|
"totalPages": number;
|
|
12793
16192
|
"currentPage": number;
|
|
@@ -12860,6 +16259,13 @@ declare namespace LocalJSX {
|
|
|
12860
16259
|
"checked": boolean;
|
|
12861
16260
|
"disabled": boolean;
|
|
12862
16261
|
}
|
|
16262
|
+
interface BsSearchItemAttributes {
|
|
16263
|
+
"value": string;
|
|
16264
|
+
"active": boolean;
|
|
16265
|
+
"disabled": boolean;
|
|
16266
|
+
"trailing": string;
|
|
16267
|
+
"selectionRole": 'option' | null;
|
|
16268
|
+
}
|
|
12863
16269
|
interface BsSessionTimeoutAttributes {
|
|
12864
16270
|
"type": BsSessionTimeoutType;
|
|
12865
16271
|
"heading": string;
|
|
@@ -12882,6 +16288,13 @@ declare namespace LocalJSX {
|
|
|
12882
16288
|
"dividerLabel": string;
|
|
12883
16289
|
"cancelLabel": string;
|
|
12884
16290
|
}
|
|
16291
|
+
interface BsShortcutRowAttributes {
|
|
16292
|
+
"action": string;
|
|
16293
|
+
"keys": string | string[];
|
|
16294
|
+
"label": string;
|
|
16295
|
+
"disabled": boolean;
|
|
16296
|
+
"selectionRole": 'listitem' | null;
|
|
16297
|
+
}
|
|
12885
16298
|
interface BsSidePanelAttributes {
|
|
12886
16299
|
"open": boolean;
|
|
12887
16300
|
"heading": string;
|
|
@@ -13064,7 +16477,10 @@ declare namespace LocalJSX {
|
|
|
13064
16477
|
"bs-ai-disclaimer": BsAiDisclaimer;
|
|
13065
16478
|
"bs-ai-greeting": Omit<BsAiGreeting, keyof BsAiGreetingAttributes> & { [K in keyof BsAiGreeting & keyof BsAiGreetingAttributes]?: BsAiGreeting[K] } & { [K in keyof BsAiGreeting & keyof BsAiGreetingAttributes as `attr:${K}`]?: BsAiGreetingAttributes[K] } & { [K in keyof BsAiGreeting & keyof BsAiGreetingAttributes as `prop:${K}`]?: BsAiGreeting[K] };
|
|
13066
16479
|
"bs-ai-thinking": Omit<BsAiThinking, keyof BsAiThinkingAttributes> & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes]?: BsAiThinking[K] } & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes as `attr:${K}`]?: BsAiThinkingAttributes[K] } & { [K in keyof BsAiThinking & keyof BsAiThinkingAttributes as `prop:${K}`]?: BsAiThinking[K] };
|
|
16480
|
+
"bs-app-recent-item": Omit<BsAppRecentItem, keyof BsAppRecentItemAttributes> & { [K in keyof BsAppRecentItem & keyof BsAppRecentItemAttributes]?: BsAppRecentItem[K] } & { [K in keyof BsAppRecentItem & keyof BsAppRecentItemAttributes as `attr:${K}`]?: BsAppRecentItemAttributes[K] } & { [K in keyof BsAppRecentItem & keyof BsAppRecentItemAttributes as `prop:${K}`]?: BsAppRecentItem[K] } & OneOf<"name", BsAppRecentItem["name"], BsAppRecentItemAttributes["name"]>;
|
|
13067
16481
|
"bs-app-shell": Omit<BsAppShell, keyof BsAppShellAttributes> & { [K in keyof BsAppShell & keyof BsAppShellAttributes]?: BsAppShell[K] } & { [K in keyof BsAppShell & keyof BsAppShellAttributes as `attr:${K}`]?: BsAppShellAttributes[K] } & { [K in keyof BsAppShell & keyof BsAppShellAttributes as `prop:${K}`]?: BsAppShell[K] };
|
|
16482
|
+
"bs-app-switcher": Omit<BsAppSwitcher, keyof BsAppSwitcherAttributes> & { [K in keyof BsAppSwitcher & keyof BsAppSwitcherAttributes]?: BsAppSwitcher[K] } & { [K in keyof BsAppSwitcher & keyof BsAppSwitcherAttributes as `attr:${K}`]?: BsAppSwitcherAttributes[K] } & { [K in keyof BsAppSwitcher & keyof BsAppSwitcherAttributes as `prop:${K}`]?: BsAppSwitcher[K] };
|
|
16483
|
+
"bs-app-tile": Omit<BsAppTile, keyof BsAppTileAttributes> & { [K in keyof BsAppTile & keyof BsAppTileAttributes]?: BsAppTile[K] } & { [K in keyof BsAppTile & keyof BsAppTileAttributes as `attr:${K}`]?: BsAppTileAttributes[K] } & { [K in keyof BsAppTile & keyof BsAppTileAttributes as `prop:${K}`]?: BsAppTile[K] } & OneOf<"name", BsAppTile["name"], BsAppTileAttributes["name"]>;
|
|
13068
16484
|
"bs-attachment": Omit<BsAttachment, keyof BsAttachmentAttributes> & { [K in keyof BsAttachment & keyof BsAttachmentAttributes]?: BsAttachment[K] } & { [K in keyof BsAttachment & keyof BsAttachmentAttributes as `attr:${K}`]?: BsAttachmentAttributes[K] } & { [K in keyof BsAttachment & keyof BsAttachmentAttributes as `prop:${K}`]?: BsAttachment[K] };
|
|
13069
16485
|
"bs-attachment-list": Omit<BsAttachmentList, keyof BsAttachmentListAttributes> & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes]?: BsAttachmentList[K] } & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes as `attr:${K}`]?: BsAttachmentListAttributes[K] } & { [K in keyof BsAttachmentList & keyof BsAttachmentListAttributes as `prop:${K}`]?: BsAttachmentList[K] };
|
|
13070
16486
|
"bs-avatar": Omit<BsAvatar, keyof BsAvatarAttributes> & { [K in keyof BsAvatar & keyof BsAvatarAttributes]?: BsAvatar[K] } & { [K in keyof BsAvatar & keyof BsAvatarAttributes as `attr:${K}`]?: BsAvatarAttributes[K] } & { [K in keyof BsAvatar & keyof BsAvatarAttributes as `prop:${K}`]?: BsAvatar[K] };
|
|
@@ -13087,6 +16503,9 @@ declare namespace LocalJSX {
|
|
|
13087
16503
|
"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] };
|
|
13088
16504
|
"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] };
|
|
13089
16505
|
"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] };
|
|
16506
|
+
"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] };
|
|
16507
|
+
"bs-compact-menu-block": Omit<BsCompactMenuBlock, keyof BsCompactMenuBlockAttributes> & { [K in keyof BsCompactMenuBlock & keyof BsCompactMenuBlockAttributes]?: BsCompactMenuBlock[K] } & { [K in keyof BsCompactMenuBlock & keyof BsCompactMenuBlockAttributes as `attr:${K}`]?: BsCompactMenuBlockAttributes[K] } & { [K in keyof BsCompactMenuBlock & keyof BsCompactMenuBlockAttributes as `prop:${K}`]?: BsCompactMenuBlock[K] } & OneOf<"name", BsCompactMenuBlock["name"], BsCompactMenuBlockAttributes["name"]>;
|
|
16508
|
+
"bs-company-switcher": Omit<BsCompanySwitcher, keyof BsCompanySwitcherAttributes> & { [K in keyof BsCompanySwitcher & keyof BsCompanySwitcherAttributes]?: BsCompanySwitcher[K] } & { [K in keyof BsCompanySwitcher & keyof BsCompanySwitcherAttributes as `attr:${K}`]?: BsCompanySwitcherAttributes[K] } & { [K in keyof BsCompanySwitcher & keyof BsCompanySwitcherAttributes as `prop:${K}`]?: BsCompanySwitcher[K] };
|
|
13090
16509
|
"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] };
|
|
13091
16510
|
"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] };
|
|
13092
16511
|
"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] };
|
|
@@ -13095,18 +16514,25 @@ declare namespace LocalJSX {
|
|
|
13095
16514
|
"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] };
|
|
13096
16515
|
"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] };
|
|
13097
16516
|
"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] };
|
|
16517
|
+
"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] };
|
|
13098
16518
|
"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] };
|
|
13099
16519
|
"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] };
|
|
13100
16520
|
"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] };
|
|
16521
|
+
"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] };
|
|
13101
16522
|
"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] };
|
|
13102
16523
|
"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] };
|
|
13103
16524
|
"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] };
|
|
13104
16525
|
"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] };
|
|
13105
16526
|
"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] };
|
|
16527
|
+
"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] };
|
|
16528
|
+
"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] };
|
|
16529
|
+
"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] };
|
|
13106
16530
|
"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] };
|
|
13107
16531
|
"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] };
|
|
13108
16532
|
"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] };
|
|
16533
|
+
"bs-mega-menu": Omit<BsMegaMenu, keyof BsMegaMenuAttributes> & { [K in keyof BsMegaMenu & keyof BsMegaMenuAttributes]?: BsMegaMenu[K] } & { [K in keyof BsMegaMenu & keyof BsMegaMenuAttributes as `attr:${K}`]?: BsMegaMenuAttributes[K] } & { [K in keyof BsMegaMenu & keyof BsMegaMenuAttributes as `prop:${K}`]?: BsMegaMenu[K] };
|
|
13109
16534
|
"bs-menu": BsMenu;
|
|
16535
|
+
"bs-menu-block": Omit<BsMenuBlock, keyof BsMenuBlockAttributes> & { [K in keyof BsMenuBlock & keyof BsMenuBlockAttributes]?: BsMenuBlock[K] } & { [K in keyof BsMenuBlock & keyof BsMenuBlockAttributes as `attr:${K}`]?: BsMenuBlockAttributes[K] } & { [K in keyof BsMenuBlock & keyof BsMenuBlockAttributes as `prop:${K}`]?: BsMenuBlock[K] } & OneOf<"name", BsMenuBlock["name"], BsMenuBlockAttributes["name"]>;
|
|
13110
16536
|
"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] };
|
|
13111
16537
|
"bs-message": Omit<BsMessage, keyof BsMessageAttributes> & { [K in keyof BsMessage & keyof BsMessageAttributes]?: BsMessage[K] } & { [K in keyof BsMessage & keyof BsMessageAttributes as `attr:${K}`]?: BsMessageAttributes[K] } & { [K in keyof BsMessage & keyof BsMessageAttributes as `prop:${K}`]?: BsMessage[K] };
|
|
13112
16538
|
"bs-message-list": Omit<BsMessageList, keyof BsMessageListAttributes> & { [K in keyof BsMessageList & keyof BsMessageListAttributes]?: BsMessageList[K] } & { [K in keyof BsMessageList & keyof BsMessageListAttributes as `attr:${K}`]?: BsMessageListAttributes[K] } & { [K in keyof BsMessageList & keyof BsMessageListAttributes as `prop:${K}`]?: BsMessageList[K] };
|
|
@@ -13114,6 +16540,7 @@ declare namespace LocalJSX {
|
|
|
13114
16540
|
"bs-navigation-drawer-item": Omit<BsNavigationDrawerItem, keyof BsNavigationDrawerItemAttributes> & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes]?: BsNavigationDrawerItem[K] } & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes as `attr:${K}`]?: BsNavigationDrawerItemAttributes[K] } & { [K in keyof BsNavigationDrawerItem & keyof BsNavigationDrawerItemAttributes as `prop:${K}`]?: BsNavigationDrawerItem[K] };
|
|
13115
16541
|
"bs-navigation-header": Omit<BsNavigationHeader, keyof BsNavigationHeaderAttributes> & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes]?: BsNavigationHeader[K] } & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes as `attr:${K}`]?: BsNavigationHeaderAttributes[K] } & { [K in keyof BsNavigationHeader & keyof BsNavigationHeaderAttributes as `prop:${K}`]?: BsNavigationHeader[K] };
|
|
13116
16542
|
"bs-onboarding-checklist": Omit<BsOnboardingChecklist, keyof BsOnboardingChecklistAttributes> & { [K in keyof BsOnboardingChecklist & keyof BsOnboardingChecklistAttributes]?: BsOnboardingChecklist[K] } & { [K in keyof BsOnboardingChecklist & keyof BsOnboardingChecklistAttributes as `attr:${K}`]?: BsOnboardingChecklistAttributes[K] } & { [K in keyof BsOnboardingChecklist & keyof BsOnboardingChecklistAttributes as `prop:${K}`]?: BsOnboardingChecklist[K] };
|
|
16543
|
+
"bs-page-header": Omit<BsPageHeader, keyof BsPageHeaderAttributes> & { [K in keyof BsPageHeader & keyof BsPageHeaderAttributes]?: BsPageHeader[K] } & { [K in keyof BsPageHeader & keyof BsPageHeaderAttributes as `attr:${K}`]?: BsPageHeaderAttributes[K] } & { [K in keyof BsPageHeader & keyof BsPageHeaderAttributes as `prop:${K}`]?: BsPageHeader[K] };
|
|
13117
16544
|
"bs-pagination": Omit<BsPagination, keyof BsPaginationAttributes> & { [K in keyof BsPagination & keyof BsPaginationAttributes]?: BsPagination[K] } & { [K in keyof BsPagination & keyof BsPaginationAttributes as `attr:${K}`]?: BsPaginationAttributes[K] } & { [K in keyof BsPagination & keyof BsPaginationAttributes as `prop:${K}`]?: BsPagination[K] };
|
|
13118
16545
|
"bs-popover": Omit<BsPopover, keyof BsPopoverAttributes> & { [K in keyof BsPopover & keyof BsPopoverAttributes]?: BsPopover[K] } & { [K in keyof BsPopover & keyof BsPopoverAttributes as `attr:${K}`]?: BsPopoverAttributes[K] } & { [K in keyof BsPopover & keyof BsPopoverAttributes as `prop:${K}`]?: BsPopover[K] };
|
|
13119
16546
|
"bs-product-tour": Omit<BsProductTour, keyof BsProductTourAttributes> & { [K in keyof BsProductTour & keyof BsProductTourAttributes]?: BsProductTour[K] } & { [K in keyof BsProductTour & keyof BsProductTourAttributes as `attr:${K}`]?: BsProductTourAttributes[K] } & { [K in keyof BsProductTour & keyof BsProductTourAttributes as `prop:${K}`]?: BsProductTour[K] };
|
|
@@ -13121,7 +16548,9 @@ declare namespace LocalJSX {
|
|
|
13121
16548
|
"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] };
|
|
13122
16549
|
"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] };
|
|
13123
16550
|
"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] };
|
|
16551
|
+
"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] };
|
|
13124
16552
|
"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] };
|
|
16553
|
+
"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] };
|
|
13125
16554
|
"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] };
|
|
13126
16555
|
"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] };
|
|
13127
16556
|
"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] };
|
|
@@ -13239,6 +16668,34 @@ declare module "@stencil/core" {
|
|
|
13239
16668
|
* `--bs-duration-slower` is 500ms), so this is aliased directly to the literal value.
|
|
13240
16669
|
*/
|
|
13241
16670
|
"bs-ai-thinking": LocalJSX.IntrinsicElements["bs-ai-thinking"] & JSXBase.HTMLAttributes<HTMLBsAiThinkingElement>;
|
|
16671
|
+
/**
|
|
16672
|
+
* A full-width row for one app: a small icon tile, the app name and a description line (for example
|
|
16673
|
+
* "Opened 10 min ago · Nordlys Handel AS"). Matches the Figma "Recent item" component (Default, Current,
|
|
16674
|
+
* Hover, Pressed and Focus).
|
|
16675
|
+
* The row is always a native button and only emits events; it never navigates. `current` marks the app you are in
|
|
16676
|
+
* (`aria-current="true"`); `disabled` dims it, sets `aria-disabled` and removes it from the tab order.
|
|
16677
|
+
* Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the theme's
|
|
16678
|
+
* icon colour through a CSS mask) or any element in the default slot.
|
|
16679
|
+
* ## When to use
|
|
16680
|
+
* - A recently opened app, or a search result with a description, inside `bs-app-switcher`.
|
|
16681
|
+
* ## When not to use
|
|
16682
|
+
* - An app in a launcher grid -- use `bs-app-tile`.
|
|
16683
|
+
* - A generic list row -- use `bs-list-item`.
|
|
16684
|
+
* @prop --bs-app-recent-item-padding-x - Aliased to `--bs-spacing-100`.
|
|
16685
|
+
* @prop --bs-app-recent-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
16686
|
+
* @prop --bs-app-recent-item-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
|
|
16687
|
+
* @prop --bs-app-recent-item-radius - Aliased to `--bs-border-radius-100`.
|
|
16688
|
+
* @prop --bs-app-recent-item-bg - Resting background. `transparent`.
|
|
16689
|
+
* @prop --bs-app-recent-item-bg-hover - Aliased to `--bs-surface-hover`.
|
|
16690
|
+
* @prop --bs-app-recent-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
16691
|
+
* @prop --bs-app-recent-item-bg-current - Aliased to `--bs-surface-selected`.
|
|
16692
|
+
* @prop --bs-app-recent-item-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
|
|
16693
|
+
* @prop --bs-app-recent-item-color - Name colour. Aliased to `--bs-text-default`.
|
|
16694
|
+
* @prop --bs-app-recent-item-color-muted - Description colour. Aliased to `--bs-text-secondary`.
|
|
16695
|
+
* @prop --bs-app-recent-item-color-disabled - Name, description and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
|
|
16696
|
+
* @prop --bs-app-recent-item-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
16697
|
+
*/
|
|
16698
|
+
"bs-app-recent-item": LocalJSX.IntrinsicElements["bs-app-recent-item"] & JSXBase.HTMLAttributes<HTMLBsAppRecentItemElement>;
|
|
13242
16699
|
/**
|
|
13243
16700
|
* The page frame: a header across the top, and below it a navigation | main | aside row, laid out
|
|
13244
16701
|
* with CSS grid. The main column scrolls independently of the header and the side columns.
|
|
@@ -13261,6 +16718,65 @@ declare module "@stencil/core" {
|
|
|
13261
16718
|
* @prop --bs-app-shell-aside-width - Width of the aside column. Defaults to `auto` (zero when empty).
|
|
13262
16719
|
*/
|
|
13263
16720
|
"bs-app-shell": LocalJSX.IntrinsicElements["bs-app-shell"] & JSXBase.HTMLAttributes<HTMLBsAppShellElement>;
|
|
16721
|
+
/**
|
|
16722
|
+
* The panel of an app launcher ("EG apps"): a header with a "Manage" action, a search field, your apps as a
|
|
16723
|
+
* grid (or Recent plus All apps), search results, and a footer link to browse all products. It also has
|
|
16724
|
+
* no-results, loading, error and empty states. Matches the Figma "App switcher" (states Default, With recent,
|
|
16725
|
+
* Searching, No results, Loading, Error and Empty).
|
|
16726
|
+
* This is the panel only. To open it from a button, wrap it in `bs-popover`.
|
|
16727
|
+
* Built from `bs-card` (panel surface), `bs-input` (search), `bs-app-tile` and `bs-app-recent-item` (apps),
|
|
16728
|
+
* `bs-empty-state` (no results, error, empty), `bs-skeleton` (loading), `bs-button` (Clear search, Try
|
|
16729
|
+
* again, Request access) and `bs-divider`. "Manage" and "Browse all" are native links (or buttons when
|
|
16730
|
+
* there is no URL): `bs-button` has no link mode and the library has no link component.
|
|
16731
|
+
* ## When to use
|
|
16732
|
+
* - Letting a user jump between the products they have access to, from an app header.
|
|
16733
|
+
* ## When not to use
|
|
16734
|
+
* - Navigation inside one app -- use `bs-menu` or the app shell navigation.
|
|
16735
|
+
* - Switching company -- use `bs-company-switcher`.
|
|
16736
|
+
* `apps` and `recent` are arrays and must be set as JS properties. Each app's `icon` is the URL of a
|
|
16737
|
+
* monochrome SVG. You own the data: listen to `bsAppSelect` (cancelable: `preventDefault()` cancels the
|
|
16738
|
+
* originating click), and drive `status` and `query` yourself. An empty `apps` list while `status` is
|
|
16739
|
+
* `ready` shows the empty state.
|
|
16740
|
+
* @prop --bs-app-switcher-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
|
|
16741
|
+
* @prop --bs-app-switcher-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
|
|
16742
|
+
* @prop --bs-app-switcher-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
16743
|
+
* @prop --bs-app-switcher-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
16744
|
+
* @prop --bs-app-switcher-shadow - Panel shadow (elevation level 4). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-higher`.
|
|
16745
|
+
* @prop --bs-app-switcher-padding - Side padding of the content. Aliased to `--bs-spacing-150`.
|
|
16746
|
+
* @prop --bs-app-switcher-text-color - Heading and links in the header. Aliased to `--bs-text-default`.
|
|
16747
|
+
* @prop --bs-app-switcher-header-color - Group headers. Aliased to `--bs-text-secondary`.
|
|
16748
|
+
* @prop --bs-app-switcher-link-color - Browse link. Aliased to `--bs-text-action`.
|
|
16749
|
+
* @prop --bs-app-switcher-focus-ring - Link focus ring. Aliased to `--bs-border-neutral-focus`.
|
|
16750
|
+
*/
|
|
16751
|
+
"bs-app-switcher": LocalJSX.IntrinsicElements["bs-app-switcher"] & JSXBase.HTMLAttributes<HTMLBsAppSwitcherElement>;
|
|
16752
|
+
/**
|
|
16753
|
+
* One app in an app launcher: an icon tile above a short label. Matches the Figma "App tile" component
|
|
16754
|
+
* (Size Grid and Compact, each Default, Hover, Pressed, Focus, Current and Disabled).
|
|
16755
|
+
* The tile is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
16756
|
+
* native element; `current` marks the app you are in (`aria-current="true"`); `disabled` dims it, sets
|
|
16757
|
+
* `aria-disabled` and removes it from the tab order.
|
|
16758
|
+
* Built from `bs-icon-tile`. The icon is either a URL of a monochrome SVG in `icon` (painted with the
|
|
16759
|
+
* theme's icon colour through a CSS mask, so it follows light and dark mode), or any element in the default
|
|
16760
|
+
* slot (an `<svg>` drawn with `currentColor`).
|
|
16761
|
+
* ## When to use
|
|
16762
|
+
* - An app in a launcher grid, usually inside `bs-app-switcher`.
|
|
16763
|
+
* ## When not to use
|
|
16764
|
+
* - A row with a description or "recently opened" line -- use `bs-app-recent-item`.
|
|
16765
|
+
* - A command in a menu -- use `bs-menu-item`.
|
|
16766
|
+
* @prop --bs-app-tile-icon-size - Size of the icon square. `44px` in `grid` (Figma) and `--bs-sizing-400` in `compact`.
|
|
16767
|
+
* @prop --bs-app-tile-padding - Padding inside the tile. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-100` (`compact`).
|
|
16768
|
+
* @prop --bs-app-tile-gap - Gap between icon and label. Aliased to `--bs-spacing-150` (`grid`) or `--bs-spacing-50` (`compact`).
|
|
16769
|
+
* @prop --bs-app-tile-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
16770
|
+
* @prop --bs-app-tile-bg - Resting background. `transparent`.
|
|
16771
|
+
* @prop --bs-app-tile-bg-hover - Aliased to `--bs-surface-hover`.
|
|
16772
|
+
* @prop --bs-app-tile-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
16773
|
+
* @prop --bs-app-tile-bg-current - Aliased to `--bs-surface-selected`.
|
|
16774
|
+
* @prop --bs-app-tile-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered, pressed or current.
|
|
16775
|
+
* @prop --bs-app-tile-color - Label colour. Aliased to `--bs-text-default`.
|
|
16776
|
+
* @prop --bs-app-tile-color-disabled - Label and icon colour when disabled. Aliased to `--bs-text-on-disabled`.
|
|
16777
|
+
* @prop --bs-app-tile-focus-ring - Focus ring colour. Aliased to `--bs-border-neutral-focus`.
|
|
16778
|
+
*/
|
|
16779
|
+
"bs-app-tile": LocalJSX.IntrinsicElements["bs-app-tile"] & JSXBase.HTMLAttributes<HTMLBsAppTileElement>;
|
|
13264
16780
|
/**
|
|
13265
16781
|
* A single file attachment preview for `bs-composer` -- an image thumbnail, or a filename card
|
|
13266
16782
|
* with a colored file-type badge (PDF/Document), with an optional upload-in-progress spinner and
|
|
@@ -13718,6 +17234,91 @@ declare module "@stencil/core" {
|
|
|
13718
17234
|
* @prop --bs-citation-preview-page-color - Page label color. Aliased to `--bs-text-secondary`.
|
|
13719
17235
|
*/
|
|
13720
17236
|
"bs-citation-preview": LocalJSX.IntrinsicElements["bs-citation-preview"] & JSXBase.HTMLAttributes<HTMLBsCitationPreviewElement>;
|
|
17237
|
+
/**
|
|
17238
|
+
* A Ctrl+K command palette: a modal with a search field, grouped commands, navigation and records, a
|
|
17239
|
+
* no-results view and a keyboard-hint footer. The data, the filtering, the command registry and the
|
|
17240
|
+
* recent-items storage are all yours: you slot `bs-search-item`s into the sections and set `status`.
|
|
17241
|
+
* Built from a native `<dialog>` (opened with `showModal()`, so focus is trapped, the page behind is inert
|
|
17242
|
+
* and the backdrop is the scrim), `bs-input` (type="search"), `bs-search-item`, `bs-key` (footer hints and
|
|
17243
|
+
* the Esc cap), `bs-chip-informative` (the scope chip) and `bs-spinner` (loading). Slot a `bs-key-caps` with
|
|
17244
|
+
* `slot="trailing"` inside an item to show a command's shortcut.
|
|
17245
|
+
* ## When to use
|
|
17246
|
+
* - An app-wide "do anything" entry point opened with a hotkey: run commands, navigate, open records.
|
|
17247
|
+
* ## When not to use
|
|
17248
|
+
* - A plain search box with a dropdown -- use `bs-global-search`.
|
|
17249
|
+
* - A small list of actions on one control -- use `bs-menu`.
|
|
17250
|
+
* A `>` as the first character of the field switches to commands-only mode (`commandsOnly`, reflected as
|
|
17251
|
+
* `commands-only`). The component filters nothing: listen to `bsInput`, swap the slotted items, set `status`.
|
|
17252
|
+
* Nested (sub-command) palettes are a consumer pattern: swap the slotted commands and set `scopeLabel`.
|
|
17253
|
+
* @prop --bs-command-palette-width - Panel width. Defaults to `640px` (Figma); capped to the viewport.
|
|
17254
|
+
* @prop --bs-command-palette-top - Distance from the top of the viewport. Defaults to `12vh`.
|
|
17255
|
+
* @prop --bs-command-palette-max-height - Max height of the results area. Defaults to `60vh`.
|
|
17256
|
+
* @prop --bs-command-palette-radius - Aliased to `--bs-border-radius-150`.
|
|
17257
|
+
* @prop --bs-command-palette-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
17258
|
+
* @prop --bs-command-palette-shadow - Figma elevation level 4: `0 8px 16px` in `--bs-elevation-higher` (stronger in dark mode).
|
|
17259
|
+
* @prop --bs-command-palette-overlay - Scrim colour. Aliased to `--bs-surface-overlay`.
|
|
17260
|
+
* @prop --bs-command-palette-footer-bg - Aliased to `--bs-surface-container`.
|
|
17261
|
+
* @prop --bs-command-palette-divider-color - Aliased to `--bs-border-default`.
|
|
17262
|
+
* @prop --bs-command-palette-header-border-color - Aliased to `--bs-border-neutral-container`.
|
|
17263
|
+
* @prop --bs-command-palette-header-color - Aliased to `--bs-text-muted`.
|
|
17264
|
+
* @prop --bs-command-palette-hint-color - Aliased to `--bs-text-secondary`.
|
|
17265
|
+
* @prop --bs-command-palette-z-index - Aliased to `--bs-z-index-modal`.
|
|
17266
|
+
*/
|
|
17267
|
+
"bs-command-palette": LocalJSX.IntrinsicElements["bs-command-palette"] & JSXBase.HTMLAttributes<HTMLBsCommandPaletteElement>;
|
|
17268
|
+
/**
|
|
17269
|
+
* A plain text entry in a mega menu: one line, no icon. Matches the Figma "Compact menu block" component
|
|
17270
|
+
* (Default, Hover, Pressed and Focused).
|
|
17271
|
+
* The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
17272
|
+
* native element.
|
|
17273
|
+
* ## When to use
|
|
17274
|
+
* - A dense list of destinations in a mega menu, usually inside `bs-mega-menu` with `type="compact"`.
|
|
17275
|
+
* ## When not to use
|
|
17276
|
+
* - A destination that needs an icon or a description -- use `bs-menu-block`.
|
|
17277
|
+
* - A command in a dropdown list -- use `bs-menu-item`.
|
|
17278
|
+
* @prop --bs-compact-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-100`.
|
|
17279
|
+
* @prop --bs-compact-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
17280
|
+
* @prop --bs-compact-menu-block-bg - Resting background. `transparent`.
|
|
17281
|
+
* @prop --bs-compact-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
|
|
17282
|
+
* @prop --bs-compact-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
17283
|
+
* @prop --bs-compact-menu-block-color - Text colour. Aliased to `--bs-text-default`.
|
|
17284
|
+
* @prop --bs-compact-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
|
|
17285
|
+
*/
|
|
17286
|
+
"bs-compact-menu-block": LocalJSX.IntrinsicElements["bs-compact-menu-block"] & JSXBase.HTMLAttributes<HTMLBsCompactMenuBlockElement>;
|
|
17287
|
+
/**
|
|
17288
|
+
* A company (tenant) switcher: a trigger showing the current company, and a panel to find and switch to
|
|
17289
|
+
* another one. The panel has a search field, the current / recent / all groups, a filtered "matches" view,
|
|
17290
|
+
* a no-results state and a footer with "Manage Companies" and "Add companies" actions.
|
|
17291
|
+
* Built from `bs-popover` (open/close, Escape, outside click, flipping), `bs-card` (panel surface),
|
|
17292
|
+
* `bs-input` (search), `bs-list-item` (rows), `bs-avatar` (initials), `bs-spinner` (switching),
|
|
17293
|
+
* `bs-empty-state` (no results), `bs-divider` and `bs-button` (footer). The trigger is a native `<button>`:
|
|
17294
|
+
* no `bs-*` component is a composite "avatar + two lines + chevron" button.
|
|
17295
|
+
* ## When to use
|
|
17296
|
+
* - An app header or side navigation where a user belongs to several companies and works in one at a time.
|
|
17297
|
+
* ## When not to use
|
|
17298
|
+
* - Picking a value in a form -- use `bs-input type="dropdown"`.
|
|
17299
|
+
* - Switching between a handful of fixed views -- use `bs-tab`.
|
|
17300
|
+
* `companies` is an array and must be set as a JS property. You own the data and the switch itself: listen to
|
|
17301
|
+
* `bsCompanySwitch`, do the work, then update `currentId`. To show the switching state set `switchingId`
|
|
17302
|
+
* (from the `bsCompanySwitch` handler, or later) and the panel stays open until you clear it and set `open`
|
|
17303
|
+
* to `false`. If `switchingId` is not set by the time the handler returns, the panel closes immediately.
|
|
17304
|
+
* @prop --bs-company-switcher-width - Trigger width. Defaults to `260px` (Figma); capped at 100%.
|
|
17305
|
+
* @prop --bs-company-switcher-panel-width - Panel width. Defaults to `360px` (Figma); capped at the viewport.
|
|
17306
|
+
* @prop --bs-company-switcher-radius - Trigger and panel corner radius. Aliased to `--bs-border-radius-100`.
|
|
17307
|
+
* @prop --bs-company-switcher-trigger-bg - Trigger resting background. `transparent`.
|
|
17308
|
+
* @prop --bs-company-switcher-trigger-bg-hover - Aliased to `--bs-surface-hover`.
|
|
17309
|
+
* @prop --bs-company-switcher-trigger-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
17310
|
+
* @prop --bs-company-switcher-trigger-bg-open - Aliased to `--bs-surface-selected`.
|
|
17311
|
+
* @prop --bs-company-switcher-focus-ring - Trigger focus outline. Aliased to `--bs-border-neutral-focus`.
|
|
17312
|
+
* @prop --bs-company-switcher-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
17313
|
+
* @prop --bs-company-switcher-panel-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
17314
|
+
* @prop --bs-company-switcher-shadow - Panel shadow. Aliased to `--bs-shadow-md`.
|
|
17315
|
+
* @prop --bs-company-switcher-max-height - Maximum height of the scrolling list. Defaults to `320px`.
|
|
17316
|
+
* @prop --bs-company-switcher-text-color - Names. Aliased to `--bs-text-default`.
|
|
17317
|
+
* @prop --bs-company-switcher-muted-color - Org. numbers. Aliased to `--bs-text-secondary`.
|
|
17318
|
+
* @prop --bs-company-switcher-header-color - Group headers. Aliased to `--bs-text-muted`.
|
|
17319
|
+
* @prop --bs-company-switcher-z-index - Panel stacking. Aliased to `--bs-z-index-popover`.
|
|
17320
|
+
*/
|
|
17321
|
+
"bs-company-switcher": LocalJSX.IntrinsicElements["bs-company-switcher"] & JSXBase.HTMLAttributes<HTMLBsCompanySwitcherElement>;
|
|
13721
17322
|
/**
|
|
13722
17323
|
* A chat composer input for Genie AI-style conversational interfaces: a text field
|
|
13723
17324
|
* plus an attach button, a mic/voice-recording toggle, and a single primary action button whose
|
|
@@ -13914,6 +17515,24 @@ declare module "@stencil/core" {
|
|
|
13914
17515
|
* @prop --bs-divider-inset - Indent applied by `inset`. Aliased to `--bs-spacing-300`.
|
|
13915
17516
|
*/
|
|
13916
17517
|
"bs-divider": LocalJSX.IntrinsicElements["bs-divider"] & JSXBase.HTMLAttributes<HTMLBsDividerElement>;
|
|
17518
|
+
/**
|
|
17519
|
+
* A centered "nothing to show" block: an icon tile, a heading, a description and an optional action.
|
|
17520
|
+
* Used for empty lists, "no results" and error states inside a panel, card or page section.
|
|
17521
|
+
* Built from `bs-icon-tile` (and, in your `action` slot, usually a `bs-button`).
|
|
17522
|
+
* The component has no role. Live regions belong on a wrapper you control (e.g. `role="status"` on the
|
|
17523
|
+
* element that stays in the DOM while this block appears and disappears).
|
|
17524
|
+
* ## When to use
|
|
17525
|
+
* - A list, table or search result that has nothing to show, or failed to load.
|
|
17526
|
+
* ## When not to use
|
|
17527
|
+
* - A full-page error with a status code -- use `bs-error-page`.
|
|
17528
|
+
* - A transient message -- use `bs-toast` or `bs-snackbar`.
|
|
17529
|
+
* @prop --bs-empty-state-padding-y - Vertical padding. Aliased to `--bs-spacing-700` (56px).
|
|
17530
|
+
* @prop --bs-empty-state-padding-x - Horizontal padding. Aliased to `--bs-spacing-300` (24px).
|
|
17531
|
+
* @prop --bs-empty-state-gap - Gap between tile, heading, description and action. Aliased to `--bs-spacing-150`.
|
|
17532
|
+
* @prop --bs-empty-state-heading-color - Aliased to `--bs-text-default`.
|
|
17533
|
+
* @prop --bs-empty-state-description-color - Aliased to `--bs-text-secondary`.
|
|
17534
|
+
*/
|
|
17535
|
+
"bs-empty-state": LocalJSX.IntrinsicElements["bs-empty-state"] & JSXBase.HTMLAttributes<HTMLBsEmptyStateElement>;
|
|
13917
17536
|
/**
|
|
13918
17537
|
* A full-block page for when the user can't get to what they asked for: page not found (404), a server
|
|
13919
17538
|
* error (500), no access (403), planned maintenance, or no internet connection. Matches the Figma
|
|
@@ -13953,6 +17572,37 @@ declare module "@stencil/core" {
|
|
|
13953
17572
|
* - Attaching files to a chat message -- use `bs-attachment`.
|
|
13954
17573
|
*/
|
|
13955
17574
|
"bs-file-upload-item": LocalJSX.IntrinsicElements["bs-file-upload-item"] & JSXBase.HTMLAttributes<HTMLBsFileUploadItemElement>;
|
|
17575
|
+
/**
|
|
17576
|
+
* A global search combobox: a search field with a dropdown panel of suggestions, results, an empty state
|
|
17577
|
+
* or an error state, plus a keyboard-hint footer. The data, the filtering and the recent-search storage
|
|
17578
|
+
* are all yours: you slot `bs-search-item`s into the sections and tell the component which `status` to show.
|
|
17579
|
+
* Built from `bs-input` (type="search"), `bs-search-item`, `bs-empty-state` (and so `bs-icon-tile`),
|
|
17580
|
+
* `bs-button` and `bs-key` (the footer keycaps).
|
|
17581
|
+
* ## When to use
|
|
17582
|
+
* - An app-wide "find anything" field with recent searches, jump-to shortcuts and grouped results.
|
|
17583
|
+
* ## When not to use
|
|
17584
|
+
* - Filtering the list or table that is already on screen -- use `bs-input type="search"`.
|
|
17585
|
+
* - A list of commands or actions -- use `bs-menu`.
|
|
17586
|
+
* - The complete result set -- link to a full search results page ("See all results").
|
|
17587
|
+
* Put `bs-search-item` children in the light DOM with `slot="recent"`, `slot="jump-to"`,
|
|
17588
|
+
* `slot="top-matches"` or `slot="search-in"`. A section (and its header) is only rendered when its slot has
|
|
17589
|
+
* content. Up/Down arrows move a highlight through the visible items; focus never leaves the field.
|
|
17590
|
+
* Known limit: the items are in your light DOM and the combobox in this shadow root, so
|
|
17591
|
+
* `aria-activedescendant` (an id reference) does not resolve across that boundary in every browser; the
|
|
17592
|
+
* highlighted option also gets `aria-selected="true"`.
|
|
17593
|
+
* @prop --bs-global-search-width - Field and panel width. Defaults to `480px` (Figma); capped at 100%.
|
|
17594
|
+
* @prop --bs-global-search-panel-radius - Aliased to `--bs-border-radius-100`.
|
|
17595
|
+
* @prop --bs-global-search-panel-padding - Aliased to `--bs-spacing-100`.
|
|
17596
|
+
* @prop --bs-global-search-gap - Gap between sections, and between the field and the panel. Aliased to `--bs-spacing-100`.
|
|
17597
|
+
* @prop --bs-global-search-panel-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
17598
|
+
* @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).
|
|
17599
|
+
* @prop --bs-global-search-z-index - Panel stacking. Aliased to `--bs-z-index-dropdown`.
|
|
17600
|
+
* @prop --bs-global-search-divider-color - Footer divider. Aliased to `--bs-border-default`.
|
|
17601
|
+
* @prop --bs-global-search-header-border-color - Section header underline. Aliased to `--bs-border-neutral-container`.
|
|
17602
|
+
* @prop --bs-global-search-header-color - Section header text. Aliased to `--bs-text-muted`.
|
|
17603
|
+
* @prop --bs-global-search-hint-color - Footer hint text. Aliased to `--bs-text-secondary`.
|
|
17604
|
+
*/
|
|
17605
|
+
"bs-global-search": LocalJSX.IntrinsicElements["bs-global-search"] & JSXBase.HTMLAttributes<HTMLBsGlobalSearchElement>;
|
|
13956
17606
|
/**
|
|
13957
17607
|
* A CSS grid layout wrapper. Children are placed in equal-width columns with a token-based gap.
|
|
13958
17608
|
* `columns` takes either a number (`"3"` becomes `repeat(3, minmax(0, 1fr))`) or any raw
|
|
@@ -14047,6 +17697,61 @@ declare module "@stencil/core" {
|
|
|
14047
17697
|
* options list at all (freeform chip entry).
|
|
14048
17698
|
*/
|
|
14049
17699
|
"bs-input": LocalJSX.IntrinsicElements["bs-input"] & JSXBase.HTMLAttributes<HTMLBsInputElement>;
|
|
17700
|
+
/**
|
|
17701
|
+
* One key of a keyboard shortcut, e.g. `Ctrl`, `K` or `Esc` -- rendered as a `<kbd>` keycap.
|
|
17702
|
+
* Shows a text label, or an icon (e.g. a return arrow) via the `icon` slot.
|
|
17703
|
+
* ## When to use
|
|
17704
|
+
* - Showing a keyboard shortcut hint next to a control or inside a search field.
|
|
17705
|
+
* - Alone for a single key, or as the children of `bs-key-caps` for a multi-key shortcut.
|
|
17706
|
+
* ## When not to use
|
|
17707
|
+
* - As a button or any clickable control -- a key is a static hint, not interactive.
|
|
17708
|
+
* @prop --bs-key-bg - Cap background. Aliased to `--bs-surface-base`.
|
|
17709
|
+
* @prop --bs-key-border-color - Cap border colour. Aliased to `--bs-border-default`.
|
|
17710
|
+
* @prop --bs-key-radius - Cap corner radius. Aliased to `--bs-border-radius-50`.
|
|
17711
|
+
* @prop --bs-key-padding-x - Horizontal padding. Aliased to `--bs-spacing-75`.
|
|
17712
|
+
* @prop --bs-key-padding-y - Vertical padding. Aliased to `--bs-spacing-50`.
|
|
17713
|
+
* @prop --bs-key-min-width - Smallest cap width, so single characters keep a keycap shape. Defaults to `25px` (Figma).
|
|
17714
|
+
* @prop --bs-key-color - Label colour. Aliased to `--bs-text-secondary`.
|
|
17715
|
+
* @prop --bs-key-font-size - Label size. Aliased to `--bs-font-size-xs` (12px).
|
|
17716
|
+
* @prop --bs-key-icon-size - Icon size. Defaults to `16px` (Figma).
|
|
17717
|
+
*/
|
|
17718
|
+
"bs-key": LocalJSX.IntrinsicElements["bs-key"] & JSXBase.HTMLAttributes<HTMLBsKeyElement>;
|
|
17719
|
+
/**
|
|
17720
|
+
* A keyboard shortcut of one to four keys joined by "+", e.g. `Ctrl + K`. Give it a `keys` string
|
|
17721
|
+
* (`"Ctrl+Shift+K"`) or array (`['Ctrl', '+']` for a literal plus key), or slot your own `bs-key`
|
|
17722
|
+
* elements -- for example when a key is an icon.
|
|
17723
|
+
* ## When to use
|
|
17724
|
+
* - A shortcut hint beside a menu item, button or inside a search field.
|
|
17725
|
+
* ## When not to use
|
|
17726
|
+
* - Instructions that need prose ("press Enter to submit") -- write a sentence and use a single `bs-key` inline.
|
|
17727
|
+
* - Anything interactive -- keys are static hints.
|
|
17728
|
+
* @prop --bs-key-caps-gap - Gap between keys and separators. Aliased to `--bs-spacing-100`.
|
|
17729
|
+
* @prop --bs-key-caps-separator-color - Colour of the "+" separators. Aliased to `--bs-text-muted`.
|
|
17730
|
+
* @prop --bs-key-caps-disabled-opacity - Opacity of the whole shortcut while `disabled`. Defaults to `0.38` (Figma).
|
|
17731
|
+
*/
|
|
17732
|
+
"bs-key-caps": LocalJSX.IntrinsicElements["bs-key-caps"] & JSXBase.HTMLAttributes<HTMLBsKeyCapsElement>;
|
|
17733
|
+
/**
|
|
17734
|
+
* A searchable reference panel of keyboard shortcuts: heading and close button, a search field, an
|
|
17735
|
+
* optional single-key on/off switch, shortcut groups in two columns and a footer hint. It is a
|
|
17736
|
+
* surface, not a modal -- place it inside `bs-dialog` or a popover.
|
|
17737
|
+
* Built from `bs-card`, `bs-icon-button`, `bs-input`, `bs-switch`, `bs-shortcut-row` (and so
|
|
17738
|
+
* `bs-key-caps` / `bs-key`).
|
|
17739
|
+
* ## When to use
|
|
17740
|
+
* - A "press ? to see shortcuts" help overlay for an app with many shortcuts.
|
|
17741
|
+
* ## When not to use
|
|
17742
|
+
* - A long-form help page or documentation -- link to it instead.
|
|
17743
|
+
* - A list of commands the user can run from it -- use `bs-menu`.
|
|
17744
|
+
* @prop --bs-keyboard-shortcuts-width - Panel width and min-width. Defaults to `720px` (Figma).
|
|
17745
|
+
* @prop --bs-keyboard-shortcuts-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
17746
|
+
* @prop --bs-keyboard-shortcuts-radius - Aliased to `--bs-border-radius-150`.
|
|
17747
|
+
* @prop --bs-keyboard-shortcuts-padding - Aliased to `--bs-spacing-200`.
|
|
17748
|
+
* @prop --bs-keyboard-shortcuts-gap - Gap between sections. Aliased to `--bs-spacing-200`.
|
|
17749
|
+
* @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).
|
|
17750
|
+
* @prop --bs-keyboard-shortcuts-column-gap - Gap between the two columns. Aliased to `--bs-spacing-600`.
|
|
17751
|
+
* @prop --bs-keyboard-shortcuts-color - Main text colour. Aliased to `--bs-text-default`.
|
|
17752
|
+
* @prop --bs-keyboard-shortcuts-color-secondary - Titles, captions, footer. Aliased to `--bs-text-secondary`.
|
|
17753
|
+
*/
|
|
17754
|
+
"bs-keyboard-shortcuts": LocalJSX.IntrinsicElements["bs-keyboard-shortcuts"] & JSXBase.HTMLAttributes<HTMLBsKeyboardShortcutsElement>;
|
|
14050
17755
|
/**
|
|
14051
17756
|
* A vertical list of `bs-list-item` rows, optionally single-select.
|
|
14052
17757
|
* ## When to use
|
|
@@ -14124,6 +17829,41 @@ declare module "@stencil/core" {
|
|
|
14124
17829
|
* is already designed for whatever surface it's placed on.
|
|
14125
17830
|
*/
|
|
14126
17831
|
"bs-logo": LocalJSX.IntrinsicElements["bs-logo"] & JSXBase.HTMLAttributes<HTMLBsLogoElement>;
|
|
17832
|
+
/**
|
|
17833
|
+
* The dropdown panel under a navigation header tab: columns of links grouped under headings, an optional
|
|
17834
|
+
* featured area on the right, and a footer with recently used items and a shortcut hint. Matches the Figma
|
|
17835
|
+
* "Mega menu" (types Columns, Column with featured, Compact and Compact with featured).
|
|
17836
|
+
* This is the panel only. Put it in `bs-navigation-header`'s `menu` slot, which anchors it under the bar at the
|
|
17837
|
+
* header's full width, and toggle the host's `hidden` attribute from the tab that
|
|
17838
|
+
* opens it; the panel does not open or close itself. Escape inside the panel fires `bsClose` so you can close it.
|
|
17839
|
+
* Built from `bs-card` (panel surface), `bs-menu-block` or `bs-compact-menu-block` (the links), `bs-divider` and
|
|
17840
|
+
* `bs-key-caps` (the shortcut). The column layout, headings, featured text and footer row are plain layout
|
|
17841
|
+
* markup: no component covers them.
|
|
17842
|
+
* ## Responsive
|
|
17843
|
+
* The panel reacts to its own width (a container query), not the viewport's. Below 600px it becomes one column (heading
|
|
17844
|
+
* above its links, featured area below), titles and descriptions wrap, links are at least 44px tall, the footer stacks
|
|
17845
|
+
* and the default shortcut hint is hidden (`display: none`; a keyboard hint means nothing on a touch screen). A custom
|
|
17846
|
+
* `footer-end` slot is not hidden.
|
|
17847
|
+
* ## When to use
|
|
17848
|
+
* - A header tab that leads to many destinations that need grouping (Sell, Finance, Inventory).
|
|
17849
|
+
* ## When not to use
|
|
17850
|
+
* - A short list of commands -- use `bs-menu` in a `bs-popover`.
|
|
17851
|
+
* - Switching app or company -- use `bs-app-switcher` or `bs-company-switcher`.
|
|
17852
|
+
* `columns`, `featured` and `recent` are arrays or objects and must be set as JS properties. Each item's `icon` is
|
|
17853
|
+
* the URL of a monochrome SVG. You own the data: listen to `bsMenuSelect` (cancelable: `preventDefault()` cancels the
|
|
17854
|
+
* originating click).
|
|
17855
|
+
* @prop --bs-mega-menu-width - Panel width. Defaults to `1100px` (Figma); capped at the viewport.
|
|
17856
|
+
* @prop --bs-mega-menu-radius - Panel corner radius. Aliased to `--bs-border-radius-150`.
|
|
17857
|
+
* @prop --bs-mega-menu-bg - Panel background. Aliased to `--bs-surface-base`.
|
|
17858
|
+
* @prop --bs-mega-menu-border-color - Panel border. Aliased to `--bs-border-default`.
|
|
17859
|
+
* @prop --bs-mega-menu-shadow - Panel shadow (elevation level 3). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-high`.
|
|
17860
|
+
* @prop --bs-mega-menu-padding - Padding around the columns. Aliased to `--bs-spacing-300` and `--bs-spacing-350`.
|
|
17861
|
+
* @prop --bs-mega-menu-gap - Gap between columns. Aliased to `--bs-spacing-300`.
|
|
17862
|
+
* @prop --bs-mega-menu-heading-color - Column headings. Aliased to `--bs-text-muted`.
|
|
17863
|
+
* @prop --bs-mega-menu-text-color - Featured title. Aliased to `--bs-text-default`.
|
|
17864
|
+
* @prop --bs-mega-menu-muted-color - Featured description and footer text. Aliased to `--bs-text-secondary`.
|
|
17865
|
+
*/
|
|
17866
|
+
"bs-mega-menu": LocalJSX.IntrinsicElements["bs-mega-menu"] & JSXBase.HTMLAttributes<HTMLBsMegaMenuElement>;
|
|
14127
17867
|
/**
|
|
14128
17868
|
* A generic dropdown/popup menu container: a rounded, elevated list of items (typically
|
|
14129
17869
|
* `bs-menu-item` elements).
|
|
@@ -14140,6 +17880,32 @@ declare module "@stencil/core" {
|
|
|
14140
17880
|
* @prop --bs-menu-shadow - Elevation shadow of the menu box. Aliased to `--bs-shadow-sm`.
|
|
14141
17881
|
*/
|
|
14142
17882
|
"bs-menu": LocalJSX.IntrinsicElements["bs-menu"] & JSXBase.HTMLAttributes<HTMLBsMenuElement>;
|
|
17883
|
+
/**
|
|
17884
|
+
* A rich entry in a mega menu: an icon tile, a title with an optional "New" chip, and a one-line description.
|
|
17885
|
+
* Matches the Figma "Menu block" component (Default, Hover, Pressed and Focused).
|
|
17886
|
+
* The block is always a native button and only emits events; it never navigates. Hover, pressed and focus come from the
|
|
17887
|
+
* native element. Its accessible name is its text: the title, the badge and the description, read once.
|
|
17888
|
+
* Built from `bs-icon-tile` (the icon) and `bs-chip-informative` (the badge). The icon is either a URL of a
|
|
17889
|
+
* monochrome SVG in `icon` (painted with the theme's icon colour through a CSS mask, so it follows light and
|
|
17890
|
+
* dark mode), or any element in the default slot (an `<svg>` drawn with `currentColor`).
|
|
17891
|
+
* ## When to use
|
|
17892
|
+
* - A destination in a mega menu that needs an icon and a sentence of explanation, usually inside `bs-mega-menu`.
|
|
17893
|
+
* ## When not to use
|
|
17894
|
+
* - A plain text destination -- use `bs-compact-menu-block`.
|
|
17895
|
+
* - A command in a dropdown list -- use `bs-menu-item`.
|
|
17896
|
+
* @prop --bs-menu-block-padding - Padding inside the block. Aliased to `--bs-spacing-150`.
|
|
17897
|
+
* @prop --bs-menu-block-gap - Gap between icon and text. Aliased to `--bs-spacing-150`.
|
|
17898
|
+
* @prop --bs-menu-block-radius - Corner radius. Aliased to `--bs-border-radius-100`.
|
|
17899
|
+
* @prop --bs-menu-block-bg - Resting background. `transparent`.
|
|
17900
|
+
* @prop --bs-menu-block-bg-hover - Aliased to `--bs-surface-hover`.
|
|
17901
|
+
* @prop --bs-menu-block-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
17902
|
+
* @prop --bs-menu-block-icon-bg - Icon square background. Aliased to `--bs-color-neutral-container`; `--bs-surface-base` while hovered or pressed.
|
|
17903
|
+
* @prop --bs-menu-block-color - Title colour. Aliased to `--bs-text-default`.
|
|
17904
|
+
* @prop --bs-menu-block-color-muted - Description colour. Aliased to `--bs-text-secondary`.
|
|
17905
|
+
* @prop --bs-menu-block-focus-ring - Focus ring colour. Aliased to `--bs-border-info`.
|
|
17906
|
+
* @prop --bs-menu-block-white-space - `white-space` of the title and description. `nowrap` (single line, ellipsis); set `normal` to let them wrap.
|
|
17907
|
+
*/
|
|
17908
|
+
"bs-menu-block": LocalJSX.IntrinsicElements["bs-menu-block"] & JSXBase.HTMLAttributes<HTMLBsMenuBlockElement>;
|
|
14143
17909
|
/**
|
|
14144
17910
|
* A single selectable row inside a `bs-menu`: an optional icon plus a text label, rendered as a
|
|
14145
17911
|
* real `<button>` for correct keyboard/click semantics.
|
|
@@ -14317,6 +18083,47 @@ declare module "@stencil/core" {
|
|
|
14317
18083
|
* hidden "Done" / "Not done". The progress bar is named with the progress text.
|
|
14318
18084
|
*/
|
|
14319
18085
|
"bs-onboarding-checklist": LocalJSX.IntrinsicElements["bs-onboarding-checklist"] & JSXBase.HTMLAttributes<HTMLBsOnboardingChecklistElement>;
|
|
18086
|
+
/**
|
|
18087
|
+
* The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
|
|
18088
|
+
* optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
|
|
18089
|
+
* optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
|
|
18090
|
+
* compact).
|
|
18091
|
+
* Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
|
|
18092
|
+
* buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
|
|
18093
|
+
* `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
|
|
18094
|
+
* actions area are plain layout markup, because no component covers them. The back arrow and the star are
|
|
18095
|
+
* inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
|
|
18096
|
+
* ## Compact (sticky)
|
|
18097
|
+
* `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
|
|
18098
|
+
* meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
|
|
18099
|
+
* from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
|
|
18100
|
+
* `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
|
|
18101
|
+
* ## Responsive
|
|
18102
|
+
* The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
|
|
18103
|
+
* below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
|
|
18104
|
+
* sideways inside itself. The page never gets wider.
|
|
18105
|
+
* ## When to use
|
|
18106
|
+
* - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
|
|
18107
|
+
* ## When not to use
|
|
18108
|
+
* - The app-wide bar with logo, search and user: use `bs-navigation-header`.
|
|
18109
|
+
* - The heading of a card, dialog or panel: use that component's own `heading`.
|
|
18110
|
+
* ## Accessibility notes
|
|
18111
|
+
* The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
|
|
18112
|
+
* is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
|
|
18113
|
+
* status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
|
|
18114
|
+
* @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
|
|
18115
|
+
* @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
|
|
18116
|
+
* @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
|
|
18117
|
+
* @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
|
|
18118
|
+
* @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
|
|
18119
|
+
* @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
|
|
18120
|
+
* @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
|
|
18121
|
+
* @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
|
|
18122
|
+
* @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
|
|
18123
|
+
* @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
|
|
18124
|
+
* @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
|
|
18125
|
+
*/
|
|
18126
|
+
"bs-page-header": LocalJSX.IntrinsicElements["bs-page-header"] & JSXBase.HTMLAttributes<HTMLBsPageHeaderElement>;
|
|
14320
18127
|
/**
|
|
14321
18128
|
* A numbered page control -- previous/next chevrons, page-number buttons, and `...` overflow for
|
|
14322
18129
|
* large page counts. Matches the Figma "Pagination" component's "Default" type (the classic
|
|
@@ -14430,6 +18237,31 @@ declare module "@stencil/core" {
|
|
|
14430
18237
|
* - An on/off setting that takes effect immediately (no explicit form submission) -- use `bs-switch`.
|
|
14431
18238
|
*/
|
|
14432
18239
|
"bs-radio": LocalJSX.IntrinsicElements["bs-radio"] & JSXBase.HTMLAttributes<HTMLBsRadioElement>;
|
|
18240
|
+
/**
|
|
18241
|
+
* One result or suggestion row of a search dropdown: a leading icon, a primary line, an optional
|
|
18242
|
+
* description line and trailing text. Static, not focusable -- focus stays in the search field and the
|
|
18243
|
+
* parent (`bs-global-search`) marks the highlighted row with `active`.
|
|
18244
|
+
* Standalone it has no role. `bs-global-search` sets `selectionRole="option"` (and an `id`) on its rows,
|
|
18245
|
+
* the same pattern as `bs-list-item` and `bs-shortcut-row`.
|
|
18246
|
+
* ## When to use
|
|
18247
|
+
* - A suggestion, recent search or result inside `bs-global-search`.
|
|
18248
|
+
* ## When not to use
|
|
18249
|
+
* - A row in a generic list -- use `bs-list-item`.
|
|
18250
|
+
* - A command in a popup menu -- use `bs-menu-item`.
|
|
18251
|
+
* @prop --bs-search-item-min-height - Aliased to `--bs-spacing-600` (48px).
|
|
18252
|
+
* @prop --bs-search-item-padding-y - Aliased to `--bs-spacing-100`.
|
|
18253
|
+
* @prop --bs-search-item-padding-x - Aliased to `--bs-spacing-150`.
|
|
18254
|
+
* @prop --bs-search-item-gap - Aliased to `--bs-spacing-100`.
|
|
18255
|
+
* @prop --bs-search-item-radius - Aliased to `--bs-border-radius-100`.
|
|
18256
|
+
* @prop --bs-search-item-bg - Resting background. `transparent`.
|
|
18257
|
+
* @prop --bs-search-item-bg-active - Active (highlighted) and hover background. Aliased to `--bs-surface-hover`.
|
|
18258
|
+
* @prop --bs-search-item-bg-pressed - Aliased to `--bs-surface-pressed`.
|
|
18259
|
+
* @prop --bs-search-item-color - Primary text. Aliased to `--bs-text-default`.
|
|
18260
|
+
* @prop --bs-search-item-color-muted - Description and trailing text. Aliased to `--bs-text-muted`.
|
|
18261
|
+
* @prop --bs-search-item-color-disabled - Aliased to `--bs-text-on-disabled`.
|
|
18262
|
+
* @prop --bs-search-item-icon-color - Aliased to `--bs-icon-default`.
|
|
18263
|
+
*/
|
|
18264
|
+
"bs-search-item": LocalJSX.IntrinsicElements["bs-search-item"] & JSXBase.HTMLAttributes<HTMLBsSearchItemElement>;
|
|
14433
18265
|
/**
|
|
14434
18266
|
* The three moments around an expiring session, as one card. Matches the Figma "Session timeout"
|
|
14435
18267
|
* component's three types:
|
|
@@ -14457,6 +18289,23 @@ declare module "@stencil/core" {
|
|
|
14457
18289
|
* (`bs-dialog`) if the warning must trap focus.
|
|
14458
18290
|
*/
|
|
14459
18291
|
"bs-session-timeout": LocalJSX.IntrinsicElements["bs-session-timeout"] & JSXBase.HTMLAttributes<HTMLBsSessionTimeoutElement>;
|
|
18292
|
+
/**
|
|
18293
|
+
* One row of a shortcut list: an action label on the left and its keyboard shortcut on the right.
|
|
18294
|
+
* Static information, not interactive. Standalone it has no role; `bs-keyboard-shortcuts` sets
|
|
18295
|
+
* `selectionRole="listitem"` on its rows (same pattern as `bs-list-item`).
|
|
18296
|
+
* Built from `bs-key-caps` (and so `bs-key`).
|
|
18297
|
+
* ## When to use
|
|
18298
|
+
* - A line in a keyboard-shortcut reference, usually inside `bs-keyboard-shortcuts`.
|
|
18299
|
+
* ## When not to use
|
|
18300
|
+
* - A clickable command or menu entry -- use `bs-menu-item` (which has its own shortcut slot).
|
|
18301
|
+
* @prop --bs-shortcut-row-height - Row height. Defaults to `36px` (Figma).
|
|
18302
|
+
* @prop --bs-shortcut-row-padding-x - Horizontal padding. Aliased to `--bs-spacing-100`.
|
|
18303
|
+
* @prop --bs-shortcut-row-gap - Gap between label and keys. Aliased to `--bs-spacing-100`.
|
|
18304
|
+
* @prop --bs-shortcut-row-radius - Corner radius. Aliased to `--bs-border-radius-75`.
|
|
18305
|
+
* @prop --bs-shortcut-row-color - Label colour. Aliased to `--bs-text-default`.
|
|
18306
|
+
* @prop --bs-shortcut-row-color-disabled - Label colour while `disabled`. Aliased to `--bs-text-on-disabled`.
|
|
18307
|
+
*/
|
|
18308
|
+
"bs-shortcut-row": LocalJSX.IntrinsicElements["bs-shortcut-row"] & JSXBase.HTMLAttributes<HTMLBsShortcutRowElement>;
|
|
14460
18309
|
/**
|
|
14461
18310
|
* A generic slide-in panel (drawer) anchored to the start or end edge, for history, filters, FAQ
|
|
14462
18311
|
* and similar secondary content. Closes via its close button or Escape and emits `bsClose`.
|