@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
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsAccordionItem
3
- } from "../chunk-FXURM6D5.js";
3
+ } from "../chunk-YFAXGRPR.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsAccordionItem
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsAccordion
3
- } from "../chunk-BKIHQYJR.js";
3
+ } from "../chunk-PXPPKCLT.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsAccordion
@@ -13,10 +13,15 @@ type ButtonSize = 'small' | 'medium' | 'large';
13
13
  * href — renders an <a> tag instead of <button>
14
14
  * target — forwarded to <a> when href is set
15
15
  * rel — forwarded to <a> when href is set
16
- * has-pulse — boolean, enables the pulse ring animation
17
- * is-icon-only — boolean, forces a 1:1 aspect ratio with minimal xs padding (requires aria-label)
16
+ * has-pulse — boolean, enables the pulse ring animation (respects prefers-reduced-motion)
17
+ * is-icon-only — boolean, forces a 1:1 aspect ratio with minimal xxs padding (requires aria-label)
18
18
  * type — "button" (default) | "submit" | "reset"
19
19
  *
20
+ * Form participation: form-associated via the Form-Associated Custom Elements
21
+ * API (ElementInternals). When nested inside a light-DOM <form>, type="submit"
22
+ * calls the form's requestSubmit() and type="reset" calls its reset() — the
23
+ * inner shadow-DOM <button> has no native form of its own to act on.
24
+ *
20
25
  * Slots:
21
26
  * (default) — button label
22
27
  * icon-start — icon placed before the label
@@ -32,6 +37,7 @@ type ButtonSize = 'small' | 'medium' | 'large';
32
37
  * </bds-button>
33
38
  */
34
39
  declare class BdsButton extends LitElement {
40
+ static formAssociated: boolean;
35
41
  static styles: lit.CSSResult;
36
42
  static properties: {
37
43
  variant: {
@@ -91,10 +97,12 @@ declare class BdsButton extends LitElement {
91
97
  ariaLabel: string | null;
92
98
  private _iconStartFilled;
93
99
  private _iconEndFilled;
100
+ private _internals;
94
101
  constructor();
95
102
  private _onIconSlotChange;
96
103
  private get _classes();
97
104
  private _handleAnchorClick;
105
+ private _handleButtonClick;
98
106
  private _iconSlot;
99
107
  render(): lit.TemplateResult<1>;
100
108
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsButton
3
- } from "../chunk-F5E3IT7G.js";
3
+ } from "../chunk-XIZWAWMJ.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsButton
@@ -8,8 +8,11 @@ import { LitElement } from 'lit';
8
8
  *
9
9
  * Attributes:
10
10
  * open — boolean; controlled open state
11
- * name — groups multiple collapsibles so only one is open at a time
12
- * (native <details name="…"> behaviour)
11
+ * name — groups multiple collapsibles so only one is open at a time.
12
+ * Each instance renders its own <details> in its own shadow root, so
13
+ * native <details name> grouping (tree-scoped) can't see across
14
+ * instances; the component emulates it by closing same-name siblings
15
+ * found via document.querySelectorAll() whenever one opens.
13
16
  *
14
17
  * Slots:
15
18
  * summary — the always-visible trigger text
@@ -40,6 +43,8 @@ declare class BdsCollapsible extends LitElement {
40
43
  name: string;
41
44
  constructor();
42
45
  updated(changed: Map<string, unknown>): void;
46
+ private _closeOtherGroupMembers;
47
+ private _setOpen;
43
48
  private _onToggle;
44
49
  render(): lit.TemplateResult<1>;
45
50
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsCollapsible
3
- } from "../chunk-6I2DBFQ7.js";
3
+ } from "../chunk-HGFCJXOQ.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsCollapsible
@@ -6,10 +6,13 @@ import { LitElement } from 'lit';
6
6
  *
7
7
  * Wraps a native `<dialog>` element with `showModal()` / `close()` lifecycle,
8
8
  * backdrop-click to dismiss, Escape key handling, Tab focus trapping, and
9
- * the Invoker Commands API (`command="show-modal"` / `command="close"`).
9
+ * the Invoker Commands API (custom commands `--show-modal` / `--close`; the
10
+ * unprefixed `show-modal` / `close` values are still accepted for
11
+ * compatibility with polyfilled/legacy environments).
10
12
  *
11
13
  * Attributes:
12
14
  * open — boolean; controlled open state (syncs to native showModal/close)
15
+ * aria-label — accessible name forwarded to the inner shadow <dialog>
13
16
  *
14
17
  * Slots:
15
18
  * (default) — dialog content
@@ -19,10 +22,10 @@ import { LitElement } from 'lit';
19
22
  * bds-close — fired (bubbles, composed) when the dialog closes
20
23
  *
21
24
  * @example
22
- * <bds-dialog id="my-dialog">
25
+ * <bds-dialog id="my-dialog" aria-label="Confirm deletion">
23
26
  * <p>Dialog content</p>
24
27
  * </bds-dialog>
25
- * <button commandfor="my-dialog" command="show-modal">Open</button>
28
+ * <button commandfor="my-dialog" command="--show-modal">Open</button>
26
29
  */
27
30
  declare class BdsDialog extends LitElement {
28
31
  static styles: lit.CSSResult;
@@ -31,8 +34,13 @@ declare class BdsDialog extends LitElement {
31
34
  type: BooleanConstructor;
32
35
  reflect: boolean;
33
36
  };
37
+ ariaLabel: {
38
+ type: StringConstructor;
39
+ attribute: string;
40
+ };
34
41
  };
35
42
  open: boolean;
43
+ ariaLabel: string | null;
36
44
  private _triggerEl;
37
45
  constructor();
38
46
  connectedCallback(): void;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsDialog
3
- } from "../chunk-65JXQOBA.js";
3
+ } from "../chunk-U3YZE6R6.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsDialog
@@ -11,6 +11,7 @@ type DrawerSide = 'left' | 'right';
11
11
  * Attributes:
