@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
@@ -14,12 +14,20 @@ import { LitElement } from 'lit';
14
14
  * checked — boolean; whether the switch is on
15
15
  * required — boolean
16
16
  * disabled — boolean
17
+ * error — error message; when set the track shows the error colour and
18
+ * the input reports `aria-invalid="true"`
19
+ * size — "small" | "medium" (default) | "large"
17
20
  *
18
21
  * Slots:
19
22
  * (default) — label text
20
23
  *
24
+ * Events:
25
+ * bds-change — composed CustomEvent fired when the switch is toggled
26
+ * (crosses the shadow boundary); `detail: { checked: boolean }`
27
+ *
21
28
  * @example
22
29
  * <bds-switch name="notifications" value="enabled">Enable notifications</bds-switch>
30
+ * <bds-switch name="darkMode" size="small" error="Required">Dark mode</bds-switch>
23
31
  */
24
32
  declare class BdsSwitch extends LitElement {
25
33
  static formAssociated: boolean;
@@ -44,15 +52,27 @@ declare class BdsSwitch extends LitElement {
44
52
  type: BooleanConstructor;
45
53
  reflect: boolean;
46
54
  };
55
+ error: {
56
+ type: StringConstructor;
57
+ reflect: boolean;
58
+ };
59
+ size: {
60
+ type: StringConstructor;
61
+ reflect: boolean;
62
+ };
47
63
  };
48
64
  name: string;
49
65
  value: string;
50
66
  checked: boolean;
51
67
  required: boolean;
52
68
  disabled: boolean;
69
+ error: string | undefined;
70
+ size: 'small' | 'medium' | 'large';
53
71
  private _internals;
54
72
  private readonly _uid;
73
+ private _initialChecked;
55
74
  constructor();
75
+ connectedCallback(): void;
56
76
  updated(changed: Map<string, unknown>): void;
57
77
  formResetCallback(): void;
58
78
  private _handleChange;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsSwitch
3
- } from "../../chunk-Y3POAKGS.js";
3
+ } from "../../chunk-3AY2YKCM.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsSwitch
@@ -12,15 +12,18 @@ import { LitElement } from 'lit';
12
12
  * value — text value
13
13
  * placeholder — placeholder text
14
14
  * rows — number of visible rows (default: 4)
15
+ * label — visible label text
16
+ * hint — helper text shown below the textarea
17
+ * error — error message; when set the textarea enters error state
15
18
  * required — boolean
16
19
  * disabled — boolean
17
20
  *
18
21
  * Events:
19
- * input — native input event
20
- * change — native change event
22
+ * bds-input — fired on every keystroke; `detail: { value: string }`
23
+ * bds-change — fired when the value is committed; `detail: { value: string }`
21
24
  *
22
25
  * @example
23
- * <bds-textarea name="message" placeholder="Enter message…" rows="6"></bds-textarea>
26
+ * <bds-textarea name="message" label="Message" placeholder="Enter message…" rows="6"></bds-textarea>
24
27
  */
