@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
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
type FieldGroupVariant = 'horizontal' | 'vertical';
|
|
5
|
+
/**
|
|
6
|
+
* `<bds-field-group>` — framework-agnostic FieldGroup custom element.
|
|
7
|
+
*
|
|
8
|
+
* Semantically groups related form fields under a single `<fieldset>` and
|
|
9
|
+
* lays them out either horizontally (auto-collapsing to a vertical stack
|
|
10
|
+
* when the FieldGroup itself is too narrow to fit a full row) or
|
|
11
|
+
* vertically. Mirrors the React `FieldGroup` component.
|
|
12
|
+
*
|
|
13
|
+
* Attributes:
|
|
14
|
+
* variant — "horizontal" (default) | "vertical"
|
|
15
|
+
* legend — optional legend text rendered above the fields
|
|
16
|
+
* disabled — boolean; forwarded to the inner <fieldset> AND propagated to
|
|
17
|
+
* each directly-slotted form control. A shadow-root `<fieldset disabled>`
|
|
18
|
+
* cannot disable light-DOM children projected through a `<slot>` — its
|
|
19
|
+
* "descendant" is defined over the DOM tree, and a slotted element's
|
|
20
|
+
* actual parent stays the host, not the shadow fieldset — so the WC
|
|
21
|
+
* sets `.disabled` on each slotted control directly (see
|
|
22
|
+
* `_syncDisabledToSlotted`).
|
|
23
|
+
*
|
|
24
|
+
* Slots:
|
|
25
|
+
* (default) — form fields (any element). The slotted-element count is
|
|
26
|
+
* measured on each `slotchange` and surfaced via the
|
|
27
|
+
* `--fieldGroup_field-count` custom property, which the auto-derived
|
|
28
|
+
* collapse threshold reads.
|
|
29
|
+
*
|
|
30
|
+
* Auto-collapse mechanism (mirrors FieldGroup.tsx):
|
|
31
|
+
* `@container` query *conditions* cannot reference custom properties — a
|
|
32
|
+
* var() inside a container-query feature value is invalid CSS and is
|
|
33
|
+
* silently dropped, so it can never fire. Instead, an invisible `.probe`
|
|
34
|
+
* element's own inline-size resolves --fieldGroup_collapse-threshold
|
|
35
|
+
* through a normal property value (where var() is valid); a
|
|
36
|
+
* ResizeObserver compares the probe's measured pixel width against the
|
|
37
|
+
* `<fieldset>`'s own width and toggles a `data-collapsed` attribute on
|
|
38
|
+
* the host, which drives the CSS.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* <bds-field-group variant="horizontal" legend="Contact details">
|
|
42
|
+
* <bds-form-input label="First name" name="first"></bds-form-input>
|
|
43
|
+
* <bds-form-input label="Last name" name="last"></bds-form-input>
|
|
44
|
+
* <bds-form-input label="Email" name="email"></bds-form-input>
|
|
45
|
+
* </bds-field-group>
|
|
46
|
+
*/
|
|
47
|
+
declare class BdsFieldGroup extends LitElement {
|
|
48
|
+
static styles: lit.CSSResult;
|
|
49
|
+
static properties: {
|
|
50
|
+
variant: {
|
|
51
|
+
type: StringConstructor;
|
|
52
|
+
reflect: boolean;
|
|
53
|
+
};
|
|
54
|
+
legend: {
|
|
55
|
+
type: StringConstructor;
|
|
56
|
+
};
|
|
57
|
+
disabled: {
|
|
58
|
+
type: BooleanConstructor;
|
|
59
|
+
reflect: boolean;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
variant: FieldGroupVariant;
|
|
63
|
+
legend: string;
|
|
64
|
+
disabled: boolean;
|
|
65
|
+
private _ro?;
|
|
66
|
+
private _fieldsetEl?;
|
|
67
|
+
private _probeEl?;
|
|
68
|
+
private _fieldsetSize;
|
|
69
|
+
private _thresholdSize;
|
|
70
|
+
private _groupDisabledEls;
|
|
71
|
+
constructor();
|
|
72
|
+
connectedCallback(): void;
|
|
73
|
+
disconnectedCallback(): void;
|
|
74
|
+
firstUpdated(): void;
|
|
75
|
+
updated(changed: Map<string, unknown>): void;
|
|
76
|
+
private _setupObserver;
|
|
77
|
+
private _onResize;
|
|
78
|
+
private _updateCollapsed;
|
|
79
|
+
private _onSlotChange;
|
|
80
|
+
private _syncDisabledToSlotted;
|
|
81
|
+
render(): lit.TemplateResult<1>;
|
|
82
|
+
}
|
|
83
|
+
declare global {
|
|
84
|
+
interface HTMLElementTagNameMap {
|
|
85
|
+
'bds-field-group': BdsFieldGroup;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export { BdsFieldGroup, type FieldGroupVariant };
|
|
@@ -47,7 +47,7 @@ declare class BdsFileInput extends LitElement {
|
|
|
47
47
|
formResetCallback(): void;
|
|
48
48
|
private _handleFiles;
|
|
49
49
|
private _handleInputChange;
|
|
50
|
-
private
|
|
50
|
+
private _isFileAccepted;
|
|
51
51
|
private _handleDragover;
|
|
52
52
|
private _handleDragleave;
|
|
53
53
|
private _handleDrop;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-form-input>` — form-associated text input with label, hint, and error support.
|
|
6
|
+
*
|
|
7
|
+
* Participates in HTML forms via the Form-Associated Custom Elements API.
|
|
8
|
+
*
|
|
9
|
+
* Attributes:
|
|
10
|
+
* name — form field name
|
|
11
|
+
* type — input type: text | email | password | search | url | tel (default: "text")
|
|
12
|
+
* value — current value
|
|
13
|
+
* placeholder — placeholder text
|
|
14
|
+
* label — visible label text
|
|
15
|
+
* hint — helper text shown below the input
|
|
16
|
+
* error — error message; when set the input enters error state
|
|
17
|
+
* disabled — disables the input
|
|
18
|
+
* required — marks the field as required
|
|
19
|
+
*
|
|
20
|
+
* Slots:
|
|
21
|
+
* prefix — icon or text rendered before the input
|
|
22
|
+
* suffix — icon or text rendered after the input
|
|
23
|
+
*
|
|
24
|
+
* Events:
|
|
25
|
+
* bds-change — fired on value change; `detail: { value: string }`
|
|
26
|
+
* bds-input — fired on every keystroke; `detail: { value: string }`
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* <bds-form-input name="email" type="email" label="Email address" required></bds-form-input>
|
|
30
|
+
*/
|
|
31
|
+
declare class BdsFormInput extends LitElement {
|
|
32
|
+
static formAssociated: boolean;
|
|
33
|
+
static styles: lit.CSSResult;
|
|
34
|
+
static properties: {
|
|
35
|
+
name: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
reflect: boolean;
|
|
38
|
+
};
|
|
39
|
+
type: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
reflect: boolean;
|
|
42
|
+
};
|
|
43
|
+
value: {
|
|
44
|
+
type: StringConstructor;
|
|
45
|
+
};
|
|
46
|
+
placeholder: {
|
|
47
|
+
type: StringConstructor;
|
|
48
|
+
};
|
|
49
|
+
label: {
|
|
50
|
+
type: StringConstructor;
|
|
51
|
+
};
|
|
52
|
+
hint: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
};
|
|
55
|
+
error: {
|
|
56
|
+
type: StringConstructor;
|
|
57
|
+
reflect: boolean;
|
|
58
|
+
};
|
|
59
|
+
disabled: {
|
|
60
|
+
type: BooleanConstructor;
|
|
61
|
+
reflect: boolean;
|
|
62
|
+
};
|
|
63
|
+
required: {
|
|
64
|
+
type: BooleanConstructor;
|
|
65
|
+
reflect: boolean;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
name: string;
|
|
69
|
+
type: string;
|
|
70
|
+
value: string;
|
|
71
|
+
placeholder: string;
|
|
72
|
+
label: string;
|
|
73
|
+
hint: string | undefined;
|
|
74
|
+
error: string | undefined;
|
|
75
|
+
disabled: boolean;
|
|
76
|
+
required: boolean;
|
|
77
|
+
private _internals;
|
|
78
|
+
private readonly _uid;
|
|
79
|
+
constructor();
|
|
80
|
+
updated(changed: Map<string, unknown>): void;
|
|
81
|
+
formResetCallback(): void;
|
|
82
|
+
private _handleInput;
|
|
83
|
+
private _handleChange;
|
|
84
|
+
render(): lit.TemplateResult<1>;
|
|
85
|
+
}
|
|
86
|
+
declare global {
|
|
87
|
+
interface HTMLElementTagNameMap {
|
|
88
|
+
'bds-form-input': BdsFormInput;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export { BdsFormInput };
|
|
@@ -11,13 +11,16 @@ import { LitElement } from 'lit';
|
|
|
11
11
|
* max — maximum allowed value
|
|
12
12
|
* step — increment/decrement step (default: 1)
|
|
13
13
|
* disabled — boolean
|
|
14
|
+
* label — visible label text, associated with the input via `for`/`id`
|
|
15
|
+
* hint — helper text shown below the input
|
|
16
|
+
* error — error message; when set the input enters error state
|
|
14
17
|
*
|
|
15
18
|
* Events:
|
|
16
19
|
* input — fired on stepper click and native input
|
|
17
20
|
* change — native change event
|
|
18
21
|
*
|
|
19
22
|
* @example
|
|
20
|
-
* <bds-number-input name="qty" value="1" min="0" max="99" step="1"></bds-number-input>
|
|
23
|
+
* <bds-number-input name="qty" label="Quantity" value="1" min="0" max="99" step="1"></bds-number-input>
|
|
21
24
|
*/
|
|
22
25
|
declare class BdsNumberInput extends LitElement {
|
|
23
26
|
static formAssociated: boolean;
|
|
@@ -43,6 +46,16 @@ declare class BdsNumberInput extends LitElement {
|
|
|
43
46
|
type: BooleanConstructor;
|
|
44
47
|
reflect: boolean;
|
|
45
48
|
};
|
|
49
|
+
label: {
|
|
50
|
+
type: StringConstructor;
|
|
51
|
+
};
|
|
52
|
+
hint: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
};
|
|
55
|
+
error: {
|
|
56
|
+
type: StringConstructor;
|
|
57
|
+
reflect: boolean;
|
|
58
|
+
};
|
|
46
59
|
};
|
|
47
60
|
name: string;
|
|
48
61
|
value: number;
|
|
@@ -50,7 +63,11 @@ declare class BdsNumberInput extends LitElement {
|
|
|
50
63
|
max: number | undefined;
|
|
51
64
|
step: number;
|
|
52
65
|
disabled: boolean;
|
|
66
|
+
label: string;
|
|
67
|
+
hint: string | undefined;
|
|
68
|
+
error: string | undefined;
|
|
53
69
|
private _internals;
|
|
70
|
+
private readonly _uid;
|
|
54
71
|
constructor();
|
|
55
72
|
updated(changed: Map<string, unknown>): void;
|
|
56
73
|
formResetCallback(): void;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<bds-radio-group>` — groups related radio buttons with a shared label and name.
|
|
6
|
+
*
|
|
7
|
+
* Renders a `<fieldset>` with a `<legend>`. Propagates the `name` attribute to
|
|
8
|
+
* all slotted `<bds-radio>` elements so radios form a mutually-exclusive set,
|
|
9
|
+
* and propagates `disabled` the same way — a group-level `disabled` attribute
|
|
10
|
+
* disables every slotted `<bds-radio>` (a shadow-DOM `<fieldset disabled>` has
|
|
11
|
+
* no effect on slotted light-DOM content on its own).
|
|
12
|
+
*
|
|
13
|
+
* Attributes:
|
|
14
|
+
* label — visible group label (rendered as `<legend>`)
|
|
15
|
+
* name — shared name forwarded to all slotted `<bds-radio>` elements
|
|
16
|
+
* error — error message shown below items
|
|
17
|
+
* hint — hint text shown below items
|
|
18
|
+
* disabled — disables the entire fieldset and all slotted `<bds-radio>` elements
|
|
19
|
+
* required — marks the group as required
|
|
20
|
+
*
|
|
21
|
+
* Slots:
|
|
22
|
+
* (default) — `<bds-radio>` elements
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <bds-radio-group label="Preferred contact" name="contact">
|
|
26
|
+
* <bds-radio value="email">Email</bds-radio>
|
|
27
|
+
* <bds-radio value="phone">Phone</bds-radio>
|
|
28
|
+
* </bds-radio-group>
|
|
29
|
+
*/
|
|
30
|
+
declare class BdsRadioGroup extends LitElement {
|
|
31
|
+
static styles: lit.CSSResult;
|
|
32
|
+
static properties: {
|
|
33
|
+
label: {
|
|
34
|
+
type: StringConstructor;
|
|
35
|
+
};
|
|
36
|
+
name: {
|
|
37
|
+
type: StringConstructor;
|
|
38
|
+
reflect: boolean;
|
|
39
|
+
};
|
|
40
|
+
error: {
|
|
41
|
+
type: StringConstructor;
|
|
42
|
+
};
|
|
43
|
+
hint: {
|
|
44
|
+
type: StringConstructor;
|
|
45
|
+
};
|
|
46
|
+
disabled: {
|
|
47
|
+
type: BooleanConstructor;
|
|
48
|
+
reflect: boolean;
|
|
49
|
+
};
|
|
50
|
+
required: {
|
|
51
|
+
type: BooleanConstructor;
|
|
52
|
+
reflect: boolean;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
label: string;
|
|
56
|
+
name: string;
|
|
57
|
+
error: string | undefined;
|
|
58
|
+
hint: string | undefined;
|
|
59
|
+
disabled: boolean;
|
|
60
|
+
required: boolean;
|
|
61
|
+
private readonly _uid;
|
|
62
|
+
constructor();
|
|
63
|
+
private _propagateName;
|
|
64
|
+
/**
|
|
65
|
+
* Propagates `disabled` to slotted `<bds-radio>` elements. Only radios that were
|
|
66
|
+
* enabled before the group disabled them are re-enabled when the group re-enables —
|
|
67
|
+
* a radio individually marked `disabled` in markup stays disabled.
|
|
68
|
+
*/
|
|
69
|
+
private _propagateDisabled;
|
|
70
|
+
private _propagateToRadios;
|
|
71
|
+
connectedCallback(): void;
|
|
72
|
+
updated(changed: Map<string, unknown>): void;
|
|
73
|
+
render(): lit.TemplateResult<1>;
|
|
74
|
+
}
|
|
75
|
+
declare global {
|
|
76
|
+
interface HTMLElementTagNameMap {
|
|
77
|
+
'bds-radio-group': BdsRadioGroup;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export { BdsRadioGroup };
|
|
@@ -5,18 +5,28 @@ import { LitElement } from 'lit';
|
|
|
5
5
|
* `<bds-radio>` — form-associated Radio custom element.
|
|
6
6
|
*
|
|
7
7
|
* Participates in HTML forms via the Form-Associated Custom Elements API.
|
|
8
|
-
* Use multiple `<bds-radio>` elements with the same `name` to form a group
|
|
8
|
+
* Use multiple `<bds-radio>` elements with the same `name` to form a group —
|
|
9
|
+
* checking one automatically unchecks the others sharing that `name`
|
|
10
|
+
* (searched within the same document/shadow root), and Arrow Up/Down/Left/Right
|
|
11
|
+
* move selection between them, mirroring native `<input type="radio">` semantics.
|
|
9
12
|
*
|
|
10
13
|
* Attributes:
|
|
11
|
-
* name
|
|
12
|
-
* value
|
|
13
|
-
* checked
|
|
14
|
-
* required
|
|
15
|
-
* disabled
|
|
14
|
+
* name — form field name (groups radio buttons)
|
|
15
|
+
* value — submitted value when selected
|
|
16
|
+
* checked — boolean; whether this option is selected
|
|
17
|
+
* required — boolean
|
|
18
|
+
* disabled — boolean
|
|
19
|
+
* error — boolean; visual + aria-invalid error state
|
|
20
|
+
* description — optional supporting text rendered below the label
|
|
16
21
|
*
|
|
17
22
|
* Slots:
|
|
18
23
|
* (default) — label text
|
|
19
24
|
*
|
|
25
|
+
* Events:
|
|
26
|
+
* bds-change — fired when this radio becomes checked via user interaction;
|
|
27
|
+
* `detail: { value: string, checked: true }`. Composed so it
|
|
28
|
+
* crosses the shadow boundary (unlike the native `change` event).
|
|
29
|
+
*
|
|
20
30
|
* @example
|
|
21
31
|
* <bds-radio name="size" value="s">Small</bds-radio>
|
|
22
32
|
* <bds-radio name="size" value="m" checked>Medium</bds-radio>
|
|
@@ -45,18 +55,36 @@ declare class BdsRadio extends LitElement {
|
|
|
45
55
|
type: BooleanConstructor;
|
|
46
56
|
reflect: boolean;
|
|
47
57
|
};
|
|
58
|
+
error: {
|
|
59
|
+
type: BooleanConstructor;
|
|
60
|
+
reflect: boolean;
|
|
61
|
+
};
|
|
62
|
+
description: {
|
|
63
|
+
type: StringConstructor;
|
|
64
|
+
};
|
|
48
65
|
};
|
|
49
66
|
name: string;
|
|
50
67
|
value: string;
|
|
51
68
|
checked: boolean;
|
|
52
69
|
required: boolean;
|
|
53
70
|
disabled: boolean;
|
|
71
|
+
error: boolean;
|
|
72
|
+
description: string | undefined;
|
|
54
73
|
private _internals;
|
|
55
74
|
private readonly _uid;
|
|
75
|
+
private _initialChecked;
|
|
56
76
|
constructor();
|
|
77
|
+
connectedCallback(): void;
|
|
57
78
|
updated(changed: Map<string, unknown>): void;
|
|
58
79
|
formResetCallback(): void;
|
|
80
|
+
/** All `<bds-radio>` elements sharing this radio's `name`, in document order (including this one). */
|
|
81
|
+
private _getGroupMembers;
|
|
82
|
+
/** Marks `radio` as the sole checked member of its group and notifies listeners. */
|
|
83
|
+
private _selectRadio;
|
|
59
84
|
private _handleChange;
|
|
85
|
+
private _handleKeydown;
|
|
86
|
+
/** Roving tabindex: only the checked member (or the first member if none is checked) is tabbable. */
|
|
87
|
+
private _isTabbable;
|
|
60
88
|
render(): lit.TemplateResult<1>;
|
|
61
89
|
}
|
|
62
90
|
declare global {
|
|
@@ -23,7 +23,8 @@ interface SegmentedOption {
|
|
|
23
23
|
* variant — "outline" (inset border on active item, default) | "filled" (sliding thumb)
|
|
24
24
|
*
|
|
25
25
|
* Events:
|
|
26
|
-
* change — fired when a new segment is selected (radio mode only)
|
|
26
|
+
* bds-change — fired when a new segment is selected (radio mode only); detail: { value }
|
|
27
|
+
* change — deprecated alias for bds-change, kept for backward compatibility (radio mode only)
|
|
27
28
|
*
|
|
28
29
|
* @example
|
|
29
30
|
* <bds-segmented-control
|
|
@@ -69,12 +70,11 @@ declare class BdsSegmentedControl extends LitElement {
|
|
|
69
70
|
variant: 'outline' | 'filled';
|
|
70
71
|
private _internals;
|
|
71
72
|
private readonly _uid;
|
|
73
|
+
private _initialValue;
|
|
72
74
|
constructor();
|
|
75
|
+
connectedCallback(): void;
|
|
73
76
|
private get _options();
|
|
74
77
|
updated(changed: Map<string, unknown>): void;
|
|
75
|
-
private _positionSlider;
|
|
76
|
-
private _updateThumb;
|
|
77
|
-
private _updateIndicator;
|
|
78
78
|
formResetCallback(): void;
|
|
79
79
|
private _handleChange;
|
|
80
80
|
render(): lit.TemplateResult<1>;
|
|
@@ -17,15 +17,22 @@ interface SelectOption {
|
|
|
17
17
|
* value — currently selected value
|
|
18
18
|
* options — JSON array of `{ value, label, disabled? }` option objects
|
|
19
19
|
* placeholder — placeholder option label (disabled, empty value)
|
|
20
|
+
* label — visible label text (rendered as a shadow <label for>)
|
|
21
|
+
* hint — helper text shown below the select
|
|
22
|
+
* error — error message; when set the select enters error state
|
|
20
23
|
* required — boolean
|
|
21
24
|
* disabled — boolean
|
|
22
25
|
*
|
|
26
|
+
* When `label` is not provided, a host `aria-label` attribute (if present) is
|
|
27
|
+
* forwarded to the inner `<select>` so the control always has an accessible name.
|
|
28
|
+
*
|
|
23
29
|
* Events:
|
|
24
|
-
* change —
|
|
30
|
+
* bds-change — fired when the selected value changes; `detail: { value: string }`
|
|
25
31
|
*
|
|
26
32
|
* @example
|
|
27
33
|
* <bds-select
|
|
28
34
|
* name="country"
|
|
35
|
+
* label="Country"
|
|
29
36
|
* placeholder="Choose…"
|
|
30
37
|
* options='[{"value":"nl","label":"Netherlands"},{"value":"be","label":"Belgium"}]'
|
|
31
38
|
* ></bds-select>
|
|
@@ -47,6 +54,16 @@ declare class BdsSelect extends LitElement {
|
|
|
47
54
|
placeholder: {
|
|
48
55
|
type: StringConstructor;
|
|
49
56
|
};
|
|
57
|
+
label: {
|
|
58
|
+
type: StringConstructor;
|
|
59
|
+
};
|
|
60
|
+
hint: {
|
|
61
|
+
type: StringConstructor;
|
|
62
|
+
};
|
|
63
|
+
error: {
|
|
64
|
+
type: StringConstructor;
|
|
65
|
+
reflect: boolean;
|
|
66
|
+
};
|
|
50
67
|
required: {
|
|
51
68
|
type: BooleanConstructor;
|
|
52
69
|
reflect: boolean;
|
|
@@ -60,9 +77,13 @@ declare class BdsSelect extends LitElement {
|
|
|
60
77
|
value: string;
|
|
61
78
|
options: string;
|
|
62
79
|
placeholder: string;
|
|
80
|
+
label: string;
|
|
81
|
+
hint: string | undefined;
|
|
82
|
+
error: string | undefined;
|
|
63
83
|
required: boolean;
|
|
64
84
|
disabled: boolean;
|
|
65
85
|
private _internals;
|
|
86
|
+
private readonly _uid;
|
|
66
87
|
constructor();
|
|
67
88
|
private get _options();
|
|
68
89
|
updated(changed: Map<string, unknown>): void;
|
|
@@ -5,22 +5,30 @@ import { LitElement } from 'lit';
|
|
|
5
5
|
* `<bds-slider>` — form-associated Slider / Range Input custom element.
|
|
6
6
|
*
|
|
7
7
|
* Uses a native `<input type="range">` with a CSS fill track driven by
|
|
8
|
-
* the `--slider_fill` custom property.
|
|
8
|
+
* the `--slider_fill` custom property. Renders an associated `<label>`
|
|
9
|
+
* when `label` is set, with `hint`/`error` messages wired to the input
|
|
10
|
+
* via `aria-describedby`.
|
|
9
11
|
*
|
|
10
12
|
* Attributes:
|
|
11
|
-
* name
|
|
12
|
-
* value
|
|
13
|
-
* min
|
|
14
|
-
* max
|
|
15
|
-
* step
|
|
16
|
-
*
|
|
13
|
+
* name — form field name
|
|
14
|
+
* value — current value (default: 0)
|
|
15
|
+
* min — minimum value (default: 0)
|
|
16
|
+
* max — maximum value (default: 100)
|
|
17
|
+
* step — step increment (default: 1)
|
|
18
|
+
* label — visible label text, associated with the input via `for`/`id`
|
|
19
|
+
* hint — helper text shown below the slider
|
|
20
|
+
* error — error message; when set the slider enters error state (aria-invalid)
|
|
21
|
+
* show-value — shows the current value next to the label
|
|
22
|
+
* disabled — boolean
|
|
17
23
|
*
|
|
18
24
|
* Events:
|
|
19
|
-
* input
|
|
20
|
-
* change — fired when the user releases
|
|
25
|
+
* input — native event, fired continuously as the user drags
|
|
26
|
+
* bds-change — fired when the user releases; `detail: { value: number }`.
|
|
27
|
+
* Re-dispatched from the host (composed) so it reliably
|
|
28
|
+
* crosses the shadow boundary, unlike the native `change`.
|
|
21
29
|
*
|
|
22
30
|
* @example
|
|
23
|
-
* <bds-slider name="volume" value="50" min="0" max="100" step="5"></bds-slider>
|
|
31
|
+
* <bds-slider name="volume" label="Volume" value="50" min="0" max="100" step="5"></bds-slider>
|
|
24
32
|
*/
|
|
25
33
|
declare class BdsSlider extends LitElement {
|
|
26
34
|
static formAssociated: boolean;
|
|
@@ -46,6 +54,21 @@ declare class BdsSlider extends LitElement {
|
|
|
46
54
|
type: BooleanConstructor;
|
|
47
55
|
reflect: boolean;
|
|
48
56
|
};
|
|
57
|
+
label: {
|
|
58
|
+
type: StringConstructor;
|
|
59
|
+
};
|
|
60
|
+
hint: {
|
|
61
|
+
type: StringConstructor;
|
|
62
|
+
};
|
|
63
|
+
error: {
|
|
64
|
+
type: StringConstructor;
|
|
65
|
+
reflect: boolean;
|
|
66
|
+
};
|
|
67
|
+
showValue: {
|
|
68
|
+
type: BooleanConstructor;
|
|
69
|
+
attribute: string;
|
|
70
|
+
reflect: boolean;
|
|
71
|
+
};
|
|
49
72
|
};
|
|
50
73
|
name: string;
|
|
51
74
|
value: number;
|
|
@@ -53,12 +76,21 @@ declare class BdsSlider extends LitElement {
|
|
|
53
76
|
max: number;
|
|
54
77
|
step: number;
|
|
55
78
|
disabled: boolean;
|
|
79
|
+
label: string;
|
|
80
|
+
hint: string | undefined;
|
|
81
|
+
error: string | undefined;
|
|
82
|
+
showValue: boolean;
|
|
56
83
|
private _internals;
|
|
84
|
+
private readonly _uid;
|
|
85
|
+
private _initialValue;
|
|
57
86
|
constructor();
|
|
87
|
+
connectedCallback(): void;
|
|
58
88
|
updated(changed: Map<string, unknown>): void;
|
|
59
89
|
formResetCallback(): void;
|
|
90
|
+
private _clamp;
|
|
60
91
|
private get _fillPct();
|
|
61
92
|
private _handleInput;
|
|
93
|
+
private _handleChange;
|
|
62
94
|
render(): lit.TemplateResult<1>;
|
|
63
95
|
}
|
|
64
96
|
declare global {
|