12
12
  * open — boolean; controlled open state
13
13
  * side — "left" | "right" (default: "right")
14
+ * aria-label — optional; overrides the default accessible name (the title slot)
14
15
  *
15
16
  * Slots:
16
17
  * title — drawer title text
@@ -25,7 +26,7 @@ type DrawerSide = 'left' | 'right';
25
26
  * <span slot="title">Settings</span>
26
27
  * <p>Drawer content</p>
27
28
  * </bds-drawer>
28
- * <button commandfor="my-drawer" command="show-modal">Open</button>
29
+ * <button commandfor="my-drawer" command="--show-modal">Open</button>
29
30
  */
30
31
  declare class BdsDrawer extends LitElement {
31
32
  static styles: lit.CSSResult;
@@ -38,9 +39,14 @@ declare class BdsDrawer extends LitElement {
38
39
  type: StringConstructor;
39
40
  reflect: boolean;
40
41
  };
42
+ ariaLabel: {
43
+ type: StringConstructor;
44
+ attribute: string;
45
+ };
41
46
  };
42
47
  open: boolean;
43
48
  side: DrawerSide;
49
+ ariaLabel: string | null;
44
50
  private _triggerEl;
45
51
  constructor();
46
52
  connectedCallback(): void;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsDrawer
3
- } from "../chunk-KUI55GFB.js";
3
+ } from "../chunk-JUPCZVVW.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsDrawer
@@ -0,0 +1,51 @@
1
+ import * as lit from 'lit';
2
+ import { LitElement } from 'lit';
3
+
4
+ /**
5
+ * `<bds-dropdown-menu-item>` — a single item inside a `<bds-dropdown-menu>`.
6
+ *
7
+ * Attributes:
8
+ * value — value associated with this item
9
+ * disabled — disables this item
10
+ * destructive — renders the item in a destructive (red) style
11
+ *
12
+ * Slots:
13
+ * (default) — item label text
14
+ *
15
+ * Events:
16
+ * bds-select — fired when the item is clicked or activated; `detail: { value: string }`
17
+ *
18
+ * @example
19
+ * <bds-dropdown-menu-item value="delete" destructive>Delete</bds-dropdown-menu-item>
20
+ */
21
+ declare class BdsDropdownMenuItem extends LitElement {
22
+ static styles: lit.CSSResult;
23
+ static properties: {
24
+ value: {
25
+ type: StringConstructor;
26
+ reflect: boolean;
27
+ };
28
+ disabled: {
29
+ type: BooleanConstructor;
30
+ reflect: boolean;
31
+ };
32
+ destructive: {
33
+ type: BooleanConstructor;
34
+ reflect: boolean;
35
+ };
36
+ };
37
+ value: string;
38
+ disabled: boolean;
39
+ destructive: boolean;
40
+ constructor();
41
+ private _handleClick;
42
+ private _handleKeydown;
43
+ render(): lit.TemplateResult<1>;
44
+ }
45
+ declare global {
46
+ interface HTMLElementTagNameMap {
47
+ 'bds-dropdown-menu-item': BdsDropdownMenuItem;
48
+ }
49
+ }
50
+
51
+ export { BdsDropdownMenuItem };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsDropdownMenuItem
3
+ } from "../chunk-QZAIRJ75.js";
4
+ import "../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsDropdownMenuItem
7
+ };
@@ -0,0 +1,70 @@
1
+ import * as lit from 'lit';
2
+ import { LitElement } from 'lit';
3
+
4
+ type DropdownMenuPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
5
+ /**
6
+ * `<bds-dropdown-menu>` — anchored dropdown menu with keyboard navigation.
7
+ *
8
+ * The panel is an absolutely-positioned element inside the shadow root (not
9
+ * the native Popover API / top layer) — it can be clipped by an ancestor's
10
+ * `overflow` or stacking context. Light-dismiss is implemented via a
11
+ * document-level `click` listener. The trigger slot element controls
12
+ * open/close. The component handles keyboard navigation (Arrow keys, Home,
13
+ * End, Escape, Tab) and focus management.
14
+ *
15
+ * Attributes:
16
+ * open — controls open/closed state (reflected)
17
+ * placement — menu position relative to trigger (default: `"bottom-start"`)
18
+ *
19
+ * Slots:
20
+ * trigger — the activating element (button or similar)
21
+ * (default) — `<bds-dropdown-menu-item>` elements
22
+ *
23
+ * Events:
24
+ * bds-open — fired when the menu opens
25
+ * bds-close — fired when the menu closes
26
+ *
27
+ * @example
28
+ * <bds-dropdown-menu>
29
+ * <button slot="trigger">Options</button>
30
+ * <bds-dropdown-menu-item value="edit">Edit</bds-dropdown-menu-item>
31
+ * <bds-dropdown-menu-item value="delete" destructive>Delete</bds-dropdown-menu-item>
32
+ * </bds-dropdown-menu>
33
+ */
34
+ declare class BdsDropdownMenu extends LitElement {
35
+ static styles: lit.CSSResult;
36
+ static properties: {
37
+ open: {
38
+ type: BooleanConstructor;
39
+ reflect: boolean;
40
+ };
41
+ placement: {
42
+ type: StringConstructor;
43
+ reflect: boolean;
44
+ };
45
+ };
46
+ open: boolean;
47
+ placement: DropdownMenuPlacement;
48
+ private readonly _uid;
49
+ private get _panelId();
50
+ constructor();
51
+ connectedCallback(): void;
52
+ disconnectedCallback(): void;
53
+ private get _items();
54
+ private get _trigger();
55
+ _open(): void;
56
+ _close(): void;
57
+ private _handleTriggerClick;
58
+ private _handleOutsideClick;
59
+ private _handleKeydown;
60
+ private _handleItemSelect;
61
+ private _onTriggerSlotChange;
62
+ render(): lit.TemplateResult<1>;
63
+ }
64
+ declare global {
65
+ interface HTMLElementTagNameMap {
66
+ 'bds-dropdown-menu': BdsDropdownMenu;
67
+ }
68
+ }
69
+
70
+ export { BdsDropdownMenu, type DropdownMenuPlacement };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsDropdownMenu
3
+ } from "../chunk-NIN3JO6Q.js";
4
+ import "../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsDropdownMenu
7
+ };
@@ -10,11 +10,14 @@ type PopoverPlacement = 'bottom' | 'top' | 'left' | 'right';
10
10
  * overflow the viewport (`@position-try` fallbacks).