25
28
  declare class BdsTextarea extends LitElement {
26
29
  static formAssociated: boolean;
@@ -39,6 +42,16 @@ declare class BdsTextarea extends LitElement {
39
42
  rows: {
40
43
  type: NumberConstructor;
41
44
  };
45
+ label: {
46
+ type: StringConstructor;
47
+ };
48
+ hint: {
49
+ type: StringConstructor;
50
+ };
51
+ error: {
52
+ type: StringConstructor;
53
+ reflect: boolean;
54
+ };
42
55
  required: {
43
56
  type: BooleanConstructor;
44
57
  reflect: boolean;
@@ -52,13 +65,20 @@ declare class BdsTextarea extends LitElement {
52
65
  value: string;
53
66
  placeholder: string;
54
67
  rows: number;
68
+ label: string;
69
+ hint: string | undefined;
70
+ error: string | undefined;
55
71
  required: boolean;
56
72
  disabled: boolean;
57
73
  private _internals;
74
+ private readonly _uid;
75
+ private _initialValue;
58
76
  constructor();
77
+ connectedCallback(): void;
59
78
  updated(changed: Map<string, unknown>): void;
60
79
  formResetCallback(): void;
61
80
  private _handleInput;
81
+ private _handleChange;
62
82
  render(): lit.TemplateResult<1>;
63
83
  }
64
84
  declare global {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsTextarea
3
- } from "../../chunk-QBB6ZX4R.js";
3
+ } from "../../chunk-2OLVQUBU.js";
4
4
  import "../../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsTextarea
@@ -0,0 +1,63 @@
1
+ import * as lit from 'lit';
2
+ import { LitElement } from 'lit';
3
+
4
+ type GridItemSpanValue = 'full' | 'three-quarters' | 'two-thirds' | 'half' | 'one-third' | 'one-quarter' | 'auto' | number;
5
+ /**
6
+ * `<bds-grid-item>` — grid cell for `<bds-grid>`.
7
+ *
8
+ * Attributes:
9
+ * column-span — 'full' | 'three-quarters' | 'two-thirds' | 'half' | 'one-third' | 'one-quarter' | 'auto' | number
10
+ * `'auto'` derives the span from the intrinsic aspect ratio of the first
11
+ * `<img>` or `<video>` child (see Grid.mdx for thresholds).
12
+ * If the parent `<bds-grid>` sets `auto-span-media` and this element has
13
+ * no `column-span`, the item behaves as if `column-span="auto"`.
14
+ * row-span — number
15
+ * start-column — number (escape hatch; overrides column-span)
16
+ * end-column — number (escape hatch; overrides column-span)
17
+ *
18
+ * @example
19
+ * <bds-grid-item column-span="three-quarters">Content</bds-grid-item>
20
+ */
21
+ declare class BdsGridItem extends LitElement {
22
+ static styles: lit.CSSResult;
23
+ static properties: {
24
+ columnSpan: {
25
+ attribute: string;
26
+ };
27
+ rowSpan: {
28
+ attribute: string;
29
+ type: NumberConstructor;
30
+ };
31
+ startColumn: {
32
+ attribute: string;
33
+ type: NumberConstructor;
34
+ };
35
+ endColumn: {
36
+ attribute: string;
37
+ type: NumberConstructor;
38
+ };
39
+ };
40
+ columnSpan: GridItemSpanValue | undefined;
41
+ rowSpan: number | undefined;
42
+ startColumn: number | undefined;
43
+ endColumn: number | undefined;
44
+ private _autoSpan;
45
+ private _mediaCleanup?;
46
+ private _slotObserver?;
47
+ constructor();
48
+ connectedCallback(): void;
49
+ disconnectedCallback(): void;
50
+ private _effectiveColumnSpan;
51
+ private _teardownMedia;
52
+ private _resolveAutoSpan;
53
+ private _setAutoSpan;
54
+ updated(): void;
55
+ render(): lit.TemplateResult<1>;
56
+ }
57
+ declare global {
58
+ interface HTMLElementTagNameMap {
59
+ 'bds-grid-item': BdsGridItem;
60
+ }
61
+ }
62
+
63
+ export { BdsGridItem, type GridItemSpanValue };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsGridItem
3
+ } from "../chunk-W6H5ID2U.js";
4
+ import "../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsGridItem
7
+ };
@@ -0,0 +1,108 @@
1
+ import * as lit from 'lit';
2
+ import { LitElement } from 'lit';
3
+
4
+ type GridVariant = 'main' | 'page' | 'funnel' | 'custom';
5
+ /**
6
+ * `<bds-grid>` — framework-agnostic Grid layout custom element.
7
+ *
8
+ * Attributes:
9
+ * variant — "main" (default) | "page" | "funnel" | "custom"
10
+ * columns — number; column count when variant="custom"
11
+ * is-centered — boolean; centers the grid and caps width via --bds-container_max-width
12
+ * is-masonry — boolean; enables masonry layout per CSS Grid Level 3.
13
+ * Uses native `display: grid-lanes` / `grid-template-rows: masonry`
14
+ * when supported, otherwise runs a JS polyfill.
15
+ * auto-span-media — boolean; child `<bds-grid-item>`s without a `column-span`
16
+ * attribute resolve their span from the intrinsic aspect
17
+ * ratio of their first `<img>`/`<video>` child.
18
+ * masonry-preferred-column-span — named span or number; masonry only. Child
19
+ * items without a `column-span` attribute try to span this
20
+ * value (e.g. `"half"`, `"one-third"`). Named values adapt
21
+ * across breakpoints via the foundation's responsive column
22
+ * tokens. An item at row-end is demoted to the remaining
23
+ * column count. Numeric values are literal and don't adapt.
24
+ * masonry-row-unit-px — number; masonry only. Manual override for the
25
+ * row-track unit (px) the polyfill uses for
26
+ * `grid-auto-rows` and as the ceil() granularity of each
27
+ * item's row span. Omit to let the polyfill auto-pick the
28
+ * smallest unit that keeps the implicit row count under
29
+ * any browser cap.
30
+ *
31
+ * Slots:
32
+ * (default) — grid content; typically `<bds-grid-item>` children
33
+ */
34
+ declare class BdsGrid extends LitElement {
35
+ static styles: lit.CSSResult;
36
+ static properties: {
37
+ variant: {
38
+ type: StringConstructor;
39
+ reflect: boolean;
40
+ };
41
+ columns: {
42
+ type: NumberConstructor;
43
+ reflect: boolean;
44
+ };
45
+ isCentered: {
46
+ type: BooleanConstructor;
47
+ attribute: string;
48
+ reflect: boolean;
49
+ };
50
+ isMasonry: {
51
+ type: BooleanConstructor;
52
+ attribute: string;
53
+ reflect: boolean;
54
+ };
55
+ autoSpanMedia: {
56
+ type: BooleanConstructor;
57
+ attribute: string;
58
+ reflect: boolean;
59
+ };
60
+ masonryPreferredColumnSpan: {
61
+ type: StringConstructor;
62
+ attribute: string;
63
+ reflect: boolean;
64
+ };
65
+ masonryRowUnitPx: {
66
+ type: NumberConstructor;
67
+ attribute: string;
68
+ reflect: boolean;
69
+ };
70
+ };
71
+ variant: GridVariant;
72
+ columns: number | undefined;
73
+ isCentered: boolean;
74
+ isMasonry: boolean;
75
+ autoSpanMedia: boolean;
76
+ masonryPreferredColumnSpan: string | undefined;
77
+ masonryRowUnitPx: number | undefined;
78
+ private _ro?;
79
+ private _mo?;
80
+ private _frame;
81
+ private _engaged;
82
+ private _scrolling;
83
+ private _pendingResize;
84
+ private _scrollTimer?;
85
+ private _onResize;
86
+ private _onMutate;
87
+ private _onScroll;
88
+ constructor();
89
+ connectedCallback(): void;
90
+ disconnectedCallback(): void;
91
+ updated(): void;
92
+ private _gridEl;
93
+ private _items;
94
+ private _observeDescendants;
95
+ private _setupMasonry;
96
+ private _apply;
97
+ private _scheduleMasonry;
98
+ private _resolvePreferredColumnSpan;
99
+ private _teardownMasonry;
100
+ render(): lit.TemplateResult<1>;
101
+ }
102
+ declare global {
103
+ interface HTMLElementTagNameMap {
104
+ 'bds-grid': BdsGrid;
105
+ }
106
+ }
107
+
108
+ export { BdsGrid, type GridVariant };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsGrid
3
+ } from "../chunk-ITD2MV5K.js";
4
+ import "../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsGrid
7
+ };
@@ -7,7 +7,11 @@ type AlertVariant = 'info' | 'success' | 'warning' | 'error';
7
7
  *
