@boostdev/design-system-components 1.1.1 → 1.2.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/AGENTS.md +13 -10
- package/dist/client.cjs +77 -99
- package/dist/client.css +611 -580
- package/dist/client.d.cts +13 -16
- package/dist/client.d.ts +13 -16
- package/dist/client.js +87 -109
- package/dist/index.cjs +77 -99
- package/dist/index.css +611 -580
- package/dist/index.d.cts +13 -16
- package/dist/index.d.ts +13 -16
- package/dist/index.js +87 -109
- package/dist/native/index.cjs +9 -8
- package/dist/native/index.d.cts +1 -1
- package/dist/native/index.d.ts +1 -1
- package/dist/native/index.js +9 -8
- package/dist/web-components/chunk-2QA62WCQ.js +48 -0
- package/dist/web-components/chunk-3REOIRDW.js +246 -0
- package/dist/web-components/chunk-57TRNCWQ.js +93 -0
- package/dist/web-components/chunk-5IPHEONG.js +139 -0
- package/dist/web-components/chunk-5R6IFELV.js +63 -0
- package/dist/web-components/chunk-5TFWOPLH.js +49 -0
- package/dist/web-components/chunk-6I3CFC26.js +89 -0
- package/dist/web-components/chunk-6MH5UWUD.js +226 -0
- package/dist/web-components/chunk-7FMR53BW.js +127 -0
- package/dist/web-components/chunk-AGKJTMJI.js +56 -0
- package/dist/web-components/chunk-AJSXNDAP.js +151 -0
- package/dist/web-components/chunk-BQLZ7I4G.js +56 -0
- package/dist/web-components/chunk-BX3IPVOB.js +167 -0
- package/dist/web-components/chunk-CR5PGUHV.js +109 -0
- package/dist/web-components/chunk-DI46Q2EA.js +278 -0
- package/dist/web-components/chunk-DZRSJGPB.js +53 -0
- package/dist/web-components/chunk-EBJM3VD4.js +107 -0
- package/dist/web-components/chunk-ECW3HHWA.js +185 -0
- package/dist/web-components/chunk-HGBNDR22.js +98 -0
- package/dist/web-components/chunk-HHHRF2PS.js +118 -0
- package/dist/web-components/chunk-ITHLKR7Q.js +105 -0
- package/dist/web-components/chunk-JUKB3BUP.js +186 -0
- package/dist/web-components/chunk-L3XHOMN6.js +111 -0
- package/dist/{web-components.js → web-components/chunk-LGEZYFUU.js} +62 -844
- package/dist/web-components/chunk-LY62SAVN.js +64 -0
- package/dist/web-components/chunk-N6IMUOY4.js +185 -0
- package/dist/web-components/chunk-OHUTLSIQ.js +69 -0
- package/dist/web-components/chunk-OQTRTMAB.js +27 -0
- package/dist/web-components/chunk-PY62FTRW.js +179 -0
- package/dist/web-components/chunk-Q4T5BJT6.js +94 -0
- package/dist/web-components/chunk-QDST57JC.js +119 -0
- package/dist/web-components/chunk-QLZ2362S.js +279 -0
- package/dist/web-components/chunk-QPOKHLMQ.js +45 -0
- package/dist/web-components/chunk-SOQQ7RVJ.js +88 -0
- package/dist/web-components/chunk-T6AETZRP.js +131 -0
- package/dist/web-components/chunk-UFFCKVZE.js +149 -0
- package/dist/web-components/chunk-VMMVWLXL.js +53 -0
- package/dist/web-components/chunk-X3FKVHLK.js +144 -0
- package/dist/web-components/chunk-XNA6WTXG.js +133 -0
- package/dist/web-components/chunk-Y4MAXTMA.js +80 -0
- package/dist/web-components/chunk-YLVTEY23.js +165 -0
- package/dist/web-components/chunk-YRXCVKHV.js +116 -0
- package/dist/web-components/chunk-ZTC6GRP7.js +64 -0
- package/dist/web-components/globals.d.ts +2 -0
- package/dist/web-components/globals.js +1 -0
- package/dist/web-components/index.d.ts +41 -0
- package/dist/web-components/index.js +165 -0
- package/dist/web-components/interaction/bds-accordion-item.d.ts +54 -0
- package/dist/web-components/interaction/bds-accordion-item.js +7 -0
- package/dist/web-components/interaction/bds-accordion.d.ts +50 -0
- package/dist/web-components/interaction/bds-accordion.js +7 -0
- package/dist/web-components/interaction/bds-button.d.ts +100 -0
- package/dist/web-components/interaction/bds-button.js +7 -0
- package/dist/web-components/interaction/bds-collapsible.d.ts +52 -0
- package/dist/web-components/interaction/bds-collapsible.js +7 -0
- package/dist/web-components/interaction/bds-dialog.d.ts +56 -0
- package/dist/web-components/interaction/bds-dialog.js +7 -0
- package/dist/web-components/interaction/bds-drawer.d.ts +64 -0
- package/dist/web-components/interaction/bds-drawer.js +7 -0
- package/dist/web-components/interaction/bds-popover.d.ts +62 -0
- package/dist/web-components/interaction/bds-popover.js +7 -0
- package/dist/web-components/interaction/bds-skip-link.d.ts +36 -0
- package/dist/web-components/interaction/bds-skip-link.js +7 -0
- package/dist/web-components/interaction/bds-tab-panel.d.ts +26 -0
- package/dist/web-components/interaction/bds-tab-panel.js +7 -0
- package/dist/web-components/interaction/bds-tab.d.ts +45 -0
- package/dist/web-components/interaction/bds-tab.js +7 -0
- package/dist/web-components/interaction/bds-tabs.d.ts +46 -0
- package/dist/web-components/interaction/bds-tabs.js +7 -0
- package/dist/web-components/interaction/bds-toast-provider.d.ts +57 -0
- package/dist/web-components/interaction/bds-toast-provider.js +7 -0
- package/dist/web-components/interaction/bds-tooltip.d.ts +50 -0
- package/dist/web-components/interaction/bds-tooltip.js +7 -0
- package/dist/web-components/interaction/form/bds-checkbox.d.ts +70 -0
- package/dist/web-components/interaction/form/bds-checkbox.js +7 -0
- package/dist/web-components/interaction/form/bds-combobox.d.ts +84 -0
- package/dist/web-components/interaction/form/bds-combobox.js +7 -0
- package/dist/web-components/interaction/form/bds-file-input.d.ts +62 -0
- package/dist/web-components/interaction/form/bds-file-input.js +7 -0
- package/dist/web-components/interaction/form/bds-number-input.d.ts +68 -0
- package/dist/web-components/interaction/form/bds-number-input.js +7 -0
- package/dist/web-components/interaction/form/bds-radio.d.ts +68 -0
- package/dist/web-components/interaction/form/bds-radio.js +7 -0
- package/dist/web-components/interaction/form/bds-segmented-control.d.ts +88 -0
- package/dist/web-components/interaction/form/bds-segmented-control.js +7 -0
- package/dist/web-components/interaction/form/bds-select.d.ts +79 -0
- package/dist/web-components/interaction/form/bds-select.js +7 -0
- package/dist/web-components/interaction/form/bds-slider.d.ts +70 -0
- package/dist/web-components/interaction/form/bds-slider.js +7 -0
- package/dist/web-components/interaction/form/bds-switch.d.ts +67 -0
- package/dist/web-components/interaction/form/bds-switch.js +7 -0
- package/dist/web-components/interaction/form/bds-textarea.d.ts +70 -0
- package/dist/web-components/interaction/form/bds-textarea.js +7 -0
- package/dist/web-components/ui/bds-alert.d.ts +66 -0
- package/dist/web-components/ui/bds-alert.js +7 -0
- package/dist/web-components/ui/bds-avatar.d.ts +50 -0
- package/dist/web-components/ui/bds-avatar.js +7 -0
- package/dist/web-components/ui/bds-badge.d.ts +35 -0
- package/dist/web-components/ui/bds-badge.js +7 -0
- package/dist/web-components/ui/bds-breadcrumb.d.ts +35 -0
- package/dist/web-components/ui/bds-breadcrumb.js +7 -0
- package/dist/web-components/ui/bds-card.d.ts +72 -0
- package/dist/web-components/ui/bds-card.js +7 -0
- package/dist/web-components/ui/bds-description-list.d.ts +42 -0
- package/dist/web-components/ui/bds-description-list.js +7 -0
- package/dist/web-components/ui/bds-icon-wrapper.d.ts +39 -0
- package/dist/web-components/ui/bds-icon-wrapper.js +7 -0
- package/dist/web-components/ui/bds-link.d.ts +59 -0
- package/dist/web-components/ui/bds-link.js +7 -0
- package/dist/web-components/ui/bds-loading.d.ts +32 -0
- package/dist/web-components/ui/bds-loading.js +7 -0
- package/dist/web-components/ui/bds-notification-banner.d.ts +61 -0
- package/dist/web-components/ui/bds-notification-banner.js +7 -0
- package/dist/web-components/ui/bds-progress-circle.d.ts +53 -0
- package/dist/web-components/ui/bds-progress-circle.js +7 -0
- package/dist/web-components/ui/bds-progress.d.ts +54 -0
- package/dist/web-components/ui/bds-progress.js +7 -0
- package/dist/web-components/ui/bds-rating.d.ts +36 -0
- package/dist/web-components/ui/bds-rating.js +7 -0
- package/dist/web-components/ui/bds-section-header.d.ts +53 -0
- package/dist/web-components/ui/bds-section-header.js +8 -0
- package/dist/web-components/ui/bds-separator.d.ts +32 -0
- package/dist/web-components/ui/bds-separator.js +7 -0
- package/dist/web-components/ui/bds-skeleton.d.ts +22 -0
- package/dist/web-components/ui/bds-skeleton.js +7 -0
- package/dist/web-components/ui/bds-typography.d.ts +44 -0
- package/dist/web-components/ui/bds-typography.js +8 -0
- package/package.json +170 -5
- package/src/components/interaction/Button/Button.module.css +12 -11
- package/src/components/interaction/Button/Button.native.tsx +10 -9
- package/src/components/interaction/Button/Button.tsx +1 -1
- package/src/components/interaction/Command/Command.module.css +3 -7
- package/src/components/interaction/Dialog/Dialog.module.css +7 -5
- package/src/components/interaction/Drawer/Drawer.module.css +49 -1
- package/src/components/interaction/DropdownMenu/DropdownMenu.module.css +1 -3
- package/src/components/interaction/Popover/Popover.module.css +1 -3
- package/src/components/interaction/form/Checkbox/Checkbox.module.css +1 -3
- package/src/components/interaction/form/Combobox/Combobox.module.css +2 -6
- package/src/components/interaction/form/FormInput/FormInput.module.css +1 -3
- package/src/components/interaction/form/NumberInput/NumberInput.module.css +16 -4
- package/src/components/interaction/form/Radio/Radio.module.css +6 -16
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.mdx +70 -25
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.module.css +55 -33
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.spec.tsx +127 -56
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.stories.tsx +89 -72
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +40 -62
- package/src/components/interaction/form/SegmentedControl/index.ts +1 -1
- package/src/components/interaction/form/Select/Select.module.css +2 -4
- package/src/components/interaction/form/Switch/Switch.module.css +5 -7
- package/src/components/interaction/form/Switch/Switch.native.spec.tsx +9 -9
- package/src/components/interaction/form/Switch/Switch.native.tsx +2 -2
- package/src/components/interaction/form/Textarea/Textarea.module.css +1 -3
- package/src/components/interaction/form/atoms/InputContainer.stories.tsx +64 -0
- package/src/components/interaction/form/atoms/Label.stories.tsx +33 -0
- package/src/components/interaction/form/atoms/Message.stories.tsx +33 -0
- package/src/components/layout/Card/Card.module.css +1 -3
- package/src/components/ui/Accordion/Accordion.module.css +1 -2
- package/src/components/ui/Alert/Alert.module.css +1 -2
- package/src/components/ui/Calendar/Calendar.module.css +2 -5
- package/src/components/ui/Carousel/Carousel.module.css +1 -3
- package/src/components/ui/NotificationBanner/NotificationBanner.module.css +1 -2
- package/src/components/ui/Pagination/Pagination.module.css +1 -2
- package/src/components/ui/SkipLink/SkipLink.module.css +1 -2
- package/src/components/ui/Table/Table.module.css +1 -2
- package/src/css/bdc.css +16 -11
- package/src/index.ts +1 -1
- package/src/web-components/globals.ts +3 -3
- package/src/web-components/index.ts +47 -0
- package/src/web-components/interaction/BdsAccordion.mdx +51 -0
- package/src/web-components/interaction/BdsAccordion.stories.tsx +85 -0
- package/src/web-components/interaction/BdsCollapsible.mdx +46 -0
- package/src/web-components/interaction/BdsCollapsible.stories.tsx +87 -0
- package/src/web-components/interaction/BdsDialog.mdx +49 -0
- package/src/web-components/interaction/BdsDialog.stories.tsx +75 -0
- package/src/web-components/interaction/BdsDrawer.mdx +50 -0
- package/src/web-components/interaction/BdsDrawer.stories.tsx +66 -0
- package/src/web-components/interaction/BdsSkipLink.mdx +34 -0
- package/src/web-components/interaction/BdsSkipLink.stories.tsx +55 -0
- package/src/web-components/interaction/BdsTabs.mdx +47 -0
- package/src/web-components/interaction/BdsTabs.stories.tsx +80 -0
- package/src/web-components/interaction/BdsTooltip.mdx +38 -0
- package/src/web-components/interaction/BdsTooltip.stories.tsx +68 -0
- package/src/web-components/interaction/bds-accordion-item.spec.ts +75 -0
- package/src/web-components/interaction/bds-accordion-item.ts +181 -0
- package/src/web-components/interaction/bds-accordion.spec.ts +73 -0
- package/src/web-components/interaction/bds-accordion.ts +98 -0
- package/src/web-components/interaction/bds-button.ts +15 -13
- package/src/web-components/interaction/bds-collapsible.spec.ts +56 -0
- package/src/web-components/interaction/bds-collapsible.ts +170 -0
- package/src/web-components/interaction/bds-dialog.spec.ts +119 -0
- package/src/web-components/interaction/bds-dialog.ts +221 -0
- package/src/web-components/interaction/bds-drawer.spec.ts +113 -0
- package/src/web-components/interaction/bds-drawer.ts +315 -0
- package/src/web-components/interaction/bds-skip-link.spec.ts +42 -0
- package/src/web-components/interaction/bds-skip-link.ts +74 -0
- package/src/web-components/interaction/bds-tab-panel.spec.ts +32 -0
- package/src/web-components/interaction/bds-tab-panel.ts +38 -0
- package/src/web-components/interaction/bds-tab.spec.ts +71 -0
- package/src/web-components/interaction/bds-tab.ts +110 -0
- package/src/web-components/interaction/bds-tabs.spec.ts +120 -0
- package/src/web-components/interaction/bds-tabs.ts +152 -0
- package/src/web-components/interaction/bds-tooltip.spec.ts +49 -0
- package/src/web-components/interaction/bds-tooltip.ts +127 -0
- package/src/web-components/interaction/form/BdsCheckbox.mdx +39 -0
- package/src/web-components/interaction/form/BdsCheckbox.stories.tsx +73 -0
- package/src/web-components/interaction/form/BdsCombobox.mdx +52 -0
- package/src/web-components/interaction/form/BdsCombobox.stories.tsx +91 -0
- package/src/web-components/interaction/form/BdsFileInput.mdx +44 -0
- package/src/web-components/interaction/form/BdsFileInput.stories.tsx +84 -0
- package/src/web-components/interaction/form/BdsNumberInput.mdx +41 -0
- package/src/web-components/interaction/form/BdsNumberInput.stories.tsx +90 -0
- package/src/web-components/interaction/form/BdsRadio.mdx +41 -0
- package/src/web-components/interaction/form/BdsRadio.stories.tsx +90 -0
- package/src/web-components/interaction/form/BdsSegmentedControl.mdx +42 -0
- package/src/web-components/interaction/form/BdsSegmentedControl.stories.tsx +92 -0
- package/src/web-components/interaction/form/BdsSelect.mdx +38 -0
- package/src/web-components/interaction/form/BdsSelect.stories.tsx +93 -0
- package/src/web-components/interaction/form/BdsSlider.mdx +49 -0
- package/src/web-components/interaction/form/BdsSlider.stories.tsx +89 -0
- package/src/web-components/interaction/form/BdsSwitch.mdx +39 -0
- package/src/web-components/interaction/form/BdsSwitch.stories.tsx +73 -0
- package/src/web-components/interaction/form/BdsTextarea.mdx +41 -0
- package/src/web-components/interaction/form/BdsTextarea.stories.tsx +79 -0
- package/src/web-components/interaction/form/bds-checkbox.spec.ts +63 -0
- package/src/web-components/interaction/form/bds-checkbox.ts +166 -0
- package/src/web-components/interaction/form/bds-combobox.spec.ts +117 -0
- package/src/web-components/interaction/form/bds-combobox.ts +334 -0
- package/src/web-components/interaction/form/bds-file-input.spec.ts +58 -0
- package/src/web-components/interaction/form/bds-file-input.ts +209 -0
- package/src/web-components/interaction/form/bds-number-input.spec.ts +87 -0
- package/src/web-components/interaction/form/bds-number-input.ts +220 -0
- package/src/web-components/interaction/form/bds-radio.spec.ts +70 -0
- package/src/web-components/interaction/form/bds-radio.ts +151 -0
- package/src/web-components/interaction/form/bds-segmented-control.spec.ts +74 -0
- package/src/web-components/interaction/form/bds-segmented-control.ts +282 -0
- package/src/web-components/interaction/form/bds-select.spec.ts +74 -0
- package/src/web-components/interaction/form/bds-select.ts +188 -0
- package/src/web-components/interaction/form/bds-slider.spec.ts +41 -0
- package/src/web-components/interaction/form/bds-slider.ts +162 -0
- package/src/web-components/interaction/form/bds-switch.spec.ts +62 -0
- package/src/web-components/interaction/form/bds-switch.ts +165 -0
- package/src/web-components/interaction/form/bds-textarea.spec.ts +55 -0
- package/src/web-components/interaction/form/bds-textarea.ts +141 -0
- package/src/web-components/ui/BdsAvatar.mdx +67 -0
- package/src/web-components/ui/BdsAvatar.stories.tsx +62 -0
- package/src/web-components/ui/BdsBreadcrumb.mdx +63 -0
- package/src/web-components/ui/BdsBreadcrumb.stories.tsx +59 -0
- package/src/web-components/ui/BdsCard.mdx +83 -0
- package/src/web-components/ui/BdsCard.stories.tsx +90 -0
- package/src/web-components/ui/BdsDescriptionList.mdx +67 -0
- package/src/web-components/ui/BdsDescriptionList.stories.tsx +79 -0
- package/src/web-components/ui/BdsIconWrapper.mdx +70 -0
- package/src/web-components/ui/BdsIconWrapper.stories.tsx +76 -0
- package/src/web-components/ui/BdsLink.mdx +75 -0
- package/src/web-components/ui/BdsLink.stories.tsx +64 -0
- package/src/web-components/ui/BdsLoading.mdx +62 -0
- package/src/web-components/ui/BdsLoading.stories.tsx +37 -0
- package/src/web-components/ui/BdsNotificationBanner.mdx +90 -0
- package/src/web-components/ui/BdsNotificationBanner.stories.tsx +93 -0
- package/src/web-components/ui/BdsProgress.mdx +63 -0
- package/src/web-components/ui/BdsProgress.stories.tsx +70 -0
- package/src/web-components/ui/BdsProgressCircle.mdx +64 -0
- package/src/web-components/ui/BdsProgressCircle.stories.tsx +69 -0
- package/src/web-components/ui/BdsRating.mdx +61 -0
- package/src/web-components/ui/BdsRating.stories.tsx +39 -0
- package/src/web-components/ui/BdsSectionHeader.mdx +69 -0
- package/src/web-components/ui/BdsSectionHeader.stories.tsx +56 -0
- package/src/web-components/ui/BdsSeparator.mdx +63 -0
- package/src/web-components/ui/BdsSeparator.stories.tsx +47 -0
- package/src/web-components/ui/BdsSkeleton.mdx +67 -0
- package/src/web-components/ui/BdsSkeleton.stories.tsx +50 -0
- package/src/web-components/ui/BdsTypography.mdx +83 -0
- package/src/web-components/ui/BdsTypography.stories.tsx +51 -0
- package/src/web-components/ui/bds-alert.ts +1 -2
- package/src/web-components/ui/bds-avatar.spec.ts +75 -0
- package/src/web-components/ui/bds-avatar.ts +122 -0
- package/src/web-components/ui/bds-breadcrumb.spec.ts +55 -0
- package/src/web-components/ui/bds-breadcrumb.ts +114 -0
- package/src/web-components/ui/bds-card.spec.ts +70 -0
- package/src/web-components/ui/bds-card.ts +154 -0
- package/src/web-components/ui/bds-description-list.spec.ts +36 -0
- package/src/web-components/ui/bds-description-list.ts +79 -0
- package/src/web-components/ui/bds-icon-wrapper.spec.ts +21 -0
- package/src/web-components/ui/bds-icon-wrapper.ts +68 -0
- package/src/web-components/ui/bds-link.spec.ts +72 -0
- package/src/web-components/ui/bds-link.ts +138 -0
- package/src/web-components/ui/bds-loading.spec.ts +38 -0
- package/src/web-components/ui/bds-loading.ts +76 -0
- package/src/web-components/ui/bds-notification-banner.spec.ts +82 -0
- package/src/web-components/ui/bds-notification-banner.ts +184 -0
- package/src/web-components/ui/bds-progress-circle.spec.ts +58 -0
- package/src/web-components/ui/bds-progress-circle.ts +142 -0
- package/src/web-components/ui/bds-progress.spec.ts +66 -0
- package/src/web-components/ui/bds-progress.ts +127 -0
- package/src/web-components/ui/bds-rating.spec.ts +70 -0
- package/src/web-components/ui/bds-rating.ts +80 -0
- package/src/web-components/ui/bds-section-header.spec.ts +57 -0
- package/src/web-components/ui/bds-section-header.ts +96 -0
- package/src/web-components/ui/bds-separator.spec.ts +50 -0
- package/src/web-components/ui/bds-separator.ts +66 -0
- package/src/web-components/ui/bds-skeleton.spec.ts +22 -0
- package/src/web-components/ui/bds-skeleton.ts +55 -0
- package/src/web-components/ui/bds-typography.spec.ts +76 -0
- package/src/web-components/ui/bds-typography.ts +112 -0
- package/dist/web-components.d.ts +0 -304
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
type ButtonVariant = 'default' | 'outline' | 'ghost';
|
|
5
|
+
type ButtonSize = 'small' | 'medium' | 'large';
|
|
6
|
+
/**
|
|
7
|
+
* `<bds-button>` — framework-agnostic Button custom element.
|
|
8
|
+
*
|
|
9
|
+
* Attributes:
|
|
10
|
+
* variant — "default" (filled, default) | "outline" (transparent + outlined) | "ghost" (deprecated alias for "outline")
|
|
11
|
+
* size — "small" | "medium" (default) | "large"
|
|
12
|
+
* disabled — boolean
|
|
13
|
+
* href — renders an <a> tag instead of <button>
|
|
14
|
+
* target — forwarded to <a> when href is set
|
|
15
|
+
* rel — forwarded to <a> when href is set
|
|
16
|
+
* has-pulse — boolean, enables the pulse ring animation
|
|
17
|
+
* type — "button" (default) | "submit" | "reset"
|
|
18
|
+
*
|
|
19
|
+
* Slots:
|
|
20
|
+
* (default) — button label
|
|
21
|
+
* icon-start — icon placed before the label
|
|
22
|
+
* icon-end — icon placed after the label
|
|
23
|
+
*
|
|
24
|
+
* Events:
|
|
25
|
+
* click — standard DOM click (disabled buttons suppress it and set aria-disabled)
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* <bds-button variant="ghost" size="small">
|
|
29
|
+
* <svg slot="icon-start">…</svg>
|
|
30
|
+
* Save
|
|
31
|
+
* </bds-button>
|
|
32
|
+
*/
|
|
33
|
+
declare class BdsButton extends LitElement {
|
|
34
|
+
static styles: lit.CSSResult;
|
|
35
|
+
static properties: {
|
|
36
|
+
variant: {
|
|
37
|
+
type: StringConstructor;
|
|
38
|
+
reflect: boolean;
|
|
39
|
+
};
|
|
40
|
+
size: {
|
|
41
|
+
type: StringConstructor;
|
|
42
|
+
reflect: boolean;
|
|
43
|
+
};
|
|
44
|
+
disabled: {
|
|
45
|
+
type: BooleanConstructor;
|
|
46
|
+
reflect: boolean;
|
|
47
|
+
};
|
|
48
|
+
href: {
|
|
49
|
+
type: StringConstructor;
|
|
50
|
+
};
|
|
51
|
+
target: {
|
|
52
|
+
type: StringConstructor;
|
|
53
|
+
};
|
|
54
|
+
rel: {
|
|
55
|
+
type: StringConstructor;
|
|
56
|
+
};
|
|
57
|
+
hasPulse: {
|
|
58
|
+
type: BooleanConstructor;
|
|
59
|
+
attribute: string;
|
|
60
|
+
reflect: boolean;
|
|
61
|
+
};
|
|
62
|
+
type: {
|
|
63
|
+
type: StringConstructor;
|
|
64
|
+
};
|
|
65
|
+
ariaLabel: {
|
|
66
|
+
type: StringConstructor;
|
|
67
|
+
attribute: string;
|
|
68
|
+
};
|
|
69
|
+
_iconStartFilled: {
|
|
70
|
+
state: boolean;
|
|
71
|
+
};
|
|
72
|
+
_iconEndFilled: {
|
|
73
|
+
state: boolean;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
variant: ButtonVariant;
|
|
77
|
+
size: ButtonSize;
|
|
78
|
+
disabled: boolean;
|
|
79
|
+
href: string | undefined;
|
|
80
|
+
target: string | undefined;
|
|
81
|
+
rel: string | undefined;
|
|
82
|
+
hasPulse: boolean;
|
|
83
|
+
type: 'button' | 'submit' | 'reset';
|
|
84
|
+
ariaLabel: string | null;
|
|
85
|
+
private _iconStartFilled;
|
|
86
|
+
private _iconEndFilled;
|
|
87
|
+
constructor();
|
|
88
|
+
private _onIconSlotChange;
|
|
89
|
+
private get _classes();
|
|
90
|
+
private _handleAnchorClick;
|
|
91
|
+
private _iconSlot;
|
|
92
|
+
render(): lit.TemplateResult<1>;
|
|
93
|
+
}
|
|
94
|
+
declare global {
|
|
95
|
+
interface HTMLElementTagNameMap {
|
|
96
|
+
'bds-button': BdsButton;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export { BdsButton, type ButtonSize, type ButtonVariant };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-collapsible>` — framework-agnostic Collapsible custom element.
|
|
6
|
+
*
|
|
7
|
+
* Wraps a native `<details>/<summary>` element for built-in toggle behaviour.
|
|
8
|
+
*
|
|
9
|
+
* Attributes:
|
|
10
|
+
* open — boolean; controlled open state
|
|
11
|
+
* name — groups multiple collapsibles so only one is open at a time
|
|
12
|
+
* (native <details name="…"> behaviour)
|
|
13
|
+
*
|
|
14
|
+
* Slots:
|
|
15
|
+
* summary — the always-visible trigger text
|
|
16
|
+
* (default) — the content revealed when expanded
|
|
17
|
+
*
|
|
18
|
+
* Events:
|
|
19
|
+
* bds-toggle — fired (bubbles, composed) when the collapsible opens or closes;
|
|
20
|
+
* event.detail.open reflects the new state
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* <bds-collapsible>
|
|
24
|
+
* <span slot="summary">What is this?</span>
|
|
25
|
+
* <p>It's a collapsible panel.</p>
|
|
26
|
+
* </bds-collapsible>
|
|
27
|
+
*/
|
|
28
|
+
declare class BdsCollapsible extends LitElement {
|
|
29
|
+
static styles: lit.CSSResult;
|
|
30
|
+
static properties: {
|
|
31
|
+
open: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
reflect: boolean;
|
|
34
|
+
};
|
|
35
|
+
name: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
open: boolean;
|
|
40
|
+
name: string;
|
|
41
|
+
constructor();
|
|
42
|
+
updated(changed: Map<string, unknown>): void;
|
|
43
|
+
private _onToggle;
|
|
44
|
+
render(): lit.TemplateResult<1>;
|
|
45
|
+
}
|
|
46
|
+
declare global {
|
|
47
|
+
interface HTMLElementTagNameMap {
|
|
48
|
+
'bds-collapsible': BdsCollapsible;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { BdsCollapsible };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-dialog>` — framework-agnostic Dialog custom element.
|
|
6
|
+
*
|
|
7
|
+
* Wraps a native `<dialog>` element with `showModal()` / `close()` lifecycle,
|
|
8
|
+
* backdrop-click to dismiss, Escape key handling, Tab focus trapping, and
|
|
9
|
+
* the Invoker Commands API (`command="show-modal"` / `command="close"`).
|
|
10
|
+
*
|
|
11
|
+
* Attributes:
|
|
12
|
+
* open — boolean; controlled open state (syncs to native showModal/close)
|
|
13
|
+
*
|
|
14
|
+
* Slots:
|
|
15
|
+
* (default) — dialog content
|
|
16
|
+
*
|
|
17
|
+
* Events:
|
|
18
|
+
* bds-open — fired (bubbles, composed) when the dialog opens
|
|
19
|
+
* bds-close — fired (bubbles, composed) when the dialog closes
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <bds-dialog id="my-dialog">
|
|
23
|
+
* <p>Dialog content</p>
|
|
24
|
+
* </bds-dialog>
|
|
25
|
+
* <button commandfor="my-dialog" command="show-modal">Open</button>
|
|
26
|
+
*/
|
|
27
|
+
declare class BdsDialog extends LitElement {
|
|
28
|
+
static styles: lit.CSSResult;
|
|
29
|
+
static properties: {
|
|
30
|
+
open: {
|
|
31
|
+
type: BooleanConstructor;
|
|
32
|
+
reflect: boolean;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
open: boolean;
|
|
36
|
+
private _triggerEl;
|
|
37
|
+
constructor();
|
|
38
|
+
connectedCallback(): void;
|
|
39
|
+
disconnectedCallback(): void;
|
|
40
|
+
updated(changed: Map<string, unknown>): void;
|
|
41
|
+
private get _dialog();
|
|
42
|
+
private _onCommand;
|
|
43
|
+
private _openDialog;
|
|
44
|
+
private _closeDialog;
|
|
45
|
+
private _handleBackdropClick;
|
|
46
|
+
private _handleCancel;
|
|
47
|
+
private _handleKeydown;
|
|
48
|
+
render(): lit.TemplateResult<1>;
|
|
49
|
+
}
|
|
50
|
+
declare global {
|
|
51
|
+
interface HTMLElementTagNameMap {
|
|
52
|
+
'bds-dialog': BdsDialog;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { BdsDialog };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
type DrawerSide = 'left' | 'right';
|
|
5
|
+
/**
|
|
6
|
+
* `<bds-drawer>` — framework-agnostic Drawer (slide-in panel) custom element.
|
|
7
|
+
*
|
|
8
|
+
* Same modal infrastructure as `<bds-dialog>` but positioned as a side panel.
|
|
9
|
+
* Uses a native `<dialog>` element with a slide-in inner panel.
|
|
10
|
+
*
|
|
11
|
+
* Attributes:
|
|
12
|
+
* open — boolean; controlled open state
|
|
13
|
+
* side — "left" | "right" (default: "right")
|
|
14
|
+
*
|
|
15
|
+
* Slots:
|
|
16
|
+
* title — drawer title text
|
|
17
|
+
* (default) — drawer body content
|
|
18
|
+
*
|
|
19
|
+
* Events:
|
|
20
|
+
* bds-open — fired (bubbles, composed) when the drawer opens
|
|
21
|
+
* bds-close — fired (bubbles, composed) when the drawer closes
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* <bds-drawer id="my-drawer" side="right">
|
|
25
|
+
* <span slot="title">Settings</span>
|
|
26
|
+
* <p>Drawer content</p>
|
|
27
|
+
* </bds-drawer>
|
|
28
|
+
* <button commandfor="my-drawer" command="show-modal">Open</button>
|
|
29
|
+
*/
|
|
30
|
+
declare class BdsDrawer extends LitElement {
|
|
31
|
+
static styles: lit.CSSResult;
|
|
32
|
+
static properties: {
|
|
33
|
+
open: {
|
|
34
|
+
type: BooleanConstructor;
|
|
35
|
+
reflect: boolean;
|
|
36
|
+
};
|
|
37
|
+
side: {
|
|
38
|
+
type: StringConstructor;
|
|
39
|
+
reflect: boolean;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
open: boolean;
|
|
43
|
+
side: DrawerSide;
|
|
44
|
+
private _triggerEl;
|
|
45
|
+
constructor();
|
|
46
|
+
connectedCallback(): void;
|
|
47
|
+
disconnectedCallback(): void;
|
|
48
|
+
updated(changed: Map<string, unknown>): void;
|
|
49
|
+
private get _dialog();
|
|
50
|
+
private _onCommand;
|
|
51
|
+
private _openDrawer;
|
|
52
|
+
private _closeDrawer;
|
|
53
|
+
private _handleBackdropClick;
|
|
54
|
+
private _handleCancel;
|
|
55
|
+
private _handleKeydown;
|
|
56
|
+
render(): lit.TemplateResult<1>;
|
|
57
|
+
}
|
|
58
|
+
declare global {
|
|
59
|
+
interface HTMLElementTagNameMap {
|
|
60
|
+
'bds-drawer': BdsDrawer;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { BdsDrawer, type DrawerSide };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
type PopoverPlacement = 'bottom' | 'top' | 'left' | 'right';
|
|
5
|
+
/**
|
|
6
|
+
* `<bds-popover>` — framework-agnostic Popover custom element.
|
|
7
|
+
*
|
|
8
|
+
* Uses CSS Anchor Positioning within the shadow DOM so the panel stays
|
|
9
|
+
* anchored to the trigger and automatically repositions when it would
|
|
10
|
+
* overflow the viewport (`@position-try` fallbacks).
|
|
11
|
+
*
|
|
12
|
+
* Attributes:
|
|
13
|
+
* placement — "bottom" (default) | "top" | "left" | "right"
|
|
14
|
+
* open — boolean; reflects whether the panel is visible
|
|
15
|
+
*
|
|
16
|
+
* Slots:
|
|
17
|
+
* trigger — the element that opens/closes the panel on click
|
|
18
|
+
* (default) — panel content
|
|
19
|
+
*
|
|
20
|
+
* Events:
|
|
21
|
+
* bds-open — fired (bubbles, composed) when the panel opens
|
|
22
|
+
* bds-close — fired (bubbles, composed) when the panel closes
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <bds-popover placement="bottom">
|
|
26
|
+
* <button slot="trigger">Open</button>
|
|
27
|
+
* <p>Panel content here</p>
|
|
28
|
+
* </bds-popover>
|
|
29
|
+
*/
|
|
30
|
+
declare class BdsPopover extends LitElement {
|
|
31
|
+
static styles: lit.CSSResult;
|
|
32
|
+
static properties: {
|
|
33
|
+
placement: {
|
|
34
|
+
type: StringConstructor;
|
|
35
|
+
reflect: boolean;
|
|
36
|
+
};
|
|
37
|
+
open: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
reflect: boolean;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
placement: PopoverPlacement;
|
|
43
|
+
open: boolean;
|
|
44
|
+
private _anchorName;
|
|
45
|
+
constructor();
|
|
46
|
+
connectedCallback(): void;
|
|
47
|
+
disconnectedCallback(): void;
|
|
48
|
+
private _onKeydown;
|
|
49
|
+
private _onCommand;
|
|
50
|
+
private _onOutsideClick;
|
|
51
|
+
private _toggle;
|
|
52
|
+
private _open;
|
|
53
|
+
private _close;
|
|
54
|
+
render(): lit.TemplateResult<1>;
|
|
55
|
+
}
|
|
56
|
+
declare global {
|
|
57
|
+
interface HTMLElementTagNameMap {
|
|
58
|
+
'bds-popover': BdsPopover;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { BdsPopover, type PopoverPlacement };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-skip-link>` — framework-agnostic Skip Navigation Link custom element.
|
|
6
|
+
*
|
|
7
|
+
* Visually hidden until focused. Allows keyboard users to skip repetitive
|
|
8
|
+
* navigation and jump directly to main content.
|
|
9
|
+
*
|
|
10
|
+
* Attributes:
|
|
11
|
+
* href — the target anchor (default: "#main")
|
|
12
|
+
*
|
|
13
|
+
* Slots:
|
|
14
|
+
* (default) — link text (default: "Skip to main content")
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <bds-skip-link href="#main-content">Skip to main content</bds-skip-link>
|
|
18
|
+
*/
|
|
19
|
+
declare class BdsSkipLink extends LitElement {
|
|
20
|
+
static styles: lit.CSSResult;
|
|
21
|
+
static properties: {
|
|
22
|
+
href: {
|
|
23
|
+
type: StringConstructor;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
href: string;
|
|
27
|
+
constructor();
|
|
28
|
+
render(): lit.TemplateResult<1>;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
'bds-skip-link': BdsSkipLink;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { BdsSkipLink };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-tab-panel>` — child element of `<bds-tabs>`.
|
|
6
|
+
*
|
|
7
|
+
* Contains the content displayed for the associated tab. The `hidden`
|
|
8
|
+
* state is managed by the parent `<bds-tabs>` element.
|
|
9
|
+
*
|
|
10
|
+
* Slots:
|
|
11
|
+
* (default) — panel content
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <bds-tab-panel>Panel content here</bds-tab-panel>
|
|
15
|
+
*/
|
|
16
|
+
declare class BdsTabPanel extends LitElement {
|
|
17
|
+
static styles: lit.CSSResult;
|
|
18
|
+
render(): lit.TemplateResult<1>;
|
|
19
|
+
}
|
|
20
|
+
declare global {
|
|
21
|
+
interface HTMLElementTagNameMap {
|
|
22
|
+
'bds-tab-panel': BdsTabPanel;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { BdsTabPanel };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-tab>` — child element of `<bds-tabs>`.
|
|
6
|
+
*
|
|
7
|
+
* Represents a single tab button. State (`selected`, `tabIndex`, `disabled`)
|
|
8
|
+
* is managed by the parent `<bds-tabs>` element.
|
|
9
|
+
*
|
|
10
|
+
* Slots:
|
|
11
|
+
* (default) — tab label
|
|
12
|
+
*
|
|
13
|
+
* Events:
|
|
14
|
+
* bds-tab-select — fired (bubbles, composed) when the tab is clicked
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <bds-tab>Overview</bds-tab>
|
|
18
|
+
*/
|
|
19
|
+
declare class BdsTab extends LitElement {
|
|
20
|
+
static styles: lit.CSSResult;
|
|
21
|
+
static properties: {
|
|
22
|
+
selected: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
reflect: boolean;
|
|
25
|
+
};
|
|
26
|
+
disabled: {
|
|
27
|
+
type: BooleanConstructor;
|
|
28
|
+
reflect: boolean;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
selected: boolean;
|
|
32
|
+
disabled: boolean;
|
|
33
|
+
constructor();
|
|
34
|
+
/** Called by `bds-tabs` to focus the inner button for keyboard navigation. */
|
|
35
|
+
focusButton(): void;
|
|
36
|
+
private _handleClick;
|
|
37
|
+
render(): lit.TemplateResult<1>;
|
|
38
|
+
}
|
|
39
|
+
declare global {
|
|
40
|
+
interface HTMLElementTagNameMap {
|
|
41
|
+
'bds-tab': BdsTab;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { BdsTab };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-tabs>` — framework-agnostic Tabs custom element.
|
|
6
|
+
*
|
|
7
|
+
* Contains `<bds-tab>` and `<bds-tab-panel>` children. Tabs and panels are
|
|
8
|
+
* matched by DOM order: the first tab corresponds to the first panel, etc.
|
|
9
|
+
*
|
|
10
|
+
* Use `slot="tab"` on `<bds-tab>` elements and `slot="panel"` on
|
|
11
|
+
* `<bds-tab-panel>` elements.
|
|
12
|
+
*
|
|
13
|
+
* Keyboard navigation: ArrowLeft/Right moves between tabs, Home/End jumps to
|
|
14
|
+
* first/last enabled tab.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <bds-tabs>
|
|
18
|
+
* <bds-tab slot="tab">Overview</bds-tab>
|
|
19
|
+
* <bds-tab slot="tab">Details</bds-tab>
|
|
20
|
+
* <bds-tab slot="tab" disabled>Disabled</bds-tab>
|
|
21
|
+
* <bds-tab-panel slot="panel">Overview content</bds-tab-panel>
|
|
22
|
+
* <bds-tab-panel slot="panel">Details content</bds-tab-panel>
|
|
23
|
+
* <bds-tab-panel slot="panel">Disabled content</bds-tab-panel>
|
|
24
|
+
* </bds-tabs>
|
|
25
|
+
*/
|
|
26
|
+
declare class BdsTabs extends LitElement {
|
|
27
|
+
static styles: lit.CSSResult;
|
|
28
|
+
private _activeIndex;
|
|
29
|
+
private _mo;
|
|
30
|
+
connectedCallback(): void;
|
|
31
|
+
disconnectedCallback(): void;
|
|
32
|
+
private get _tabs();
|
|
33
|
+
private get _panels();
|
|
34
|
+
private get _enabledIndexes();
|
|
35
|
+
private _applyState;
|
|
36
|
+
private _handleTabSelect;
|
|
37
|
+
private _handleKeydown;
|
|
38
|
+
render(): lit.TemplateResult<1>;
|
|
39
|
+
}
|
|
40
|
+
declare global {
|
|
41
|
+
interface HTMLElementTagNameMap {
|
|
42
|
+
'bds-tabs': BdsTabs;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { BdsTabs };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
type ToastVariant = 'success' | 'error' | 'info' | 'warning';
|
|
5
|
+
/**
|
|
6
|
+
* `<bds-toast-provider>` — framework-agnostic Toast provider custom element.
|
|
7
|
+
*
|
|
8
|
+
* Wraps page content and manages a `popover="manual"` toast container that
|
|
9
|
+
* renders in the browser top layer — above all fixed/sticky elements without
|
|
10
|
+
* needing a z-index.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* // Instance method (direct reference)
|
|
14
|
+
* provider.showToast('Saved!', 'success');
|
|
15
|
+
*
|
|
16
|
+
* // Static convenience (finds the first provider in the DOM)
|
|
17
|
+
* BdsToastProvider.show('Something went wrong', 'error');
|
|
18
|
+
*
|
|
19
|
+
* // Event-driven (no import required)
|
|
20
|
+
* document.dispatchEvent(new CustomEvent('bds-show-toast', {
|
|
21
|
+
* detail: { message: 'Hello', variant: 'info' }
|
|
22
|
+
* }));
|
|
23
|
+
*
|
|
24
|
+
* Slots:
|
|
25
|
+
* (default) — page content; the host uses display:contents so layout
|
|
26
|
+
* is unaffected
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* <bds-toast-provider>
|
|
30
|
+
* <main>…</main>
|
|
31
|
+
* </bds-toast-provider>
|
|
32
|
+
*/
|
|
33
|
+
declare class BdsToastProvider extends LitElement {
|
|
34
|
+
static styles: lit.CSSResult;
|
|
35
|
+
static properties: {
|
|
36
|
+
_toasts: {
|
|
37
|
+
state: boolean;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
private _toasts;
|
|
41
|
+
constructor();
|
|
42
|
+
connectedCallback(): void;
|
|
43
|
+
disconnectedCallback(): void;
|
|
44
|
+
updated(): void;
|
|
45
|
+
showToast(message: string, variant?: ToastVariant): void;
|
|
46
|
+
private _removeToast;
|
|
47
|
+
private _onShowToastEvent;
|
|
48
|
+
static show(message: string, variant?: ToastVariant): void;
|
|
49
|
+
render(): lit.TemplateResult<1>;
|
|
50
|
+
}
|
|
51
|
+
declare global {
|
|
52
|
+
interface HTMLElementTagNameMap {
|
|
53
|
+
'bds-toast-provider': BdsToastProvider;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { BdsToastProvider, type ToastVariant };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
5
|
+
/**
|
|
6
|
+
* `<bds-tooltip>` — framework-agnostic Tooltip custom element.
|
|
7
|
+
*
|
|
8
|
+
* Shows a tooltip panel on hover and keyboard focus using CSS-only visibility.
|
|
9
|
+
* The tooltip position is controlled via the `placement` attribute.
|
|
10
|
+
*
|
|
11
|
+
* Attributes:
|
|
12
|
+
* content — text to display in the tooltip
|
|
13
|
+
* placement — "top" (default) | "bottom" | "left" | "right"
|
|
14
|
+
*
|
|
15
|
+
* Slots:
|
|
16
|
+
* (default) — the trigger element (button, icon, etc.)
|
|
17
|
+
*
|
|
18
|
+
* Accessibility:
|
|
19
|
+
* The `aria-describedby` relationship between trigger and tooltip panel
|
|
20
|
+
* cannot cross shadow DOM boundaries; screen readers will announce the tooltip
|
|
21
|
+
* via role="tooltip" proximity when it becomes visible.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* <bds-tooltip content="More information" placement="bottom">
|
|
25
|
+
* <button type="button">?</button>
|
|
26
|
+
* </bds-tooltip>
|
|
27
|
+
*/
|
|
28
|
+
declare class BdsTooltip extends LitElement {
|
|
29
|
+
static styles: lit.CSSResult;
|
|
30
|
+
static properties: {
|
|
31
|
+
content: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
};
|
|
34
|
+
placement: {
|
|
35
|
+
type: StringConstructor;
|
|
36
|
+
reflect: boolean;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
content: string;
|
|
40
|
+
placement: TooltipPlacement;
|
|
41
|
+
constructor();
|
|
42
|
+
render(): lit.TemplateResult<1>;
|
|
43
|
+
}
|
|
44
|
+
declare global {
|
|
45
|
+
interface HTMLElementTagNameMap {
|
|
46
|
+
'bds-tooltip': BdsTooltip;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { BdsTooltip, type TooltipPlacement };
|