opui-css 6.0.0-rc.1 → 6.0.0-rc.2

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 (2503) hide show
  1. package/CHANGELOG.md +220 -155
  2. package/MIGRATING-legacy.md +3 -3
  3. package/MIGRATING.md +183 -136
  4. package/README.md +81 -47
  5. package/astro/index.ts +39 -2
  6. package/components/Accordion/Accordion.react.tsx +4 -1
  7. package/components/Accordion/AccordionActions.react.tsx +9 -2
  8. package/components/Accordion/AccordionContent.react.tsx +10 -2
  9. package/components/Accordion/AccordionSummary.astro +8 -6
  10. package/components/Accordion/AccordionSummary.react.tsx +2 -2
  11. package/components/Accordion/AccordionSummary.svelte +12 -5
  12. package/components/Accordion/AccordionSummary.vue +7 -6
  13. package/components/Accordion/types.vue-props.ts +3 -5
  14. package/components/Anchor/Anchor.astro +1 -1
  15. package/components/Anchor/Anchor.react.tsx +11 -4
  16. package/components/Anchor/Anchor.svelte +3 -4
  17. package/components/Anchor/Anchor.vue +10 -8
  18. package/components/Anchor/AnchorContent.react.tsx +6 -3
  19. package/components/Anchor/AnchorContent.svelte +2 -1
  20. package/components/Anchor/AnchorContent.vue +9 -1
  21. package/components/Anchor/context.svelte.js +9 -0
  22. package/components/Anchor/types.vue-props.ts +4 -6
  23. package/components/Avatar/Avatar.astro +8 -3
  24. package/components/Avatar/Avatar.react.tsx +6 -4
  25. package/components/Avatar/Avatar.svelte +4 -1
  26. package/components/Avatar/Avatar.vue +12 -3
  27. package/components/Avatar/AvatarGroup.react.tsx +6 -3
  28. package/components/Avatar/AvatarGroup.svelte +2 -1
  29. package/components/Avatar/AvatarGroup.vue +13 -1
  30. package/components/Avatar/types.ts +4 -1
  31. package/components/Avatar/types.vue-props.ts +6 -2
  32. package/components/Badge/Badge.astro +17 -19
  33. package/components/Badge/Badge.react.tsx +8 -12
  34. package/components/Badge/Badge.svelte +13 -11
  35. package/components/Badge/Badge.vue +14 -14
  36. package/components/Badge/types.react.ts +1 -3
  37. package/components/Badge/types.svelte.ts +3 -3
  38. package/components/Badge/types.vue-props.ts +2 -2
  39. package/components/Button/Button.astro +6 -3
  40. package/components/Button/Button.react.tsx +8 -5
  41. package/components/Button/Button.svelte +2 -1
  42. package/components/Button/Button.vue +9 -2
  43. package/components/Button/types.vue-props.ts +1 -1
  44. package/components/Callout/Callout.react.tsx +4 -1
  45. package/components/Callout/CalloutActions.astro +9 -0
  46. package/components/Callout/CalloutActions.react.tsx +14 -0
  47. package/components/Callout/CalloutActions.svelte +15 -0
  48. package/components/Callout/CalloutActions.vue +12 -0
  49. package/components/Callout/CalloutContent.react.tsx +10 -2
  50. package/components/Callout/CalloutIcon.astro +13 -16
  51. package/components/Callout/CalloutIcon.react.tsx +16 -14
  52. package/components/Callout/CalloutIcon.svelte +4 -2
  53. package/components/Callout/CalloutIcon.vue +11 -2
  54. package/components/Callout/context.svelte.js +9 -0
  55. package/components/Callout/types.astro.ts +3 -0
  56. package/components/Callout/types.react.ts +5 -1
  57. package/components/Callout/types.svelte.ts +5 -1
  58. package/components/Callout/types.ts +3 -1
  59. package/components/Callout/types.vue-props.ts +4 -1
  60. package/components/Card/Card.astro +17 -5
  61. package/components/Card/Card.react.tsx +20 -4
  62. package/components/Card/Card.svelte +10 -2
  63. package/components/Card/Card.vue +13 -3
  64. package/components/Card/CardActions.react.tsx +9 -2
  65. package/components/Card/CardContent.react.tsx +6 -2
  66. package/components/Card/CardHeader.astro +4 -3
  67. package/components/Card/CardHeader.react.tsx +13 -2
  68. package/components/Card/CardHeader.svelte +3 -2
  69. package/components/Card/CardHeader.vue +3 -3
  70. package/components/Card/types.ts +7 -1
  71. package/components/Card/types.vue-props.ts +2 -2
  72. package/components/Carousel/Carousel.astro +12 -2
  73. package/components/Carousel/Carousel.react.tsx +8 -1
  74. package/components/Carousel/Carousel.svelte +12 -2
  75. package/components/Carousel/Carousel.vue +15 -6
  76. package/components/Carousel/types.ts +4 -1
  77. package/components/Carousel/types.vue-props.ts +1 -1
  78. package/components/Checkbox/Checkbox.astro +14 -17
  79. package/components/Checkbox/Checkbox.react.tsx +4 -9
  80. package/components/Checkbox/Checkbox.svelte +4 -6
  81. package/components/Checkbox/Checkbox.vue +19 -21
  82. package/components/Checkbox/CheckboxInput.astro +1 -2
  83. package/components/Checkbox/CheckboxInput.react.tsx +7 -24
  84. package/components/Checkbox/CheckboxInput.svelte +11 -8
  85. package/components/Checkbox/CheckboxInput.vue +14 -16
  86. package/components/Checkbox/types.react.ts +4 -4
  87. package/components/Checkbox/types.svelte.ts +11 -9
  88. package/components/Checkbox/types.vue-props.ts +6 -8
  89. package/components/Chip/Chip.astro +13 -12
  90. package/components/Chip/Chip.react.tsx +5 -9
  91. package/components/Chip/Chip.svelte +9 -8
  92. package/components/Chip/Chip.vue +15 -12
  93. package/components/Chip/types.react.ts +3 -6
  94. package/components/Chip/types.svelte.ts +3 -6
  95. package/components/Chip/types.vue-props.ts +2 -6
  96. package/components/{ButtonGroup/ButtonGroup.astro → ControlGroup/ControlGroup.astro} +2 -2
  97. package/components/{ButtonGroup/ButtonGroup.react.tsx → ControlGroup/ControlGroup.react.tsx} +9 -7
  98. package/components/{ButtonGroup/ButtonGroup.svelte → ControlGroup/ControlGroup.svelte} +4 -5
  99. package/components/{ButtonGroup/ButtonGroup.vue → ControlGroup/ControlGroup.vue} +11 -4
  100. package/components/Copy/Copy.astro +28 -0
  101. package/components/Copy/Copy.react.tsx +46 -0
  102. package/components/Copy/Copy.svelte +32 -0
  103. package/components/Copy/Copy.vue +32 -0
  104. package/components/Copy/types.astro.ts +4 -0
  105. package/components/Copy/types.react.ts +4 -0
  106. package/components/Copy/types.svelte.ts +4 -0
  107. package/components/Copy/types.ts +5 -0
  108. package/components/Copy/types.vue-props.ts +6 -0
  109. package/components/DescriptionList/DescriptionList.react.tsx +5 -5
  110. package/components/DescriptionList/DescriptionList.svelte +1 -4
  111. package/components/DescriptionList/DescriptionList.vue +1 -4
  112. package/components/DescriptionList/DescriptionListDescription.react.tsx +6 -1
  113. package/components/DescriptionList/DescriptionListDescription.svelte +2 -1
  114. package/components/DescriptionList/DescriptionListDescription.vue +2 -1
  115. package/components/DescriptionList/DescriptionListItem.astro +2 -2
  116. package/components/DescriptionList/DescriptionListItem.react.tsx +11 -2
  117. package/components/DescriptionList/DescriptionListItem.svelte +3 -1
  118. package/components/DescriptionList/DescriptionListItem.vue +3 -2
  119. package/components/DescriptionList/DescriptionListTerm.react.tsx +10 -2
  120. package/components/DescriptionList/DescriptionListTerm.svelte +2 -1
  121. package/components/DescriptionList/DescriptionListTerm.vue +2 -1
  122. package/components/DescriptionList/types.astro.ts +2 -1
  123. package/components/DescriptionList/types.react.ts +2 -1
  124. package/components/DescriptionList/types.svelte.ts +2 -1
  125. package/components/DescriptionList/types.ts +4 -0
  126. package/components/DescriptionList/types.vue-props.ts +7 -4
  127. package/components/Dialog/Dialog.astro +5 -4
  128. package/components/Dialog/Dialog.react.tsx +15 -6
  129. package/components/Dialog/Dialog.svelte +7 -4
  130. package/components/Dialog/Dialog.vue +26 -6
  131. package/components/Dialog/DialogContent.react.tsx +6 -2
  132. package/components/Dialog/DialogFooter.react.tsx +9 -2
  133. package/components/Dialog/DialogHeader.astro +32 -2
  134. package/components/Dialog/DialogHeader.react.tsx +44 -2
  135. package/components/Dialog/DialogHeader.svelte +35 -1
  136. package/components/Dialog/DialogHeader.vue +34 -4
  137. package/components/Dialog/DialogTitle.react.tsx +12 -3
  138. package/components/Dialog/DialogTitle.svelte +3 -3
  139. package/components/Dialog/DialogTitle.vue +4 -2
  140. package/components/Dialog/context.svelte.js +9 -0
  141. package/components/Dialog/icons.ts +2 -0
  142. package/components/Dialog/types.react.ts +5 -3
  143. package/components/Dialog/types.svelte.ts +3 -1
  144. package/components/Dialog/types.ts +8 -1
  145. package/components/Dialog/types.vue-props.ts +6 -6
  146. package/components/Divider/Divider.astro +24 -26
  147. package/components/Divider/Divider.svelte +2 -2
  148. package/components/Drawer/Drawer.react.tsx +10 -6
  149. package/components/Drawer/Drawer.svelte +5 -5
  150. package/components/Drawer/Drawer.vue +16 -8
  151. package/components/Drawer/DrawerContent.react.tsx +6 -2
  152. package/components/Drawer/DrawerFooter.react.tsx +9 -2
  153. package/components/Drawer/DrawerHeader.astro +25 -15
  154. package/components/Drawer/DrawerHeader.react.tsx +25 -18
  155. package/components/Drawer/DrawerHeader.svelte +25 -20
  156. package/components/Drawer/DrawerHeader.vue +21 -11
  157. package/components/Drawer/DrawerTitle.react.tsx +12 -3
  158. package/components/Drawer/DrawerTitle.svelte +3 -3
  159. package/components/Drawer/DrawerTitle.vue +4 -2
  160. package/components/Drawer/context.svelte.js +9 -0
  161. package/components/Drawer/types.react.ts +5 -4
  162. package/components/Drawer/types.svelte.ts +3 -2
  163. package/components/Drawer/types.ts +4 -0
  164. package/components/Drawer/types.vue-props.ts +6 -6
  165. package/components/FieldDescription/FieldDescription.react.tsx +10 -2
  166. package/components/FieldGroup/FieldGroup.react.tsx +4 -1
  167. package/components/FieldGroup/FieldGroup.vue +1 -0
  168. package/components/FieldGroup/context.svelte.js +9 -0
  169. package/components/FieldLegend/FieldLegend.astro +12 -4
  170. package/components/FieldLegend/FieldLegend.react.tsx +20 -5
  171. package/components/FieldLegend/FieldLegend.svelte +13 -1
  172. package/components/FieldLegend/FieldLegend.vue +13 -7
  173. package/components/FieldLegend/types.vue-props.ts +4 -0
  174. package/components/Fieldset/Fieldset.astro +18 -4
  175. package/components/Fieldset/Fieldset.react.tsx +23 -8
  176. package/components/Fieldset/Fieldset.svelte +19 -2
  177. package/components/Fieldset/Fieldset.vue +30 -4
  178. package/components/Fieldset/context.astro.ts +4 -0
  179. package/components/Fieldset/context.react.ts +8 -0
  180. package/components/Fieldset/context.svelte.js +9 -0
  181. package/components/Fieldset/context.vue.ts +4 -0
  182. package/components/Fieldset/types.ts +4 -0
  183. package/components/Fieldset/types.vue-props.ts +1 -4
  184. package/components/Form/Form.astro +2 -1
  185. package/components/Form/Form.react.tsx +7 -4
  186. package/components/Form/Form.vue +2 -6
  187. package/components/Form/types.vue-props.ts +1 -4
  188. package/components/List/List.astro +1 -0
  189. package/components/List/List.react.tsx +8 -7
  190. package/components/List/List.svelte +4 -6
  191. package/components/List/List.vue +11 -5
  192. package/components/ListItem/ListItem.astro +46 -54
  193. package/components/ListItem/ListItem.react.tsx +41 -29
  194. package/components/ListItem/ListItem.svelte +68 -40
  195. package/components/ListItem/ListItem.vue +44 -43
  196. package/components/ListItem/types.react.ts +4 -8
  197. package/components/ListItem/types.svelte.ts +2 -6
  198. package/components/ListItem/types.vue-props.ts +3 -4
  199. package/components/Menu/Menu.astro +34 -42
  200. package/components/Menu/Menu.react.tsx +61 -59
  201. package/components/Menu/Menu.svelte +9 -6
  202. package/components/Menu/Menu.vue +12 -6
  203. package/components/Menu/context.svelte.js +9 -0
  204. package/components/Menu/types.vue-props.ts +5 -6
  205. package/components/Message/Message.astro +52 -0
  206. package/components/Message/Message.react.tsx +51 -0
  207. package/components/Message/Message.svelte +65 -0
  208. package/components/Message/Message.vue +41 -0
  209. package/components/Message/Messages.astro +9 -0
  210. package/components/Message/Messages.react.tsx +15 -0
  211. package/components/Message/Messages.svelte +16 -0
  212. package/components/Message/Messages.vue +24 -0
  213. package/components/Message/types.astro.ts +6 -0
  214. package/components/Message/types.react.ts +6 -0
  215. package/components/Message/types.svelte.ts +7 -0
  216. package/components/Message/types.ts +16 -0
  217. package/components/Message/types.vue-props.ts +14 -0
  218. package/components/NumberField/NumberField.astro +133 -0
  219. package/components/NumberField/NumberField.react.tsx +133 -0
  220. package/components/NumberField/NumberField.svelte +137 -0
  221. package/components/NumberField/NumberField.vue +150 -0
  222. package/components/NumberField/icons.ts +3 -0
  223. package/components/NumberField/types.astro.ts +4 -0
  224. package/components/NumberField/types.react.ts +8 -0
  225. package/components/NumberField/types.svelte.ts +9 -0
  226. package/components/NumberField/types.ts +21 -0
  227. package/components/NumberField/types.vue-props.ts +18 -0
  228. package/components/OneTimeCode/OneTimeCode.astro +59 -0
  229. package/components/OneTimeCode/OneTimeCode.react.tsx +53 -0
  230. package/components/OneTimeCode/OneTimeCode.svelte +71 -0
  231. package/components/OneTimeCode/OneTimeCode.vue +74 -0
  232. package/components/OneTimeCode/types.astro.ts +5 -0
  233. package/components/OneTimeCode/types.react.ts +8 -0
  234. package/components/OneTimeCode/types.svelte.ts +9 -0
  235. package/components/OneTimeCode/types.ts +14 -0
  236. package/components/OneTimeCode/types.vue-props.ts +8 -0
  237. package/components/Progress/Progress.astro +10 -1
  238. package/components/Progress/Progress.react.tsx +2 -0
  239. package/components/Progress/Progress.svelte +2 -0
  240. package/components/Progress/Progress.vue +4 -5
  241. package/components/Progress/types.ts +1 -0
  242. package/components/Radio/Radio.astro +14 -17
  243. package/components/Radio/Radio.react.tsx +4 -9
  244. package/components/Radio/Radio.svelte +4 -6
  245. package/components/Radio/Radio.vue +18 -20
  246. package/components/Radio/RadioInput.react.tsx +2 -1
  247. package/components/Radio/RadioInput.svelte +18 -3
  248. package/components/Radio/RadioInput.vue +20 -8
  249. package/components/Radio/types.react.ts +4 -4
  250. package/components/Radio/types.svelte.ts +9 -9
  251. package/components/Radio/types.vue-props.ts +5 -7
  252. package/components/Range/Range.astro +54 -64
  253. package/components/Range/Range.react.tsx +43 -67
  254. package/components/Range/Range.svelte +51 -45
  255. package/components/Range/Range.vue +95 -103
  256. package/components/Range/types.astro.ts +2 -1
  257. package/components/Range/types.react.ts +4 -6
  258. package/components/Range/types.svelte.ts +4 -9
  259. package/components/Range/types.ts +4 -1
  260. package/components/Range/types.vue-props.ts +7 -3
  261. package/components/Range/value.ts +1 -1
  262. package/components/Rating/Rating.astro +81 -0
  263. package/components/Rating/Rating.react.tsx +91 -0
  264. package/components/Rating/Rating.svelte +90 -0
  265. package/components/Rating/Rating.vue +104 -0
  266. package/components/Rating/types.astro.ts +5 -0
  267. package/components/Rating/types.react.ts +10 -0
  268. package/components/Rating/types.svelte.ts +9 -0
  269. package/components/Rating/types.ts +12 -0
  270. package/components/Rating/types.vue-props.ts +6 -0
  271. package/components/Select/Select.astro +53 -70
  272. package/components/Select/Select.react.tsx +12 -6
  273. package/components/Select/Select.svelte +6 -5
  274. package/components/Select/Select.vue +17 -20
  275. package/components/Select/types.astro.ts +1 -1
  276. package/components/Select/types.react.ts +6 -1
  277. package/components/Select/types.svelte.ts +6 -1
  278. package/components/Select/types.ts +0 -1
  279. package/components/Select/types.vue-props.ts +5 -5
  280. package/components/SelectAll/SelectAll.astro +15 -0
  281. package/components/SelectAll/SelectAll.react.tsx +17 -0
  282. package/components/SelectAll/SelectAll.svelte +16 -0
  283. package/components/SelectAll/SelectAll.vue +13 -0
  284. package/components/SelectAll/types.astro.ts +4 -0
  285. package/components/SelectAll/types.react.ts +4 -0
  286. package/components/SelectAll/types.svelte.ts +4 -0
  287. package/components/SelectAll/types.ts +1 -0
  288. package/components/SelectAll/types.vue-props.ts +6 -0
  289. package/components/SortableTable/SortableTable.astro +28 -0
  290. package/components/SortableTable/SortableTable.react.tsx +52 -0
  291. package/components/SortableTable/SortableTable.svelte +25 -0
  292. package/components/SortableTable/SortableTable.vue +27 -0
  293. package/components/SortableTable/types.astro.ts +4 -0
  294. package/components/SortableTable/types.react.ts +7 -0
  295. package/components/SortableTable/types.svelte.ts +4 -0
  296. package/components/SortableTable/types.ts +10 -0
  297. package/components/SortableTable/types.vue-props.ts +6 -0
  298. package/components/Stat/Stat.astro +21 -0
  299. package/components/Stat/Stat.react.tsx +26 -0
  300. package/components/Stat/Stat.svelte +32 -0
  301. package/components/Stat/Stat.vue +24 -0
  302. package/components/Stat/types.astro.ts +4 -0
  303. package/components/Stat/types.react.ts +8 -0
  304. package/components/Stat/types.svelte.ts +9 -0
  305. package/components/Stat/types.ts +10 -0
  306. package/components/Stat/types.vue-props.ts +7 -0
  307. package/components/Stepper/Stepper.astro +41 -0
  308. package/components/Stepper/Stepper.react.tsx +44 -0
  309. package/components/Stepper/Stepper.svelte +42 -0
  310. package/components/Stepper/Stepper.vue +40 -0
  311. package/components/Stepper/StepperItem.astro +56 -0
  312. package/components/Stepper/StepperItem.react.tsx +49 -0
  313. package/components/Stepper/StepperItem.svelte +55 -0
  314. package/components/Stepper/StepperItem.vue +71 -0
  315. package/components/Stepper/types.astro.ts +6 -0
  316. package/components/Stepper/types.react.ts +13 -0
  317. package/components/Stepper/types.svelte.ts +14 -0
  318. package/components/Stepper/types.ts +26 -0
  319. package/components/Stepper/types.vue-props.ts +18 -0
  320. package/components/Switch/Switch.astro +26 -31
  321. package/components/Switch/Switch.react.tsx +6 -11
  322. package/components/Switch/Switch.svelte +4 -6
  323. package/components/Switch/Switch.vue +25 -34
  324. package/components/Switch/SwitchInput.react.tsx +7 -1
  325. package/components/Switch/SwitchInput.svelte +10 -5
  326. package/components/Switch/SwitchInput.vue +19 -8
  327. package/components/Switch/types.react.ts +4 -4
  328. package/components/Switch/types.svelte.ts +11 -9
  329. package/components/Switch/types.vue-props.ts +5 -5
  330. package/components/Table/Table.react.tsx +4 -1
  331. package/components/Table/TableBody.react.tsx +2 -2
  332. package/components/Table/TableBody.svelte +5 -1
  333. package/components/Table/TableBody.vue +2 -1
  334. package/components/Table/TableCaption.react.tsx +2 -2
  335. package/components/Table/TableCaption.svelte +5 -1
  336. package/components/Table/TableCaption.vue +2 -1
  337. package/components/Table/TableCell.react.tsx +11 -2
  338. package/components/Table/TableCell.svelte +2 -1
  339. package/components/Table/TableCell.vue +2 -1
  340. package/components/Table/TableColumn.react.tsx +2 -3
  341. package/components/Table/TableColumn.vue +3 -4
  342. package/components/Table/TableColumnGroup.react.tsx +2 -2
  343. package/components/Table/TableColumnGroup.svelte +5 -1
  344. package/components/Table/TableColumnGroup.vue +2 -1
  345. package/components/Table/TableFoot.react.tsx +2 -2
  346. package/components/Table/TableFoot.svelte +5 -1
  347. package/components/Table/TableFoot.vue +2 -1
  348. package/components/Table/TableHead.react.tsx +2 -2
  349. package/components/Table/TableHead.svelte +5 -1
  350. package/components/Table/TableHead.vue +2 -1
  351. package/components/Table/TableHeaderCell.astro +13 -3
  352. package/components/Table/TableHeaderCell.react.tsx +12 -1
  353. package/components/Table/TableHeaderCell.svelte +15 -2
  354. package/components/Table/TableHeaderCell.vue +21 -3
  355. package/components/Table/TableRow.react.tsx +2 -2
  356. package/components/Table/TableRow.svelte +5 -1
  357. package/components/Table/TableRow.vue +2 -1
  358. package/components/Table/types.astro.ts +2 -1
  359. package/components/Table/types.react.ts +4 -2
  360. package/components/Table/types.svelte.ts +3 -2
  361. package/components/Table/types.ts +4 -0
  362. package/components/Table/types.vue-props.ts +2 -1
  363. package/components/Tabs/Tabs.astro +5 -3
  364. package/components/Tabs/Tabs.react.tsx +7 -5
  365. package/components/Tabs/Tabs.svelte +3 -2
  366. package/components/Tabs/Tabs.vue +8 -4
  367. package/components/Tabs/TabsItem.astro +5 -3
  368. package/components/Tabs/TabsItem.react.tsx +6 -5
  369. package/components/Tabs/TabsItem.svelte +7 -9
  370. package/components/Tabs/TabsItem.vue +26 -9
  371. package/components/Tabs/TabsLabel.react.tsx +10 -3
  372. package/components/Tabs/TabsLabel.vue +2 -2
  373. package/components/Tabs/TabsPanel.react.tsx +6 -2
  374. package/components/Tabs/TabsPanel.vue +2 -2
  375. package/components/Tabs/context.svelte.js +9 -0
  376. package/components/Tabs/types.react.ts +3 -0
  377. package/components/Tabs/types.svelte.ts +3 -0
  378. package/components/Tabs/types.ts +1 -0
  379. package/components/Tabs/types.vue-props.ts +7 -9
  380. package/components/TextField/TextField.astro +115 -57
  381. package/components/TextField/TextField.react.tsx +110 -12
  382. package/components/TextField/TextField.svelte +122 -18
  383. package/components/TextField/TextField.vue +130 -42
  384. package/components/TextField/icons.ts +5 -0
  385. package/components/TextField/types.astro.ts +6 -8
  386. package/components/TextField/types.react.ts +15 -8
  387. package/components/TextField/types.svelte.ts +13 -13
  388. package/components/TextField/types.ts +7 -0
  389. package/components/TextField/types.vue-props.ts +13 -8
  390. package/components/Textarea/Textarea.astro +52 -58
  391. package/components/Textarea/Textarea.react.tsx +25 -4
  392. package/components/Textarea/Textarea.svelte +46 -15
  393. package/components/Textarea/Textarea.vue +54 -36
  394. package/components/Textarea/types.react.ts +10 -4
  395. package/components/Textarea/types.svelte.ts +8 -6
  396. package/components/Textarea/types.ts +2 -0
  397. package/components/Textarea/types.vue-props.ts +5 -5
  398. package/components/Timeline/Timeline.astro +23 -0
  399. package/components/Timeline/Timeline.react.tsx +31 -0
  400. package/components/Timeline/Timeline.svelte +34 -0
  401. package/components/Timeline/Timeline.vue +28 -0
  402. package/components/Timeline/TimelineItem.astro +32 -0
  403. package/components/Timeline/TimelineItem.react.tsx +31 -0
  404. package/components/Timeline/TimelineItem.svelte +46 -0
  405. package/components/Timeline/TimelineItem.vue +47 -0
  406. package/components/Timeline/types.astro.ts +6 -0
  407. package/components/Timeline/types.react.ts +10 -0
  408. package/components/Timeline/types.svelte.ts +11 -0
  409. package/components/Timeline/types.ts +23 -0
  410. package/components/Timeline/types.vue-props.ts +14 -0
  411. package/components/Toaster/Toaster.astro +41 -0
  412. package/components/Toaster/Toaster.react.tsx +55 -0
  413. package/components/Toaster/Toaster.svelte +36 -0
  414. package/components/Toaster/Toaster.vue +37 -0
  415. package/components/Toaster/types.astro.ts +4 -0
  416. package/components/Toaster/types.react.ts +5 -0
  417. package/components/Toaster/types.svelte.ts +5 -0
  418. package/components/Toaster/types.ts +7 -0
  419. package/components/Toaster/types.vue-props.ts +6 -0
  420. package/components/ToggleButton/ToggleButton.astro +5 -1
  421. package/components/ToggleButton/ToggleButton.react.tsx +10 -6
  422. package/components/ToggleButton/ToggleButton.svelte +9 -7
  423. package/components/ToggleButton/ToggleButton.vue +25 -13
  424. package/components/ToggleButton/types.vue-props.ts +3 -3
  425. package/components/ToggleGroup/ToggleGroup.astro +9 -4
  426. package/components/ToggleGroup/ToggleGroup.react.tsx +7 -7
  427. package/components/ToggleGroup/ToggleGroup.svelte +7 -6
  428. package/components/ToggleGroup/ToggleGroup.vue +29 -10
  429. package/components/ToggleGroup/context.astro.ts +1 -1
  430. package/components/ToggleGroup/context.svelte.js +9 -0
  431. package/components/ToggleGroup/types.astro.ts +3 -1
  432. package/components/ToggleGroup/types.react.ts +12 -7
  433. package/components/ToggleGroup/types.ts +2 -1
  434. package/components/Tooltip/Tooltip.react.tsx +5 -2
  435. package/components/attrs.ts +4 -0
  436. package/components/content.svelte +2 -2
  437. package/components/cx.ts +17 -2
  438. package/components/dev.ts +35 -0
  439. package/components/id.ts +19 -3
  440. package/components/style.ts +13 -0
  441. package/components/svelte.ts +14 -0
  442. package/components/tag.ts +1 -0
  443. package/components/vue.ts +236 -5
  444. package/components/whitespace.ts +9 -0
  445. package/components/whitespace.vue.ts +16 -0
  446. package/core/normalize.css +9 -1
  447. package/core/palette.css +4 -4
  448. package/core/utils.css +4 -4
  449. package/css/compat/anchor.css +15 -0
  450. package/css/compat/carousel.css +12 -0
  451. package/css/compat/control-group.css +14 -0
  452. package/css/compat/copy.css +10 -0
  453. package/css/compat/dialog.css +7 -0
  454. package/css/compat/drawer.css +7 -0
  455. package/css/compat/menu.css +6 -0
  456. package/css/compat/one-time-code.css +20 -0
  457. package/css/compat/table.css +7 -0
  458. package/css/compat/tabs.css +7 -0
  459. package/css/compat/toggle-group.css +23 -0
  460. package/css/compat/tooltip.css +27 -0
  461. package/css/compat/typography.css +16 -0
  462. package/css/compat.css +12 -0
  463. package/css/components/accordion.css +5 -15
  464. package/css/components/avatar.css +15 -0
  465. package/css/components/button.css +130 -34
  466. package/css/components/callout.css +40 -0
  467. package/css/components/card.css +260 -47
  468. package/css/components/carousel.css +5 -2
  469. package/css/components/checkbox.css +48 -6
  470. package/css/components/chip.css +43 -30
  471. package/css/components/choice.css +26 -29
  472. package/css/components/control-group.css +364 -0
  473. package/css/components/copy.css +88 -0
  474. package/css/components/description-list.css +12 -0
  475. package/css/components/dialog.css +18 -96
  476. package/css/components/divider.css +2 -1
  477. package/css/components/drawer.css +15 -164
  478. package/css/components/form.css +15 -7
  479. package/css/components/layout.css +104 -3
  480. package/css/components/link.css +37 -2
  481. package/css/components/list.css +40 -31
  482. package/css/components/menu.css +14 -10
  483. package/css/components/message.css +283 -0
  484. package/css/components/number-field.css +47 -0
  485. package/css/components/one-time-code.css +306 -0
  486. package/css/components/progress.css +67 -2
  487. package/css/components/radio.css +50 -12
  488. package/css/components/range.css +12 -15
  489. package/css/components/rating.css +191 -0
  490. package/css/components/select-all.css +5 -0
  491. package/css/components/select.css +45 -16
  492. package/css/components/sortable-table.css +64 -0
  493. package/css/components/spinner.css +0 -4
  494. package/css/components/stat.css +41 -0
  495. package/css/components/stepper.css +244 -0
  496. package/css/components/switch.css +19 -27
  497. package/css/components/table.css +6 -3
  498. package/css/components/tabs.css +187 -14
  499. package/css/components/text-field.css +159 -26
  500. package/css/components/timeline.css +184 -0
  501. package/css/components/toaster.css +147 -0
  502. package/css/components/toggle-button.css +27 -7
  503. package/css/components/toggle-group.css +21 -9
  504. package/css/components/tooltip.css +18 -1
  505. package/css/components/typography.css +69 -18
  506. package/css/components.css +12 -1
  507. package/css/js/checkbox.js +33 -11
  508. package/css/js/range.js +77 -27
  509. package/css/theme.css +45 -22
  510. package/dist/components/Accordion/Accordion.react.d.ts +3 -0
  511. package/dist/components/Accordion/Accordion.react.d.ts.map +1 -0
  512. package/dist/components/Accordion/Accordion.react.js +13 -0
  513. package/dist/components/Accordion/Accordion.react.js.map +1 -0
  514. package/dist/components/Accordion/Accordion.svelte +27 -0
  515. package/dist/components/Accordion/Accordion.svelte.d.ts +5 -0
  516. package/dist/components/Accordion/Accordion.svelte.d.ts.map +1 -0
  517. package/dist/components/Accordion/Accordion.vue.d.ts +12 -0
  518. package/dist/components/Accordion/Accordion.vue.d.ts.map +1 -0
  519. package/dist/components/Accordion/Accordion.vue.js +27 -0
  520. package/dist/components/Accordion/Accordion.vue.js.map +1 -0
  521. package/dist/components/Accordion/AccordionActions.react.d.ts +3 -0
  522. package/dist/components/Accordion/AccordionActions.react.d.ts.map +1 -0
  523. package/dist/components/Accordion/AccordionActions.react.js +10 -0
  524. package/dist/components/Accordion/AccordionActions.react.js.map +1 -0
  525. package/dist/components/Accordion/AccordionActions.svelte +23 -0
  526. package/dist/components/Accordion/AccordionActions.svelte.d.ts +5 -0
  527. package/dist/components/Accordion/AccordionActions.svelte.d.ts.map +1 -0
  528. package/dist/components/Accordion/AccordionActions.vue.d.ts +12 -0
  529. package/dist/components/Accordion/AccordionActions.vue.d.ts.map +1 -0
  530. package/dist/components/Accordion/AccordionActions.vue.js +23 -0
  531. package/dist/components/Accordion/AccordionActions.vue.js.map +1 -0
  532. package/dist/components/Accordion/AccordionContent.react.d.ts +3 -0
  533. package/dist/components/Accordion/AccordionContent.react.d.ts.map +1 -0
  534. package/dist/components/Accordion/AccordionContent.react.js +6 -0
  535. package/dist/components/Accordion/AccordionContent.react.js.map +1 -0
  536. package/dist/components/Accordion/AccordionContent.svelte +15 -0
  537. package/dist/components/Accordion/AccordionContent.svelte.d.ts +4 -0
  538. package/dist/components/Accordion/AccordionContent.svelte.d.ts.map +1 -0
  539. package/dist/components/Accordion/AccordionContent.vue.d.ts +12 -0
  540. package/dist/components/Accordion/AccordionContent.vue.d.ts.map +1 -0
  541. package/dist/components/Accordion/AccordionContent.vue.js +18 -0
  542. package/dist/components/Accordion/AccordionContent.vue.js.map +1 -0
  543. package/dist/components/Accordion/AccordionSummary.react.d.ts +3 -0
  544. package/dist/components/Accordion/AccordionSummary.react.d.ts.map +1 -0
  545. package/dist/components/Accordion/AccordionSummary.react.js +7 -0
  546. package/dist/components/Accordion/AccordionSummary.react.js.map +1 -0
  547. package/dist/components/Accordion/AccordionSummary.svelte +31 -0
  548. package/dist/components/Accordion/AccordionSummary.svelte.d.ts +5 -0
  549. package/dist/components/Accordion/AccordionSummary.svelte.d.ts.map +1 -0
  550. package/dist/components/Accordion/AccordionSummary.vue.d.ts +12 -0
  551. package/dist/components/Accordion/AccordionSummary.vue.d.ts.map +1 -0
  552. package/dist/components/Accordion/AccordionSummary.vue.js +37 -0
  553. package/dist/components/Accordion/AccordionSummary.vue.js.map +1 -0
  554. package/dist/components/Accordion/icons.d.ts +2 -0
  555. package/dist/components/Accordion/icons.d.ts.map +1 -0
  556. package/dist/components/Accordion/icons.js +2 -0
  557. package/dist/components/Accordion/icons.js.map +1 -0
  558. package/dist/components/Accordion/types.d.ts +13 -0
  559. package/dist/components/Accordion/types.d.ts.map +1 -0
  560. package/dist/components/Accordion/types.js +2 -0
  561. package/dist/components/Accordion/types.js.map +1 -0
  562. package/dist/components/Accordion/types.react.d.ts +7 -0
  563. package/dist/components/Accordion/types.react.d.ts.map +1 -0
  564. package/dist/components/Accordion/types.react.js +2 -0
  565. package/dist/components/Accordion/types.react.js.map +1 -0
  566. package/dist/components/Accordion/types.svelte.d.ts +8 -0
  567. package/dist/components/Accordion/types.svelte.d.ts.map +1 -0
  568. package/dist/components/Accordion/types.svelte.js +2 -0
  569. package/dist/components/Accordion/types.svelte.js.map +1 -0
  570. package/dist/components/Accordion/types.vue-props.d.ts +12 -0
  571. package/dist/components/Accordion/types.vue-props.d.ts.map +1 -0
  572. package/dist/components/Accordion/types.vue-props.js +2 -0
  573. package/dist/components/Accordion/types.vue-props.js.map +1 -0
  574. package/dist/components/Anchor/Anchor.react.d.ts +3 -0
  575. package/dist/components/Anchor/Anchor.react.d.ts.map +1 -0
  576. package/dist/components/Anchor/Anchor.react.js +19 -0
  577. package/dist/components/Anchor/Anchor.react.js.map +1 -0
  578. package/dist/components/Anchor/Anchor.svelte +46 -0
  579. package/dist/components/Anchor/Anchor.svelte.d.ts +5 -0
  580. package/dist/components/Anchor/Anchor.svelte.d.ts.map +1 -0
  581. package/dist/components/Anchor/Anchor.vue.d.ts +38 -0
  582. package/dist/components/Anchor/Anchor.vue.d.ts.map +1 -0
  583. package/dist/components/Anchor/Anchor.vue.js +38 -0
  584. package/dist/components/Anchor/Anchor.vue.js.map +1 -0
  585. package/dist/components/Anchor/AnchorContent.react.d.ts +3 -0
  586. package/dist/components/Anchor/AnchorContent.react.d.ts.map +1 -0
  587. package/dist/components/Anchor/AnchorContent.react.js +10 -0
  588. package/dist/components/Anchor/AnchorContent.react.js.map +1 -0
  589. package/dist/components/Anchor/AnchorContent.svelte +24 -0
  590. package/dist/components/Anchor/AnchorContent.svelte.d.ts +4 -0
  591. package/dist/components/Anchor/AnchorContent.svelte.d.ts.map +1 -0
  592. package/dist/components/Anchor/AnchorContent.vue.d.ts +12 -0
  593. package/dist/components/Anchor/AnchorContent.vue.d.ts.map +1 -0
  594. package/dist/components/Anchor/AnchorContent.vue.js +29 -0
  595. package/dist/components/Anchor/AnchorContent.vue.js.map +1 -0
  596. package/dist/components/Anchor/context.react.d.ts +4 -0
  597. package/dist/components/Anchor/context.react.d.ts.map +1 -0
  598. package/dist/components/Anchor/context.react.js +5 -0
  599. package/dist/components/Anchor/context.react.js.map +1 -0
  600. package/dist/components/Anchor/context.svelte.d.ts +6 -0
  601. package/dist/components/Anchor/context.svelte.d.ts.map +1 -0
  602. package/dist/components/Anchor/context.svelte.js +8 -0
  603. package/dist/components/Anchor/context.svelte.js.map +1 -0
  604. package/dist/components/Anchor/context.vue.d.ts +4 -0
  605. package/dist/components/Anchor/context.vue.d.ts.map +1 -0
  606. package/dist/components/Anchor/context.vue.js +2 -0
  607. package/dist/components/Anchor/context.vue.js.map +1 -0
  608. package/dist/components/Anchor/root.d.ts +2 -0
  609. package/dist/components/Anchor/root.d.ts.map +1 -0
  610. package/dist/components/Anchor/root.js +13 -0
  611. package/dist/components/Anchor/root.js.map +1 -0
  612. package/dist/components/Anchor/types.d.ts +14 -0
  613. package/dist/components/Anchor/types.d.ts.map +1 -0
  614. package/dist/components/Anchor/types.js +2 -0
  615. package/dist/components/Anchor/types.js.map +1 -0
  616. package/dist/components/Anchor/types.react.d.ts +5 -0
  617. package/dist/components/Anchor/types.react.d.ts.map +1 -0
  618. package/dist/components/Anchor/types.react.js +2 -0
  619. package/dist/components/Anchor/types.react.js.map +1 -0
  620. package/dist/components/Anchor/types.svelte.d.ts +5 -0
  621. package/dist/components/Anchor/types.svelte.d.ts.map +1 -0
  622. package/dist/components/Anchor/types.svelte.js +2 -0
  623. package/dist/components/Anchor/types.svelte.js.map +1 -0
  624. package/dist/components/Anchor/types.vue-props.d.ts +9 -0
  625. package/dist/components/Anchor/types.vue-props.d.ts.map +1 -0
  626. package/dist/components/Anchor/types.vue-props.js +2 -0
  627. package/dist/components/Anchor/types.vue-props.js.map +1 -0
  628. package/dist/components/Avatar/Avatar.react.d.ts +3 -0
  629. package/dist/components/Avatar/Avatar.react.d.ts.map +1 -0
  630. package/dist/components/Avatar/Avatar.react.js +15 -0
  631. package/dist/components/Avatar/Avatar.react.js.map +1 -0
  632. package/dist/components/Avatar/Avatar.svelte +42 -0
  633. package/dist/components/Avatar/Avatar.svelte.d.ts +134 -0
  634. package/dist/components/Avatar/Avatar.svelte.d.ts.map +1 -0
  635. package/dist/components/Avatar/Avatar.vue.d.ts +168 -0
  636. package/dist/components/Avatar/Avatar.vue.d.ts.map +1 -0
  637. package/dist/components/Avatar/Avatar.vue.js +50 -0
  638. package/dist/components/Avatar/Avatar.vue.js.map +1 -0
  639. package/dist/components/Avatar/AvatarGroup.react.d.ts +3 -0
  640. package/dist/components/Avatar/AvatarGroup.react.d.ts.map +1 -0
  641. package/dist/components/Avatar/AvatarGroup.react.js +7 -0
  642. package/dist/components/Avatar/AvatarGroup.react.js.map +1 -0
  643. package/dist/components/Avatar/AvatarGroup.svelte +16 -0
  644. package/dist/components/Avatar/AvatarGroup.svelte.d.ts +5 -0
  645. package/dist/components/Avatar/AvatarGroup.svelte.d.ts.map +1 -0
  646. package/dist/components/Avatar/AvatarGroup.vue.d.ts +12 -0
  647. package/dist/components/Avatar/AvatarGroup.vue.d.ts.map +1 -0
  648. package/dist/components/Avatar/AvatarGroup.vue.js +25 -0
  649. package/dist/components/Avatar/AvatarGroup.vue.js.map +1 -0
  650. package/dist/components/Avatar/types.d.ts +29 -0
  651. package/dist/components/Avatar/types.d.ts.map +1 -0
  652. package/dist/components/Avatar/types.js +2 -0
  653. package/dist/components/Avatar/types.js.map +1 -0
  654. package/dist/components/Avatar/types.react.d.ts +11 -0
  655. package/dist/components/Avatar/types.react.d.ts.map +1 -0
  656. package/dist/components/Avatar/types.react.js +2 -0
  657. package/dist/components/Avatar/types.react.js.map +1 -0
  658. package/dist/components/Avatar/types.svelte.d.ts +11 -0
  659. package/dist/components/Avatar/types.svelte.d.ts.map +1 -0
  660. package/dist/components/Avatar/types.svelte.js +2 -0
  661. package/dist/components/Avatar/types.svelte.js.map +1 -0
  662. package/dist/components/Avatar/types.vue-props.d.ts +8 -0
  663. package/dist/components/Avatar/types.vue-props.d.ts.map +1 -0
  664. package/dist/components/Avatar/types.vue-props.js +2 -0
  665. package/dist/components/Avatar/types.vue-props.js.map +1 -0
  666. package/dist/components/Badge/Badge.react.d.ts +3 -0
  667. package/dist/components/Badge/Badge.react.d.ts.map +1 -0
  668. package/dist/components/Badge/Badge.react.js +15 -0
  669. package/dist/components/Badge/Badge.react.js.map +1 -0
  670. package/dist/components/Badge/Badge.svelte +50 -0
  671. package/dist/components/Badge/Badge.svelte.d.ts +5 -0
  672. package/dist/components/Badge/Badge.svelte.d.ts.map +1 -0
  673. package/dist/components/Badge/Badge.vue.d.ts +12 -0
  674. package/dist/components/Badge/Badge.vue.d.ts.map +1 -0
  675. package/dist/components/Badge/Badge.vue.js +76 -0
  676. package/dist/components/Badge/Badge.vue.js.map +1 -0
  677. package/dist/components/Badge/types.d.ts +12 -0
  678. package/dist/components/Badge/types.d.ts.map +1 -0
  679. package/dist/components/Badge/types.js +2 -0
  680. package/dist/components/Badge/types.js.map +1 -0
  681. package/dist/components/Badge/types.react.d.ts +4 -0
  682. package/dist/components/Badge/types.react.d.ts.map +1 -0
  683. package/dist/components/Badge/types.react.js +2 -0
  684. package/dist/components/Badge/types.react.js.map +1 -0
  685. package/dist/components/Badge/types.svelte.d.ts +5 -0
  686. package/dist/components/Badge/types.svelte.d.ts.map +1 -0
  687. package/dist/components/Badge/types.svelte.js +2 -0
  688. package/dist/components/Badge/types.svelte.js.map +1 -0
  689. package/dist/components/Badge/types.vue-props.d.ts +8 -0
  690. package/dist/components/Badge/types.vue-props.d.ts.map +1 -0
  691. package/dist/components/Badge/types.vue-props.js +2 -0
  692. package/dist/components/Badge/types.vue-props.js.map +1 -0
  693. package/dist/components/Button/Button.react.d.ts +3 -0
  694. package/dist/components/Button/Button.react.d.ts.map +1 -0
  695. package/dist/components/Button/Button.react.js +16 -0
  696. package/dist/components/Button/Button.react.js.map +1 -0
  697. package/dist/components/Button/Button.svelte +38 -0
  698. package/dist/components/Button/Button.svelte.d.ts +96 -0
  699. package/dist/components/Button/Button.svelte.d.ts.map +1 -0
  700. package/dist/components/Button/Button.vue.d.ts +56 -0
  701. package/dist/components/Button/Button.vue.d.ts.map +1 -0
  702. package/dist/components/Button/Button.vue.js +43 -0
  703. package/dist/components/Button/Button.vue.js.map +1 -0
  704. package/dist/components/Button/types.d.ts +26 -0
  705. package/dist/components/Button/types.d.ts.map +1 -0
  706. package/dist/components/Button/types.js +2 -0
  707. package/dist/components/Button/types.js.map +1 -0
  708. package/dist/components/Button/types.react.d.ts +10 -0
  709. package/dist/components/Button/types.react.d.ts.map +1 -0
  710. package/dist/components/Button/types.react.js +2 -0
  711. package/dist/components/Button/types.react.js.map +1 -0
  712. package/dist/components/Button/types.svelte.d.ts +11 -0
  713. package/dist/components/Button/types.svelte.d.ts.map +1 -0
  714. package/dist/components/Button/types.svelte.js +2 -0
  715. package/dist/components/Button/types.svelte.js.map +1 -0
  716. package/dist/components/Button/types.vue-props.d.ts +7 -0
  717. package/dist/components/Button/types.vue-props.d.ts.map +1 -0
  718. package/dist/components/Button/types.vue-props.js +2 -0
  719. package/dist/components/Button/types.vue-props.js.map +1 -0
  720. package/dist/components/Callout/Callout.react.d.ts +3 -0
  721. package/dist/components/Callout/Callout.react.d.ts.map +1 -0
  722. package/dist/components/Callout/Callout.react.js +13 -0
  723. package/dist/components/Callout/Callout.react.js.map +1 -0
  724. package/dist/components/Callout/Callout.svelte +32 -0
  725. package/dist/components/Callout/Callout.svelte.d.ts +5 -0
  726. package/dist/components/Callout/Callout.svelte.d.ts.map +1 -0
  727. package/dist/components/Callout/Callout.vue.d.ts +12 -0
  728. package/dist/components/Callout/Callout.vue.d.ts.map +1 -0
  729. package/dist/components/Callout/Callout.vue.js +28 -0
  730. package/dist/components/Callout/Callout.vue.js.map +1 -0
  731. package/dist/components/Callout/CalloutActions.react.d.ts +3 -0
  732. package/dist/components/Callout/CalloutActions.react.d.ts.map +1 -0
  733. package/dist/components/Callout/CalloutActions.react.js +6 -0
  734. package/dist/components/Callout/CalloutActions.react.js.map +1 -0
  735. package/dist/components/Callout/CalloutActions.svelte +15 -0
  736. package/dist/components/Callout/CalloutActions.svelte.d.ts +4 -0
  737. package/dist/components/Callout/CalloutActions.svelte.d.ts.map +1 -0
  738. package/dist/components/Callout/CalloutActions.vue.d.ts +12 -0
  739. package/dist/components/Callout/CalloutActions.vue.d.ts.map +1 -0
  740. package/dist/components/Callout/CalloutActions.vue.js +18 -0
  741. package/dist/components/Callout/CalloutActions.vue.js.map +1 -0
  742. package/dist/components/Callout/CalloutContent.react.d.ts +3 -0
  743. package/dist/components/Callout/CalloutContent.react.d.ts.map +1 -0
  744. package/dist/components/Callout/CalloutContent.react.js +6 -0
  745. package/dist/components/Callout/CalloutContent.react.js.map +1 -0
  746. package/dist/components/Callout/CalloutContent.svelte +15 -0
  747. package/dist/components/Callout/CalloutContent.svelte.d.ts +4 -0
  748. package/dist/components/Callout/CalloutContent.svelte.d.ts.map +1 -0
  749. package/dist/components/Callout/CalloutContent.vue.d.ts +12 -0
  750. package/dist/components/Callout/CalloutContent.vue.d.ts.map +1 -0
  751. package/dist/components/Callout/CalloutContent.vue.js +18 -0
  752. package/dist/components/Callout/CalloutContent.vue.js.map +1 -0
  753. package/dist/components/Callout/CalloutIcon.react.d.ts +3 -0
  754. package/dist/components/Callout/CalloutIcon.react.d.ts.map +1 -0
  755. package/dist/components/Callout/CalloutIcon.react.js +12 -0
  756. package/dist/components/Callout/CalloutIcon.react.js.map +1 -0
  757. package/dist/components/Callout/CalloutIcon.svelte +26 -0
  758. package/dist/components/Callout/CalloutIcon.svelte.d.ts +4 -0
  759. package/dist/components/Callout/CalloutIcon.svelte.d.ts.map +1 -0
  760. package/dist/components/Callout/CalloutIcon.vue.d.ts +4 -0
  761. package/dist/components/Callout/CalloutIcon.vue.d.ts.map +1 -0
  762. package/dist/components/Callout/CalloutIcon.vue.js +41 -0
  763. package/dist/components/Callout/CalloutIcon.vue.js.map +1 -0
  764. package/dist/components/Callout/context.react.d.ts +4 -0
  765. package/dist/components/Callout/context.react.d.ts.map +1 -0
  766. package/dist/components/Callout/context.react.js +5 -0
  767. package/dist/components/Callout/context.react.js.map +1 -0
  768. package/dist/components/Callout/context.svelte.d.ts +6 -0
  769. package/dist/components/Callout/context.svelte.d.ts.map +1 -0
  770. package/dist/components/Callout/context.svelte.js +8 -0
  771. package/dist/components/Callout/context.svelte.js.map +1 -0
  772. package/dist/components/Callout/context.vue.d.ts +4 -0
  773. package/dist/components/Callout/context.vue.d.ts.map +1 -0
  774. package/dist/components/Callout/context.vue.js +2 -0
  775. package/dist/components/Callout/context.vue.js.map +1 -0
  776. package/dist/components/Callout/icons.d.ts +6 -0
  777. package/dist/components/Callout/icons.d.ts.map +1 -0
  778. package/dist/components/Callout/icons.js +20 -0
  779. package/dist/components/Callout/icons.js.map +1 -0
  780. package/dist/components/Callout/types.d.ts +9 -0
  781. package/dist/components/Callout/types.d.ts.map +1 -0
  782. package/dist/components/Callout/types.js +2 -0
  783. package/dist/components/Callout/types.js.map +1 -0
  784. package/dist/components/Callout/types.react.d.ts +7 -0
  785. package/dist/components/Callout/types.react.d.ts.map +1 -0
  786. package/dist/components/Callout/types.react.js +2 -0
  787. package/dist/components/Callout/types.react.js.map +1 -0
  788. package/dist/components/Callout/types.svelte.d.ts +7 -0
  789. package/dist/components/Callout/types.svelte.d.ts.map +1 -0
  790. package/dist/components/Callout/types.svelte.js +2 -0
  791. package/dist/components/Callout/types.svelte.js.map +1 -0
  792. package/dist/components/Callout/types.vue-props.d.ts +8 -0
  793. package/dist/components/Callout/types.vue-props.d.ts.map +1 -0
  794. package/dist/components/Callout/types.vue-props.js +2 -0
  795. package/dist/components/Callout/types.vue-props.js.map +1 -0
  796. package/dist/components/Card/Card.react.d.ts +3 -0
  797. package/dist/components/Card/Card.react.d.ts.map +1 -0
  798. package/dist/components/Card/Card.react.js +14 -0
  799. package/dist/components/Card/Card.react.js.map +1 -0
  800. package/dist/components/Card/Card.svelte +31 -0
  801. package/dist/components/Card/Card.svelte.d.ts +5 -0
  802. package/dist/components/Card/Card.svelte.d.ts.map +1 -0
  803. package/dist/components/Card/Card.vue.d.ts +12 -0
  804. package/dist/components/Card/Card.vue.d.ts.map +1 -0
  805. package/dist/components/Card/Card.vue.js +33 -0
  806. package/dist/components/Card/Card.vue.js.map +1 -0
  807. package/dist/components/Card/CardActions.react.d.ts +3 -0
  808. package/dist/components/Card/CardActions.react.d.ts.map +1 -0
  809. package/dist/components/Card/CardActions.react.js +10 -0
  810. package/dist/components/Card/CardActions.react.js.map +1 -0
  811. package/dist/components/Card/CardActions.svelte +23 -0
  812. package/dist/components/Card/CardActions.svelte.d.ts +5 -0
  813. package/dist/components/Card/CardActions.svelte.d.ts.map +1 -0
  814. package/dist/components/Card/CardActions.vue.d.ts +12 -0
  815. package/dist/components/Card/CardActions.vue.d.ts.map +1 -0
  816. package/dist/components/Card/CardActions.vue.js +23 -0
  817. package/dist/components/Card/CardActions.vue.js.map +1 -0
  818. package/dist/components/Card/CardContent.react.d.ts +3 -0
  819. package/dist/components/Card/CardContent.react.d.ts.map +1 -0
  820. package/dist/components/Card/CardContent.react.js +6 -0
  821. package/dist/components/Card/CardContent.react.js.map +1 -0
  822. package/dist/components/Card/CardContent.svelte +15 -0
  823. package/dist/components/Card/CardContent.svelte.d.ts +4 -0
  824. package/dist/components/Card/CardContent.svelte.d.ts.map +1 -0
  825. package/dist/components/Card/CardContent.vue.d.ts +12 -0
  826. package/dist/components/Card/CardContent.vue.d.ts.map +1 -0
  827. package/dist/components/Card/CardContent.vue.js +18 -0
  828. package/dist/components/Card/CardContent.vue.js.map +1 -0
  829. package/dist/components/Card/CardHeader.react.d.ts +3 -0
  830. package/dist/components/Card/CardHeader.react.d.ts.map +1 -0
  831. package/dist/components/Card/CardHeader.react.js +7 -0
  832. package/dist/components/Card/CardHeader.react.js.map +1 -0
  833. package/dist/components/Card/CardHeader.svelte +16 -0
  834. package/dist/components/Card/CardHeader.svelte.d.ts +5 -0
  835. package/dist/components/Card/CardHeader.svelte.d.ts.map +1 -0
  836. package/dist/components/Card/CardHeader.vue.d.ts +12 -0
  837. package/dist/components/Card/CardHeader.vue.d.ts.map +1 -0
  838. package/dist/components/Card/CardHeader.vue.js +22 -0
  839. package/dist/components/Card/CardHeader.vue.js.map +1 -0
  840. package/dist/components/Card/types.d.ts +15 -0
  841. package/dist/components/Card/types.d.ts.map +1 -0
  842. package/dist/components/Card/types.js +2 -0
  843. package/dist/components/Card/types.js.map +1 -0
  844. package/dist/components/Card/types.react.d.ts +7 -0
  845. package/dist/components/Card/types.react.d.ts.map +1 -0
  846. package/dist/components/Card/types.react.js +2 -0
  847. package/dist/components/Card/types.react.js.map +1 -0
  848. package/dist/components/Card/types.svelte.d.ts +7 -0
  849. package/dist/components/Card/types.svelte.d.ts.map +1 -0
  850. package/dist/components/Card/types.svelte.js +2 -0
  851. package/dist/components/Card/types.svelte.js.map +1 -0
  852. package/dist/components/Card/types.vue-props.d.ts +8 -0
  853. package/dist/components/Card/types.vue-props.d.ts.map +1 -0
  854. package/dist/components/Card/types.vue-props.js +2 -0
  855. package/dist/components/Card/types.vue-props.js.map +1 -0
  856. package/dist/components/Carousel/Carousel.react.d.ts +3 -0
  857. package/dist/components/Carousel/Carousel.react.d.ts.map +1 -0
  858. package/dist/components/Carousel/Carousel.react.js +25 -0
  859. package/dist/components/Carousel/Carousel.react.js.map +1 -0
  860. package/dist/components/Carousel/Carousel.svelte +55 -0
  861. package/dist/components/Carousel/Carousel.svelte.d.ts +5 -0
  862. package/dist/components/Carousel/Carousel.svelte.d.ts.map +1 -0
  863. package/dist/components/Carousel/Carousel.vue.d.ts +12 -0
  864. package/dist/components/Carousel/Carousel.vue.d.ts.map +1 -0
  865. package/dist/components/Carousel/Carousel.vue.js +50 -0
  866. package/dist/components/Carousel/Carousel.vue.js.map +1 -0
  867. package/dist/components/Carousel/types.d.ts +19 -0
  868. package/dist/components/Carousel/types.d.ts.map +1 -0
  869. package/dist/components/Carousel/types.js +2 -0
  870. package/dist/components/Carousel/types.js.map +1 -0
  871. package/dist/components/Carousel/types.react.d.ts +4 -0
  872. package/dist/components/Carousel/types.react.d.ts.map +1 -0
  873. package/dist/components/Carousel/types.react.js +2 -0
  874. package/dist/components/Carousel/types.react.js.map +1 -0
  875. package/dist/components/Carousel/types.svelte.d.ts +4 -0
  876. package/dist/components/Carousel/types.svelte.d.ts.map +1 -0
  877. package/dist/components/Carousel/types.svelte.js +2 -0
  878. package/dist/components/Carousel/types.svelte.js.map +1 -0
  879. package/dist/components/Carousel/types.vue-props.d.ts +5 -0
  880. package/dist/components/Carousel/types.vue-props.d.ts.map +1 -0
  881. package/dist/components/Carousel/types.vue-props.js +2 -0
  882. package/dist/components/Carousel/types.vue-props.js.map +1 -0
  883. package/dist/components/Checkbox/Checkbox.react.d.ts +3 -0
  884. package/dist/components/Checkbox/Checkbox.react.d.ts.map +1 -0
  885. package/dist/components/Checkbox/Checkbox.react.js +16 -0
  886. package/dist/components/Checkbox/Checkbox.react.js.map +1 -0
  887. package/dist/components/Checkbox/Checkbox.svelte +59 -0
  888. package/dist/components/Checkbox/Checkbox.svelte.d.ts +5 -0
  889. package/dist/components/Checkbox/Checkbox.svelte.d.ts.map +1 -0
  890. package/dist/components/Checkbox/Checkbox.vue.d.ts +21 -0
  891. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -0
  892. package/dist/components/Checkbox/Checkbox.vue.js +79 -0
  893. package/dist/components/Checkbox/Checkbox.vue.js.map +1 -0
  894. package/dist/components/Checkbox/CheckboxInput.react.d.ts +3 -0
  895. package/dist/components/Checkbox/CheckboxInput.react.d.ts.map +1 -0
  896. package/dist/components/Checkbox/CheckboxInput.react.js +13 -0
  897. package/dist/components/Checkbox/CheckboxInput.react.js.map +1 -0
  898. package/dist/components/Checkbox/CheckboxInput.svelte +37 -0
  899. package/dist/components/Checkbox/CheckboxInput.svelte.d.ts +6 -0
  900. package/dist/components/Checkbox/CheckboxInput.svelte.d.ts.map +1 -0
  901. package/dist/components/Checkbox/CheckboxInput.vue.d.ts +15 -0
  902. package/dist/components/Checkbox/CheckboxInput.vue.d.ts.map +1 -0
  903. package/dist/components/Checkbox/CheckboxInput.vue.js +51 -0
  904. package/dist/components/Checkbox/CheckboxInput.vue.js.map +1 -0
  905. package/dist/components/Checkbox/types.d.ts +19 -0
  906. package/dist/components/Checkbox/types.d.ts.map +1 -0
  907. package/dist/components/Checkbox/types.js +2 -0
  908. package/dist/components/Checkbox/types.js.map +1 -0
  909. package/dist/components/Checkbox/types.react.d.ts +7 -0
  910. package/dist/components/Checkbox/types.react.d.ts.map +1 -0
  911. package/dist/components/Checkbox/types.react.js +2 -0
  912. package/dist/components/Checkbox/types.react.js.map +1 -0
  913. package/dist/components/Checkbox/types.svelte.d.ts +14 -0
  914. package/dist/components/Checkbox/types.svelte.d.ts.map +1 -0
  915. package/dist/components/Checkbox/types.svelte.js +2 -0
  916. package/dist/components/Checkbox/types.svelte.js.map +1 -0
  917. package/dist/components/Checkbox/types.vue-props.d.ts +11 -0
  918. package/dist/components/Checkbox/types.vue-props.d.ts.map +1 -0
  919. package/dist/components/Checkbox/types.vue-props.js +2 -0
  920. package/dist/components/Checkbox/types.vue-props.js.map +1 -0
  921. package/dist/components/Chip/Chip.react.d.ts +3 -0
  922. package/dist/components/Chip/Chip.react.d.ts.map +1 -0
  923. package/dist/components/Chip/Chip.react.js +16 -0
  924. package/dist/components/Chip/Chip.react.js.map +1 -0
  925. package/dist/components/Chip/Chip.svelte +46 -0
  926. package/dist/components/Chip/Chip.svelte.d.ts +69 -0
  927. package/dist/components/Chip/Chip.svelte.d.ts.map +1 -0
  928. package/dist/components/Chip/Chip.vue.d.ts +90 -0
  929. package/dist/components/Chip/Chip.vue.d.ts.map +1 -0
  930. package/dist/components/Chip/Chip.vue.js +56 -0
  931. package/dist/components/Chip/Chip.vue.js.map +1 -0
  932. package/dist/components/Chip/types.d.ts +26 -0
  933. package/dist/components/Chip/types.d.ts.map +1 -0
  934. package/dist/components/Chip/types.js +2 -0
  935. package/dist/components/Chip/types.js.map +1 -0
  936. package/dist/components/Chip/types.react.d.ts +12 -0
  937. package/dist/components/Chip/types.react.d.ts.map +1 -0
  938. package/dist/components/Chip/types.react.js +2 -0
  939. package/dist/components/Chip/types.react.js.map +1 -0
  940. package/dist/components/Chip/types.svelte.d.ts +13 -0
  941. package/dist/components/Chip/types.svelte.d.ts.map +1 -0
  942. package/dist/components/Chip/types.svelte.js +2 -0
  943. package/dist/components/Chip/types.svelte.js.map +1 -0
  944. package/dist/components/Chip/types.vue-props.d.ts +12 -0
  945. package/dist/components/Chip/types.vue-props.d.ts.map +1 -0
  946. package/dist/components/Chip/types.vue-props.js +2 -0
  947. package/dist/components/Chip/types.vue-props.js.map +1 -0
  948. package/dist/components/ControlGroup/ControlGroup.react.d.ts +3 -0
  949. package/dist/components/ControlGroup/ControlGroup.react.d.ts.map +1 -0
  950. package/dist/components/ControlGroup/ControlGroup.react.js +15 -0
  951. package/dist/components/ControlGroup/ControlGroup.react.js.map +1 -0
  952. package/dist/components/ControlGroup/ControlGroup.svelte +33 -0
  953. package/dist/components/ControlGroup/ControlGroup.svelte.d.ts +5 -0
  954. package/dist/components/ControlGroup/ControlGroup.svelte.d.ts.map +1 -0
  955. package/dist/components/ControlGroup/ControlGroup.vue.d.ts +12 -0
  956. package/dist/components/ControlGroup/ControlGroup.vue.d.ts.map +1 -0
  957. package/dist/components/ControlGroup/ControlGroup.vue.js +38 -0
  958. package/dist/components/ControlGroup/ControlGroup.vue.js.map +1 -0
  959. package/dist/components/ControlGroup/types.d.ts +8 -0
  960. package/dist/components/ControlGroup/types.d.ts.map +1 -0
  961. package/dist/components/ControlGroup/types.js +2 -0
  962. package/dist/components/ControlGroup/types.js.map +1 -0
  963. package/dist/components/ControlGroup/types.react.d.ts +4 -0
  964. package/dist/components/ControlGroup/types.react.d.ts.map +1 -0
  965. package/dist/components/ControlGroup/types.react.js +2 -0
  966. package/dist/components/ControlGroup/types.react.js.map +1 -0
  967. package/dist/components/ControlGroup/types.svelte.d.ts +4 -0
  968. package/dist/components/ControlGroup/types.svelte.d.ts.map +1 -0
  969. package/dist/components/ControlGroup/types.svelte.js +2 -0
  970. package/dist/components/ControlGroup/types.svelte.js.map +1 -0
  971. package/dist/components/ControlGroup/types.vue-props.d.ts +5 -0
  972. package/dist/components/ControlGroup/types.vue-props.d.ts.map +1 -0
  973. package/dist/components/ControlGroup/types.vue-props.js +2 -0
  974. package/dist/components/ControlGroup/types.vue-props.js.map +1 -0
  975. package/dist/components/Copy/Copy.react.d.ts +3 -0
  976. package/dist/components/Copy/Copy.react.d.ts.map +1 -0
  977. package/dist/components/Copy/Copy.react.js +14 -0
  978. package/dist/components/Copy/Copy.react.js.map +1 -0
  979. package/dist/components/Copy/Copy.svelte +32 -0
  980. package/dist/components/Copy/Copy.svelte.d.ts +6 -0
  981. package/dist/components/Copy/Copy.svelte.d.ts.map +1 -0
  982. package/dist/components/Copy/Copy.vue.d.ts +13 -0
  983. package/dist/components/Copy/Copy.vue.d.ts.map +1 -0
  984. package/dist/components/Copy/Copy.vue.js +47 -0
  985. package/dist/components/Copy/Copy.vue.js.map +1 -0
  986. package/dist/components/Copy/types.d.ts +6 -0
  987. package/dist/components/Copy/types.d.ts.map +1 -0
  988. package/dist/components/Copy/types.js +2 -0
  989. package/dist/components/Copy/types.js.map +1 -0
  990. package/dist/components/Copy/types.react.d.ts +4 -0
  991. package/dist/components/Copy/types.react.d.ts.map +1 -0
  992. package/dist/components/Copy/types.react.js +2 -0
  993. package/dist/components/Copy/types.react.js.map +1 -0
  994. package/dist/components/Copy/types.svelte.d.ts +4 -0
  995. package/dist/components/Copy/types.svelte.d.ts.map +1 -0
  996. package/dist/components/Copy/types.svelte.js +2 -0
  997. package/dist/components/Copy/types.svelte.js.map +1 -0
  998. package/dist/components/Copy/types.vue-props.d.ts +5 -0
  999. package/dist/components/Copy/types.vue-props.d.ts.map +1 -0
  1000. package/dist/components/Copy/types.vue-props.js +2 -0
  1001. package/dist/components/Copy/types.vue-props.js.map +1 -0
  1002. package/dist/components/DescriptionList/DescriptionList.react.d.ts +3 -0
  1003. package/dist/components/DescriptionList/DescriptionList.react.d.ts.map +1 -0
  1004. package/dist/components/DescriptionList/DescriptionList.react.js +11 -0
  1005. package/dist/components/DescriptionList/DescriptionList.react.js.map +1 -0
  1006. package/dist/components/DescriptionList/DescriptionList.svelte +26 -0
  1007. package/dist/components/DescriptionList/DescriptionList.svelte.d.ts +5 -0
  1008. package/dist/components/DescriptionList/DescriptionList.svelte.d.ts.map +1 -0
  1009. package/dist/components/DescriptionList/DescriptionList.vue.d.ts +12 -0
  1010. package/dist/components/DescriptionList/DescriptionList.vue.d.ts.map +1 -0
  1011. package/dist/components/DescriptionList/DescriptionList.vue.js +26 -0
  1012. package/dist/components/DescriptionList/DescriptionList.vue.js.map +1 -0
  1013. package/dist/components/DescriptionList/DescriptionListDescription.react.d.ts +3 -0
  1014. package/dist/components/DescriptionList/DescriptionListDescription.react.d.ts.map +1 -0
  1015. package/dist/components/DescriptionList/DescriptionListDescription.react.js +6 -0
  1016. package/dist/components/DescriptionList/DescriptionListDescription.react.js.map +1 -0
  1017. package/dist/components/DescriptionList/DescriptionListDescription.svelte +16 -0
  1018. package/dist/components/DescriptionList/DescriptionListDescription.svelte.d.ts +4 -0
  1019. package/dist/components/DescriptionList/DescriptionListDescription.svelte.d.ts.map +1 -0
  1020. package/dist/components/DescriptionList/DescriptionListDescription.vue.d.ts +12 -0
  1021. package/dist/components/DescriptionList/DescriptionListDescription.vue.d.ts.map +1 -0
  1022. package/dist/components/DescriptionList/DescriptionListDescription.vue.js +17 -0
  1023. package/dist/components/DescriptionList/DescriptionListDescription.vue.js.map +1 -0
  1024. package/dist/components/DescriptionList/DescriptionListItem.react.d.ts +3 -0
  1025. package/dist/components/DescriptionList/DescriptionListItem.react.d.ts.map +1 -0
  1026. package/dist/components/DescriptionList/DescriptionListItem.react.js +6 -0
  1027. package/dist/components/DescriptionList/DescriptionListItem.react.js.map +1 -0
  1028. package/dist/components/DescriptionList/DescriptionListItem.svelte +17 -0
  1029. package/dist/components/DescriptionList/DescriptionListItem.svelte.d.ts +5 -0
  1030. package/dist/components/DescriptionList/DescriptionListItem.svelte.d.ts.map +1 -0
  1031. package/dist/components/DescriptionList/DescriptionListItem.vue.d.ts +12 -0
  1032. package/dist/components/DescriptionList/DescriptionListItem.vue.d.ts.map +1 -0
  1033. package/dist/components/DescriptionList/DescriptionListItem.vue.js +18 -0
  1034. package/dist/components/DescriptionList/DescriptionListItem.vue.js.map +1 -0
  1035. package/dist/components/DescriptionList/DescriptionListTerm.react.d.ts +3 -0
  1036. package/dist/components/DescriptionList/DescriptionListTerm.react.d.ts.map +1 -0
  1037. package/dist/components/DescriptionList/DescriptionListTerm.react.js +6 -0
  1038. package/dist/components/DescriptionList/DescriptionListTerm.react.js.map +1 -0
  1039. package/dist/components/DescriptionList/DescriptionListTerm.svelte +16 -0
  1040. package/dist/components/DescriptionList/DescriptionListTerm.svelte.d.ts +4 -0
  1041. package/dist/components/DescriptionList/DescriptionListTerm.svelte.d.ts.map +1 -0
  1042. package/dist/components/DescriptionList/DescriptionListTerm.vue.d.ts +12 -0
  1043. package/dist/components/DescriptionList/DescriptionListTerm.vue.d.ts.map +1 -0
  1044. package/dist/components/DescriptionList/DescriptionListTerm.vue.js +17 -0
  1045. package/dist/components/DescriptionList/DescriptionListTerm.vue.js.map +1 -0
  1046. package/dist/components/DescriptionList/types.d.ts +9 -0
  1047. package/dist/components/DescriptionList/types.d.ts.map +1 -0
  1048. package/dist/components/DescriptionList/types.js +2 -0
  1049. package/dist/components/DescriptionList/types.js.map +1 -0
  1050. package/dist/components/DescriptionList/types.react.d.ts +7 -0
  1051. package/dist/components/DescriptionList/types.react.d.ts.map +1 -0
  1052. package/dist/components/DescriptionList/types.react.js +2 -0
  1053. package/dist/components/DescriptionList/types.react.js.map +1 -0
  1054. package/dist/components/DescriptionList/types.svelte.d.ts +7 -0
  1055. package/dist/components/DescriptionList/types.svelte.d.ts.map +1 -0
  1056. package/dist/components/DescriptionList/types.svelte.js +2 -0
  1057. package/dist/components/DescriptionList/types.svelte.js.map +1 -0
  1058. package/dist/components/DescriptionList/types.vue-props.d.ts +8 -0
  1059. package/dist/components/DescriptionList/types.vue-props.d.ts.map +1 -0
  1060. package/dist/components/DescriptionList/types.vue-props.js +2 -0
  1061. package/dist/components/DescriptionList/types.vue-props.js.map +1 -0
  1062. package/dist/components/Dialog/Dialog.react.d.ts +3 -0
  1063. package/dist/components/Dialog/Dialog.react.d.ts.map +1 -0
  1064. package/dist/components/Dialog/Dialog.react.js +14 -0
  1065. package/dist/components/Dialog/Dialog.react.js.map +1 -0
  1066. package/dist/components/Dialog/Dialog.svelte +36 -0
  1067. package/dist/components/Dialog/Dialog.svelte.d.ts +5 -0
  1068. package/dist/components/Dialog/Dialog.svelte.d.ts.map +1 -0
  1069. package/dist/components/Dialog/Dialog.vue.d.ts +12 -0
  1070. package/dist/components/Dialog/Dialog.vue.d.ts.map +1 -0
  1071. package/dist/components/Dialog/Dialog.vue.js +34 -0
  1072. package/dist/components/Dialog/Dialog.vue.js.map +1 -0
  1073. package/dist/components/Dialog/DialogContent.react.d.ts +3 -0
  1074. package/dist/components/Dialog/DialogContent.react.d.ts.map +1 -0
  1075. package/dist/components/Dialog/DialogContent.react.js +6 -0
  1076. package/dist/components/Dialog/DialogContent.react.js.map +1 -0
  1077. package/dist/components/Dialog/DialogContent.svelte +15 -0
  1078. package/dist/components/Dialog/DialogContent.svelte.d.ts +4 -0
  1079. package/dist/components/Dialog/DialogContent.svelte.d.ts.map +1 -0
  1080. package/dist/components/Dialog/DialogContent.vue.d.ts +12 -0
  1081. package/dist/components/Dialog/DialogContent.vue.d.ts.map +1 -0
  1082. package/dist/components/Dialog/DialogContent.vue.js +18 -0
  1083. package/dist/components/Dialog/DialogContent.vue.js.map +1 -0
  1084. package/dist/components/Dialog/DialogFooter.react.d.ts +3 -0
  1085. package/dist/components/Dialog/DialogFooter.react.d.ts.map +1 -0
  1086. package/dist/components/Dialog/DialogFooter.react.js +10 -0
  1087. package/dist/components/Dialog/DialogFooter.react.js.map +1 -0
  1088. package/dist/components/Dialog/DialogFooter.svelte +23 -0
  1089. package/dist/components/Dialog/DialogFooter.svelte.d.ts +5 -0
  1090. package/dist/components/Dialog/DialogFooter.svelte.d.ts.map +1 -0
  1091. package/dist/components/Dialog/DialogFooter.vue.d.ts +12 -0
  1092. package/dist/components/Dialog/DialogFooter.vue.d.ts.map +1 -0
  1093. package/dist/components/Dialog/DialogFooter.vue.js +23 -0
  1094. package/dist/components/Dialog/DialogFooter.vue.js.map +1 -0
  1095. package/dist/components/Dialog/DialogHeader.react.d.ts +3 -0
  1096. package/dist/components/Dialog/DialogHeader.react.d.ts.map +1 -0
  1097. package/dist/components/Dialog/DialogHeader.react.js +14 -0
  1098. package/dist/components/Dialog/DialogHeader.react.js.map +1 -0
  1099. package/dist/components/Dialog/DialogHeader.svelte +49 -0
  1100. package/dist/components/Dialog/DialogHeader.svelte.d.ts +5 -0
  1101. package/dist/components/Dialog/DialogHeader.svelte.d.ts.map +1 -0
  1102. package/dist/components/Dialog/DialogHeader.vue.d.ts +12 -0
  1103. package/dist/components/Dialog/DialogHeader.vue.d.ts.map +1 -0
  1104. package/dist/components/Dialog/DialogHeader.vue.js +61 -0
  1105. package/dist/components/Dialog/DialogHeader.vue.js.map +1 -0
  1106. package/dist/components/Dialog/DialogTitle.react.d.ts +3 -0
  1107. package/dist/components/Dialog/DialogTitle.react.d.ts.map +1 -0
  1108. package/dist/components/Dialog/DialogTitle.react.js +11 -0
  1109. package/dist/components/Dialog/DialogTitle.react.js.map +1 -0
  1110. package/dist/components/Dialog/DialogTitle.svelte +23 -0
  1111. package/dist/components/Dialog/DialogTitle.svelte.d.ts +4 -0
  1112. package/dist/components/Dialog/DialogTitle.svelte.d.ts.map +1 -0
  1113. package/dist/components/Dialog/DialogTitle.vue.d.ts +12 -0
  1114. package/dist/components/Dialog/DialogTitle.vue.d.ts.map +1 -0
  1115. package/dist/components/Dialog/DialogTitle.vue.js +26 -0
  1116. package/dist/components/Dialog/DialogTitle.vue.js.map +1 -0
  1117. package/dist/components/Dialog/context.react.d.ts +4 -0
  1118. package/dist/components/Dialog/context.react.d.ts.map +1 -0
  1119. package/dist/components/Dialog/context.react.js +5 -0
  1120. package/dist/components/Dialog/context.react.js.map +1 -0
  1121. package/dist/components/Dialog/context.svelte.d.ts +6 -0
  1122. package/dist/components/Dialog/context.svelte.d.ts.map +1 -0
  1123. package/dist/components/Dialog/context.svelte.js +8 -0
  1124. package/dist/components/Dialog/context.svelte.js.map +1 -0
  1125. package/dist/components/Dialog/context.vue.d.ts +4 -0
  1126. package/dist/components/Dialog/context.vue.d.ts.map +1 -0
  1127. package/dist/components/Dialog/context.vue.js +2 -0
  1128. package/dist/components/Dialog/context.vue.js.map +1 -0
  1129. package/dist/components/Dialog/icons.d.ts +2 -0
  1130. package/dist/components/Dialog/icons.d.ts.map +1 -0
  1131. package/dist/components/Dialog/icons.js +2 -0
  1132. package/dist/components/Dialog/icons.js.map +1 -0
  1133. package/dist/components/Dialog/types.d.ts +19 -0
  1134. package/dist/components/Dialog/types.d.ts.map +1 -0
  1135. package/dist/components/Dialog/types.js +2 -0
  1136. package/dist/components/Dialog/types.js.map +1 -0
  1137. package/dist/components/Dialog/types.react.d.ts +8 -0
  1138. package/dist/components/Dialog/types.react.d.ts.map +1 -0
  1139. package/dist/components/Dialog/types.react.js +2 -0
  1140. package/dist/components/Dialog/types.react.js.map +1 -0
  1141. package/dist/components/Dialog/types.svelte.d.ts +9 -0
  1142. package/dist/components/Dialog/types.svelte.d.ts.map +1 -0
  1143. package/dist/components/Dialog/types.svelte.js +2 -0
  1144. package/dist/components/Dialog/types.svelte.js.map +1 -0
  1145. package/dist/components/Dialog/types.vue-props.d.ts +15 -0
  1146. package/dist/components/Dialog/types.vue-props.d.ts.map +1 -0
  1147. package/dist/components/Dialog/types.vue-props.js +2 -0
  1148. package/dist/components/Dialog/types.vue-props.js.map +1 -0
  1149. package/dist/components/Divider/Divider.react.d.ts +3 -0
  1150. package/dist/components/Divider/Divider.react.d.ts.map +1 -0
  1151. package/dist/components/Divider/Divider.react.js +17 -0
  1152. package/dist/components/Divider/Divider.react.js.map +1 -0
  1153. package/dist/components/Divider/Divider.svelte +40 -0
  1154. package/dist/components/Divider/Divider.svelte.d.ts +5 -0
  1155. package/dist/components/Divider/Divider.svelte.d.ts.map +1 -0
  1156. package/dist/components/Divider/Divider.vue.d.ts +12 -0
  1157. package/dist/components/Divider/Divider.vue.d.ts.map +1 -0
  1158. package/dist/components/Divider/Divider.vue.js +38 -0
  1159. package/dist/components/Divider/Divider.vue.js.map +1 -0
  1160. package/dist/components/Divider/types.d.ts +6 -0
  1161. package/dist/components/Divider/types.d.ts.map +1 -0
  1162. package/dist/components/Divider/types.js +2 -0
  1163. package/dist/components/Divider/types.js.map +1 -0
  1164. package/dist/components/Divider/types.react.d.ts +4 -0
  1165. package/dist/components/Divider/types.react.d.ts.map +1 -0
  1166. package/dist/components/Divider/types.react.js +2 -0
  1167. package/dist/components/Divider/types.react.js.map +1 -0
  1168. package/dist/components/Divider/types.svelte.d.ts +4 -0
  1169. package/dist/components/Divider/types.svelte.d.ts.map +1 -0
  1170. package/dist/components/Divider/types.svelte.js +2 -0
  1171. package/dist/components/Divider/types.svelte.js.map +1 -0
  1172. package/dist/components/Divider/types.vue-props.d.ts +5 -0
  1173. package/dist/components/Divider/types.vue-props.d.ts.map +1 -0
  1174. package/dist/components/Divider/types.vue-props.js +2 -0
  1175. package/dist/components/Divider/types.vue-props.js.map +1 -0
  1176. package/dist/components/Drawer/Drawer.react.d.ts +3 -0
  1177. package/dist/components/Drawer/Drawer.react.d.ts.map +1 -0
  1178. package/dist/components/Drawer/Drawer.react.js +21 -0
  1179. package/dist/components/Drawer/Drawer.react.js.map +1 -0
  1180. package/dist/components/Drawer/Drawer.svelte +50 -0
  1181. package/dist/components/Drawer/Drawer.svelte.d.ts +5 -0
  1182. package/dist/components/Drawer/Drawer.svelte.d.ts.map +1 -0
  1183. package/dist/components/Drawer/Drawer.vue.d.ts +12 -0
  1184. package/dist/components/Drawer/Drawer.vue.d.ts.map +1 -0
  1185. package/dist/components/Drawer/Drawer.vue.js +47 -0
  1186. package/dist/components/Drawer/Drawer.vue.js.map +1 -0
  1187. package/dist/components/Drawer/DrawerContent.react.d.ts +3 -0
  1188. package/dist/components/Drawer/DrawerContent.react.d.ts.map +1 -0
  1189. package/dist/components/Drawer/DrawerContent.react.js +6 -0
  1190. package/dist/components/Drawer/DrawerContent.react.js.map +1 -0
  1191. package/dist/components/Drawer/DrawerContent.svelte +15 -0
  1192. package/dist/components/Drawer/DrawerContent.svelte.d.ts +4 -0
  1193. package/dist/components/Drawer/DrawerContent.svelte.d.ts.map +1 -0
  1194. package/dist/components/Drawer/DrawerContent.vue.d.ts +12 -0
  1195. package/dist/components/Drawer/DrawerContent.vue.d.ts.map +1 -0
  1196. package/dist/components/Drawer/DrawerContent.vue.js +18 -0
  1197. package/dist/components/Drawer/DrawerContent.vue.js.map +1 -0
  1198. package/dist/components/Drawer/DrawerFooter.react.d.ts +3 -0
  1199. package/dist/components/Drawer/DrawerFooter.react.d.ts.map +1 -0
  1200. package/dist/components/Drawer/DrawerFooter.react.js +10 -0
  1201. package/dist/components/Drawer/DrawerFooter.react.js.map +1 -0
  1202. package/dist/components/Drawer/DrawerFooter.svelte +23 -0
  1203. package/dist/components/Drawer/DrawerFooter.svelte.d.ts +5 -0
  1204. package/dist/components/Drawer/DrawerFooter.svelte.d.ts.map +1 -0
  1205. package/dist/components/Drawer/DrawerFooter.vue.d.ts +12 -0
  1206. package/dist/components/Drawer/DrawerFooter.vue.d.ts.map +1 -0
  1207. package/dist/components/Drawer/DrawerFooter.vue.js +23 -0
  1208. package/dist/components/Drawer/DrawerFooter.vue.js.map +1 -0
  1209. package/dist/components/Drawer/DrawerHeader.react.d.ts +3 -0
  1210. package/dist/components/Drawer/DrawerHeader.react.d.ts.map +1 -0
  1211. package/dist/components/Drawer/DrawerHeader.react.js +14 -0
  1212. package/dist/components/Drawer/DrawerHeader.react.js.map +1 -0
  1213. package/dist/components/Drawer/DrawerHeader.svelte +47 -0
  1214. package/dist/components/Drawer/DrawerHeader.svelte.d.ts +5 -0
  1215. package/dist/components/Drawer/DrawerHeader.svelte.d.ts.map +1 -0
  1216. package/dist/components/Drawer/DrawerHeader.vue.d.ts +12 -0
  1217. package/dist/components/Drawer/DrawerHeader.vue.d.ts.map +1 -0
  1218. package/dist/components/Drawer/DrawerHeader.vue.js +59 -0
  1219. package/dist/components/Drawer/DrawerHeader.vue.js.map +1 -0
  1220. package/dist/components/Drawer/DrawerTitle.react.d.ts +3 -0
  1221. package/dist/components/Drawer/DrawerTitle.react.d.ts.map +1 -0
  1222. package/dist/components/Drawer/DrawerTitle.react.js +11 -0
  1223. package/dist/components/Drawer/DrawerTitle.react.js.map +1 -0
  1224. package/dist/components/Drawer/DrawerTitle.svelte +23 -0
  1225. package/dist/components/Drawer/DrawerTitle.svelte.d.ts +4 -0
  1226. package/dist/components/Drawer/DrawerTitle.svelte.d.ts.map +1 -0
  1227. package/dist/components/Drawer/DrawerTitle.vue.d.ts +12 -0
  1228. package/dist/components/Drawer/DrawerTitle.vue.d.ts.map +1 -0
  1229. package/dist/components/Drawer/DrawerTitle.vue.js +26 -0
  1230. package/dist/components/Drawer/DrawerTitle.vue.js.map +1 -0
  1231. package/dist/components/Drawer/context.react.d.ts +4 -0
  1232. package/dist/components/Drawer/context.react.d.ts.map +1 -0
  1233. package/dist/components/Drawer/context.react.js +5 -0
  1234. package/dist/components/Drawer/context.react.js.map +1 -0
  1235. package/dist/components/Drawer/context.svelte.d.ts +6 -0
  1236. package/dist/components/Drawer/context.svelte.d.ts.map +1 -0
  1237. package/dist/components/Drawer/context.svelte.js +8 -0
  1238. package/dist/components/Drawer/context.svelte.js.map +1 -0
  1239. package/dist/components/Drawer/context.vue.d.ts +4 -0
  1240. package/dist/components/Drawer/context.vue.d.ts.map +1 -0
  1241. package/dist/components/Drawer/context.vue.js +2 -0
  1242. package/dist/components/Drawer/context.vue.js.map +1 -0
  1243. package/dist/components/Drawer/icons.d.ts +2 -0
  1244. package/dist/components/Drawer/icons.d.ts.map +1 -0
  1245. package/dist/components/Drawer/icons.js +2 -0
  1246. package/dist/components/Drawer/icons.js.map +1 -0
  1247. package/dist/components/Drawer/types.d.ts +24 -0
  1248. package/dist/components/Drawer/types.d.ts.map +1 -0
  1249. package/dist/components/Drawer/types.js +2 -0
  1250. package/dist/components/Drawer/types.js.map +1 -0
  1251. package/dist/components/Drawer/types.react.d.ts +8 -0
  1252. package/dist/components/Drawer/types.react.d.ts.map +1 -0
  1253. package/dist/components/Drawer/types.react.js +2 -0
  1254. package/dist/components/Drawer/types.react.js.map +1 -0
  1255. package/dist/components/Drawer/types.svelte.d.ts +9 -0
  1256. package/dist/components/Drawer/types.svelte.d.ts.map +1 -0
  1257. package/dist/components/Drawer/types.svelte.js +2 -0
  1258. package/dist/components/Drawer/types.svelte.js.map +1 -0
  1259. package/dist/components/Drawer/types.vue-props.d.ts +15 -0
  1260. package/dist/components/Drawer/types.vue-props.d.ts.map +1 -0
  1261. package/dist/components/Drawer/types.vue-props.js +2 -0
  1262. package/dist/components/Drawer/types.vue-props.js.map +1 -0
  1263. package/dist/components/FieldDescription/FieldDescription.react.d.ts +3 -0
  1264. package/dist/components/FieldDescription/FieldDescription.react.d.ts.map +1 -0
  1265. package/dist/components/FieldDescription/FieldDescription.react.js +6 -0
  1266. package/dist/components/FieldDescription/FieldDescription.react.js.map +1 -0
  1267. package/dist/components/FieldDescription/FieldDescription.svelte +15 -0
  1268. package/dist/components/FieldDescription/FieldDescription.svelte.d.ts +4 -0
  1269. package/dist/components/FieldDescription/FieldDescription.svelte.d.ts.map +1 -0
  1270. package/dist/components/FieldDescription/FieldDescription.vue.d.ts +12 -0
  1271. package/dist/components/FieldDescription/FieldDescription.vue.d.ts.map +1 -0
  1272. package/dist/components/FieldDescription/FieldDescription.vue.js +18 -0
  1273. package/dist/components/FieldDescription/FieldDescription.vue.js.map +1 -0
  1274. package/dist/components/FieldDescription/types.d.ts +2 -0
  1275. package/dist/components/FieldDescription/types.d.ts.map +1 -0
  1276. package/dist/components/FieldDescription/types.js +2 -0
  1277. package/dist/components/FieldDescription/types.js.map +1 -0
  1278. package/dist/components/FieldDescription/types.react.d.ts +4 -0
  1279. package/dist/components/FieldDescription/types.react.d.ts.map +1 -0
  1280. package/dist/components/FieldDescription/types.react.js +2 -0
  1281. package/dist/components/FieldDescription/types.react.js.map +1 -0
  1282. package/dist/components/FieldDescription/types.svelte.d.ts +4 -0
  1283. package/dist/components/FieldDescription/types.svelte.d.ts.map +1 -0
  1284. package/dist/components/FieldDescription/types.svelte.js +2 -0
  1285. package/dist/components/FieldDescription/types.svelte.js.map +1 -0
  1286. package/dist/components/FieldDescription/types.vue-props.d.ts +5 -0
  1287. package/dist/components/FieldDescription/types.vue-props.d.ts.map +1 -0
  1288. package/dist/components/FieldDescription/types.vue-props.js +2 -0
  1289. package/dist/components/FieldDescription/types.vue-props.js.map +1 -0
  1290. package/dist/components/FieldGroup/FieldGroup.react.d.ts +3 -0
  1291. package/dist/components/FieldGroup/FieldGroup.react.d.ts.map +1 -0
  1292. package/dist/components/FieldGroup/FieldGroup.react.js +13 -0
  1293. package/dist/components/FieldGroup/FieldGroup.react.js.map +1 -0
  1294. package/dist/components/FieldGroup/FieldGroup.svelte +32 -0
  1295. package/dist/components/FieldGroup/FieldGroup.svelte.d.ts +5 -0
  1296. package/dist/components/FieldGroup/FieldGroup.svelte.d.ts.map +1 -0
  1297. package/dist/components/FieldGroup/FieldGroup.vue.d.ts +12 -0
  1298. package/dist/components/FieldGroup/FieldGroup.vue.d.ts.map +1 -0
  1299. package/dist/components/FieldGroup/FieldGroup.vue.js +28 -0
  1300. package/dist/components/FieldGroup/FieldGroup.vue.js.map +1 -0
  1301. package/dist/components/FieldGroup/context.react.d.ts +4 -0
  1302. package/dist/components/FieldGroup/context.react.d.ts.map +1 -0
  1303. package/dist/components/FieldGroup/context.react.js +5 -0
  1304. package/dist/components/FieldGroup/context.react.js.map +1 -0
  1305. package/dist/components/FieldGroup/context.svelte.d.ts +6 -0
  1306. package/dist/components/FieldGroup/context.svelte.d.ts.map +1 -0
  1307. package/dist/components/FieldGroup/context.svelte.js +8 -0
  1308. package/dist/components/FieldGroup/context.svelte.js.map +1 -0
  1309. package/dist/components/FieldGroup/context.vue.d.ts +4 -0
  1310. package/dist/components/FieldGroup/context.vue.d.ts.map +1 -0
  1311. package/dist/components/FieldGroup/context.vue.js +2 -0
  1312. package/dist/components/FieldGroup/context.vue.js.map +1 -0
  1313. package/dist/components/FieldGroup/types.d.ts +6 -0
  1314. package/dist/components/FieldGroup/types.d.ts.map +1 -0
  1315. package/dist/components/FieldGroup/types.js +2 -0
  1316. package/dist/components/FieldGroup/types.js.map +1 -0
  1317. package/dist/components/FieldGroup/types.react.d.ts +4 -0
  1318. package/dist/components/FieldGroup/types.react.d.ts.map +1 -0
  1319. package/dist/components/FieldGroup/types.react.js +2 -0
  1320. package/dist/components/FieldGroup/types.react.js.map +1 -0
  1321. package/dist/components/FieldGroup/types.svelte.d.ts +4 -0
  1322. package/dist/components/FieldGroup/types.svelte.d.ts.map +1 -0
  1323. package/dist/components/FieldGroup/types.svelte.js +2 -0
  1324. package/dist/components/FieldGroup/types.svelte.js.map +1 -0
  1325. package/dist/components/FieldGroup/types.vue-props.d.ts +5 -0
  1326. package/dist/components/FieldGroup/types.vue-props.d.ts.map +1 -0
  1327. package/dist/components/FieldGroup/types.vue-props.js +2 -0
  1328. package/dist/components/FieldGroup/types.vue-props.js.map +1 -0
  1329. package/dist/components/FieldLegend/FieldLegend.react.d.ts +3 -0
  1330. package/dist/components/FieldLegend/FieldLegend.react.d.ts.map +1 -0
  1331. package/dist/components/FieldLegend/FieldLegend.react.js +13 -0
  1332. package/dist/components/FieldLegend/FieldLegend.react.js.map +1 -0
  1333. package/dist/components/FieldLegend/FieldLegend.svelte +32 -0
  1334. package/dist/components/FieldLegend/FieldLegend.svelte.d.ts +5 -0
  1335. package/dist/components/FieldLegend/FieldLegend.svelte.d.ts.map +1 -0
  1336. package/dist/components/FieldLegend/FieldLegend.vue.d.ts +12 -0
  1337. package/dist/components/FieldLegend/FieldLegend.vue.d.ts.map +1 -0
  1338. package/dist/components/FieldLegend/FieldLegend.vue.js +30 -0
  1339. package/dist/components/FieldLegend/FieldLegend.vue.js.map +1 -0
  1340. package/dist/components/FieldLegend/types.d.ts +2 -0
  1341. package/dist/components/FieldLegend/types.d.ts.map +1 -0
  1342. package/dist/components/FieldLegend/types.js +2 -0
  1343. package/dist/components/FieldLegend/types.js.map +1 -0
  1344. package/dist/components/FieldLegend/types.react.d.ts +8 -0
  1345. package/dist/components/FieldLegend/types.react.d.ts.map +1 -0
  1346. package/dist/components/FieldLegend/types.react.js +2 -0
  1347. package/dist/components/FieldLegend/types.react.js.map +1 -0
  1348. package/dist/components/FieldLegend/types.svelte.d.ts +8 -0
  1349. package/dist/components/FieldLegend/types.svelte.d.ts.map +1 -0
  1350. package/dist/components/FieldLegend/types.svelte.js +2 -0
  1351. package/dist/components/FieldLegend/types.svelte.js.map +1 -0
  1352. package/dist/components/FieldLegend/types.vue-props.d.ts +9 -0
  1353. package/dist/components/FieldLegend/types.vue-props.d.ts.map +1 -0
  1354. package/dist/components/FieldLegend/types.vue-props.js +2 -0
  1355. package/dist/components/FieldLegend/types.vue-props.js.map +1 -0
  1356. package/dist/components/Fieldset/Fieldset.react.d.ts +3 -0
  1357. package/dist/components/Fieldset/Fieldset.react.d.ts.map +1 -0
  1358. package/dist/components/Fieldset/Fieldset.react.js +17 -0
  1359. package/dist/components/Fieldset/Fieldset.react.js.map +1 -0
  1360. package/dist/components/Fieldset/Fieldset.svelte +38 -0
  1361. package/dist/components/Fieldset/Fieldset.svelte.d.ts +5 -0
  1362. package/dist/components/Fieldset/Fieldset.svelte.d.ts.map +1 -0
  1363. package/dist/components/Fieldset/Fieldset.vue.d.ts +12 -0
  1364. package/dist/components/Fieldset/Fieldset.vue.d.ts.map +1 -0
  1365. package/dist/components/Fieldset/Fieldset.vue.js +38 -0
  1366. package/dist/components/Fieldset/Fieldset.vue.js.map +1 -0
  1367. package/dist/components/Fieldset/context.react.d.ts +4 -0
  1368. package/dist/components/Fieldset/context.react.d.ts.map +1 -0
  1369. package/dist/components/Fieldset/context.react.js +5 -0
  1370. package/dist/components/Fieldset/context.react.js.map +1 -0
  1371. package/dist/components/Fieldset/context.svelte.d.ts +6 -0
  1372. package/dist/components/Fieldset/context.svelte.d.ts.map +1 -0
  1373. package/dist/components/Fieldset/context.svelte.js +8 -0
  1374. package/dist/components/Fieldset/context.svelte.js.map +1 -0
  1375. package/dist/components/Fieldset/context.vue.d.ts +4 -0
  1376. package/dist/components/Fieldset/context.vue.d.ts.map +1 -0
  1377. package/dist/components/Fieldset/context.vue.js +2 -0
  1378. package/dist/components/Fieldset/context.vue.js.map +1 -0
  1379. package/dist/components/Fieldset/types.d.ts +5 -0
  1380. package/dist/components/Fieldset/types.d.ts.map +1 -0
  1381. package/dist/components/Fieldset/types.js +2 -0
  1382. package/dist/components/Fieldset/types.js.map +1 -0
  1383. package/dist/components/Fieldset/types.react.d.ts +8 -0
  1384. package/dist/components/Fieldset/types.react.d.ts.map +1 -0
  1385. package/dist/components/Fieldset/types.react.js +2 -0
  1386. package/dist/components/Fieldset/types.react.js.map +1 -0
  1387. package/dist/components/Fieldset/types.svelte.d.ts +8 -0
  1388. package/dist/components/Fieldset/types.svelte.d.ts.map +1 -0
  1389. package/dist/components/Fieldset/types.svelte.js +2 -0
  1390. package/dist/components/Fieldset/types.svelte.js.map +1 -0
  1391. package/dist/components/Fieldset/types.vue-props.d.ts +7 -0
  1392. package/dist/components/Fieldset/types.vue-props.d.ts.map +1 -0
  1393. package/dist/components/Fieldset/types.vue-props.js +2 -0
  1394. package/dist/components/Fieldset/types.vue-props.js.map +1 -0
  1395. package/dist/components/Form/Form.react.d.ts +3 -0
  1396. package/dist/components/Form/Form.react.d.ts.map +1 -0
  1397. package/dist/components/Form/Form.react.js +7 -0
  1398. package/dist/components/Form/Form.react.js.map +1 -0
  1399. package/dist/components/Form/Form.svelte +16 -0
  1400. package/dist/components/Form/Form.svelte.d.ts +5 -0
  1401. package/dist/components/Form/Form.svelte.d.ts.map +1 -0
  1402. package/dist/components/Form/Form.vue.d.ts +12 -0
  1403. package/dist/components/Form/Form.vue.d.ts.map +1 -0
  1404. package/dist/components/Form/Form.vue.js +22 -0
  1405. package/dist/components/Form/Form.vue.js.map +1 -0
  1406. package/dist/components/Form/types.d.ts +2 -0
  1407. package/dist/components/Form/types.d.ts.map +1 -0
  1408. package/dist/components/Form/types.js +2 -0
  1409. package/dist/components/Form/types.js.map +1 -0
  1410. package/dist/components/Form/types.react.d.ts +8 -0
  1411. package/dist/components/Form/types.react.d.ts.map +1 -0
  1412. package/dist/components/Form/types.react.js +2 -0
  1413. package/dist/components/Form/types.react.js.map +1 -0
  1414. package/dist/components/Form/types.svelte.d.ts +8 -0
  1415. package/dist/components/Form/types.svelte.d.ts.map +1 -0
  1416. package/dist/components/Form/types.svelte.js +2 -0
  1417. package/dist/components/Form/types.svelte.js.map +1 -0
  1418. package/dist/components/Form/types.vue-props.d.ts +7 -0
  1419. package/dist/components/Form/types.vue-props.d.ts.map +1 -0
  1420. package/dist/components/Form/types.vue-props.js +2 -0
  1421. package/dist/components/Form/types.vue-props.js.map +1 -0
  1422. package/dist/components/List/List.react.d.ts +3 -0
  1423. package/dist/components/List/List.react.d.ts.map +1 -0
  1424. package/dist/components/List/List.react.js +12 -0
  1425. package/dist/components/List/List.react.js.map +1 -0
  1426. package/dist/components/List/List.svelte +29 -0
  1427. package/dist/components/List/List.svelte.d.ts +5 -0
  1428. package/dist/components/List/List.svelte.d.ts.map +1 -0
  1429. package/dist/components/List/List.vue.d.ts +12 -0
  1430. package/dist/components/List/List.vue.d.ts.map +1 -0
  1431. package/dist/components/List/List.vue.js +34 -0
  1432. package/dist/components/List/List.vue.js.map +1 -0
  1433. package/dist/components/List/types.d.ts +7 -0
  1434. package/dist/components/List/types.d.ts.map +1 -0
  1435. package/dist/components/List/types.js +2 -0
  1436. package/dist/components/List/types.js.map +1 -0
  1437. package/dist/components/List/types.react.d.ts +4 -0
  1438. package/dist/components/List/types.react.d.ts.map +1 -0
  1439. package/dist/components/List/types.react.js +2 -0
  1440. package/dist/components/List/types.react.js.map +1 -0
  1441. package/dist/components/List/types.svelte.d.ts +4 -0
  1442. package/dist/components/List/types.svelte.d.ts.map +1 -0
  1443. package/dist/components/List/types.svelte.js +2 -0
  1444. package/dist/components/List/types.svelte.js.map +1 -0
  1445. package/dist/components/List/types.vue-props.d.ts +5 -0
  1446. package/dist/components/List/types.vue-props.d.ts.map +1 -0
  1447. package/dist/components/List/types.vue-props.js +2 -0
  1448. package/dist/components/List/types.vue-props.js.map +1 -0
  1449. package/dist/components/ListItem/ListItem.react.d.ts +3 -0
  1450. package/dist/components/ListItem/ListItem.react.d.ts.map +1 -0
  1451. package/dist/components/ListItem/ListItem.react.js +17 -0
  1452. package/dist/components/ListItem/ListItem.react.js.map +1 -0
  1453. package/dist/components/ListItem/ListItem.svelte +108 -0
  1454. package/dist/components/ListItem/ListItem.svelte.d.ts +48 -0
  1455. package/dist/components/ListItem/ListItem.svelte.d.ts.map +1 -0
  1456. package/dist/components/ListItem/ListItem.vue.d.ts +96 -0
  1457. package/dist/components/ListItem/ListItem.vue.d.ts.map +1 -0
  1458. package/dist/components/ListItem/ListItem.vue.js +147 -0
  1459. package/dist/components/ListItem/ListItem.vue.js.map +1 -0
  1460. package/dist/components/ListItem/types.d.ts +31 -0
  1461. package/dist/components/ListItem/types.d.ts.map +1 -0
  1462. package/dist/components/ListItem/types.js +2 -0
  1463. package/dist/components/ListItem/types.js.map +1 -0
  1464. package/dist/components/ListItem/types.react.d.ts +16 -0
  1465. package/dist/components/ListItem/types.react.d.ts.map +1 -0
  1466. package/dist/components/ListItem/types.react.js +2 -0
  1467. package/dist/components/ListItem/types.react.js.map +1 -0
  1468. package/dist/components/ListItem/types.svelte.d.ts +15 -0
  1469. package/dist/components/ListItem/types.svelte.d.ts.map +1 -0
  1470. package/dist/components/ListItem/types.svelte.js +2 -0
  1471. package/dist/components/ListItem/types.svelte.js.map +1 -0
  1472. package/dist/components/ListItem/types.vue-props.d.ts +14 -0
  1473. package/dist/components/ListItem/types.vue-props.d.ts.map +1 -0
  1474. package/dist/components/ListItem/types.vue-props.js +2 -0
  1475. package/dist/components/ListItem/types.vue-props.js.map +1 -0
  1476. package/dist/components/Menu/Menu.react.d.ts +3 -0
  1477. package/dist/components/Menu/Menu.react.d.ts.map +1 -0
  1478. package/dist/components/Menu/Menu.react.js +29 -0
  1479. package/dist/components/Menu/Menu.react.js.map +1 -0
  1480. package/dist/components/Menu/Menu.svelte +74 -0
  1481. package/dist/components/Menu/Menu.svelte.d.ts +5 -0
  1482. package/dist/components/Menu/Menu.svelte.d.ts.map +1 -0
  1483. package/dist/components/Menu/Menu.vue.d.ts +12 -0
  1484. package/dist/components/Menu/Menu.vue.d.ts.map +1 -0
  1485. package/dist/components/Menu/Menu.vue.js +73 -0
  1486. package/dist/components/Menu/Menu.vue.js.map +1 -0
  1487. package/dist/components/Menu/context.react.d.ts +4 -0
  1488. package/dist/components/Menu/context.react.d.ts.map +1 -0
  1489. package/dist/components/Menu/context.react.js +5 -0
  1490. package/dist/components/Menu/context.react.js.map +1 -0
  1491. package/dist/components/Menu/context.svelte.d.ts +6 -0
  1492. package/dist/components/Menu/context.svelte.d.ts.map +1 -0
  1493. package/dist/components/Menu/context.svelte.js +8 -0
  1494. package/dist/components/Menu/context.svelte.js.map +1 -0
  1495. package/dist/components/Menu/context.vue.d.ts +4 -0
  1496. package/dist/components/Menu/context.vue.d.ts.map +1 -0
  1497. package/dist/components/Menu/context.vue.js +2 -0
  1498. package/dist/components/Menu/context.vue.js.map +1 -0
  1499. package/dist/components/Menu/types.d.ts +22 -0
  1500. package/dist/components/Menu/types.d.ts.map +1 -0
  1501. package/dist/components/Menu/types.js +2 -0
  1502. package/dist/components/Menu/types.js.map +1 -0
  1503. package/dist/components/Menu/types.react.d.ts +7 -0
  1504. package/dist/components/Menu/types.react.d.ts.map +1 -0
  1505. package/dist/components/Menu/types.react.js +2 -0
  1506. package/dist/components/Menu/types.react.js.map +1 -0
  1507. package/dist/components/Menu/types.svelte.d.ts +7 -0
  1508. package/dist/components/Menu/types.svelte.d.ts.map +1 -0
  1509. package/dist/components/Menu/types.svelte.js +2 -0
  1510. package/dist/components/Menu/types.svelte.js.map +1 -0
  1511. package/dist/components/Menu/types.vue-props.d.ts +9 -0
  1512. package/dist/components/Menu/types.vue-props.d.ts.map +1 -0
  1513. package/dist/components/Menu/types.vue-props.js +2 -0
  1514. package/dist/components/Menu/types.vue-props.js.map +1 -0
  1515. package/dist/components/Message/Message.react.d.ts +3 -0
  1516. package/dist/components/Message/Message.react.d.ts.map +1 -0
  1517. package/dist/components/Message/Message.react.js +14 -0
  1518. package/dist/components/Message/Message.react.js.map +1 -0
  1519. package/dist/components/Message/Message.svelte +65 -0
  1520. package/dist/components/Message/Message.svelte.d.ts +5 -0
  1521. package/dist/components/Message/Message.svelte.d.ts.map +1 -0
  1522. package/dist/components/Message/Message.vue.d.ts +12 -0
  1523. package/dist/components/Message/Message.vue.d.ts.map +1 -0
  1524. package/dist/components/Message/Message.vue.js +91 -0
  1525. package/dist/components/Message/Message.vue.js.map +1 -0
  1526. package/dist/components/Message/Messages.react.d.ts +3 -0
  1527. package/dist/components/Message/Messages.react.d.ts.map +1 -0
  1528. package/dist/components/Message/Messages.react.js +7 -0
  1529. package/dist/components/Message/Messages.react.js.map +1 -0
  1530. package/dist/components/Message/Messages.svelte +16 -0
  1531. package/dist/components/Message/Messages.svelte.d.ts +4 -0
  1532. package/dist/components/Message/Messages.svelte.d.ts.map +1 -0
  1533. package/dist/components/Message/Messages.vue.d.ts +12 -0
  1534. package/dist/components/Message/Messages.vue.d.ts.map +1 -0
  1535. package/dist/components/Message/Messages.vue.js +25 -0
  1536. package/dist/components/Message/Messages.vue.js.map +1 -0
  1537. package/dist/components/Message/types.d.ts +15 -0
  1538. package/dist/components/Message/types.d.ts.map +1 -0
  1539. package/dist/components/Message/types.js +2 -0
  1540. package/dist/components/Message/types.js.map +1 -0
  1541. package/dist/components/Message/types.react.d.ts +5 -0
  1542. package/dist/components/Message/types.react.d.ts.map +1 -0
  1543. package/dist/components/Message/types.react.js +2 -0
  1544. package/dist/components/Message/types.react.js.map +1 -0
  1545. package/dist/components/Message/types.svelte.d.ts +6 -0
  1546. package/dist/components/Message/types.svelte.d.ts.map +1 -0
  1547. package/dist/components/Message/types.svelte.js +2 -0
  1548. package/dist/components/Message/types.svelte.js.map +1 -0
  1549. package/dist/components/Message/types.vue-props.d.ts +12 -0
  1550. package/dist/components/Message/types.vue-props.d.ts.map +1 -0
  1551. package/dist/components/Message/types.vue-props.js +2 -0
  1552. package/dist/components/Message/types.vue-props.js.map +1 -0
  1553. package/dist/components/NumberField/NumberField.react.d.ts +3 -0
  1554. package/dist/components/NumberField/NumberField.react.d.ts.map +1 -0
  1555. package/dist/components/NumberField/NumberField.react.js +30 -0
  1556. package/dist/components/NumberField/NumberField.react.js.map +1 -0
  1557. package/dist/components/NumberField/NumberField.svelte +137 -0
  1558. package/dist/components/NumberField/NumberField.svelte.d.ts +6 -0
  1559. package/dist/components/NumberField/NumberField.svelte.d.ts.map +1 -0
  1560. package/dist/components/NumberField/NumberField.vue.d.ts +22 -0
  1561. package/dist/components/NumberField/NumberField.vue.d.ts.map +1 -0
  1562. package/dist/components/NumberField/NumberField.vue.js +191 -0
  1563. package/dist/components/NumberField/NumberField.vue.js.map +1 -0
  1564. package/dist/components/NumberField/icons.d.ts +3 -0
  1565. package/dist/components/NumberField/icons.d.ts.map +1 -0
  1566. package/dist/components/NumberField/icons.js +3 -0
  1567. package/dist/components/NumberField/icons.js.map +1 -0
  1568. package/dist/components/NumberField/types.d.ts +21 -0
  1569. package/dist/components/NumberField/types.d.ts.map +1 -0
  1570. package/dist/components/NumberField/types.js +2 -0
  1571. package/dist/components/NumberField/types.js.map +1 -0
  1572. package/dist/components/NumberField/types.react.d.ts +6 -0
  1573. package/dist/components/NumberField/types.react.d.ts.map +1 -0
  1574. package/dist/components/NumberField/types.react.js +2 -0
  1575. package/dist/components/NumberField/types.react.js.map +1 -0
  1576. package/dist/components/NumberField/types.svelte.d.ts +7 -0
  1577. package/dist/components/NumberField/types.svelte.d.ts.map +1 -0
  1578. package/dist/components/NumberField/types.svelte.js +2 -0
  1579. package/dist/components/NumberField/types.svelte.js.map +1 -0
  1580. package/dist/components/NumberField/types.vue-props.d.ts +16 -0
  1581. package/dist/components/NumberField/types.vue-props.d.ts.map +1 -0
  1582. package/dist/components/NumberField/types.vue-props.js +2 -0
  1583. package/dist/components/NumberField/types.vue-props.js.map +1 -0
  1584. package/dist/components/OneTimeCode/OneTimeCode.react.d.ts +3 -0
  1585. package/dist/components/OneTimeCode/OneTimeCode.react.d.ts.map +1 -0
  1586. package/dist/components/OneTimeCode/OneTimeCode.react.js +16 -0
  1587. package/dist/components/OneTimeCode/OneTimeCode.react.js.map +1 -0
  1588. package/dist/components/OneTimeCode/OneTimeCode.svelte +71 -0
  1589. package/dist/components/OneTimeCode/OneTimeCode.svelte.d.ts +5 -0
  1590. package/dist/components/OneTimeCode/OneTimeCode.svelte.d.ts.map +1 -0
  1591. package/dist/components/OneTimeCode/OneTimeCode.vue.d.ts +21 -0
  1592. package/dist/components/OneTimeCode/OneTimeCode.vue.d.ts.map +1 -0
  1593. package/dist/components/OneTimeCode/OneTimeCode.vue.js +96 -0
  1594. package/dist/components/OneTimeCode/OneTimeCode.vue.js.map +1 -0
  1595. package/dist/components/OneTimeCode/types.d.ts +14 -0
  1596. package/dist/components/OneTimeCode/types.d.ts.map +1 -0
  1597. package/dist/components/OneTimeCode/types.js +2 -0
  1598. package/dist/components/OneTimeCode/types.js.map +1 -0
  1599. package/dist/components/OneTimeCode/types.react.d.ts +6 -0
  1600. package/dist/components/OneTimeCode/types.react.d.ts.map +1 -0
  1601. package/dist/components/OneTimeCode/types.react.js +2 -0
  1602. package/dist/components/OneTimeCode/types.react.js.map +1 -0
  1603. package/dist/components/OneTimeCode/types.svelte.d.ts +7 -0
  1604. package/dist/components/OneTimeCode/types.svelte.d.ts.map +1 -0
  1605. package/dist/components/OneTimeCode/types.svelte.js +2 -0
  1606. package/dist/components/OneTimeCode/types.svelte.js.map +1 -0
  1607. package/dist/components/OneTimeCode/types.vue-props.d.ts +12 -0
  1608. package/dist/components/OneTimeCode/types.vue-props.d.ts.map +1 -0
  1609. package/dist/components/OneTimeCode/types.vue-props.js +2 -0
  1610. package/dist/components/OneTimeCode/types.vue-props.js.map +1 -0
  1611. package/dist/components/Progress/Progress.react.d.ts +3 -0
  1612. package/dist/components/Progress/Progress.react.d.ts.map +1 -0
  1613. package/dist/components/Progress/Progress.react.js +11 -0
  1614. package/dist/components/Progress/Progress.react.js.map +1 -0
  1615. package/dist/components/Progress/Progress.svelte +32 -0
  1616. package/dist/components/Progress/Progress.svelte.d.ts +5 -0
  1617. package/dist/components/Progress/Progress.svelte.d.ts.map +1 -0
  1618. package/dist/components/Progress/Progress.vue.d.ts +12 -0
  1619. package/dist/components/Progress/Progress.vue.d.ts.map +1 -0
  1620. package/dist/components/Progress/Progress.vue.js +39 -0
  1621. package/dist/components/Progress/Progress.vue.js.map +1 -0
  1622. package/dist/components/Progress/types.d.ts +7 -0
  1623. package/dist/components/Progress/types.d.ts.map +1 -0
  1624. package/dist/components/Progress/types.js +2 -0
  1625. package/dist/components/Progress/types.js.map +1 -0
  1626. package/dist/components/Progress/types.react.d.ts +4 -0
  1627. package/dist/components/Progress/types.react.d.ts.map +1 -0
  1628. package/dist/components/Progress/types.react.js +2 -0
  1629. package/dist/components/Progress/types.react.js.map +1 -0
  1630. package/dist/components/Progress/types.svelte.d.ts +4 -0
  1631. package/dist/components/Progress/types.svelte.d.ts.map +1 -0
  1632. package/dist/components/Progress/types.svelte.js +2 -0
  1633. package/dist/components/Progress/types.svelte.js.map +1 -0
  1634. package/dist/components/Progress/types.vue-props.d.ts +5 -0
  1635. package/dist/components/Progress/types.vue-props.d.ts.map +1 -0
  1636. package/dist/components/Progress/types.vue-props.js +2 -0
  1637. package/dist/components/Progress/types.vue-props.js.map +1 -0
  1638. package/dist/components/Radio/Radio.react.d.ts +3 -0
  1639. package/dist/components/Radio/Radio.react.d.ts.map +1 -0
  1640. package/dist/components/Radio/Radio.react.js +16 -0
  1641. package/dist/components/Radio/Radio.react.js.map +1 -0
  1642. package/dist/components/Radio/Radio.svelte +57 -0
  1643. package/dist/components/Radio/Radio.svelte.d.ts +5 -0
  1644. package/dist/components/Radio/Radio.svelte.d.ts.map +1 -0
  1645. package/dist/components/Radio/Radio.vue.d.ts +21 -0
  1646. package/dist/components/Radio/Radio.vue.d.ts.map +1 -0
  1647. package/dist/components/Radio/Radio.vue.js +77 -0
  1648. package/dist/components/Radio/Radio.vue.js.map +1 -0
  1649. package/dist/components/Radio/RadioInput.react.d.ts +3 -0
  1650. package/dist/components/Radio/RadioInput.react.d.ts.map +1 -0
  1651. package/dist/components/Radio/RadioInput.react.js +9 -0
  1652. package/dist/components/Radio/RadioInput.react.js.map +1 -0
  1653. package/dist/components/Radio/RadioInput.svelte +42 -0
  1654. package/dist/components/Radio/RadioInput.svelte.d.ts +5 -0
  1655. package/dist/components/Radio/RadioInput.svelte.d.ts.map +1 -0
  1656. package/dist/components/Radio/RadioInput.vue.d.ts +14 -0
  1657. package/dist/components/Radio/RadioInput.vue.d.ts.map +1 -0
  1658. package/dist/components/Radio/RadioInput.vue.js +52 -0
  1659. package/dist/components/Radio/RadioInput.vue.js.map +1 -0
  1660. package/dist/components/Radio/types.d.ts +16 -0
  1661. package/dist/components/Radio/types.d.ts.map +1 -0
  1662. package/dist/components/Radio/types.js +2 -0
  1663. package/dist/components/Radio/types.js.map +1 -0
  1664. package/dist/components/Radio/types.react.d.ts +7 -0
  1665. package/dist/components/Radio/types.react.d.ts.map +1 -0
  1666. package/dist/components/Radio/types.react.js +2 -0
  1667. package/dist/components/Radio/types.react.js.map +1 -0
  1668. package/dist/components/Radio/types.svelte.d.ts +12 -0
  1669. package/dist/components/Radio/types.svelte.d.ts.map +1 -0
  1670. package/dist/components/Radio/types.svelte.js +2 -0
  1671. package/dist/components/Radio/types.svelte.js.map +1 -0
  1672. package/dist/components/Radio/types.vue-props.d.ts +11 -0
  1673. package/dist/components/Radio/types.vue-props.d.ts.map +1 -0
  1674. package/dist/components/Radio/types.vue-props.js +2 -0
  1675. package/dist/components/Radio/types.vue-props.js.map +1 -0
  1676. package/dist/components/Range/Range.react.d.ts +3 -0
  1677. package/dist/components/Range/Range.react.d.ts.map +1 -0
  1678. package/dist/components/Range/Range.react.js +39 -0
  1679. package/dist/components/Range/Range.react.js.map +1 -0
  1680. package/dist/components/Range/Range.svelte +142 -0
  1681. package/dist/components/Range/Range.svelte.d.ts +6 -0
  1682. package/dist/components/Range/Range.svelte.d.ts.map +1 -0
  1683. package/dist/components/Range/Range.vue.d.ts +22 -0
  1684. package/dist/components/Range/Range.vue.d.ts.map +1 -0
  1685. package/dist/components/Range/Range.vue.js +185 -0
  1686. package/dist/components/Range/Range.vue.js.map +1 -0
  1687. package/dist/components/Range/types.d.ts +26 -0
  1688. package/dist/components/Range/types.d.ts.map +1 -0
  1689. package/dist/components/Range/types.js +2 -0
  1690. package/dist/components/Range/types.js.map +1 -0
  1691. package/dist/components/Range/types.react.d.ts +6 -0
  1692. package/dist/components/Range/types.react.d.ts.map +1 -0
  1693. package/dist/components/Range/types.react.js +2 -0
  1694. package/dist/components/Range/types.react.js.map +1 -0
  1695. package/dist/components/Range/types.svelte.d.ts +7 -0
  1696. package/dist/components/Range/types.svelte.d.ts.map +1 -0
  1697. package/dist/components/Range/types.svelte.js +2 -0
  1698. package/dist/components/Range/types.svelte.js.map +1 -0
  1699. package/dist/components/Range/types.vue-props.d.ts +18 -0
  1700. package/dist/components/Range/types.vue-props.d.ts.map +1 -0
  1701. package/dist/components/Range/types.vue-props.js +2 -0
  1702. package/dist/components/Range/types.vue-props.js.map +1 -0
  1703. package/dist/components/Range/value.d.ts +7 -0
  1704. package/dist/components/Range/value.d.ts.map +1 -0
  1705. package/dist/components/Range/value.js +20 -0
  1706. package/dist/components/Range/value.js.map +1 -0
  1707. package/dist/components/Rating/Rating.react.d.ts +3 -0
  1708. package/dist/components/Rating/Rating.react.d.ts.map +1 -0
  1709. package/dist/components/Rating/Rating.react.js +21 -0
  1710. package/dist/components/Rating/Rating.react.js.map +1 -0
  1711. package/dist/components/Rating/Rating.svelte +90 -0
  1712. package/dist/components/Rating/Rating.svelte.d.ts +5 -0
  1713. package/dist/components/Rating/Rating.svelte.d.ts.map +1 -0
  1714. package/dist/components/Rating/Rating.vue.d.ts +14 -0
  1715. package/dist/components/Rating/Rating.vue.d.ts.map +1 -0
  1716. package/dist/components/Rating/Rating.vue.js +107 -0
  1717. package/dist/components/Rating/Rating.vue.js.map +1 -0
  1718. package/dist/components/Rating/types.d.ts +13 -0
  1719. package/dist/components/Rating/types.d.ts.map +1 -0
  1720. package/dist/components/Rating/types.js +2 -0
  1721. package/dist/components/Rating/types.js.map +1 -0
  1722. package/dist/components/Rating/types.react.d.ts +6 -0
  1723. package/dist/components/Rating/types.react.d.ts.map +1 -0
  1724. package/dist/components/Rating/types.react.js +2 -0
  1725. package/dist/components/Rating/types.react.js.map +1 -0
  1726. package/dist/components/Rating/types.svelte.d.ts +4 -0
  1727. package/dist/components/Rating/types.svelte.d.ts.map +1 -0
  1728. package/dist/components/Rating/types.svelte.js +2 -0
  1729. package/dist/components/Rating/types.svelte.js.map +1 -0
  1730. package/dist/components/Rating/types.vue-props.d.ts +5 -0
  1731. package/dist/components/Rating/types.vue-props.d.ts.map +1 -0
  1732. package/dist/components/Rating/types.vue-props.js +2 -0
  1733. package/dist/components/Rating/types.vue-props.js.map +1 -0
  1734. package/dist/components/Select/Select.react.d.ts +3 -0
  1735. package/dist/components/Select/Select.react.d.ts.map +1 -0
  1736. package/dist/components/Select/Select.react.js +36 -0
  1737. package/dist/components/Select/Select.react.js.map +1 -0
  1738. package/dist/components/Select/Select.svelte +124 -0
  1739. package/dist/components/Select/Select.svelte.d.ts +5 -0
  1740. package/dist/components/Select/Select.svelte.d.ts.map +1 -0
  1741. package/dist/components/Select/Select.vue.d.ts +21 -0
  1742. package/dist/components/Select/Select.vue.d.ts.map +1 -0
  1743. package/dist/components/Select/Select.vue.js +181 -0
  1744. package/dist/components/Select/Select.vue.js.map +1 -0
  1745. package/dist/components/Select/selection.d.ts +3 -0
  1746. package/dist/components/Select/selection.d.ts.map +1 -0
  1747. package/dist/components/Select/selection.js +7 -0
  1748. package/dist/components/Select/selection.js.map +1 -0
  1749. package/dist/components/Select/types.d.ts +28 -0
  1750. package/dist/components/Select/types.d.ts.map +1 -0
  1751. package/dist/components/Select/types.js +2 -0
  1752. package/dist/components/Select/types.js.map +1 -0
  1753. package/dist/components/Select/types.react.d.ts +6 -0
  1754. package/dist/components/Select/types.react.d.ts.map +1 -0
  1755. package/dist/components/Select/types.react.js +2 -0
  1756. package/dist/components/Select/types.react.js.map +1 -0
  1757. package/dist/components/Select/types.svelte.d.ts +7 -0
  1758. package/dist/components/Select/types.svelte.d.ts.map +1 -0
  1759. package/dist/components/Select/types.svelte.js +2 -0
  1760. package/dist/components/Select/types.svelte.js.map +1 -0
  1761. package/dist/components/Select/types.vue-props.d.ts +18 -0
  1762. package/dist/components/Select/types.vue-props.d.ts.map +1 -0
  1763. package/dist/components/Select/types.vue-props.js +2 -0
  1764. package/dist/components/Select/types.vue-props.js.map +1 -0
  1765. package/dist/components/SelectAll/SelectAll.react.d.ts +3 -0
  1766. package/dist/components/SelectAll/SelectAll.react.d.ts.map +1 -0
  1767. package/dist/components/SelectAll/SelectAll.react.js +11 -0
  1768. package/dist/components/SelectAll/SelectAll.react.js.map +1 -0
  1769. package/dist/components/SelectAll/SelectAll.svelte +16 -0
  1770. package/dist/components/SelectAll/SelectAll.svelte.d.ts +5 -0
  1771. package/dist/components/SelectAll/SelectAll.svelte.d.ts.map +1 -0
  1772. package/dist/components/SelectAll/SelectAll.vue.d.ts +13 -0
  1773. package/dist/components/SelectAll/SelectAll.vue.d.ts.map +1 -0
  1774. package/dist/components/SelectAll/SelectAll.vue.js +22 -0
  1775. package/dist/components/SelectAll/SelectAll.vue.js.map +1 -0
  1776. package/dist/components/SelectAll/types.d.ts +2 -0
  1777. package/dist/components/SelectAll/types.d.ts.map +1 -0
  1778. package/dist/components/SelectAll/types.js +2 -0
  1779. package/dist/components/SelectAll/types.js.map +1 -0
  1780. package/dist/components/SelectAll/types.react.d.ts +4 -0
  1781. package/dist/components/SelectAll/types.react.d.ts.map +1 -0
  1782. package/dist/components/SelectAll/types.react.js +2 -0
  1783. package/dist/components/SelectAll/types.react.js.map +1 -0
  1784. package/dist/components/SelectAll/types.svelte.d.ts +4 -0
  1785. package/dist/components/SelectAll/types.svelte.d.ts.map +1 -0
  1786. package/dist/components/SelectAll/types.svelte.js +2 -0
  1787. package/dist/components/SelectAll/types.svelte.js.map +1 -0
  1788. package/dist/components/SelectAll/types.vue-props.d.ts +5 -0
  1789. package/dist/components/SelectAll/types.vue-props.d.ts.map +1 -0
  1790. package/dist/components/SelectAll/types.vue-props.js +2 -0
  1791. package/dist/components/SelectAll/types.vue-props.js.map +1 -0
  1792. package/dist/components/SortableTable/SortableTable.react.d.ts +3 -0
  1793. package/dist/components/SortableTable/SortableTable.react.d.ts.map +1 -0
  1794. package/dist/components/SortableTable/SortableTable.react.js +24 -0
  1795. package/dist/components/SortableTable/SortableTable.react.js.map +1 -0
  1796. package/dist/components/SortableTable/SortableTable.svelte +25 -0
  1797. package/dist/components/SortableTable/SortableTable.svelte.d.ts +6 -0
  1798. package/dist/components/SortableTable/SortableTable.svelte.d.ts.map +1 -0
  1799. package/dist/components/SortableTable/SortableTable.vue.d.ts +13 -0
  1800. package/dist/components/SortableTable/SortableTable.vue.d.ts.map +1 -0
  1801. package/dist/components/SortableTable/SortableTable.vue.js +37 -0
  1802. package/dist/components/SortableTable/SortableTable.vue.js.map +1 -0
  1803. package/dist/components/SortableTable/types.d.ts +10 -0
  1804. package/dist/components/SortableTable/types.d.ts.map +1 -0
  1805. package/dist/components/SortableTable/types.js +2 -0
  1806. package/dist/components/SortableTable/types.js.map +1 -0
  1807. package/dist/components/SortableTable/types.react.d.ts +6 -0
  1808. package/dist/components/SortableTable/types.react.d.ts.map +1 -0
  1809. package/dist/components/SortableTable/types.react.js +2 -0
  1810. package/dist/components/SortableTable/types.react.js.map +1 -0
  1811. package/dist/components/SortableTable/types.svelte.d.ts +4 -0
  1812. package/dist/components/SortableTable/types.svelte.d.ts.map +1 -0
  1813. package/dist/components/SortableTable/types.svelte.js +2 -0
  1814. package/dist/components/SortableTable/types.svelte.js.map +1 -0
  1815. package/dist/components/SortableTable/types.vue-props.d.ts +5 -0
  1816. package/dist/components/SortableTable/types.vue-props.d.ts.map +1 -0
  1817. package/dist/components/SortableTable/types.vue-props.js +2 -0
  1818. package/dist/components/SortableTable/types.vue-props.js.map +1 -0
  1819. package/dist/components/Stat/Stat.react.d.ts +3 -0
  1820. package/dist/components/Stat/Stat.react.d.ts.map +1 -0
  1821. package/dist/components/Stat/Stat.react.js +10 -0
  1822. package/dist/components/Stat/Stat.react.js.map +1 -0
  1823. package/dist/components/Stat/Stat.svelte +32 -0
  1824. package/dist/components/Stat/Stat.svelte.d.ts +5 -0
  1825. package/dist/components/Stat/Stat.svelte.d.ts.map +1 -0
  1826. package/dist/components/Stat/Stat.vue.d.ts +12 -0
  1827. package/dist/components/Stat/Stat.vue.d.ts.map +1 -0
  1828. package/dist/components/Stat/Stat.vue.js +43 -0
  1829. package/dist/components/Stat/Stat.vue.js.map +1 -0
  1830. package/dist/components/Stat/types.d.ts +10 -0
  1831. package/dist/components/Stat/types.d.ts.map +1 -0
  1832. package/dist/components/Stat/types.js +2 -0
  1833. package/dist/components/Stat/types.js.map +1 -0
  1834. package/dist/components/Stat/types.react.d.ts +6 -0
  1835. package/dist/components/Stat/types.react.d.ts.map +1 -0
  1836. package/dist/components/Stat/types.react.js +2 -0
  1837. package/dist/components/Stat/types.react.js.map +1 -0
  1838. package/dist/components/Stat/types.svelte.d.ts +7 -0
  1839. package/dist/components/Stat/types.svelte.d.ts.map +1 -0
  1840. package/dist/components/Stat/types.svelte.js +2 -0
  1841. package/dist/components/Stat/types.svelte.js.map +1 -0
  1842. package/dist/components/Stat/types.vue-props.d.ts +9 -0
  1843. package/dist/components/Stat/types.vue-props.d.ts.map +1 -0
  1844. package/dist/components/Stat/types.vue-props.js +2 -0
  1845. package/dist/components/Stat/types.vue-props.js.map +1 -0
  1846. package/dist/components/Stepper/Stepper.react.d.ts +3 -0
  1847. package/dist/components/Stepper/Stepper.react.d.ts.map +1 -0
  1848. package/dist/components/Stepper/Stepper.react.js +14 -0
  1849. package/dist/components/Stepper/Stepper.react.js.map +1 -0
  1850. package/dist/components/Stepper/Stepper.svelte +42 -0
  1851. package/dist/components/Stepper/Stepper.svelte.d.ts +5 -0
  1852. package/dist/components/Stepper/Stepper.svelte.d.ts.map +1 -0
  1853. package/dist/components/Stepper/Stepper.vue.d.ts +12 -0
  1854. package/dist/components/Stepper/Stepper.vue.d.ts.map +1 -0
  1855. package/dist/components/Stepper/Stepper.vue.js +42 -0
  1856. package/dist/components/Stepper/Stepper.vue.js.map +1 -0
  1857. package/dist/components/Stepper/StepperItem.react.d.ts +3 -0
  1858. package/dist/components/Stepper/StepperItem.react.d.ts.map +1 -0
  1859. package/dist/components/Stepper/StepperItem.react.js +12 -0
  1860. package/dist/components/Stepper/StepperItem.react.js.map +1 -0
  1861. package/dist/components/Stepper/StepperItem.svelte +55 -0
  1862. package/dist/components/Stepper/StepperItem.svelte.d.ts +5 -0
  1863. package/dist/components/Stepper/StepperItem.svelte.d.ts.map +1 -0
  1864. package/dist/components/Stepper/StepperItem.vue.d.ts +12 -0
  1865. package/dist/components/Stepper/StepperItem.vue.d.ts.map +1 -0
  1866. package/dist/components/Stepper/StepperItem.vue.js +95 -0
  1867. package/dist/components/Stepper/StepperItem.vue.js.map +1 -0
  1868. package/dist/components/Stepper/types.d.ts +25 -0
  1869. package/dist/components/Stepper/types.d.ts.map +1 -0
  1870. package/dist/components/Stepper/types.js +2 -0
  1871. package/dist/components/Stepper/types.js.map +1 -0
  1872. package/dist/components/Stepper/types.react.d.ts +7 -0
  1873. package/dist/components/Stepper/types.react.d.ts.map +1 -0
  1874. package/dist/components/Stepper/types.react.js +2 -0
  1875. package/dist/components/Stepper/types.react.js.map +1 -0
  1876. package/dist/components/Stepper/types.svelte.d.ts +8 -0
  1877. package/dist/components/Stepper/types.svelte.d.ts.map +1 -0
  1878. package/dist/components/Stepper/types.svelte.js +2 -0
  1879. package/dist/components/Stepper/types.svelte.js.map +1 -0
  1880. package/dist/components/Stepper/types.vue-props.d.ts +12 -0
  1881. package/dist/components/Stepper/types.vue-props.d.ts.map +1 -0
  1882. package/dist/components/Stepper/types.vue-props.js +2 -0
  1883. package/dist/components/Stepper/types.vue-props.js.map +1 -0
  1884. package/dist/components/Switch/Switch.react.d.ts +3 -0
  1885. package/dist/components/Switch/Switch.react.d.ts.map +1 -0
  1886. package/dist/components/Switch/Switch.react.js +16 -0
  1887. package/dist/components/Switch/Switch.react.js.map +1 -0
  1888. package/dist/components/Switch/Switch.svelte +71 -0
  1889. package/dist/components/Switch/Switch.svelte.d.ts +5 -0
  1890. package/dist/components/Switch/Switch.svelte.d.ts.map +1 -0
  1891. package/dist/components/Switch/Switch.vue.d.ts +21 -0
  1892. package/dist/components/Switch/Switch.vue.d.ts.map +1 -0
  1893. package/dist/components/Switch/Switch.vue.js +99 -0
  1894. package/dist/components/Switch/Switch.vue.js.map +1 -0
  1895. package/dist/components/Switch/SwitchInput.react.d.ts +3 -0
  1896. package/dist/components/Switch/SwitchInput.react.d.ts.map +1 -0
  1897. package/dist/components/Switch/SwitchInput.react.js +9 -0
  1898. package/dist/components/Switch/SwitchInput.react.js.map +1 -0
  1899. package/dist/components/Switch/SwitchInput.svelte +35 -0
  1900. package/dist/components/Switch/SwitchInput.svelte.d.ts +5 -0
  1901. package/dist/components/Switch/SwitchInput.svelte.d.ts.map +1 -0
  1902. package/dist/components/Switch/SwitchInput.vue.d.ts +14 -0
  1903. package/dist/components/Switch/SwitchInput.vue.d.ts.map +1 -0
  1904. package/dist/components/Switch/SwitchInput.vue.js +49 -0
  1905. package/dist/components/Switch/SwitchInput.vue.js.map +1 -0
  1906. package/dist/components/Switch/types.d.ts +18 -0
  1907. package/dist/components/Switch/types.d.ts.map +1 -0
  1908. package/dist/components/Switch/types.js +2 -0
  1909. package/dist/components/Switch/types.js.map +1 -0
  1910. package/dist/components/Switch/types.react.d.ts +7 -0
  1911. package/dist/components/Switch/types.react.d.ts.map +1 -0
  1912. package/dist/components/Switch/types.react.js +2 -0
  1913. package/dist/components/Switch/types.react.js.map +1 -0
  1914. package/dist/components/Switch/types.svelte.d.ts +14 -0
  1915. package/dist/components/Switch/types.svelte.d.ts.map +1 -0
  1916. package/dist/components/Switch/types.svelte.js +2 -0
  1917. package/dist/components/Switch/types.svelte.js.map +1 -0
  1918. package/dist/components/Switch/types.vue-props.d.ts +13 -0
  1919. package/dist/components/Switch/types.vue-props.d.ts.map +1 -0
  1920. package/dist/components/Switch/types.vue-props.js +2 -0
  1921. package/dist/components/Switch/types.vue-props.js.map +1 -0
  1922. package/dist/components/Table/Table.react.d.ts +3 -0
  1923. package/dist/components/Table/Table.react.d.ts.map +1 -0
  1924. package/dist/components/Table/Table.react.js +12 -0
  1925. package/dist/components/Table/Table.react.js.map +1 -0
  1926. package/dist/components/Table/Table.svelte +28 -0
  1927. package/dist/components/Table/Table.svelte.d.ts +5 -0
  1928. package/dist/components/Table/Table.svelte.d.ts.map +1 -0
  1929. package/dist/components/Table/Table.vue.d.ts +12 -0
  1930. package/dist/components/Table/Table.vue.d.ts.map +1 -0
  1931. package/dist/components/Table/Table.vue.js +28 -0
  1932. package/dist/components/Table/Table.vue.js.map +1 -0
  1933. package/dist/components/Table/TableBody.react.d.ts +3 -0
  1934. package/dist/components/Table/TableBody.react.d.ts.map +1 -0
  1935. package/dist/components/Table/TableBody.react.js +5 -0
  1936. package/dist/components/Table/TableBody.react.js.map +1 -0
  1937. package/dist/components/Table/TableBody.svelte +13 -0
  1938. package/dist/components/Table/TableBody.svelte.d.ts +4 -0
  1939. package/dist/components/Table/TableBody.svelte.d.ts.map +1 -0
  1940. package/dist/components/Table/TableBody.vue.d.ts +12 -0
  1941. package/dist/components/Table/TableBody.vue.d.ts.map +1 -0
  1942. package/dist/components/Table/TableBody.vue.js +17 -0
  1943. package/dist/components/Table/TableBody.vue.js.map +1 -0
  1944. package/dist/components/Table/TableCaption.react.d.ts +3 -0
  1945. package/dist/components/Table/TableCaption.react.d.ts.map +1 -0
  1946. package/dist/components/Table/TableCaption.react.js +5 -0
  1947. package/dist/components/Table/TableCaption.react.js.map +1 -0
  1948. package/dist/components/Table/TableCaption.svelte +13 -0
  1949. package/dist/components/Table/TableCaption.svelte.d.ts +4 -0
  1950. package/dist/components/Table/TableCaption.svelte.d.ts.map +1 -0
  1951. package/dist/components/Table/TableCaption.vue.d.ts +12 -0
  1952. package/dist/components/Table/TableCaption.vue.d.ts.map +1 -0
  1953. package/dist/components/Table/TableCaption.vue.js +17 -0
  1954. package/dist/components/Table/TableCaption.vue.js.map +1 -0
  1955. package/dist/components/Table/TableCell.react.d.ts +3 -0
  1956. package/dist/components/Table/TableCell.react.d.ts.map +1 -0
  1957. package/dist/components/Table/TableCell.react.js +6 -0
  1958. package/dist/components/Table/TableCell.react.js.map +1 -0
  1959. package/dist/components/Table/TableCell.svelte +17 -0
  1960. package/dist/components/Table/TableCell.svelte.d.ts +5 -0
  1961. package/dist/components/Table/TableCell.svelte.d.ts.map +1 -0
  1962. package/dist/components/Table/TableCell.vue.d.ts +12 -0
  1963. package/dist/components/Table/TableCell.vue.d.ts.map +1 -0
  1964. package/dist/components/Table/TableCell.vue.js +18 -0
  1965. package/dist/components/Table/TableCell.vue.js.map +1 -0
  1966. package/dist/components/Table/TableColumn.react.d.ts +3 -0
  1967. package/dist/components/Table/TableColumn.react.d.ts.map +1 -0
  1968. package/dist/components/Table/TableColumn.react.js +6 -0
  1969. package/dist/components/Table/TableColumn.react.js.map +1 -0
  1970. package/dist/components/Table/TableColumn.svelte +8 -0
  1971. package/dist/components/Table/TableColumn.svelte.d.ts +5 -0
  1972. package/dist/components/Table/TableColumn.svelte.d.ts.map +1 -0
  1973. package/dist/components/Table/TableColumn.vue.d.ts +5 -0
  1974. package/dist/components/Table/TableColumn.vue.d.ts.map +1 -0
  1975. package/dist/components/Table/TableColumn.vue.js +19 -0
  1976. package/dist/components/Table/TableColumn.vue.js.map +1 -0
  1977. package/dist/components/Table/TableColumnGroup.react.d.ts +3 -0
  1978. package/dist/components/Table/TableColumnGroup.react.d.ts.map +1 -0
  1979. package/dist/components/Table/TableColumnGroup.react.js +5 -0
  1980. package/dist/components/Table/TableColumnGroup.react.js.map +1 -0
  1981. package/dist/components/Table/TableColumnGroup.svelte +13 -0
  1982. package/dist/components/Table/TableColumnGroup.svelte.d.ts +4 -0
  1983. package/dist/components/Table/TableColumnGroup.svelte.d.ts.map +1 -0
  1984. package/dist/components/Table/TableColumnGroup.vue.d.ts +12 -0
  1985. package/dist/components/Table/TableColumnGroup.vue.d.ts.map +1 -0
  1986. package/dist/components/Table/TableColumnGroup.vue.js +17 -0
  1987. package/dist/components/Table/TableColumnGroup.vue.js.map +1 -0
  1988. package/dist/components/Table/TableFoot.react.d.ts +3 -0
  1989. package/dist/components/Table/TableFoot.react.d.ts.map +1 -0
  1990. package/dist/components/Table/TableFoot.react.js +5 -0
  1991. package/dist/components/Table/TableFoot.react.js.map +1 -0
  1992. package/dist/components/Table/TableFoot.svelte +13 -0
  1993. package/dist/components/Table/TableFoot.svelte.d.ts +4 -0
  1994. package/dist/components/Table/TableFoot.svelte.d.ts.map +1 -0
  1995. package/dist/components/Table/TableFoot.vue.d.ts +12 -0
  1996. package/dist/components/Table/TableFoot.vue.d.ts.map +1 -0
  1997. package/dist/components/Table/TableFoot.vue.js +17 -0
  1998. package/dist/components/Table/TableFoot.vue.js.map +1 -0
  1999. package/dist/components/Table/TableHead.react.d.ts +3 -0
  2000. package/dist/components/Table/TableHead.react.d.ts.map +1 -0
  2001. package/dist/components/Table/TableHead.react.js +5 -0
  2002. package/dist/components/Table/TableHead.react.js.map +1 -0
  2003. package/dist/components/Table/TableHead.svelte +13 -0
  2004. package/dist/components/Table/TableHead.svelte.d.ts +4 -0
  2005. package/dist/components/Table/TableHead.svelte.d.ts.map +1 -0
  2006. package/dist/components/Table/TableHead.vue.d.ts +12 -0
  2007. package/dist/components/Table/TableHead.vue.d.ts.map +1 -0
  2008. package/dist/components/Table/TableHead.vue.js +17 -0
  2009. package/dist/components/Table/TableHead.vue.js.map +1 -0
  2010. package/dist/components/Table/TableHeaderCell.react.d.ts +3 -0
  2011. package/dist/components/Table/TableHeaderCell.react.d.ts.map +1 -0
  2012. package/dist/components/Table/TableHeaderCell.react.js +7 -0
  2013. package/dist/components/Table/TableHeaderCell.react.js.map +1 -0
  2014. package/dist/components/Table/TableHeaderCell.svelte +29 -0
  2015. package/dist/components/Table/TableHeaderCell.svelte.d.ts +5 -0
  2016. package/dist/components/Table/TableHeaderCell.svelte.d.ts.map +1 -0
  2017. package/dist/components/Table/TableHeaderCell.vue.d.ts +12 -0
  2018. package/dist/components/Table/TableHeaderCell.vue.d.ts.map +1 -0
  2019. package/dist/components/Table/TableHeaderCell.vue.js +39 -0
  2020. package/dist/components/Table/TableHeaderCell.vue.js.map +1 -0
  2021. package/dist/components/Table/TableRow.react.d.ts +3 -0
  2022. package/dist/components/Table/TableRow.react.d.ts.map +1 -0
  2023. package/dist/components/Table/TableRow.react.js +5 -0
  2024. package/dist/components/Table/TableRow.react.js.map +1 -0
  2025. package/dist/components/Table/TableRow.svelte +13 -0
  2026. package/dist/components/Table/TableRow.svelte.d.ts +4 -0
  2027. package/dist/components/Table/TableRow.svelte.d.ts.map +1 -0
  2028. package/dist/components/Table/TableRow.vue.d.ts +12 -0
  2029. package/dist/components/Table/TableRow.vue.d.ts.map +1 -0
  2030. package/dist/components/Table/TableRow.vue.js +17 -0
  2031. package/dist/components/Table/TableRow.vue.js.map +1 -0
  2032. package/dist/components/Table/types.d.ts +16 -0
  2033. package/dist/components/Table/types.d.ts.map +1 -0
  2034. package/dist/components/Table/types.js +2 -0
  2035. package/dist/components/Table/types.js.map +1 -0
  2036. package/dist/components/Table/types.react.d.ts +13 -0
  2037. package/dist/components/Table/types.react.d.ts.map +1 -0
  2038. package/dist/components/Table/types.react.js +2 -0
  2039. package/dist/components/Table/types.react.js.map +1 -0
  2040. package/dist/components/Table/types.svelte.d.ts +13 -0
  2041. package/dist/components/Table/types.svelte.d.ts.map +1 -0
  2042. package/dist/components/Table/types.svelte.js +2 -0
  2043. package/dist/components/Table/types.svelte.js.map +1 -0
  2044. package/dist/components/Table/types.vue-props.d.ts +14 -0
  2045. package/dist/components/Table/types.vue-props.d.ts.map +1 -0
  2046. package/dist/components/Table/types.vue-props.js +2 -0
  2047. package/dist/components/Table/types.vue-props.js.map +1 -0
  2048. package/dist/components/Tabs/Tabs.react.d.ts +3 -0
  2049. package/dist/components/Tabs/Tabs.react.d.ts.map +1 -0
  2050. package/dist/components/Tabs/Tabs.react.js +24 -0
  2051. package/dist/components/Tabs/Tabs.react.js.map +1 -0
  2052. package/dist/components/Tabs/Tabs.svelte +44 -0
  2053. package/dist/components/Tabs/Tabs.svelte.d.ts +5 -0
  2054. package/dist/components/Tabs/Tabs.svelte.d.ts.map +1 -0
  2055. package/dist/components/Tabs/Tabs.vue.d.ts +21 -0
  2056. package/dist/components/Tabs/Tabs.vue.d.ts.map +1 -0
  2057. package/dist/components/Tabs/Tabs.vue.js +42 -0
  2058. package/dist/components/Tabs/Tabs.vue.js.map +1 -0
  2059. package/dist/components/Tabs/TabsItem.react.d.ts +3 -0
  2060. package/dist/components/Tabs/TabsItem.react.d.ts.map +1 -0
  2061. package/dist/components/Tabs/TabsItem.react.js +21 -0
  2062. package/dist/components/Tabs/TabsItem.react.js.map +1 -0
  2063. package/dist/components/Tabs/TabsItem.svelte +50 -0
  2064. package/dist/components/Tabs/TabsItem.svelte.d.ts +5 -0
  2065. package/dist/components/Tabs/TabsItem.svelte.d.ts.map +1 -0
  2066. package/dist/components/Tabs/TabsItem.vue.d.ts +12 -0
  2067. package/dist/components/Tabs/TabsItem.vue.d.ts.map +1 -0
  2068. package/dist/components/Tabs/TabsItem.vue.js +46 -0
  2069. package/dist/components/Tabs/TabsItem.vue.js.map +1 -0
  2070. package/dist/components/Tabs/TabsLabel.react.d.ts +3 -0
  2071. package/dist/components/Tabs/TabsLabel.react.d.ts.map +1 -0
  2072. package/dist/components/Tabs/TabsLabel.react.js +9 -0
  2073. package/dist/components/Tabs/TabsLabel.react.js.map +1 -0
  2074. package/dist/components/Tabs/TabsLabel.svelte +19 -0
  2075. package/dist/components/Tabs/TabsLabel.svelte.d.ts +4 -0
  2076. package/dist/components/Tabs/TabsLabel.svelte.d.ts.map +1 -0
  2077. package/dist/components/Tabs/TabsLabel.vue.d.ts +12 -0
  2078. package/dist/components/Tabs/TabsLabel.vue.d.ts.map +1 -0
  2079. package/dist/components/Tabs/TabsLabel.vue.js +24 -0
  2080. package/dist/components/Tabs/TabsLabel.vue.js.map +1 -0
  2081. package/dist/components/Tabs/TabsPanel.react.d.ts +3 -0
  2082. package/dist/components/Tabs/TabsPanel.react.d.ts.map +1 -0
  2083. package/dist/components/Tabs/TabsPanel.react.js +6 -0
  2084. package/dist/components/Tabs/TabsPanel.react.js.map +1 -0
  2085. package/dist/components/Tabs/TabsPanel.svelte +15 -0
  2086. package/dist/components/Tabs/TabsPanel.svelte.d.ts +4 -0
  2087. package/dist/components/Tabs/TabsPanel.svelte.d.ts.map +1 -0
  2088. package/dist/components/Tabs/TabsPanel.vue.d.ts +12 -0
  2089. package/dist/components/Tabs/TabsPanel.vue.d.ts.map +1 -0
  2090. package/dist/components/Tabs/TabsPanel.vue.js +18 -0
  2091. package/dist/components/Tabs/TabsPanel.vue.js.map +1 -0
  2092. package/dist/components/Tabs/context.react.d.ts +4 -0
  2093. package/dist/components/Tabs/context.react.d.ts.map +1 -0
  2094. package/dist/components/Tabs/context.react.js +5 -0
  2095. package/dist/components/Tabs/context.react.js.map +1 -0
  2096. package/dist/components/Tabs/context.svelte.d.ts +6 -0
  2097. package/dist/components/Tabs/context.svelte.d.ts.map +1 -0
  2098. package/dist/components/Tabs/context.svelte.js +8 -0
  2099. package/dist/components/Tabs/context.svelte.js.map +1 -0
  2100. package/dist/components/Tabs/context.vue.d.ts +4 -0
  2101. package/dist/components/Tabs/context.vue.d.ts.map +1 -0
  2102. package/dist/components/Tabs/context.vue.js +2 -0
  2103. package/dist/components/Tabs/context.vue.js.map +1 -0
  2104. package/dist/components/Tabs/types.d.ts +19 -0
  2105. package/dist/components/Tabs/types.d.ts.map +1 -0
  2106. package/dist/components/Tabs/types.js +2 -0
  2107. package/dist/components/Tabs/types.js.map +1 -0
  2108. package/dist/components/Tabs/types.react.d.ts +11 -0
  2109. package/dist/components/Tabs/types.react.d.ts.map +1 -0
  2110. package/dist/components/Tabs/types.react.js +2 -0
  2111. package/dist/components/Tabs/types.react.js.map +1 -0
  2112. package/dist/components/Tabs/types.svelte.d.ts +9 -0
  2113. package/dist/components/Tabs/types.svelte.d.ts.map +1 -0
  2114. package/dist/components/Tabs/types.svelte.js +2 -0
  2115. package/dist/components/Tabs/types.svelte.js.map +1 -0
  2116. package/dist/components/Tabs/types.vue-props.d.ts +14 -0
  2117. package/dist/components/Tabs/types.vue-props.d.ts.map +1 -0
  2118. package/dist/components/Tabs/types.vue-props.js +2 -0
  2119. package/dist/components/Tabs/types.vue-props.js.map +1 -0
  2120. package/dist/components/TextField/TextField.react.d.ts +3 -0
  2121. package/dist/components/TextField/TextField.react.d.ts.map +1 -0
  2122. package/dist/components/TextField/TextField.react.js +36 -0
  2123. package/dist/components/TextField/TextField.react.js.map +1 -0
  2124. package/dist/components/TextField/TextField.svelte +188 -0
  2125. package/dist/components/TextField/TextField.svelte.d.ts +7 -0
  2126. package/dist/components/TextField/TextField.svelte.d.ts.map +1 -0
  2127. package/dist/components/TextField/TextField.vue.d.ts +23 -0
  2128. package/dist/components/TextField/TextField.vue.d.ts.map +1 -0
  2129. package/dist/components/TextField/TextField.vue.js +249 -0
  2130. package/dist/components/TextField/TextField.vue.js.map +1 -0
  2131. package/dist/components/TextField/icons.d.ts +3 -0
  2132. package/dist/components/TextField/icons.d.ts.map +1 -0
  2133. package/dist/components/TextField/icons.js +3 -0
  2134. package/dist/components/TextField/icons.js.map +1 -0
  2135. package/dist/components/TextField/types.d.ts +28 -0
  2136. package/dist/components/TextField/types.d.ts.map +1 -0
  2137. package/dist/components/TextField/types.js +2 -0
  2138. package/dist/components/TextField/types.js.map +1 -0
  2139. package/dist/components/TextField/types.react.d.ts +8 -0
  2140. package/dist/components/TextField/types.react.d.ts.map +1 -0
  2141. package/dist/components/TextField/types.react.js +2 -0
  2142. package/dist/components/TextField/types.react.js.map +1 -0
  2143. package/dist/components/TextField/types.svelte.d.ts +9 -0
  2144. package/dist/components/TextField/types.svelte.d.ts.map +1 -0
  2145. package/dist/components/TextField/types.svelte.js +2 -0
  2146. package/dist/components/TextField/types.svelte.js.map +1 -0
  2147. package/dist/components/TextField/types.vue-props.d.ts +24 -0
  2148. package/dist/components/TextField/types.vue-props.d.ts.map +1 -0
  2149. package/dist/components/TextField/types.vue-props.js +2 -0
  2150. package/dist/components/TextField/types.vue-props.js.map +1 -0
  2151. package/dist/components/Textarea/Textarea.react.d.ts +3 -0
  2152. package/dist/components/Textarea/Textarea.react.d.ts.map +1 -0
  2153. package/dist/components/Textarea/Textarea.react.js +23 -0
  2154. package/dist/components/Textarea/Textarea.react.js.map +1 -0
  2155. package/dist/components/Textarea/Textarea.svelte +111 -0
  2156. package/dist/components/Textarea/Textarea.svelte.d.ts +6 -0
  2157. package/dist/components/Textarea/Textarea.svelte.d.ts.map +1 -0
  2158. package/dist/components/Textarea/Textarea.vue.d.ts +22 -0
  2159. package/dist/components/Textarea/Textarea.vue.d.ts.map +1 -0
  2160. package/dist/components/Textarea/Textarea.vue.js +156 -0
  2161. package/dist/components/Textarea/Textarea.vue.js.map +1 -0
  2162. package/dist/components/Textarea/types.d.ts +23 -0
  2163. package/dist/components/Textarea/types.d.ts.map +1 -0
  2164. package/dist/components/Textarea/types.js +2 -0
  2165. package/dist/components/Textarea/types.js.map +1 -0
  2166. package/dist/components/Textarea/types.react.d.ts +6 -0
  2167. package/dist/components/Textarea/types.react.d.ts.map +1 -0
  2168. package/dist/components/Textarea/types.react.js +2 -0
  2169. package/dist/components/Textarea/types.react.js.map +1 -0
  2170. package/dist/components/Textarea/types.svelte.d.ts +7 -0
  2171. package/dist/components/Textarea/types.svelte.d.ts.map +1 -0
  2172. package/dist/components/Textarea/types.svelte.js +2 -0
  2173. package/dist/components/Textarea/types.svelte.js.map +1 -0
  2174. package/dist/components/Textarea/types.vue-props.d.ts +18 -0
  2175. package/dist/components/Textarea/types.vue-props.d.ts.map +1 -0
  2176. package/dist/components/Textarea/types.vue-props.js +2 -0
  2177. package/dist/components/Textarea/types.vue-props.js.map +1 -0
  2178. package/dist/components/Timeline/Timeline.react.d.ts +3 -0
  2179. package/dist/components/Timeline/Timeline.react.d.ts.map +1 -0
  2180. package/dist/components/Timeline/Timeline.react.js +12 -0
  2181. package/dist/components/Timeline/Timeline.react.js.map +1 -0
  2182. package/dist/components/Timeline/Timeline.svelte +34 -0
  2183. package/dist/components/Timeline/Timeline.svelte.d.ts +5 -0
  2184. package/dist/components/Timeline/Timeline.svelte.d.ts.map +1 -0
  2185. package/dist/components/Timeline/Timeline.vue.d.ts +12 -0
  2186. package/dist/components/Timeline/Timeline.vue.d.ts.map +1 -0
  2187. package/dist/components/Timeline/Timeline.vue.js +39 -0
  2188. package/dist/components/Timeline/Timeline.vue.js.map +1 -0
  2189. package/dist/components/Timeline/TimelineItem.react.d.ts +3 -0
  2190. package/dist/components/Timeline/TimelineItem.react.d.ts.map +1 -0
  2191. package/dist/components/Timeline/TimelineItem.react.js +8 -0
  2192. package/dist/components/Timeline/TimelineItem.react.js.map +1 -0
  2193. package/dist/components/Timeline/TimelineItem.svelte +46 -0
  2194. package/dist/components/Timeline/TimelineItem.svelte.d.ts +5 -0
  2195. package/dist/components/Timeline/TimelineItem.svelte.d.ts.map +1 -0
  2196. package/dist/components/Timeline/TimelineItem.vue.d.ts +12 -0
  2197. package/dist/components/Timeline/TimelineItem.vue.d.ts.map +1 -0
  2198. package/dist/components/Timeline/TimelineItem.vue.js +65 -0
  2199. package/dist/components/Timeline/TimelineItem.vue.js.map +1 -0
  2200. package/dist/components/Timeline/types.d.ts +21 -0
  2201. package/dist/components/Timeline/types.d.ts.map +1 -0
  2202. package/dist/components/Timeline/types.js +2 -0
  2203. package/dist/components/Timeline/types.js.map +1 -0
  2204. package/dist/components/Timeline/types.react.d.ts +7 -0
  2205. package/dist/components/Timeline/types.react.d.ts.map +1 -0
  2206. package/dist/components/Timeline/types.react.js +2 -0
  2207. package/dist/components/Timeline/types.react.js.map +1 -0
  2208. package/dist/components/Timeline/types.svelte.d.ts +8 -0
  2209. package/dist/components/Timeline/types.svelte.d.ts.map +1 -0
  2210. package/dist/components/Timeline/types.svelte.js +2 -0
  2211. package/dist/components/Timeline/types.svelte.js.map +1 -0
  2212. package/dist/components/Timeline/types.vue-props.d.ts +11 -0
  2213. package/dist/components/Timeline/types.vue-props.d.ts.map +1 -0
  2214. package/dist/components/Timeline/types.vue-props.js +2 -0
  2215. package/dist/components/Timeline/types.vue-props.js.map +1 -0
  2216. package/dist/components/Toaster/Toaster.react.d.ts +3 -0
  2217. package/dist/components/Toaster/Toaster.react.d.ts.map +1 -0
  2218. package/dist/components/Toaster/Toaster.react.js +19 -0
  2219. package/dist/components/Toaster/Toaster.react.js.map +1 -0
  2220. package/dist/components/Toaster/Toaster.svelte +36 -0
  2221. package/dist/components/Toaster/Toaster.svelte.d.ts +6 -0
  2222. package/dist/components/Toaster/Toaster.svelte.d.ts.map +1 -0
  2223. package/dist/components/Toaster/Toaster.vue.d.ts +6 -0
  2224. package/dist/components/Toaster/Toaster.vue.d.ts.map +1 -0
  2225. package/dist/components/Toaster/Toaster.vue.js +51 -0
  2226. package/dist/components/Toaster/Toaster.vue.js.map +1 -0
  2227. package/dist/components/Toaster/types.d.ts +8 -0
  2228. package/dist/components/Toaster/types.d.ts.map +1 -0
  2229. package/dist/components/Toaster/types.js +2 -0
  2230. package/dist/components/Toaster/types.js.map +1 -0
  2231. package/dist/components/Toaster/types.react.d.ts +4 -0
  2232. package/dist/components/Toaster/types.react.d.ts.map +1 -0
  2233. package/dist/components/Toaster/types.react.js +2 -0
  2234. package/dist/components/Toaster/types.react.js.map +1 -0
  2235. package/dist/components/Toaster/types.svelte.d.ts +4 -0
  2236. package/dist/components/Toaster/types.svelte.d.ts.map +1 -0
  2237. package/dist/components/Toaster/types.svelte.js +2 -0
  2238. package/dist/components/Toaster/types.svelte.js.map +1 -0
  2239. package/dist/components/Toaster/types.vue-props.d.ts +5 -0
  2240. package/dist/components/Toaster/types.vue-props.d.ts.map +1 -0
  2241. package/dist/components/Toaster/types.vue-props.js +2 -0
  2242. package/dist/components/Toaster/types.vue-props.js.map +1 -0
  2243. package/dist/components/ToggleButton/ToggleButton.react.d.ts +3 -0
  2244. package/dist/components/ToggleButton/ToggleButton.react.d.ts.map +1 -0
  2245. package/dist/components/ToggleButton/ToggleButton.react.js +24 -0
  2246. package/dist/components/ToggleButton/ToggleButton.react.js.map +1 -0
  2247. package/dist/components/ToggleButton/ToggleButton.svelte +60 -0
  2248. package/dist/components/ToggleButton/ToggleButton.svelte.d.ts +5 -0
  2249. package/dist/components/ToggleButton/ToggleButton.svelte.d.ts.map +1 -0
  2250. package/dist/components/ToggleButton/ToggleButton.vue.d.ts +21 -0
  2251. package/dist/components/ToggleButton/ToggleButton.vue.d.ts.map +1 -0
  2252. package/dist/components/ToggleButton/ToggleButton.vue.js +70 -0
  2253. package/dist/components/ToggleButton/ToggleButton.vue.js.map +1 -0
  2254. package/dist/components/ToggleButton/types.d.ts +7 -0
  2255. package/dist/components/ToggleButton/types.d.ts.map +1 -0
  2256. package/dist/components/ToggleButton/types.js +2 -0
  2257. package/dist/components/ToggleButton/types.js.map +1 -0
  2258. package/dist/components/ToggleButton/types.react.d.ts +4 -0
  2259. package/dist/components/ToggleButton/types.react.d.ts.map +1 -0
  2260. package/dist/components/ToggleButton/types.react.js +2 -0
  2261. package/dist/components/ToggleButton/types.react.js.map +1 -0
  2262. package/dist/components/ToggleButton/types.svelte.d.ts +4 -0
  2263. package/dist/components/ToggleButton/types.svelte.d.ts.map +1 -0
  2264. package/dist/components/ToggleButton/types.svelte.js +2 -0
  2265. package/dist/components/ToggleButton/types.svelte.js.map +1 -0
  2266. package/dist/components/ToggleButton/types.vue-props.d.ts +9 -0
  2267. package/dist/components/ToggleButton/types.vue-props.d.ts.map +1 -0
  2268. package/dist/components/ToggleButton/types.vue-props.js +2 -0
  2269. package/dist/components/ToggleButton/types.vue-props.js.map +1 -0
  2270. package/dist/components/ToggleGroup/ToggleGroup.react.d.ts +3 -0
  2271. package/dist/components/ToggleGroup/ToggleGroup.react.d.ts.map +1 -0
  2272. package/dist/components/ToggleGroup/ToggleGroup.react.js +29 -0
  2273. package/dist/components/ToggleGroup/ToggleGroup.react.js.map +1 -0
  2274. package/dist/components/ToggleGroup/ToggleGroup.svelte +55 -0
  2275. package/dist/components/ToggleGroup/ToggleGroup.svelte.d.ts +5 -0
  2276. package/dist/components/ToggleGroup/ToggleGroup.svelte.d.ts.map +1 -0
  2277. package/dist/components/ToggleGroup/ToggleGroup.vue.d.ts +25 -0
  2278. package/dist/components/ToggleGroup/ToggleGroup.vue.d.ts.map +1 -0
  2279. package/dist/components/ToggleGroup/ToggleGroup.vue.js +54 -0
  2280. package/dist/components/ToggleGroup/ToggleGroup.vue.js.map +1 -0
  2281. package/dist/components/ToggleGroup/context.react.d.ts +4 -0
  2282. package/dist/components/ToggleGroup/context.react.d.ts.map +1 -0
  2283. package/dist/components/ToggleGroup/context.react.js +5 -0
  2284. package/dist/components/ToggleGroup/context.react.js.map +1 -0
  2285. package/dist/components/ToggleGroup/context.svelte.d.ts +6 -0
  2286. package/dist/components/ToggleGroup/context.svelte.d.ts.map +1 -0
  2287. package/dist/components/ToggleGroup/context.svelte.js +8 -0
  2288. package/dist/components/ToggleGroup/context.svelte.js.map +1 -0
  2289. package/dist/components/ToggleGroup/context.vue.d.ts +4 -0
  2290. package/dist/components/ToggleGroup/context.vue.d.ts.map +1 -0
  2291. package/dist/components/ToggleGroup/context.vue.js +2 -0
  2292. package/dist/components/ToggleGroup/context.vue.js.map +1 -0
  2293. package/dist/components/ToggleGroup/selection.d.ts +3 -0
  2294. package/dist/components/ToggleGroup/selection.d.ts.map +1 -0
  2295. package/dist/components/ToggleGroup/selection.js +7 -0
  2296. package/dist/components/ToggleGroup/selection.js.map +1 -0
  2297. package/dist/components/ToggleGroup/types.d.ts +19 -0
  2298. package/dist/components/ToggleGroup/types.d.ts.map +1 -0
  2299. package/dist/components/ToggleGroup/types.js +2 -0
  2300. package/dist/components/ToggleGroup/types.js.map +1 -0
  2301. package/dist/components/ToggleGroup/types.react.d.ts +12 -0
  2302. package/dist/components/ToggleGroup/types.react.d.ts.map +1 -0
  2303. package/dist/components/ToggleGroup/types.react.js +2 -0
  2304. package/dist/components/ToggleGroup/types.react.js.map +1 -0
  2305. package/dist/components/ToggleGroup/types.svelte.d.ts +8 -0
  2306. package/dist/components/ToggleGroup/types.svelte.d.ts.map +1 -0
  2307. package/dist/components/ToggleGroup/types.svelte.js +2 -0
  2308. package/dist/components/ToggleGroup/types.svelte.js.map +1 -0
  2309. package/dist/components/ToggleGroup/types.vue-props.d.ts +5 -0
  2310. package/dist/components/ToggleGroup/types.vue-props.d.ts.map +1 -0
  2311. package/dist/components/ToggleGroup/types.vue-props.js +2 -0
  2312. package/dist/components/ToggleGroup/types.vue-props.js.map +1 -0
  2313. package/dist/components/Tooltip/Tooltip.react.d.ts +3 -0
  2314. package/dist/components/Tooltip/Tooltip.react.d.ts.map +1 -0
  2315. package/dist/components/Tooltip/Tooltip.react.js +9 -0
  2316. package/dist/components/Tooltip/Tooltip.react.js.map +1 -0
  2317. package/dist/components/Tooltip/Tooltip.svelte +29 -0
  2318. package/dist/components/Tooltip/Tooltip.svelte.d.ts +5 -0
  2319. package/dist/components/Tooltip/Tooltip.svelte.d.ts.map +1 -0
  2320. package/dist/components/Tooltip/Tooltip.vue.d.ts +12 -0
  2321. package/dist/components/Tooltip/Tooltip.vue.d.ts.map +1 -0
  2322. package/dist/components/Tooltip/Tooltip.vue.js +30 -0
  2323. package/dist/components/Tooltip/Tooltip.vue.js.map +1 -0
  2324. package/dist/components/Tooltip/types.d.ts +6 -0
  2325. package/dist/components/Tooltip/types.d.ts.map +1 -0
  2326. package/dist/components/Tooltip/types.js +2 -0
  2327. package/dist/components/Tooltip/types.js.map +1 -0
  2328. package/dist/components/Tooltip/types.react.d.ts +4 -0
  2329. package/dist/components/Tooltip/types.react.d.ts.map +1 -0
  2330. package/dist/components/Tooltip/types.react.js +2 -0
  2331. package/dist/components/Tooltip/types.react.js.map +1 -0
  2332. package/dist/components/Tooltip/types.svelte.d.ts +4 -0
  2333. package/dist/components/Tooltip/types.svelte.d.ts.map +1 -0
  2334. package/dist/components/Tooltip/types.svelte.js +2 -0
  2335. package/dist/components/Tooltip/types.svelte.js.map +1 -0
  2336. package/dist/components/Tooltip/types.vue-props.d.ts +5 -0
  2337. package/dist/components/Tooltip/types.vue-props.d.ts.map +1 -0
  2338. package/dist/components/Tooltip/types.vue-props.js +2 -0
  2339. package/dist/components/Tooltip/types.vue-props.js.map +1 -0
  2340. package/dist/components/attrs.d.ts +2 -0
  2341. package/dist/components/attrs.d.ts.map +1 -0
  2342. package/dist/components/attrs.js +2 -0
  2343. package/dist/components/attrs.js.map +1 -0
  2344. package/dist/components/content.svelte +9 -0
  2345. package/dist/components/content.svelte.d.ts +22 -0
  2346. package/dist/components/content.svelte.d.ts.map +1 -0
  2347. package/dist/components/cx.d.ts +7 -0
  2348. package/dist/components/cx.d.ts.map +1 -0
  2349. package/dist/components/cx.js +18 -0
  2350. package/dist/components/cx.js.map +1 -0
  2351. package/dist/components/dev.d.ts +16 -0
  2352. package/dist/components/dev.d.ts.map +1 -0
  2353. package/dist/components/dev.js +39 -0
  2354. package/dist/components/dev.js.map +1 -0
  2355. package/dist/components/group.d.ts +2 -0
  2356. package/dist/components/group.d.ts.map +1 -0
  2357. package/dist/components/group.js +2 -0
  2358. package/dist/components/group.js.map +1 -0
  2359. package/dist/components/id.d.ts +12 -0
  2360. package/dist/components/id.d.ts.map +1 -0
  2361. package/dist/components/id.js +12 -0
  2362. package/dist/components/id.js.map +1 -0
  2363. package/dist/components/style.d.ts +9 -0
  2364. package/dist/components/style.d.ts.map +1 -0
  2365. package/dist/components/style.js +23 -0
  2366. package/dist/components/style.js.map +1 -0
  2367. package/dist/components/svelte.d.ts +2 -0
  2368. package/dist/components/svelte.d.ts.map +1 -0
  2369. package/dist/components/svelte.js +16 -0
  2370. package/dist/components/svelte.js.map +1 -0
  2371. package/dist/components/tag.d.ts +8 -0
  2372. package/dist/components/tag.d.ts.map +1 -0
  2373. package/dist/components/tag.js +8 -0
  2374. package/dist/components/tag.js.map +1 -0
  2375. package/dist/components/vue.d.ts +12 -0
  2376. package/dist/components/vue.d.ts.map +1 -0
  2377. package/dist/components/vue.js +204 -0
  2378. package/dist/components/vue.js.map +1 -0
  2379. package/dist/components/whitespace.vue.d.ts +7 -0
  2380. package/dist/components/whitespace.vue.d.ts.map +1 -0
  2381. package/dist/components/whitespace.vue.js +16 -0
  2382. package/dist/components/whitespace.vue.js.map +1 -0
  2383. package/dist/opui.baseline-2023.css +3922 -969
  2384. package/dist/opui.baseline-2023.css.map +1 -1
  2385. package/dist/opui.baseline-2024.css +3922 -969
  2386. package/dist/opui.baseline-2024.css.map +1 -1
  2387. package/dist/opui.baseline-2025.css +3737 -861
  2388. package/dist/opui.baseline-2025.css.map +1 -1
  2389. package/dist/opui.baseline-2026.css +3737 -861
  2390. package/dist/opui.baseline-2026.css.map +1 -1
  2391. package/dist/opui.components.css +3872 -957
  2392. package/dist/opui.components.css.map +1 -1
  2393. package/dist/opui.css +3922 -969
  2394. package/dist/opui.css.map +1 -1
  2395. package/dist/opui.no-compat.css +3668 -900
  2396. package/dist/opui.no-compat.css.map +1 -1
  2397. package/dist/react/elements.d.ts +43 -0
  2398. package/dist/react/index.d.ts +139 -0
  2399. package/dist/react/index.d.ts.map +1 -0
  2400. package/dist/react/index.js +89 -0
  2401. package/dist/react/index.js.map +1 -0
  2402. package/dist/svelte/elements.d.ts +32 -0
  2403. package/dist/svelte/index.d.ts +139 -0
  2404. package/dist/svelte/index.d.ts.map +1 -0
  2405. package/dist/svelte/index.js +89 -0
  2406. package/dist/svelte/index.js.map +1 -0
  2407. package/dist/vue/index.d.ts +138 -0
  2408. package/dist/vue/index.d.ts.map +1 -0
  2409. package/dist/vue/index.js +89 -0
  2410. package/dist/vue/index.js.map +1 -0
  2411. package/elements/character-count.d.ts +3 -0
  2412. package/elements/character-count.js +109 -0
  2413. package/elements/copy.d.ts +4 -0
  2414. package/elements/copy.js +144 -0
  2415. package/elements/number-field.d.ts +4 -0
  2416. package/elements/number-field.js +135 -0
  2417. package/elements/select-all.d.ts +5 -0
  2418. package/elements/select-all.js +77 -0
  2419. package/elements/sortable-table.d.ts +12 -0
  2420. package/elements/sortable-table.js +110 -0
  2421. package/elements/text-field.d.ts +5 -0
  2422. package/elements/text-field.js +71 -0
  2423. package/elements/toaster.d.ts +38 -0
  2424. package/elements/toaster.js +253 -0
  2425. package/figma/sync.js +350 -0
  2426. package/figma/themes/default/dark-more-contrast.tokens.json +3252 -0
  2427. package/figma/themes/default/dark.tokens.json +3252 -0
  2428. package/figma/themes/default/light-more-contrast.tokens.json +3252 -0
  2429. package/figma/themes/default/light.tokens.json +3252 -0
  2430. package/figma/themes/default.figma.json +6056 -0
  2431. package/package.json +50 -12
  2432. package/react/elements.ts +30 -0
  2433. package/react/index.ts +40 -2
  2434. package/skills/opui/SKILL.md +10 -1
  2435. package/skills/opui/references/accordion.md +30 -41
  2436. package/skills/opui/references/anchor.md +7 -7
  2437. package/skills/opui/references/avatar.md +25 -16
  2438. package/skills/opui/references/badge.md +9 -29
  2439. package/skills/opui/references/button.md +48 -43
  2440. package/skills/opui/references/callout.md +42 -48
  2441. package/skills/opui/references/card.md +49 -25
  2442. package/skills/opui/references/carousel.md +21 -21
  2443. package/skills/opui/references/checkbox.md +78 -49
  2444. package/skills/opui/references/chip.md +15 -14
  2445. package/skills/opui/references/control-group.md +270 -0
  2446. package/skills/opui/references/copy.md +181 -0
  2447. package/skills/opui/references/customizing.md +17 -18
  2448. package/skills/opui/references/description-list.md +15 -1
  2449. package/skills/opui/references/dialog.md +84 -35
  2450. package/skills/opui/references/divider.md +5 -3
  2451. package/skills/opui/references/drawer.md +413 -337
  2452. package/skills/opui/references/form.md +11 -2
  2453. package/skills/opui/references/getting-started.md +597 -167
  2454. package/skills/opui/references/index.md +34 -18
  2455. package/skills/opui/references/layout.md +35 -23
  2456. package/skills/opui/references/list.md +14 -12
  2457. package/skills/opui/references/menu.md +38 -22
  2458. package/skills/opui/references/message.md +285 -0
  2459. package/skills/opui/references/number-field.md +249 -0
  2460. package/skills/opui/references/one-time-code.md +195 -0
  2461. package/skills/opui/references/progress.md +10 -7
  2462. package/skills/opui/references/radio.md +48 -35
  2463. package/skills/opui/references/range.md +20 -20
  2464. package/skills/opui/references/rating.md +139 -0
  2465. package/skills/opui/references/select.md +60 -50
  2466. package/skills/opui/references/spinner.md +2 -2
  2467. package/skills/opui/references/stat.md +143 -0
  2468. package/skills/opui/references/stepper.md +192 -0
  2469. package/skills/opui/references/switch.md +93 -47
  2470. package/skills/opui/references/table.md +45 -181
  2471. package/skills/opui/references/tabs.md +18 -18
  2472. package/skills/opui/references/text-field.md +30 -16
  2473. package/skills/opui/references/textarea.md +16 -8
  2474. package/skills/opui/references/theming.md +53 -47
  2475. package/skills/opui/references/timeline.md +228 -0
  2476. package/skills/opui/references/toast.md +221 -0
  2477. package/skills/opui/references/toggle.md +15 -26
  2478. package/skills/opui/references/tooltip.md +16 -25
  2479. package/skills/opui/references/typography.md +11 -4
  2480. package/svelte/elements.ts +27 -2
  2481. package/svelte/index.ts +40 -2
  2482. package/themes/bootstrap.css +25 -0
  2483. package/themes/brutalist.css +2 -1
  2484. package/themes/govuk.css +135 -0
  2485. package/themes/m3.css +4 -1
  2486. package/themes/shadcn.css +6 -3
  2487. package/tokens.json +328 -87
  2488. package/vue/index.ts +40 -2
  2489. package/components/Anchor/context.svelte.ts +0 -7
  2490. package/components/Callout/context.svelte.ts +0 -7
  2491. package/components/Dialog/context.svelte.ts +0 -7
  2492. package/components/Drawer/context.svelte.ts +0 -7
  2493. package/components/FieldGroup/context.svelte.ts +0 -8
  2494. package/components/Menu/context.svelte.ts +0 -7
  2495. package/components/Tabs/context.svelte.ts +0 -7
  2496. package/components/ToggleGroup/context.svelte.ts +0 -8
  2497. package/css/components/button-group.css +0 -170
  2498. package/skills/opui/references/button-group.md +0 -239
  2499. /package/components/{ButtonGroup → ControlGroup}/types.astro.ts +0 -0
  2500. /package/components/{ButtonGroup → ControlGroup}/types.react.ts +0 -0
  2501. /package/components/{ButtonGroup → ControlGroup}/types.svelte.ts +0 -0
  2502. /package/components/{ButtonGroup → ControlGroup}/types.ts +0 -0
  2503. /package/components/{ButtonGroup → ControlGroup}/types.vue-props.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -2,14 +2,23 @@
2
2
 
3
3
  ## 6.0.0 - Unreleased
4
4
 
5
- React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` classes, four example themes and `tokens.json`. Every theme token is prefixed `--ui-`, the scope classes derive every token again, more contrast works through knobs, and most component props are renamed to one naming model. Migration steps per component are in [MIGRATING.md](./MIGRATING.md).
5
+ The first major release since 5.0. The highlights for someone on 5.4.3:
6
+
7
+ - **Frameworks**: React 19 (`opui-css/react`) and Svelte 5 (`opui-css/svelte`) components next to Astro and Vue, rendering the same markup. `opui-css/vue` ships compiled modules.
8
+ - **New components**: `AvatarGroup`, `Carousel`, `Copy`, `Menu`, `Message`, `NumberField`, `OneTimeCode`, `Rating`, `SelectAll`, `SortableTable`, `Stat`, `Stepper`, `Timeline` and `Toaster`, which replaces `Toast`, and the `Layout` classes.
9
+ - **Themes and tokens**: five example themes in `themes/` (`bootstrap`, `brutalist`, `govuk`, `m3` and `shadcn`), `tokens.json` in the W3C design tokens format, and token scales for spacing, type, shape, elevation and motion. `.ui-palette` and `.ui-contrast-more` derive every token again from the knobs they set or inherit, and more contrast tightens those knobs instead of setting colors.
10
+ - **Breaking**: every theme token takes the `--ui-` prefix and one naming model, and most component props and private `--_` properties follow one naming model too. `Accordion`, `Callout`, `Card`, `Dialog` and `Drawer` take parts instead of slots, invalid controls take `aria-invalid="true"` instead of `data-invalid`, the palette is blue in both color schemes and the focus ring is black or white instead of the primary color. `ClassicSelect`, `IconButton` and `Toast` are removed.
11
+ - **Package**: custom elements in `opui-css/elements/`, browser fallbacks in `compat.css`, an agent skill (`npx opui-css skill`), Figma files for the default theme, `open-props` as an optional peer dependency, and Node 26.10 or later.
12
+
13
+ The steps per component are in [MIGRATING.md](./MIGRATING.md).
6
14
 
7
15
  ### Breaking
8
16
 
9
17
  - `Accordion` markers are the `svg` with `.ui-marker`. Add `.ui-marker` to the chevron to keep it rotating. Other icons in the `summary` stay put.
10
18
  - `Accordion` renders a chevron marker by default in Astro and Vue, hidden from screen readers with `aria-hidden="true"`. The `marker` slot on `AccordionSummary` replaces it, so move a custom chevron there and give it `.ui-marker`, or it shows twice. An empty `marker` slot shows the native arrow.
11
19
  - `Accordion` and `Dialog` no longer render `.ui-card`, and `Badge` and `Tooltip` no longer render `.ui-anchor`. `card.css` and `anchor.css` style `.ui-accordion`, `.ui-dialog`, `.ui-badge` and `.ui-tooltip` themselves, so HTML takes one root class. CSS that reached these components through `.ui-card` or `.ui-anchor` needs their own class.
12
- - `Accordion`, `Anchor`, `Avatar`, `Badge`, `Button`, `ButtonGroup`, `Callout`, `Card`, `Checkbox`, `Chip`, `Drawer`, `List`, `Progress`, `Radio`, `Range`, `Select`, `Switch`, `Table`, `TextField`, `Textarea`, `ToggleButton`, `ToggleGroup` and `Tooltip` private custom properties follow one scheme: `--_accent`, `--_text-color`, `--_bg-color`, `--_duration`/`--_ease`, `--_size` and `--_radius`. A color says what it paints (`-bg-color`, `-text-color`, `-border-color`), `--_size` is the one name for a control's size (`--_min-height`, `--_height` and `--_input-size` are gone), other sizes are logical (`--_track-block-size`, not `--_track-height`), and names aren't abbreviated (`--_shift-x`, not `--_anchor-tx`). MIGRATING lists every rename.
20
+ - `Accordion`, `Anchor`, `Avatar`, `Badge`, `Button`, `Callout`, `Card`, `Checkbox`, `Chip`, `ControlGroup`, `Drawer`, `List`, `Progress`, `Radio`, `Range`, `Select`, `Switch`, `Table`, `TextField`, `Textarea`, `ToggleButton`, `ToggleGroup` and `Tooltip` private custom properties follow one scheme: `--_accent`, `--_text-color`, `--_bg-color`, `--_duration`/`--_ease`, `--_size` and `--_radius`. A color says what it paints (`-bg-color`, `-text-color`, `-border-color`), `--_size` is the one name for a control's size (`--_min-height`, `--_height` and `--_input-size` are gone), other sizes are logical (`--_track-block-size`, not `--_track-height`), and names aren't abbreviated (`--_shift-x`, not `--_anchor-tx`). MIGRATING lists every rename.
21
+ - `Accordion` in Astro and Vue no longer renders `role="region"` and `aria-labelledby` on the content or `aria-controls` on the `summary`. `details` and `summary` expose the disclosure on their own, so add the attributes yourself only where the content should be a named region.
13
22
  - `Accordion` in Astro and Vue takes parts instead of slots: `AccordionSummary`, `AccordionContent` and `AccordionActions`. The root no longer wraps its children in `.ui-content`, and the `marker` slot moves to `AccordionSummary`.
14
23
  - `Accordion` `variant="default"` is gone. An accordion without a variant is `plain`, the page surface with padding and no border, like a `Card`, and a group card without a variant pads its accordions too. Use `variant="transparent"` (`.ui-transparent`) for the previous look, with no surface or padding.
15
24
  - `Anchor` with `trigger="hover"` and `Tooltip` no longer wrap their trigger in a `<span interestfor>`. Add `interestfor` with the anchor's `id` to the trigger element. `trigger` only takes `"hover"`: leave it out instead of `trigger="always"`.
@@ -20,22 +29,23 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
20
29
  - `Avatar` requires `alt` when `src` is set (types). `alt=""` is still allowed for decorative images.
21
30
  - `Avatar` `variant` is `shape` (`"circle"`, `"rounded"`, `"squared"`, `"squircle"`), with `circle` as the default. The classes are unchanged.
22
31
  - `Avatar`, `Button` and `Chip` types match the rendered element: a button `Avatar` or `Chip` needs `as="button"`, a link `Chip` needs `href`, `disabled` only goes with a button or a link, and `Button` takes link attributes only with `href` (types).
23
- - `Avatar` no longer takes `isGroup`. Wrap avatars in `AvatarGroup`, which renders `div.ui-avatar-group` with `role="group"`.
32
+ - `Avatar` no longer takes `isGroup`. Wrap avatars in `AvatarGroup`, which renders `div.ui-avatar-group` with `role="group"` and overlaps the avatars by `--ui-space-2` (8px) instead of 16px.
24
33
  - `Badge` `alignment` is `corner`, since it picks a corner of the child. The classes are unchanged.
25
34
  - `Badge` `label` is a `string` (types). Pass a number as a string.
26
35
  - `Badge` indicator is `.ui-indicator` instead of `.ui-badge-indicator`.
27
- - `Button` no longer takes `.ui-icon-only`. A button whose only child is an `svg` is square, at every size and inside `ButtonGroup`, so remove the class.
36
+ - `Button` no longer takes `.ui-icon-only`. A button whose only child is an `svg` is square, at every size and inside `ControlGroup`, so remove the class.
28
37
  - `Button` in Astro and Vue no longer adds `.ui-disabled` to a disabled `<button>`. It sets `disabled`, and `aria-disabled="true"` on links. Target `:disabled` or `[aria-disabled="true"]` instead of `.ui-disabled`.
29
38
  - `Button` icon styles only apply to a direct child `svg` (`> svg`), sized with `--_icon-size`. An `svg` nested in another element is no longer sized. Padding scales with `--_padding-inline` (`1ex` x-small, `1.25ex` small, `1.5ex` default, `2.5ex` large; was `0.5ex`, `0.75ex`, `1.5ex` and `4ex`), and the icon side gets tighter padding when a direct child `svg` sits next to a wrapped label (`<span class="ui-text">`). Wrap the label when the button has an icon: text next to an `svg` without a wrapper renders as icon-only.
30
39
  - `Button`, and `Chip` and `Avatar` with `as="button"`, render `type="button"` by default in Astro and Vue, so they no longer submit forms. Pass `type="submit"` for submit buttons.
31
- - `Button` and `Chip` links with `disabled` (`aria-disabled="true"`) no longer render `href`, so they can't be focused or followed. `button.css` and `chip.css` no longer set `pointer-events: none` on disabled links, so remove `href` from them in HTML.
32
- - `ButtonGroup` variants apply to the whole group. A variant class on a single button inside a group is no longer supported.
33
- - `Callout` in Astro and Vue takes parts instead of slots: `CalloutIcon` renders the severity icon and `CalloutContent` the content. The root no longer renders an icon or wraps its children in `.ui-content`. The `title` slot and `headingLevel` are gone: write the title as a plain heading of any level first in `CalloutContent`. A custom icon is an `svg` placed first in `Callout`.
40
+ - `Button` and `Chip` links with `disabled` (`aria-disabled="true"`) no longer render `href`, so they can't be focused or followed. They render `role="link"` instead, so a screen reader still hears a disabled link and its `aria-label`. The CSS doesn't block clicks on them, so remove `href` from them in HTML.
41
+ - `ButtonGroup` is `ControlGroup` (`components/ControlGroup/ControlGroup.*`), `.ui-button-group` is `.ui-control-group`, and `button-group.css` is `control-group.css`. The buttons keep their own borders and the group joins their edges, so it joins a `TextField`, `Select`, `NumberField` or `Textarea` too. Variants apply to the whole group: a variant class on a single button inside a group is no longer supported. The group no longer overflows its container: it wraps onto more rows, and `overflow` keeps it on one row instead. The root no longer needs `role="group"` to be styled, though the components still render it.
42
+ - `Callout` in Astro and Vue no longer renders `role="note"`, so screen readers announce the `<article>` it is. Add `role="note"` to the root to keep the old announcement.
43
+ - `Callout` in Astro and Vue takes parts instead of slots: `CalloutIcon` renders the severity icon and `CalloutContent` the content. The root no longer renders an icon or wraps its children in `.ui-content`. The `title` slot (a fixed `h3`) is gone: write the title as a plain heading of any level first in `CalloutContent`. A custom icon is an `svg` placed first in `Callout`.
34
44
  - `Card` `variant="text"` is `variant="transparent"` (`.ui-transparent` instead of `.ui-text`), so `.ui-text` only names the text part of a component. The default card is named `plain`.
35
45
  - `Card` in Astro and Vue takes parts instead of slots: `CardHeader`, `CardContent` and `CardActions`. `actionsAlign` is `align` on `CardActions`.
36
46
  - `Card` actions sit at the end, like in `Accordion` and the `Dialog` and `Drawer` footers. `CardActions` `align="start"` (`.ui-align-start`) lines them up with the content, and `.ui-align-end` no longer does anything on them.
37
47
  - `Card` no longer has `--_shadow-light` and `--_shadow-dark`. Set `--ui-shadow-elevated` in your theme, one shadow for both schemes whose default color follows `--ui-shadow-color`, or `--_elevated-shadow` on the card.
38
- - `Checkbox` and `Radio` internal variables are private (`--_` prefix): `--highlight-size` is `--_ripple-size`, `--thumb-scale` is `--_thumb-scale` and `--_input-size` is `--_size`, the name every sized control uses. `--isLTR` and `--isRTL` are removed, the halo centers itself in both directions. `--_ripple-size` and `--_size` are inputs to override; `--_thumb-scale` is set by the hover and active states.
48
+ - `Checkbox` and `Radio` internal variables are private (`--_` prefix): `--highlight-size` is `--_ripple-size`, `--thumb-scale` is `--_ripple-scale` and `--_input-size` is `--_size`, the name every sized control uses. `--isLTR` and `--isRTL` are removed, the halo centers itself in both directions. `--_ripple-size` and `--_size` are inputs to override; `--_ripple-scale` is set by the hover and active states.
39
49
  - `Checkbox`, `Radio` and `Switch` take `orientation="vertical"` (`.ui-vertical`) instead of `stack` (`.ui-stack`) to put the label under the control, like the other components with a layout axis.
40
50
  - `Checkbox`, `Progress`, `Radio`, `Range`, `Select`, `Switch` and `ToggleButton` in Astro and Vue put `style` on the root, like `class`, instead of the `<select>`, `<input>` or `<progress>`, so `--_` properties set through `style` apply.
41
51
  - `Checkbox`, `Radio`, `Switch`, `Range`, `DescriptionList` and `Table` type files are named like the other components: `components/Checkbox/types*` export `Props` and `Slots` instead of `CheckboxProps` and `CheckboxSlots` (likewise `Radio`, `Switch` and `Range`), `DescriptionList` exports `DescriptionListTermProps`, `DescriptionListDescriptionProps` and `DescriptionListItemProps` instead of `TermProps`, `DescriptionProps` and `ItemProps`, and `Table` exports one type per part (`TableBodyProps`, `TableCellProps` and the rest) instead of `SectionProps`, and `TableColumnProps` instead of `ColumnProps`. Import the types from `opui-css/<framework>` instead.
@@ -49,13 +59,14 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
49
59
  - `Dialog` regions are `.ui-header`, `.ui-content` and `.ui-footer`, like `Drawer`. The header is a `div.ui-header` row instead of an `hgroup`, and `aria-labelledby` points at the title heading inside it. `.ui-footer` replaces `.ui-actions` at the end of the dialog, and `.ui-align-end` on it is the default and can go. The title heading is `--ui-font-size-h4` through `--_title-font-size`, so it needs no `.ui-h4`.
50
60
  - `Dialog` page scroll lock lives in `core/utils.css`, shared with the `Drawer` `.ui-scroll-lock`, and no longer sets `block-size: 100%` on `html`. If you import single files, import `utils.css` too, or the page scrolls behind a modal dialog.
51
61
  - `Divider` variants render `.ui-filled` and `.ui-tonal` instead of `.ui-border-filled` and `.ui-border-tonal`, and `variant="primary"` is `color="primary"`, which renders `.ui-primary` instead of `.ui-border-primary`. A primary line keeps its color with any variant.
52
- - `Drawer` in Astro and Vue takes parts instead of slots: `DrawerHeader`, `DrawerTitle`, `DrawerContent` and `DrawerFooter`. `DrawerTitle` replaces the `DrawerHeader` `heading` prop and names the drawer. The drawer no longer looks for a heading: without a `DrawerTitle`, pass `aria-label`. An `id` on `DrawerTitle` only applies when the drawer has `aria-label` or `aria-labelledby`, and a dev warning says when it is replaced. In Astro and Vue, `DrawerHeader` in a `Drawer` closes it with `command="close"` (Invoker Commands) instead of a click handler, so the Vue `DrawerHeader` closes the drawer without hydration, and browsers without Invoker Commands need a polyfill.
62
+ - `Drawer` in Astro and Vue takes parts instead of slots: `DrawerHeader`, `DrawerTitle`, `DrawerContent` and `DrawerFooter`. `DrawerTitle` replaces the `DrawerHeader` `heading` prop and names the drawer. A drawer is named by `DrawerTitle`, or by `aria-label` without one (5.x set no name itself). An `id` on `DrawerTitle` only applies when the drawer has `aria-label` or `aria-labelledby`, and a dev warning says when it is replaced. `DrawerHeader` closes its `Drawer` with `command="close"` (Invoker Commands) instead of a click handler, so it closes the drawer without hydration, and browsers without Invoker Commands need a polyfill. Outside a `Drawer`, it closes the dialog its `commandfor` names instead of the nearest `<dialog>`, and a dev warning says when `commandfor` is missing.
53
63
  - `Drawer` in Astro and Vue no longer locks page scroll by default. Set `scrollLock` (`.ui-scroll-lock`) on drawers that should lock it.
54
64
  - `Drawer` requires `id` (types) and no longer generates one, since its trigger points at it with `commandfor`.
55
- - `Drawer` title is `--ui-font-size-h4`, like the `Dialog` title, instead of `--ui-font-size-large`, and `--_header-font-size` is `--_title-font-size`. It sizes a heading that is a direct child of `.ui-header`.
65
+ - `Drawer` title is `--ui-font-size-h4`, like the `Dialog` title, instead of `--font-size-3`, and `--_header-font-size` is `--_title-font-size`. It sizes a heading that is a direct child of `.ui-header`.
66
+ - `Drawer` header, content and footer rules live in `card.css`, shared with `Dialog`. If you import single files, import `card.css` too, or the drawer's parts lose their layout and scroll shadows.
56
67
  - `DrawerFooter` takes `align`, like `DialogFooter`. Its content sits at the end on every side, and `align="start"` (`.ui-align-start`) moves it to the start, instead of starting in an `inline-end` drawer.
57
68
  - `FieldGroup` no longer sets `role="group"`. Wrap it in a `Fieldset` (a `<fieldset>`, already a group) to group and name the fields. `Fieldset` with another element in `as` gets `role="group"`.
58
- - `FieldGroup` `direction` (`"row"`, `"column"`) is `orientation` (`"auto"`, `"horizontal"`, `"vertical"`), like `ButtonGroup`, `ToggleGroup` and `Carousel`, and `.ui-row` and `.ui-column` are `.ui-horizontal` and `.ui-vertical`. `auto`, the default, stacks fields and lines up a group of only buttons in a row.
69
+ - `FieldGroup` `direction` (`"row"`, `"column"`) is `orientation` (`"auto"`, `"horizontal"`, `"vertical"`), like `ControlGroup`, `ToggleGroup` and `Carousel`, and `.ui-row` and `.ui-column` are `.ui-horizontal` and `.ui-vertical`. `auto`, the default, stacks fields and lines up a group of only buttons in a row, and `vertical` stacks the buttons too.
59
70
  - `Fieldset` (`.ui-fieldset`) no longer reads `data-invalid`. Its end text turns red when a control inside has `aria-invalid="true"` or is `:user-invalid`, so mark each control in the group (`error` on each `Checkbox`, `Radio` or `Switch` in Astro and Vue).
60
71
  - `FieldSet` is `Fieldset` (`components/Fieldset/Fieldset.*`), and `FieldDescription` renders `.ui-description` instead of `.ui-field-description`.
61
72
  - `List` no longer takes `divided`. Use `bordered` (`.ui-bordered`) ([#395](https://github.com/felix-bohlin/ui/issues/395)).
@@ -66,17 +77,18 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
66
77
  - `ListItem` `headline` is `label`, and the `text` slot is gone: `label` and `description` take a string or, as slots of the same name, rich content, rendered as the two paragraphs in `.ui-text`. The default slot adds more content after them.
67
78
  - `ListItem` `as` only accepts `"a"` or `"button"` (types). A static item leaves `as` out and renders its content straight in the `<li>`.
68
79
  - `ListItem` `type` can't be combined with `as` or `href` (types).
69
- - `Range` in Astro and Vue no longer sets `--_track-fill` from script. The track fill is a scroll-driven animation in CSS.
80
+ - `Range` `--_track-fill` is gone: the track fill is a scroll-driven animation in CSS, which fills the track in Chromium and Safari without JavaScript, also in plain HTML.
70
81
  - `Range` takes `items` instead of `options` for its tick marks (`RangeItem[]`). In Astro and Vue, the label goes in the `label` slot instead of the default slot, and the readout slot is `value-text` instead of `value`, the name React and Svelte use (`valueText`).
71
82
  - `Range` in Astro types its extra attributes as `<input>` attributes only, since they go to the input (types).
72
83
  - `Select` items are typed `SelectItem`, with a `number | string` `value`, and take `label` instead of `text`, like `Menu` and `Range` items. Rename imports of `Item` from `components/Select/types`.
73
84
  - `Switch` takes `size="small"` instead of `small`, like `Checkbox`.
74
85
  - `Table` `variant` is `density` (`"dense"`, `"normal"`, `"spacious"`), so `variant` only names a surface. The classes are unchanged.
75
- - `Table` and `DescriptionList` part files are `components/Table/TableBody.*`, `TableCell.*`, `TableColumn.*`, `TableColumnGroup.*`, `TableHead.*`, `TableHeaderCell.*`, `TableRow.*` and `components/DescriptionList/DescriptionListDescription.*`, `DescriptionListItem.*`, `DescriptionListTerm.*`. The `opui-css/<framework>` exports are unchanged; update deep `./components/*` imports.
86
+ - `Table` and `DescriptionList` part files are `components/Table/TableBody.*`, `TableCell.*`, `TableColumn.*`, `TableColumnGroup.*`, `TableHead.*`, `TableHeaderCell.*`, `TableRow.*` and `components/DescriptionList/DescriptionListDescription.*`, `DescriptionListItem.*`, `DescriptionListTerm.*`. The Vue `Table` exports are unchanged, the Vue `Description` export is `DescriptionListDescription`, and the Astro entry adds the flat part names; update deep `./components/*` imports.
76
87
  - `TableColumn` `width` takes a CSS length. A declaration string (`width="min-width: 10rem"`) is no longer parsed; pass `style` instead.
77
88
  - `Tabs` look like segmented controls: the tabs sit on a rounded track and the selected tab is a raised pill. `--_accent-color` and `--_bg-color` are gone, use `--_selected-bg-color`, `--_selected-text-color`, `--_indicator-bg-color` and `--_track-bg-color`, or a `variant`. The selected pill is outlined with `--ui-control-border-color`, or `--ui-field-border-color`, so it reaches 3:1 against the track without the shadow. The open panel gets a `--ui-space-2` top margin. In dark mode the selected pill takes `--ui-state-hover-alpha-dark`.
78
89
  - `Tabs` render no `tablist`, `tab` or `tabpanel` roles and no `aria-controls`/`aria-labelledby`, so screen readers announce the radio group they are. `TabsItem` and `TabsPanel` no longer take `panelId`, and `TabsPanel` no longer takes `tabId`. `tabs.css` no longer matches `[role="tab"]` or `[role="tabpanel"]`, use `.ui-label` and `.ui-panel`.
79
90
  - `Tabs` parts are `.ui-input`, `.ui-label` and `.ui-panel` instead of `.ui-tab-input`, `.ui-tab-label` and `.ui-tab-panel`, and `TabsTab` is `TabsLabel` (`components/Tabs/TabsLabel.*`).
91
+ - `Tabs` that don't fit stay on one row and scroll sideways instead of wrapping onto more rows, and the open panel stays in view, padded by the focus ring's reach so a ring at its edge isn't clipped. The tabs are a scroll container that sizes to its container, so give them a width inside flex and grid layouts that size to their content, or add `overflow="wrap"` (`.ui-overflow-wrap`) to wrap them as in 5.x. Horizontal tabs that don't wrap draw the focus ring inside the tab, at `--ui-focus-ring-inset`.
80
92
  - `Tabs`, `Table` and `DescriptionList` in Astro no longer have dot aliases such as `Tabs.Item`, `Table.Head` and `DescriptionList.Item`. Import the flat names, such as `TabsItem`, `TableHead` and `DescriptionListItem`, like React, Svelte and Vue. The `components/{Tabs,Table,DescriptionList}/index.ts` files that held the aliases are gone.
81
93
  - `TabsItem` `open` and `ToggleButton` `pressed` are `checked`, the native attribute they set.
82
94
  - `TabsItem` takes `id` instead of `tabId`, and `TabsLabel` takes `for` (`htmlFor` in React) instead of `tabId`, the native names of the attributes they set. The item still generates the id and passes it to its label when both are omitted.
@@ -101,25 +113,26 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
101
113
  - `Typography` rich text lives in a new `components.prose` layer, below `components.root`, so component styles inside rich text win over prose styles. The layer order is `openprops, theme, normalize, components.prose, components.root, components.extended, components.compat, utils`. If you declare the layer order yourself, add `components.prose` before `components.root`, or it sorts after `components.extended` and prose styles beat component styles inside rich text.
102
114
  - `choice.css` holds the layout, label, end text, sizes and disabled styles shared by `Checkbox`, `Radio` and `Switch`, which moved out of `checkbox.css`, `radio.css` and `switch.css`. Import it with them, in any order, or use `components.css`.
103
115
  - `normalize.css` no longer declares `--_page-bg-color`. The page background reads `--ui-surface`; set that, or `background-color` on `html`.
104
- - `theme.css` and `core/palette.css` no longer make `del`, `ins`, `abbr`, `dfn`, `.ui-del`, `.ui-ins`, `.ui-abbr` and `.ui-dfn` severity scopes. `del` and `.ui-del` read `--ui-critical-text`, `ins` and `.ui-ins` read `--ui-success-text`, and the `abbr` and `dfn` underline reads `--ui-info`. Wrap content that read a `--ui-palette-*` role inside them in `.ui-critical`, `.ui-success` or `.ui-info`.
116
+ - `package.json` `engines` requires Node 26.10 or later (`>=26.10.0`) instead of 22.
117
+ - `theme.css` and `core/palette.css` no longer make `del`, `ins`, `abbr` and `dfn` severity scopes. `del` and `.ui-del` read `--ui-critical-text` and `ins` and `.ui-ins` read `--ui-success-text`, so they pass contrast in light and dark mode, and the `abbr` and `dfn` underline reads `--ui-info`. Wrap content that read a `--ui-palette-*` role inside them in `.ui-critical`, `.ui-success` or `.ui-info`.
105
118
  - `theme.css` `--ui-focus-ring-color` is black on light surfaces and white on dark ones, by the surface's OKLCH lightness, instead of `var(--ui-primary)`, and the global `:focus-visible` ring and the component rings read it, with `--ui-focus-ring-width`, `--ui-focus-ring-style` and `--ui-focus-ring-offset`. Set `--ui-focus-ring-color: var(--ui-primary)` to keep the old value.
106
119
  - `theme.css` holds `--ui-motion` and its `prefers-reduced-motion` default, which moved from `core/normalize.css`. The `.ui-motion-*` classes moved to `core/utils.css`. If you import single files, import `theme.css` and `utils.css` too, or `--ui-motion` is undefined and the `.ui-motion-*` classes are missing.
107
- - `theme.css` no longer sets `--ui-button-radius` and `--ui-field-radius`. `Button`, `ButtonGroup`, `ToggleButton`, `ToggleGroup` and the fields fall back to `--ui-radius` when they're unset, also where it's set on a part of the page, so one token sets the corners of every component. If your styles read them, add the fallback: `var(--ui-button-radius, var(--ui-radius))`.
120
+ - `theme.css` no longer sets `--ui-button-radius` and `--ui-field-radius`. `Button`, `ControlGroup`, `ToggleButton`, `ToggleGroup` and the fields fall back to `--ui-radius` when they're unset, also where it's set on a part of the page, so one token sets the corners of every component. If your styles read them, add the fallback: `var(--ui-button-radius, var(--ui-radius))`.
108
121
  - `theme.css`, `palette.css` and the components name every theme token with a `--ui-` prefix, like the classes: `--primary` is `--ui-primary`, `--border-color` is `--ui-border-color` and `--color-1` is `--ui-color-1`. Open Props tokens such as `--size-3` keep their names, and no component or theme token reads them any more. Add `ui-` to the tokens you set or read.
109
122
  - `theme.css` `--font-size-05` is `--ui-font-size-small`. Rename it where you set or read it.
110
123
  - `theme.css` tokens follow one naming model: `--ui-on-*` is the text and icon color on a fill, `-text` after a color is that color tuned for reading, and `light`, `dark`, `inverse` and `contrast` each mean one thing. Beyond the `--ui-` prefix, `--text-primary` is `--ui-text-strong`, `--primary-contrast` is `--ui-on-primary`, `--text-primary-contrast` is `--ui-on-inverse`, `--text-muted` is `--ui-text`, `--text-muted-contrast` is removed (`kbd` and `var` read `--ui-surface-inverse` and `--ui-on-inverse`), `--surface-default` is `--ui-surface`, `--border-radius` is `--ui-radius`, `--button-border-radius` is `--ui-button-radius` and `--field-border-radius` is `--ui-field-radius`. MIGRATING lists them.
111
124
  - `theme.css` roles are what components read, so overriding a palette step (`--ui-gray-N`, `--ui-color-N`) or an Open Props value such as `--size-3` on a part of the page no longer changes the components there. Override the role instead, such as `--ui-surface`, `--ui-border-color` or `--ui-space-3`, or put `.ui-palette` on the part so the roles are derived again from its palette. A subtree that should follow its own knobs takes `.ui-palette`.
112
- - `theme.css` keeps one palette hue, green (`145`), in both color schemes instead of switching to blue in dark mode. Set `--ui-palette-hue: 240` on `html.ui-dark` and under `prefers-color-scheme: dark` to keep the blue dark palette.
125
+ - `theme.css` keeps one palette hue, blue (`222.8`), in both color schemes instead of green in light mode and blue in dark mode. Set `--ui-palette-hue: 145` on `html` and `240` on `html.ui-dark` and under `prefers-color-scheme: dark` to keep the v5 palette.
113
126
  - `types.d.vue.ts` in every component folder is `types.vue-props.ts`, since TypeScript reads a `*.d.vue.ts` file as a declaration file and `skipLibCheck` skipped it. Update deep imports from `opui-css/components/<Name>/types.d.vue` to `types.vue-props`, or import the types from `opui-css/vue`.
114
127
 
115
128
  ### Removed
116
129
 
117
- - `Accordion`, `Anchor`, `Callout`, `Card`, `Dialog`, `Drawer` and `Tooltip` no longer export a `Slots` type from `types.ts`, and the Vue `Drawer` types no longer export `DrawerHeadingIdKey`, `DrawerSlots`, `DrawerHeaderSlots` or `DrawerFooterSlots`.
130
+ - `Accordion`, `Anchor`, `Callout`, `Card`, `Dialog`, `Drawer` and `Tooltip` no longer export a `Slots` type from `types.ts`, and the Vue `Drawer` types no longer export `DrawerSlots`, `DrawerHeaderSlots` or `DrawerFooterSlots`.
131
+ - `Accordion` no longer hides `::-webkit-details-marker` on a summary with a `.ui-marker`. Its `display: flex` removes the native marker in every current browser; only Safari before 18.2 drew it that way.
118
132
  - `Chip` hover and press ripple. Remove any `--ripple` overrides.
119
133
  - `ClassicSelect`. Use `Select`: it renders the same field, with the browser's own picker where customizable select isn't supported.
120
134
  - `DescriptionList` `.ui-term` and `.ui-description`. The list styles `dt` and `dd` by element, and `DescriptionListTerm` and `DescriptionListDescription` render a plain `dt` and `dd`.
121
135
  - `IconButton` (`.ui-icon-button`). Use `Button`: an icon-only button is square by default, `round` (`.ui-round`) makes it a circle. The hover halo is gone: icon-only buttons get the button's hover background. The old default size (28px) is `size="x-small"`. The old `small` (20px) has no preset: use `x-small` with `--_size: var(--size-4)`. Icons are smaller (`--_icon-size: var(--size-5)` matches the old 24px), and the icon color is the button's accent instead of the inherited text color.
122
- - `Range` no longer wraps the scroll-driven track fill in `@supports (animation-timeline: view())`.
123
136
  - `Range` thumbs no longer change their border inside a focused `.ui-fieldset-item`, a class no component renders.
124
137
  - `Select` no longer hides `option::before`.
125
138
  - `TextField` and `Textarea` no longer take `supportingText` or the `supporting-text` slot. Use `endText` (`end-text`).
@@ -137,67 +150,91 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
137
150
  ### Added
138
151
 
139
152
  - `Accordion` takes a `markerAnimation` prop (`rotate`, `flip`, `turn`) that sets how the marker animates when it opens. Defaults to `rotate`, which needs no class; `.ui-marker-animation-flip` mirrors the chevron and `.ui-marker-animation-turn` points it to the inline end when closed and down when open, also in right-to-left.
140
- - `Accordion`, `Avatar`, `Button`, `ButtonGroup`, `Card`, `Checkbox`, `Chip`, `Divider`, `List`, `Progress`, `Radio`, `Range`, `Select`, `Switch`, `Tabs`, `TextField`, `Textarea`, `ToggleButton` and `ToggleGroup` accept their default by name, which adds no class: `size="medium"` on every sized component, `variant="plain"` on `Accordion` and `Card`, `"transparent"` on `Button` and `ButtonGroup`, `"outlined"` on `Divider` and `Range`, `"filled"` on `List`, and `"tonal"` on `Progress` and `Tabs`. In HTML, a `Drawer` opens from the inline start without `.ui-inline-start`.
153
+ - `Accordion`, `Avatar`, `Button`, `Card`, `Checkbox`, `Chip`, `ControlGroup`, `Divider`, `List`, `Progress`, `Radio`, `Range`, `Select`, `Switch`, `Tabs`, `TextField`, `Textarea`, `ToggleButton` and `ToggleGroup` accept their default by name, which adds no class: `size="medium"` on every sized component, `variant="plain"` on `Accordion` and `Card`, `"transparent"` on `Button` and `ControlGroup`, `"outlined"` on `Divider` and `Range`, `"filled"` on `List`, and `"tonal"` on `Progress` and `Tabs`. In HTML, a `Drawer` opens from the inline start without `.ui-inline-start`.
141
154
  - `Accordion`, `Callout`, `Card`, `Dialog`, `Drawer`, `Menu` and the `Select` picker read the optional `--ui-border-color-raised` for the edge of a raised surface: tonal and elevated cards, accordions and dialogs, callouts without a severity, drawers, menus and the picker. A theme sets it once to outline them all, or to `transparent` to drop the edges. `Drawer` takes `--_edge-border-color` for its edge alone.
142
155
  - `AccordionActions` takes `align` (`.ui-align-start`), like `CardActions`, `DialogFooter` and `DrawerFooter`.
143
156
  - `Anchor` with `trigger="hover"`, `Drawer`, `Menu` and `Tooltip` warn in development when `id` is missing, since their trigger reaches them through `commandfor` or `interestfor` and a `Drawer` names itself after it.
144
- - `Avatar` and `ListItem` links take `disabled`, like `Button` and `Chip`: the link drops its `href` and gets `aria-disabled="true"`.
157
+ - `Avatar` and `ListItem` links take `disabled`, like `Button` and `Chip`: the link drops its `href` and gets `role="link"` and `aria-disabled="true"`, so a screen reader still hears a disabled link.
145
158
  - `Avatar` takes a `size` prop (`.ui-x-small`, `.ui-small`, `.ui-large`) that matches the control sizes. Letters and icons scale with it, and large initials are `--ui-font-size-large`.
146
- - `AvatarGroup` component (`div.ui-avatar-group[role="group"]`) in Astro, React, Svelte and Vue. It takes `class`, attributes such as `aria-label`, and avatars as children, and raises a focused avatar so the next one doesn't cover its focus ring.
159
+ - `Avatar` takes `variant`: `filled` (the default, the primary color), `tonal` (`.ui-tonal`, the primary tint through `--_tonal-bg-color` and `--_tonal-text-color`) and `outlined` (`.ui-outlined`, the border color in `--_outlined-border-color` with no fill). An image avatar has no fill in any variant.
160
+ - `AvatarGroup` component (`div.ui-avatar-group[role="group"]`) in Astro, React, Svelte and Vue. It takes `class`, an `aria-label` or `aria-labelledby` that its types require in Astro, React and Svelte, other attributes, and avatars as children. The avatars overlap by `--ui-space-2` from the start, so the initials stay whole at every size and the group's box ends at its last avatar, a focused avatar is raised so the next one doesn't cover its focus ring, and a `Badge` on an avatar sits on its start side, the part the next avatar doesn't cover, with the same ring as the avatars (`--_outline-color`).
147
161
  - `Badge` `corner` takes `"start-end"`, the default corner.
148
162
  - `Badge` takes `hideLabel`, which renders `label` as visually hidden text (`.ui-sr-only`) inside the indicator, and hides the `indicator` slot from assistive technology. Pass the whole translated text as `label` ("5 unread messages") and the short visible form in the `indicator` slot ("5"), so the component never joins a number and words. A `dot` badge hides its `label` the same way.
149
- - `Badge`, `Button`, `Card`, `Carousel`, `Checkbox`, `Dialog`, `Progress`, `Radio`, `Range`, `Table`, `Tabs`, `TextField`, `Textarea`, `ToggleButton` and `Tooltip` transitions read `--_duration` and `--_ease`, like `Accordion`, `Drawer`, `Menu`, `Select` and `Switch`. The `Carousel` button scale reads `--_scale-duration`, and the `Range` and `Tabs` focus rings `--_focus-ring-duration`.
163
+ - `Badge`, `Button`, `Card`, `Carousel`, `Checkbox`, `Dialog`, `Progress`, `Radio`, `Range`, `Table`, `Tabs`, `TextField`, `Textarea`, `ToggleButton` and `Tooltip` transitions read `--_duration` and `--_ease`, like `Accordion`, `Drawer`, `Menu` and `Select`. The `Carousel` button scale reads `--_scale-duration`, and the `Range` and `Tabs` focus rings `--_focus-ring-duration`.
150
164
  - `Button` takes a `round` prop (`.ui-round`). Icon size is set with `--_icon-size`.
151
- - `Button` links with `aria-disabled="true"` look disabled and get no hover or press styles.
152
165
  - `Button` types require `aria-label`, `aria-labelledby` or `children` in React and Svelte, so a button always has a name (types only).
153
- - `Button` reads optional theme tokens: `--ui-button-accent` and `--ui-button-on-accent` for the color of buttons and button groups without `.ui-primary` or `.ui-critical`, `--ui-control-border-color` for the border of outlined buttons and the edge and dividers of outlined button groups, `--ui-control-border-color-filled` for filled and tonal ones, `--ui-button-font-weight`, and `--ui-button-hover-shadow` and `--ui-button-hover-translate` for the shadow and offset on hover. In dark mode their text keeps the accent's lightness at `--ui-text-min-lightness` or more and its chroma within `--ui-text-max-chroma`, like the intent `-text` roles. `--ui-font-size-control` sets the font size of the default `Button`, `Select`, `Tabs`, `TextField`, `Textarea` and `ToggleButton`.
154
- - `Button`, `ButtonGroup`, `Callout`, `.ui-link` and rich text links read `--ui-primary-text` for primary text. It defaults to `--ui-primary` with its lightness kept within `--ui-text-max-lightness` and `--ui-text-min-lightness`, so it keeps 4.5:1 on every surface and every primary text is one color, and themes whose primary is too light or too dark to read set it.
155
- - `Button` and `ButtonGroup` with `.ui-primary` and `.ui-tonal` read the optional `--ui-primary-tonal` and `--ui-on-primary-tonal`. When unset, they keep the palette tint. m3 sets Material's `primary-container`, shadcn its `secondary`.
156
- - `ButtonGroup` and `ToggleGroup` take `overflow`: `"wrap"`, the default, wraps their items onto more rows, `"scroll"` (`.ui-overflow-scroll`) keeps them on one row and scrolls sideways, and `"shrink"` (`.ui-overflow-shrink`) keeps them on one row and truncates labels with an ellipsis.
157
- - `ButtonGroup` and `ToggleGroup` `orientation` takes `"horizontal"`, the default, like `Carousel`.
166
+ - `Button` reads optional theme tokens: `--ui-button-accent` and `--ui-button-on-accent` for the color of buttons, also in a `ControlGroup`, without `.ui-primary` or `.ui-critical`, `--ui-control-border-color` for the border of outlined buttons, `--ui-control-border-color-filled` for filled and tonal ones and for the lines between buttons in a `ControlGroup` that isn't outlined, `--ui-button-font-weight`, and `--ui-button-hover-shadow` and `--ui-button-hover-translate` for the shadow and offset on hover. In dark mode their text keeps the accent's lightness at `--ui-text-min-lightness` or more and its chroma within `--ui-text-max-chroma`, like the intent `-text` roles. `--ui-font-size-control` sets the font size of the default `Button`, `Select`, `Tabs`, `TextField`, `Textarea` and `ToggleButton`.
167
+ - `Button`, `Callout`, `ControlGroup`, `.ui-link` and rich text links read `--ui-primary-text` for primary text. It defaults to `--ui-primary` with its lightness kept within `--ui-text-max-lightness` and `--ui-text-min-lightness`, so it keeps 4.5:1 on every surface and every primary text is one color, and themes whose primary is too light or too dark to read set it.
168
+ - `Button` and `ControlGroup` with `.ui-primary` and `.ui-tonal` read the optional `--ui-primary-tonal` and `--ui-on-primary-tonal`. When unset, they keep the palette tint. m3 sets Material's `primary-container`, shadcn its `secondary`.
169
+ - `Button` keeps its pressed colors while the popover right after it is open, like a `Menu` trigger, without the press scale.
170
+ - `CalloutActions` part (`.ui-actions`) in Astro, React, Svelte and Vue puts a row of buttons under the callout's content, lined up with it. A `.ui-button` that is a direct child of a `Callout` sits at the end of the first row, for a close button. The toaster keeps its own layout.
158
171
  - `CalloutIcon` renders a check icon for `severity="success"`, like `info`, `warning` and `critical`.
172
+ - `Card` takes `as` in Astro, React, Svelte and Vue: `"article"` for a card that stands on its own, like a blog post, and `"section"` for a titled part of the page. The default is `"div"`.
159
173
  - `Card` takes `.ui-card-link` on a link to make the whole card clickable. Other links and buttons in the card stay clickable.
174
+ - `Card` takes `density`: `spacious` (`.ui-spacious`) pads the parts with `--ui-space-5` for a card that stands alone, such as a sign-in form, and `dense` (`.ui-dense`) with `--ui-space-2` and a `--ui-space-2` gap for a small stat. The default is `normal`.
175
+ - `Card` takes `color="primary"` (`.ui-primary`), a thick `--ui-primary` outline inside the card's edge for the one card in a row that stands out, like a recommended plan.
176
+ - `Card` runs an `img`, `picture` or `video` child to its edges, at the top, between parts or at the bottom, with `object-fit: cover`, and pads the part after it like the top of the card. The gap between the parts is `--_gap`.
177
+ - `Card` takes `orientation`. With `auto`, the default, a card whose first child is an image, picture or video is a size container (`container: ui-card / inline-size`) that puts the image at the start, over the full height, with the other parts next to it, once it is `40rem` wide. `horizontal` (`.ui-horizontal`) always puts the image at the start, and `vertical` (`.ui-vertical`) keeps it on top without the container. The image takes `--_media-inline-size`, `40%` of the card.
160
178
  - `CardHeader` renders `hgroup.ui-header`, the header region class `Dialog` and `Drawer` use, and `card.css` styles `.ui-header` like the `hgroup`.
179
+ - `CardHeader` takes `as="div"` and `as="header"`. A `div.ui-header` or `header.ui-header` with an `hgroup` inside is a row: the `hgroup` takes the free space, so an avatar before it and a chip or buttons after it line up on one row.
161
180
  - `Carousel` takes an `aspectRatio` prop that crops media, like `--_media-aspect-ratio`.
162
- - `Carousel` component (`ul.ui-carousel`). Scroll snap, with previous/next buttons (`::scroll-button()`) and markers (`markers`, `.ui-markers`, with `::scroll-marker`) generated by CSS. Buttons use inverted colors with a gray border derived from the button color so they contrast with any item, show an SVG chevron that follows the color scheme, and sit over the items without a class, beside them (`buttons="outside"`, `.ui-buttons-outside`) or nowhere (`buttons="none"`, `.ui-buttons-none`). Images, videos and iframes fill the item with a configurable aspect ratio. Supports items per view (`itemsPerView`, `--_items-per-view`), peek (`peek`, `.ui-peek`), center alignment (`align="center"`, `.ui-align-center`), RTL, and custom properties for every size, color, icon and label. No JavaScript needed, with Astro, React, Svelte and Vue components, and it falls back to a snapping scroller. The buttons take `--ui-shadow-overlay`, markers are 24px targets around an 8px ring in `--ui-text`, which keeps its contrast in every theme, and the current marker is a 16px dot in `--ui-selected-strong`, and motion, smooth scrolling included, follows `--ui-motion` like the other components.
181
+ - `Carousel` component (`ul.ui-carousel`). Scroll snap, with previous/next buttons (`::scroll-button()`) and markers (`markers`, `.ui-markers`, with `::scroll-marker`) generated by CSS. Buttons use inverted colors with a gray border derived from the button color so they contrast with any item, show an SVG chevron that follows the color scheme, and sit over the items without a class, above any `z-index` inside them since each item is its own stacking context, beside them (`buttons="outside"`, `.ui-buttons-outside`) or nowhere (`buttons="none"`, `.ui-buttons-none`). Images, videos and iframes fill the item with a configurable aspect ratio. Supports items per view (`itemsPerView`, `--_items-per-view`), peek (`peek`, `.ui-peek`), center alignment (`align="center"`, `.ui-align-center`), RTL, and custom properties for every size, color, icon and label. No JavaScript needed, with Astro, React, Svelte and Vue components, and it falls back to a snapping scroller. The buttons take `--ui-shadow-overlay`, markers are 24px targets around an 8px ring in `--ui-text`, which keeps its contrast in every theme, in a group as wide as the carousel in any parent, and the current marker is a 16px dot in `--ui-selected-strong`, and motion, smooth scrolling included, follows `--ui-motion` like the other components. The items keep room for their box shadows (`--_shadow-room`, `--ui-space-3`), padding that a negative margin cancels, so a card's shadow isn't clipped and the layout stays the same; on the scroll axis the room is at most `--_gap` less the peek, so the next item stays hidden. The buttons and markers are named "Previous", "Next" and "Slide" with the item number, by `previousLabel`, `nextLabel` and `markerLabel` (`{count}` for the number), which set `--_button-prev-label`, `--_button-next-label` and `--_marker-label` (`counter(ui-carousel-item)` for the number), so a translation can put the number anywhere. Its Astro, React and Svelte types require an `aria-label` or `aria-labelledby`, the carousel's name.
163
182
  - `Carousel` buttons take an image icon via `--_button-image`, sized with `--_button-image-size`. It defaults to a chevron that points right, drawn as the inverse of the button face so it follows `.ui-dark`, `.ui-light` and forced colors, mirrored for the previous button and in RTL, and rotated in vertical carousels.
164
183
  - `Carousel` takes a `persistentButtons` prop (`.ui-persistent-buttons`) that keeps both buttons visible. A disabled button keeps its fill and gets a more muted border (`--_button-disabled-border-color`).
165
184
  - `Carousel` takes `orientation="vertical"` (`.ui-vertical`) to scroll on the block axis. Set its height with `--_block-size`. Markers sit in a column beside the items.
166
185
  - `Carousel` takes `stretch` (`.ui-stretch`), which stretches each item's content, such as a card, to the item's height.
167
- - `Checkbox`, `Radio` and `Switch` take `card` (`.ui-card`), which renders the control as a card styled by `card.css`: outlined by default, tinted when hovered and when checked, with the focus ring on the card. `variant` (`outlined`, `tonal` or `elevated`) changes the surface. Cards in a horizontal `FieldGroup` share the row equally. `--_card-padding`, `--_checked-bg-color` and `--_hover-bg-color` are the knobs. With more contrast, the checked fill drops to `--ui-state-hover-alpha-accent`, like selected `List` rows, so the label and end text keep 7:1 in dark mode.
186
+ - `Checkbox`, `Radio` and `Switch` take `card` (`.ui-card`), which renders the control as a card styled by `card.css`: outlined by default, tinted when hovered and when checked, with the focus ring on the card. `variant` (`outlined`, `tonal` or `elevated`) changes the surface. Cards in a horizontal `FieldGroup` share the row equally. `--_hover-bg-color`, `--_padding` and `--_selected-bg-color` are the knobs. The checked fill is the control's accent at `--ui-state-selected-alpha-accent`, so the fill, the border and the checked input share one color (red when invalid), and more contrast lowers the alpha so the label and end text keep 7:1 in dark mode.
168
187
  - `Checkbox`, `Radio` and `Switch` take a `label` string, a shorthand for the default slot.
169
188
  - `Checkbox` and `Radio` take `size="x-small"` (`.ui-x-small`), 14px from the new `--ui-choice-size-x-small` token.
170
189
  - `Checkbox`, `Radio` and `Switch` take an `endText` string in Astro and Vue, like `TextField`.
171
- - `Checkbox`, `Radio`, `Switch` and `Range` read the optional `--ui-choice-accent` and `--ui-choice-on-accent` for their checked fill, thumb and mark. When unset, they keep `--ui-primary` with the dark mode lightness cap. m3 and shadcn set them to the plain primary. A checked invalid `Checkbox` or `Radio` draws its check, dash or dot in `--ui-on-fill`, so it keeps its contrast on the red fill when a theme sets `--ui-choice-on-accent`.
172
- - `Checkbox`, `Radio` and `Switch` read the optional `--ui-choice-border-color` for their unchecked border and track edge. When unset, they keep `--ui-field-border-color`, and the token promises 3:1 against `--ui-surface`. shadcn sets it to its primary, like shadcn/ui, so its faint field border no longer draws the choices.
190
+ - `Checkbox`, `Radio`, `Switch` and `Range` read the optional `--ui-choice-accent` and `--ui-choice-on-accent` for their checked fill, thumb and mark. When unset, they keep `--ui-primary` with the dark mode lightness cap. brutalist sets them to its primary; m3 and shadcn set `--ui-control-accent`, which they read first. A checked invalid `Checkbox` or `Radio` draws its check, dash or dot in `--ui-on-fill`, so it keeps its contrast on the red fill when a theme sets `--ui-choice-on-accent`.
191
+ - `Checkbox`, `Radio` and `Switch` read the optional `--ui-choice-border-color` and `--ui-choice-border-width` for their unchecked border and track edge. When unset, they keep `--ui-field-border-color` and `--ui-field-border-width`, and the color promises 3:1 against `--ui-surface`. shadcn sets it to its primary, like shadcn/ui, so its faint field border no longer draws the choices.
173
192
  - `CheckboxInput`, `RadioInput` and `SwitchInput` take `class` in Vue, and the Vue entry exports `DescriptionListDescriptionProps`, `DescriptionListItemProps` and `DescriptionListTermProps`.
174
193
  - `Chip` supports `aria-disabled="true"` on a link chip. A static chip takes `.ui-disabled` for an inactive look, since a `div` can't carry a disabled state.
175
194
  - `Chip` takes a `large` size (`.ui-large`, 40px) for chips next to default-size fields and buttons. Chip heights come from `--ui-chip-size-small`, `--ui-chip-size` and `--ui-chip-size-large`, which follow the control size scale.
176
195
  - `Chip` takes `size="x-small"` (`.ui-x-small`), 24px tall from the new `--ui-chip-size-x-small` token.
177
- - `Chip` takes a `severity` prop (`.ui-critical`, `.ui-info`, `.ui-neutral`, `.ui-success`, `.ui-warning`) that tints a tonal chip, and `dot` (`.ui-dot`) for a leading dot in that color. The dot is a diamond for critical, a triangle for warning and a ring for neutral, and stays visible in forced colors mode. On an outlined chip only the dot is colored. The tint, border, text and dot read the `--ui-palette-*` roles, like `Callout`.
196
+ - `Chip` takes a `severity` prop (`.ui-critical`, `.ui-info`, `.ui-neutral`, `.ui-success`, `.ui-warning`) that tints a tonal chip, and `dot` (`.ui-dot`) for a leading dot in that color. The dot is a diamond for critical, a triangle for warning and a ring for neutral, and stays visible in forced colors mode. On an outlined chip only the dot is colored. The tint, border, text, dot and the hover of a button or link chip read the `--ui-palette-*` roles, like `Callout`.
178
197
  - `Chip` takes a `disabled` prop in Astro, React, Svelte and Vue. A button chip gets `disabled`, a link chip `aria-disabled="true"`.
179
- - `Chip` styles a button chip with `aria-pressed="true"` as pressed, for filters and choices: filled with `--ui-selected`, or `--ui-primary`, under `--ui-on-selected` text like a checked `ToggleButton`, darker on hover, dimmed with `--ui-disabled-opacity` when disabled and `SelectedItem` in forced colors. `--_pressed-bg-color` sets the fill.
198
+ - `Chip` styles a button chip with `aria-pressed="true"` as pressed, for filters and choices: filled with `--ui-selected`, or `--ui-primary`, under `--ui-on-selected` text like a checked `ToggleButton`, lighter or darker on hover like a filled button, dimmed with `--ui-disabled-opacity` and without the hover when disabled or `aria-disabled="true"`, and `SelectedItem` in forced colors. `--_selected-bg-color` sets the fill.
199
+ - `ControlGroup` joins a `TextField`, `Select`, `NumberField` or `Textarea` with its buttons into one control. Every control keeps its own border and focus ring: the group overlaps their edges by one border width, squares the corners they share, puts a hovered field or outlined button, an invalid control or a focused one on top, and drops their shadows. A text field or textarea takes the free space, so a group with one fills the line like a field, a visible label sits above its control and the controls line up at the bottom. `size` sizes the fields with the buttons. `Button` and the fields draw their corners from `--_start-start-radius`, `--_start-end-radius`, `--_end-start-radius` and `--_end-end-radius`, which the group sets, and the fields take `--_radius` and `--_shadow`, like `Button`.
200
+ - `ControlGroup` and `ToggleGroup` take `overflow`: `"wrap"`, the default, wraps their items onto more rows, `"scroll"` (`.ui-overflow-scroll`) keeps them on one row and scrolls sideways, and `"shrink"` (`.ui-overflow-shrink`) keeps them on one row and truncates labels with an ellipsis. Icon-only items keep their size.
201
+ - `ControlGroup` and `ToggleGroup` `orientation` takes `"horizontal"`, the default, like `Carousel`.
202
+ - `Copy` component (`opui-copy.ui-copy`, `display: contents`) around a field or text. A button with `commandfor` set to its id and `command="--copy"` copies the value of its first `input` or `textarea`, or else its text without buttons, popovers and elements with `data-copy-ignore`, with `navigator.clipboard.writeText()`. A `<span class="ui-floating" popover aria-hidden="true">` label in the look of an outlined button, at the button's height and with its font size and corners, shows `copiedLabel` ("Copied") before the button for two seconds, opening with `--ui-ease-enter` and closing with `--ui-ease-exit`, and the `<span class="ui-sr-only" role="status">` inside announces it. The button itself doesn't change. The label closes a Tooltip on the button and keeps it closed while it shows, also in browsers without interest invokers (`css/compat/copy.css`). Without the Clipboard API, or when it refuses or doesn't answer within a second, the element copies through a selection with `document.execCommand("copy")`. Where that is blocked too, the label shows `failedLabel` ("Copy failed") until Esc, a click elsewhere or the next copy, and the element selects the text, focusing a field. Until `opui-css/elements/copy.js` loads, a copy button inside the element or right after it is hidden (`copy.css`).
180
203
  - `DescriptionList` takes `orientation="horizontal"` (`.ui-horizontal`), which keeps the term and the description side by side at any width. The default, `auto`, stacks them when the list is `45ch` or narrower.
181
- - `Dialog` and `Drawer` share their parts: a header row whose title (`DialogTitle`, `DrawerTitle`) takes the free space and names the overlay, a paragraph in the header gets a row of its own, the content draws its focus ring inside when it is focusable, and the footer (`DialogFooter`, `DrawerFooter`) is a row for buttons, text or anything else, with `align`. `.ui-actions` groups the buttons in a footer and moves them to the end when other content comes first.
182
- - `Dialog` and `Drawer` show a subtle scroll shadow under the header and above the footer while the content scrolls (scroll-state container queries).
204
+ - `DescriptionListItem` takes `total` (`.ui-total`), which draws a line above the item and makes it larger, bold and strong, for the total of an order summary or an invoice.
205
+ - `Dialog` and `Drawer` share their parts: a header row whose title (`DialogTitle`, `DrawerTitle`) takes the free space and names the overlay, a paragraph in the header gets a row of its own under the title and the buttons next to it, the content draws its focus ring inside when it is focusable, and the footer (`DialogFooter`, `DrawerFooter`) is a row for buttons, text or anything else, with `align`. `.ui-actions` groups the buttons in a footer and moves them to the end when other content comes first.
206
+ - `Dialog` and `Drawer` show a subtle scroll shadow under the header and above the footer while the content scrolls (scroll-state container queries). A `Drawer` clips its own overflow, so only its content scrolls, also without a footer.
183
207
  - `Dialog` types `closedby` in every framework.
208
+ - `DialogHeader` takes `closeLabel`, which adds a close button at the end of the title row with that accessible name, like `DrawerHeader`. It closes its `Dialog` with `command="close"`, through the dialog's `id` or `commandfor`, and takes a `close-icon` slot (`closeIcon` in React and Svelte).
184
209
  - `Divider` reads a `--ui-divider-gap` theme token for the space around it. Cards, callouts, dialogs and drawers set it to `--ui-space-3`.
185
- - `Divider` takes content in the middle of the line, text or any element, through the default slot (a `<div>` instead of the `<hr>`), or in HTML as a `<div class="ui-divider">` or `<p class="ui-divider">`. `align` (`.ui-align-start`, `.ui-align-end`) moves it to one side, and the lines follow the variant.
210
+ - `Divider` takes content in the middle of the line, text or any element, through the default slot (a `<div>` instead of the `<hr>`), or in HTML as a `<div class="ui-divider">` or `<p class="ui-divider">`. `align` (`.ui-align-start`, `.ui-align-end`) moves it to one side, and the lines follow the variant. In a `Form`, a button row after a labeled divider drops its top margin, like after an `hr`.
186
211
  - `DrawerHeader` takes a `commandfor` prop (the drawer `id`). Inside a `Drawer` it defaults to the drawer's `id`, and the close button uses `command="close"` (Invoker Commands). Outside a `Drawer` without `commandfor`, it closes the nearest `<dialog>` with a script.
187
- - `Layout` classes for the space between components: `.ui-layout-column` (a column), `.ui-layout-row` (a row that wraps, with `.ui-spread` to push its children to the two ends), `.ui-layout-grid` (columns that fill the width without breakpoints), `.ui-layout-media` (a fixed-size start, such as an avatar, next to text that fills the rest and truncates) and `.ui-layout-container` (a centered, capped width). On a `ul` or `ol`, the row and the grid drop the bullets and list margins, and a `.ui-card` alone in an `li` of a grid fills its cell. Gaps come from the `--ui-space-*` scale, with `.ui-x-small`, `.ui-small` and `.ui-large`. CSS only, in `css/components/layout.css`, in the `utils` layer.
212
+ - `DrawerHeader` takes a `close-icon` slot (`closeIcon` in React and Svelte) that replaces the close button's icon.
213
+ - `Layout` classes for the space between components: `.ui-layout-column` (a column, with `.ui-align-center` and `.ui-align-end` to line its children and their text up), `.ui-layout-row` (a row that wraps, with `.ui-align-center` and `.ui-align-end` to push its children along it and `.ui-spread` to push them to the two ends), `.ui-layout-grid` (columns that fill the width without breakpoints, with `.ui-stretch` to stretch them over the row when fewer children than fit, and `--_max-columns` to cap the count), `.ui-layout-columns` (one column that becomes the `--_columns` tracks, such as `3fr 2fr` or `15rem 1fr`, once the nearest container is `56rem` wide, or `40rem` with `.ui-breakpoint-small` and `72rem` with `.ui-breakpoint-large`, where a `.ui-sticky` child stays in view at `--_sticky-inset` while the other column scrolls), `.ui-layout-media` (a fixed-size start, such as an avatar, next to text that fills the rest and truncates) and `.ui-layout-container` (a centered, capped width, and the container `.ui-layout-columns` measures). On a `ul` or `ol`, the row and the grid drop the bullets and list margins, and a `.ui-card` alone in an `li` of a grid fills its cell. Gaps come from the `--ui-space-*` scale, with `.ui-x-small`, `.ui-small` and `.ui-large`, and `.ui-divided` draws a line in each gap of a column, row, grid or columns with `column-rule` and `row-rule`, only between two children, so a wrapped row or the short last row of a grid gets no stray line (`--_divider-border-color`, `--ui-border-color` by default). Browsers without gap decorations leave the gap without the line. CSS only, in `css/components/layout.css`, in the `utils` layer.
188
214
  - `List` takes `--_selected-indicator-bg-color`, `--_selected-indicator-size`, `--_start-image-size` and `--_start-video-size`, `Tooltip` takes `--_max-inline-size`, and `Carousel` takes `--_marker-selected-padding` and `--_marker-border-color`.
189
215
  - `ListItem` takes a `submenu` slot, rendered inside the `<li>` after the element set by `as`, for a nested `Menu`.
190
216
  - `ListItem` takes `color="critical"` (`li.ui-critical`) for a destructive item in a `Menu`.
191
- - `Menu` component (`menu.ui-menu[popover]`), styled by `list.css` like a `List`. It requires an `id` for its trigger's `commandfor`, opens over `--ui-duration-slow` with `--ui-ease-enter` and closes with `--ui-ease-exit`. Opens with Invoker Commands, anchors to its trigger with no `anchor-name`, shrinks to the space on its side and flips when that side has less than `12rem`, and moves below or above its trigger when neither side fits. Browsers without `calc-size()` (Firefox and Safari) cap it at `60dvb`, flip it when it doesn't fit, and move it below or above its trigger, where it scrolls, when no side has room. Its placements use `self-` `position-area` keywords, so in a right-to-left part of a left-to-right page it opens from its trigger's right edge (not yet in Firefox, which places it toward the wrong side). Supports an `items` prop (items take native `a` and `button` attributes in every framework), `bordered` (`.ui-bordered`, a divider between items), custom `ListItem` content, placements, end alignment (`align="end"`, `.ui-align-end`), `--ui-anchor-position-area` and critical items. Items are built like `List` items, with the text in `.ui-text` and shortcuts in `.ui-end`. Items take a `label`, close the whole menu on click, also from a submenu, unless they set `keepOpen`. Group headings (`li.ui-heading`) are HTML and CSS only. Submenus go in the `submenu` slot of a `ListItem`. On iOS, submenus anchor to their parent menu instead of their trigger item, at every depth (`css/compat/menu.css`). When space is tight, the menu keeps at most 40% of the viewport height. Its border and dividers are `--ui-border-color-on-raised`, like other elevated surfaces.
217
+ - `Menu` component (`menu.ui-menu[popover]`), styled by `list.css` like a `List`. It requires an `id` for its trigger's `commandfor`, opens over `--ui-duration-slow` with `--ui-ease-enter` and closes with `--ui-ease-exit`. Opens with Invoker Commands, anchors to its trigger with no `anchor-name`, shrinks to the space on its side and flips when that side has less than `12rem`, and moves below or above its trigger when neither side fits. Browsers without `calc-size()` (Firefox and Safari) cap it at `60dvb`, flip it when it doesn't fit, and move it below or above its trigger, where it scrolls, when no side has room. Its placements use `self-` `position-area` keywords, so in a right-to-left part of a left-to-right page it opens from its trigger's right edge (not yet in Firefox, which places it toward the wrong side). Supports an `items` prop (items take native `a` and `button` attributes in every framework), `bordered` (`.ui-bordered`, a divider between items), custom `ListItem` content, placements, end alignment (`align="end"`, `.ui-align-end`), `--ui-anchor-position-area` and critical items. Items are built like `List` items, with the text in `.ui-text` and shortcuts in `.ui-end`, change color at once on hover and fade back over `--ui-duration-fast`, and a disabled link item keeps the link role (`role="link"` and `aria-disabled="true"` without `href`). Critical items read `--ui-palette-text`, and `--ui-palette-accent` on hover, the roles of the critical scope. Items take a `label`, close the whole menu on click, also from a submenu, unless they set `keepOpen`. Group headings (`li.ui-heading`) are HTML and CSS only. Submenus go in the `submenu` slot of a `ListItem`, and in right-to-left text a submenu item mirrors only the chevron `svg` in `.ui-end`, not a shortcut next to it. On iOS, submenus anchor to their parent menu instead of their trigger item, at every depth (`css/compat/menu.css`). When space is tight, the menu keeps at most 40% of the viewport height. Its border and dividers are `--ui-border-color-on-raised`, like other elevated surfaces.
218
+ - `Message` component (`li.ui-message` in `ol.ui-messages`) in Astro, React, Svelte and Vue: chat bubbles that group consecutive messages on the same side into a run with `:has()`, with tighter corners inside the run, the author on its first message and the avatar on its last. `Message` takes `author`, `time` with `datetime`, `outgoing` (`.ui-outgoing`), `newAuthor` (`.ui-new-author`) and `typing` (`.ui-typing`, animated dots over status text), and `start`, `end` and `bottom` slots for the avatar, a read receipt and the reactions, a `ToggleGroup` drawn as separate pills over the bottom edge of the bubble, a checked one filled with `--ui-selected`, or a primary tint, inside a `--ui-selected-strong` border. `Messages` is the list, with `role="list"` so Safari keeps announcing it as one.
219
+ - `NumberField` component (`opui-number-field.ui-number-field`): a number field with decrease and increase buttons, styled by `text-field.css`, `button.css` and `number-field.css`, so it covers the browser's autofill color and gets a dashed border when invalid in forced colors, like `TextField`. The `<opui-number-field>` custom element steps the value with `stepUp()` and `stepDown()` when a button with `command="--step-down"` or `command="--step-up"` is pressed or held, fires `input` and `change`, marks a button `aria-disabled="true"` at `min` or `max`, and follows a form reset. Until it loads, the buttons are hidden and the input keeps the browser's spin buttons. The field fits its value (from `--_min-inline-size`, `4ch`) unless `stretch` (`.ui-stretch`) fills the width. Takes `label`, `hideLabel`, `startText`, `endText`, `error`, `size`, `spread`, `stretch`, `variant`, `decreaseLabel` and `increaseLabel`, and the `decrease-icon` and `increase-icon` slots (`decreaseIcon` and `increaseIcon` in React and Svelte) for the button icons, binds `value` like `TextField`, links the start and end text with `aria-describedby` (`x-start-text` and `x-end-text` for `id="x"`), points the step buttons at the input with `aria-controls`, and loads the element itself in every framework.
220
+ - `OneTimeCode` component (`label.ui-text-field.ui-one-time-code`) in Astro, React, Svelte and Vue: one `<input autocomplete="one-time-code">` drawn as a box per character with the theme's field radius and border width (`--ui-field-radius`, else `--ui-radius`, and `--ui-field-border-width`), every box outlined thicker in the accent color while the field has focus, also once the code is complete, and a ring on the next empty one (not on iOS, where the input keeps a fixed width and a complete required code hides the caret, `css/compat/one-time-code.css`), so paste, SMS autofill and password managers work without JavaScript. It takes `length` (4 to 8, `maxlength`), `grouped` (`.ui-grouped`, a dash between the halves), `alphanumeric`, `label`, `endText`, `error`, the sizes and `value` as the model, which follows a form reset, and reads the TextField properties.
192
221
  - `Progress` has a `--_loop-duration` property for the length of its indeterminate loop.
222
+ - `Progress` takes `round` (`.ui-round`), which draws the progress as a ring, `--ui-icon-size-large` wide, filled to `value` over `max` with typed `attr()`, and spins a quarter arc while indeterminate. `--_ring-size` and `--_ring-border-width` resize it. Browsers without typed `attr()` show the bar.
193
223
  - `Radio` takes a `spread` prop (`.ui-spread`), like `Checkbox` and `Switch`.
194
224
  - `Range` takes an `error` prop (`aria-invalid="true"` on the input) for the invalid state, like the other fields.
195
225
  - `Range` takes a `size` prop (`.ui-x-small`, `.ui-small`, `.ui-large`), like the other form controls. The thumb and the track scale with it.
196
226
  - `Range` has a `--_track-base-bg-color` property for the empty track at rest. The pressed and disabled states override it.
227
+ - `Range` names its value for screen readers with the label of the tick at it, since the datalist is hidden from them: with labeled `items`, or labeled options in the `datalist` slot, and no `valueSuffix`, the input's `aria-valuetext` is the label ("Medium" rather than 1), and `opui-css/css/js/range.js` keeps it in sync and removes it between labeled ticks.
228
+ - `Rating` component (`meter.ui-rating` for a score, `fieldset.ui-rating` for input) in Astro, React, Svelte and Vue: stars drawn with one mask. The meter fills the exact fraction and is `max` stars wide, read with typed `attr()` or `--_max`. With `name` it renders a `<fieldset>` of radios, one per star plus a clear radio, that preview on hover and show a `3/5` counter, and takes `clearLabel`, `starLabel`, `disabled`, `error`, `required`, the sizes (`.ui-small`, `.ui-large`) and `value` as the model. The empty stars read `--ui-track-bg-color` when a theme sets it. The stars and the clear icon are masks, `--_star-image` and `--_clear-image`.
197
229
  - `Select` items take `selected`, and `value` preselects options in Astro, Svelte and Vue, and `defaultValue` or `value` in React (an array with `multiple`). Options render `selected` on the server.
198
230
  - `Select` and `Range` export `SelectItem` and `RangeItem` from every framework barrel.
199
231
  - `Select` takes `autoFit` (`.ui-auto-fit`), like `TextField`: the field's width follows the selected option, from `25ch`.
200
232
  - `Select` styles `<optgroup>` groups like `<div role="group">` ones. A `<legend>` first in the group is the heading, and the `label` attribute names the group and shows in browsers without customizable select.
233
+ - `Select` options take the parts of a list item: an avatar, an icon or a `.ui-swatch` in `.ui-start`, and the label in `.ui-text`, with a second `span` as a description. The field shows the start part and the label of the selected option.
234
+ - `SelectAll` component (`opui-select-all.ui-select-all`, `display: contents`), documented on the Checkbox page. Around a group such as a `Fieldset` or a `Table`, the `<opui-select-all>` element makes the checkbox marked `data-select-all` check and uncheck the other enabled checkboxes inside, with `click()` so their own change handlers and bindings follow, and keeps it checked when they all are and `indeterminate` when some are, also after a form reset. The Astro component loads the element, and React, Svelte and Vue load it on the client.
235
+ - `SortableTable` component (`opui-sortable-table.ui-sortable-table`, `display: contents`), documented on the Table page, and `sortable` on `TableHeaderCell` (`th[data-sort]`), which puts the label in a `<button>`. A press sorts the body rows by that column with `Intl.Collator` and `numeric: true`, from a cell's `data-sort-value` or its text, ascending first, sets `aria-sort` on the header and announces the column and the direction ("Moons, sorted ascending"), which `ascendingLabel` and `descendingLabel` (`ascending-label` and `descending-label`) translate, with `{column}` where the header's label goes. It fires a cancelable `sort` event first (`onSort` in React, `onsort` in Svelte, `@sort` in Vue), so a framework can sort its own data. `sortable-table.css` draws the sort arrow. The component renders the live region it announces in, so React leaves its text alone, and the React component ignores header clicks until it has hydrated, so a sort before hydration no longer moves the rows React is about to hydrate or happens without `onSort`. In HTML without the live region the element adds one.
236
+ - `Stat` component (`dl.ui-stat`) in Astro, React, Svelte and Vue: a `dt.ui-label`, a `dd.ui-value` in bold tabular numbers and an optional `dd.ui-description`, for a key number on a dashboard. `label` and `description` take a string, with slots of the same name for rich content, and `size` (`.ui-small`, `.ui-large`) sizes the value through `--_value-font-size`.
237
+ - `Stepper` component (`ol.ui-stepper`) in Astro, React, Svelte and Vue: the steps of a flow such as a checkout, with numbered markers and a line between them. `aria-current="step"` marks the current step, and the steps before it show as complete. `StepperItem` takes `complete` (`.ui-complete`, a check in the marker), `error` (`.ui-error`, an exclamation mark and the invalid color), `href` (a link on a complete step or one with an error), `description` (`.ui-description`) and an `icon-checked` slot (`.ui-icon-checked`), and screen readers hear `completedLabel` (", completed") or `errorLabel` (", error") after the label. The list takes `items`, `current` (an index), `complete`, `orientation` (`auto` stacks the steps below `32rem`, `.ui-horizontal` and `.ui-vertical`) and `size="small"` (`.ui-small`).
201
238
  - `Switch` takes `size="x-small"` and `size="large"` (`.ui-x-small`, `.ui-large`), from the new `--ui-switch-thumb-size-*`, `--ui-switch-track-block-size-*` and `--ui-switch-track-inline-size-*` x-small and large tokens. The dot inset follows the track and dot size, so custom `--ui-switch-*` values stay centered.
202
239
  - `Switch`, `Progress` and `Range` read the optional `--ui-track-bg-color` for the empty part of their track. When unset, they keep their current colors. shadcn sets it to its field border.
203
240
  - `Table` takes `stickyHeader` (`.ui-sticky-header`), which keeps the header rows at the top of the nearest scroll container and shows a shadow once they are stuck (scroll-state container queries). Offset it with `--_sticky-offset`.
@@ -205,53 +242,64 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
205
242
  - `Table` exports a props type for every part from `opui-css/astro`, `opui-css/react`, `opui-css/svelte` and `opui-css/vue`: `TableBodyProps`, `TableCaptionProps`, `TableCellProps`, `TableColumnGroupProps`, `TableFootProps`, `TableHeadProps`, `TableHeaderCellProps` and `TableRowProps`.
206
243
  - `Table` takes `flush` (`.ui-flush`), which drops its block margin for a table in a card or another padded box, and `overflow="scroll"` (`.ui-overflow-scroll`), which keeps each cell on one line and scrolls the table sideways when the columns don't fit. The last column takes the space left over. A scrolling table needs `tabindex="0"`.
207
244
  - `TableCell` and `TableHeaderCell` take `numeric` (`.ui-numeric`): the cell aligns to the end and uses tabular figures, so the digits of a number column line up.
208
- - `Tabs` take a `variant` prop. `filled` (`.ui-filled`) fills the selected tab with `--ui-selected-strong`, the primary color unless a theme sets it, `line` (`.ui-line`) drops the track and marks the selected tab with a line, and `outlined` (`.ui-outlined`) uses a bordered track without a background.
209
- - `Tabs` take `overflow="scroll"` (`.ui-overflow-scroll`). The tabs stay on one row and scroll sideways when they don't fit, and the open panel stays in view. Takes any number of tabs.
245
+ - `Tabs` take a `variant` prop. `filled` (`.ui-filled`) fills the selected tab with `--ui-selected-strong`, the primary color unless a theme sets it, with its focus ring in `--ui-on-selected-strong` so the ring keeps 3:1 on the fill, `line` (`.ui-line`) drops the track and marks the selected tab with a line, and `outlined` (`.ui-outlined`) uses a bordered track without a background.
246
+ - `Tabs` take `overflow`: `"scroll"`, the default, or `"wrap"` (`.ui-overflow-wrap`), which wraps tabs that don't fit onto more rows instead of scrolling them.
210
247
  - `Tabs` take a bindable `value`: `bind:value` in Svelte, `v-model` in Vue, `value`, `defaultValue` and `onValueChange` in React, and in Astro the `value` of the tab to select on the server. A `TabsItem` with a `value` takes its checked state from it once the tabs have one, so a tab that loses its check to another one no longer drifts from the state. The item's own `checked` or `defaultChecked` is then ignored, and a dev warning says so.
248
+ - `Tabs` reads `--_panel-gap` (`--ui-space-2`) for the space between the tab list and the panel.
249
+ - `Tabs` take `orientation="vertical"` (`.ui-vertical`): the tabs stack in a column at the inline start and the panel sits beside them, `--_panel-gap` away, in every variant, in right-to-left and in forced colors. Long labels wrap in a column up to half the width, the selected pill or line slides up and down, and `overflow` has no effect.
211
250
  - `TextField`, `Textarea`, `Select` and `Range` take `hideLabel`, which renders the label as `.ui-sr-only` instead of `.ui-label`, so the field keeps its accessible name without a visible label.
212
251
  - `TextField`, `Textarea` and `Select` take `x-small` (`.ui-x-small`, 28px) and `large` (`.ui-large`, 48px) sizes, so every field size has a matching `Button` size. x-small fields set their text in `--ui-font-size-caption`, like x-small buttons, and keep `--ui-font-size-control` on touch screens. Their block padding follows `--ui-space-scale`, like the other sizes.
213
- - `ToggleButton` and `ToggleGroup` take a `large` size (`.ui-large`), and `ButtonGroup` takes `x-small` (`.ui-x-small`).
252
+ - `TextField` takes `passwordToggle`: on a `type="password"` field, a button at the end shows and hides the password, with `aria-pressed` and the name `passwordToggleLabel` ("Show password" by default). The root becomes the `<opui-text-field>` custom element (`opui-css/elements/text-field.js`) with a `<label for>`, since a button inside a `<label>` joins the input's accessible name, and the start and end text describe the input. The password hides again when the form is submitted or reset, and the button is hidden until the element is defined. The `icon-unchecked` and `icon-checked` slots (`iconUnchecked` and `iconChecked` in React and Svelte) replace its eye icons, wrapped in `.ui-icon-unchecked` and `.ui-icon-checked`, and a `Button` treats either wrapper like a direct `svg`. A `.ui-button` in a field's `.ui-start` or `.ui-end` now fits the field's height, and is at least `--ui-space-5` (24px), the minimum target size, in small and x-small fields.
253
+ - `TextField` and `Textarea` take `characterCount`: with `maxlength`, the `<opui-character-count>` custom element (`opui-css/elements/character-count.js`) at the end of the end text shows the characters typed out of the limit. It is `aria-hidden`, so it stays out of the field's name, and once 10% or 10 characters are left, whichever is more, a polite live region outside the label announces how many. `characterCountLabel` sets the words, with `{count}` for the number ("Characters left: {count}" by default).
254
+ - `TextField` takes `dropZone` (`.ui-drop-zone`), which makes a `type="file"` field a tall area with a dashed border that takes files dropped anywhere on it.
255
+ - `Timeline` component (`ol.ui-timeline`) in Astro, React, Svelte and Vue: dated events with markers and a connecting line, where the dates line up in their own column through subgrid and move above the titles under `24rem`. Items take `color`, `current` (`aria-current`, a `--ui-selected-strong` marker with a halo, like the current `Stepper` step), `label` with `headingLevel`, `time` with `datetime` and a `marker` slot for an icon (`.ui-marker`), and the list takes `items`, `tracked` (`.ui-tracked`, the line in `--ui-selected-strong` up to the current item) and `size="small"` (`.ui-small`).
256
+ - `Toaster` component (`opui-toaster.ui-toaster`): toasts that confirm an action and dismiss themselves. A button with `commandfor` set to its id and `command="--toast"` shows the text in its `data-toast` attribute, colored by `data-toast-severity` like a `Callout`, with its severity icon. The severity and close icons are masks on an empty `svg`, `--_critical-image`, `--_info-image`, `--_success-image`, `--_warning-image` and `--_close-image`, so they can be swapped in CSS. `toast(message, { action, duration, severity })` and its shorthands `toast.success(message)`, `toast.info`, `toast.warning`, `toast.critical` and `toast.neutral` do the same from a script, in the first toaster on the page or the one named by `toaster`. `action` (`{ label, onClick }`) adds a button before the close button that runs `onClick` and dismisses the toast unless `onClick` calls `preventDefault()`, and the toast stays twice as long; `opui-css/react`, `opui-css/svelte` and `opui-css/vue` export `toast` next to `Toaster`, and `opui-css/elements/toaster.js` exports it for HTML and Astro. `dismiss(toast)` on the element returns a promise that resolves once the toast is gone. Toasts stack in an `<ol popover="manual">` at the end corner of the viewport, or where `side` (`block-start`, `.ui-block-start`) and `align` (`start`, `center`, `.ui-align-start`, `.ui-align-center`) put them, stay for `duration` milliseconds (5000) while the pointer and focus are elsewhere, close with their button (`closeLabel`) or Esc, slide in and fade out before the stack closes the gap, and are announced through a polite live region outside the popover, a critical one through an assertive `role="alert"` region next to it so it interrupts other speech. Styled by `toaster.css`, `callout.css` and `button.css`.
257
+ - `ToggleButton` and `ToggleGroup` take a `large` size (`.ui-large`), and `ControlGroup` takes `x-small` (`.ui-x-small`).
214
258
  - `ToggleButton`, `ToggleGroup`, outlined `Chip` and the outlined `Tabs` track read `--ui-control-border-color` for their border, like outlined buttons, so one token outlines every unfilled control. They keep their current border when a theme doesn't set it.
215
259
  - `ToggleButton` when checked, `Chip` without `.ui-outlined` and the `Carousel` buttons read `--ui-control-border-color-filled` for their border, like filled buttons.
216
- - `ToggleButton` when checked, the selected `ToggleGroup` item, and selected or current `List` items and `Select` options read the optional `--ui-selected` and `--ui-on-selected`. When unset, toggles are filled with `--ui-primary` and List items and Select options get a primary tint. m3 and shadcn set them to their tonal surface.
260
+ - `ToggleButton` when checked, the selected `ToggleGroup` item, and selected or current `List` items and `Select` options read the optional `--ui-selected` and `--ui-on-selected`. When unset, toggles are filled with `--ui-primary` and List items and Select options get a primary tint. m3 and shadcn set them to their tonal surface. Descriptions on a selected or current row read `--ui-on-selected` too.
217
261
  - `ToggleButton` in Vue binds a standalone button's checked state with `v-model`, like `bind:checked` in Svelte and `checked` with `onChange` in React. In a `ToggleGroup` the group's `v-model` still wins.
218
- - `ToggleGroup` takes a bindable `value`: `bind:value` in Svelte, `v-model` in Vue, and `value`, `defaultValue` and `onValueChange` in React. It is a string, and an array of strings with `multiple`, in the types of every framework, and a `ToggleButton` in the group takes its checked state from it once the group has one. The button's own `checked` or `defaultChecked` is then ignored, and a dev warning says so.
262
+ - `ToggleGroup` takes a bindable `value`: `bind:value` in Svelte, `v-model` in Vue, `value`, `defaultValue` and `onValueChange` in React, and in Astro the `value` of the buttons to check on the server. It is a string, and an array of strings with `multiple`, in the types of every framework, and a `ToggleButton` in the group takes its checked state from it once the group has one. The button's own `checked` or `defaultChecked` is then ignored, and a dev warning says so.
219
263
  - `Typography` reads a `--ui-rhythm-step` theme token (`0.25rem`). Heading font sizes snap to half a step and heading line heights to a full step with `round()`.
220
264
  - `Typography` rich text styles `hr`, tables (which scroll sideways in a narrow column), `pre > samp` and preformatted text without `code`.
221
265
  - `Typography` rich text task lists (an `li` that starts with a checkbox, or with a classless `label` around one) show the checkbox in place of the bullet.
222
266
  - `Typography` `.ui-icon` sizes an `svg` to `--ui-icon-size` and keeps it from shrinking in a flex row, with `.ui-small` and `.ui-large` for `--ui-icon-size-small` and `--ui-icon-size-large`.
223
267
  - `Typography` `.ui-swatch` is a small dot for a color legend. It takes a severity class (`.ui-info`) for its tone, or any color in `--_swatch-bg-color`, and defaults to the palette accent of the scope it sits in.
224
- - `checkbox.js` exports `syncIndeterminate(input)`, which sets a checkbox's `indeterminate` property from its `data-indeterminate` attribute. The module ships type declarations.
225
- - `compat.css` and the `components.compat` layer, after `components.extended`, hold the browser fallbacks that take more than the browser default, one file per component in `css/compat/`. Each one sits in `@supports`, so it only applies where a browser needs it. `imports.css`, `dist/opui.css` and `dist/opui.components.css` include them. `dist/opui.no-compat.css` leaves them out, and `dist/opui.baseline-<year>.css`, one per Baseline year from 2023, keeps only the ones for features that became Baseline after that year, plus the browser bug fixes, such as the iOS `Menu` submenu anchor.
268
+ - `Typography` `.ui-tabular-nums` gives every digit the same width, so prices and stats line up.
269
+ - `Typography` severity classes (`.ui-success`, `.ui-critical` and the rest) on `.ui-p`, `.ui-caption` and `.ui-overline` color the text in that tone, through `--ui-palette-text`.
270
+ - `checkbox.js` sets itself up on import and keeps each checkbox's `indeterminate` property in step with its `data-indeterminate` attribute, also when the attribute changes or a checkbox is added later, and exports `syncIndeterminate(input)`, which sets one checkbox's property from its attribute. The module ships type declarations.
271
+ - `compat.css` and the `components.compat` layer, after `components.extended`, hold the browser fallbacks that take more than the browser default, one file per component in `css/compat/`. Each one sits in `@supports`, so it only applies where a browser needs it. `imports.css`, `dist/opui.css` and `dist/opui.components.css` include them. `dist/opui.no-compat.css` leaves them out, and `dist/opui.baseline-<year>.css`, one per Baseline year from 2023, keeps only the ones for features that became Baseline after that year, plus the browser bug fixes, such as the iOS `Menu` submenu anchor. In browsers without `overflow-inline` and `overflow-block` (Chrome before 135, Safari before 26), `Carousel`, `ControlGroup`, `Dialog`, `Drawer`, `Menu`, `Table`, `Tabs`, `ToggleGroup` and rich text scroll through `overflow-x` and `overflow-y` instead, from their files in `css/compat/`.
272
+ - `elements/` holds the custom elements, one module per element in `opui-css/elements/*`, such as `opui-css/elements/number-field.js`. Each one defines its element once, renders in the light DOM so the component CSS styles it, and does nothing on the server. The Astro components load theirs, React, Svelte and Vue load theirs on the client, and HTML pages import them.
273
+ - `figma/` holds the default theme resolved for Figma, and the theme tokens page has the example themes too. `figma/themes/default/<mode>.tokens.json` is a DTCG file per mode (`light`, `dark`, `light-more-contrast`, `dark-more-contrast`) for Figma's Import mode: sRGB colors with a hex fallback and the oklch value, lengths in pixels, an alias where a token is another token in that mode, the CSS name as code syntax, scopes and hidden palette steps. `figma/themes/default.figma.json` adds the shadows as effect styles, with each layer bound to variables, and the type roles as text styles. `figma/sync.js` syncs a `.figma.json` into the open file through the Plugin API, with Display P3 colors in a P3 file and a collection per mode on plans with one mode, for the opui Figma plugin and for agents with the Figma MCP server's `use_figma` tool.
226
274
  - `layers.css` holds the `@layer` order, for importing single component files.
227
275
  - `layers.css` declares the `theme.palette`, `theme.base`, `theme.custom` and `theme.severity` sublayers. `theme.custom` is empty, for your own tokens: it beats the defaults in `theme.base` and loses to every component and utility. `theme.severity` holds the palette source of `.ui-critical`, `.ui-info`, `.ui-neutral`, `.ui-success` and `.ui-warning`, so a theme that sets `--ui-palette-source` on `.ui-palette` or `.ui-contrast-more` (bootstrap, brutalist and m3 do) no longer gives a severity class on the same element the theme's colors.
228
276
  - `opui-css` has a command: `npx opui-css skill` copies the agent skill into `.claude/skills/opui`, or into `<path>/opui` with `--dir <path>` for another agent's skills folder. It prints where it wrote and the package version, and refuses to replace an existing copy without `--force`.
229
277
  - `opui-css/astro`, `opui-css/react`, `opui-css/svelte` and `opui-css/vue` export the component `Props` types (`ButtonProps`, `TabsLabelProps`, …), `MenuItem` and `SelectItem`.
230
- - `opui-css/react` exports React 19 components for every Astro and Vue component. Containers take parts, such as `CardHeader` and `DialogFooter`. Other slots are props (`children`, and camelCased names such as `endText`), form controls (`ToggleButton` and `TabsItem` too) take the native `value`/`defaultValue`, `checked`/`defaultChecked` and `onChange` props, and components that need context, state or effects are marked `"use client"` so the rest also render as React Server Components. `react` and `react-dom` `^19` are optional peer dependencies.
231
- - `opui-css/svelte` exports Svelte 5 components for every Astro and Vue component. Containers take parts, such as `CardHeader` and `DialogFooter`. Other slots are snippets (`children`, and camelCased names such as `endText`), `TextField`, `Textarea`, `Select`, `Range` and `ToggleGroup` support `bind:value`, `Checkbox` and `Switch` support `bind:checked` and `bind:group`, `ToggleButton` supports `bind:checked`, and `Radio` supports `bind:group`. `svelte` `^5.57` is an optional peer dependency.
232
- - `package.json` has a `svelte` field and a `svelte` export condition on `opui-css/svelte` (`./svelte/index.ts`), which `@sveltejs/vite-plugin-svelte` reads to compile the package for SSR in SvelteKit and Vite instead of externalizing it.
233
- - `range.js` (`opui-css/css/js/range.js`) exports `initRange()`, which keeps a `.ui-range` `<output class="ui-value" data-live>` in sync with its slider, after a form reset and across `astro:after-swap`. `Range.astro` calls it; HTML pages can import it instead of wiring the output themselves.
278
+ - `opui-css/react` exports React 19 components for every Astro and Vue component. Containers take parts, such as `CardHeader` and `DialogFooter`. Other slots are props (`children`, and camelCased names such as `endText`), form controls (`ToggleButton` and `TabsItem` too) take the native `value`/`defaultValue`, `checked`/`defaultChecked` and `onChange` props, and components that need context, state or effects are marked `"use client"` so the rest also render as React Server Components. It ships compiled ES modules with `.d.ts` types, source maps and declaration maps, so Next.js and server rendering in Vite need no `transpilePackages` or `ssr.noExternal`, and `skipLibCheck` skips its types. `opui-css/components/<Name>/<Part>.react` imports one component or part from the same compiled files, so it shares context with the entry point. `react` and `react-dom` `^19` are optional peer dependencies.
279
+ - `opui-css/svelte` exports Svelte 5 components for every Astro and Vue component. Containers take parts, such as `CardHeader` and `DialogFooter`. Other slots are snippets (`children`, and camelCased names such as `endText`), `TextField`, `Textarea`, `Select`, `Range` and `ToggleGroup` support `bind:value`, `Checkbox` and `Switch` support `bind:checked` and `bind:group`, `ToggleButton` supports `bind:checked`, and `Radio` supports `bind:group`. Form controls go back to the value and checked state they started with when their form is reset, and a bound value follows. A `defaultValue` or `defaultChecked` you pass is that starting state, rendered on the server, and a `Radio` keeps a choice made before the page hydrated. It ships the `.svelte` files with `.d.ts` types and declaration maps and its `.ts` modules compiled to JavaScript, so `skipLibCheck` skips its types. `opui-css/components/<Name>/<Part>.svelte` imports one component or part from the same files, so it shares context with the entry point. `svelte` `^5.57` is an optional peer dependency.
280
+ - `package.json` has a `svelte` field and a `svelte` export condition on `opui-css/svelte` (`./dist/svelte/index.js`), which `@sveltejs/vite-plugin-svelte` reads to compile the package for SSR in SvelteKit and Vite instead of externalizing it.
281
+ - `range.js` (`opui-css/css/js/range.js`) keeps every `.ui-range` `<output class="ui-value" data-live>` and the slider's `aria-valuetext` in sync with its slider once it's imported, after a form reset and in markup added after it loads, with one `input` and one `reset` listener and a `MutationObserver` on the document. `Range.astro` imports it; HTML pages can import it instead of wiring the output themselves. `initRange()` syncs the readouts again.
234
282
  - `skills` references list each component's `--_` custom properties: the inputs to set, with their descriptions, and the outputs that states derive, like the Component properties tables on the docs pages.
235
283
  - `skills/opui` is an agent skill shipped with the package. It has one reference per component page that covers every framework, generated from the API data: the parts and their selectors, the props with the class or attribute they render, their values and defaults, the slots, model and notes, the component properties and the theme tokens the stylesheets read, then a section per framework with its import line, slot syntax, hydration notes and the page's first example, and links to the full docs page per framework. Getting started has a section per framework, theming and customizing are written once, and an index maps every exported component and part to its reference.
236
- - `theme.css` adds `--ui-icon-size-x-small` (`0.75rem`) and `--ui-radius-large` (`--ui-radius` times 1.5) to complete their families, and `--ui-shadow-color` under Elevation, the color and base opacity of every default shadow, a `light-dark()` pair of OKLCH colors.
284
+ - `theme.css` adds `--ui-icon-size-x-small` (`0.75rem`) and `--ui-radius-large` (`--ui-radius` times 1.5) to complete their families, and `--ui-shadow-color` under Elevation, the color and base opacity of every default shadow, a `light-dark()` pair of OKLCH colors that is darker in dark mode (`.ui-dark`, also on a part of the page, and the OS preference), so shadows show on dark surfaces.
237
285
  - `theme.css` adds `--ui-choice-label-offset` to nudge `Checkbox`, `Radio` and `Switch` labels against their control for fonts with unusual metrics, and `--ui-invalid-text` for validation messages, darker in light mode and lighter in dark mode so it keeps its contrast on dark and tinted surfaces. The validation messages and invalid labels of `Checkbox`, `Radio`, `Switch`, `Range`, `TextField`, `Textarea` and `Select` read it.
238
- - `theme.css` adds motion tokens: `--ui-duration-fast`, `--ui-duration`, `--ui-duration-slow`, `--ui-ease`, `--ui-ease-enter` and `--ui-ease-exit`. Every component transition and animation reads them, multiplied by `--ui-motion`.
239
- - `theme.css` adds `--ui-focus-ring-inset` for focus rings drawn inside a control, read by `Accordion`, `ButtonGroup`, `List`, `Select`, `Tabs` and `ToggleButton`.
286
+ - `theme.css` adds motion tokens: `--ui-duration-fast` (`0.1s`), `--ui-duration` (`0.15s`), `--ui-duration-slow` (`0.25s`), `--ui-ease`, `--ui-ease-enter` and `--ui-ease-exit`, which starts moving at once so a close doesn't look delayed. Every component transition and animation reads them, multiplied by `--ui-motion`. The optional `--ui-ease-move` is the easing of movement a theme may make springy (the `Tabs` indicator, the press scale, and `Menu`, `Select`, `Tooltip` and toasts as they open, never anything closing), and the optional `--ui-press-scale` scales `Button`, `ToggleButton` and button and link `Chip`s while pressed. Both are unset, so nothing changes until a theme sets them.
287
+ - `theme.css` adds `--ui-focus-ring-inset` for focus rings drawn inside a control, read by `Accordion`, `List`, `Select`, `Tabs` and `ToggleButton`.
240
288
  - `theme.css` adds icon tokens: `--ui-icon-size-small`, `--ui-icon-size` and `--ui-icon-size-large`.
241
289
  - `theme.css` adds choice control tokens: `--ui-choice-fill-max-lightness` (the dark mode cap of a checked fill), `--ui-choice-size-small`, `--ui-choice-size`, `--ui-choice-size-large`, `--ui-switch-thumb-size-x-small`, `--ui-switch-thumb-size-small`, `--ui-switch-thumb-size`, `--ui-switch-thumb-size-large`, `--ui-switch-track-block-size-x-small`, `--ui-switch-track-block-size-small`, `--ui-switch-track-block-size`, `--ui-switch-track-block-size-large`, `--ui-switch-track-inline-size-x-small`, `--ui-switch-track-inline-size-small`, `--ui-switch-track-inline-size` and `--ui-switch-track-inline-size-large`. They are multiplied by `--ui-density`, and each track width is twice its track height until a theme sets it.
242
290
  - `theme.css` adds overlay tokens, `--ui-backdrop-bg-color` (`--ui-text` at 50% in light mode, a darkened `--ui-surface` at 50% in dark mode) and `--ui-backdrop-blur`, read by `Dialog` and `Drawer`, and inverse surface tokens, `--ui-surface-inverse` and `--ui-on-inverse`.
243
- - `theme.css` adds state and text tokens: `--ui-disabled-opacity`, `--ui-state-hover-alpha-light`, `--ui-state-hover-alpha-dark`, `--ui-state-active-alpha-light`, `--ui-state-active-alpha-dark`, `--ui-state-hover-alpha-accent`, `--ui-state-active-alpha-accent`, `--ui-text-disabled`, `--ui-invalid`, `--ui-font-weight-normal`, `--ui-font-weight-medium`, `--ui-font-weight-semibold` and `--ui-font-weight-bold`. A disabled control without a fill (text and outlined `Button`, `Chip`, an unchecked `ToggleButton`) takes `--ui-text-disabled` for its text and border and no opacity; filled and tonal controls and a checked toggle take `--ui-disabled-opacity`, so a disabled label is never dimmed twice.
291
+ - `theme.css` adds state and text tokens: `--ui-disabled-opacity`, `--ui-state-hover-alpha-light`, `--ui-state-hover-alpha-dark`, `--ui-state-active-alpha-light`, `--ui-state-active-alpha-dark`, `--ui-state-hover-alpha-accent`, `--ui-state-active-alpha-accent`, `--ui-text-disabled`, `--ui-invalid`, `--ui-font-weight-normal`, `--ui-font-weight-medium`, `--ui-font-weight-semibold` and `--ui-font-weight-bold`. A disabled control without a fill (text and outlined `Button`, `Chip`, an unchecked `ToggleButton`) takes `--ui-text-disabled` for its text and border and no opacity; filled and tonal controls and a checked toggle take `--ui-disabled-opacity`, so a disabled label is never dimmed twice. It also adds `--ui-state-selected-alpha-accent` (`25%`, `15%` with more contrast), the alpha of the primary tint behind selected `List` rows, `Select` options and checked choice cards when `--ui-selected` or `--ui-primary-tonal` is unset.
244
292
  - `theme.css` adds field text tokens: `--ui-field-label-text-color`, `--ui-field-label-font-size`, `--ui-field-label-font-weight`, `--ui-field-helper-text-color`, `--ui-field-helper-font-size`, `--ui-field-helper-line-height` and `--ui-field-required-text-color`, read by `Checkbox`, `Form`, `Radio`, `Range`, `Switch` and `TextField`.
245
293
  - `theme.css` declares every derived token (the color roles, the control, chip, choice and switch sizes, the spacing steps, the type roles and the radii) on `:where(html, .ui-palette, .ui-contrast-more)`, and the knobs (`--ui-palette-hue`, `--ui-density`, `--ui-space-scale`, the limits and strengths) on `html` only. A subtree with `class="ui-palette"` derives everything again from the knobs it sets or inherits, so `style="--ui-palette-hue: 30"` or `style="--ui-density: 0.875"` on it works. A theme sets its pinned roles on the same selector so the scopes keep them.
246
294
  - `theme.css` adds `--ui-fluid-min-inline-size`, `--ui-fluid-max-inline-size` and `--ui-fluid-progress`: the viewport window the heading sizes grow over, and the position in it (0 to 1, from `progress()`) for themes to ramp other values on.
247
295
  - `theme.css` adds `--ui-density`, a multiplier for `--ui-control-size-x-small`, `--ui-control-size-small`, `--ui-control-size` and `--ui-control-size-large`. Defaults to `1`. `Button`, `Select`, `Textarea` and `TextField` padding shrinks to fit a smaller control size, down to the height of the text.
248
- - `theme.css` adds `--ui-contrast`, set to `more` under `prefers-contrast: more` or with `.ui-contrast-more`. More contrast sets no color: it tightens the knobs the roles derive from (`--ui-text-strength-light`, `--ui-text-strength-dark`, `--ui-border-strength-light`, `--ui-border-strength-dark`, `--ui-field-border-strength`, `--ui-text-disabled-strength`, `--ui-text-max-lightness`, `--ui-text-min-lightness`, `--ui-accent-fill-max-lightness`, `--ui-accent-max-lightness`, `--ui-accent-max-chroma`, `--ui-primary-max-lightness`, `--ui-primary-min-lightness`, `--ui-invalid-min-lightness`, `--ui-palette-accent-min-lightness`, `--ui-palette-border-max-lightness`, `--ui-palette-border-min-lightness`, `--ui-palette-text-max-lightness`, `--ui-palette-text-min-lightness`, `--ui-palette-tint-max-lightness`, `--ui-palette-tint-min-lightness`, `--ui-code-bg-alpha-light`, `--ui-code-bg-alpha-dark`, `--ui-state-active-alpha-dark` and `--ui-focus-ring-width`) on `html` and on `.ui-contrast-more`, which is a scope like `.ui-palette`. Components with translucent text or fills (`Badge`, `Button`, `ButtonGroup`, `Divider`, `List`, `Menu`, `Progress`, `Spinner`, `Tabs`, `TextField`, `ToggleButton` and `Typography`) keep their own style queries. `.ui-contrast-normal` on `html` ignores the OS preference. A theme that sets knobs or `--ui-primary-source` works with more contrast; a role it pins stays pinned.
249
- - `theme.css` adds `--ui-primary-source`, the color `--ui-primary` is derived from within `--ui-primary-max-lightness` and `--ui-primary-min-lightness`. Themes set it to their brand color so more contrast darkens or lightens the primary without changing its hue; setting `--ui-primary` pins it. The example themes set it instead of `--ui-primary`, `--ui-on-primary` and `--ui-primary-text`, so their primary, its text and the text on it follow more contrast. The named colors, `--ui-neutral`, `--ui-invalid`, `--ui-text`, `--ui-text-disabled`, `--ui-border-color` and `--ui-field-border-color` are formulas of the knobs too, so the same values come out at normal contrast and a theme that changes `--ui-text-strong` or `--ui-surface` moves them along.
296
+ - `theme.css` adds `--ui-contrast`, set to `more` under `prefers-contrast: more` or with `.ui-contrast-more`. More contrast sets no color: it tightens the knobs the roles derive from (`--ui-text-strength-light`, `--ui-text-strength-dark`, `--ui-border-strength-light`, `--ui-border-strength-dark`, `--ui-field-border-strength`, `--ui-text-disabled-strength`, `--ui-text-max-lightness`, `--ui-text-min-lightness`, `--ui-accent-fill-max-lightness`, `--ui-accent-max-lightness`, `--ui-accent-max-chroma`, `--ui-primary-max-lightness`, `--ui-primary-min-lightness`, `--ui-invalid-min-lightness`, `--ui-palette-accent-min-lightness`, `--ui-palette-border-max-lightness`, `--ui-palette-border-min-lightness`, `--ui-palette-text-max-lightness`, `--ui-palette-text-min-lightness`, `--ui-palette-tint-max-lightness`, `--ui-palette-tint-min-lightness`, `--ui-code-bg-alpha-light`, `--ui-code-bg-alpha-dark`, `--ui-state-active-alpha-dark` and `--ui-focus-ring-width`) on `html` and on `.ui-contrast-more`, which is a scope like `.ui-palette` and takes the text, accent and caret colors from `normalize.css`. `--ui-invalid` gets lighter in dark mode, so invalid fields, checkboxes, radios, switches and ranges keep a visible edge. Components with translucent text or fills (`Badge`, `Button`, `Divider`, `List`, `Menu`, `Progress`, `Spinner`, `Tabs`, `TextField`, `ToggleButton` and `Typography`) keep their own style queries, and a `Range` draws its empty track in the page color with an inset `--ui-field-border-color` edge, so the fill stands out from it. `.ui-contrast-normal` on `html` ignores the OS preference. A theme that sets knobs or `--ui-primary-source` works with more contrast; a role it pins stays pinned.
297
+ - `theme.css` adds `--ui-primary-source`, the color `--ui-primary` is derived from within `--ui-primary-max-lightness` and `--ui-primary-min-lightness`. Themes set it to their brand color so more contrast darkens or lightens the primary without changing its hue; setting `--ui-primary` pins it. The example themes set it instead of `--ui-primary`, `--ui-on-primary` and `--ui-primary-text`, so their primary, its text and the text on it follow more contrast (brutalist pins `--ui-primary-text` to its text color for black links). The named colors, `--ui-neutral`, `--ui-invalid`, `--ui-text`, `--ui-text-disabled`, `--ui-border-color` and `--ui-field-border-color` are formulas of the knobs too, so the same values come out at normal contrast and a theme that changes `--ui-text-strong` or `--ui-surface` moves them along.
250
298
  - `theme.css` adds `--ui-choice-ripple-bg-color` for the `Checkbox` and `Radio` hover halo, `--ui-text` at 20%.
251
299
  - `theme.css` has font tokens: `--ui-font-body` for text, fields and buttons, `--ui-font-heading` for `h1`–`h6` and `.ui-h1`–`.ui-h6`, and `--ui-font-code` for `code`, `kbd`, `samp` and `pre` in rich text, `.ui-kbd`, `.ui-samp`, `.ui-var`, code blocks and `kbd` in buttons and lists. `--ui-font-heading` is unset and headings follow `--ui-font-body` per element.
252
300
  - `theme.css` has a spacing scale, `--ui-space-1` to `--ui-space-8`, multiplied by `--ui-space-scale`. Every gap, padding, offset and small size in the components reads it instead of Open Props `--size-*`, and so do native `fieldset`, `dt` and `figure` and `--ui-divider-gap`, so `--ui-space-scale` reaches all of them. Nothing moves at the default scale. Controls keep following `--ui-density`.
253
- - `theme.css` has elevation tokens: `--ui-shadow-elevated` for elevated `Card` and `Accordion`, one shadow in both schemes whose layers take `--ui-shadow-color`, and `--ui-shadow-overlay` for `Dialog`, `Drawer`, `Menu`, the `Select` picker and the `Carousel` buttons. `--ui-shadow-control` is the shadow of buttons with a variant, a standalone `ToggleButton`, an outlined `Chip` and fields, the file input included (the optional `--ui-shadow-field` overrides it for fields), and `--ui-shadow-surface` the shadow of tonal and outlined `Card` and `Accordion` and of `Callout`, both `none` by default. `--ui-shadow-selected` is the shadow of the selected tab, and `--ui-shadow-scroll` the scroll shadow of `Dialog` and `Drawer` content and of a sticky `Table` header. The elevated, overlay, scroll and selected shadows have the shapes of Open Props `--shadow-3`, `--shadow-3`, `--shadow-4` and `--shadow-1`, written into `theme.css`, and every layer adds its own opacity to `--ui-shadow-color` with relative color, so they darken in dark mode, also in a nested `.ui-dark`.
254
- - `theme.css` has `--ui-border-color-on-raised` and `--ui-field-border-color-on-raised`, the borders inside tonal and elevated `Card` and `Accordion`, `Dialog`, `Drawer`, `Menu` and `Callout` without a severity, and `--ui-border-color-on-filled`, the border inside lists without a variant and table headers. `--ui-border-color-on-raised` is the border mix of `--ui-border-color` and `--ui-field-border-color-on-raised` the field border mix, in both modes. `--ui-field-border-color-on-filled` is the field border mix against `--ui-surface-filled`. Each of those components sets `--ui-border-color` and `--ui-field-border-color` to the pair on its own root, so `theme.css` names no component. A theme that wants another border on raised surfaces, such as the page background in dark mode, sets the `-on-raised` tokens.
301
+ - `theme.css` has elevation tokens: `--ui-shadow-elevated` for elevated `Card` and `Accordion`, one shadow in both schemes whose layers take `--ui-shadow-color`, and `--ui-shadow-overlay` for `Dialog`, `Drawer`, `Menu`, the `Select` picker and the `Carousel` buttons, which is `--ui-shadow-elevated` unless a theme sets it, so a theme that sets only the elevated shadow changes both. `--ui-shadow-control` is the shadow of buttons with a variant, a standalone `ToggleButton`, an outlined `Chip` and fields, the file input included (the optional `--ui-shadow-field` overrides it for fields), and `--ui-shadow-surface` the shadow of tonal and outlined `Card` and `Accordion` and of `Callout`, both `none` by default. `--ui-shadow-selected` is the shadow of the selected tab, and `--ui-shadow-scroll` the scroll shadow of `Dialog` and `Drawer` content and of a sticky `Table` header. The elevated, overlay, scroll and selected shadows have the shapes of Open Props `--shadow-3`, `--shadow-3`, `--shadow-4` and `--shadow-1`, written into `theme.css`, and every layer adds its own opacity to `--ui-shadow-color` with relative color, so they darken in dark mode, also in a nested `.ui-dark`.
302
+ - `theme.css` has `--ui-border-color-on-raised` and `--ui-field-border-color-on-raised`, the borders inside tonal and elevated `Card` and `Accordion`, `Dialog`, `Drawer`, `Menu` and `Callout` without a severity, and `--ui-border-color-on-filled`, the border inside lists without a variant and table headers. `--ui-border-color-on-raised` is the border mix of `--ui-border-color` and `--ui-field-border-color-on-raised` the field border mix, both against `--ui-surface-elevated`, in both modes, so dividers and field borders inside those surfaces stay visible in dark mode. `--ui-field-border-color-on-filled` is the field border mix against `--ui-surface-filled`. Each of those components sets `--ui-border-color` and `--ui-field-border-color` to the pair on its own root, so `theme.css` names no component. A theme that wants another border on raised surfaces, such as the page background in dark mode, sets the `-on-raised` tokens.
255
303
  - `theme.css` adds a type scale and type roles. `--ui-font-size-100` to `--ui-font-size-900` are the nine steps (12 to 56px); `--ui-font-size-caption`, `--ui-font-size-small`, `--ui-font-size-body`, `--ui-font-size-control`, `--ui-font-size-large` and the heading sizes read them, and every component reads a role instead of an Open Props step, the `normalize.css` body text and the field helper text (`--ui-field-helper-font-size`, `--ui-field-helper-line-height`) included. `--ui-line-height-tight`, `--ui-line-height-control`, `--ui-line-height` and `--ui-line-height-relaxed` replace the Open Props line heights and the literal ones, and `--ui-letter-spacing-display`, `--ui-letter-spacing-heading` and `--ui-letter-spacing-caps` the literal letter spacings. A theme pins one role, moves one step, or replaces the scale with its own.
256
304
  - `theme.css` adds shape roles. `--ui-radius-round` is the pill radius, `--ui-radius-small` (`--ui-radius` capped at 5px) rounds `kbd`, inline `code`, `mark`, `var`, `Tooltip`, the file input and rounded avatars, `--ui-radius-x-small` (capped at 2px) the checkbox box, and `--ui-border-width-thick` draws the table head and foot rules, the blockquote bar, the `AvatarGroup` ring, the `Badge` border, the neutral `Chip` dot, the dotted `DescriptionList` rule and the `Tabs` indicator. No component reads an Open Props radius or border size any more.
257
305
  - `theme.css` adds palette roles. `--ui-palette-strong`, `--ui-palette-on-strong`, `--ui-palette-text`, `--ui-palette-accent`, `--ui-palette-border`, `--ui-palette-tint`, `--ui-palette-on-tint`, and `--ui-palette-tint-subtle` name the shades of the current palette and are re-derived inside every severity scope, and the text, tint, accent and border shades get stronger with more contrast, so `Callout`, `Badge`, `Button`, `del`, `ins` and `abbr` read a role instead of a palette step. `--ui-on-fill` is the near-white text on an intent fill, an intent color kept within `--ui-accent-fill-max-lightness`, `--ui-switch-thumb-bg-color` and `--ui-switch-track-bg-color` the unchecked switch, and `--ui-code-block-bg-color` and `--ui-code-block-text-color` the code blocks, a dark block in both modes: `--ui-surface-inverse` and `--ui-on-inverse` in light mode, `--ui-surface-filled` and `--ui-text-strong` in dark mode. Component CSS reads no palette step or Open Props primitive any more.
@@ -259,113 +307,129 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
259
307
  - `theme.css` adds `--ui-critical-text`, `--ui-info-text`, `--ui-neutral-text`, `--ui-success-text` and `--ui-warning-text`, the intent colors as text with 4.5:1 on every surface, like `--ui-primary-text` and `--ui-invalid-text`. All seven keep the lightness of their color within `--ui-text-max-lightness` (`0.41`, `0.3` with more contrast) in light mode and `--ui-text-min-lightness` (`0.8`, `0.9` with more contrast) in dark mode, where their chroma is capped at `--ui-text-max-chroma` (`0.1`). `theme.css` adds the three limits too. The critical items of a `Menu` and a `.ui-critical` `Button` with no variant or `.ui-outlined` read `--ui-critical-text`. It also adds `--ui-on-warning`, the text on a warning fill, read by the warning `Badge`.
260
308
  - `theme.css` adds `--ui-underline-offset`, `--ui-underline-offset-small` and `--ui-underline-thickness-hover`, read by `Link`, rich text links and the underlined text elements.
261
309
  - `theme.css` adds `--ui-accent-fill-max-lightness`, the highest lightness of an intent color filled under light text (`0.48`, and `0.45` with more contrast), read by the critical, info, neutral and success `Badge` and the fills of critical `Button`s. It also adds `--ui-surface-tonal-hover`, the hover fill of clickable `Chip`s without a `severity` and filled `TextField`, `Select` and `Textarea` fields, and `--ui-code-bg-color`, the background of inline `code` in rich text: `--ui-text` at `--ui-code-bg-alpha-light` (`12%`) in light mode and `--ui-code-bg-alpha-dark` (`10%`) in dark mode, two knobs that more contrast lowers to `6%`.
262
- - `theme.css` adds optional `--ui-button-hover`. `layer` makes `Button` and `ButtonGroup` show hover and pressed states as translucent state layers in `--ui-state-hover-alpha-accent` and `--ui-state-active-alpha-accent`: the text color over filled and tonal buttons, the accent over outlined ones, which keep their text and border. Unset, filled buttons shade their fill and outlined and tonal buttons fill with the accent, as before.
310
+ - `theme.css` adds optional `--ui-button-hover`. `layer` makes `Button` and `ControlGroup` show hover and pressed states as translucent state layers: the text color over filled and tonal buttons, the accent over outlined ones, which keep their text and border. Filled, tonal, primary and critical buttons use `--ui-state-hover-alpha-accent` and `--ui-state-active-alpha-accent`, and neutral outlined buttons the light and dark alphas. `shade-all` shades the fill of every filled and tonal button: filled ones as when unset, tonal ones with `--ui-surface-tonal-hover`, darker in light mode and lighter in dark mode, and a step further when pressed, while outlined ones fill with the accent as when unset. Unset, filled buttons shade their fill and outlined and tonal buttons fill with the accent, as before.
263
311
  - `theme.css` adds optional `--ui-button-padding-inline`, `--ui-button-padding-inline-x-small`, `--ui-button-padding-inline-small` and `--ui-button-padding-inline-large`, the horizontal padding of `Button` per size (`1.5ex`, `1ex`, `1.25ex` and `2.5ex` when unset).
264
- - `theme.css` adds optional field tokens: `--ui-field-bg-color`, the background of `TextField`, `Textarea` and `Select` fields (`--ui-surface` when unset), `--ui-field-padding-inline`, their horizontal padding (`--ui-space-2` when unset), and `--ui-field-placeholder-text-color`, the placeholder color (`--ui-text-subtle` when unset).
312
+ - `theme.css` adds optional field tokens: `--ui-field-bg-color`, the background of `TextField`, `Textarea` and `Select` fields (`--ui-surface` when unset), `--ui-field-padding-inline`, their horizontal padding (`--ui-space-2` when unset) and `--ui-field-padding-inline-large` for `.ui-large` (`--ui-space-3` when unset), and `--ui-field-placeholder-text-color`, the placeholder color (`--ui-text-subtle` when unset).
265
313
  - `theme.css` adds optional `--ui-chip-radius`, `--ui-dialog-radius` and `--ui-menu-radius`, the corner radius of `Chip`, `Dialog` and `Menu` (`--ui-radius` when unset).
266
- - `theme.css` adds optional `--ui-tabs-accent`, the color of the selected `Tabs` label and of the indicator with `.ui-line` (`--ui-text-strong` when unset). m3 sets its primary.
314
+ - `theme.css` adds optional `--ui-tabs-accent`, the color of the selected `Tabs` label and of the indicator with `.ui-line` (`--ui-text-strong` when unset). m3 sets `--ui-primary-text`.
267
315
  - `theme.css` adds `--ui-text-subtle`, the secondary text role: placeholders, field helper text (`--ui-field-helper-text-color` reads it), descriptions in `List` and `Menu` items, unselected `Tabs` labels and `Table` captions. It is `--ui-text` unless a theme sets it, so nothing changes by default. bootstrap, m3 and shadcn set their muted text colors, and m3 body text is its on-surface color.
268
- - `theme.css` adds optional `--ui-button-accent-filled` and `--ui-button-on-accent-filled`, the fill and text of filled `Button`s and `ButtonGroup`s without `.ui-primary` or `.ui-critical`, and of hovered outlined and tonal ones (`--ui-button-accent` and `--ui-button-on-accent` when unset). brutalist fills its buttons with the main blue while text and outlined buttons stay black.
269
- - `theme.css` adds optional `--ui-card-padding`, the padding of `Card`, `Dialog` and `Accordion` content, headers and actions, and `--ui-list-item-padding-inline`, the horizontal padding of `List` and `Menu` items and `Select` options (`--ui-space-3` when unset).
270
- - `theme.css` adds optional `--ui-control-accent` and `--ui-on-control-accent`, a hook pair every control reads: `Button` and `ButtonGroup` before `--ui-palette-strong`, and a checked `Checkbox`, `Radio` and `Switch` and the `Range` thumb and fill before `--ui-primary`. `--ui-control-accent: var(--ui-primary)` gives every control the brand color in one line, and `--ui-button-accent`, `--ui-button-on-accent`, `--ui-choice-accent` and `--ui-choice-on-accent` still override it per component. `themes/m3.css` and `themes/shadcn.css` set the pair instead of the four component tokens.
271
- - `themes/bootstrap.css` (a Bootstrap 5 look), `themes/brutalist.css` (a neobrutalism look), `themes/m3.css` (a Material 3 look) and `themes/shadcn.css` (a shadcn/ui look) are example themes in the `theme.custom` layer, made only of tokens and with every color in OKLCH. They name their fonts but don't load them, and they copy their originals' contrast at normal contrast, also where it falls short of WCAG. They start with the layer order, so they work wherever they load. Import one, or copy it as a starting point. They set every token on `:where(html, .ui-palette, .ui-contrast-more)`, the selector the library derives on, so `.ui-palette` and `.ui-contrast-more` subtrees keep the theme. With more contrast, they hand their borders, field borders, focus ring and subtle text back to the library with `revert-layer` (brutalist draws its borders in `--ui-text`), so every theme meets the contrast promises.
316
+ - `theme.css` adds optional `--ui-button-accent-filled` and `--ui-button-on-accent-filled`, the fill and text of filled `Button`s and `ControlGroup`s without `.ui-primary` or `.ui-critical`, and of hovered outlined and tonal ones (`--ui-button-accent` and `--ui-button-on-accent` when unset). brutalist fills its buttons with the main blue while text and outlined buttons stay black.
317
+ - `theme.css` adds optional `--ui-card-padding`, the padding of `Card`, `Dialog`, `Drawer` and `Accordion` content, headers, footers and actions and of `Checkbox`, `Radio` and `Switch` cards, and `--ui-list-item-padding-inline`, the horizontal padding of `List` and `Menu` items and `Select` options (`--ui-space-3` when unset).
318
+ - `theme.css` adds optional `--ui-control-accent` and `--ui-on-control-accent`, a hook pair every control reads: `Button` and `ControlGroup` before `--ui-palette-strong`, and a checked `Checkbox`, `Radio` and `Switch` and the `Range` thumb and fill before `--ui-primary`. `--ui-control-accent: var(--ui-primary)` gives every control the brand color in one line, and `--ui-button-accent`, `--ui-button-on-accent`, `--ui-choice-accent` and `--ui-choice-on-accent` still override it per component. `themes/m3.css` and `themes/shadcn.css` set the pair instead of the four component tokens.
319
+ - `theme.css` adds optional `--ui-focus-border-color`, the border color of a focused `Button`, `Checkbox`, `Chip`, `Radio`, `Switch` and `ToggleButton`, of the field of a focused `NumberField`, `Select`, `Textarea` and `TextField`, and of a checkbox or radio card and a `Card` with a focused card link. It gives the focus ring a dark or light edge to sit on, the way Bootstrap, shadcn/ui and GOV.UK pair a bright ring with a border, and the focus ring promises its 3:1 against it instead of the page when it is set. When unset, each keeps its border, and forced colors ignore it. `Checkbox`, `Radio` and `ToggleButton` draw their border from `--_border-color`, and `Switch` its checked track from `--_track-border-color`, like the other controls.
320
+ - `theme.css` adds optional `--ui-focus-border-width`, the border width of a focused `Checkbox` and `Radio` and of the field of a focused `NumberField`, `Select`, `Textarea` and `TextField`, never thinner than their own border, so the focus edge can thicken, and, when wider than the ring, the bar under a highlighted link. The extra width grows inward, so the check, the dot and the text don't move, and forced colors keep the wider border.
321
+ - `theme.css` adds optional `--ui-link-focus` and `--ui-button-focus`. `highlight` fills a focused link or `Button` with `--ui-focus-highlight` and `--ui-on-focus-highlight` text instead of the focus ring, like GOV.UK, and draws a block-end bar under every line of a link. The outline stays, transparent, so forced colors still draw the ring, and a button with `aria-disabled="true"` keeps the ring. When unset (`ring`), the ring shows.
322
+ - `theme.css` adds `--ui-focus-highlight`, the fill of a focused element that highlights instead of showing the ring (`--ui-focus-ring-color` made opaque), and `--ui-on-focus-highlight`, black or white text on it that promises 4.5:1. It switches at OKLCH lightness 0.57, where both reach 4.5:1 on a gray.
323
+ - `theme.css` adds optional `--ui-link-font-weight`, the weight of `.ui-link` and of links in `.ui-rich-text` (`--ui-font-weight-bold`, the heading weight, when unset), and `--ui-link-visited-text-color`, the text and underline color of a visited link, which promises 4.5:1 against every surface. Visited links look like the others when it is unset.
324
+ - `theme.css` adds optional `--ui-choice-checked`. `mark` makes a checked `Checkbox` and `Radio` keep the surface and border of the unchecked input and draw the check, dash or dot in the choice accent, lifted to text lightness in dark mode. When unset (`fill`), they fill with the accent as before. Forced colors always fill, and `Switch` and checkbox and radio cards don't read it.
325
+ - `theme.css` adds optional `--ui-button-shadow`, the shadow of `Button` with `.ui-filled`, `.ui-outlined` or `.ui-tonal` and of the `Copy` confirmation (`--ui-shadow-control` when unset), so a theme can give buttons a shadow without giving one to toggle buttons, outlined chips and fields. `--ui-button-hover-shadow` falls back to it.
326
+ - `theme.css` adds optional rich text tokens, rounded to `--ui-rhythm-step` where they set a space. `--ui-flow-gap` is the space between paragraphs, lists, blockquotes, tables, `details` and `address` in `.ui-rich-text` (`1.25em` when unset), and code blocks, figures and `hr` take multiples of it. `--ui-heading-margin-block-start` and `--ui-heading-margin-block-end` are the space above and below `h1` to `h6`, where `em` is the heading's own font size (a multiple of the flow gap per level when unset). `--ui-line-height-prose` is the line height of rich text (the surrounding one when unset).
327
+ - `themes/bootstrap.css` (a Bootstrap 5 look), `themes/brutalist.css` (a neobrutalism look), `themes/govuk.css` (a GOV.UK Design System look), `themes/m3.css` (a Material 3 look) and `themes/shadcn.css` (a shadcn/ui look) are example themes in the `theme.custom` layer, made only of tokens and with every color in OKLCH. They name their fonts but don't load them, and they copy their originals' contrast at normal contrast, also where it falls short of WCAG. They start with the layer order, so they work wherever they load. Import one, or copy it as a starting point. They set every token on `:where(html, .ui-palette, .ui-contrast-more)`, the selector the library derives on, so `.ui-palette` and `.ui-contrast-more` subtrees keep the theme. With more contrast, they hand their borders, field borders, focus ring and subtle text back to the library with `revert-layer` (brutalist draws its borders in `--ui-text`), so every theme meets the contrast promises.
328
+ - `themes/bootstrap.css` is a Bootstrap 5 look: `oklch(0.91 0.007 248)` field borders, gray secondary default buttons (`oklch(0.525 0.017 245)`, darker than Bootstrap's `oklch(0.558 0.016 245)` so their text reads on the tonal surface and on the tint behind a `kbd` shortcut, and `oklch(0.77 0.014 248)` in dark mode), filled and tonal buttons that shade their own color on hover (`--ui-button-hover: shade-all`), the danger, warning, info and neutral colors and the subtle alert palettes on the severity scopes, white 32px switches, regular weight links, 16px checks with 4px corners and no ripple, `0.75rem` button and field padding, `0.875rem` helper text, 16px paragraph spacing with 8px under headings and only the paragraph gap above them, solid blue selected items, black tooltips, 1.5 line height, no heading letter spacing, no backdrop blur and no shadow on dropdowns, modals and drawers. The contrast test lists its field border as a known exception.
329
+ - `themes/brutalist.css` is a neobrutalism look: the `oklch(0.92 0.019 266)` and `oklch(0.283 0.019 276)` pages, white fields and tracks, 500 weight body text, 700 headings, 14px control text, main-colored filled buttons and selected items, state layers instead of fills on hover, black links, main-colored tooltips, 24px card padding, 8px menu item padding, 16px checks with 5px corners, the hard shadow on dialogs and menus, the 1.75 line height of Tailwind prose in rich text, and 36px and 44px small and large controls.
330
+ - `themes/govuk.css` is a GOV.UK Design System look, from GOV.UK Frontend 6: `oklch(0.153 0 0)` text on white, the `oklch(0.535 0.136 249.9)` brand blue, `oklch(0.497 0.125 249.8)` links, the `oklch(0.558 0.186 25.6)` error red and `oklch(0.514 0.11 161)` success green kept as they are (`--ui-text-max-lightness` and `--ui-accent-fill-max-lightness` at `0.56`), `oklch(0.404 0 0)` secondary text, `oklch(0.851 0 0)` borders, 2px black field borders, square corners, green default filled buttons with white text and a 2px bottom edge, gray secondary buttons, both darker on hover (`--ui-button-hover: shade-all`), regular weight buttons, labels and links, purple visited links, 40px checkboxes and radios (24px small) that keep their white box and draw a black check and dot (`--ui-choice-checked: mark`), with a gray hover ring, a black-bordered switch, 19px body, label, hint and control text on 25px lines, 16px small text, the 48, 36, 24 and 19px bold heading scale that steps down to 32, 27 and 21px on phones, a 24px lead that steps down to 21px, 5px spacing steps (`--ui-space-scale: 1.25`), 15px paragraph spacing that grows to 20px on wider screens (16px and 20px on the 4px rhythm), headings spaced from their own font size (`1.1em` above and `0.8em` below), 5px field padding, the 3px yellow focus ring on a black `--ui-focus-border-color` edge that thickens to 4px on checkboxes, radios and fields, links and buttons that turn yellow with black text and a black bar under links when focused (`--ui-link-focus` and `--ui-button-focus` set to `highlight`), the link underline offset and hover thickness, 0.5 disabled opacity, Arial, no shadows and no backdrop blur. GOV.UK has no dark mode, so dark mode swaps its black and white and keeps the yellow ring and black edge.
331
+ - `themes/m3.css` is a Material 3 look: the error red, 8% and 10% state layers on every button, 24px button padding, 28px dialogs, 4px menus, 8px chips, 18px checkboxes, 2px checkbox, radio and switch borders (`--ui-choice-border-width`), outlined fields that thicken to 2px when focused (`--ui-focus-border-width`), 52 by 32px switches with the outline thumb, 16px field padding, on-surface body text with on-surface-variant secondary text, primary tab labels and line indicators, the inverse surface for tooltips, the emphasized easing, a 32% scrim without blur, no rim on elevated cards and 1.5 line height.
332
+ - `themes/shadcn.css` is a shadcn/ui look: the accent tint on hover instead of a fill, the ring color on the border of a focused control, 16px button padding, 32px small and 40px large controls, 8px chips and menus, 10px dialogs, 16px checks with 4px corners, a 32px switch with a white thumb, the destructive red, primary-colored tooltips, 16px icons, 500 weight links, 14px helper text, placeholders, descriptions and tab labels in a slightly darker muted gray (`oklch(0.52 0 0)`, so it reads on tonal and checked cards), 12px field padding, 24px card padding, 8px menu item padding, 0.5 disabled opacity, 1.5 line height with the 1.75 of Tailwind prose in rich text, and the Tailwind shadows for selected tabs and scroll edges.
272
333
  - `tokens.json` lists every theme token, the palette steps `--ui-color-1` to `--ui-color-16` and `--ui-gray-1` to `--ui-gray-16`, and the instance inputs components read (`--ui-anchor-position-area`) in the W3C design tokens format: its `$type`, description and default as `$value`, and under `$extensions.opui` its CSS variable, tier (`knob` for an input a theme turns, `primitive` for a step derived from the knobs that no component reads, `role`, `hook` for an optional role every component with that job reads with a default of its own, `component`, or `input` for a property set on an element that no theme sets, declared beside each token instead of guessed from its name), dark and more-contrast values (`modes`) and, where a token guarantees one, the contrast ratio it promises and against which tokens. Every `-text`, `-text-color` and `on-` role a component paints text with promises 4.5:1 against its fill or the surfaces it sits on, `--ui-on-fill` against each intent fill and `--ui-palette-text` and the field text colors against every surface included. `--ui-palette-text` is at least `0.8` lightness in dark mode (`--ui-palette-text-min-lightness`), like the intent text roles, so it keeps the promise in every example theme. A plain number, a `px` or `rem` length and an alias of another token are native design token values, with the CSS beside them as `$extensions.opui.css`; the other values are CSS expressions. Tokens that are unset by default have no `$value`, only an `example`. The theme tokens page shows the same promises. Import it from `opui-css/tokens.json`. The agent skill ships a copy and a table of which token to change for what.
273
334
  - `utils.css` adds `.ui-focusable`, which shows a `.ui-sr-only` element while it has keyboard focus, for skip links.
274
335
 
275
336
  ### Changed
276
337
 
277
- - `Accordion`, `ButtonGroup`, `Callout`, `Card`, `Chip`, `DescriptionList`, `List`, `Table`, `ToggleButton` and `ToggleGroup` borders read `--ui-border-width`, and `Checkbox`, `Radio`, `Switch` and `TextField` borders read `--ui-field-border-width`, instead of a hardcoded `1px`.
278
- - `Accordion` with `variant="tonal"` or `variant="elevated"` has a border in the page background color unless a theme sets `--ui-border-color-raised`, like tonal and elevated cards, so it stays visible on tonal surfaces.
338
+ - `Accordion`, `Button`, `Callout`, `Card`, `Chip`, `ControlGroup`, `DescriptionList`, `Divider`, `List`, `Table`, `ToggleButton`, `ToggleGroup` and `Typography` borders read `--ui-border-width`, and `Checkbox`, `Radio`, `Switch` and `TextField` borders read `--ui-field-border-width`, instead of a hardcoded `1px` or Open Props `--border-size-1`.
339
+ - `Accordion` and `Card` with `variant="tonal"` or `variant="elevated"`, and `Dialog`, have a border in the page background color unless a theme sets `--ui-border-color-raised`, so they stay visible on tonal surfaces.
279
340
  - `Accordion` actions line up with the content and the chevron, with the summary's block padding below them instead of a large gap above.
280
- - `Accordion`, `Drawer` and rich text use `overflow-inline`/`overflow-block` instead of `overflow-x`/`overflow-y`, so scrolling follows the writing mode. Browsers older than Chrome 135, Firefox 69 and Safari 26 ignore them, so those containers don't scroll there, and neither do `Dialog` content and `ButtonGroup`, `Tabs` and `ToggleGroup` with `overflow="scroll"`.
341
+ - `Accordion` clips its animating panel with `overflow-block: clip` instead of `overflow-y: clip`. `Drawer` and rich text use `overflow-inline`/`overflow-block` instead of `overflow-x`/`overflow-y`, so scrolling follows the writing mode. Browsers older than Chrome 135, Firefox 69 and Safari 26 ignore them, so there those containers, `Dialog` content, `ControlGroup` and `ToggleGroup` with `overflow="scroll"` and horizontal `Tabs` without `overflow="wrap"` scroll only through the `overflow-x` and `overflow-y` fallbacks in `compat.css`.
281
342
  - `Accordion` with `variant="elevated"` uses `--ui-shadow-elevated`, the elevated `Card` shadow, which takes the darker `--ui-shadow-color` in dark mode.
282
- - `Avatar` and `Badge` text uses `--ui-on-primary`.
283
- - `Avatar`, `List` and `ButtonGroup` sizes follow `--ui-control-size` and `--ui-button-size-*`.
343
+ - `Avatar` and `Badge` text uses `--ui-on-primary`, a severity `Badge` the text color of its own fill, and a warning `Badge` `--ui-on-warning`, dark text on the warning fill.
344
+ - `Avatar`, `ControlGroup` and `List` sizes follow `--ui-control-size` and `--ui-button-size-*`.
284
345
  - `Avatar` no longer declares `command`, `commandfor` and `interestfor` as props. They pass through as attributes.
285
346
  - `Avatar` squircle without `corner-shape` falls back to a rounded square with corners at 27% of its size instead of `--radius-3`. The fallback moved from `avatar.css` to `css/compat/avatar.css`: import it, or `compat.css`, with `avatar.css`, or the squircle is a circle there, as in `dist/opui.no-compat.css`.
286
- - `Avatar` (rounded), `Checkbox`, `Tooltip`, file inputs, `kbd`, `mark` and `var` never get rounder than `--ui-radius`.
287
- - `AvatarGroup` avatars overlap by `--ui-space-2` instead of `--ui-space-3`, so the initials stay whole at every size.
347
+ - `Avatar` (rounded), `Checkbox`, `Tooltip`, file inputs outside `TextField`, `kbd`, `mark` and `var` never get rounder than `--ui-radius`.
288
348
  - `Badge` on a round `Avatar` sits on the avatar's edge instead of the corner of its box.
289
- - `Badge` in an `Avatar` group sits on the avatar's start side, the part the next avatar doesn't cover, with the same ring as the avatars (the group's `--_outline-color`).
290
349
  - `Button` critical keeps light text on a fill a little darker than `--ui-critical`, while its border keeps `--ui-critical`, tonal primary and critical buttons use dark text on a light container in light mode and light text on a dark container in dark mode, and text and outlined buttons use a lighter accent for text in dark mode.
291
- - `Button`, `Divider` and `Typography` borders read `--ui-border-width` instead of `--border-size-1`.
292
- - `ButtonGroup` buttons draw a `ButtonBorder` border under `forced-colors: active`, where their shadows disappear.
293
- - `ButtonGroup` focus ring sits inside the button with a gap and uses `--ui-focus-ring-color`, so it shows on every variant and isn't clipped by the group.
294
- - `ButtonGroup` and `ToggleGroup` wrap onto more rows when they don't fit, instead of overflowing. The group draws its outer edge and rounded corners, and dividers sit between items in every row.
295
- - `ButtonGroup` small buttons are `--ui-button-size-small` (32px) instead of 30px, with the same `--ui-font-size-small` text as a small `Button`.
296
- - `ButtonGroup` item styles select `.ui-button` instead of `button`, so `Button` links (`<a class="ui-button">`) are styled like the buttons. A plain `<button>` without `.ui-button` no longer gets the group item styles.
297
- - `ButtonGroup` sizes and variants are Button's own rules, and icon-only buttons in a group use Button's icon size, the same as buttons with a label.
350
+ - `Button`, `Callout` links, `Card` links, `Chip`, `ControlGroup`, `Link`, `List`, `Range`, `Table`, `TextField`, the `Checkbox` and `Radio` halo and rich text links only show hover styles on devices that can hover, so they no longer stick after a tap.
351
+ - `Callout`, `Card`, `Chip`, `Link`, `List`, `Select`, `Table`, `TextField`, `Textarea`, `ToggleButton` and `ToggleGroup` fade their hover, pressed and selected colors, like `Button`: callout and rich text links, the border of a clickable card, button and link chips, filled fields and toggle buttons over `--_duration`. List and table rows and select options change at once on hover and fade back over `--ui-duration-fast` (`--_item-duration`, `--_row-duration`), so the highlight never lags behind the pointer. Every fade follows `--_motion`, and `Table` reads `--_motion`, `--_duration` and `--_ease` on its root.
298
352
  - `Callout` tonal severities have a visible fill in light mode, 60% of the third palette step instead of 20% of the second.
299
- - `Callout` links, `Card` links, `Chip`, `Link`, `List`, `Range`, `Table`, `TextField`, the `Checkbox` and `Radio` halo and rich text links only show hover styles on devices that can hover, so they no longer stick after a tap.
300
353
  - `Card` captions, `Tooltip` text and keyboard hints in buttons use `--ui-line-height-tight` (1.25) instead of 1.3 and 1.2.
301
- - `Card` tonal and elevated variants (and `Dialog`) have a border in the page background color, so they stay visible on tonal surfaces. In dark mode, borders and field borders inside them also use the page background.
302
354
  - `Card` actions stick to the bottom of stretched cards and wrap.
303
355
  - `Card`, `Accordion`, `Dialog` and `Drawer` content (`.ui-content`) is a stack: a grid with `--ui-space-3` between its children, which lose their block margins, so a body with a heading, a paragraph and a list needs no CSS of its own. Content with inline children (links, `strong`, chips, buttons) or a `Carousel` keeps the normal flow, and rich text content (`.ui-content.ui-rich-text`) keeps its own spacing. The rules have no specificity, so a `display` or `gap` set on the content wins.
304
356
  - `Checkbox`, `Radio` and `Switch` keep a light marker in dark mode on a fill darkened to keep 3:1 contrast.
305
357
  - `Checkbox`, `Radio` and `Switch` line up with the first line of their label and center on it.
306
358
  - `Checkbox` and `Radio` root selectors are wrapped in `:where()`, like other components.
307
- - `Checkbox` and `Radio` no longer render an empty `.ui-label` without a default slot, and warn in dev without an accessible name, like `Switch`.
359
+ - `Checkbox` and `Radio` no longer render an empty `.ui-label` without a default slot, and warn in development when they have no label, `aria-label` or `aria-labelledby`, like `Switch`. All three warn in Vue too.
308
360
  - `Checkbox`, `Radio`, `Switch` and `Progress` align to the middle when there's no visible label, so they center in table cells and lines of text. Give them a hidden label (`hideLabel`, or `.ui-sr-only` in HTML). `Checkbox`, `Radio` and `Switch` then keep a box of at least `--ui-space-5` (24px) around the control, so the label stays a 24px pointer target.
309
- - `Checkbox`, `Radio` and `Switch` in Vue warn in development when they have no label, `aria-label` or `aria-labelledby`, like Astro.
310
361
  - `Chip` uses `--ui-radius` (8px) instead of Open Props `--radius-2` (5px).
311
362
  - `Chip` small is `--ui-chip-size-small` (28px, the x-small control size) instead of 24px.
312
363
  - `Chip` labels truncate with an ellipsis unless the chip is `multiline`.
313
364
  - `Chip` hover is stronger in light mode: button and link chips without a `severity` read `--ui-surface-tonal-hover`, the hover of filled fields.
314
- - `Dialog` and `Drawer` open over `--ui-duration-slow` (`0.3s`, was `0.2s`) with `--ui-ease-enter`, and `Drawer` closes with `--ui-ease-exit`, as the tokens describe.
315
- - `Dialog` takes `--ui-shadow-overlay`, like `Drawer` and `Menu`, instead of the raised card shadow.
365
+ - `ControlGroup` buttons draw a `ButtonBorder` border under `forced-colors: active`, so the edges between them stay visible.
366
+ - `ControlGroup` controls keep their own focus ring outside the control, in `--ui-focus-ring-color` and on top of their neighbours, so it shows on every variant. In a filled group the ring's gap is painted in `--ui-surface`, so the ring shows over the next button's fill, and with `overflow="scroll"` the row is padded by the ring's reach, so the scrolling doesn't clip it.
367
+ - `ControlGroup` and `ToggleGroup` wrap onto more rows when they don't fit, instead of overflowing. A `ToggleGroup` draws its outer edge and rounded corners, and dividers sit between items in every row, drawn with `column-rule` and `row-rule` like a `ControlGroup`'s, and as shadows the group clips in browsers without gap decorations (`css/compat/toggle-group.css`). In a `ControlGroup` a text field shrinks to about ten characters before the next control wraps, and the corners where a row ends inside the group stay square. A `ControlGroup` of buttons that isn't outlined draws the lines between them with `column-rule` (`row-rule` when vertical), which the browser draws only between buttons on the same row, so a row that wraps doesn't start with a line. Browsers without gap decorations overlap the buttons and color the later button's start border instead (`css/compat/control-group.css`), as does a group with a field, a group in forced colors, and a tonal or filled group in a theme that sets `--ui-control-border-color-filled`.
368
+ - `ControlGroup` small buttons are `--ui-button-size-small` (32px) instead of 30px, with the same `--ui-font-size-small` text as a small `Button`.
369
+ - `ControlGroup` item styles select its direct child `.ui-button`s instead of every `button`, so `Button` links (`<a class="ui-button">`) are styled like the buttons and a `Menu` inside the group (split button) keeps its own item styles. A plain `<button>` without `.ui-button` gets no group item styles.
370
+ - `ControlGroup` sizes and variants are Button's own rules, and icon-only buttons in a group stay square and use Button's icon-only icon size, 60% of the button.
371
+ - `Dialog` and `Drawer` open over `--ui-duration-slow` (`0.25s`, was `0.2s`) with `--ui-ease-enter`, and close over the same duration with `--ui-ease-exit`, as the tokens describe. `Dialog` used to close at once.
372
+ - `Dialog`, `Drawer` and the `Select` picker take `--ui-shadow-overlay`, the shape of Open Props `--shadow-3`, like `Menu`, instead of the raised card shadow (`Dialog`) or `--shadow-2` (`Drawer` and the picker).
316
373
  - `Dialog` has a maximum height. The header and footer stay in place and the content scrolls.
317
374
  - `Dialog` width is set with `--_max-inline-size` (`60ch` by default), and the dialog keeps its margin on small screens at any width.
318
- - `Dialog` fades its backdrop in with the panel.
375
+ - `Dialog` fades and scales in from `0.96` with its backdrop, and fades and scales out again when it closes, kept in the top layer by `display` and `overlay` transitions with `allow-discrete`.
376
+ - `Dialog`, `Range`, `Select` and `TextField` start every id they generate with the `id` you pass, or with one id they generate per instance: for `id="x"` the label is `x-label`, the start and end text `x-start-text` and `x-end-text`, the top and bottom of a Select `x-top` and `x-bottom`, the tick list of a Range `x-list` and the title of a Dialog `x-title`.
319
377
  - `Divider` that is a direct child of a card has no margin, since the card's gap spaces it.
320
378
  - `Drawer` backdrop dims and blurs like `Dialog`, through `--ui-backdrop-bg-color` and `--ui-backdrop-blur`. `.ui-backdrop-transparent` still removes it.
321
379
  - `Drawer` content padding is `--ui-space-3`, like its header and footer and `Dialog`. It was `--ui-space-4`, so the title and the body text didn't line up.
322
380
  - `Drawer` header headings take the free space and the header has a gap, so several actions line up at the end. Without a heading, the first icon-only button is pushed to the end.
323
381
  - `Drawer` sits on `--ui-surface-elevated`, like `Dialog` and `Menu`, and borders and field borders inside it read `--ui-border-color-on-raised` and `--ui-field-border-color-on-raised`.
324
- - `FieldGroup` and `ToggleGroup` in Astro pass the group `name` and selection to their inputs through context instead of rewriting the slot HTML, so a bare `<input>`, `<select>` or `<textarea>` in a `FieldGroup` no longer gets the group `name`, like in React, Svelte and Vue.
382
+ - `Drawer` footer spaces its items and the buttons in its `.ui-actions` by `--ui-space-2`, like `Dialog`, instead of `--ui-space-3`. `card.css` declares `--_footer-gap` for both, so setting it changes either.
383
+ - `FieldGroup` and `ToggleGroup` in Astro pass the group `name` and selection to their inputs through context instead of `Astro.locals`.
384
+ - `FieldGroup` `orientation="horizontal"` (`.ui-horizontal`) lines the fields up at their end and lets a `TextField`, `Textarea`, `Select` or `NumberField` grow from `--_field-min-inline-size` (`11rem`) to share the row, so a field and its button sit on one line, with a `--ui-space-3` gap. A group of choice controls keeps its `--ui-space-4` gap.
385
+ - `Fieldset` rendered as another element with `as` names itself from its `FieldLegend`: it gets `aria-labelledby` pointing at the legend, which takes a generated id in every framework, also over an `id` you pass the legend, unless you pass `aria-label` or `aria-labelledby`.
325
386
  - `Form`, `Fieldset` and `FieldLegend` type `as` in Vue as `"div" | "form"`, `"div" | "fieldset"` and `"legend" | "p"`.
326
387
  - `Link` (`.ui-link`) and rich text links darken in light mode and lighten in dark mode on hover and focus, from their own color so they keep the contrast of `--ui-primary-text`, and their underline gets `--ui-underline-thickness-hover` (`3px`) thick.
327
388
  - `List` start and end icons are smaller: `--ui-icon-size` by default and `--ui-icon-size-small` in dense lists (were `--ui-icon-size-large` and `--ui-icon-size`).
328
389
  - `List` dense rows keep the default inline padding, so they line up with `Card` content.
329
390
  - `List` only styles direct `li`/`option` children (and options in a `[role="group"]`) as rows, so nested lists inside a row stay normal lists. Headings and paragraphs in `.ui-text` have no margin.
330
- - `List` checked `option` uses `--ui-state-active-alpha-accent`.
331
- - `List` selected and current rows and options have a bar on their start edge in `--ui-selected-strong`, and a stronger fill than hover (`--ui-state-active-alpha-accent`, the hover tint with more contrast), so they no longer differ from a hovered row by a tint alone. Selected `Select` options read `--ui-primary-text`. Images and videos in `.ui-start` are `3.5rem` and `4rem` instead of `56px` and `64px`.
332
- - `List` has rounded corners (`--_radius`, `--ui-radius`) and clips its rows to them. As a direct child of a `Card`, `Accordion` or `Dialog` it stays square, since they round and clip it.
391
+ - `List` selected and current rows and options, checked `option`s included, have a bar on their start edge in `--ui-selected-strong`, and a stronger fill than hover (`--ui-state-selected-alpha-accent`, the hover tint with more contrast), so they no longer differ from a hovered row by a tint alone. Images and videos in `.ui-start` are `3.5rem` and `4rem` instead of `56px` and `64px`.
392
+ - `List` has rounded corners (`--_radius`, `--ui-radius`) and clips its rows to them, but still draws the focus ring of a control in `.ui-start` or `.ui-end` of a `.ui-flush` row inside it. As a direct child of a `Card`, `Accordion` or `Dialog` it stays square, since they round and clip it.
333
393
  - `List` dense rows are `--ui-control-size-small` tall instead of a fixed `--ui-space-7`, so they follow `--ui-density`.
394
+ - `List` `flush` (`.ui-flush`) also drops the block padding of the list, like `Table` `flush` drops its margin, so a flush list in a card sits on the card padding.
334
395
  - `Progress` outlines its track with `--ui-field-border-color`, so the empty part is visible.
396
+ - `Progress` fills its bar with `--ui-selected-strong`, the role the done part of a `Stepper` and a tracked `Timeline` reads, so a theme that sets it recolors all three. It's `--ui-primary` unless a theme sets it.
335
397
  - `Radio` is `--ui-choice-size` (20px) like `Checkbox`, instead of 18px.
336
398
  - `Range` pressed thumb ring reads `--ui-state-active-alpha-light` and `--ui-state-active-alpha-dark`, so it is 30% in dark mode (was 20%).
337
- - `Range` with more contrast draws its empty track in the page color with an inset `--ui-field-border-color` edge, so the fill stands out from it.
338
399
  - `Range`, `Switch` and `TextField` invalid states use `--ui-invalid`.
339
400
  - `Range` generates the `<datalist>` id when `items` or the `datalist` slot is used, so `list` is optional.
340
- - `Range` in Vue scopes the `value-text` slot with the current `value`, so custom readout content follows the thumb.
341
- - `Range` with a value readout announces each step once, with its unit: the input gets `aria-valuetext` (the value and `valueSuffix`) and the `.ui-value` output `aria-live="off"`, so screen readers no longer read the value twice. In HTML, `initRange()` keeps `aria-valuetext` in sync when the output has a `data-suffix`.
401
+ - `Range` in Vue keeps its readout in step with the thumb through `opui-css/css/js/range.js`, like Astro, with `data-live` on the `<output>`. Custom readout content in `value-text` renders from the value you bind.
402
+ - `Range` with a value readout announces each step once, with its unit: the input gets `aria-valuetext` (the value and `valueSuffix`) and the `.ui-value` output `aria-live="off"`, so screen readers no longer read the value twice. In HTML, `range.js` keeps `aria-valuetext` in sync when the output has a `data-suffix`.
342
403
  - `Range` thumb, halo and track fill follow `--_accent` on `.ui-range`.
343
- - `Select` keeps the browser's checkmark at the end of the selected option instead of hiding it.
344
404
  - `Select` group labels take a shade of the picker's surface and `--ui-text` for their text, instead of fixed gray steps.
345
405
  - `Select` chevron flips when the picker opens, with a transition, like the `Accordion` flip marker.
346
406
  - `Select` and `TextField` auto-suggest arrows share one size and inset, and keep the same space for the arrow, at every size.
347
407
  - `Select` and `TextField` auto-suggest arrows are a chevron instead of a triangle.
348
- - `Select` pickers and `Drawer` use `--ui-shadow-overlay` (`--shadow-3`, was `--shadow-2`), like `Menu`.
349
408
  - `Select` picker paints `--ui-surface-elevated` with the raised edge and the `-on-raised` borders inside, like `Menu`, instead of `--ui-surface-filled` with a field border, so a theme that tunes overlays changes both.
350
409
  - `Spinner` shows on busy buttons and links that have `aria-describedby`. Other elements with `aria-describedby` still opt out, for the progress bar pattern.
351
410
  - `Spinner` styles have no specificity (`:where()`), so a page's own `::before` rules override them, like other component roots.
352
411
  - `Spinner` ring is at least `--ui-border-width-thick` and grows with its size (`0.1875em`, `3px` at `16px`).
353
412
  - `Switch` unchecked track border is `--ui-field-border-color`, like the checkbox and radio borders, instead of the dot color.
354
413
  - `Switch`, `Tooltip`, `Textarea`, `Table`, `List`, `Tabs`, `Spinner`, `Dialog`, `Drawer` and the typography styles use logical properties only (`min-inline-size`, `inset-inline-start`, `padding-block`/`padding-inline`, `resize: block` …), so they follow the writing mode, and the `DescriptionList`, `Range`, `Select` and `TextField` container queries read `inline-size`. Horizontal left-to-right rendering is unchanged.
355
- - `Switch` turns its checked track red when invalid, like `Checkbox` and `Radio`, with a `--ui-on-fill` thumb.
414
+ - `Switch` marks an invalid switch like an invalid `Checkbox` or `Radio`: its track border is `--ui-invalid`, and a checked track turns red with a `--ui-on-fill` thumb, instead of a ring around the track that pushed the focus ring out and looked like a focus ring in forced colors.
415
+ - `Switch` turns on and off at once, like `Checkbox` and `Radio`: the track and the thumb no longer transition, so a click or tap shows right away. `switch.css` no longer declares `--_motion`, `--_duration` and `--_ease`, which `choice.css` still sets for the card focus ring.
356
416
  - `Table` centers a checkbox that is alone in a cell and shrinks the column to fit it.
357
417
  - `Table` dense cells have less block padding.
418
+ - `Tabs` slide the selected pill, or the line of `.ui-line`, to the tab you select over `--_indicator-duration` (`--ui-duration`), where anchor positioning works: one indicator on the root follows the checked tab's `::before`, and each tab draws its part of the track on its `::after`. Elsewhere, and in forced colors, the pill stays on each tab and fades.
358
419
  - `Textarea` minimum height is three lines plus padding at every size. Small was a fixed 64px.
359
420
  - `TextField`, `Select` and `Textarea` with `.ui-small` set their text in `--ui-font-size-small`, like small buttons, instead of the default size. On touch screens, small and x-small fields keep `--ui-font-size-control`, since iOS Safari zooms in on a focused field with text under 16px.
360
421
  - `TextField` file input takes `--ui-shadow-field` like other fields instead of an inset Open Props shadow, so it's flat by default.
361
422
  - `TextField`, `Textarea`, `Select` and `Range` with `spread` split their container into equal label and field columns, so spread fields line up at one width. The fixed `30ch` textarea and `25ch` range minimums are gone.
362
423
  - `TextField`, `Textarea` and `Select` keep a `12ch` minimum width in table cells.
363
- - `ToggleButton` when checked is filled with `--ui-primary` (or `--ui-selected`) instead of a tint.
424
+ - `TextField` and `Textarea` render a `div` root instead of a `label` when they have no `label`, like the HTML of a field named with `aria-label`.
425
+ - `ToggleButton` when checked is filled with `--ui-primary` (or `--ui-selected`) instead of a tint, and keeps the fill on hover, also in a `ToggleGroup`: it lightens a fill darker than L 0.3 and darkens the rest, like a filled `Button`, and doesn't change on a disabled button. Its focus ring takes `--ui-on-selected` (or `--ui-on-primary`), so the inset ring shows on the fill in dark mode.
364
426
  - `ToggleButton` standalone and `Chip` outlined take `--ui-shadow-control` like buttons (none by default), and toggle corners are capped at half the control height so a round `--ui-button-radius` doesn't clip grouped toggles.
365
427
  - `ToggleButton` and `ToggleGroup` text shrinks with the size like `Button`: `--ui-font-size-small` when small and `--ui-font-size-caption` when x-small.
366
428
  - `ToggleButton` disabled state uses `--ui-disabled-opacity` like `Button`, and `--ui-text-disabled` when unchecked (a checked one keeps its selected text color), its hover uses `--ui-state-hover-alpha-light`, and `ToggleButton` and `ToggleGroup` read `--ui-button-size*` instead of `--ui-field-size*`.
367
429
  - `ToggleButton` grows from `--ui-button-size` with its content instead of having a fixed height.
368
- - `ToggleGroup` is in the `components.extended` layer, like `ButtonGroup`.
430
+ - `ToggleGroup` is in the `components.extended` layer, like `ControlGroup`.
431
+ - `ToggleGroup` warns in development when it has no `aria-label` or `aria-labelledby`, since a single-select group renders `role="radiogroup"`, which needs a name.
432
+ - `Tooltip` without an arrow scales in from `0.96` as it fades, like `Menu`. Tooltips with `.ui-arrow` only fade, since a scale would move the arrow's containing block.
369
433
  - `Tooltip` uses `--ui-surface-inverse` and `--ui-on-inverse`.
370
434
  - `Typography` inline `code` in rich text is rounded with `--ui-radius-small` (5px by default) like `kbd` and `mark`, instead of the full `--ui-radius`.
371
435
  - `Typography` rich text spacing derives from one flow space (`1.25em` of the body text), and every margin derived from it snaps to `--ui-rhythm-step`. Headings get more space above than below, so they sit closer to the text they introduce, and lists with block content, description lists, `details`, `address`, code blocks and figures follow the same rhythm.
@@ -381,31 +445,28 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
381
445
  - `Typography` overlines (`.ui-overline` and the first paragraph of a heading group) read `--ui-text-subtle` instead of a lighter or darker `--ui-text` of their own, and follow more contrast through the role.
382
446
  - `Typography` `kbd`, `var`, `.ui-kbd` and `.ui-var` sit on `--ui-surface-inverse` with `--ui-on-inverse` text, like `Tooltip`, instead of on `--ui-text`.
383
447
  - `--ui-field-border-color` is a 50% mix of the text color into the page (3:1 or more) instead of `--ui-border-color`, so fields, checkboxes, radios, switches and the range track have a visible boundary without more contrast. Inside filled surfaces it mixes into `--ui-surface-filled` the same way. The example themes keep their own.
384
- - `--ui-invalid` is lighter in dark mode with more contrast, so invalid fields, checkboxes, radios, switches and ranges keep a visible edge.
448
+ - `dist/opui.components.css` needs `core/normalize.css`, or another reset that makes every box `border-box`, as the README now says: `Checkbox` and `Radio` no longer set `box-sizing` themselves, like the other components.
385
449
  - `normalize.css` sets `box-shadow` instead of `-webkit-box-shadow` on autofilled fields, and font and color inheritance on `::file-selector-button`.
386
450
  - `normalize.css` reads `--ui-line-height-relaxed` for the page line height, `--ui-icon-size-large` for an `svg` without `width` (`1.5rem` instead of `2rem`) and `--ui-space-7` for the scroll margin of `:target`.
451
+ - `normalize.css` turns the page's smooth scrolling off with `.ui-motion-off` on `html` and on with `.ui-motion-on`, like every transition, instead of following only `prefers-reduced-motion`.
387
452
  - `open-props` is an optional peer dependency. `theme.css` and the example themes read nothing from Open Props: the sizes, radii, border size, easings, font stacks, font weights, hues and shadow shapes they took from it are written into `theme.css` with the same values, so `tokens.json` holds no `var(--size-2)` style values. `css/imports.css` no longer imports `open-props.css`, so a bundler build needs no `open-props` package. `dist/opui.css` still bundles Open Props, and `opui-css/open-props` (`dist/op.css`) and `open-props.css` stay for your own CSS. Install `open-props` only to import `open-props.css`.
388
453
  - `open-props.css` imports the Open Props files one by one instead of `open-props/src/index.css`, so `dist/op.css` and `dist/opui.css` no longer contain Open Props' `@custom-media` rules. Import `open-props/media` yourself if a PostCSS plugin reads them.
454
+ - `opui-css/vue` exports compiled ES modules with `.d.ts` types, source maps and declaration maps instead of the `.vue` and `.ts` sources, so Nuxt and server rendering in Vite need no `build.transpile` or `ssr.noExternal`, `skipLibCheck` skips its types, and your `compilerOptions` only apply to your own code. The components are compiled in production mode, so Vue no longer warns at runtime about a prop of the wrong type. `opui-css/components/<Name>/<Part>.vue` resolves to the same compiled files, so it shares context with the entry point, and the sources stay in the package for the maps and for reading.
389
455
  - `theme.css` severity scopes (`.ui-critical`, `.ui-info`, `.ui-neutral`, `.ui-success`, `.ui-warning`) take their hue from the intent tokens, and `.ui-neutral` its chroma too, so a theme's `--ui-success` reaches every success surface and its `--ui-neutral` every neutral one. `--ui-neutral` and the named colors set the lightness of palette steps 7 and 9 as a number instead of reading the element's own palette, so a severity class also keeps its palette on a `.ui-palette` or `.ui-contrast-more` element.
390
- - `theme.css` `--ui-primary` is `--ui-color-9` in light mode and `--ui-color-6` in dark mode, and `--ui-on-primary` is dark in dark mode, so text on primary and primary text both pass WCAG AA in light and dark.
456
+ - `theme.css` `--ui-primary` is `oklch(0.499 0.191 222.8)` in light mode, with the hue of the palette source and a chroma that follows `--ui-palette-chroma` up to `0.191`, and `--ui-color-6` in dark mode, and `--ui-on-primary` is dark in dark mode, so text on primary and primary text both pass WCAG AA in light and dark.
391
457
  - `theme.css` declares every palette knob, `--ui-palette-hue`, `--ui-palette-chroma`, `--ui-palette-hue-rotate-by`, `--ui-gray-hue` and `--ui-gray-chroma`, and `core/palette.css` no longer declares its own, which disagreed with `theme.css` and never applied. `.ui-palette` and the severity scopes inherit the knobs from their ancestors instead of resetting them to the defaults.
392
458
  - `theme.css` derives `--ui-on-primary` from `--ui-primary` and `--ui-on-warning` from `--ui-warning` with relative color, from the fill's relative luminance (the `y` of `xyz-d65`): white text on a fill below 0.182 and near-black above it, so either side keeps 4.5:1 and custom primaries get readable text.
393
459
  - `theme.css` named colors use the Open Props hue angles: `--ui-blue` is `240`, `--ui-green` `145`, `--ui-orange` `75` and `--ui-red` `25`, like the severity scopes. `--ui-info` and `--ui-blue` use `240`, the same blue as the `.ui-info` palette. White text on an info `Badge` is 4.58:1.
394
460
  - `theme.css` is in the `theme.base` layer instead of `theme`, so overrides in `@layer theme` or `@layer theme.custom` beat the defaults wherever they load.
395
461
  - `theme.css` control and chip sizes are in `rem` (`1.75rem`, `2rem`, `2.5rem` and `3rem`, and `1.5rem` for the x-small chip) instead of `px`, like the choice, switch and icon sizes, so the whole size scale follows the root font size. At the default 16px the sizes are the same, except `--ui-control-size-large`, which is 48px instead of 46px, so large buttons, fields, toggles and selects grow by 2px.
396
- - `themes/bootstrap.css` follows Bootstrap 5 closer: `oklch(0.91 0.007 248)` field borders, gray secondary default buttons (`oklch(0.525 0.017 245)`, darker than Bootstrap's `oklch(0.558 0.016 245)` so their text reads on the tonal surface and on the tint behind a `kbd` shortcut, and `oklch(0.77 0.014 248)` in dark mode), the danger, warning, info and neutral colors and the subtle alert palettes on the severity scopes, white 32px switches, 16px checks with 4px corners and no ripple, `0.75rem` button and field padding, `0.875rem` helper text, solid blue selected items, black tooltips, 1.5 line height, no heading letter spacing, no backdrop blur and no shadow on dropdowns, modals and drawers. The contrast test lists its field border as a known exception.
397
- - `themes/brutalist.css` follows neobrutalism closer: the `oklch(0.92 0.019 266)` and `oklch(0.283 0.019 276)` pages, white fields and tracks, 500 weight body text, 700 headings, 14px control text, main-colored filled buttons and selected items, state layers instead of fills on hover, black links, main-colored tooltips, 24px card padding, 8px menu item padding, 16px checks with 5px corners, the hard shadow on dialogs and menus, and 36px and 44px small and large controls.
398
- - `themes/m3.css` follows Material 3 closer: the error red, 8% and 10% state layers on every button, 24px button padding, 28px dialogs, 4px menus, 8px chips, 18px checkboxes, 52 by 32px switches with the outline thumb, 16px field padding, on-surface body text with on-surface-variant secondary text, primary tab labels and line indicators, the inverse surface for tooltips, the emphasized easing, a 32% scrim without blur, no rim on elevated cards and 1.5 line height.
399
- - `themes/shadcn.css` follows shadcn/ui closer: the accent tint on hover instead of a fill, 16px button padding, 32px small and 40px large controls, 8px chips and menus, 10px dialogs, 16px checks with 4px corners, a 32px switch with a white thumb, the destructive red, primary-colored tooltips, 16px icons, 14px helper text, placeholders, descriptions and tab labels in a slightly darker muted gray (`oklch(0.52 0 0)`, so it reads on tonal and checked cards), 12px field padding, 24px card padding, 8px menu item padding, 0.5 disabled opacity, 1.5 line height and the Tailwind shadows for selected tabs and scroll edges.
400
462
 
401
463
  ### Fixed
402
464
 
403
465
  - `Accordion` summaries, `Button`, `Checkbox`, `Radio` and `Switch` labels, `List` items on touch screens, `Tabs` labels, `ToggleButton` and disabled fields, fieldsets and ranges can no longer be selected by a press or a drag in Safari, which only reads `-webkit-user-select`, like in Chromium and Firefox.
404
- - `Accordion`, `Avatar`, `Divider`, `List`, `Progress`, `Range`, `Select`, `Switch`, `Tabs`, `Textarea`, `TextField` and `ToggleButton` keep their state visible in forced colors mode: selected tabs, toggles and list items use `SelectedItem`, switches, ranges, progress bars and dividers are drawn with system colors, focused fields get a `Highlight` outline, elevated and tonal accordions get a `CanvasText` border, and letter avatars an outline.
466
+ - `Accordion`, `Avatar`, `Divider`, `List`, `Progress`, `Range`, `Select`, `Switch`, `Tabs`, `Textarea`, `TextField` and `ToggleButton` keep their state visible in forced colors mode: selected tabs, toggles and list items use `SelectedItem`, with `SelectedItemText` for a list item's description too, switches, ranges, progress bars and dividers are drawn with system colors, focused fields get a `Highlight` outline, elevated and tonal accordions get a `CanvasText` border, and letter avatars an outline.
405
467
  - `Accordion` focus ring is drawn inside the summary of `.ui-elevated`, `.ui-outlined`, `.ui-tonal` and grouped accordions, so the card no longer clips it, and outside the summary of a transparent accordion, so it no longer cuts through the text and marker.
406
468
  - `Accordion` content in a transparent group lines up with the summary.
407
469
  - `Accordion` group styles only apply to a `Card` with `role="group"` whose accordions are direct children, so a card with an accordion inside its `CardContent` keeps its layout and padding.
408
- - `Accordion` (elevated and tonal) and the default `Callout` remap `--ui-border-color` and `--ui-field-border-color` like raised cards, so dividers and field borders inside them stay visible in dark mode.
409
470
  - `Accordion` summaries with a marker let their items shrink and cut off with an ellipsis, so a badge, a chip or a long word no longer pushes the marker out.
410
471
  - `Accordion` actions keep room for the focus ring, so the last button's ring isn't clipped in a transparent group.
411
472
  - `Anchor` with `trigger="hover"` and `Tooltip` stay visible on a scrolled page in Chrome 141. `normalize.css` gives `html` `min-block-size: 100%` instead of `block-size: 100%`, and `body` `min-block-size: 100svb` instead of `100%`, because `position-visibility: anchors-visible` hid every popover whose trigger was below the first screen.
@@ -413,32 +474,28 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
413
474
  - `Anchor`, `Badge`, `Divider`, `Drawer`, `TableColumn`, `Tabs`, `ToggleButton` and `ToggleGroup` in Vue update derived values when props change.
414
475
  - `Anchor` and `Tooltip` inside a `Badge` no longer shift their floating element by the badge's offset.
415
476
  - `Anchor` and `Tooltip` default to `self-` `position-area` keywords (`self-start self-end` and `self-block-start`), so floating content follows its own writing direction and mirrors in a right-to-left part of a left-to-right page. Before, it followed the page's direction while its margins followed its own.
416
- - `Avatar` doesn't shrink in flex rows.
417
- - `Avatar` groups overlap from the start, so the group's box ends at its last avatar.
477
+ - `Anchor` hover cards and `Tooltip` open in browsers without interest invokers: `css/compat/anchor.css` and `css/compat/tooltip.css` show them while the trigger is hovered or has keyboard focus, and a hover card also while the pointer or the focus is in it. A tap follows the hover card's link there. A tooltip isn't in the top layer there, so an ancestor that clips its overflow and has a transform, filter or containment can hide it, and later content can cover it.
478
+ - `Avatar` and `Badge` no longer shrink in flex rows, so an icon with a badge in an `Accordion` summary keeps its size next to long text. A bare `img` or `svg` in the summary keeps its size too.
418
479
  - `Avatar` in Vue accepts arrays and objects for `class`, and the image always has an `alt` attribute.
419
480
  - `Avatar`, `Button` and `Chip` share one helper for `disabled`, `aria-disabled`, `href` and `type`, so they render those attributes the same way in every framework.
420
481
  - `Avatar` button and link avatars dim and show the not-allowed cursor when disabled.
421
- - `Badge` no longer shrinks in flex rows, so an icon with a badge in an `Accordion` summary keeps its size next to long text. A bare `img` or `svg` in the summary keeps its size too.
422
- - `Badge` severity colors use their own text color instead of `--ui-on-primary`, and warning badges use `--ui-on-warning`, dark text on the warning fill.
423
- - `Badge` and `Tabs` respect `--ui-motion` and `prefers-reduced-motion`.
482
+ - `Avatar`, `Button`, `Checkbox`, `Chip`, `ControlGroup`, `Dialog`, `Drawer`, `Fieldset`, `List`, `Radio`, `Switch`, `Tabs` and `ToggleGroup` keep the attributes they set, such as `aria-labelledby`, `role` and `type`, when a caller passes the same attribute as `undefined` or `null`, as a wrapper that forwards its props does. This holds for every component in React, Svelte and Vue, and in Astro for the components that render a dynamic tag or a custom element.
483
+ - `Badge`, `Tabs` and `Tooltip` transitions respect `--ui-motion` (`prefers-reduced-motion`, `.ui-motion-off`).
424
484
  - `Badge` indicators mirror in RTL.
425
485
  - `Badge` dots sit in every corner, not only the default one.
426
486
  - `Badge` and `Anchor` no longer write the unused `--_anchor-inset`, and aligned badges no longer write `--ui-anchor-position-area`.
427
487
  - `Badge` with `invisible` hides the indicator from screen readers too.
488
+ - `Badge` in Astro renders `label` and the `indicator` slot next to each other, without the space its source line break added, like React, Svelte and Vue.
428
489
  - `Button` `kbd` uses the button's text color, also on hover, instead of 80% of it, so it passes contrast on colored buttons.
429
490
  - `Button` critical text buttons have readable text on tonal surfaces in dark mode.
430
- - `Button` and `ButtonGroup` style `[aria-disabled="true"]` the same as `[disabled]`, e.g. for `<a class="ui-button" aria-disabled="true">` or focusable disabled buttons.
431
- - `Button` and `ButtonGroup` hover styles only apply on devices that support hover, so they no longer stick after a tap.
491
+ - `Button`, `Checkbox`, `ControlGroup`, `Radio`, `Switch` and `ToggleButton` style `aria-disabled="true"` like `disabled`, on a link or a focusable button (`<a class="ui-button" aria-disabled="true">`) or on the input: dimmed, with a `not-allowed` cursor, and buttons and toggle buttons get no hover or press styles. The browser doesn't block the change of an input, so a script has to.
432
492
  - `Button` disabled text color applies to text and outlined buttons in every color. Filled and tonal buttons keep their own text color and dim with the disabled opacity, so the label stays readable on the fill.
433
- - `Button`, `ButtonGroup`, `Card`, `Range`, `Select`, `Tabs`, `Textarea`, `TextField` and `ToggleButton` focus rings grow in like the rest of the library. `normalize.css` animates the `:focus-visible` ring with the `ui-focus-ring` keyframes instead of an `outline-offset` transition, which a component's own `transition` overrode.
434
- - `Button`, `Chip`, `Checkbox` and `Radio` show no hover or active state inside a disabled fieldset.
493
+ - `Button`, `Card`, `ControlGroup`, `Range`, `Select`, `Tabs`, `Textarea`, `TextField` and `ToggleButton` focus rings grow in like the rest of the library. `normalize.css` animates the `:focus-visible` ring with the `ui-focus-ring` keyframes instead of an `outline-offset` transition, which a component's own `transition` overrode.
435
494
  - `Button` without a variant shows its pressed background while held with the keyboard, like outlined, tonal and filled buttons.
436
495
  - `Button` with `.ui-primary` or `.ui-critical` and an accent darker than L 0.3 lightens on hover and press like other buttons, instead of darkening further.
437
- - `ButtonGroup` only styles its direct child buttons, so a `Menu` inside it (split button) keeps its own item styles.
438
- - `ButtonGroup` dividers are no longer double thick.
439
- - `ButtonGroup` vertical only squares icon-only buttons.
440
- - `ButtonGroup` vertical `small` items are as tall as their size.
441
- - `ButtonGroup` focus rings stay off the label when a theme or more contrast widens the ring.
496
+ - `Button`, `Checkbox`, `Chip`, `ControlGroup`, `List`, `Radio`, `Range` and `Switch` match a disabled control with `:disabled` instead of the `[disabled]` attribute, so inside a disabled `fieldset` they look disabled and show no hover or active state, and a `Range` gets the disabled thumb and no hover ring.
497
+ - `Button` marks the current page (`aria-current="page"`) with `SelectedItem` in forced colors, where its tint is dropped.
498
+ - `Button` with `aria-current="page"` stands out from the other pages in every variant and theme. In a filled `ControlGroup` it drops its fill and reads like a text button, where it kept the light text of the fill on a pale tint. Text and outlined buttons take `--_accent` at `--ui-state-selected-alpha-accent` instead of the pressed tint, tonal ones shade their fill by that alpha away from the text, and all three use `--ui-text-strong`, where the current page barely differed from tonal neighbors in some themes and lowered gray text under 4.5:1. A filled, outlined or tonal `Button` outside a group shows the current page too, like one in a group.
442
499
  - `Callout` keeps bare text and inline elements like links on one line instead of stacking them as separate rows.
443
500
  - `Callout` only uses the icon layout for a direct child `svg`, keeps its content at the top when stretched, and no longer shows lighter corners.
444
501
  - `Callout` rich text inside `.ui-content` no longer gets doubled margins.
@@ -450,11 +507,9 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
450
507
  - `Card` wraps long words.
451
508
  - `Card` actions line up a plain last button with the content, and no longer pull a filled or outlined last button to the edge.
452
509
  - `Card` actions keep the edge padding for a text button with extra classes.
453
- - `Card`, `ToggleButton`, `Checkbox`, `Radio`, `Switch` and the busy spinner read the local `--_motion`, so `style="--_motion: 0"` turns off their focus ring animation, hover halo and spin speed-up like other components.
510
+ - `Card`, `Checkbox`, `Radio`, `Select`, `Switch`, `ToggleButton` and the busy spinner read the local `--_motion`, so `style="--_motion: 0"` turns off their focus ring animation, hover halo, picker animation and spin speed-up like other components.
454
511
  - `Card`, `Accordion` and `Dialog` actions line up the label of a text button at their start or end with the content: the button pulls itself out by its padding and border (`--_actions-shift`), as far as the focus ring stays inside the card. Accordion actions had no compensation, so the label sat 14px inside the content edge.
455
512
  - `Card` content followed by a divider has no bottom padding, so the divider sits evenly between the two contents.
456
- - `Carousel` leaves room around the items for their box shadows (`--_shadow-room`, `--ui-space-3`), so the scroll container no longer clips a card's shadow at the bottom or at the scroll end. It is padding that a negative margin cancels, so the layout and the button and marker positions stay the same. On the scroll axis the room is at most `--_gap` and shrinks by the peek, so the next item stays hidden.
457
- - `Checkbox`, `Radio`, `Switch` and `ToggleButton` style `aria-disabled="true"` on the input like `disabled`: dimmed, a `not-allowed` cursor and no hover tint on toggle buttons. The browser doesn't block the change, so a script has to.
458
513
  - `Checkbox` and `Radio` show a red border when invalid and unchecked (`aria-invalid="true"` or `:user-invalid`), like Switch and TextField. Before, only a checked control turned red.
459
514
  - `Checkbox` forced-colors styles apply to checked and indeterminate boxes.
460
515
  - `Checkbox` and `Radio` required asterisks in stacked labels sit after the label in RTL.
@@ -468,10 +523,15 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
468
523
  - `Checkbox` and `Radio` no longer set `--ui-primary` when invalid, so links and other content in their label keep the primary color.
469
524
  - `Checkbox`, `Radio`, `Switch`, `TextField`, `Textarea`, `Select` and `Fieldset` required asterisks are left out of the accessible name, so screen readers don't read "star".
470
525
  - `Checkbox`, `Radio`, `Range`, `Select`, `Switch`, `TextField` and `Textarea` in Vue render a text prop and its slot together, like Astro, instead of dropping the prop.
526
+ - `Checkbox`, `Radio`, `Select`, `Switch`, `TextField` and `Textarea` in Astro and Vue render the label slot without the whitespace around its content, like React and Svelte, so a required field no longer shows a space before its asterisk.
471
527
  - `Checkbox` draws a disabled box in `GrayText` in forced colors mode, like `Switch`, instead of the enabled colors at reduced opacity.
528
+ - `Checkbox`, `Radio`, `Select`, `Switch`, `Textarea` and `TextField` get a dashed border when invalid in forced colors, where the red is forced away: on the input, switch track or card, and around the field.
529
+ - `Checkbox`, `Radio`, `Range`, `Select`, `Switch`, `Textarea` and `TextField` in Vue keep what the user changed before the page hydrated (typed, picked, filled in by a password manager or restored by the browser) instead of resetting it. A form reset returns them to the value or state they were rendered with, also when the browser rendered them, and sets the `v-model` value to it, a number `TextField`'s as a number. A `Checkbox` or `Switch` bound to an array adds or removes its value instead of replacing the array with `true` or `false`. A color `TextField` without a value no longer logs a warning in Nuxt.
472
530
  - `Chip` with a start and an end icon gets the smaller padding on both sides, and an icon inside `.ui-text` no longer changes the padding.
473
- - `Chip` disabled text color applies to tonal and outlined chips.
474
531
  - `Chip` in Astro only renders `href` when the chip is an `a`.
532
+ - `Chip` button and link chips fade with `--ui-disabled-opacity` when disabled, like a tonal `Button`, and an outlined chip takes `--ui-text-disabled` for its text instead, so a disabled chip no longer keeps its full fill.
533
+ - `ControlGroup` vertical only squares icon-only buttons.
534
+ - `ControlGroup` vertical `small` items are as tall as their size.
475
535
  - `DescriptionList` switches layout based on its own width instead of the page, shares space between long terms and values, and wraps long values. A nested list sizes to its content and follows the outer list's layout, and `.ui-bordered` leaders only apply to the list's own items.
476
536
  - `DescriptionList`, `List` row links, `Card` (and `Dialog`) heading groups, `FieldDescription`, and `Button` and `List` `kbd` no longer pick up rich text padding, margins, font weight or font.
477
537
  - `DescriptionList` no longer clips the focus ring of a link or button in a term.
@@ -482,19 +542,21 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
482
542
  - `Dialog` actions only tighten the end padding when the last button is a text button, keeping room for its focus ring like `Card`, and start-aligned actions use Card's padding, so filled buttons line up with the content.
483
543
  - `Dialog` and `Drawer` only style their own direct parts, so a Callout, Card or TextField inside them keeps its own padding and alignment.
484
544
  - `Dialog` and `Drawer` open without a focus ring around them. Safari focuses the `dialog` itself when nothing inside it is in the Tab order, and `normalize.css` drew its focus ring there. The ring stays on the controls inside, and the rule no longer needs `!important`.
545
+ - `Dialog` sets `pointer-events: auto` when open, instead of the SVG-only value `all`.
546
+ - `Dialog`, `Fieldset`, `Range`, `Select` and `TextField` take an empty `id` as no `id` and generate their part ids, so two of them with `id=""` no longer share ids such as `-label` or `-title`. `NumberField` does the same.
485
547
  - `Drawer` is hidden (`display: none`) when closed, so it is no longer keyboard focusable.
486
548
  - `Drawer` with `.ui-backdrop-transparent` (`backdrop="transparent"`) no longer dims the page behind it. It only removed the blur before.
549
+ - `Drawer` with a transparent backdrop locks the page below `31.25rem` instead of `500px`, so the threshold follows the reader's font size.
487
550
  - `FieldGroup` `name` only applies to its own fields in Astro and Vue.
488
- - `FieldGroup` `orientation="vertical"` stacks a group of only buttons.
489
551
  - `FieldGroup` in Vue passes a `name` that changes or comes from an outer group to its inputs.
490
552
  - `Fieldset` no longer overrides the error color of an invalid `Checkbox`, `Radio` or `Switch` end text inside it. Its helper styles only apply to its own end text.
491
553
  - `Fieldset`, `FieldLegend`, `FieldDescription`, `FieldGroup` and `Form` in Vue no longer apply attributes and listeners twice.
554
+ - `Fieldset` with `disabled` dims its legend, description and end text instead of the whole fieldset, so the controls inside, which dim themselves, are no longer dimmed twice.
492
555
  - `Form` only resets the margin of dividers that are its direct children, text dividers included, so dividers nested deeper keep `--ui-divider-gap`.
493
- - `List` and `Menu` descriptions on a selected or current row, and `Select` options, read `--ui-on-selected` when a theme sets it, instead of keeping `--ui-text` on the selected fill.
494
556
  - `List` separators (`.ui-bordered`, `.ui-border-top`) are visible on tonal lists in dark mode.
495
557
  - `List` text can shrink below its longest word, and `.ui-inset` follows the dense gap.
496
558
  - `List` and `Table` borders on filled lists and table headers are visible in light mode.
497
- - `List` keyboard shortcuts in `.ui-end` pass contrast.
559
+ - `List` keyboard shortcuts in `.ui-end` pass contrast: a `kbd` takes the description color, `--ui-on-selected` in a selected row, instead of 70% opacity.
498
560
  - `List` rows with a video keep their end padding on the text side in right-to-left.
499
561
  - `List` row text styles no longer reach the `.ui-text` of buttons and chips inside a row, and `.ui-end` only sizes `svg` icons that are its direct children.
500
562
  - `List` `.ui-dense` also shrinks group labels in grouped lists, such as a dense Select.
@@ -506,11 +568,14 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
506
568
  - `List` `.ui-end` passes clicks to a `label`, `select`, `summary`, `textarea` or `[tabindex]` element inside it, not only to links, buttons and inputs.
507
569
  - `List` rows no longer force every element inside them to the row's font size, so a `Chip`, `Badge` or `Button` in `.ui-start` or `.ui-end` keeps its own size.
508
570
  - `List` on touch screens only stops text selection in clickable rows (`a`, `button` and `label`), so end text and `Select` options can be selected and copied.
571
+ - `List` options with `aria-selected="true"` keep their text color like a checked option or the current link, instead of turning `--ui-primary-text`.
572
+ - `List` renders `role="list"`, so Safari keeps announcing a list without bullets as a list with its item count outside a `nav`.
509
573
  - `ListItem` with `href` and no `as` renders a link in Astro and Vue.
510
574
  - `ListItem` with `as="button"` renders `type="button"`, so it no longer submits a surrounding form.
511
575
  - `ListItem` `inset` no longer indents the label of a Chip or Button placed in `.ui-end`.
512
576
  - `ListItem` with `type` renders the default slot inside `.ui-text` (or before `.ui-end` when there's no text), like it does without `type`.
513
577
  - `ListItem` with `as="button" disabled` (or `aria-disabled="true"` on a link) looks disabled in a plain `List` too: dimmed, `not-allowed` cursor, no hover tint.
578
+ - `ListItem`, `Range`, `Textarea` and `TextField` in Vue follow a slot the parent adds or removes after they mount: an end text behind `v-if` shows and is linked with `aria-describedby`, and a `label` slot added later makes the `TextField` root a `<label>`.
514
579
  - `Progress` pulses in place under reduced motion (`--ui-motion: 0`, or `--_motion: 0` on the bar) instead of freezing. Its indeterminate animation was scaled to `0s`.
515
580
  - `Progress` in Astro types `max` and `value` like React and Svelte, instead of intersecting them with the native `progress` attributes.
516
581
  - `Radio` large (`.ui-large`) uses `--ui-choice-size-large`. It was the same size as the default.
@@ -519,24 +584,26 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
519
584
  - `Radio` dot stays centered at every zoom level and screen scale. It's a `radial-gradient()` on the input's background instead of a separate `::after` box.
520
585
  - `Radio` in Vue follows a passed `checked` without `v-model`.
521
586
  - `Radio` in Vue compares `v-model` with its `value` like a native radio, so `ref(1)` checks the radio with `value="1"`.
587
+ - `Radio` no longer puts the required asterisk on every option of a required group; the group's legend carries it.
522
588
  - `Range` focus ring sits `--ui-focus-ring-offset` outside the thumb instead of `1ex` outside the track, also at every size.
523
- - `Range` with `spread` (`.ui-spread`) collapses to a column when narrower than 400px, like `TextField`. The container query had no container, so it never applied, and the slider's minimum width could push its parent wider.
589
+ - `Range`, `Select`, `TextField` and `Textarea` with `spread` (`.ui-spread`) collapse to a column when narrower than `25rem`, a breakpoint that follows the reader's font size. The field was squeezed next to the label, and the `Range` container query had no container, so it never applied and the slider's minimum width could push its parent wider.
524
590
  - `Range` in Vue shows the default value without `value` or `v-model`, and `v-model` returns a number.
591
+ - `Range` writes the live readout through the `<output>` text node instead of replacing it, so each input no longer re-styles the whole page through `:has()` rules.
525
592
  - `Range` and `ToggleButton` in Vue take the `FieldGroup` name.
526
593
  - `Range` invalid state colors the thumb and its halo too, except on a disabled range.
527
- - `Range` fills the track in Chromium and Safari without JavaScript, also in plain HTML, with a scroll-driven animation. The hover ring is no longer clipped at min or max.
594
+ - `Range` hover ring is no longer clipped at min or max.
528
595
  - `Range` with `spread`, a value and tick marks no longer draws the value over the tick labels, and the end text of a narrow spread range no longer overlaps the slider or the tick labels.
529
596
  - `Range` tick labels line up with the thumb at both ends.
530
- - `Range` updates its value `<output>` after its form is reset, in every browser, and leaves it when a `reset` listener cancels the reset. In Vue and Svelte, a range rendered on the client resets to the value it started with, instead of the middle of its range.
597
+ - `Range` updates its value `<output>` after its form is reset, in every browser, and leaves it when a `reset` listener cancels the reset. In Vue the bound value follows the reset, so custom readout content does too.
531
598
  - `Range` (Astro) updates its value output after `<ClientRouter>` navigation, leaves `value-text` slot content and ranges it didn't render alone, and wires each output once.
532
599
  - `Range` thumb stays centered on the track when `--_thumb-size` or `--_track-block-size` changes, also on touch screens.
533
- - `Range` in a disabled `fieldset` gets the disabled thumb and no hover ring, like a disabled range.
534
- - `Range` disabled thumb is opaque, so the track no longer shows through it.
600
+ - `Range` disabled thumb is opaque, so the track no longer shows through it, and takes `--ui-text-disabled`, which more contrast strengthens, instead of a fixed mix.
535
601
  - `Range` value lines up with the label's baseline.
536
602
  - `Range` with a value readout points its root `<label>` at the input, so the label names the slider instead of the `<output>`.
537
603
  - `Range` declares `--_track-block-size` and `--_track-radius` on the root, so setting them on the component works.
538
- - `Range` with `variant="filled"` or `variant="tonal"` darkens its track on press and takes the disabled track color.
604
+ - `Range` tracks, filled, tonal and themed ones included, darken their own color while the thumb is held and keep it when disabled, instead of turning the field border gray.
539
605
  - `Range` hides its tick mark `<datalist>` from assistive technology with `aria-hidden="true"`, so it isn't exposed as an unnamed listbox next to the slider.
606
+ - `Range` shows its filled track in `SelectedItem` in forced colors in Chromium, which dropped the gradient the fill is drawn with.
540
607
  - `Select` with `spread` centers its arrow on the field.
541
608
  - `Select` keeps its arrow and its space at the inline end in RTL. The arrow covered the text.
542
609
  - `Select` keeps its padding and the height of the other fields in browsers that keep the `<button>` inside the `<select>` but have no customizable select, like Firefox, and wherever React, Svelte or Vue render it in the browser. The button turned the padding off there.
@@ -547,15 +614,14 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
547
614
  - `Select` and `Range` merge a user `aria-describedby` with the end text id instead of overwriting it.
548
615
  - `Select` (Vue) keeps the browser's selection without `v-model`.
549
616
  - `Select` adds its top slot, start text (`.ui-start-text`), end text and bottom slot to `aria-describedby`, in that order.
550
- - `Select` `--_motion: 0` on the root also stops the picker animation.
551
617
  - `Select` and `Range` in Astro merge a passed `aria-labelledby` instead of rendering the attribute twice.
618
+ - `Select` in Astro closes its `<selectedcontent>` element. The Astro compiler drops the end tag of a literal `<selectedcontent>`, so the whitespace after it ended up inside it.
619
+ - `Select` draws the chevron of a plain select in `--ui-text-strong`, like the customizable select and the autosuggest field.
552
620
  - `Spinner` slows down to 1.5s per turn under reduced motion (`--ui-motion: 0`) instead of ignoring it.
553
- - `Spinner` no longer sets `position: relative` on dialogs and popovers, so a busy `Drawer` stays in place.
554
621
  - `Spinner` keeps the gap in its ring in forced colors, so the spin stays visible.
555
- - `Switch` no longer needs Vite's `import.meta.env` types or runtime for its dev-only missing name warning.
622
+ - `Spinner` no longer makes a busy element `position: relative`, which moved a busy `Drawer` and the absolutely positioned descendants of a busy section, form or row.
556
623
  - `Switch` icons shrink to fit beside the dot when the track is too narrow for both, instead of overlapping the dot.
557
624
  - `Switch` focus ring is rounded.
558
- - `Switch` draws its invalid ring as a `box-shadow`, so the focus ring shows outside it. In forced colors an invalid switch no longer looks focused.
559
625
  - `Switch` gets the pointer cursor, `--ui-line-height-control` line height and `user-select: none` of `Checkbox` and `Radio`.
560
626
  - `Switch` checked icon uses the dot's contrast color, so it shows on the accent track.
561
627
  - `Table` padding no longer grows in narrow containers.
@@ -571,51 +637,48 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
571
637
  - `Tabs`, `TabsItem`, `ToggleGroup`, `Select`, `Range`, `Checkbox`, `Radio` and `Switch` in Vue render the same generated id prefixes as the other frameworks.
572
638
  - `Tabs` in Astro names a `TabsItem` outside a `Tabs` and links its `TabsLabel`, like React and Svelte.
573
639
  - `Tabs` and `ToggleButton` hide their inputs in `tabs.css` and `toggle-button.css` instead of `core/utils.css`, so single-file imports and `dist/opui.components.css` no longer show the radio and checkbox inputs.
574
- - `Tabs` directly in an `Accordion`, `Card` or `Dialog` draw the focus ring inside, so the surface doesn't clip it, and on a filled selected tab the ring takes `--ui-on-selected-strong`, so it keeps 3:1 on the fill.
640
+ - `Tabs` directly in an `Accordion`, `Card` or `Dialog` draw the focus ring inside, so the surface doesn't clip it.
575
641
  - `TabsItem` in Vue follows `id` and `tabId` changes.
576
642
  - `Textarea` no longer adds the border width to its minimum height.
577
- - `TextField`, `Textarea` and `Select` with `spread` (`.ui-spread`) collapse to a column when narrower than 400px. Previously the field was squeezed next to the label.
578
643
  - `TextField` and `Select` small fields are `--ui-field-size-small` (32px) high, like a small `Button`. They were 38px.
579
644
  - `TextField` date, time, week and month inputs no longer grow taller than the field, so small ones are 32px and time inputs are no longer 41px.
580
- - `TextField` file inputs are `--ui-field-size` high. They were 2px taller.
645
+ - `TextField` file inputs are `--ui-field-size` high. They were 2px taller. Their button shrinks the gap around it instead of cutting off its text when a theme's text is too large for the field.
581
646
  - `TextField`, `Textarea` and `Select` keep their field height when a grid or flex parent stretches them, e.g. next to a field with end text. The extra space went into the field.
582
647
  - `TextField` start and end icons are capped at `--ui-icon-size`, so a large icon no longer makes the field taller.
583
648
  - `TextField` autosuggest arrow sits at the inline end in RTL. It overlapped the text.
584
649
  - `TextField` and `Select` without a label are as high as their field. The empty label row added 4px above it.
585
650
  - `TextField` start and end affixes use the field line height, so they no longer make the field taller on pages with a large line height.
586
- - `TextField`, `Textarea` and `Select` no longer darken a filled field on hover when a disabled `fieldset` disables it.
587
651
  - `TextField` with a `list` and `Select` no longer shorten the label by 28px.
588
652
  - `TextField` and `Textarea` with `autoFit` (`.ui-auto-fit`) shrink to their content in a block container or a field group, up to the container's width, and long helper text wraps at the field's width. They filled the container.
589
653
  - `TextField`, `Textarea` and `Select` (Vue) can be edited when given a `value` without `v-model`.
590
654
  - `TextField`, `Textarea` and `Select` required asterisks are spaced like the `Checkbox`, `Radio`, `Switch` and `Fieldset` ones (`0.25ex`).
591
655
  - `TextField` and `Select` with `spread` keep the start text under the label when the field has a top or bottom slot.
592
- - `TextField`, `Select` and `Textarea` look disabled when a disabled `fieldset` disables the control or it has `aria-disabled="true"`, and a disabled `option` no longer makes a `Select` look disabled. Read-only and `aria-disabled` fields get no hover styles.
656
+ - `TextField`, `Select` and `Textarea` look disabled, and a filled field no longer darkens on hover, when a disabled `fieldset` disables the control or it has `aria-disabled="true"`, and a disabled `option` no longer makes a `Select` look disabled. Read-only and `aria-disabled` fields get no hover styles.
593
657
  - `TextField` and `Select` keep the control height of buttons in Firefox and Safari. Single-line inputs and selects get a definite height, `1lh` plus their padding, so the engine's own input height and padding rounding no longer make the field up to 2px taller.
594
- - `ToggleButton` draws the focus ring of a checked button in `--ui-on-selected` (or `--ui-on-primary`), so the inset ring shows on the fill in dark mode.
658
+ - `TextField`, `Select` and `Textarea` cover the browser's autofill color with the field's own background, so an autofilled input in a `.ui-filled` field no longer shows a page-colored box.
595
659
  - `ToggleButton` only grows inside a `ToggleGroup`. On its own in a flex container it stretched to fill the row.
596
660
  - `ToggleButton` in Vue is a radio in a single-selection `ToggleGroup`, like Astro, even with a `type`.
597
- - `ToggleButton` keeps its selected tint on hover, also in a `ToggleGroup`, and a disabled selected button no longer changes on hover.
598
661
  - `ToggleButton` declares `--_selected-bg-color` on the root with its other inputs, so an override on `.ui-toggle-button` reaches the checked button instead of losing to the checked rule.
599
- - `ToggleGroup` in Svelte and Vue leaves each button's own `checked` alone when no `value` is bound, like React.
662
+ - `ToggleGroup` in Vue leaves each button's own `checked` alone when no `value` is bound.
600
663
  - `ToggleGroup` keeps its control size in forced colors instead of being one border width short, and the selected item no longer shows a gray divider there.
601
- - `ToggleGroup` `.ui-vertical` items stretch to the group's width, like `ButtonGroup`, so dividers and the checked background line up.
664
+ - `ToggleGroup` `.ui-vertical` items stretch to the group's width, like `ControlGroup`, so dividers and the checked background line up.
602
665
  - `ToggleGroup` is as high as a `ToggleButton` of the same size. The group border made it 2px taller.
603
666
  - `ToggleGroup` separators show in forced colors.
604
- - `Tooltip` transitions now respect `--ui-motion` (`prefers-reduced-motion`, `.ui-motion-off`).
605
667
  - `Tooltip` shifts along the viewport edge instead of squeezing, with or without an arrow, and shows when its trigger is more than one viewport down the page.
606
668
  - `Tooltip` arrow points at the trigger for every position, after flips and shifts.
607
669
  - `Tooltip` keeps its edge in forced colors with a `CanvasText` border, and the arrow stays visible.
608
670
  - `Tooltip` aligned to a span switches inline sides before it jumps to the other block side.
609
- - `Typography` rich text inline `code`, `kbd` and `var` no longer make their line taller than the line height.
671
+ - `Typography` rich text inline `code`, `kbd` and `var` no longer make their line taller than the line height, and the background of inline `code` stays inside its line: the padding above and below it shrinks to the space the line leaves, up to `0.5ex`, so code on neighboring lines no longer overlaps with line heights under 1.75.
610
672
  - `Typography` `kbd`, `var`, `.ui-kbd` and `.ui-var` no longer draw a border in their own background color. The border width is folded into the padding, so the box keeps its size.
611
673
  - `Typography` rich text removes the top margin of the first child and the bottom margin of the last child in a component's `.ui-content`.
612
674
  - `Typography` rich text lists after a heading or `hr` no longer get a top margin, and nested lists get their smaller margins.
613
- - `Typography` rich text no longer overflows grid and flex parents with long words, URLs or code lines, and list items, figure content and table cells no longer push it wider than its container on narrow viewports.
675
+ - `Typography` rich text no longer overflows grid and flex parents with long words, URLs or code lines, and list items, figure content and table cells no longer push it wider than its container on narrow viewports. Inline `code`, `kbd` and `var` in table cells only break inside a word when it doesn't fit the table, so a narrow table keeps its columns wide enough for whole tokens.
614
676
  - `Typography` rich text inline `code` styles no longer apply to `code` inside `pre`.
615
677
  - `Typography` rich text `ol[type]` keeps its marker type, and consecutive `dt` elements are no longer spaced apart.
616
678
  - `Typography` rich text no longer styles an `a` without `href` as a link.
617
679
  - `Typography` rich text `code` inside a link gets a darker background in dark mode, so the link color keeps its contrast.
618
- - `Typography` `.ui-mark` has a background, and `del`, `ins`, `.ui-del` and `.ui-ins` text reads `--ui-critical-text` and `--ui-success-text`, so it passes contrast in light and dark mode.
680
+ - `Typography` `.ui-mark` has a background.
681
+ - `Typography` rich text headings scale with the text around them against `--ui-font-size-body` instead of the root font size, so a theme with a larger body size gets the heading sizes it sets. The paragraph after an `hgroup` heading takes its line height from `--ui-line-height` instead of a fixed `1.6em`.
619
682
  - `Typography` rich text `pre` and inline `code` run left to right in RTL.
620
683
  - `Typography` `.ui-p.ui-small` is `--ui-font-size-small` (14px) instead of 12px.
621
684
  - `Typography` `.ui-abbr` and `.ui-dfn` underlines use the info color, like `abbr` and `dfn`.
@@ -626,21 +689,23 @@ React and Svelte components, `Carousel`, `Menu`, `AvatarGroup`, the `Layout` cla
626
689
  - `Typography` `abbr` and `dfn` with a `title` get the same underline offset as without one.
627
690
  - `Typography` linked `code` in rich text has no inline padding where its background is transparent, so the underline doesn't run past the text.
628
691
  - `Typography` `.ui-small` on a `span` or `p` sits below the component layers, so a small `Chip` rendered as a `span` keeps its own font size.
692
+ - `Typography` resets the margins of a blockquote's first and last child only, so a nested list inside it keeps its own top margin.
629
693
  - `button.css` gives file inputs outside a `TextField` readable text (`--ui-text`) and the field border tokens. The text used the inverse surface color.
630
694
  - `components/AGENTS.md`, the internal guide, no longer ships in the package.
631
695
  - `dist` source maps no longer embed the sources (`sourcesContent`) or `node_modules/.pnpm` paths. Open Props sources point to `../../open-props/`, and `opui.components.css.map` accounts for the `@layer` order line.
632
696
  - `dist/opui.components.css` starts with the `@layer` order statement.
633
697
  - `env.d.ts` is in the package `exports`, so `/// <reference types="opui-css/env.d.ts" />` resolves.
634
698
  - `env.d.ts` types `interestfor` on `<a>` and `<button>` for Astro.
635
- - `normalize.css` gives `.ui-light` and `.ui-dark` on an element other than `html` the page surface and text color, and `.ui-contrast-more` on one the text, accent and caret colors. `theme.css` declares `--ui-color-scheme`, `light` on `html` and `dark` under the OS preference or `.ui-dark`, so `Typography` reads the right scheme without a class.
699
+ - `normalize.css` gives `.ui-light` and `.ui-dark` on an element other than `html` the page surface and text color. `theme.css` declares `--ui-color-scheme`, `light` on `html` and `dark` under the OS preference or `.ui-dark`, so `Typography` reads the right scheme without a class.
636
700
  - `normalize.css` gives autofilled fields `--ui-surface` instead of the undefined `--well-1`.
637
701
  - `normalize.css` body text reads `--ui-font-weight-normal` and headings `--ui-font-weight-bold`, so a theme's weights reach bare text and headings.
638
702
  - `opui-css/css/js/checkbox.js` resolves through `exports`. It resolved to `checkbox.js.css`.
639
703
  - `opui-css/open-props.css` resolves through `exports`.
640
- - `opui-css/react` adds its element types with `import type {} from "react"`, so the type-only module no longer imports React at runtime.
704
+ - `opui-css/vue` renders no `class` attribute on an element whose class list comes out empty, instead of `class=""`.
641
705
  - `package.json` `exports` resolve documented source imports with a `.css` extension (`opui-css/css/imports.css`, `opui-css/core/normalize.css`, `opui-css/css/components/button.css`, …) Previously they resolved to `*.css.css`.
642
- - `package.json` peer dependency ranges are `astro` `^7`, `svelte` `^5.57` and `vue` `^3.5` instead of the versions used for development.
643
- - `theme.css` shadows take a darker `--ui-shadow-color` in dark mode (`.ui-dark`, also on a part of the page, and the OS preference), so they show on dark surfaces. They used the light values before, and a part forced to `.ui-light` keeps them.
706
+ - `package.json` peer dependency ranges are `astro` `^7`, `svelte` `^5.57` and `vue` `^3.5.2` instead of the versions used for development.
707
+ - `theme.css` keeps its colors in builds that rewrite `light-dark()` for older browsers, like the defaults of Vite 8 and Next 16. `html` sets a plain `color-scheme` (`light`, or `dark` under `prefers-color-scheme: dark`) before `var(--ui-color-scheme)`, so the rewritten colors follow the OS and `.ui-light` or `.ui-dark` on `html`. Every color was invalid in those builds before: filled buttons were transparent and the page had no background. The README says which settings keep `light-dark()` for the `--ui-color-scheme` knob and the classes on a part of the page.
708
+ - `utils.css` hides an element with the `hidden` attribute whatever `display` its component sets, so a hidden `Button` or `TextField` no longer shows. `hidden="until-found"` keeps the browser's behavior.
644
709
 
645
710
  ## 5.4.3 - 2026-09-18
646
711