11
11
  *
12
12
  * Attributes:
13
- * placement — "bottom" (default) | "top" | "left" | "right"
14
- * open — boolean; reflects whether the panel is visible
13
+ * placement — "bottom" (default) | "top" | "left" | "right"
14
+ * open — boolean; reflects whether the panel is visible
15
+ * aria-label — accessible name for the panel; when present the panel gets
16
+ * `role="region"` (mirrors the React implementation)
15
17
  *
16
18
  * Slots:
17
- * trigger — the element that opens/closes the panel on click
19
+ * trigger — the element that opens/closes the panel on click. Receives
20
+ * `aria-haspopup`, `aria-controls` and `aria-expanded` wiring.
18
21
  * (default) — panel content
19
22
  *
20
23
  * Events:
@@ -38,10 +41,17 @@ declare class BdsPopover extends LitElement {
38
41
  type: BooleanConstructor;
39
42
  reflect: boolean;
40
43
  };
44
+ ariaLabel: {
45
+ type: StringConstructor;
46
+ attribute: string;
47
+ };
41
48
  };
42
49
  placement: PopoverPlacement;
43
50
  open: boolean;
51
+ ariaLabel: string | null;
44
52
  private _anchorName;
53
+ private _panelId;
54
+ private _triggerEl;
45
55
  constructor();