8
8
  * Attributes:
9
9
  * variant — "info" (default) | "success" | "warning" | "error"
10
- * title — optional heading above the body text
10
+ * heading — optional heading above the body text
11
+ * title — deprecated alias for `heading`. Collides with the global HTML
12
+ * `title` attribute, which triggers a native browser tooltip on
13
+ * hover — use `heading` instead. Kept working for backwards
14
+ * compatibility; will be removed in a later major.
11
15
  * dismissible — boolean; shows a dismiss button when present
12
16
  *
13
17
  * Slots:
@@ -22,7 +26,7 @@ type AlertVariant = 'info' | 'success' | 'warning' | 'error';
22
26
  * role="status" + aria-live="polite" for info/success variants.
23
27
  *
24
28
  * @example
25
- * <bds-alert variant="success" title="Saved!">Your changes have been saved.</bds-alert>
29
+ * <bds-alert variant="success" heading="Saved!">Your changes have been saved.</bds-alert>
26
30
  *
27
31
  * <bds-alert variant="error" dismissible>
28
32
  * <svg slot="icon">…</svg>
@@ -36,6 +40,9 @@ declare class BdsAlert extends LitElement {
36
40
  type: StringConstructor;
37
41
  reflect: boolean;
38
42
  };
43
+ heading: {
44
+ type: StringConstructor;
45
+ };
39
46
  title: {
40
47
  type: StringConstructor;
41
48
  };
