opui-css 5.4.3 → 6.0.0-rc.1

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 (740) hide show
  1. package/CHANGELOG.md +1015 -373
  2. package/LICENSE +21 -21
  3. package/MIGRATING-legacy.md +159 -0
  4. package/MIGRATING.md +1362 -138
  5. package/README.md +238 -87
  6. package/astro/index.ts +175 -46
  7. package/bin/opui-css.mjs +68 -0
  8. package/components/Accordion/Accordion.astro +21 -48
  9. package/components/Accordion/Accordion.react.tsx +23 -0
  10. package/components/Accordion/Accordion.svelte +27 -0
  11. package/components/Accordion/Accordion.vue +21 -38
  12. package/components/Accordion/AccordionActions.astro +16 -0
  13. package/components/Accordion/AccordionActions.react.tsx +15 -0
  14. package/components/Accordion/AccordionActions.svelte +23 -0
  15. package/components/Accordion/AccordionActions.vue +18 -0
  16. package/components/Accordion/AccordionContent.astro +9 -0
  17. package/components/Accordion/AccordionContent.react.tsx +6 -0
  18. package/components/Accordion/AccordionContent.svelte +15 -0
  19. package/components/Accordion/AccordionContent.vue +12 -0
  20. package/components/Accordion/AccordionSummary.astro +19 -0
  21. package/components/Accordion/AccordionSummary.react.tsx +30 -0
  22. package/components/Accordion/AccordionSummary.svelte +24 -0
  23. package/components/Accordion/AccordionSummary.vue +27 -0
  24. package/components/Accordion/icons.ts +2 -0
  25. package/components/Accordion/types.astro.ts +13 -4
  26. package/components/Accordion/types.react.ts +14 -0
  27. package/components/Accordion/types.svelte.ts +15 -7
  28. package/components/Accordion/types.ts +16 -10
  29. package/components/Accordion/types.vue-props.ts +22 -0
  30. package/components/Anchor/Anchor.astro +37 -49
  31. package/components/Anchor/Anchor.react.tsx +38 -0
  32. package/components/Anchor/Anchor.svelte +47 -0
  33. package/components/Anchor/Anchor.vue +43 -41
  34. package/components/Anchor/AnchorContent.astro +17 -0
  35. package/components/Anchor/AnchorContent.react.tsx +18 -0
  36. package/components/Anchor/AnchorContent.svelte +23 -0
  37. package/components/Anchor/AnchorContent.vue +20 -0
  38. package/components/Anchor/context.astro.ts +4 -0
  39. package/components/Anchor/context.react.ts +8 -0
  40. package/components/Anchor/context.svelte.ts +7 -0
  41. package/components/Anchor/context.vue.ts +4 -0
  42. package/components/Anchor/root.ts +12 -0
  43. package/components/Anchor/types.astro.ts +7 -4
  44. package/components/Anchor/types.react.ts +7 -0
  45. package/components/Anchor/types.svelte.ts +7 -7
  46. package/components/Anchor/types.ts +18 -9
  47. package/components/Anchor/types.vue-props.ts +15 -0
  48. package/components/Avatar/Avatar.astro +33 -29
  49. package/components/Avatar/Avatar.react.tsx +34 -0
  50. package/components/Avatar/Avatar.svelte +39 -0
  51. package/components/Avatar/Avatar.vue +26 -24
  52. package/components/Avatar/AvatarGroup.astro +9 -0
  53. package/components/Avatar/AvatarGroup.react.tsx +12 -0
  54. package/components/Avatar/AvatarGroup.svelte +15 -0
  55. package/components/Avatar/AvatarGroup.vue +12 -0
  56. package/components/Avatar/types.astro.ts +11 -10
  57. package/components/Avatar/types.react.ts +11 -0
  58. package/components/Avatar/types.svelte.ts +11 -12
  59. package/components/Avatar/types.ts +32 -29
  60. package/components/Avatar/types.vue-props.ts +11 -0
  61. package/components/Badge/Badge.astro +56 -51
  62. package/components/Badge/Badge.react.tsx +50 -0
  63. package/components/Badge/Badge.svelte +48 -0
  64. package/components/Badge/Badge.vue +36 -40
  65. package/components/Badge/types.astro.ts +4 -4
  66. package/components/Badge/types.react.ts +6 -0
  67. package/components/Badge/types.svelte.ts +7 -4
  68. package/components/Badge/types.ts +12 -12
  69. package/components/Badge/types.vue-props.ts +7 -0
  70. package/components/Button/Button.astro +36 -36
  71. package/components/Button/Button.react.tsx +33 -0
  72. package/components/Button/Button.svelte +37 -0
  73. package/components/Button/Button.vue +27 -27
  74. package/components/Button/types.astro.ts +6 -6
  75. package/components/Button/types.react.ts +11 -0
  76. package/components/Button/types.svelte.ts +15 -6
  77. package/components/Button/types.ts +32 -16
  78. package/components/Button/types.vue-props.ts +6 -0
  79. package/components/ButtonGroup/ButtonGroup.astro +33 -29
  80. package/components/ButtonGroup/ButtonGroup.react.tsx +30 -0
  81. package/components/ButtonGroup/ButtonGroup.svelte +34 -0
  82. package/components/ButtonGroup/ButtonGroup.vue +25 -22
  83. package/components/ButtonGroup/types.astro.ts +4 -4
  84. package/components/ButtonGroup/types.react.ts +4 -0
  85. package/components/ButtonGroup/types.svelte.ts +4 -4
  86. package/components/ButtonGroup/types.ts +7 -7
  87. package/components/ButtonGroup/types.vue-props.ts +6 -0
  88. package/components/Callout/Callout.astro +24 -76
  89. package/components/Callout/Callout.react.tsx +26 -0
  90. package/components/Callout/Callout.svelte +32 -0
  91. package/components/Callout/Callout.vue +23 -63
  92. package/components/Callout/CalloutContent.astro +9 -0
  93. package/components/Callout/CalloutContent.react.tsx +6 -0
  94. package/components/Callout/CalloutContent.svelte +15 -0
  95. package/components/Callout/CalloutContent.vue +12 -0
  96. package/components/Callout/CalloutIcon.astro +25 -0
  97. package/components/Callout/CalloutIcon.react.tsx +26 -0
  98. package/components/Callout/CalloutIcon.svelte +24 -0
  99. package/components/Callout/CalloutIcon.vue +25 -0
  100. package/components/Callout/context.astro.ts +4 -0
  101. package/components/Callout/context.react.ts +8 -0
  102. package/components/Callout/context.svelte.ts +7 -0
  103. package/components/Callout/context.vue.ts +4 -0
  104. package/components/Callout/icons.ts +23 -0
  105. package/components/Callout/types.astro.ts +9 -4
  106. package/components/Callout/types.react.ts +9 -0
  107. package/components/Callout/types.svelte.ts +9 -7
  108. package/components/Callout/types.ts +10 -10
  109. package/components/Callout/types.vue-props.ts +14 -0
  110. package/components/Card/Card.astro +18 -34
  111. package/components/Card/Card.react.tsx +15 -0
  112. package/components/Card/Card.svelte +23 -0
  113. package/components/Card/Card.vue +18 -28
  114. package/components/Card/CardActions.astro +16 -0
  115. package/components/Card/CardActions.react.tsx +15 -0
  116. package/components/Card/CardActions.svelte +23 -0
  117. package/components/Card/CardActions.vue +18 -0
  118. package/components/Card/CardContent.astro +9 -0
  119. package/components/Card/CardContent.react.tsx +6 -0
  120. package/components/Card/CardContent.svelte +15 -0
  121. package/components/Card/CardContent.vue +12 -0
  122. package/components/Card/CardHeader.astro +9 -0
  123. package/components/Card/CardHeader.react.tsx +6 -0
  124. package/components/Card/CardHeader.svelte +15 -0
  125. package/components/Card/CardHeader.vue +12 -0
  126. package/components/Card/types.astro.ts +10 -4
  127. package/components/Card/types.react.ts +10 -0
  128. package/components/Card/types.svelte.ts +11 -7
  129. package/components/Card/types.ts +11 -11
  130. package/components/Card/types.vue-props.ts +17 -0
  131. package/components/Carousel/Carousel.astro +44 -0
  132. package/components/Carousel/Carousel.react.tsx +47 -0
  133. package/components/Carousel/Carousel.svelte +45 -0
  134. package/components/Carousel/Carousel.vue +44 -0
  135. package/components/Carousel/types.astro.ts +4 -0
  136. package/components/Carousel/types.react.ts +4 -0
  137. package/components/Carousel/types.svelte.ts +4 -0
  138. package/components/Carousel/types.ts +11 -0
  139. package/components/Carousel/types.vue-props.ts +6 -0
  140. package/components/Checkbox/Checkbox.astro +58 -46
  141. package/components/Checkbox/Checkbox.react.tsx +51 -0
  142. package/components/Checkbox/Checkbox.svelte +61 -0
  143. package/components/Checkbox/Checkbox.vue +64 -43
  144. package/components/Checkbox/CheckboxInput.astro +20 -16
  145. package/components/Checkbox/CheckboxInput.react.tsx +39 -0
  146. package/components/Checkbox/CheckboxInput.svelte +34 -0
  147. package/components/Checkbox/CheckboxInput.vue +50 -32
  148. package/components/Checkbox/types.astro.ts +7 -8
  149. package/components/Checkbox/types.react.ts +11 -0
  150. package/components/Checkbox/types.svelte.ts +16 -12
  151. package/components/Checkbox/types.ts +20 -16
  152. package/components/Checkbox/types.vue-props.ts +15 -0
  153. package/components/Chip/Chip.astro +47 -31
  154. package/components/Chip/Chip.react.tsx +45 -0
  155. package/components/Chip/Chip.svelte +45 -0
  156. package/components/Chip/Chip.vue +44 -37
  157. package/components/Chip/types.astro.ts +9 -9
  158. package/components/Chip/types.react.ts +15 -0
  159. package/components/Chip/types.svelte.ts +16 -14
  160. package/components/Chip/types.ts +30 -13
  161. package/components/Chip/types.vue-props.ts +11 -0
  162. package/components/DescriptionList/DescriptionList.astro +22 -18
  163. package/components/DescriptionList/DescriptionList.react.tsx +25 -0
  164. package/components/DescriptionList/DescriptionList.svelte +29 -0
  165. package/components/DescriptionList/DescriptionList.vue +22 -23
  166. package/components/DescriptionList/DescriptionListDescription.astro +9 -0
  167. package/components/DescriptionList/DescriptionListDescription.react.tsx +9 -0
  168. package/components/DescriptionList/DescriptionListDescription.svelte +15 -0
  169. package/components/DescriptionList/{Description.vue → DescriptionListDescription.vue} +15 -12
  170. package/components/DescriptionList/DescriptionListItem.astro +9 -0
  171. package/components/DescriptionList/DescriptionListItem.react.tsx +6 -0
  172. package/components/DescriptionList/DescriptionListItem.svelte +15 -0
  173. package/components/DescriptionList/{Item.vue → DescriptionListItem.vue} +15 -12
  174. package/components/DescriptionList/DescriptionListTerm.astro +9 -0
  175. package/components/DescriptionList/DescriptionListTerm.react.tsx +6 -0
  176. package/components/DescriptionList/DescriptionListTerm.svelte +15 -0
  177. package/components/DescriptionList/{Term.vue → DescriptionListTerm.vue} +15 -12
  178. package/components/DescriptionList/types.astro.ts +10 -10
  179. package/components/DescriptionList/types.react.ts +10 -0
  180. package/components/DescriptionList/types.svelte.ts +10 -4
  181. package/components/DescriptionList/types.ts +5 -3
  182. package/components/DescriptionList/types.vue-props.ts +12 -0
  183. package/components/Dialog/Dialog.astro +24 -38
  184. package/components/Dialog/Dialog.react.tsx +23 -0
  185. package/components/Dialog/Dialog.svelte +33 -0
  186. package/components/Dialog/Dialog.vue +25 -35
  187. package/components/Dialog/DialogContent.astro +9 -0
  188. package/components/Dialog/DialogContent.react.tsx +6 -0
  189. package/components/Dialog/DialogContent.svelte +15 -0
  190. package/components/Dialog/DialogContent.vue +12 -0
  191. package/components/Dialog/DialogFooter.astro +16 -0
  192. package/components/Dialog/DialogFooter.react.tsx +15 -0
  193. package/components/Dialog/DialogFooter.svelte +23 -0
  194. package/components/Dialog/DialogFooter.vue +18 -0
  195. package/components/Dialog/DialogHeader.astro +9 -0
  196. package/components/Dialog/DialogHeader.react.tsx +6 -0
  197. package/components/Dialog/DialogHeader.svelte +15 -0
  198. package/components/Dialog/DialogHeader.vue +12 -0
  199. package/components/Dialog/DialogTitle.astro +14 -0
  200. package/components/Dialog/DialogTitle.react.tsx +13 -0
  201. package/components/Dialog/DialogTitle.svelte +23 -0
  202. package/components/Dialog/DialogTitle.vue +18 -0
  203. package/components/Dialog/context.astro.ts +4 -0
  204. package/components/Dialog/context.react.ts +8 -0
  205. package/components/Dialog/context.svelte.ts +7 -0
  206. package/components/Dialog/context.vue.ts +4 -0
  207. package/components/Dialog/types.astro.ts +12 -4
  208. package/components/Dialog/types.react.ts +12 -0
  209. package/components/Dialog/types.svelte.ts +15 -7
  210. package/components/Dialog/types.ts +17 -10
  211. package/components/Dialog/types.vue-props.ts +24 -0
  212. package/components/Divider/Divider.astro +34 -12
  213. package/components/Divider/Divider.react.tsx +36 -0
  214. package/components/Divider/Divider.svelte +40 -0
  215. package/components/Divider/Divider.vue +30 -12
  216. package/components/Divider/types.astro.ts +4 -4
  217. package/components/Divider/types.react.ts +4 -0
  218. package/components/Divider/types.svelte.ts +4 -4
  219. package/components/Divider/types.ts +5 -3
  220. package/components/Divider/types.vue-props.ts +6 -0
  221. package/components/Drawer/Drawer.astro +42 -47
  222. package/components/Drawer/Drawer.react.tsx +40 -0
  223. package/components/Drawer/Drawer.svelte +50 -0
  224. package/components/Drawer/Drawer.vue +41 -46
  225. package/components/Drawer/DrawerContent.astro +9 -0
  226. package/components/Drawer/DrawerContent.react.tsx +6 -0
  227. package/components/Drawer/DrawerContent.svelte +15 -0
  228. package/components/Drawer/DrawerContent.vue +12 -0
  229. package/components/Drawer/DrawerFooter.astro +16 -11
  230. package/components/Drawer/DrawerFooter.react.tsx +15 -0
  231. package/components/Drawer/DrawerFooter.svelte +23 -0
  232. package/components/Drawer/DrawerFooter.vue +18 -16
  233. package/components/Drawer/DrawerHeader.astro +35 -27
  234. package/components/Drawer/DrawerHeader.react.tsx +41 -0
  235. package/components/Drawer/DrawerHeader.svelte +42 -0
  236. package/components/Drawer/DrawerHeader.vue +35 -36
  237. package/components/Drawer/DrawerTitle.astro +14 -0
  238. package/components/Drawer/DrawerTitle.react.tsx +13 -0
  239. package/components/Drawer/DrawerTitle.svelte +23 -0
  240. package/components/Drawer/DrawerTitle.vue +18 -0
  241. package/components/Drawer/context.astro.ts +4 -0
  242. package/components/Drawer/context.react.ts +8 -0
  243. package/components/Drawer/context.svelte.ts +7 -0
  244. package/components/Drawer/context.vue.ts +4 -0
  245. package/components/Drawer/icons.ts +2 -0
  246. package/components/Drawer/types.astro.ts +12 -8
  247. package/components/Drawer/types.react.ts +13 -0
  248. package/components/Drawer/types.svelte.ts +16 -15
  249. package/components/Drawer/types.ts +25 -20
  250. package/components/Drawer/types.vue-props.ts +24 -0
  251. package/components/FieldDescription/FieldDescription.astro +9 -9
  252. package/components/FieldDescription/FieldDescription.react.tsx +6 -0
  253. package/components/FieldDescription/FieldDescription.svelte +15 -0
  254. package/components/FieldDescription/FieldDescription.vue +12 -12
  255. package/components/FieldDescription/types.astro.ts +4 -4
  256. package/components/FieldDescription/types.react.ts +4 -0
  257. package/components/FieldDescription/types.svelte.ts +4 -4
  258. package/components/FieldDescription/types.ts +1 -1
  259. package/components/FieldDescription/types.vue-props.ts +6 -0
  260. package/components/FieldGroup/FieldGroup.astro +24 -24
  261. package/components/FieldGroup/FieldGroup.react.tsx +27 -0
  262. package/components/FieldGroup/FieldGroup.svelte +32 -0
  263. package/components/FieldGroup/FieldGroup.vue +23 -25
  264. package/components/FieldGroup/context.astro.ts +4 -0
  265. package/components/FieldGroup/context.react.ts +8 -0
  266. package/components/FieldGroup/context.svelte.ts +8 -0
  267. package/components/FieldGroup/context.vue.ts +4 -0
  268. package/components/FieldGroup/types.astro.ts +4 -4
  269. package/components/FieldGroup/types.react.ts +4 -0
  270. package/components/FieldGroup/types.svelte.ts +4 -4
  271. package/components/FieldGroup/types.ts +6 -4
  272. package/components/FieldGroup/types.vue-props.ts +6 -0
  273. package/components/FieldLegend/FieldLegend.astro +11 -11
  274. package/components/FieldLegend/FieldLegend.react.tsx +14 -0
  275. package/components/FieldLegend/FieldLegend.svelte +20 -0
  276. package/components/FieldLegend/FieldLegend.vue +20 -18
  277. package/components/FieldLegend/types.astro.ts +6 -6
  278. package/components/FieldLegend/types.react.ts +6 -0
  279. package/components/FieldLegend/types.svelte.ts +6 -6
  280. package/components/FieldLegend/types.ts +1 -1
  281. package/components/FieldLegend/types.vue-props.ts +9 -0
  282. package/components/{FieldSet/FieldSet.astro → Fieldset/Fieldset.astro} +15 -11
  283. package/components/Fieldset/Fieldset.react.tsx +15 -0
  284. package/components/Fieldset/Fieldset.svelte +21 -0
  285. package/components/Fieldset/Fieldset.vue +21 -0
  286. package/components/{FieldSet → Fieldset}/types.astro.ts +6 -6
  287. package/components/Fieldset/types.react.ts +6 -0
  288. package/components/Fieldset/types.svelte.ts +6 -0
  289. package/components/Fieldset/types.ts +1 -0
  290. package/components/Fieldset/types.vue-props.ts +9 -0
  291. package/components/Form/Form.astro +10 -10
  292. package/components/Form/Form.react.tsx +9 -0
  293. package/components/Form/Form.svelte +16 -0
  294. package/components/Form/Form.vue +16 -14
  295. package/components/Form/types.astro.ts +6 -6
  296. package/components/Form/types.react.ts +6 -0
  297. package/components/Form/types.svelte.ts +6 -7
  298. package/components/Form/types.ts +1 -1
  299. package/components/Form/types.vue-props.ts +9 -0
  300. package/components/List/List.astro +29 -29
  301. package/components/List/List.react.tsx +27 -0
  302. package/components/List/List.svelte +31 -0
  303. package/components/List/List.vue +23 -28
  304. package/components/List/types.astro.ts +4 -4
  305. package/components/List/types.react.ts +4 -0
  306. package/components/List/types.svelte.ts +4 -4
  307. package/components/List/types.ts +6 -7
  308. package/components/List/types.vue-props.ts +6 -0
  309. package/components/ListItem/ListItem.astro +115 -108
  310. package/components/ListItem/ListItem.react.tsx +65 -0
  311. package/components/ListItem/ListItem.svelte +80 -0
  312. package/components/ListItem/ListItem.vue +93 -98
  313. package/components/ListItem/types.astro.ts +9 -10
  314. package/components/ListItem/types.react.ts +17 -0
  315. package/components/ListItem/types.svelte.ts +17 -14
  316. package/components/ListItem/types.ts +35 -32
  317. package/components/ListItem/types.vue-props.ts +14 -0
  318. package/components/Menu/Menu.astro +86 -0
  319. package/components/Menu/Menu.react.tsx +87 -0
  320. package/components/Menu/Menu.svelte +71 -0
  321. package/components/Menu/Menu.vue +76 -0
  322. package/components/Menu/context.astro.ts +4 -0
  323. package/components/Menu/context.react.ts +8 -0
  324. package/components/Menu/context.svelte.ts +7 -0
  325. package/components/Menu/context.vue.ts +4 -0
  326. package/components/Menu/types.astro.ts +12 -0
  327. package/components/Menu/types.react.ts +12 -0
  328. package/components/Menu/types.svelte.ts +12 -0
  329. package/components/Menu/types.ts +23 -0
  330. package/components/Menu/types.vue-props.ts +16 -0
  331. package/components/Progress/Progress.astro +20 -31
  332. package/components/Progress/Progress.react.tsx +27 -0
  333. package/components/Progress/Progress.svelte +30 -0
  334. package/components/Progress/Progress.vue +30 -34
  335. package/components/Progress/types.astro.ts +5 -4
  336. package/components/Progress/types.react.ts +5 -0
  337. package/components/Progress/types.svelte.ts +5 -4
  338. package/components/Progress/types.ts +5 -10
  339. package/components/Progress/types.vue-props.ts +6 -0
  340. package/components/Radio/Radio.astro +58 -44
  341. package/components/Radio/Radio.react.tsx +51 -0
  342. package/components/Radio/Radio.svelte +59 -0
  343. package/components/Radio/Radio.vue +62 -41
  344. package/components/Radio/RadioInput.astro +10 -7
  345. package/components/Radio/RadioInput.react.tsx +10 -0
  346. package/components/Radio/RadioInput.svelte +27 -0
  347. package/components/Radio/RadioInput.vue +39 -14
  348. package/components/Radio/types.astro.ts +7 -6
  349. package/components/Radio/types.react.ts +11 -0
  350. package/components/Radio/types.svelte.ts +16 -12
  351. package/components/Radio/types.ts +17 -12
  352. package/components/Radio/types.vue-props.ts +15 -0
  353. package/components/Range/Range.astro +139 -128
  354. package/components/Range/Range.react.tsx +157 -0
  355. package/components/Range/Range.svelte +136 -0
  356. package/components/Range/Range.vue +169 -85
  357. package/components/Range/types.astro.ts +1 -3
  358. package/components/Range/types.react.ts +10 -0
  359. package/components/Range/types.svelte.ts +8 -3
  360. package/components/Range/types.ts +24 -25
  361. package/components/Range/types.vue-props.ts +16 -0
  362. package/components/Range/value.ts +27 -0
  363. package/components/Select/Select.astro +147 -108
  364. package/components/Select/Select.react.tsx +124 -0
  365. package/components/Select/Select.svelte +123 -0
  366. package/components/Select/Select.vue +157 -85
  367. package/components/Select/selection.ts +11 -0
  368. package/components/Select/types.react.ts +6 -0
  369. package/components/Select/types.svelte.ts +1 -1
  370. package/components/Select/types.ts +16 -13
  371. package/components/Select/types.vue-props.ts +20 -0
  372. package/components/Switch/Switch.astro +72 -76
  373. package/components/Switch/Switch.react.tsx +63 -0
  374. package/components/Switch/Switch.svelte +73 -0
  375. package/components/Switch/Switch.vue +81 -63
  376. package/components/Switch/SwitchInput.astro +10 -7
  377. package/components/Switch/SwitchInput.react.tsx +12 -0
  378. package/components/Switch/SwitchInput.svelte +30 -0
  379. package/components/Switch/SwitchInput.vue +36 -14
  380. package/components/Switch/types.astro.ts +7 -5
  381. package/components/Switch/types.react.ts +11 -0
  382. package/components/Switch/types.svelte.ts +16 -9
  383. package/components/Switch/types.ts +19 -16
  384. package/components/Switch/types.vue-props.ts +17 -0
  385. package/components/Table/Table.astro +27 -14
  386. package/components/Table/Table.react.tsx +24 -0
  387. package/components/Table/Table.svelte +28 -0
  388. package/components/Table/Table.vue +20 -19
  389. package/components/Table/TableBody.astro +9 -0
  390. package/components/Table/TableBody.react.tsx +5 -0
  391. package/components/Table/TableBody.svelte +9 -0
  392. package/components/Table/TableBody.vue +12 -0
  393. package/components/Table/TableCaption.astro +9 -0
  394. package/components/Table/TableCaption.react.tsx +5 -0
  395. package/components/Table/TableCaption.svelte +9 -0
  396. package/components/Table/TableCaption.vue +12 -0
  397. package/components/Table/TableCell.astro +9 -0
  398. package/components/Table/TableCell.react.tsx +6 -0
  399. package/components/Table/TableCell.svelte +16 -0
  400. package/components/Table/TableCell.vue +12 -0
  401. package/components/Table/TableColumn.astro +8 -0
  402. package/components/Table/TableColumn.react.tsx +7 -0
  403. package/components/Table/TableColumn.svelte +8 -0
  404. package/components/Table/TableColumn.vue +12 -0
  405. package/components/Table/TableColumnGroup.astro +9 -0
  406. package/components/Table/TableColumnGroup.react.tsx +5 -0
  407. package/components/Table/TableColumnGroup.svelte +9 -0
  408. package/components/Table/TableColumnGroup.vue +12 -0
  409. package/components/Table/TableFoot.astro +9 -0
  410. package/components/Table/TableFoot.react.tsx +5 -0
  411. package/components/Table/TableFoot.svelte +9 -0
  412. package/components/Table/TableFoot.vue +12 -0
  413. package/components/Table/TableHead.astro +9 -0
  414. package/components/Table/TableHead.react.tsx +5 -0
  415. package/components/Table/TableHead.svelte +9 -0
  416. package/components/Table/TableHead.vue +12 -0
  417. package/components/Table/TableHeaderCell.astro +9 -0
  418. package/components/Table/TableHeaderCell.react.tsx +10 -0
  419. package/components/Table/TableHeaderCell.svelte +16 -0
  420. package/components/Table/TableHeaderCell.vue +12 -0
  421. package/components/Table/TableRow.astro +9 -0
  422. package/components/Table/TableRow.react.tsx +5 -0
  423. package/components/Table/TableRow.svelte +9 -0
  424. package/components/Table/TableRow.vue +12 -0
  425. package/components/Table/types.astro.ts +22 -16
  426. package/components/Table/types.react.ts +22 -0
  427. package/components/Table/types.svelte.ts +23 -11
  428. package/components/Table/types.ts +14 -9
  429. package/components/Table/types.vue-props.ts +28 -0
  430. package/components/Tabs/Tabs.astro +34 -24
  431. package/components/Tabs/Tabs.react.tsx +43 -0
  432. package/components/Tabs/Tabs.svelte +43 -0
  433. package/components/Tabs/Tabs.vue +30 -20
  434. package/components/Tabs/TabsItem.astro +28 -40
  435. package/components/Tabs/TabsItem.react.tsx +47 -0
  436. package/components/Tabs/TabsItem.svelte +52 -0
  437. package/components/Tabs/TabsItem.vue +41 -39
  438. package/components/Tabs/TabsLabel.astro +16 -0
  439. package/components/Tabs/TabsLabel.react.tsx +17 -0
  440. package/components/Tabs/TabsLabel.svelte +19 -0
  441. package/components/Tabs/TabsLabel.vue +16 -0
  442. package/components/Tabs/TabsPanel.astro +9 -16
  443. package/components/Tabs/TabsPanel.react.tsx +6 -0
  444. package/components/Tabs/TabsPanel.svelte +15 -0
  445. package/components/Tabs/TabsPanel.vue +12 -31
  446. package/components/Tabs/context.astro.ts +4 -0
  447. package/components/Tabs/context.react.ts +8 -0
  448. package/components/Tabs/context.svelte.ts +7 -0
  449. package/components/Tabs/context.vue.ts +4 -0
  450. package/components/Tabs/types.astro.ts +13 -11
  451. package/components/Tabs/types.react.ts +12 -0
  452. package/components/Tabs/types.svelte.ts +10 -10
  453. package/components/Tabs/types.ts +21 -19
  454. package/components/Tabs/types.vue-props.ts +25 -0
  455. package/components/TextField/TextField.astro +108 -124
  456. package/components/TextField/TextField.react.tsx +70 -0
  457. package/components/TextField/TextField.svelte +84 -0
  458. package/components/TextField/TextField.vue +94 -74
  459. package/components/TextField/types.astro.ts +15 -17
  460. package/components/TextField/types.react.ts +12 -0
  461. package/components/TextField/types.svelte.ts +2 -4
  462. package/components/TextField/types.ts +11 -25
  463. package/components/TextField/types.vue-props.ts +21 -0
  464. package/components/Textarea/Textarea.astro +104 -118
  465. package/components/Textarea/Textarea.react.tsx +64 -0
  466. package/components/Textarea/Textarea.svelte +80 -0
  467. package/components/Textarea/Textarea.vue +88 -64
  468. package/components/Textarea/types.astro.ts +8 -10
  469. package/components/Textarea/types.react.ts +8 -0
  470. package/components/Textarea/types.svelte.ts +13 -21
  471. package/components/Textarea/types.ts +21 -33
  472. package/components/Textarea/types.vue-props.ts +20 -0
  473. package/components/ToggleButton/ToggleButton.astro +43 -43
  474. package/components/ToggleButton/ToggleButton.react.tsx +57 -0
  475. package/components/ToggleButton/ToggleButton.svelte +58 -0
  476. package/components/ToggleButton/ToggleButton.vue +65 -41
  477. package/components/ToggleButton/types.astro.ts +4 -4
  478. package/components/ToggleButton/types.react.ts +4 -0
  479. package/components/ToggleButton/types.svelte.ts +5 -7
  480. package/components/ToggleButton/types.ts +6 -10
  481. package/components/ToggleButton/types.vue-props.ts +11 -0
  482. package/components/ToggleGroup/ToggleGroup.astro +40 -42
  483. package/components/ToggleGroup/ToggleGroup.react.tsx +54 -0
  484. package/components/ToggleGroup/ToggleGroup.svelte +54 -0
  485. package/components/ToggleGroup/ToggleGroup.vue +45 -36
  486. package/components/ToggleGroup/context.astro.ts +5 -0
  487. package/components/ToggleGroup/context.react.ts +8 -0
  488. package/components/ToggleGroup/context.svelte.ts +8 -0
  489. package/components/ToggleGroup/context.vue.ts +4 -0
  490. package/components/ToggleGroup/selection.ts +12 -0
  491. package/components/ToggleGroup/types.astro.ts +4 -4
  492. package/components/ToggleGroup/types.react.ts +12 -0
  493. package/components/ToggleGroup/types.svelte.ts +6 -9
  494. package/components/ToggleGroup/types.ts +17 -15
  495. package/components/ToggleGroup/types.vue-props.ts +6 -0
  496. package/components/Tooltip/Tooltip.astro +22 -23
  497. package/components/Tooltip/Tooltip.react.tsx +24 -0
  498. package/components/Tooltip/Tooltip.svelte +29 -0
  499. package/components/Tooltip/Tooltip.vue +21 -22
  500. package/components/Tooltip/types.astro.ts +4 -4
  501. package/components/Tooltip/types.react.ts +4 -0
  502. package/components/Tooltip/types.svelte.ts +4 -7
  503. package/components/Tooltip/types.ts +5 -11
  504. package/components/Tooltip/types.vue-props.ts +6 -0
  505. package/components/content.svelte +9 -0
  506. package/components/context.astro.ts +15 -0
  507. package/components/cx.ts +12 -0
  508. package/components/dev.ts +63 -0
  509. package/components/group.ts +2 -0
  510. package/components/id.ts +9 -0
  511. package/components/style.ts +33 -0
  512. package/components/tag.ts +6 -0
  513. package/components/vue.ts +18 -0
  514. package/core/normalize.css +191 -214
  515. package/core/palette.css +131 -314
  516. package/core/utils.css +55 -68
  517. package/css/compat/avatar.css +7 -0
  518. package/css/compat/menu.css +20 -0
  519. package/css/compat.css +3 -0
  520. package/css/components/accordion.css +237 -173
  521. package/css/components/anchor.css +40 -27
  522. package/css/components/avatar.css +105 -65
  523. package/css/components/badge.css +146 -107
  524. package/css/components/button-group.css +170 -179
  525. package/css/components/button.css +422 -212
  526. package/css/components/callout.css +153 -112
  527. package/css/components/card.css +234 -116
  528. package/css/components/carousel.css +399 -0
  529. package/css/components/checkbox.css +90 -211
  530. package/css/components/chip.css +215 -92
  531. package/css/components/choice.css +291 -0
  532. package/css/components/description-list.css +91 -81
  533. package/css/components/dialog.css +154 -64
  534. package/css/components/divider.css +73 -20
  535. package/css/components/drawer.css +300 -170
  536. package/css/components/form.css +131 -146
  537. package/css/components/layout.css +92 -0
  538. package/css/components/link.css +53 -21
  539. package/css/components/list.css +460 -343
  540. package/css/components/menu.css +174 -0
  541. package/css/components/progress.css +107 -99
  542. package/css/components/radio.css +61 -170
  543. package/css/components/range.css +463 -320
  544. package/css/components/select.css +189 -170
  545. package/css/components/spinner.css +57 -38
  546. package/css/components/switch.css +197 -270
  547. package/css/components/table.css +214 -173
  548. package/css/components/tabs.css +278 -84
  549. package/css/components/text-field.css +559 -449
  550. package/css/components/textarea.css +20 -26
  551. package/css/components/toggle-button.css +131 -91
  552. package/css/components/toggle-group.css +86 -56
  553. package/css/components/tooltip.css +125 -68
  554. package/css/components/typography.css +801 -580
  555. package/css/components.css +48 -41
  556. package/css/imports.css +15 -17
  557. package/css/js/checkbox.d.ts +3 -0
  558. package/css/js/checkbox.js +31 -21
  559. package/css/js/range.d.ts +1 -0
  560. package/css/js/range.js +44 -0
  561. package/css/layers.css +2 -0
  562. package/css/theme.css +750 -124
  563. package/dist/op.css +16 -241
  564. package/dist/op.css.map +1 -1
  565. package/dist/opui.baseline-2023.css +9209 -0
  566. package/dist/opui.baseline-2023.css.map +1 -0
  567. package/dist/opui.baseline-2024.css +9209 -0
  568. package/dist/opui.baseline-2024.css.map +1 -0
  569. package/dist/opui.baseline-2025.css +9209 -0
  570. package/dist/opui.baseline-2025.css.map +1 -0
  571. package/dist/opui.baseline-2026.css +9209 -0
  572. package/dist/opui.baseline-2026.css.map +1 -0
  573. package/dist/opui.components.css +7346 -5140
  574. package/dist/opui.components.css.map +1 -1
  575. package/dist/opui.css +8489 -6128
  576. package/dist/opui.css.map +1 -1
  577. package/dist/opui.no-compat.css +9182 -0
  578. package/dist/opui.no-compat.css.map +1 -0
  579. package/env.d.ts +17 -14
  580. package/open-props.css +15 -6
  581. package/package.json +136 -90
  582. package/react/elements.ts +13 -0
  583. package/react/index.ts +176 -0
  584. package/skills/opui/SKILL.md +75 -0
  585. package/skills/opui/references/accordion.md +253 -0
  586. package/skills/opui/references/anchor.md +213 -0
  587. package/skills/opui/references/avatar.md +202 -0
  588. package/skills/opui/references/badge.md +199 -0
  589. package/skills/opui/references/button-group.md +239 -0
  590. package/skills/opui/references/button.md +242 -0
  591. package/skills/opui/references/callout.md +221 -0
  592. package/skills/opui/references/card.md +222 -0
  593. package/skills/opui/references/carousel.md +269 -0
  594. package/skills/opui/references/checkbox.md +241 -0
  595. package/skills/opui/references/chip.md +135 -0
  596. package/skills/opui/references/customizing.md +85 -0
  597. package/skills/opui/references/description-list.md +191 -0
  598. package/skills/opui/references/dialog.md +301 -0
  599. package/skills/opui/references/divider.md +112 -0
  600. package/skills/opui/references/drawer.md +802 -0
  601. package/skills/opui/references/form.md +260 -0
  602. package/skills/opui/references/getting-started.md +398 -0
  603. package/skills/opui/references/index.md +89 -0
  604. package/skills/opui/references/layout.md +161 -0
  605. package/skills/opui/references/list.md +216 -0
  606. package/skills/opui/references/menu.md +248 -0
  607. package/skills/opui/references/progress.md +114 -0
  608. package/skills/opui/references/radio.md +234 -0
  609. package/skills/opui/references/range.md +150 -0
  610. package/skills/opui/references/select.md +255 -0
  611. package/skills/opui/references/spinner.md +85 -0
  612. package/skills/opui/references/switch.md +223 -0
  613. package/skills/opui/references/table.md +480 -0
  614. package/skills/opui/references/tabs.md +257 -0
  615. package/skills/opui/references/text-field.md +167 -0
  616. package/skills/opui/references/textarea.md +169 -0
  617. package/skills/opui/references/theming.md +278 -0
  618. package/skills/opui/references/toggle.md +222 -0
  619. package/skills/opui/references/tooltip.md +167 -0
  620. package/skills/opui/references/typography.md +159 -0
  621. package/svelte/elements.ts +7 -0
  622. package/svelte/index.ts +177 -0
  623. package/themes/bootstrap.css +223 -0
  624. package/themes/brutalist.css +105 -0
  625. package/themes/m3.css +152 -0
  626. package/themes/shadcn.css +125 -0
  627. package/tokens.json +3729 -0
  628. package/vue/index.ts +175 -54
  629. package/components/AGENTS.md +0 -247
  630. package/components/Accordion/types.d.vue.ts +0 -15
  631. package/components/Accordion/types.solid.ts +0 -6
  632. package/components/Anchor/types.d.vue.ts +0 -10
  633. package/components/Anchor/types.solid.ts +0 -6
  634. package/components/Avatar/types.d.vue.ts +0 -12
  635. package/components/Avatar/types.solid.ts +0 -11
  636. package/components/Badge/types.d.vue.ts +0 -10
  637. package/components/Badge/types.solid.ts +0 -4
  638. package/components/Button/types.d.vue.ts +0 -10
  639. package/components/Button/types.solid.ts +0 -8
  640. package/components/ButtonGroup/types.d.vue.ts +0 -10
  641. package/components/ButtonGroup/types.solid.ts +0 -4
  642. package/components/Callout/types.d.vue.ts +0 -10
  643. package/components/Callout/types.solid.ts +0 -6
  644. package/components/Card/types.d.vue.ts +0 -10
  645. package/components/Card/types.solid.ts +0 -6
  646. package/components/Checkbox/types.d.vue.ts +0 -11
  647. package/components/Checkbox/types.solid.ts +0 -9
  648. package/components/Chip/types.d.vue.ts +0 -10
  649. package/components/Chip/types.solid.ts +0 -10
  650. package/components/ClassicSelect/ClassicSelect.astro +0 -60
  651. package/components/ClassicSelect/ClassicSelect.vue +0 -54
  652. package/components/ClassicSelect/types.astro.ts +0 -8
  653. package/components/ClassicSelect/types.d.vue.ts +0 -10
  654. package/components/ClassicSelect/types.solid.ts +0 -5
  655. package/components/ClassicSelect/types.svelte.ts +0 -5
  656. package/components/ClassicSelect/types.ts +0 -15
  657. package/components/DescriptionList/Description.astro +0 -9
  658. package/components/DescriptionList/Item.astro +0 -9
  659. package/components/DescriptionList/Term.astro +0 -9
  660. package/components/DescriptionList/index.ts +0 -12
  661. package/components/DescriptionList/types.d.vue.ts +0 -10
  662. package/components/DescriptionList/types.solid.ts +0 -4
  663. package/components/Dialog/types.d.vue.ts +0 -10
  664. package/components/Dialog/types.solid.ts +0 -8
  665. package/components/Divider/types.d.vue.ts +0 -6
  666. package/components/Divider/types.solid.ts +0 -4
  667. package/components/Drawer/types.d.vue.ts +0 -31
  668. package/components/Drawer/types.solid.ts +0 -12
  669. package/components/FieldDescription/types.d.vue.ts +0 -10
  670. package/components/FieldDescription/types.solid.ts +0 -5
  671. package/components/FieldGroup/types.d.vue.ts +0 -12
  672. package/components/FieldGroup/types.solid.ts +0 -5
  673. package/components/FieldLegend/types.d.vue.ts +0 -11
  674. package/components/FieldLegend/types.solid.ts +0 -5
  675. package/components/FieldSet/FieldSet.vue +0 -18
  676. package/components/FieldSet/types.d.vue.ts +0 -11
  677. package/components/FieldSet/types.solid.ts +0 -5
  678. package/components/FieldSet/types.svelte.ts +0 -8
  679. package/components/FieldSet/types.ts +0 -5
  680. package/components/Form/types.d.vue.ts +0 -11
  681. package/components/Form/types.solid.ts +0 -5
  682. package/components/IconButton/IconButton.astro +0 -24
  683. package/components/IconButton/IconButton.vue +0 -24
  684. package/components/IconButton/types.astro.ts +0 -6
  685. package/components/IconButton/types.d.vue.ts +0 -10
  686. package/components/IconButton/types.solid.ts +0 -8
  687. package/components/IconButton/types.svelte.ts +0 -6
  688. package/components/IconButton/types.ts +0 -16
  689. package/components/List/types.d.vue.ts +0 -10
  690. package/components/List/types.solid.ts +0 -4
  691. package/components/ListItem/types.d.vue.ts +0 -10
  692. package/components/ListItem/types.solid.ts +0 -12
  693. package/components/Progress/types.d.vue.ts +0 -10
  694. package/components/Progress/types.solid.ts +0 -4
  695. package/components/Radio/types.d.vue.ts +0 -11
  696. package/components/Radio/types.solid.ts +0 -9
  697. package/components/Range/types.d.vue.ts +0 -14
  698. package/components/Range/types.solid.ts +0 -6
  699. package/components/Select/types.d.vue.ts +0 -17
  700. package/components/Select/types.solid.ts +0 -6
  701. package/components/Switch/types.d.vue.ts +0 -13
  702. package/components/Switch/types.solid.ts +0 -9
  703. package/components/Table/Body.astro +0 -11
  704. package/components/Table/Body.vue +0 -5
  705. package/components/Table/Cell.astro +0 -11
  706. package/components/Table/Cell.vue +0 -5
  707. package/components/Table/Column.astro +0 -12
  708. package/components/Table/Column.vue +0 -19
  709. package/components/Table/ColumnGroup.astro +0 -11
  710. package/components/Table/ColumnGroup.vue +0 -5
  711. package/components/Table/Head.astro +0 -11
  712. package/components/Table/Head.vue +0 -5
  713. package/components/Table/HeaderCell.astro +0 -11
  714. package/components/Table/HeaderCell.vue +0 -5
  715. package/components/Table/Row.astro +0 -11
  716. package/components/Table/Row.vue +0 -5
  717. package/components/Table/index.ts +0 -20
  718. package/components/Table/types.d.vue.ts +0 -10
  719. package/components/Table/types.solid.ts +0 -8
  720. package/components/Tabs/TabsTab.astro +0 -15
  721. package/components/Tabs/TabsTab.vue +0 -24
  722. package/components/Tabs/index.ts +0 -14
  723. package/components/Tabs/types.d.vue.ts +0 -31
  724. package/components/Tabs/types.solid.ts +0 -12
  725. package/components/TextField/types.d.vue.ts +0 -20
  726. package/components/TextField/types.solid.ts +0 -22
  727. package/components/Textarea/types.d.vue.ts +0 -19
  728. package/components/Textarea/types.solid.ts +0 -6
  729. package/components/Toast/Toast.astro +0 -42
  730. package/components/Toast/Toast.vue +0 -48
  731. package/components/ToggleButton/types.d.vue.ts +0 -10
  732. package/components/ToggleButton/types.solid.ts +0 -7
  733. package/components/ToggleGroup/types.d.vue.ts +0 -15
  734. package/components/ToggleGroup/types.solid.ts +0 -4
  735. package/components/Tooltip/types.d.vue.ts +0 -10
  736. package/components/Tooltip/types.solid.ts +0 -6
  737. package/css/components/icon-button.css +0 -139
  738. package/css/components/text-input.css +0 -68
  739. package/css/components/toast.css +0 -157
  740. package/css/js/toast.js +0 -94
