@boostdev/design-system-components 2.7.1 → 2.11.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 +54 -46
- package/README.md +34 -20
- package/dist/client.cjs +1317 -779
- package/dist/client.css +1029 -812
- package/dist/client.d.cts +88 -26
- package/dist/client.d.ts +88 -26
- package/dist/client.js +1278 -732
- package/dist/index.cjs +1317 -779
- package/dist/index.css +1029 -812
- package/dist/index.d.cts +88 -26
- package/dist/index.d.ts +88 -26
- package/dist/index.js +1278 -732
- package/dist/web-components/chunk-2OLVQUBU.js +193 -0
- package/dist/web-components/chunk-3AY2YKCM.js +223 -0
- package/dist/web-components/chunk-3WAV6MDN.js +212 -0
- package/dist/web-components/{chunk-CZBIVR4V.js → chunk-47AT5KZD.js} +88 -16
- package/dist/web-components/chunk-4A2YYTYN.js +93 -0
- package/dist/web-components/{chunk-Q4T5BJT6.js → chunk-62NK3ZSC.js} +18 -3
- package/dist/web-components/chunk-66M6ETWD.js +77 -0
- package/dist/web-components/{chunk-NCPQ7AF3.js → chunk-6G22I2CK.js} +18 -3
- package/dist/web-components/{chunk-QDST57JC.js → chunk-7ZOJ7N4E.js} +14 -4
- package/dist/web-components/{chunk-5R6IFELV.js → chunk-AIBOHNDU.js} +11 -1
- package/dist/web-components/{chunk-ITHLKR7Q.js → chunk-AP4RDUL2.js} +16 -5
- package/dist/web-components/{chunk-QWPACK5L.js → chunk-BPYKZVDK.js} +11 -1
- package/dist/web-components/{chunk-YLVTEY23.js → chunk-BTCMJQKB.js} +53 -21
- package/dist/web-components/chunk-CUKQ2L5B.js +245 -0
- package/dist/web-components/chunk-DIZDCL7Z.js +14 -0
- package/dist/web-components/{chunk-PC3IOQAH.js → chunk-DV5T43ZC.js} +27 -7
- package/dist/web-components/{chunk-2QA62WCQ.js → chunk-EF7IVYTY.js} +10 -0
- package/dist/web-components/{chunk-L3XHOMN6.js → chunk-F3ZDNHZZ.js} +26 -1
- package/dist/web-components/chunk-FEDABOR5.js +248 -0
- package/dist/web-components/{chunk-6I2DBFQ7.js → chunk-HGFCJXOQ.js} +36 -5
- package/dist/web-components/{chunk-SOQQ7RVJ.js → chunk-IPGHUCJT.js} +23 -8
- package/dist/web-components/chunk-ITD2MV5K.js +392 -0
- package/dist/web-components/{chunk-CM3KYZ6Z.js → chunk-JH6LQKLK.js} +78 -6
- package/dist/web-components/chunk-JMCXAAFK.js +120 -0
- package/dist/web-components/{chunk-KUI55GFB.js → chunk-JUPCZVVW.js} +50 -18
- package/dist/web-components/chunk-JV5QT2OU.js +146 -0
- package/dist/web-components/{chunk-3GFWLSLS.js → chunk-KA3VPKMY.js} +29 -6
- package/dist/web-components/{chunk-CR5PGUHV.js → chunk-KJGRFDFI.js} +26 -11
- package/dist/web-components/{chunk-PY62FTRW.js → chunk-KZPRFY5P.js} +68 -33
- package/dist/web-components/{chunk-X46KL5BK.js → chunk-LDIPCTRN.js} +18 -1
- package/dist/web-components/chunk-M3ECULRH.js +174 -0
- package/dist/web-components/chunk-NBN2ENWJ.js +90 -0
- package/dist/web-components/chunk-NIN3JO6Q.js +189 -0
- package/dist/web-components/{chunk-2FGATTGT.js → chunk-NTQ4TCUT.js} +76 -55
- package/dist/web-components/chunk-OY74D4X6.js +302 -0
- package/dist/web-components/{chunk-3S42DZ7W.js → chunk-P24JYC5V.js} +7 -0
- package/dist/web-components/{chunk-BKIHQYJR.js → chunk-PXPPKCLT.js} +17 -2
- package/dist/web-components/{chunk-TQ7IQ4GZ.js → chunk-QEF2IRID.js} +71 -29
- package/dist/web-components/chunk-QZAIRJ75.js +111 -0
- package/dist/web-components/{chunk-6I3CFC26.js → chunk-RSZ3BWBK.js} +20 -5
- package/dist/web-components/chunk-RVF7W653.js +101 -0
- package/dist/web-components/chunk-SEO2F5KJ.js +234 -0
- package/dist/web-components/{chunk-VMMVWLXL.js → chunk-SFZ6Q4BP.js} +10 -0
- package/dist/web-components/{chunk-LY62SAVN.js → chunk-SYNLFKD3.js} +12 -2
- package/dist/web-components/chunk-TMWXRHGF.js +192 -0
- package/dist/web-components/{chunk-65JXQOBA.js → chunk-U3YZE6R6.js} +51 -7
- package/dist/web-components/chunk-UO7ROSHD.js +424 -0
- package/dist/web-components/chunk-VANAKB6D.js +152 -0
- package/dist/web-components/{chunk-PXZWYO6Z.js → chunk-VED2DFJ6.js} +108 -29
- package/dist/web-components/chunk-W6H5ID2U.js +161 -0
- package/dist/web-components/{chunk-57TRNCWQ.js → chunk-WFVKU4GX.js} +22 -11
- package/dist/web-components/{chunk-OQTRTMAB.js → chunk-WIBAN7KP.js} +10 -0
- package/dist/web-components/chunk-XI7KRAH7.js +54 -0
- package/dist/web-components/{chunk-F5E3IT7G.js → chunk-XIZWAWMJ.js} +50 -11
- package/dist/web-components/{chunk-FXURM6D5.js → chunk-YFAXGRPR.js} +10 -0
- package/dist/web-components/globals.js +1 -1
- package/dist/web-components/index.d.ts +77 -707
- package/dist/web-components/index.js +339 -2066
- package/dist/web-components/interaction/bds-accordion-item.js +1 -1
- package/dist/web-components/interaction/bds-accordion.js +1 -1
- package/dist/web-components/interaction/bds-button.d.ts +10 -2
- package/dist/web-components/interaction/bds-button.js +1 -1
- package/dist/web-components/interaction/bds-collapsible.d.ts +7 -2
- package/dist/web-components/interaction/bds-collapsible.js +1 -1
- package/dist/web-components/interaction/bds-dialog.d.ts +11 -3
- package/dist/web-components/interaction/bds-dialog.js +1 -1
- package/dist/web-components/interaction/bds-drawer.d.ts +7 -1
- package/dist/web-components/interaction/bds-drawer.js +1 -1
- package/dist/web-components/interaction/bds-dropdown-menu-item.d.ts +51 -0
- package/dist/web-components/interaction/bds-dropdown-menu-item.js +7 -0
- package/dist/web-components/interaction/bds-dropdown-menu.d.ts +70 -0
- package/dist/web-components/interaction/bds-dropdown-menu.js +7 -0
- package/dist/web-components/interaction/bds-popover.d.ts +14 -3
- package/dist/web-components/interaction/bds-popover.js +1 -1
- package/dist/web-components/interaction/bds-skip-link.js +1 -1
- package/dist/web-components/interaction/bds-tab-panel.js +1 -1
- package/dist/web-components/interaction/bds-tab.js +1 -1
- package/dist/web-components/interaction/bds-tabs.d.ts +1 -0
- package/dist/web-components/interaction/bds-tabs.js +1 -1
- package/dist/web-components/interaction/bds-toast-provider.js +1 -1
- package/dist/web-components/interaction/bds-tooltip.d.ts +19 -3
- package/dist/web-components/interaction/bds-tooltip.js +1 -1
- package/dist/web-components/interaction/form/bds-checkbox-group.d.ts +83 -0
- package/dist/web-components/interaction/form/bds-checkbox-group.js +7 -0
- package/dist/web-components/interaction/form/bds-checkbox.d.ts +6 -0
- package/dist/web-components/interaction/form/bds-checkbox.js +1 -1
- package/dist/web-components/interaction/form/bds-combobox.d.ts +18 -0
- package/dist/web-components/interaction/form/bds-combobox.js +1 -1
- package/dist/web-components/interaction/form/bds-field-group.d.ts +89 -0
- package/dist/web-components/interaction/form/bds-field-group.js +7 -0
- package/dist/web-components/interaction/form/bds-file-input.d.ts +1 -1
- package/dist/web-components/interaction/form/bds-file-input.js +1 -1
- package/dist/web-components/interaction/form/bds-form-input.d.ts +92 -0
- package/dist/web-components/interaction/form/bds-form-input.js +7 -0
- package/dist/web-components/interaction/form/bds-number-input.d.ts +18 -1
- package/dist/web-components/interaction/form/bds-number-input.js +1 -1
- package/dist/web-components/interaction/form/bds-radio-group.d.ts +81 -0
- package/dist/web-components/interaction/form/bds-radio-group.js +7 -0
- package/dist/web-components/interaction/form/bds-radio.d.ts +34 -6
- package/dist/web-components/interaction/form/bds-radio.js +1 -1
- package/dist/web-components/interaction/form/bds-segmented-control.d.ts +4 -4
- package/dist/web-components/interaction/form/bds-segmented-control.js +1 -1
- package/dist/web-components/interaction/form/bds-select.d.ts +22 -1
- package/dist/web-components/interaction/form/bds-select.js +1 -1
- package/dist/web-components/interaction/form/bds-slider.d.ts +42 -10
- package/dist/web-components/interaction/form/bds-slider.js +1 -1
- package/dist/web-components/interaction/form/bds-switch.d.ts +20 -0
- package/dist/web-components/interaction/form/bds-switch.js +1 -1
- package/dist/web-components/interaction/form/bds-textarea.d.ts +23 -3
- package/dist/web-components/interaction/form/bds-textarea.js +1 -1
- package/dist/web-components/layout/bds-grid-item.d.ts +63 -0
- package/dist/web-components/layout/bds-grid-item.js +7 -0
- package/dist/web-components/layout/bds-grid.d.ts +108 -0
- package/dist/web-components/layout/bds-grid.js +7 -0
- package/dist/web-components/ui/bds-alert.d.ts +16 -2
- package/dist/web-components/ui/bds-alert.js +1 -1
- package/dist/web-components/ui/bds-avatar.d.ts +2 -1
- package/dist/web-components/ui/bds-avatar.js +1 -1
- package/dist/web-components/ui/bds-badge.js +1 -1
- package/dist/web-components/ui/bds-breadcrumb.d.ts +3 -1
- package/dist/web-components/ui/bds-breadcrumb.js +1 -1
- package/dist/web-components/ui/bds-button-container.d.ts +52 -0
- package/dist/web-components/ui/bds-button-container.js +7 -0
- package/dist/web-components/ui/bds-button-group.d.ts +21 -0
- package/dist/web-components/ui/bds-button-group.js +8 -0
- package/dist/web-components/ui/bds-calendar.d.ts +121 -0
- package/dist/web-components/ui/bds-calendar.js +7 -0
- package/dist/web-components/ui/bds-card.d.ts +12 -3
- package/dist/web-components/ui/bds-card.js +1 -1
- package/dist/web-components/ui/bds-carousel.d.ts +98 -0
- package/dist/web-components/ui/bds-carousel.js +7 -0
- package/dist/web-components/ui/bds-description-list.js +1 -1
- package/dist/web-components/ui/bds-icon-wrapper.d.ts +0 -9
- package/dist/web-components/ui/bds-icon-wrapper.js +1 -1
- package/dist/web-components/ui/bds-link.js +1 -1
- package/dist/web-components/ui/bds-loading.js +1 -1
- package/dist/web-components/ui/bds-notification-banner.js +1 -1
- package/dist/web-components/ui/bds-pagination.d.ts +47 -0
- package/dist/web-components/ui/bds-pagination.js +7 -0
- package/dist/web-components/ui/bds-progress-circle.d.ts +3 -1
- package/dist/web-components/ui/bds-progress-circle.js +1 -1
- package/dist/web-components/ui/bds-progress.d.ts +3 -1
- package/dist/web-components/ui/bds-progress.js +1 -1
- package/dist/web-components/ui/bds-rating.js +1 -1
- package/dist/web-components/ui/bds-section-header.d.ts +18 -4
- package/dist/web-components/ui/bds-section-header.js +1 -1
- package/dist/web-components/ui/bds-separator.js +1 -1
- package/dist/web-components/ui/bds-skeleton.js +1 -1
- package/dist/web-components/ui/bds-table.d.ts +52 -0
- package/dist/web-components/ui/bds-table.js +7 -0
- package/dist/web-components/ui/bds-typography.d.ts +1 -0
- package/dist/web-components/ui/bds-typography.js +1 -1
- package/package.json +60 -3
- package/src/components/interaction/Button/Button.module.css +23 -14
- package/src/components/interaction/Button/Button.spec.tsx +20 -0
- package/src/components/interaction/Button/Button.tsx +2 -2
- package/src/components/interaction/Command/Command.mdx +5 -2
- package/src/components/interaction/Command/Command.module.css +23 -7
- package/src/components/interaction/Command/Command.spec.tsx +35 -0
- package/src/components/interaction/Command/Command.tsx +15 -4
- package/src/components/interaction/Command/index.ts +1 -1
- package/src/components/interaction/Dialog/Dialog.mdx +4 -4
- package/src/components/interaction/Dialog/Dialog.module.css +20 -0
- package/src/components/interaction/Dialog/Dialog.spec.tsx +20 -0
- package/src/components/interaction/Dialog/Dialog.tsx +8 -3
- package/src/components/interaction/Dialog/index.ts +1 -0
- package/src/components/interaction/Drawer/Drawer.mdx +5 -2
- package/src/components/interaction/Drawer/Drawer.module.css +34 -3
- package/src/components/interaction/Drawer/Drawer.spec.tsx +67 -1
- package/src/components/interaction/Drawer/Drawer.tsx +30 -12
- package/src/components/interaction/Drawer/index.ts +1 -0
- package/src/components/interaction/DropdownMenu/DropdownMenu.mdx +2 -0
- package/src/components/interaction/DropdownMenu/DropdownMenu.spec.tsx +34 -0
- package/src/components/interaction/DropdownMenu/DropdownMenu.tsx +15 -5
- package/src/components/interaction/DropdownMenu/index.ts +1 -0
- package/src/components/interaction/Popover/Popover.mdx +6 -2
- package/src/components/interaction/Popover/Popover.module.css +26 -18
- package/src/components/interaction/Popover/Popover.spec.tsx +38 -0
- package/src/components/interaction/Popover/Popover.tsx +19 -5
- package/src/components/interaction/Popover/index.ts +1 -0
- package/src/components/interaction/Rating/Rating.mdx +1 -1
- package/src/components/interaction/Rating/Rating.module.css +2 -2
- package/src/components/interaction/Rating/Rating.tsx +1 -1
- package/src/components/interaction/Rating/index.ts +1 -0
- package/src/components/interaction/Toast/Toast.mdx +3 -0
- package/src/components/interaction/Toast/Toast.module.css +35 -5
- package/src/components/interaction/Toast/Toast.spec.tsx +69 -1
- package/src/components/interaction/Toast/Toast.tsx +15 -9
- package/src/components/interaction/form/Checkbox/Checkbox.mdx +3 -0
- package/src/components/interaction/form/Checkbox/Checkbox.module.css +13 -6
- package/src/components/interaction/form/Checkbox/Checkbox.spec.tsx +6 -0
- package/src/components/interaction/form/Checkbox/Checkbox.tsx +1 -1
- package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.mdx +16 -1
- package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.module.css +24 -8
- package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.spec.tsx +32 -2
- package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.tsx +14 -2
- package/src/components/interaction/form/Combobox/Combobox.mdx +11 -4
- package/src/components/interaction/form/Combobox/Combobox.module.css +6 -6
- package/src/components/interaction/form/Combobox/Combobox.spec.tsx +47 -0
- package/src/components/interaction/form/Combobox/Combobox.tsx +10 -5
- package/src/components/interaction/form/FieldGroup/FieldGroup.mdx +9 -10
- package/src/components/interaction/form/FieldGroup/FieldGroup.module.css +57 -23
- package/src/components/interaction/form/FieldGroup/FieldGroup.spec.tsx +129 -7
- package/src/components/interaction/form/FieldGroup/FieldGroup.tsx +72 -12
- package/src/components/interaction/form/FileInput/FileInput.mdx +9 -1
- package/src/components/interaction/form/FileInput/FileInput.module.css +8 -8
- package/src/components/interaction/form/FileInput/FileInput.spec.tsx +89 -1
- package/src/components/interaction/form/FileInput/FileInput.tsx +6 -2
- package/src/components/interaction/form/FormInput/FormInput.mdx +9 -5
- package/src/components/interaction/form/FormInput/FormInput.module.css +17 -8
- package/src/components/interaction/form/FormInput/FormInput.spec.tsx +20 -0
- package/src/components/interaction/form/FormInput/FormInput.tsx +7 -2
- package/src/components/interaction/form/NumberInput/NumberInput.mdx +5 -1
- package/src/components/interaction/form/NumberInput/NumberInput.module.css +6 -6
- package/src/components/interaction/form/NumberInput/NumberInput.spec.tsx +51 -0
- package/src/components/interaction/form/NumberInput/NumberInput.tsx +36 -8
- package/src/components/interaction/form/Radio/Radio.mdx +8 -1
- package/src/components/interaction/form/Radio/Radio.module.css +20 -7
- package/src/components/interaction/form/Radio/Radio.spec.tsx +15 -0
- package/src/components/interaction/form/Radio/Radio.tsx +10 -4
- package/src/components/interaction/form/RadioGroup/RadioGroup.mdx +16 -1
- package/src/components/interaction/form/RadioGroup/RadioGroup.module.css +24 -8
- package/src/components/interaction/form/RadioGroup/RadioGroup.spec.tsx +32 -2
- package/src/components/interaction/form/RadioGroup/RadioGroup.tsx +14 -2
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.mdx +9 -3
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.module.css +25 -12
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.spec.tsx +86 -5
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +44 -4
- package/src/components/interaction/form/Select/Select.mdx +10 -4
- package/src/components/interaction/form/Select/Select.module.css +4 -4
- package/src/components/interaction/form/Select/Select.spec.tsx +34 -0
- package/src/components/interaction/form/Select/Select.tsx +21 -9
- package/src/components/interaction/form/Slider/Slider.mdx +4 -1
- package/src/components/interaction/form/Slider/Slider.module.css +32 -8
- package/src/components/interaction/form/Slider/Slider.spec.tsx +29 -0
- package/src/components/interaction/form/Slider/Slider.tsx +9 -7
- package/src/components/interaction/form/Switch/Switch.mdx +2 -2
- package/src/components/interaction/form/Switch/Switch.module.css +12 -13
- package/src/components/interaction/form/Switch/Switch.spec.tsx +20 -0
- package/src/components/interaction/form/Switch/Switch.tsx +2 -1
- package/src/components/interaction/form/Textarea/Textarea.mdx +5 -0
- package/src/components/interaction/form/Textarea/Textarea.module.css +5 -5
- package/src/components/interaction/form/Textarea/Textarea.spec.tsx +13 -0
- package/src/components/interaction/form/Textarea/Textarea.tsx +3 -1
- package/src/components/interaction/form/atoms/Message.module.css +1 -1
- package/src/components/interaction/form/atoms/Message.spec.tsx +29 -0
- package/src/components/interaction/form/atoms/Message.tsx +1 -1
- package/src/components/layout/ButtonGroup/ButtonGroup.mdx +11 -0
- package/src/components/layout/ButtonGroup/ButtonGroup.module.css +1 -5
- package/src/components/layout/ButtonGroup/ButtonGroup.stories.tsx +14 -0
- package/src/components/layout/Card/Card.mdx +6 -1
- package/src/components/layout/Card/Card.module.css +26 -5
- package/src/components/layout/Card/Card.spec.tsx +7 -0
- package/src/components/layout/Card/Card.tsx +4 -3
- package/src/components/layout/Grid/Grid.spec.tsx +44 -0
- package/src/components/layout/Grid/Grid.tsx +5 -5
- package/src/components/layout/Grid/GridItem.tsx +6 -6
- package/src/components/layout/Grid/masonry.ts +31 -5
- package/src/components/layout/Grid/useIsomorphicLayoutEffect.ts +11 -0
- package/src/components/layout/IconWrapper/IconWrapper.mdx +8 -2
- package/src/components/layout/IconWrapper/IconWrapper.module.css +9 -6
- package/src/components/layout/SectionHeader/SectionHeader.mdx +4 -1
- package/src/components/layout/SectionHeader/SectionHeader.module.css +10 -9
- package/src/components/ui/Accordion/Accordion.mdx +4 -1
- package/src/components/ui/Accordion/Accordion.module.css +2 -1
- package/src/components/ui/Alert/Alert.mdx +21 -4
- package/src/components/ui/Alert/Alert.module.css +9 -4
- package/src/components/ui/Alert/Alert.spec.tsx +20 -0
- package/src/components/ui/Avatar/Avatar.mdx +8 -3
- package/src/components/ui/Avatar/Avatar.module.css +13 -8
- package/src/components/ui/Badge/Badge.mdx +3 -1
- package/src/components/ui/Breadcrumb/Breadcrumb.mdx +3 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.module.css +4 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.spec.tsx +12 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.tsx +11 -3
- package/src/components/ui/Calendar/Calendar.mdx +6 -0
- package/src/components/ui/Calendar/Calendar.module.css +68 -19
- package/src/components/ui/Calendar/Calendar.spec.tsx +139 -24
- package/src/components/ui/Calendar/Calendar.stories.tsx +14 -0
- package/src/components/ui/Calendar/Calendar.tsx +143 -154
- package/src/components/ui/Calendar/CalendarRange.mdx +39 -0
- package/src/components/ui/Calendar/CalendarRange.spec.tsx +119 -0
- package/src/components/ui/Calendar/CalendarRange.stories.tsx +51 -0
- package/src/components/ui/Calendar/CalendarRange.tsx +213 -0
- package/src/components/ui/Calendar/MonthGrid.tsx +141 -0
- package/src/components/ui/Calendar/calendar-core.spec.ts +176 -0
- package/src/components/ui/Calendar/calendar-core.ts +164 -0
- package/src/components/ui/Calendar/index.ts +1 -0
- package/src/components/ui/Carousel/Carousel.mdx +8 -3
- package/src/components/ui/Carousel/Carousel.module.css +7 -5
- package/src/components/ui/Carousel/Carousel.spec.tsx +67 -0
- package/src/components/ui/Carousel/Carousel.tsx +19 -7
- package/src/components/ui/Collapsible/Collapsible.mdx +17 -6
- package/src/components/ui/Collapsible/Collapsible.module.css +7 -2
- package/src/components/ui/Collapsible/Collapsible.spec.tsx +40 -0
- package/src/components/ui/Collapsible/Collapsible.tsx +19 -2
- package/src/components/ui/DescriptionList/DescriptionList.mdx +2 -0
- package/src/components/ui/Link/Link.mdx +4 -2
- package/src/components/ui/Loading/Loading.mdx +6 -3
- package/src/components/ui/Loading/Loading.module.css +7 -7
- package/src/components/ui/Loading/Loading.spec.tsx +12 -0
- package/src/components/ui/Loading/Loading.tsx +8 -3
- package/src/components/ui/NotificationBanner/NotificationBanner.mdx +4 -0
- package/src/components/ui/NotificationBanner/NotificationBanner.module.css +5 -0
- package/src/components/ui/NotificationBanner/NotificationBanner.spec.tsx +20 -0
- package/src/components/ui/Pagination/Pagination.mdx +29 -7
- package/src/components/ui/Pagination/Pagination.module.css +15 -14
- package/src/components/ui/Progress/Progress.mdx +6 -2
- package/src/components/ui/Progress/Progress.module.css +1 -1
- package/src/components/ui/Progress/Progress.spec.tsx +17 -0
- package/src/components/ui/Progress/Progress.tsx +2 -2
- package/src/components/ui/ProgressCircle/ProgressCircle.mdx +8 -4
- package/src/components/ui/ProgressCircle/ProgressCircle.module.css +2 -2
- package/src/components/ui/ProgressCircle/ProgressCircle.spec.tsx +11 -1
- package/src/components/ui/ProgressCircle/ProgressCircle.tsx +1 -1
- package/src/components/ui/Separator/Separator.mdx +7 -0
- package/src/components/ui/Separator/Separator.module.css +1 -0
- package/src/components/ui/Skeleton/Skeleton.mdx +17 -0
- package/src/components/ui/Skeleton/Skeleton.module.css +12 -5
- package/src/components/ui/SkipLink/SkipLink.mdx +19 -0
- package/src/components/ui/SkipLink/SkipLink.module.css +8 -7
- package/src/components/ui/SkipLink/SkipLink.spec.tsx +28 -0
- package/src/components/ui/Table/Table.mdx +14 -0
- package/src/components/ui/Table/Table.module.css +13 -8
- package/src/components/ui/Table/Table.spec.tsx +56 -0
- package/src/components/ui/Table/Table.tsx +44 -6
- package/src/components/ui/Tabs/Tabs.mdx +16 -0
- package/src/components/ui/Tabs/Tabs.module.css +3 -3
- package/src/components/ui/Tabs/Tabs.spec.tsx +20 -0
- package/src/components/ui/Tabs/Tabs.tsx +5 -1
- package/src/components/ui/Tooltip/Tooltip.mdx +9 -0
- package/src/components/ui/Tooltip/Tooltip.module.css +32 -12
- package/src/components/ui/Tooltip/Tooltip.spec.tsx +56 -0
- package/src/components/ui/Tooltip/Tooltip.tsx +26 -7
- package/src/components/ui/Typography/Typography.mdx +7 -0
- package/src/components/ui/Typography/Typography.module.css +5 -5
- package/src/index.ts +7 -3
- package/src/stories/DesignSystem/Borders.mdx +14 -9
- package/src/stories/DesignSystem/Colors.mdx +43 -41
- package/src/stories/DesignSystem/Overview.mdx +4 -3
- package/src/stories/Introduction.mdx +5 -5
- package/src/web-components/globals.ts +7 -0
- package/src/web-components/index.ts +2 -0
- package/src/web-components/interaction/BdsAccordion.mdx +10 -1
- package/src/web-components/interaction/BdsButton.mdx +15 -4
- package/src/web-components/interaction/BdsButton.stories.tsx +1 -1
- package/src/web-components/interaction/BdsCollapsible.mdx +3 -3
- package/src/web-components/interaction/BdsDialog.mdx +12 -7
- package/src/web-components/interaction/BdsDialog.stories.tsx +2 -2
- package/src/web-components/interaction/BdsDrawer.mdx +9 -6
- package/src/web-components/interaction/BdsDropdownMenu.mdx +20 -1
- package/src/web-components/interaction/BdsPopover.mdx +7 -3
- package/src/web-components/interaction/BdsSkipLink.mdx +14 -1
- package/src/web-components/interaction/BdsTabs.mdx +18 -1
- package/src/web-components/interaction/BdsToastProvider.mdx +21 -3
- package/src/web-components/interaction/BdsTooltip.mdx +4 -4
- package/src/web-components/interaction/bds-accordion-item.ts +10 -0
- package/src/web-components/interaction/bds-accordion.spec.ts +41 -0
- package/src/web-components/interaction/bds-accordion.ts +28 -2
- package/src/web-components/interaction/bds-button.spec.ts +81 -0
- package/src/web-components/interaction/bds-button.ts +60 -13
- package/src/web-components/interaction/bds-collapsible.spec.ts +93 -2
- package/src/web-components/interaction/bds-collapsible.ts +49 -7
- package/src/web-components/interaction/bds-dialog.spec.ts +49 -0
- package/src/web-components/interaction/bds-dialog.ts +68 -11
- package/src/web-components/interaction/bds-drawer.spec.ts +93 -4
- package/src/web-components/interaction/bds-drawer.ts +54 -21
- package/src/web-components/interaction/bds-dropdown-menu-item.ts +12 -1
- package/src/web-components/interaction/bds-dropdown-menu.spec.ts +63 -0
- package/src/web-components/interaction/bds-dropdown-menu.ts +45 -7
- package/src/web-components/interaction/bds-popover.spec.ts +80 -6
- package/src/web-components/interaction/bds-popover.ts +83 -32
- package/src/web-components/interaction/bds-skip-link.spec.ts +18 -0
- package/src/web-components/interaction/bds-skip-link.ts +29 -8
- package/src/web-components/interaction/bds-tab-panel.ts +10 -0
- package/src/web-components/interaction/bds-tab.spec.ts +25 -0
- package/src/web-components/interaction/bds-tab.ts +20 -5
- package/src/web-components/interaction/bds-tabs.spec.ts +92 -5
- package/src/web-components/interaction/bds-tabs.ts +42 -1
- package/src/web-components/interaction/bds-toast-provider.spec.ts +43 -0
- package/src/web-components/interaction/bds-toast-provider.ts +50 -21
- package/src/web-components/interaction/bds-tooltip.spec.ts +71 -0
- package/src/web-components/interaction/bds-tooltip.ts +100 -5
- package/src/web-components/interaction/form/BdsCheckbox.mdx +20 -1
- package/src/web-components/interaction/form/BdsCheckbox.stories.tsx +8 -0
- package/src/web-components/interaction/form/BdsCheckboxGroup.mdx +4 -3
- package/src/web-components/interaction/form/BdsCombobox.mdx +39 -2
- package/src/web-components/interaction/form/BdsCombobox.stories.tsx +31 -0
- package/src/web-components/interaction/form/BdsFieldGroup.mdx +8 -3
- package/src/web-components/interaction/form/BdsFieldGroup.stories.tsx +1 -1
- package/src/web-components/interaction/form/BdsFileInput.mdx +26 -5
- package/src/web-components/interaction/form/BdsFormInput.mdx +16 -1
- package/src/web-components/interaction/form/BdsNumberInput.mdx +34 -2
- package/src/web-components/interaction/form/BdsNumberInput.stories.tsx +27 -3
- package/src/web-components/interaction/form/BdsRadio.mdx +39 -12
- package/src/web-components/interaction/form/BdsRadio.stories.tsx +26 -0
- package/src/web-components/interaction/form/BdsRadioGroup.mdx +9 -4
- package/src/web-components/interaction/form/BdsSegmentedControl.mdx +37 -11
- package/src/web-components/interaction/form/BdsSelect.mdx +22 -4
- package/src/web-components/interaction/form/BdsSelect.stories.tsx +33 -0
- package/src/web-components/interaction/form/BdsSlider.mdx +36 -19
- package/src/web-components/interaction/form/BdsSlider.stories.tsx +24 -0
- package/src/web-components/interaction/form/BdsSwitch.mdx +38 -11
- package/src/web-components/interaction/form/BdsSwitch.stories.tsx +16 -0
- package/src/web-components/interaction/form/BdsTextarea.mdx +42 -16
- package/src/web-components/interaction/form/BdsTextarea.stories.tsx +21 -0
- package/src/web-components/interaction/form/bds-checkbox-group.spec.ts +99 -0
- package/src/web-components/interaction/form/bds-checkbox-group.ts +95 -9
- package/src/web-components/interaction/form/bds-checkbox.spec.ts +55 -0
- package/src/web-components/interaction/form/bds-checkbox.ts +30 -5
- package/src/web-components/interaction/form/bds-combobox.spec.ts +79 -0
- package/src/web-components/interaction/form/bds-combobox.ts +102 -17
- package/src/web-components/interaction/form/bds-field-group.spec.ts +158 -0
- package/src/web-components/interaction/form/bds-field-group.ts +167 -23
- package/src/web-components/interaction/form/bds-file-input.spec.ts +73 -5
- package/src/web-components/interaction/form/bds-file-input.ts +71 -34
- package/src/web-components/interaction/form/bds-form-input.spec.ts +22 -0
- package/src/web-components/interaction/form/bds-form-input.ts +27 -16
- package/src/web-components/interaction/form/bds-number-input.spec.ts +49 -0
- package/src/web-components/interaction/form/bds-number-input.ts +118 -29
- package/src/web-components/interaction/form/bds-radio-group.spec.ts +57 -0
- package/src/web-components/interaction/form/bds-radio-group.ts +60 -12
- package/src/web-components/interaction/form/bds-radio.spec.ts +123 -0
- package/src/web-components/interaction/form/bds-radio.ts +136 -23
- package/src/web-components/interaction/form/bds-segmented-control.spec.ts +55 -0
- package/src/web-components/interaction/form/bds-segmented-control.ts +81 -59
- package/src/web-components/interaction/form/bds-select.spec.ts +57 -0
- package/src/web-components/interaction/form/bds-select.ts +96 -8
- package/src/web-components/interaction/form/bds-slider.spec.ts +83 -0
- package/src/web-components/interaction/form/bds-slider.ts +181 -33
- package/src/web-components/interaction/form/bds-switch.spec.ts +68 -0
- package/src/web-components/interaction/form/bds-switch.ts +142 -41
- package/src/web-components/interaction/form/bds-textarea.spec.ts +71 -0
- package/src/web-components/interaction/form/bds-textarea.ts +109 -8
- package/src/web-components/layout/BdsGrid.mdx +6 -2
- package/src/web-components/layout/BdsGrid.stories.tsx +4 -0
- package/src/web-components/layout/bds-grid-item.spec.ts +21 -0
- package/src/web-components/layout/bds-grid-item.ts +17 -3
- package/src/web-components/layout/bds-grid.spec.ts +98 -0
- package/src/web-components/layout/bds-grid.ts +139 -19
- package/src/web-components/ui/BdsAlert.mdx +6 -5
- package/src/web-components/ui/BdsAlert.stories.tsx +6 -6
- package/src/web-components/ui/BdsAvatar.mdx +4 -2
- package/src/web-components/ui/BdsBreadcrumb.mdx +3 -2
- package/src/web-components/ui/BdsButtonContainer.mdx +64 -0
- package/src/web-components/ui/BdsButtonContainer.stories.tsx +84 -0
- package/src/web-components/ui/BdsCalendar.mdx +29 -4
- package/src/web-components/ui/BdsCalendar.stories.tsx +16 -18
- package/src/web-components/ui/BdsCalendarRange.mdx +71 -0
- package/src/web-components/ui/BdsCalendarRange.stories.tsx +31 -0
- package/src/web-components/ui/BdsCard.mdx +7 -3
- package/src/web-components/ui/BdsCard.stories.tsx +17 -1
- package/src/web-components/ui/BdsCarousel.mdx +40 -12
- package/src/web-components/ui/BdsDescriptionList.mdx +6 -1
- package/src/web-components/ui/BdsIconWrapper.mdx +3 -2
- package/src/web-components/ui/BdsLink.mdx +14 -2
- package/src/web-components/ui/BdsNotificationBanner.mdx +18 -0
- package/src/web-components/ui/BdsPagination.mdx +40 -1
- package/src/web-components/ui/BdsProgress.mdx +8 -2
- package/src/web-components/ui/BdsProgressCircle.mdx +5 -2
- package/src/web-components/ui/BdsRating.mdx +7 -0
- package/src/web-components/ui/BdsSectionHeader.mdx +22 -3
- package/src/web-components/ui/BdsSectionHeader.stories.tsx +15 -13
- package/src/web-components/ui/BdsTable.mdx +23 -2
- package/src/web-components/ui/BdsTable.stories.tsx +8 -2
- package/src/web-components/ui/BdsTypography.mdx +17 -1
- package/src/web-components/ui/bds-alert.spec.ts +17 -2
- package/src/web-components/ui/bds-alert.ts +31 -5
- package/src/web-components/ui/bds-avatar.spec.ts +29 -0
- package/src/web-components/ui/bds-avatar.ts +30 -12
- package/src/web-components/ui/bds-badge.spec.ts +5 -0
- package/src/web-components/ui/bds-badge.ts +11 -1
- package/src/web-components/ui/bds-breadcrumb.spec.ts +30 -0
- package/src/web-components/ui/bds-breadcrumb.ts +26 -4
- package/src/web-components/ui/bds-button-container.spec.ts +39 -0
- package/src/web-components/ui/bds-button-container.ts +123 -0
- package/src/web-components/ui/bds-button-group.spec.ts +14 -20
- package/src/web-components/ui/bds-button-group.ts +13 -64
- package/src/web-components/ui/bds-calendar-range.spec.ts +123 -0
- package/src/web-components/ui/bds-calendar-range.ts +307 -0
- package/src/web-components/ui/bds-calendar.spec.ts +176 -0
- package/src/web-components/ui/bds-calendar.ts +186 -344
- package/src/web-components/ui/bds-card.spec.ts +32 -0
- package/src/web-components/ui/bds-card.ts +34 -9
- package/src/web-components/ui/bds-carousel.spec.ts +147 -0
- package/src/web-components/ui/bds-carousel.ts +113 -36
- package/src/web-components/ui/bds-description-list.spec.ts +15 -0
- package/src/web-components/ui/bds-description-list.ts +37 -3
- package/src/web-components/ui/bds-icon-wrapper.spec.ts +12 -0
- package/src/web-components/ui/bds-icon-wrapper.ts +16 -15
- package/src/web-components/ui/bds-link.spec.ts +17 -0
- package/src/web-components/ui/bds-link.ts +26 -11
- package/src/web-components/ui/bds-loading.ts +11 -1
- package/src/web-components/ui/bds-notification-banner.spec.ts +13 -0
- package/src/web-components/ui/bds-notification-banner.ts +18 -1
- package/src/web-components/ui/bds-pagination.spec.ts +44 -0
- package/src/web-components/ui/bds-pagination.ts +39 -19
- package/src/web-components/ui/bds-progress-circle.spec.ts +21 -0
- package/src/web-components/ui/bds-progress-circle.ts +17 -5
- package/src/web-components/ui/bds-progress.spec.ts +21 -0
- package/src/web-components/ui/bds-progress.ts +19 -6
- package/src/web-components/ui/bds-rating.spec.ts +6 -0
- package/src/web-components/ui/bds-rating.ts +12 -2
- package/src/web-components/ui/bds-section-header.spec.ts +39 -8
- package/src/web-components/ui/bds-section-header.ts +47 -13
- package/src/web-components/ui/bds-separator.ts +10 -0
- package/src/web-components/ui/bds-skeleton.ts +10 -0
- package/src/web-components/ui/bds-table.spec.ts +63 -0
- package/src/web-components/ui/bds-table.ts +88 -28
- package/src/web-components/ui/bds-typography.spec.ts +47 -0
- package/src/web-components/ui/bds-typography.ts +28 -10
- package/src/web-components/ui/calendar-styles.ts +94 -0
- package/dist/web-components/chunk-5TFWOPLH.js +0 -49
- package/dist/web-components/chunk-7FMR53BW.js +0 -127
- package/dist/web-components/chunk-AGKJTMJI.js +0 -56
- package/dist/web-components/chunk-BQLZ7I4G.js +0 -56
- package/dist/web-components/chunk-IYGF6CD5.js +0 -118
- package/dist/web-components/chunk-QBB6ZX4R.js +0 -107
- package/dist/web-components/chunk-Y3POAKGS.js +0 -133
- package/dist/web-components/chunk-Y4MAXTMA.js +0 -80
- package/dist/web-components/chunk-Y7V7LM6R.js +0 -98
- package/src/web-components/ui/BdsButtonGroup.mdx +0 -69
- package/src/web-components/ui/BdsButtonGroup.stories.tsx +0 -66
|
@@ -13,10 +13,15 @@ type ButtonSize = 'small' | 'medium' | 'large';
|
|
|
13
13
|
* href — renders an <a> tag instead of <button>
|
|
14
14
|
* target — forwarded to <a> when href is set
|
|
15
15
|
* rel — forwarded to <a> when href is set
|
|
16
|
-
* has-pulse — boolean, enables the pulse ring animation
|
|
17
|
-
* is-icon-only — boolean, forces a 1:1 aspect ratio with minimal
|
|
16
|
+
* has-pulse — boolean, enables the pulse ring animation (respects prefers-reduced-motion)
|
|
17
|
+
* is-icon-only — boolean, forces a 1:1 aspect ratio with minimal xxs padding (requires aria-label)
|
|
18
18
|
* type — "button" (default) | "submit" | "reset"
|
|
19
19
|
*
|
|
20
|
+
* Form participation: form-associated via the Form-Associated Custom Elements
|
|
21
|
+
* API (ElementInternals). When nested inside a light-DOM <form>, type="submit"
|
|
22
|
+
* calls the form's requestSubmit() and type="reset" calls its reset() — the
|
|
23
|
+
* inner shadow-DOM <button> has no native form of its own to act on.
|
|
24
|
+
*
|
|
20
25
|
* Slots:
|
|
21
26
|
* (default) — button label
|
|
22
27
|
* icon-start — icon placed before the label
|
|
@@ -32,6 +37,7 @@ type ButtonSize = 'small' | 'medium' | 'large';
|
|
|
32
37
|
* </bds-button>
|
|
33
38
|
*/
|
|
34
39
|
declare class BdsButton extends LitElement {
|
|
40
|
+
static formAssociated: boolean;
|
|
35
41
|
static styles: lit.CSSResult;
|
|
36
42
|
static properties: {
|
|
37
43
|
variant: {
|
|
@@ -91,10 +97,12 @@ declare class BdsButton extends LitElement {
|
|
|
91
97
|
ariaLabel: string | null;
|
|
92
98
|
private _iconStartFilled;
|
|
93
99
|
private _iconEndFilled;
|
|
100
|
+
private _internals;
|
|
94
101
|
constructor();
|
|
95
102
|
private _onIconSlotChange;
|
|
96
103
|
private get _classes();
|
|
97
104
|
private _handleAnchorClick;
|
|
105
|
+
private _handleButtonClick;
|
|
98
106
|
private _iconSlot;
|
|
99
107
|
render(): lit.TemplateResult<1>;
|
|
100
108
|
}
|
|
@@ -8,8 +8,11 @@ import { LitElement } from 'lit';
|
|
|
8
8
|
*
|
|
9
9
|
* Attributes:
|
|
10
10
|
* open — boolean; controlled open state
|
|
11
|
-
* name — groups multiple collapsibles so only one is open at a time
|
|
12
|
-
*
|
|
11
|
+
* name — groups multiple collapsibles so only one is open at a time.
|
|
12
|
+
* Each instance renders its own <details> in its own shadow root, so
|
|
13
|
+
* native <details name> grouping (tree-scoped) can't see across
|
|
14
|
+
* instances; the component emulates it by closing same-name siblings
|
|
15
|
+
* found via document.querySelectorAll() whenever one opens.
|
|
13
16
|
*
|
|
14
17
|
* Slots:
|
|
15
18
|
* summary — the always-visible trigger text
|
|
@@ -40,6 +43,8 @@ declare class BdsCollapsible extends LitElement {
|
|
|
40
43
|
name: string;
|
|
41
44
|
constructor();
|
|
42
45
|
updated(changed: Map<string, unknown>): void;
|
|
46
|
+
private _closeOtherGroupMembers;
|
|
47
|
+
private _setOpen;
|
|
43
48
|
private _onToggle;
|
|
44
49
|
render(): lit.TemplateResult<1>;
|
|
45
50
|
}
|
|
@@ -6,10 +6,13 @@ import { LitElement } from 'lit';
|
|
|
6
6
|
*
|
|
7
7
|
* Wraps a native `<dialog>` element with `showModal()` / `close()` lifecycle,
|
|
8
8
|
* backdrop-click to dismiss, Escape key handling, Tab focus trapping, and
|
|
9
|
-
* the Invoker Commands API (
|
|
9
|
+
* the Invoker Commands API (custom commands `--show-modal` / `--close`; the
|
|
10
|
+
* unprefixed `show-modal` / `close` values are still accepted for
|
|
11
|
+
* compatibility with polyfilled/legacy environments).
|
|
10
12
|
*
|
|
11
13
|
* Attributes:
|
|
12
14
|
* open — boolean; controlled open state (syncs to native showModal/close)
|
|
15
|
+
* aria-label — accessible name forwarded to the inner shadow <dialog>
|
|
13
16
|
*
|
|
14
17
|
* Slots:
|
|
15
18
|
* (default) — dialog content
|
|
@@ -19,10 +22,10 @@ import { LitElement } from 'lit';
|
|
|
19
22
|
* bds-close — fired (bubbles, composed) when the dialog closes
|
|
20
23
|
*
|
|
21
24
|
* @example
|
|
22
|
-
* <bds-dialog id="my-dialog">
|
|
25
|
+
* <bds-dialog id="my-dialog" aria-label="Confirm deletion">
|
|
23
26
|
* <p>Dialog content</p>
|
|
24
27
|
* </bds-dialog>
|
|
25
|
-
* <button commandfor="my-dialog" command="show-modal">Open</button>
|
|
28
|
+
* <button commandfor="my-dialog" command="--show-modal">Open</button>
|
|
26
29
|
*/
|
|
27
30
|
declare class BdsDialog extends LitElement {
|
|
28
31
|
static styles: lit.CSSResult;
|
|
@@ -31,8 +34,13 @@ declare class BdsDialog extends LitElement {
|
|
|
31
34
|
type: BooleanConstructor;
|
|
32
35
|
reflect: boolean;
|
|
33
36
|
};
|
|
37
|
+
ariaLabel: {
|
|
38
|
+
type: StringConstructor;
|
|
39
|
+
attribute: string;
|
|
40
|
+
};
|
|
34
41
|
};
|
|
35
42
|
open: boolean;
|
|
43
|
+
ariaLabel: string | null;
|
|
36
44
|
private _triggerEl;
|
|
37
45
|
constructor();
|
|
38
46
|
connectedCallback(): void;
|
|
@@ -11,6 +11,7 @@ type DrawerSide = 'left' | 'right';
|
|
|
11
11
|
* Attributes:
|
|
12
12
|
* open — boolean; controlled open state
|
|
13
13
|
* side — "left" | "right" (default: "right")
|
|
14
|
+
* aria-label — optional; overrides the default accessible name (the title slot)
|
|
14
15
|
*
|
|
15
16
|
* Slots:
|
|
16
17
|
* title — drawer title text
|
|
@@ -25,7 +26,7 @@ type DrawerSide = 'left' | 'right';
|
|
|
25
26
|
* <span slot="title">Settings</span>
|
|
26
27
|
* <p>Drawer content</p>
|
|
27
28
|
* </bds-drawer>
|
|
28
|
-
* <button commandfor="my-drawer" command="show-modal">Open</button>
|
|
29
|
+
* <button commandfor="my-drawer" command="--show-modal">Open</button>
|
|
29
30
|
*/
|
|
30
31
|
declare class BdsDrawer extends LitElement {
|
|
31
32
|
static styles: lit.CSSResult;
|
|
@@ -38,9 +39,14 @@ declare class BdsDrawer extends LitElement {
|
|
|
38
39
|
type: StringConstructor;
|
|
39
40
|
reflect: boolean;
|
|
40
41
|
};
|
|
42
|
+
ariaLabel: {
|
|
43
|
+
type: StringConstructor;
|
|
44
|
+
attribute: string;
|
|
45
|
+
};
|
|
41
46
|
};
|
|
42
47
|
open: boolean;
|
|
43
48
|
side: DrawerSide;
|
|
49
|
+
ariaLabel: string | null;
|
|
44
50
|
private _triggerEl;
|
|
45
51
|
constructor();
|
|
46
52
|
connectedCallback(): void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-dropdown-menu-item>` — a single item inside a `<bds-dropdown-menu>`.
|
|
6
|
+
*
|
|
7
|
+
* Attributes:
|
|
8
|
+
* value — value associated with this item
|
|
9
|
+
* disabled — disables this item
|
|
10
|
+
* destructive — renders the item in a destructive (red) style
|
|
11
|
+
*
|
|
12
|
+
* Slots:
|
|
13
|
+
* (default) — item label text
|
|
14
|
+
*
|
|
15
|
+
* Events:
|
|
16
|
+
* bds-select — fired when the item is clicked or activated; `detail: { value: string }`
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <bds-dropdown-menu-item value="delete" destructive>Delete</bds-dropdown-menu-item>
|
|
20
|
+
*/
|
|
21
|
+
declare class BdsDropdownMenuItem extends LitElement {
|
|
22
|
+
static styles: lit.CSSResult;
|
|
23
|
+
static properties: {
|
|
24
|
+
value: {
|
|
25
|
+
type: StringConstructor;
|
|
26
|
+
reflect: boolean;
|
|
27
|
+
};
|
|
28
|
+
disabled: {
|
|
29
|
+
type: BooleanConstructor;
|
|
30
|
+
reflect: boolean;
|
|
31
|
+
};
|
|
32
|
+
destructive: {
|
|
33
|
+
type: BooleanConstructor;
|
|
34
|
+
reflect: boolean;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
value: string;
|
|
38
|
+
disabled: boolean;
|
|
39
|
+
destructive: boolean;
|
|
40
|
+
constructor();
|
|
41
|
+
private _handleClick;
|
|
42
|
+
private _handleKeydown;
|
|
43
|
+
render(): lit.TemplateResult<1>;
|
|
44
|
+
}
|
|
45
|
+
declare global {
|
|
46
|
+
interface HTMLElementTagNameMap {
|
|
47
|
+
'bds-dropdown-menu-item': BdsDropdownMenuItem;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { BdsDropdownMenuItem };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
type DropdownMenuPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
|
|
5
|
+
/**
|
|
6
|
+
* `<bds-dropdown-menu>` — anchored dropdown menu with keyboard navigation.
|
|
7
|
+
*
|
|
8
|
+
* The panel is an absolutely-positioned element inside the shadow root (not
|
|
9
|
+
* the native Popover API / top layer) — it can be clipped by an ancestor's
|
|
10
|
+
* `overflow` or stacking context. Light-dismiss is implemented via a
|
|
11
|
+
* document-level `click` listener. The trigger slot element controls
|
|
12
|
+
* open/close. The component handles keyboard navigation (Arrow keys, Home,
|
|
13
|
+
* End, Escape, Tab) and focus management.
|
|
14
|
+
*
|
|
15
|
+
* Attributes:
|
|
16
|
+
* open — controls open/closed state (reflected)
|
|
17
|
+
* placement — menu position relative to trigger (default: `"bottom-start"`)
|
|
18
|
+
*
|
|
19
|
+
* Slots:
|
|
20
|
+
* trigger — the activating element (button or similar)
|
|
21
|
+
* (default) — `<bds-dropdown-menu-item>` elements
|
|
22
|
+
*
|
|
23
|
+
* Events:
|
|
24
|
+
* bds-open — fired when the menu opens
|
|
25
|
+
* bds-close — fired when the menu closes
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* <bds-dropdown-menu>
|
|
29
|
+
* <button slot="trigger">Options</button>
|
|
30
|
+
* <bds-dropdown-menu-item value="edit">Edit</bds-dropdown-menu-item>
|
|
31
|
+
* <bds-dropdown-menu-item value="delete" destructive>Delete</bds-dropdown-menu-item>
|
|
32
|
+
* </bds-dropdown-menu>
|
|
33
|
+
*/
|
|
34
|
+
declare class BdsDropdownMenu extends LitElement {
|
|
35
|
+
static styles: lit.CSSResult;
|
|
36
|
+
static properties: {
|
|
37
|
+
open: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
reflect: boolean;
|
|
40
|
+
};
|
|
41
|
+
placement: {
|
|
42
|
+
type: StringConstructor;
|
|
43
|
+
reflect: boolean;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
open: boolean;
|
|
47
|
+
placement: DropdownMenuPlacement;
|
|
48
|
+
private readonly _uid;
|
|
49
|
+
private get _panelId();
|
|
50
|
+
constructor();
|
|
51
|
+
connectedCallback(): void;
|
|
52
|
+
disconnectedCallback(): void;
|
|
53
|
+
private get _items();
|
|
54
|
+
private get _trigger();
|
|
55
|
+
_open(): void;
|
|
56
|
+
_close(): void;
|
|
57
|
+
private _handleTriggerClick;
|
|
58
|
+
private _handleOutsideClick;
|
|
59
|
+
private _handleKeydown;
|
|
60
|
+
private _handleItemSelect;
|
|
61
|
+
private _onTriggerSlotChange;
|
|
62
|
+
render(): lit.TemplateResult<1>;
|
|
63
|
+
}
|
|
64
|
+
declare global {
|
|
65
|
+
interface HTMLElementTagNameMap {
|
|
66
|
+
'bds-dropdown-menu': BdsDropdownMenu;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { BdsDropdownMenu, type DropdownMenuPlacement };
|
|
@@ -10,11 +10,14 @@ type PopoverPlacement = 'bottom' | 'top' | 'left' | 'right';
|
|
|
10
10
|
* overflow the viewport (`@position-try` fallbacks).
|
|
11
11
|
*
|
|
12
12
|
* Attributes:
|
|
13
|
-
* placement
|
|
14
|
-
* open
|
|
13
|
+
* placement — "bottom" (default) | "top" | "left" | "right"
|
|
14
|
+
* open — boolean; reflects whether the panel is visible
|
|
15
|
+
* aria-label — accessible name for the panel; when present the panel gets
|
|
16
|
+
* `role="region"` (mirrors the React implementation)
|
|
15
17
|
*
|
|
16
18
|
* Slots:
|
|
17
|
-
* trigger — the element that opens/closes the panel on click
|
|
19
|
+
* trigger — the element that opens/closes the panel on click. Receives
|
|
20
|
+
* `aria-haspopup`, `aria-controls` and `aria-expanded` wiring.
|
|
18
21
|
* (default) — panel content
|
|
19
22
|
*
|
|
20
23
|
* Events:
|
|
@@ -38,10 +41,17 @@ declare class BdsPopover extends LitElement {
|
|
|
38
41
|
type: BooleanConstructor;
|
|
39
42
|
reflect: boolean;
|
|
40
43
|
};
|
|
44
|
+
ariaLabel: {
|
|
45
|
+
type: StringConstructor;
|
|
46
|
+
attribute: string;
|
|
47
|
+
};
|
|
41
48
|
};
|
|
42
49
|
placement: PopoverPlacement;
|
|
43
50
|
open: boolean;
|
|
51
|
+
ariaLabel: string | null;
|
|
44
52
|
private _anchorName;
|
|
53
|
+
private _panelId;
|
|
54
|
+
private _triggerEl;
|
|
45
55
|
constructor();
|
|
46
56
|
connectedCallback(): void;
|
|
47
57
|
disconnectedCallback(): void;
|
|
@@ -51,6 +61,7 @@ declare class BdsPopover extends LitElement {
|
|
|
51
61
|
private _toggle;
|
|
52
62
|
private _open;
|
|
53
63
|
private _close;
|
|
64
|
+
private _onTriggerSlotChange;
|
|
54
65
|
render(): lit.TemplateResult<1>;
|
|
55
66
|
}
|
|
56
67
|
declare global {
|
|
@@ -16,9 +16,14 @@ type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
|
16
16
|
* (default) — the trigger element (button, icon, etc.)
|
|
17
17
|
*
|
|
18
18
|
* Accessibility:
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* `aria-describedby` id references only resolve within the same tree scope, so a
|
|
20
|
+
* slotted (light-DOM) trigger can never reference an id that lives inside this
|
|
21
|
+
* element's shadow root. To keep the description reachable, a visually-hidden
|
|
22
|
+
* `<span>` holding `content` is appended as a light-DOM child of the host and its
|
|
23
|
+
* id is written into `aria-describedby` on the slotted trigger — both elements then
|
|
24
|
+
* share the light DOM's tree scope, so the reference resolves in every browser. The
|
|
25
|
+
* shadow-DOM tooltip bubble stays `aria-hidden="true"`; it is purely the visual
|
|
26
|
+
* presentation, shown on `:hover`/`:focus-within`.
|
|
22
27
|
*
|
|
23
28
|
* @example
|
|
24
29
|
* <bds-tooltip content="More information" placement="bottom">
|
|
@@ -38,7 +43,18 @@ declare class BdsTooltip extends LitElement {
|
|
|
38
43
|
};
|
|
39
44
|
content: string;
|
|
40
45
|
placement: TooltipPlacement;
|
|
46
|
+
private readonly _uid;
|
|
47
|
+
/** Visually-hidden light-DOM node holding `content`, referenced by the trigger's aria-describedby. */
|
|
48
|
+
private _descEl;
|
|
41
49
|
constructor();
|
|
50
|
+
connectedCallback(): void;
|
|
51
|
+
disconnectedCallback(): void;
|
|
52
|
+
updated(changed: Map<string, unknown>): void;
|
|
53
|
+
private get _descId();
|
|
54
|
+
/** Ensures the hidden description node exists (or is torn down) and re-wires the trigger. */
|
|
55
|
+
private _syncDescription;
|
|
56
|
+
private _describeTrigger;
|
|
57
|
+
private _teardownDescription;
|
|
42
58
|
render(): lit.TemplateResult<1>;
|
|
43
59
|
}
|
|
44
60
|
declare global {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-checkbox-group>` — groups related checkboxes with a shared label.
|
|
6
|
+
*
|
|
7
|
+
* Renders a `<fieldset>` with a `<legend>` for accessible grouping.
|
|
8
|
+
* Propagates `disabled` to slotted `<bds-checkbox>` elements — a shadow-DOM
|
|
9
|
+
* `<fieldset disabled>` has no effect on slotted light-DOM content on its
|
|
10
|
+
* own, so the group attribute is explicitly applied to (and removed from)
|
|
11
|
+
* each child. A checkbox individually marked `disabled` in markup stays
|
|
12
|
+
* disabled even after the group re-enables.
|
|
13
|
+
*
|
|
14
|
+
* `required` is surfaced to assistive tech via a visually-hidden "(required)"
|
|
15
|
+
* text alternative in the legend rather than `aria-required` on the fieldset —
|
|
16
|
+
* `aria-required` is only a supported property on the `checkbox`, `combobox`,
|
|
17
|
+
* `gridcell`, `listbox`, `radiogroup`, `spinbutton`, `textbox` and `tree`
|
|
18
|
+
* roles; a bare `<fieldset>` maps to the generic `group` role, which does not
|
|
19
|
+
* support it (there is no ARIA `checkboxgroup` role), so the attribute would
|
|
20
|
+
* be silently ignored by assistive tech.
|
|
21
|
+
*
|
|
22
|
+
* Attributes:
|
|
23
|
+
* label — visible group label (rendered as `<legend>`)
|
|
24
|
+
* error — error message shown below items
|
|
25
|
+
* hint — hint text shown below items
|
|
26
|
+
* disabled — disables the entire fieldset and all slotted `<bds-checkbox>` elements
|
|
27
|
+
* required — marks the group as required
|
|
28
|
+
*
|
|
29
|
+
* Slots:
|
|
30
|
+
* (default) — `<bds-checkbox>` elements
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* <bds-checkbox-group label="Interests" required>
|
|
34
|
+
* <bds-checkbox name="sports" value="sports">Sports</bds-checkbox>
|
|
35
|
+
* <bds-checkbox name="music" value="music">Music</bds-checkbox>
|
|
36
|
+
* </bds-checkbox-group>
|
|
37
|
+
*/
|
|
38
|
+
declare class BdsCheckboxGroup extends LitElement {
|
|
39
|
+
static styles: lit.CSSResult;
|
|
40
|
+
static properties: {
|
|
41
|
+
label: {
|
|
42
|
+
type: StringConstructor;
|
|
43
|
+
};
|
|
44
|
+
error: {
|
|
45
|
+
type: StringConstructor;
|
|
46
|
+
};
|
|
47
|
+
hint: {
|
|
48
|
+
type: StringConstructor;
|
|
49
|
+
};
|
|
50
|
+
disabled: {
|
|
51
|
+
type: BooleanConstructor;
|
|
52
|
+
reflect: boolean;
|
|
53
|
+
};
|
|
54
|
+
required: {
|
|
55
|
+
type: BooleanConstructor;
|
|
56
|
+
reflect: boolean;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
label: string;
|
|
60
|
+
error: string | undefined;
|
|
61
|
+
hint: string | undefined;
|
|
62
|
+
disabled: boolean;
|
|
63
|
+
required: boolean;
|
|
64
|
+
private readonly _uid;
|
|
65
|
+
constructor();
|
|
66
|
+
/**
|
|
67
|
+
* Propagates `disabled` to slotted `<bds-checkbox>` elements. Only checkboxes
|
|
68
|
+
* that were enabled before the group disabled them are re-enabled when the
|
|
69
|
+
* group re-enables — a checkbox individually marked `disabled` in markup
|
|
70
|
+
* stays disabled.
|
|
71
|
+
*/
|
|
72
|
+
private _propagateDisabled;
|
|
73
|
+
connectedCallback(): void;
|
|
74
|
+
updated(changed: Map<string, unknown>): void;
|
|
75
|
+
render(): lit.TemplateResult<1>;
|
|
76
|
+
}
|
|
77
|
+
declare global {
|
|
78
|
+
interface HTMLElementTagNameMap {
|
|
79
|
+
'bds-checkbox-group': BdsCheckboxGroup;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export { BdsCheckboxGroup };
|
|
@@ -14,6 +14,7 @@ import { LitElement } from 'lit';
|
|
|
14
14
|
* checked — boolean; whether the checkbox is checked
|
|
15
15
|
* required — boolean
|
|
16
16
|
* disabled — boolean
|
|
17
|
+
* error — boolean; puts the checkbox in an error state (border colour + aria-invalid)
|
|
17
18
|
*
|
|
18
19
|
* Slots:
|
|
19
20
|
* (default) — label text
|
|
@@ -47,12 +48,17 @@ declare class BdsCheckbox extends LitElement {
|
|
|
47
48
|
type: BooleanConstructor;
|
|
48
49
|
reflect: boolean;
|
|
49
50
|
};
|
|
51
|
+
error: {
|
|
52
|
+
type: BooleanConstructor;
|
|
53
|
+
reflect: boolean;
|
|
54
|
+
};
|
|
50
55
|
};
|
|
51
56
|
name: string;
|
|
52
57
|
value: string;
|
|
53
58
|
checked: boolean;
|
|
54
59
|
required: boolean;
|
|
55
60
|
disabled: boolean;
|
|
61
|
+
error: boolean;
|
|
56
62
|
private _internals;
|
|
57
63
|
private readonly _uid;
|
|
58
64
|
constructor();
|
|
@@ -17,6 +17,9 @@ interface ComboboxOption {
|
|
|
17
17
|
* value — currently selected value
|
|
18
18
|
* options — JSON array of `{ value, label, disabled? }` option objects
|
|
19
19
|
* placeholder — input placeholder text
|
|
20
|
+
* label — visible label text (associated to the input via `<label for>`)
|
|
21
|
+
* hint — helper text shown below the input
|
|
22
|
+
* error — error message; when set the input enters error state
|
|
20
23
|
* disabled — boolean
|
|
21
24
|
*
|
|
22
25
|
* Events:
|
|
@@ -25,6 +28,7 @@ interface ComboboxOption {
|
|
|
25
28
|
* @example
|
|
26
29
|
* <bds-combobox
|
|
27
30
|
* name="country"
|
|
31
|
+
* label="Country"
|
|
28
32
|
* placeholder="Search…"
|
|
29
33
|
* options='[{"value":"nl","label":"Netherlands"},{"value":"be","label":"Belgium"}]'
|
|
30
34
|
* ></bds-combobox>
|
|
@@ -46,6 +50,16 @@ declare class BdsCombobox extends LitElement {
|
|
|
46
50
|
placeholder: {
|
|
47
51
|
type: StringConstructor;
|
|
48
52
|
};
|
|
53
|
+
label: {
|
|
54
|
+
type: StringConstructor;
|
|
55
|
+
};
|
|
56
|
+
hint: {
|
|
57
|
+
type: StringConstructor;
|
|
58
|
+
};
|
|
59
|
+
error: {
|
|
60
|
+
type: StringConstructor;
|
|
61
|
+
reflect: boolean;
|
|
62
|
+
};
|
|
49
63
|
disabled: {
|
|
50
64
|
type: BooleanConstructor;
|
|
51
65
|
reflect: boolean;
|
|
@@ -55,8 +69,12 @@ declare class BdsCombobox extends LitElement {
|
|
|
55
69
|
value: string;
|
|
56
70
|
options: string;
|
|
57
71
|
placeholder: string;
|
|
72
|
+
label: string;
|
|
73
|
+
hint: string | undefined;
|
|
74
|
+
error: string | undefined;
|
|
58
75
|
disabled: boolean;
|
|
59
76
|
private _internals;
|
|
77
|
+
private readonly _uid;
|
|
60
78
|
private _open;
|
|
61
79
|
private _query;
|
|
62
80
|
private _focusedIndex;
|