46
56
  connectedCallback(): void;
47
57
  disconnectedCallback(): void;
@@ -51,6 +61,7 @@ declare class BdsPopover extends LitElement {
51
61
  private _toggle;
52
62
  private _open;
53
63
  private _close;
64
+ private _onTriggerSlotChange;
54
65
  render(): lit.TemplateResult<1>;
55
66
  }
56
67
  declare global {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsPopover
3
- } from "../chunk-TQ7IQ4GZ.js";
3
+ } from "../chunk-QEF2IRID.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsPopover
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsSkipLink
3
- } from "../chunk-BQLZ7I4G.js";
3
+ } from "../chunk-66M6ETWD.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsSkipLink
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsTabPanel
3
- } from "../chunk-OQTRTMAB.js";
3
+ } from "../chunk-WIBAN7KP.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsTabPanel
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsTab
3
- } from "../chunk-6I3CFC26.js";
3
+ } from "../chunk-RSZ3BWBK.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsTab
@@ -27,6 +27,7 @@ declare class BdsTabs extends LitElement {
27
27
  static styles: lit.CSSResult;
28
28
  private _activeIndex;
29
29
  private _mo;
30
+ private readonly _uid;
30
31
  connectedCallback(): void;
31
32
  disconnectedCallback(): void;
32
33
  private get _tabs();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsTabs
3
- } from "../chunk-L3XHOMN6.js";
3
+ } from "../chunk-F3ZDNHZZ.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsTabs
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsToastProvider
3
- } from "../chunk-YLVTEY23.js";
3
+ } from "../chunk-BTCMJQKB.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsToastProvider
@@ -16,9 +16,14 @@ type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
16
16
  * (default) — the trigger element (button, icon, etc.)
17
17
  *
18
18
  * Accessibility:
19
- * The `aria-describedby` relationship between trigger and tooltip panel
20
- * cannot cross shadow DOM boundaries; screen readers will announce the tooltip
21
- * via role="tooltip" proximity when it becomes visible.
19
+ * `aria-describedby` id references only resolve within the same tree scope, so a
20
+ * slotted (light-DOM) trigger can never reference an id that lives inside this
21
+ * element's shadow root. To keep the description reachable, a visually-hidden
22
+ * `<span>` holding `content` is appended as a light-DOM child of the host and its
23
+ * id is written into `aria-describedby` on the slotted trigger — both elements then
24
+ * share the light DOM's tree scope, so the reference resolves in every browser. The
25
+ * shadow-DOM tooltip bubble stays `aria-hidden="true"`; it is purely the visual
26
+ * presentation, shown on `:hover`/`:focus-within`.
22
27
  *