@@ -48,10 +55,17 @@ declare class BdsAlert extends LitElement {
48
55
  };
49
56
  };
50
57
  variant: AlertVariant;
58
+ heading: string;
59
+ /**
60
+ * @deprecated Use `heading` instead. Sharing the name with the global HTML
61
+ * `title` attribute makes the browser show a native tooltip on hover.
62
+ * Still read as a fallback for the heading text when `heading` is unset.
63
+ */
51
64
  title: string;
52
65
  dismissible: boolean;
53
66
  private _iconFilled;
54
67
  constructor();
68
+ private get _headingText();
55
69
  private _onIconSlotChange;
56
70
  private get _isUrgent();
57
71
  private _handleDismiss;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsAlert
3
- } from "../chunk-NCPQ7AF3.js";
3
+ } from "../chunk-6G22I2CK.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsAlert
@@ -8,7 +8,8 @@ import { LitElement } from 'lit';
8
8
  *
9
9
  * Attributes:
10
10
  * src — image URL
11
- * alt — image alt text (defaults to `name` or "User avatar")
11
+ * alt — image alt text (defaults to `name` or "User avatar"). Set alt=""
12
+ * explicitly to mark the image as decorative (silences the accessible name).
12
13
  * name — full name; used to compute initials and as fallback aria-label
13
14
  * size — "small" | "medium" (default) | "large"
14
15
  *
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsAvatar
3
- } from "../chunk-57TRNCWQ.js";
3
+ } from "../chunk-WFVKU4GX.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsAvatar
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsBadge
3
- } from "../chunk-QWPACK5L.js";
3
+ } from "../chunk-BPYKZVDK.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsBadge
@@ -10,7 +10,9 @@ interface BreadcrumbItem {
10
10
  *
11
11
  * Attributes:
12
12
  * items — JSON string array of `{ label: string, href?: string }` objects.
13
- * The last item is treated as the current page (no link).
13
+ * The last item is treated as the current page (no link). Any other
14
+ * item without an `href` renders as plain text instead of a link.
15
+ * Malformed JSON (or a removed attribute) falls back to `[]`.
14
16
  *
15
17
  * @example
16
18
  * <bds-breadcrumb items='[{"label":"Home","href":"/"},{"label":"Products","href":"/products"},{"label":"Item"}]'></bds-breadcrumb>
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BdsBreadcrumb
3
- } from "../chunk-Q4T5BJT6.js";
3
+ } from "../chunk-62NK3ZSC.js";
4
4
  import "../chunk-LGEZYFUU.js";
5
5
  export {
6
6
  BdsBreadcrumb
@@ -0,0 +1,52 @@
1
+ import * as lit from 'lit';
2
+ import { LitElement } from 'lit';
3
+
4
+ type ButtonContainerVariant = 'flow' | 'card' | 'modal' | 'content';
5
+ /**
6
+ * `<bds-button-container>` — responsive layout wrapper for a row of action
7
+ * buttons (Cancel / Confirm, Back / Next, …). Web-component port of the React
8
+ * `ButtonContainer`.
9
+ *
10
+ * Buttons stack vertically (primary on top via `column-reverse`) on narrow
11
+ * containers and lay out in a row once the container is at least 30rem wide.
12
+ * The `variant` controls alignment:
13
+ * - `flow` — multi-step navigation (Back / Next); single child pushed to the end
14
+ * - `card` — single-form submit; centered / full-width
15
+ * - `modal` — dialog actions; aligned to the end
16
+ * - `content` — inline content actions; aligned to the start
17
+ *
18
+ * Attributes:
19
+ * variant — `"flow"` | `"card"` | `"modal"` | `"content"`
20
+ * aria-label — accessible label for the group
21
+ *
22
+ * Slots:
23
+ * (default) — `<bds-button>` elements
24
+ *
25
+ * @example
26
+ * <bds-button-container variant="modal" aria-label="Dialog actions">
27
+ * <bds-button variant="outline">Cancel</bds-button>
28
+ * <bds-button>Confirm</bds-button>
29
+ * </bds-button-container>
30
+ */
31
+ declare class BdsButtonContainer extends LitElement {
32
+ static styles: lit.CSSResult;
33
+ static properties: {
34
+ variant: {
35
+ type: StringConstructor;
36
+ reflect: boolean;
37
+ };
38
+ 'aria-label': {
39
+ type: StringConstructor;
40
+ };
41
+ };
42
+ variant: ButtonContainerVariant | undefined;
43
+ ['aria-label']: string | undefined;
44
+ render(): lit.TemplateResult<1>;
45
+ }
46
+ declare global {
47
+ interface HTMLElementTagNameMap {
48
+ 'bds-button-container': BdsButtonContainer;
49
+ }
50
+ }
51
+
52
+ export { BdsButtonContainer, type ButtonContainerVariant };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsButtonContainer
3
+ } from "../chunk-4A2YYTYN.js";
4
+ import "../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsButtonContainer
7
+ };
@@ -0,0 +1,21 @@
1
+ import { BdsButtonContainer, ButtonContainerVariant } from './bds-button-container.js';
2
+ import 'lit';
3
+
4
+ /**
5
+ * `<bds-button-group>` — **deprecated** alias of `<bds-button-container>`.
6
+ *
7
+ * @deprecated Use `<bds-button-container>` (class `BdsButtonContainer`) instead.
8
+ * `bds-button-group` is a backwards-compatible alias and will be removed in a
9
+ * future major version. It behaves identically to `<bds-button-container>`.
10
+ */
11
+ declare class BdsButtonGroup extends BdsButtonContainer {
12
+ }
13
+ /** @deprecated Use `ButtonContainerVariant` instead. */
14
+ type ButtonGroupVariant = ButtonContainerVariant;
15
+ declare global {
16
+ interface HTMLElementTagNameMap {
17
+ 'bds-button-group': BdsButtonGroup;
18
+ }
19
+ }
20
+
21
+ export { BdsButtonGroup, type ButtonGroupVariant };
@@ -0,0 +1,8 @@
1
+ import {
2
+ BdsButtonGroup
3
+ } from "../chunk-DIZDCL7Z.js";
4
+ import "../chunk-4A2YYTYN.js";
5
+ import "../chunk-LGEZYFUU.js";
6
+ export {
7
+ BdsButtonGroup
8
+ };
@@ -0,0 +1,121 @@
1
+ import * as lit from 'lit';
2
+ import { LitElement } from 'lit';
3
+
4
+ /**
5
+ * `<bds-calendar>` — form-associated date picker calendar.
6
+ *
7
+ * Month grid for selecting a date, keyboard-navigable via the WAI-ARIA grid
8
+ * pattern (roving tabindex). Participates in forms via the Form-Associated
9
+ * Custom Elements API. Shares all date logic with the React <Calendar> through
10
+ * calendar-core.
11
+ *
12
+ * Attributes: name, value (YYYY-MM-DD), min, max, disabled, months,
13
+ * page-by ("months"|"single"), first-day-of-week (0–6, default 1),
14
+ * locale, previous-label, next-label.
15
+ * Properties (JS only): isDateDisallowed, formatWeekday, formatMonth, formatDay.
16
+ * Events: bds-date-select — detail: { date: string } (ISO 8601).
17
+ */
18
+ declare class BdsCalendar extends LitElement {
19
+ static formAssociated: boolean;
20
+ static styles: lit.CSSResult;
21
+ static properties: {
22
+ name: {
23
+ type: StringConstructor;
24
+ reflect: boolean;
25
+ };
26
+ value: {
27
+ type: StringConstructor;
28
+ reflect: boolean;
29
+ };
30
+ min: {
31
+ type: StringConstructor;
32
+ };
33
+ max: {
34
+ type: StringConstructor;
35
+ };
36
+ disabled: {
37
+ type: BooleanConstructor;
38
+ reflect: boolean;
39
+ };
40
+ months: {
41
+ type: NumberConstructor;
42
+ reflect: boolean;
43
+ };
44
+ pageBy: {
45
+ type: StringConstructor;
46
+ attribute: string;
47
+ };
48
+ firstDayOfWeek: {
49
+ type: NumberConstructor;
50
+ attribute: string;
51
+ };
52
+ locale: {
53
+ type: StringConstructor;
54
+ };
55
+ previousLabel: {
56
+ type: StringConstructor;
57
+ attribute: string;
58
+ };
59
+ nextLabel: {
60
+ type: StringConstructor;
61
+ attribute: string;
62
+ };
63
+ isDateDisallowed: {
64
+ attribute: boolean;
65
+ };
66
+ formatWeekday: {
67
+ attribute: boolean;
68
+ };
69
+ formatMonth: {
70
+ attribute: boolean;
71
+ };
72
+ formatDay: {
73
+ attribute: boolean;
74
+ };
75
+ };
76
+ name: string;
77
+ value: string;
78
+ min: string;
79
+ max: string;
80
+ disabled: boolean;
81
+ months: number;
82
+ pageBy: 'months' | 'single';
83
+ firstDayOfWeek: number;
84
+ locale: string;
85
+ previousLabel: string;
86
+ nextLabel: string;
87
+ isDateDisallowed?: (date: Date) => boolean;
88
+ formatWeekday?: (date: Date) => string;
89
+ formatMonth?: (date: Date) => string;
90
+ formatDay?: (date: Date) => string;
91
+ private _internals;
92
+ private _viewYear;
93
+ private _viewMonth;
94
+ private _focusedIso;
95
+ constructor();
96
+ willUpdate(changed: Map<string, unknown>): void;
97
+ updated(changed: Map<string, unknown>): void;
98
+ formResetCallback(): void;
99
+ formDisabledCallback(disabled: boolean): void;
100
+ private get _localeOrUndefined();
101
+ private get _count();
102
+ private _monthVisible;
103
+ private _setView;
104
+ private _page;
105
+ private _isDisabledDate;
106
+ private _selectDate;
107
+ private _handleKeydown;
108
+ private _weekdayNames;
109
+ private _monthLabel;
110
+ private _dayLabel;
111
+ private _tabbableIso;
112
+ private _renderMonth;
113
+ render(): lit.TemplateResult<1>;
114
+ }
115
+ declare global {
116
+ interface HTMLElementTagNameMap {
117
+ 'bds-calendar': BdsCalendar;
118
+ }
119
+ }
120
+
121
+ export { BdsCalendar };
@@ -0,0 +1,7 @@
1
+ import {
2
+ BdsCalendar
3
+ } from "../chunk-UO7ROSHD.js";
4
+ import "../chunk-LGEZYFUU.js";
5
+ export {
6
+ BdsCalendar
7
+ };