@@ -0,0 +1,89 @@
1
+ # References
2
+
3
+ Guides: `getting-started.md` (setup, with a section per framework), `theming.md` (colors, scopes, density, spacing, corners, fonts, elevation, motion and contrast) and `customizing.md` (the `theme.custom` layer and component properties).
4
+
5
+ Each component reference covers HTML, Astro, React, Svelte and Vue: the parts, props, classes, slots and notes they share, the component properties and theme tokens, then a section per framework with its import line, slots, hydration and an example.
6
+
7
+ | Component | File | Description |
8
+ | --- | --- | --- |
9
+ | Accordion | `accordion.md` | Lets you show and hide content, on its own or as a group. |
10
+ | Anchor | `anchor.md` | A structural primitive to enable CSS Anchor Positioning on stuff. |
11
+ | Avatar | `avatar.md` | Avatars show a person or entity as an image, initials or icon. |
12
+ | Badge | `badge.md` | Badges attach a small count or status dot to another element. |
13
+ | Button | `button.md` | Buttons allow users to take actions, and make choices, with a single tap. |
14
+ | Button group | `button-group.md` | Groups related buttons by wrapping them with class="ui-button-group" and role="group". |
15
+ | Callout | `callout.md` | Callouts call out for user attention. Should be part of the flow and used without interrupting the user's task. |
16
+ | Card | `card.md` | The card is extremely versatile and can be used on its own, or as a building block for accordions, dialogs and more. |
17
+ | Carousel | `carousel.md` | A scrolling list with snap points, buttons and markers. |
18
+ | Checkbox | `checkbox.md` | Use a Checkbox for choices that are submitted with a form. For a setting that applies right away, use a Switch, and for options in a toolbar a Toggle. See also: Checkbox field group. |
19
+ | Chip | `chip.md` | Chips are compact elements that represent an input, attribute, or action. Use them for filters, tags and choices. For the main action, like Save or Send, use a Button. |
20
+ | Description list | `description-list.md` | Description lists are used to display a list of terms and their descriptions. |
21
+ | Dialog | `dialog.md` | A minimally styled window overlaid on the main content. By design the Dialog is minimal with zero content to allow for both modal and non-modal use. |
22
+ | Divider | `divider.md` | It's just a line. |
23
+ | Drawer | `drawer.md` | Slides in from the sides, top or bottom of the screen. Good for navigation, filters and side content. For a question or a short task that needs the user's full attention, use a Dialog. |
24
+ | Form | `form.md` | Spacing and grouping for form fields. |
25
+ | Layout | `layout.md` | Five classes for the space between components: .ui-layout-column, .ui-layout-row, .ui-layout-grid, .ui-layout-media and .ui-layout-container. Put them on wrapper elements, such as div, section or ul. They sit in the utils layer, so on a component they replace its own layout. Their gaps come from the --ui-space-* scale, so they follow --ui-space-scale. |
26
+ | List | `list.md` | Lists are continuous, vertical indexes of text and images and video. Use lists to help users find a specific item and act on it. |
27
+ | Menu | `menu.md` | A popover list of actions or links. |
28
+ | Progress | `progress.md` | See also: Spinner. |
29
+ | Radio | `radio.md` | See also: Form documentation. |
30
+ | Range | `range.md` | Range lets users pick a number by sliding a thumb along a track. |
31
+ | Select | `select.md` | Leverages the List component to provide markup for the Select popover. Use a Select to pick a value in a form. For actions, use a Menu. |
32
+ | Spinner | `spinner.md` | Add it to an element with aria-busy="true". Spinners are always indeterminate. See also: Progress bar. |
33
+ | Switch | `switch.md` | Use a Switch for a setting that applies right away. Use a Checkbox for choices that are submitted with a form, and a Toggle for options in a toolbar. See also: Switch field group. |
34
+ | Table | `table.md` | Displays tabular data. Basic tables with row and column headers, and optional captions and footers. |
35
+ | Tabs | `tabs.md` | The Tabs are radio inputs and the Panels are just divs that show and hide based on the radio inputs' :checked state. Use Tabs to switch between panels of content. To pick an option, like a list or grid view, use a Toggle group. |
36
+ | Text field | `text-field.md` | An input for single-line text data. Basic text fields with labels, field descriptions, and validation states. |
37
+ | Textarea | `textarea.md` | An input for multi-line text data. Basic textareas with labels, supporting text, and validation states. |
38
+ | Toggle | `toggle.md` | Toggle buttons and toggle groups switch options on and off, alone or as a set. |
39
+ | Tooltip | `tooltip.md` | Built on top of Anchor. |
40
+ | Typography | `typography.md` | Styles for headings, body text, and other text content. Use util classes anywhere or wrap content in .ui-rich-text. |
41
+
42
+ Components documented on another component's page:
43
+
44
+ | Component | File |
45
+ | --- | --- |
46
+ | AccordionActions | `accordion.md` |
47
+ | AccordionContent | `accordion.md` |
48
+ | AccordionSummary | `accordion.md` |
49
+ | AnchorContent | `anchor.md` |
50
+ | AvatarGroup | `avatar.md` |
51
+ | CalloutContent | `callout.md` |
52
+ | CalloutIcon | `callout.md` |
53
+ | CardActions | `card.md` |
54
+ | CardContent | `card.md` |
55
+ | CardHeader | `card.md` |
56
+ | CheckboxInput | `checkbox.md` |
57
+ | DescriptionListDescription | `description-list.md` |
58
+ | DescriptionListItem | `description-list.md` |
59
+ | DescriptionListTerm | `description-list.md` |
60
+ | DialogContent | `dialog.md` |
61
+ | DialogFooter | `dialog.md` |
62
+ | DialogHeader | `dialog.md` |
63
+ | DialogTitle | `dialog.md` |
64
+ | DrawerContent | `drawer.md` |
65
+ | DrawerFooter | `drawer.md` |
66
+ | DrawerHeader | `drawer.md` |
67
+ | DrawerTitle | `drawer.md` |
68
+ | FieldDescription | `form.md` |
69
+ | FieldGroup | `form.md` |
70
+ | FieldLegend | `form.md` |
71
+ | Fieldset | `form.md` |
72
+ | ListItem | `list.md` |
73
+ | RadioInput | `radio.md` |
74
+ | SwitchInput | `switch.md` |
75
+ | TableBody | `table.md` |
76
+ | TableCaption | `table.md` |
77
+ | TableCell | `table.md` |
78
+ | TableColumn | `table.md` |
79
+ | TableColumnGroup | `table.md` |
80
+ | TableFoot | `table.md` |
81
+ | TableHead | `table.md` |
82
+ | TableHeaderCell | `table.md` |
83
+ | TableRow | `table.md` |
84
+ | TabsItem | `tabs.md` |
85
+ | TabsLabel | `tabs.md` |
86
+ | TabsPanel | `tabs.md` |
87
+ | ToggleButton | `toggle.md` |
88
+ | ToggleGroup | `toggle.md` |
89
+ | TooltipContent | `tooltip.md` |
@@ -0,0 +1,161 @@
1
+ # Layout
2
+
3
+ Five classes for the space between components: .ui-layout-column, .ui-layout-row, .ui-layout-grid, .ui-layout-media and .ui-layout-container. Put them on wrapper elements, such as div, section or ul. They sit in the utils layer, so on a component they replace its own layout. Their gaps come from the --ui-space-* scale, so they follow --ui-space-scale.
4
+
5
+ - CSS: `opui-css/css/components/layout.css`.
6
+ - Full docs with every example: [HTML](https://open-props-ui.netlify.app/html/components/layout.md), [Astro](https://open-props-ui.netlify.app/astro/components/layout.md), [React](https://open-props-ui.netlify.app/react/components/layout.md), [Svelte](https://open-props-ui.netlify.app/svelte/components/layout.md), [Vue](https://open-props-ui.netlify.app/vue/components/layout.md).
7
+
8
+ ## Layout (CSS only)
9
+
10
+ ### Parts
11
+
12
+ - `.ui-layout-column, .ui-layout-row, .ui-layout-grid, .ui-layout-media, .ui-layout-container` (root): Any element. The classes only set its layout.
13
+
14
+ ### Classes
15
+
16
+ - Column: `.ui-layout-column`. A column with even space between its children.
17
+ - Container: `.ui-layout-container`. Centers its content and caps its width.
18
+ - Grid: `.ui-layout-grid`. Columns that fill the width and wrap. On a `ul` or `ol` it also drops the list bullets and margins, and a `.ui-card` in each `li` fills its cell.
19
+ - Media: `.ui-layout-media`. A media object: a fixed-size start, such as an avatar, next to text that fills the rest and truncates.
20
+ - Row: `.ui-layout-row`. A wrapping row with its children centered on one line. On a `ul` or `ol` it also drops the list bullets and margins.
21
+ - Sizes: `large` (`.ui-large`), `medium` (default), `small` (`.ui-small`), `x-small` (`.ui-x-small`). The space between children of `.ui-layout-column`, `.ui-layout-row`, `.ui-layout-grid` and `.ui-layout-media`.
22
+ - Spread: `.ui-spread`. Pushes the children of `.ui-layout-row` to its two ends, for a page header with a heading group and its actions.
23
+
24
+ ### Notes
25
+
26
+ - Astro and Vue: Add the classes to elements in your templates.
27
+ - React and Svelte: Add the classes to elements in your markup.
28
+
29
+ ## Component properties
30
+
31
+ Set inputs on the component, inline or in your CSS. Outputs follow the variant and state, so never override them.
32
+
33
+ ### layout.css
34
+
35
+ - `--_gap`: Space between the children of `.ui-layout-column`, `.ui-layout-row`, `.ui-layout-grid` and `.ui-layout-media`. Defaults to `--ui-space-3`, set by the size classes.
36
+ - `--_justify-content`: How `.ui-layout-row` distributes its children along the row, such as `flex-end`. `.ui-spread` sets it to `space-between`.
37
+ - `--_max-inline-size`: Maximum width of `.ui-layout-container`.
38
+ - `--_min-inline-size`: Narrowest column of `.ui-layout-grid`. Columns are added while they fit at this width.
39
+ - `--_padding-inline`: Inline padding of `.ui-layout-container`. Defaults to `--ui-space-4`.
40
+
41
+ ## Theme tokens
42
+
43
+ The stylesheets read `--ui-space-1`, `--ui-space-2`, `--ui-space-3`, `--ui-space-4` and `--ui-space-5`. `theming.md` and `tokens.json` describe them.
44
+
45
+ ## HTML
46
+
47
+ ### Example: Column
48
+
49
+ ```html
50
+ <div class="ui-layout-column">
51
+ <div class="ui-card ui-outlined">
52
+ <div class="ui-content">First</div>
53
+ </div>
54
+ <div class="ui-card ui-outlined">
55
+ <div class="ui-content">Second</div>
56
+ </div>
57
+ <div class="ui-card ui-outlined">
58
+ <div class="ui-content">Third</div>
59
+ </div>
60
+ </div>
61
+ ```
62
+
63
+ ## Astro
64
+
65
+ There is no Astro component. Use the classes in your markup.
66
+
67
+ ### Example: Column
68
+
69
+ ```astro
70
+ ---
71
+ import { Card, CardContent } from "opui-css/astro"
72
+ ---
73
+
74
+ <div class="ui-layout-column">
75
+ <Card variant="outlined">
76
+ <CardContent>First</CardContent>
77
+ </Card>
78
+ <Card variant="outlined">
79
+ <CardContent>Second</CardContent>
80
+ </Card>
81
+ <Card variant="outlined">
82
+ <CardContent>Third</CardContent>
83
+ </Card>
84
+ </div>
85
+ ```
86
+
87
+ ## React
88
+
89
+ There is no React component. Use the classes in your markup.
90
+
91
+ ### Example: Column
92
+
93
+ ```tsx
94
+ import { Card, CardContent } from "opui-css/react"
95
+
96
+ export default function Column() {
97
+ return (
98
+ <div className="ui-layout-column">
99
+ <Card variant="outlined">
100
+ <CardContent>First</CardContent>
101
+ </Card>
102
+ <Card variant="outlined">
103
+ <CardContent>Second</CardContent>
104
+ </Card>
105
+ <Card variant="outlined">
106
+ <CardContent>Third</CardContent>
107
+ </Card>
108
+ </div>
109
+ )
110
+ }
111
+ ```
112
+
113
+ ## Svelte
114
+
115
+ There is no Svelte component. Use the classes in your markup.
116
+
117
+ ### Example: Column
118
+
119
+ ```svelte
120
+ <script lang="ts">
121
+ import { Card, CardContent } from "opui-css/svelte"
122
+ </script>
123
+
124
+ <div class="ui-layout-column">
125
+ <Card variant="outlined">
126
+ <CardContent>First</CardContent>
127
+ </Card>
128
+ <Card variant="outlined">
129
+ <CardContent>Second</CardContent>
130
+ </Card>
131
+ <Card variant="outlined">
132
+ <CardContent>Third</CardContent>
133
+ </Card>
134
+ </div>
135
+ ```
136
+
137
+ ## Vue
138
+
139
+ There is no Vue component. Use the classes in your markup.
140
+
141
+ ### Example: Column
142
+
143
+ ```vue
144
+ <script setup lang="ts">
145
+ import { Card, CardContent } from "opui-css/vue"
146
+ </script>
147
+
148
+ <template>
149
+ <div class="ui-layout-column">
150
+ <Card variant="outlined">
151
+ <CardContent>First</CardContent>
152
+ </Card>
153
+ <Card variant="outlined">
154
+ <CardContent>Second</CardContent>
155
+ </Card>
156
+ <Card variant="outlined">
157
+ <CardContent>Third</CardContent>
158
+ </Card>
159
+ </div>
160
+ </template>
161
+ ```
@@ -0,0 +1,216 @@
1
+ # List
2
+
3
+ Lists are continuous, vertical indexes of text and images and video. Use lists to help users find a specific item and act on it.
4
+
5
+ - CSS: `opui-css/css/components/list.css`.
6
+ - Full docs with every example: [HTML](https://open-props-ui.netlify.app/html/components/list.md), [Astro](https://open-props-ui.netlify.app/astro/components/list.md), [React](https://open-props-ui.netlify.app/react/components/list.md), [Svelte](https://open-props-ui.netlify.app/svelte/components/list.md), [Vue](https://open-props-ui.netlify.app/vue/components/list.md).
7
+
8
+ ## List
9
+
10
+ ### Parts
11
+
12
+ - `ul.ui-list` (root): Container element.
13
+ - `<li>` (`ListItem`): A list item.
14
+
15
+ ### Props and modifiers
16
+
17
+ - `bordered`: `boolean`, `.ui-bordered`. Adds a border between list items.
18
+ - `dense`: `boolean`, `.ui-dense`. Packs the items tighter.
19
+ - `flush`: `boolean`, `.ui-flush`. Removes the inline padding.
20
+ - `variant`: `"filled"` (default), `"tonal"` (`.ui-tonal`), `"transparent"` (`.ui-transparent`). The variant to use. The default `filled` list uses the filled surface.
21
+
22
+ ### Slots
23
+
24
+ - `default`: The list items.
25
+
26
+ ## ListItem
27
+
28
+ ### Parts
29
+
30
+ - `<li>` (root): The list item.
31
+ - `<a>, <button>, <label>` (prop `as`, prop `href`, prop `type`): The clickable row, rendered by `as`, `href` or `type`.
32
+ - `.ui-start` (slot `start`): Optional content at the start, such as an icon or avatar.
33
+ - `.ui-text`: The text content.
34
+ - `<p>` (prop `label`, slot `label`): The label, the first paragraph.
35
+ - `<p>` (prop `description`, slot `description`): Supporting text, the second paragraph.
36
+ - `.ui-end` (slot `end`): Optional content at the end, such as a value or an action.
37
+
38
+ ### Props and modifiers
39
+
40
+ - `as`: `"a" | "button"`. The element to render inside the `<li>`: `"a"` or `"button"`. Defaults to `"a"` when `href` is set, and to nothing otherwise, so a static item is a bare `<li>`. A `<button>` gets `type="button"`.
41
+ - `borderTop`: `boolean`, `.ui-border-top`. Adds a border above the item.
42
+ - `color`: `"critical"` (`.ui-critical`). Optional colors. `critical` marks a destructive item in a [Menu](/components/menu).
43
+ - `disabled`: `boolean`. Disables a button item. A link item drops its `href` and gets `aria-disabled="true"` instead.
44
+ - `for` (Astro, Svelte and Vue): `string`. The `for` attribute of the `<label>` when `type` is set.
45
+ - `href`: `string`. The link to use. Renders an `<a>` inside the `<li>`.
46
+ - `htmlFor` (React): `string`. The `for` attribute of the `<label>` when `type` is set, as `htmlFor` like on the element.
47
+ - `inset`: `boolean`, `.ui-inset`. Aligns the text with items that have start content.
48
+ - State (HTML): `current` (`[aria-current="page"]`), `disabled` (`[disabled]`), `disabledLink` (`[aria-disabled="true"]`). Highlights the current item, or dims a disabled one. Set it on the `<a>`, `<button>` or `<label>`.
49
+ - `type`: `"checkbox"` (`label.ui-checkbox`), `"radio"` (`label.ui-radio`), `"switch"` (`label.ui-switch`). Wraps the content in a `<label>` for a checkbox, radio or switch. Can't be combined with `as` or `href`.
50
+
51
+ ### Slots
52
+
53
+ - `default`: More content inside `.ui-text`, after the label and description, or all the content when there's neither.
54
+ - `submenu`: A submenu `Menu`, rendered inside the `<li>` after the element set by `as`.
55
+
56
+ ### Notes
57
+
58
+ - HTML: To make the item interactive, wrap the content in an `<a>`, `<button>` or `<label>`.
59
+
60
+ ## Component properties
61
+
62
+ Set inputs on the component, inline or in your CSS. Outputs follow the variant and state, so never override them.
63
+
64
+ ### list.css
65
+
66
+ - `--_bg-color`: Background of the list and its items. Defaults to `--ui-surface-filled`, `.ui-transparent` and `.ui-tonal` set it.
67
+ - `--_description-text-color`: Text color of the description paragraph in an item. `--ui-text-subtle`, and `--ui-on-selected` on a selected or current row when a theme sets it.
68
+ - `--_divider-border-color`: Color of the lines between items in `.ui-bordered` and on `.ui-border-top`. Defaults to `--ui-border-color`, mixed with 20% `--ui-text-strong` in `.ui-tonal`.
69
+ - `--_hover-bg-color`: Background of hovered items, from `--ui-primary`.
70
+ - `--_item-gap`: Gap between the content of an item. Smaller in `.ui-dense`.
71
+ - `--_item-padding-inline`: Horizontal padding of items, headings and options. `--ui-list-item-padding-inline`, or `--ui-space-3` when a theme leaves it unset.
72
+ - `--_radius`: The corner radius of a `.ui-list`. Defaults to `--ui-radius`, and `0` when the list is a direct child of a `Card`, `Accordion` or `Dialog`, which round and clip it themselves.
73
+ - `--_selected-bg-color`: Background of selected and current items and options. `--ui-selected` when the theme sets it, otherwise `--ui-primary` at `--ui-state-active-alpha-accent`, stronger than `--_hover-bg-color`. With more contrast it is `--_hover-bg-color`, so the text keeps 7:1, and the bar marks the row.
74
+ - `--_selected-indicator-bg-color`: Color of the bar on the start edge of selected and current items and options, which marks them without relying on the fill. Defaults to `--ui-selected-strong`.
75
+ - `--_selected-indicator-size`: Width of the bar on selected and current items. Defaults to `--ui-border-width-thick`.
76
+ - `--_separator-gap`: Space around the lines between items in `.ui-bordered` and on `.ui-border-top`. Smaller in `.ui-dense`.
77
+ - `--_start-image-size`: Width of a square image in `.ui-start`.
78
+ - `--_start-size`: Maximum size of leading and trailing icons, and the indent of `.ui-inset` items. Smaller in `.ui-dense`.
79
+ - `--_start-video-size`: Height of a video in `.ui-start`, which keeps a 16:9 ratio.
80
+
81
+ Outputs: `--_selected-shadow`.
82
+
83
+ ## Theme tokens
84
+
85
+ The stylesheets read `--ui-border-color`, `--ui-border-color-on-filled`, `--ui-border-color-on-raised`, `--ui-border-color-raised`, `--ui-border-width`, `--ui-border-width-thick`, `--ui-choice-size-small`, `--ui-control-size`, `--ui-control-size-small`, `--ui-critical`, `--ui-critical-text`, `--ui-disabled-opacity`, `--ui-duration-slow`, `--ui-ease-enter`, `--ui-ease-exit`, `--ui-field-border-color-on-filled`, `--ui-field-border-color-on-raised`, `--ui-focus-ring-inset`, `--ui-font-code`, `--ui-font-size-caption`, `--ui-font-size-small`, `--ui-font-weight-bold`, `--ui-font-weight-normal`, `--ui-icon-size`, `--ui-icon-size-small`, `--ui-line-height`, `--ui-list-item-padding-inline`, `--ui-menu-radius`, `--ui-motion`, `--ui-on-selected`, `--ui-primary`, `--ui-primary-text`, `--ui-radius`, `--ui-selected`, `--ui-selected-strong`, `--ui-shadow-overlay`, `--ui-space-1`, `--ui-space-2`, `--ui-space-3`, `--ui-space-6`, `--ui-state-active-alpha-accent`, `--ui-state-hover-alpha-accent`, `--ui-surface-elevated`, `--ui-surface-filled`, `--ui-surface-tonal`, `--ui-switch-thumb-size-small`, `--ui-switch-track-block-size-small`, `--ui-switch-track-inline-size-small`, `--ui-text`, `--ui-text-strong` and `--ui-text-subtle`. `theming.md` and `tokens.json` describe them.
86
+
87
+ ## HTML
88
+
89
+ ### Example: Basics
90
+
91
+ ```html
92
+ <ul class="ui-list">
93
+ <li>
94
+ <div class="ui-text">
95
+ <p>Headline</p>
96
+ </div>
97
+ </li>
98
+ <li>
99
+ <div class="ui-text">
100
+ <p>Headline</p>
101
+ <p>
102
+ Supporting text that truly is quite long enough to fill up multiple
103
+ lines.
104
+ </p>
105
+ </div>
106
+ </li>
107
+ <li>
108
+ <div class="ui-text">
109
+ <p>Trailing supporting text</p>
110
+ </div>
111
+ <div class="ui-end">100+</div>
112
+ </li>
113
+ </ul>
114
+ ```
115
+
116
+ ## Astro
117
+
118
+ `import { List, ListItem } from "opui-css/astro"`
119
+
120
+ - `ListItem` named slots: `description`, `end`, `label`, `start` and `submenu`. Fill one with `slot="description"` on a child.
121
+
122
+ ### Example: Basics
123
+
124
+ ```astro
125
+ ---
126
+ import { List, ListItem } from "opui-css/astro"
127
+ ---
128
+
129
+ <List>
130
+ <ListItem label="Headline" />
131
+ <ListItem
132
+ label="Headline"
133
+ description="Supporting text that truly is quite long enough to fill up multiple lines."
134
+ />
135
+ <ListItem label="Trailing supporting text">
136
+ <Fragment slot="end">100+</Fragment>
137
+ </ListItem>
138
+ </List>
139
+ ```
140
+
141
+ ## React
142
+
143
+ `import { List, ListItem } from "opui-css/react"`
144
+
145
+ - `ListItem` slot props (`ReactNode`): `children`, `description`, `end`, `label`, `start` and `submenu`.
146
+
147
+ ### Example: Basics
148
+
149
+ ```tsx
150
+ import { List, ListItem } from "opui-css/react"
151
+
152
+ export default function Basics() {
153
+ return (
154
+ <List>
155
+ <ListItem label="Headline" />
156
+ <ListItem
157
+ label="Headline"
158
+ description="Supporting text that truly is quite long enough to fill up multiple lines."
159
+ />
160
+ <ListItem label="Trailing supporting text" end="100+" />
161
+ </List>
162
+ )
163
+ }
164
+ ```
165
+
166
+ ## Svelte
167
+
168
+ `import { List, ListItem } from "opui-css/svelte"`
169
+
170
+ - `ListItem` slot snippets: `children`, `description`, `end`, `label`, `start` and `submenu`.
171
+
172
+ ### Example: Basics
173
+
174
+ ```svelte
175
+ <script lang="ts">
176
+ import { List, ListItem } from "opui-css/svelte"
177
+ </script>
178
+
179
+ <List>
180
+ <ListItem label="Headline" />
181
+ <ListItem
182
+ label="Headline"
183
+ description="Supporting text that truly is quite long enough to fill up multiple lines."
184
+ />
185
+ <ListItem label="Trailing supporting text">
186
+ {#snippet end()}100+{/snippet}
187
+ </ListItem>
188
+ </List>
189
+ ```
190
+
191
+ ## Vue
192
+
193
+ `import { List, ListItem } from "opui-css/vue"`
194
+
195
+ - `ListItem` named slots: `description`, `end`, `label`, `start` and `submenu`. Fill one with `<template #description>`.
196
+
197
+ ### Example: Basics
198
+
199
+ ```vue
200
+ <script setup lang="ts">
201
+ import { List, ListItem } from "opui-css/vue"
202
+ </script>
203
+
204
+ <template>
205
+ <List>
206
+ <ListItem label="Headline" />
207
+ <ListItem
208
+ label="Headline"
209
+ description="Supporting text that truly is quite long enough to fill up multiple lines."
210
+ />
211
+ <ListItem label="Trailing supporting text">
212
+ <template #end>100+</template>
213
+ </ListItem>
214
+ </List>
215
+ </template>
216
+ ```