23
28
  * @example
24
29
  * <bds-tooltip content="More information" placement="bottom">
@@ -38,7 +43,18 @@ declare class BdsTooltip extends LitElement {
38
43
  };
39
44
  content: string;
40
45
  placement: TooltipPlacement;
46
+ private readonly _uid;
47
+ /** Visually-hidden light-DOM node holding `content`, referenced by the trigger's aria-describedby. */
48
+ private _descEl;
41
49
  constructor();
50
+ connectedCallback(): void;
51
+ disconnectedCallback(): void;
52
+ updated(changed: Map<string, unknown>): void;
53
+ private get _descId();
54
+ /** Ensures the hidden description node exists (or is torn down) and re-wires the trigger. */
55
+ private _syncDescription;
56
+ private _describeTrigger;
57
+ private _teardownDescription;
42
58
  render(): lit.TemplateResult<1>;
43
59
  }
44
60
  declare global {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsTooltip
3
- } from "../chunk-Y7V7LM6R.js";
3
+ } from "../chunk-M3ECULRH.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsTooltip
@@ -0,0 +1,83 @@
1
+ import * as lit from 'lit';
2
+ import { LitElement } from 'lit';
3
+
4
+ /**
5
+ * `<bds-checkbox-group>` — groups related checkboxes with a shared label.
6
+ *
7
+ * Renders a `<fieldset>` with a `<legend>` for accessible grouping.
8
+ * Propagates `disabled` to slotted `<bds-checkbox>` elements — a shadow-DOM
9
+ * `<fieldset disabled>` has no effect on slotted light-DOM content on its
10
+ * own, so the group attribute is explicitly applied to (and removed from)
11
+ * each child. A checkbox individually marked `disabled` in markup stays
12
+ * disabled even after the group re-enables.
13
+ *
14
+ * `required` is surfaced to assistive tech via a visually-hidden "(required)"
15
+ * text alternative in the legend rather than `aria-required` on the fieldset —
16
+ * `aria-required` is only a supported property on the `checkbox`, `combobox`,
17
+ * `gridcell`, `listbox`, `radiogroup`, `spinbutton`, `textbox` and `tree`
18
+ * roles; a bare `<fieldset>` maps to the generic `group` role, which does not
19
+ * support it (there is no ARIA `checkboxgroup` role), so the attribute would
20
+ * be silently ignored by assistive tech.
21
+ *
22
+ * Attributes:
23
+ * label — visible group label (rendered as `<legend>`)
24
+ * error — error message shown below items
25
+ * hint — hint text shown below items
26
+ * disabled — disables the entire fieldset and all slotted `<bds-checkbox>` elements
27
+ * required — marks the group as required
28
+ *
29
+ * Slots:
30
+ * (default) — `<bds-checkbox>` elements
31
+ *
32
+ * @example
33
+ * <bds-checkbox-group label="Interests" required>
34
+ * <bds-checkbox name="sports" value="sports">Sports</bds-checkbox>
35
+ * <bds-checkbox name="music" value="music">Music</bds-checkbox>
36
+ * </bds-checkbox-group>
37
+ */
38
+ declare class BdsCheckboxGroup extends LitElement {
39
+ static styles: lit.CSSResult;
40
+ static properties: {
41
+ label: {
42
+ type: StringConstructor;
43
+ };
44
+ error: {
45
+ type: StringConstructor;
46
+ };
47
+ hint: {
48
+ type: StringConstructor;
49
+ };
50
+ disabled: {
51
+ type: BooleanConstructor;
52
+ reflect: boolean;
53
+ };
54
+ required: {
55
+ type: BooleanConstructor;
56
+ reflect: boolean;
57
+ };
58
+ };
59
+ label: string;
60
+ error: string | undefined;
61
+ hint: string | undefined;
62
+ disabled: boolean;
63
+ required: boolean;
64
+ private readonly _uid;
65
+ constructor();
66
+ /**
67
+ * Propagates `disabled` to slotted `<bds-checkbox>` elements. Only checkboxes
68
+ * that were enabled before the group disabled them are re-enabled when the
69
+ * group re-enables — a checkbox individually marked `disabled` in markup
70
+ * stays disabled.
71
+ */
72
+ private _propagateDisabled;
73
+ connectedCallback(): void;
74
+ updated(changed: Map<string, unknown>): void;
75
+ render(): lit.TemplateResult<1>;
76
+ }
77
+ declare global {
78
+ interface HTMLElementTagNameMap {
79
+ 'bds-checkbox-group': BdsCheckboxGroup;
80
+ }
81
+ }
82
+
83
+ export { BdsCheckboxGroup };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsCheckboxGroup
3
+ } from "../../chunk-VANAKB6D.js";
4
+ import "../../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsCheckboxGroup
7
+ };
@@ -14,6 +14,7 @@ import { LitElement } from 'lit';
14
14
  * checked — boolean; whether the checkbox is checked
15
15
  * required — boolean
16
16
  * disabled — boolean
17
+ * error — boolean; puts the checkbox in an error state (border colour + aria-invalid)
17
18
  *
18
19
  * Slots:
19
20
  * (default) — label text
@@ -47,12 +48,17 @@ declare class BdsCheckbox extends LitElement {
47
48
  type: BooleanConstructor;
48
49
  reflect: boolean;
49
50
  };
51
+ error: {
52
+ type: BooleanConstructor;
53
+ reflect: boolean;
54
+ };
50
55
  };
51
56
  name: string;
52
57
  value: string;
53
58
  checked: boolean;
54
59
  required: boolean;
55
60
  disabled: boolean;
61
+ error: boolean;
56
62
  private _internals;
57
63
  private readonly _uid;
58
64
  constructor();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsCheckbox
3
- } from "../../chunk-3GFWLSLS.js";
3
+ } from "../../chunk-KA3VPKMY.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsCheckbox
@@ -17,6 +17,9 @@ interface ComboboxOption {
17
17
  * value — currently selected value
18
18
  * options — JSON array of `{ value, label, disabled? }` option objects
19
19
  * placeholder — input placeholder text
20
+ * label — visible label text (associated to the input via `<label for>`)
21
+ * hint — helper text shown below the input
22
+ * error — error message; when set the input enters error state
20
23
  * disabled — boolean
21
24
  *
22
25
  * Events:
@@ -25,6 +28,7 @@ interface ComboboxOption {
25
28
  * @example
26
29
  * <bds-combobox
27
30
  * name="country"
31
+ * label="Country"
28
32
  * placeholder="Search…"
29
33
  * options='[{"value":"nl","label":"Netherlands"},{"value":"be","label":"Belgium"}]'
30
34
  * ></bds-combobox>
@@ -46,6 +50,16 @@ declare class BdsCombobox extends LitElement {
46
50
  placeholder: {
47
51
  type: StringConstructor;
48
52
  };
53
+ label: {
54
+ type: StringConstructor;
55
+ };
56
+ hint: {
57
+ type: StringConstructor;
58
+ };
59
+ error: {
60
+ type: StringConstructor;
61
+ reflect: boolean;
62
+ };
49
63
  disabled: {
50
64
  type: BooleanConstructor;
51
65
  reflect: boolean;
@@ -55,8 +69,12 @@ declare class BdsCombobox extends LitElement {
55
69
  value: string;
56
70
  options: string;
57
71
  placeholder: string;
72
+ label: string;
73
+ hint: string | undefined;
74
+ error: string | undefined;
58
75
  disabled: boolean;
59
76
  private _internals;
77
+ private readonly _uid;
60
78
  private _open;
61
79
  private _query;
62
80
  private _focusedIndex;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsCombobox
3
- } from "../../chunk-CZBIVR4V.js";
3
+ } from "../../chunk-47AT5KZD.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsCombobox