@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.
Files changed (535) hide show
  1. package/AGENTS.md +54 -46
  2. package/README.md +34 -20
  3. package/dist/client.cjs +1317 -779
  4. package/dist/client.css +1029 -812
  5. package/dist/client.d.cts +88 -26
  6. package/dist/client.d.ts +88 -26
  7. package/dist/client.js +1278 -732
  8. package/dist/index.cjs +1317 -779
  9. package/dist/index.css +1029 -812
  10. package/dist/index.d.cts +88 -26
  11. package/dist/index.d.ts +88 -26
  12. package/dist/index.js +1278 -732
  13. package/dist/web-components/chunk-2OLVQUBU.js +193 -0
  14. package/dist/web-components/chunk-3AY2YKCM.js +223 -0
  15. package/dist/web-components/chunk-3WAV6MDN.js +212 -0
  16. package/dist/web-components/{chunk-CZBIVR4V.js → chunk-47AT5KZD.js} +88 -16
  17. package/dist/web-components/chunk-4A2YYTYN.js +93 -0
  18. package/dist/web-components/{chunk-Q4T5BJT6.js → chunk-62NK3ZSC.js} +18 -3
  19. package/dist/web-components/chunk-66M6ETWD.js +77 -0
  20. package/dist/web-components/{chunk-NCPQ7AF3.js → chunk-6G22I2CK.js} +18 -3
  21. package/dist/web-components/{chunk-QDST57JC.js → chunk-7ZOJ7N4E.js} +14 -4
  22. package/dist/web-components/{chunk-5R6IFELV.js → chunk-AIBOHNDU.js} +11 -1
  23. package/dist/web-components/{chunk-ITHLKR7Q.js → chunk-AP4RDUL2.js} +16 -5
  24. package/dist/web-components/{chunk-QWPACK5L.js → chunk-BPYKZVDK.js} +11 -1
  25. package/dist/web-components/{chunk-YLVTEY23.js → chunk-BTCMJQKB.js} +53 -21
  26. package/dist/web-components/chunk-CUKQ2L5B.js +245 -0
  27. package/dist/web-components/chunk-DIZDCL7Z.js +14 -0
  28. package/dist/web-components/{chunk-PC3IOQAH.js → chunk-DV5T43ZC.js} +27 -7
  29. package/dist/web-components/{chunk-2QA62WCQ.js → chunk-EF7IVYTY.js} +10 -0
  30. package/dist/web-components/{chunk-L3XHOMN6.js → chunk-F3ZDNHZZ.js} +26 -1
  31. package/dist/web-components/chunk-FEDABOR5.js +248 -0
  32. package/dist/web-components/{chunk-6I2DBFQ7.js → chunk-HGFCJXOQ.js} +36 -5
  33. package/dist/web-components/{chunk-SOQQ7RVJ.js → chunk-IPGHUCJT.js} +23 -8
  34. package/dist/web-components/chunk-ITD2MV5K.js +392 -0
  35. package/dist/web-components/{chunk-CM3KYZ6Z.js → chunk-JH6LQKLK.js} +78 -6
  36. package/dist/web-components/chunk-JMCXAAFK.js +120 -0
  37. package/dist/web-components/{chunk-KUI55GFB.js → chunk-JUPCZVVW.js} +50 -18
  38. package/dist/web-components/chunk-JV5QT2OU.js +146 -0
  39. package/dist/web-components/{chunk-3GFWLSLS.js → chunk-KA3VPKMY.js} +29 -6
  40. package/dist/web-components/{chunk-CR5PGUHV.js → chunk-KJGRFDFI.js} +26 -11
  41. package/dist/web-components/{chunk-PY62FTRW.js → chunk-KZPRFY5P.js} +68 -33
  42. package/dist/web-components/{chunk-X46KL5BK.js → chunk-LDIPCTRN.js} +18 -1
  43. package/dist/web-components/chunk-M3ECULRH.js +174 -0
  44. package/dist/web-components/chunk-NBN2ENWJ.js +90 -0
  45. package/dist/web-components/chunk-NIN3JO6Q.js +189 -0
  46. package/dist/web-components/{chunk-2FGATTGT.js → chunk-NTQ4TCUT.js} +76 -55
  47. package/dist/web-components/chunk-OY74D4X6.js +302 -0
  48. package/dist/web-components/{chunk-3S42DZ7W.js → chunk-P24JYC5V.js} +7 -0
  49. package/dist/web-components/{chunk-BKIHQYJR.js → chunk-PXPPKCLT.js} +17 -2
  50. package/dist/web-components/{chunk-TQ7IQ4GZ.js → chunk-QEF2IRID.js} +71 -29
  51. package/dist/web-components/chunk-QZAIRJ75.js +111 -0
  52. package/dist/web-components/{chunk-6I3CFC26.js → chunk-RSZ3BWBK.js} +20 -5
  53. package/dist/web-components/chunk-RVF7W653.js +101 -0
  54. package/dist/web-components/chunk-SEO2F5KJ.js +234 -0
  55. package/dist/web-components/{chunk-VMMVWLXL.js → chunk-SFZ6Q4BP.js} +10 -0
  56. package/dist/web-components/{chunk-LY62SAVN.js → chunk-SYNLFKD3.js} +12 -2
  57. package/dist/web-components/chunk-TMWXRHGF.js +192 -0
  58. package/dist/web-components/{chunk-65JXQOBA.js → chunk-U3YZE6R6.js} +51 -7
  59. package/dist/web-components/chunk-UO7ROSHD.js +424 -0
  60. package/dist/web-components/chunk-VANAKB6D.js +152 -0
  61. package/dist/web-components/{chunk-PXZWYO6Z.js → chunk-VED2DFJ6.js} +108 -29
  62. package/dist/web-components/chunk-W6H5ID2U.js +161 -0
  63. package/dist/web-components/{chunk-57TRNCWQ.js → chunk-WFVKU4GX.js} +22 -11
  64. package/dist/web-components/{chunk-OQTRTMAB.js → chunk-WIBAN7KP.js} +10 -0
  65. package/dist/web-components/chunk-XI7KRAH7.js +54 -0
  66. package/dist/web-components/{chunk-F5E3IT7G.js → chunk-XIZWAWMJ.js} +50 -11
  67. package/dist/web-components/{chunk-FXURM6D5.js → chunk-YFAXGRPR.js} +10 -0
  68. package/dist/web-components/globals.js +1 -1
  69. package/dist/web-components/index.d.ts +77 -707
  70. package/dist/web-components/index.js +339 -2066
  71. package/dist/web-components/interaction/bds-accordion-item.js +1 -1
  72. package/dist/web-components/interaction/bds-accordion.js +1 -1
  73. package/dist/web-components/interaction/bds-button.d.ts +10 -2
  74. package/dist/web-components/interaction/bds-button.js +1 -1
  75. package/dist/web-components/interaction/bds-collapsible.d.ts +7 -2
  76. package/dist/web-components/interaction/bds-collapsible.js +1 -1
  77. package/dist/web-components/interaction/bds-dialog.d.ts +11 -3
  78. package/dist/web-components/interaction/bds-dialog.js +1 -1
  79. package/dist/web-components/interaction/bds-drawer.d.ts +7 -1
  80. package/dist/web-components/interaction/bds-drawer.js +1 -1
  81. package/dist/web-components/interaction/bds-dropdown-menu-item.d.ts +51 -0
  82. package/dist/web-components/interaction/bds-dropdown-menu-item.js +7 -0
  83. package/dist/web-components/interaction/bds-dropdown-menu.d.ts +70 -0
  84. package/dist/web-components/interaction/bds-dropdown-menu.js +7 -0
  85. package/dist/web-components/interaction/bds-popover.d.ts +14 -3
  86. package/dist/web-components/interaction/bds-popover.js +1 -1
  87. package/dist/web-components/interaction/bds-skip-link.js +1 -1
  88. package/dist/web-components/interaction/bds-tab-panel.js +1 -1
  89. package/dist/web-components/interaction/bds-tab.js +1 -1
  90. package/dist/web-components/interaction/bds-tabs.d.ts +1 -0
  91. package/dist/web-components/interaction/bds-tabs.js +1 -1
  92. package/dist/web-components/interaction/bds-toast-provider.js +1 -1
  93. package/dist/web-components/interaction/bds-tooltip.d.ts +19 -3
  94. package/dist/web-components/interaction/bds-tooltip.js +1 -1
  95. package/dist/web-components/interaction/form/bds-checkbox-group.d.ts +83 -0
  96. package/dist/web-components/interaction/form/bds-checkbox-group.js +7 -0
  97. package/dist/web-components/interaction/form/bds-checkbox.d.ts +6 -0
  98. package/dist/web-components/interaction/form/bds-checkbox.js +1 -1
  99. package/dist/web-components/interaction/form/bds-combobox.d.ts +18 -0
  100. package/dist/web-components/interaction/form/bds-combobox.js +1 -1
  101. package/dist/web-components/interaction/form/bds-field-group.d.ts +89 -0
  102. package/dist/web-components/interaction/form/bds-field-group.js +7 -0
  103. package/dist/web-components/interaction/form/bds-file-input.d.ts +1 -1
  104. package/dist/web-components/interaction/form/bds-file-input.js +1 -1
  105. package/dist/web-components/interaction/form/bds-form-input.d.ts +92 -0
  106. package/dist/web-components/interaction/form/bds-form-input.js +7 -0
  107. package/dist/web-components/interaction/form/bds-number-input.d.ts +18 -1
  108. package/dist/web-components/interaction/form/bds-number-input.js +1 -1
  109. package/dist/web-components/interaction/form/bds-radio-group.d.ts +81 -0
  110. package/dist/web-components/interaction/form/bds-radio-group.js +7 -0
  111. package/dist/web-components/interaction/form/bds-radio.d.ts +34 -6
  112. package/dist/web-components/interaction/form/bds-radio.js +1 -1
  113. package/dist/web-components/interaction/form/bds-segmented-control.d.ts +4 -4
  114. package/dist/web-components/interaction/form/bds-segmented-control.js +1 -1
  115. package/dist/web-components/interaction/form/bds-select.d.ts +22 -1
  116. package/dist/web-components/interaction/form/bds-select.js +1 -1
  117. package/dist/web-components/interaction/form/bds-slider.d.ts +42 -10
  118. package/dist/web-components/interaction/form/bds-slider.js +1 -1
  119. package/dist/web-components/interaction/form/bds-switch.d.ts +20 -0
  120. package/dist/web-components/interaction/form/bds-switch.js +1 -1
  121. package/dist/web-components/interaction/form/bds-textarea.d.ts +23 -3
  122. package/dist/web-components/interaction/form/bds-textarea.js +1 -1
  123. package/dist/web-components/layout/bds-grid-item.d.ts +63 -0
  124. package/dist/web-components/layout/bds-grid-item.js +7 -0
  125. package/dist/web-components/layout/bds-grid.d.ts +108 -0
  126. package/dist/web-components/layout/bds-grid.js +7 -0
  127. package/dist/web-components/ui/bds-alert.d.ts +16 -2
  128. package/dist/web-components/ui/bds-alert.js +1 -1
  129. package/dist/web-components/ui/bds-avatar.d.ts +2 -1
  130. package/dist/web-components/ui/bds-avatar.js +1 -1
  131. package/dist/web-components/ui/bds-badge.js +1 -1
  132. package/dist/web-components/ui/bds-breadcrumb.d.ts +3 -1
  133. package/dist/web-components/ui/bds-breadcrumb.js +1 -1
  134. package/dist/web-components/ui/bds-button-container.d.ts +52 -0
  135. package/dist/web-components/ui/bds-button-container.js +7 -0
  136. package/dist/web-components/ui/bds-button-group.d.ts +21 -0
  137. package/dist/web-components/ui/bds-button-group.js +8 -0
  138. package/dist/web-components/ui/bds-calendar.d.ts +121 -0
  139. package/dist/web-components/ui/bds-calendar.js +7 -0
  140. package/dist/web-components/ui/bds-card.d.ts +12 -3
  141. package/dist/web-components/ui/bds-card.js +1 -1
  142. package/dist/web-components/ui/bds-carousel.d.ts +98 -0
  143. package/dist/web-components/ui/bds-carousel.js +7 -0
  144. package/dist/web-components/ui/bds-description-list.js +1 -1
  145. package/dist/web-components/ui/bds-icon-wrapper.d.ts +0 -9
  146. package/dist/web-components/ui/bds-icon-wrapper.js +1 -1
  147. package/dist/web-components/ui/bds-link.js +1 -1
  148. package/dist/web-components/ui/bds-loading.js +1 -1
  149. package/dist/web-components/ui/bds-notification-banner.js +1 -1
  150. package/dist/web-components/ui/bds-pagination.d.ts +47 -0
  151. package/dist/web-components/ui/bds-pagination.js +7 -0
  152. package/dist/web-components/ui/bds-progress-circle.d.ts +3 -1
  153. package/dist/web-components/ui/bds-progress-circle.js +1 -1
  154. package/dist/web-components/ui/bds-progress.d.ts +3 -1
  155. package/dist/web-components/ui/bds-progress.js +1 -1
  156. package/dist/web-components/ui/bds-rating.js +1 -1
  157. package/dist/web-components/ui/bds-section-header.d.ts +18 -4
  158. package/dist/web-components/ui/bds-section-header.js +1 -1
  159. package/dist/web-components/ui/bds-separator.js +1 -1
  160. package/dist/web-components/ui/bds-skeleton.js +1 -1
  161. package/dist/web-components/ui/bds-table.d.ts +52 -0
  162. package/dist/web-components/ui/bds-table.js +7 -0
  163. package/dist/web-components/ui/bds-typography.d.ts +1 -0
  164. package/dist/web-components/ui/bds-typography.js +1 -1
  165. package/package.json +60 -3
  166. package/src/components/interaction/Button/Button.module.css +23 -14
  167. package/src/components/interaction/Button/Button.spec.tsx +20 -0
  168. package/src/components/interaction/Button/Button.tsx +2 -2
  169. package/src/components/interaction/Command/Command.mdx +5 -2
  170. package/src/components/interaction/Command/Command.module.css +23 -7
  171. package/src/components/interaction/Command/Command.spec.tsx +35 -0
  172. package/src/components/interaction/Command/Command.tsx +15 -4
  173. package/src/components/interaction/Command/index.ts +1 -1
  174. package/src/components/interaction/Dialog/Dialog.mdx +4 -4
  175. package/src/components/interaction/Dialog/Dialog.module.css +20 -0
  176. package/src/components/interaction/Dialog/Dialog.spec.tsx +20 -0
  177. package/src/components/interaction/Dialog/Dialog.tsx +8 -3
  178. package/src/components/interaction/Dialog/index.ts +1 -0
  179. package/src/components/interaction/Drawer/Drawer.mdx +5 -2
  180. package/src/components/interaction/Drawer/Drawer.module.css +34 -3
  181. package/src/components/interaction/Drawer/Drawer.spec.tsx +67 -1
  182. package/src/components/interaction/Drawer/Drawer.tsx +30 -12
  183. package/src/components/interaction/Drawer/index.ts +1 -0
  184. package/src/components/interaction/DropdownMenu/DropdownMenu.mdx +2 -0
  185. package/src/components/interaction/DropdownMenu/DropdownMenu.spec.tsx +34 -0
  186. package/src/components/interaction/DropdownMenu/DropdownMenu.tsx +15 -5
  187. package/src/components/interaction/DropdownMenu/index.ts +1 -0
  188. package/src/components/interaction/Popover/Popover.mdx +6 -2
  189. package/src/components/interaction/Popover/Popover.module.css +26 -18
  190. package/src/components/interaction/Popover/Popover.spec.tsx +38 -0
  191. package/src/components/interaction/Popover/Popover.tsx +19 -5
  192. package/src/components/interaction/Popover/index.ts +1 -0
  193. package/src/components/interaction/Rating/Rating.mdx +1 -1
  194. package/src/components/interaction/Rating/Rating.module.css +2 -2
  195. package/src/components/interaction/Rating/Rating.tsx +1 -1
  196. package/src/components/interaction/Rating/index.ts +1 -0
  197. package/src/components/interaction/Toast/Toast.mdx +3 -0
  198. package/src/components/interaction/Toast/Toast.module.css +35 -5
  199. package/src/components/interaction/Toast/Toast.spec.tsx +69 -1
  200. package/src/components/interaction/Toast/Toast.tsx +15 -9
  201. package/src/components/interaction/form/Checkbox/Checkbox.mdx +3 -0
  202. package/src/components/interaction/form/Checkbox/Checkbox.module.css +13 -6
  203. package/src/components/interaction/form/Checkbox/Checkbox.spec.tsx +6 -0
  204. package/src/components/interaction/form/Checkbox/Checkbox.tsx +1 -1
  205. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.mdx +16 -1
  206. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.module.css +24 -8
  207. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.spec.tsx +32 -2
  208. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.tsx +14 -2
  209. package/src/components/interaction/form/Combobox/Combobox.mdx +11 -4
  210. package/src/components/interaction/form/Combobox/Combobox.module.css +6 -6
  211. package/src/components/interaction/form/Combobox/Combobox.spec.tsx +47 -0
  212. package/src/components/interaction/form/Combobox/Combobox.tsx +10 -5
  213. package/src/components/interaction/form/FieldGroup/FieldGroup.mdx +9 -10
  214. package/src/components/interaction/form/FieldGroup/FieldGroup.module.css +57 -23
  215. package/src/components/interaction/form/FieldGroup/FieldGroup.spec.tsx +129 -7
  216. package/src/components/interaction/form/FieldGroup/FieldGroup.tsx +72 -12
  217. package/src/components/interaction/form/FileInput/FileInput.mdx +9 -1
  218. package/src/components/interaction/form/FileInput/FileInput.module.css +8 -8
  219. package/src/components/interaction/form/FileInput/FileInput.spec.tsx +89 -1
  220. package/src/components/interaction/form/FileInput/FileInput.tsx +6 -2
  221. package/src/components/interaction/form/FormInput/FormInput.mdx +9 -5
  222. package/src/components/interaction/form/FormInput/FormInput.module.css +17 -8
  223. package/src/components/interaction/form/FormInput/FormInput.spec.tsx +20 -0
  224. package/src/components/interaction/form/FormInput/FormInput.tsx +7 -2
  225. package/src/components/interaction/form/NumberInput/NumberInput.mdx +5 -1
  226. package/src/components/interaction/form/NumberInput/NumberInput.module.css +6 -6
  227. package/src/components/interaction/form/NumberInput/NumberInput.spec.tsx +51 -0
  228. package/src/components/interaction/form/NumberInput/NumberInput.tsx +36 -8
  229. package/src/components/interaction/form/Radio/Radio.mdx +8 -1
  230. package/src/components/interaction/form/Radio/Radio.module.css +20 -7
  231. package/src/components/interaction/form/Radio/Radio.spec.tsx +15 -0
  232. package/src/components/interaction/form/Radio/Radio.tsx +10 -4
  233. package/src/components/interaction/form/RadioGroup/RadioGroup.mdx +16 -1
  234. package/src/components/interaction/form/RadioGroup/RadioGroup.module.css +24 -8
  235. package/src/components/interaction/form/RadioGroup/RadioGroup.spec.tsx +32 -2
  236. package/src/components/interaction/form/RadioGroup/RadioGroup.tsx +14 -2
  237. package/src/components/interaction/form/SegmentedControl/SegmentedControl.mdx +9 -3
  238. package/src/components/interaction/form/SegmentedControl/SegmentedControl.module.css +25 -12
  239. package/src/components/interaction/form/SegmentedControl/SegmentedControl.spec.tsx +86 -5
  240. package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +44 -4
  241. package/src/components/interaction/form/Select/Select.mdx +10 -4
  242. package/src/components/interaction/form/Select/Select.module.css +4 -4
  243. package/src/components/interaction/form/Select/Select.spec.tsx +34 -0
  244. package/src/components/interaction/form/Select/Select.tsx +21 -9
  245. package/src/components/interaction/form/Slider/Slider.mdx +4 -1
  246. package/src/components/interaction/form/Slider/Slider.module.css +32 -8
  247. package/src/components/interaction/form/Slider/Slider.spec.tsx +29 -0
  248. package/src/components/interaction/form/Slider/Slider.tsx +9 -7
  249. package/src/components/interaction/form/Switch/Switch.mdx +2 -2
  250. package/src/components/interaction/form/Switch/Switch.module.css +12 -13
  251. package/src/components/interaction/form/Switch/Switch.spec.tsx +20 -0
  252. package/src/components/interaction/form/Switch/Switch.tsx +2 -1
  253. package/src/components/interaction/form/Textarea/Textarea.mdx +5 -0
  254. package/src/components/interaction/form/Textarea/Textarea.module.css +5 -5
  255. package/src/components/interaction/form/Textarea/Textarea.spec.tsx +13 -0
  256. package/src/components/interaction/form/Textarea/Textarea.tsx +3 -1
  257. package/src/components/interaction/form/atoms/Message.module.css +1 -1
  258. package/src/components/interaction/form/atoms/Message.spec.tsx +29 -0
  259. package/src/components/interaction/form/atoms/Message.tsx +1 -1
  260. package/src/components/layout/ButtonGroup/ButtonGroup.mdx +11 -0
  261. package/src/components/layout/ButtonGroup/ButtonGroup.module.css +1 -5
  262. package/src/components/layout/ButtonGroup/ButtonGroup.stories.tsx +14 -0
  263. package/src/components/layout/Card/Card.mdx +6 -1
  264. package/src/components/layout/Card/Card.module.css +26 -5
  265. package/src/components/layout/Card/Card.spec.tsx +7 -0
  266. package/src/components/layout/Card/Card.tsx +4 -3
  267. package/src/components/layout/Grid/Grid.spec.tsx +44 -0
  268. package/src/components/layout/Grid/Grid.tsx +5 -5
  269. package/src/components/layout/Grid/GridItem.tsx +6 -6
  270. package/src/components/layout/Grid/masonry.ts +31 -5
  271. package/src/components/layout/Grid/useIsomorphicLayoutEffect.ts +11 -0
  272. package/src/components/layout/IconWrapper/IconWrapper.mdx +8 -2
  273. package/src/components/layout/IconWrapper/IconWrapper.module.css +9 -6
  274. package/src/components/layout/SectionHeader/SectionHeader.mdx +4 -1
  275. package/src/components/layout/SectionHeader/SectionHeader.module.css +10 -9
  276. package/src/components/ui/Accordion/Accordion.mdx +4 -1
  277. package/src/components/ui/Accordion/Accordion.module.css +2 -1
  278. package/src/components/ui/Alert/Alert.mdx +21 -4
  279. package/src/components/ui/Alert/Alert.module.css +9 -4
  280. package/src/components/ui/Alert/Alert.spec.tsx +20 -0
  281. package/src/components/ui/Avatar/Avatar.mdx +8 -3
  282. package/src/components/ui/Avatar/Avatar.module.css +13 -8
  283. package/src/components/ui/Badge/Badge.mdx +3 -1
  284. package/src/components/ui/Breadcrumb/Breadcrumb.mdx +3 -0
  285. package/src/components/ui/Breadcrumb/Breadcrumb.module.css +4 -0
  286. package/src/components/ui/Breadcrumb/Breadcrumb.spec.tsx +12 -0
  287. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +11 -3
  288. package/src/components/ui/Calendar/Calendar.mdx +6 -0
  289. package/src/components/ui/Calendar/Calendar.module.css +68 -19
  290. package/src/components/ui/Calendar/Calendar.spec.tsx +139 -24
  291. package/src/components/ui/Calendar/Calendar.stories.tsx +14 -0
  292. package/src/components/ui/Calendar/Calendar.tsx +143 -154
  293. package/src/components/ui/Calendar/CalendarRange.mdx +39 -0
  294. package/src/components/ui/Calendar/CalendarRange.spec.tsx +119 -0
  295. package/src/components/ui/Calendar/CalendarRange.stories.tsx +51 -0
  296. package/src/components/ui/Calendar/CalendarRange.tsx +213 -0
  297. package/src/components/ui/Calendar/MonthGrid.tsx +141 -0
  298. package/src/components/ui/Calendar/calendar-core.spec.ts +176 -0
  299. package/src/components/ui/Calendar/calendar-core.ts +164 -0
  300. package/src/components/ui/Calendar/index.ts +1 -0
  301. package/src/components/ui/Carousel/Carousel.mdx +8 -3
  302. package/src/components/ui/Carousel/Carousel.module.css +7 -5
  303. package/src/components/ui/Carousel/Carousel.spec.tsx +67 -0
  304. package/src/components/ui/Carousel/Carousel.tsx +19 -7
  305. package/src/components/ui/Collapsible/Collapsible.mdx +17 -6
  306. package/src/components/ui/Collapsible/Collapsible.module.css +7 -2
  307. package/src/components/ui/Collapsible/Collapsible.spec.tsx +40 -0
  308. package/src/components/ui/Collapsible/Collapsible.tsx +19 -2
  309. package/src/components/ui/DescriptionList/DescriptionList.mdx +2 -0
  310. package/src/components/ui/Link/Link.mdx +4 -2
  311. package/src/components/ui/Loading/Loading.mdx +6 -3
  312. package/src/components/ui/Loading/Loading.module.css +7 -7
  313. package/src/components/ui/Loading/Loading.spec.tsx +12 -0
  314. package/src/components/ui/Loading/Loading.tsx +8 -3
  315. package/src/components/ui/NotificationBanner/NotificationBanner.mdx +4 -0
  316. package/src/components/ui/NotificationBanner/NotificationBanner.module.css +5 -0
  317. package/src/components/ui/NotificationBanner/NotificationBanner.spec.tsx +20 -0
  318. package/src/components/ui/Pagination/Pagination.mdx +29 -7
  319. package/src/components/ui/Pagination/Pagination.module.css +15 -14
  320. package/src/components/ui/Progress/Progress.mdx +6 -2
  321. package/src/components/ui/Progress/Progress.module.css +1 -1
  322. package/src/components/ui/Progress/Progress.spec.tsx +17 -0
  323. package/src/components/ui/Progress/Progress.tsx +2 -2
  324. package/src/components/ui/ProgressCircle/ProgressCircle.mdx +8 -4
  325. package/src/components/ui/ProgressCircle/ProgressCircle.module.css +2 -2
  326. package/src/components/ui/ProgressCircle/ProgressCircle.spec.tsx +11 -1
  327. package/src/components/ui/ProgressCircle/ProgressCircle.tsx +1 -1
  328. package/src/components/ui/Separator/Separator.mdx +7 -0
  329. package/src/components/ui/Separator/Separator.module.css +1 -0
  330. package/src/components/ui/Skeleton/Skeleton.mdx +17 -0
  331. package/src/components/ui/Skeleton/Skeleton.module.css +12 -5
  332. package/src/components/ui/SkipLink/SkipLink.mdx +19 -0
  333. package/src/components/ui/SkipLink/SkipLink.module.css +8 -7
  334. package/src/components/ui/SkipLink/SkipLink.spec.tsx +28 -0
  335. package/src/components/ui/Table/Table.mdx +14 -0
  336. package/src/components/ui/Table/Table.module.css +13 -8
  337. package/src/components/ui/Table/Table.spec.tsx +56 -0
  338. package/src/components/ui/Table/Table.tsx +44 -6
  339. package/src/components/ui/Tabs/Tabs.mdx +16 -0
  340. package/src/components/ui/Tabs/Tabs.module.css +3 -3
  341. package/src/components/ui/Tabs/Tabs.spec.tsx +20 -0
  342. package/src/components/ui/Tabs/Tabs.tsx +5 -1
  343. package/src/components/ui/Tooltip/Tooltip.mdx +9 -0
  344. package/src/components/ui/Tooltip/Tooltip.module.css +32 -12
  345. package/src/components/ui/Tooltip/Tooltip.spec.tsx +56 -0
  346. package/src/components/ui/Tooltip/Tooltip.tsx +26 -7
  347. package/src/components/ui/Typography/Typography.mdx +7 -0
  348. package/src/components/ui/Typography/Typography.module.css +5 -5
  349. package/src/index.ts +7 -3
  350. package/src/stories/DesignSystem/Borders.mdx +14 -9
  351. package/src/stories/DesignSystem/Colors.mdx +43 -41
  352. package/src/stories/DesignSystem/Overview.mdx +4 -3
  353. package/src/stories/Introduction.mdx +5 -5
  354. package/src/web-components/globals.ts +7 -0
  355. package/src/web-components/index.ts +2 -0
  356. package/src/web-components/interaction/BdsAccordion.mdx +10 -1
  357. package/src/web-components/interaction/BdsButton.mdx +15 -4
  358. package/src/web-components/interaction/BdsButton.stories.tsx +1 -1
  359. package/src/web-components/interaction/BdsCollapsible.mdx +3 -3
  360. package/src/web-components/interaction/BdsDialog.mdx +12 -7
  361. package/src/web-components/interaction/BdsDialog.stories.tsx +2 -2
  362. package/src/web-components/interaction/BdsDrawer.mdx +9 -6
  363. package/src/web-components/interaction/BdsDropdownMenu.mdx +20 -1
  364. package/src/web-components/interaction/BdsPopover.mdx +7 -3
  365. package/src/web-components/interaction/BdsSkipLink.mdx +14 -1
  366. package/src/web-components/interaction/BdsTabs.mdx +18 -1
  367. package/src/web-components/interaction/BdsToastProvider.mdx +21 -3
  368. package/src/web-components/interaction/BdsTooltip.mdx +4 -4
  369. package/src/web-components/interaction/bds-accordion-item.ts +10 -0
  370. package/src/web-components/interaction/bds-accordion.spec.ts +41 -0
  371. package/src/web-components/interaction/bds-accordion.ts +28 -2
  372. package/src/web-components/interaction/bds-button.spec.ts +81 -0
  373. package/src/web-components/interaction/bds-button.ts +60 -13
  374. package/src/web-components/interaction/bds-collapsible.spec.ts +93 -2
  375. package/src/web-components/interaction/bds-collapsible.ts +49 -7
  376. package/src/web-components/interaction/bds-dialog.spec.ts +49 -0
  377. package/src/web-components/interaction/bds-dialog.ts +68 -11
  378. package/src/web-components/interaction/bds-drawer.spec.ts +93 -4
  379. package/src/web-components/interaction/bds-drawer.ts +54 -21
  380. package/src/web-components/interaction/bds-dropdown-menu-item.ts +12 -1
  381. package/src/web-components/interaction/bds-dropdown-menu.spec.ts +63 -0
  382. package/src/web-components/interaction/bds-dropdown-menu.ts +45 -7
  383. package/src/web-components/interaction/bds-popover.spec.ts +80 -6
  384. package/src/web-components/interaction/bds-popover.ts +83 -32
  385. package/src/web-components/interaction/bds-skip-link.spec.ts +18 -0
  386. package/src/web-components/interaction/bds-skip-link.ts +29 -8
  387. package/src/web-components/interaction/bds-tab-panel.ts +10 -0
  388. package/src/web-components/interaction/bds-tab.spec.ts +25 -0
  389. package/src/web-components/interaction/bds-tab.ts +20 -5
  390. package/src/web-components/interaction/bds-tabs.spec.ts +92 -5
  391. package/src/web-components/interaction/bds-tabs.ts +42 -1
  392. package/src/web-components/interaction/bds-toast-provider.spec.ts +43 -0
  393. package/src/web-components/interaction/bds-toast-provider.ts +50 -21
  394. package/src/web-components/interaction/bds-tooltip.spec.ts +71 -0
  395. package/src/web-components/interaction/bds-tooltip.ts +100 -5
  396. package/src/web-components/interaction/form/BdsCheckbox.mdx +20 -1
  397. package/src/web-components/interaction/form/BdsCheckbox.stories.tsx +8 -0
  398. package/src/web-components/interaction/form/BdsCheckboxGroup.mdx +4 -3
  399. package/src/web-components/interaction/form/BdsCombobox.mdx +39 -2
  400. package/src/web-components/interaction/form/BdsCombobox.stories.tsx +31 -0
  401. package/src/web-components/interaction/form/BdsFieldGroup.mdx +8 -3
  402. package/src/web-components/interaction/form/BdsFieldGroup.stories.tsx +1 -1
  403. package/src/web-components/interaction/form/BdsFileInput.mdx +26 -5
  404. package/src/web-components/interaction/form/BdsFormInput.mdx +16 -1
  405. package/src/web-components/interaction/form/BdsNumberInput.mdx +34 -2
  406. package/src/web-components/interaction/form/BdsNumberInput.stories.tsx +27 -3
  407. package/src/web-components/interaction/form/BdsRadio.mdx +39 -12
  408. package/src/web-components/interaction/form/BdsRadio.stories.tsx +26 -0
  409. package/src/web-components/interaction/form/BdsRadioGroup.mdx +9 -4
  410. package/src/web-components/interaction/form/BdsSegmentedControl.mdx +37 -11
  411. package/src/web-components/interaction/form/BdsSelect.mdx +22 -4
  412. package/src/web-components/interaction/form/BdsSelect.stories.tsx +33 -0
  413. package/src/web-components/interaction/form/BdsSlider.mdx +36 -19
  414. package/src/web-components/interaction/form/BdsSlider.stories.tsx +24 -0
  415. package/src/web-components/interaction/form/BdsSwitch.mdx +38 -11
  416. package/src/web-components/interaction/form/BdsSwitch.stories.tsx +16 -0
  417. package/src/web-components/interaction/form/BdsTextarea.mdx +42 -16
  418. package/src/web-components/interaction/form/BdsTextarea.stories.tsx +21 -0
  419. package/src/web-components/interaction/form/bds-checkbox-group.spec.ts +99 -0
  420. package/src/web-components/interaction/form/bds-checkbox-group.ts +95 -9
  421. package/src/web-components/interaction/form/bds-checkbox.spec.ts +55 -0
  422. package/src/web-components/interaction/form/bds-checkbox.ts +30 -5
  423. package/src/web-components/interaction/form/bds-combobox.spec.ts +79 -0
  424. package/src/web-components/interaction/form/bds-combobox.ts +102 -17
  425. package/src/web-components/interaction/form/bds-field-group.spec.ts +158 -0
  426. package/src/web-components/interaction/form/bds-field-group.ts +167 -23
  427. package/src/web-components/interaction/form/bds-file-input.spec.ts +73 -5
  428. package/src/web-components/interaction/form/bds-file-input.ts +71 -34
  429. package/src/web-components/interaction/form/bds-form-input.spec.ts +22 -0
  430. package/src/web-components/interaction/form/bds-form-input.ts +27 -16
  431. package/src/web-components/interaction/form/bds-number-input.spec.ts +49 -0
  432. package/src/web-components/interaction/form/bds-number-input.ts +118 -29
  433. package/src/web-components/interaction/form/bds-radio-group.spec.ts +57 -0
  434. package/src/web-components/interaction/form/bds-radio-group.ts +60 -12
  435. package/src/web-components/interaction/form/bds-radio.spec.ts +123 -0
  436. package/src/web-components/interaction/form/bds-radio.ts +136 -23
  437. package/src/web-components/interaction/form/bds-segmented-control.spec.ts +55 -0
  438. package/src/web-components/interaction/form/bds-segmented-control.ts +81 -59
  439. package/src/web-components/interaction/form/bds-select.spec.ts +57 -0
  440. package/src/web-components/interaction/form/bds-select.ts +96 -8
  441. package/src/web-components/interaction/form/bds-slider.spec.ts +83 -0
  442. package/src/web-components/interaction/form/bds-slider.ts +181 -33
  443. package/src/web-components/interaction/form/bds-switch.spec.ts +68 -0
  444. package/src/web-components/interaction/form/bds-switch.ts +142 -41
  445. package/src/web-components/interaction/form/bds-textarea.spec.ts +71 -0
  446. package/src/web-components/interaction/form/bds-textarea.ts +109 -8
  447. package/src/web-components/layout/BdsGrid.mdx +6 -2
  448. package/src/web-components/layout/BdsGrid.stories.tsx +4 -0
  449. package/src/web-components/layout/bds-grid-item.spec.ts +21 -0
  450. package/src/web-components/layout/bds-grid-item.ts +17 -3
  451. package/src/web-components/layout/bds-grid.spec.ts +98 -0
  452. package/src/web-components/layout/bds-grid.ts +139 -19
  453. package/src/web-components/ui/BdsAlert.mdx +6 -5
  454. package/src/web-components/ui/BdsAlert.stories.tsx +6 -6
  455. package/src/web-components/ui/BdsAvatar.mdx +4 -2
  456. package/src/web-components/ui/BdsBreadcrumb.mdx +3 -2
  457. package/src/web-components/ui/BdsButtonContainer.mdx +64 -0
  458. package/src/web-components/ui/BdsButtonContainer.stories.tsx +84 -0
  459. package/src/web-components/ui/BdsCalendar.mdx +29 -4
  460. package/src/web-components/ui/BdsCalendar.stories.tsx +16 -18
  461. package/src/web-components/ui/BdsCalendarRange.mdx +71 -0
  462. package/src/web-components/ui/BdsCalendarRange.stories.tsx +31 -0
  463. package/src/web-components/ui/BdsCard.mdx +7 -3
  464. package/src/web-components/ui/BdsCard.stories.tsx +17 -1
  465. package/src/web-components/ui/BdsCarousel.mdx +40 -12
  466. package/src/web-components/ui/BdsDescriptionList.mdx +6 -1
  467. package/src/web-components/ui/BdsIconWrapper.mdx +3 -2
  468. package/src/web-components/ui/BdsLink.mdx +14 -2
  469. package/src/web-components/ui/BdsNotificationBanner.mdx +18 -0
  470. package/src/web-components/ui/BdsPagination.mdx +40 -1
  471. package/src/web-components/ui/BdsProgress.mdx +8 -2
  472. package/src/web-components/ui/BdsProgressCircle.mdx +5 -2
  473. package/src/web-components/ui/BdsRating.mdx +7 -0
  474. package/src/web-components/ui/BdsSectionHeader.mdx +22 -3
  475. package/src/web-components/ui/BdsSectionHeader.stories.tsx +15 -13
  476. package/src/web-components/ui/BdsTable.mdx +23 -2
  477. package/src/web-components/ui/BdsTable.stories.tsx +8 -2
  478. package/src/web-components/ui/BdsTypography.mdx +17 -1
  479. package/src/web-components/ui/bds-alert.spec.ts +17 -2
  480. package/src/web-components/ui/bds-alert.ts +31 -5
  481. package/src/web-components/ui/bds-avatar.spec.ts +29 -0
  482. package/src/web-components/ui/bds-avatar.ts +30 -12
  483. package/src/web-components/ui/bds-badge.spec.ts +5 -0
  484. package/src/web-components/ui/bds-badge.ts +11 -1
  485. package/src/web-components/ui/bds-breadcrumb.spec.ts +30 -0
  486. package/src/web-components/ui/bds-breadcrumb.ts +26 -4
  487. package/src/web-components/ui/bds-button-container.spec.ts +39 -0
  488. package/src/web-components/ui/bds-button-container.ts +123 -0
  489. package/src/web-components/ui/bds-button-group.spec.ts +14 -20
  490. package/src/web-components/ui/bds-button-group.ts +13 -64
  491. package/src/web-components/ui/bds-calendar-range.spec.ts +123 -0
  492. package/src/web-components/ui/bds-calendar-range.ts +307 -0
  493. package/src/web-components/ui/bds-calendar.spec.ts +176 -0
  494. package/src/web-components/ui/bds-calendar.ts +186 -344
  495. package/src/web-components/ui/bds-card.spec.ts +32 -0
  496. package/src/web-components/ui/bds-card.ts +34 -9
  497. package/src/web-components/ui/bds-carousel.spec.ts +147 -0
  498. package/src/web-components/ui/bds-carousel.ts +113 -36
  499. package/src/web-components/ui/bds-description-list.spec.ts +15 -0
  500. package/src/web-components/ui/bds-description-list.ts +37 -3
  501. package/src/web-components/ui/bds-icon-wrapper.spec.ts +12 -0
  502. package/src/web-components/ui/bds-icon-wrapper.ts +16 -15
  503. package/src/web-components/ui/bds-link.spec.ts +17 -0
  504. package/src/web-components/ui/bds-link.ts +26 -11
  505. package/src/web-components/ui/bds-loading.ts +11 -1
  506. package/src/web-components/ui/bds-notification-banner.spec.ts +13 -0
  507. package/src/web-components/ui/bds-notification-banner.ts +18 -1
  508. package/src/web-components/ui/bds-pagination.spec.ts +44 -0
  509. package/src/web-components/ui/bds-pagination.ts +39 -19
  510. package/src/web-components/ui/bds-progress-circle.spec.ts +21 -0
  511. package/src/web-components/ui/bds-progress-circle.ts +17 -5
  512. package/src/web-components/ui/bds-progress.spec.ts +21 -0
  513. package/src/web-components/ui/bds-progress.ts +19 -6
  514. package/src/web-components/ui/bds-rating.spec.ts +6 -0
  515. package/src/web-components/ui/bds-rating.ts +12 -2
  516. package/src/web-components/ui/bds-section-header.spec.ts +39 -8
  517. package/src/web-components/ui/bds-section-header.ts +47 -13
  518. package/src/web-components/ui/bds-separator.ts +10 -0
  519. package/src/web-components/ui/bds-skeleton.ts +10 -0
  520. package/src/web-components/ui/bds-table.spec.ts +63 -0
  521. package/src/web-components/ui/bds-table.ts +88 -28
  522. package/src/web-components/ui/bds-typography.spec.ts +47 -0
  523. package/src/web-components/ui/bds-typography.ts +28 -10
  524. package/src/web-components/ui/calendar-styles.ts +94 -0
  525. package/dist/web-components/chunk-5TFWOPLH.js +0 -49
  526. package/dist/web-components/chunk-7FMR53BW.js +0 -127
  527. package/dist/web-components/chunk-AGKJTMJI.js +0 -56
  528. package/dist/web-components/chunk-BQLZ7I4G.js +0 -56
  529. package/dist/web-components/chunk-IYGF6CD5.js +0 -118
  530. package/dist/web-components/chunk-QBB6ZX4R.js +0 -107
  531. package/dist/web-components/chunk-Y3POAKGS.js +0 -133
  532. package/dist/web-components/chunk-Y4MAXTMA.js +0 -80
  533. package/dist/web-components/chunk-Y7V7LM6R.js +0 -98
  534. package/src/web-components/ui/BdsButtonGroup.mdx +0 -69
  535. 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 };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsFieldGroup
3
+ } from "../../chunk-SEO2F5KJ.js";
4
+ import "../../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsFieldGroup
7
+ };
@@ -47,7 +47,7 @@ declare class BdsFileInput extends LitElement {
47
47
  formResetCallback(): void;
48
48
  private _handleFiles;
49
49
  private _handleInputChange;
50
- private _handleClick;
50
+ private _isFileAccepted;
51
51
  private _handleDragover;
52
52
  private _handleDragleave;
53
53
  private _handleDrop;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsFileInput
3
- } from "../../chunk-PY62FTRW.js";
3
+ } from "../../chunk-KZPRFY5P.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsFileInput
@@ -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 };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsFormInput
3
+ } from "../../chunk-CUKQ2L5B.js";
4
+ import "../../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsFormInput
7
+ };
@@ -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;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsNumberInput
3
- } from "../../chunk-PXZWYO6Z.js";
3
+ } from "../../chunk-VED2DFJ6.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsNumberInput
@@ -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 };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsRadioGroup
3
+ } from "../../chunk-JV5QT2OU.js";
4
+ import "../../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsRadioGroup
7
+ };
@@ -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 — form field name (groups radio buttons)
12
- * value — submitted value when selected
13
- * checked — boolean; whether this option is selected
14
- * required — boolean
15
- * disabled — boolean
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 {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsRadio
3
- } from "../../chunk-IYGF6CD5.js";
3
+ } from "../../chunk-3WAV6MDN.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsRadio
@@ -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>;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsSegmentedControl
3
- } from "../../chunk-2FGATTGT.js";
3
+ } from "../../chunk-NTQ4TCUT.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsSegmentedControl
@@ -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 — native change event (forwarded from inner select)
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;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsSelect
3
- } from "../../chunk-CM3KYZ6Z.js";
3
+ } from "../../chunk-JH6LQKLK.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsSelect
@@ -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 — form field name
12
- * value — current value (default: 0)
13
- * min — minimum value (default: 0)
14
- * max — maximum value (default: 100)
15
- * step — step increment (default: 1)
16
- * disabled boolean
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 — fired as the user drags
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 {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsSlider
3
- } from "../../chunk-7FMR53BW.js";
3
+ } from "../../chunk-FEDABOR5.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsSlider