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
package/react/index.ts ADDED
@@ -0,0 +1,176 @@
1
+ import type {} from "./elements"
2
+ export { default as Accordion } from "../components/Accordion/Accordion.react"
3
+ export { default as AccordionActions } from "../components/Accordion/AccordionActions.react"
4
+ export { default as AccordionContent } from "../components/Accordion/AccordionContent.react"
5
+ export { default as AccordionSummary } from "../components/Accordion/AccordionSummary.react"
6
+ export { default as Anchor } from "../components/Anchor/Anchor.react"
7
+ export { default as AnchorContent } from "../components/Anchor/AnchorContent.react"
8
+ export { default as Avatar } from "../components/Avatar/Avatar.react"
9
+ export { default as AvatarGroup } from "../components/Avatar/AvatarGroup.react"
10
+ export { default as Badge } from "../components/Badge/Badge.react"
11
+ export { default as Button } from "../components/Button/Button.react"
12
+ export { default as ButtonGroup } from "../components/ButtonGroup/ButtonGroup.react"
13
+ export { default as Callout } from "../components/Callout/Callout.react"
14
+ export { default as CalloutContent } from "../components/Callout/CalloutContent.react"
15
+ export { default as CalloutIcon } from "../components/Callout/CalloutIcon.react"
16
+ export { default as Card } from "../components/Card/Card.react"
17
+ export { default as CardActions } from "../components/Card/CardActions.react"
18
+ export { default as CardContent } from "../components/Card/CardContent.react"
19
+ export { default as CardHeader } from "../components/Card/CardHeader.react"
20
+ export { default as Carousel } from "../components/Carousel/Carousel.react"
21
+ export { default as Checkbox } from "../components/Checkbox/Checkbox.react"
22
+ export { default as CheckboxInput } from "../components/Checkbox/CheckboxInput.react"
23
+ export { default as Chip } from "../components/Chip/Chip.react"
24
+ export { default as DescriptionList } from "../components/DescriptionList/DescriptionList.react"
25
+ export { default as DescriptionListDescription } from "../components/DescriptionList/DescriptionListDescription.react"
26
+ export { default as DescriptionListItem } from "../components/DescriptionList/DescriptionListItem.react"
27
+ export { default as DescriptionListTerm } from "../components/DescriptionList/DescriptionListTerm.react"
28
+ export { default as Dialog } from "../components/Dialog/Dialog.react"
29
+ export { default as DialogContent } from "../components/Dialog/DialogContent.react"
30
+ export { default as DialogFooter } from "../components/Dialog/DialogFooter.react"
31
+ export { default as DialogHeader } from "../components/Dialog/DialogHeader.react"
32
+ export { default as DialogTitle } from "../components/Dialog/DialogTitle.react"
33
+ export { default as Divider } from "../components/Divider/Divider.react"
34
+ export { default as Drawer } from "../components/Drawer/Drawer.react"
35
+ export { default as DrawerContent } from "../components/Drawer/DrawerContent.react"
36
+ export { default as DrawerFooter } from "../components/Drawer/DrawerFooter.react"
37
+ export { default as DrawerHeader } from "../components/Drawer/DrawerHeader.react"
38
+ export { default as DrawerTitle } from "../components/Drawer/DrawerTitle.react"
39
+ export { default as FieldDescription } from "../components/FieldDescription/FieldDescription.react"
40
+ export { default as FieldGroup } from "../components/FieldGroup/FieldGroup.react"
41
+ export { default as FieldLegend } from "../components/FieldLegend/FieldLegend.react"
42
+ export { default as Fieldset } from "../components/Fieldset/Fieldset.react"
43
+ export { default as Form } from "../components/Form/Form.react"
44
+ export { default as List } from "../components/List/List.react"
45
+ export { default as ListItem } from "../components/ListItem/ListItem.react"
46
+ export { default as Menu } from "../components/Menu/Menu.react"
47
+ export { default as Progress } from "../components/Progress/Progress.react"
48
+ export { default as Radio } from "../components/Radio/Radio.react"
49
+ export { default as RadioInput } from "../components/Radio/RadioInput.react"
50
+ export { default as Range } from "../components/Range/Range.react"
51
+ export { default as Select } from "../components/Select/Select.react"
52
+ export { default as Switch } from "../components/Switch/Switch.react"
53
+ export { default as SwitchInput } from "../components/Switch/SwitchInput.react"
54
+ export { default as Table } from "../components/Table/Table.react"
55
+ export { default as TableBody } from "../components/Table/TableBody.react"
56
+ export { default as TableCaption } from "../components/Table/TableCaption.react"
57
+ export { default as TableCell } from "../components/Table/TableCell.react"
58
+ export { default as TableColumn } from "../components/Table/TableColumn.react"
59
+ export { default as TableColumnGroup } from "../components/Table/TableColumnGroup.react"
60
+ export { default as TableFoot } from "../components/Table/TableFoot.react"
61
+ export { default as TableHead } from "../components/Table/TableHead.react"
62
+ export { default as TableHeaderCell } from "../components/Table/TableHeaderCell.react"
63
+ export { default as TableRow } from "../components/Table/TableRow.react"
64
+ export { default as Tabs } from "../components/Tabs/Tabs.react"
65
+ export { default as TabsItem } from "../components/Tabs/TabsItem.react"
66
+ export { default as TabsLabel } from "../components/Tabs/TabsLabel.react"
67
+ export { default as TabsPanel } from "../components/Tabs/TabsPanel.react"
68
+ export { default as Textarea } from "../components/Textarea/Textarea.react"
69
+ export { default as TextField } from "../components/TextField/TextField.react"
70
+ export { default as ToggleButton } from "../components/ToggleButton/ToggleButton.react"
71
+ export { default as ToggleGroup } from "../components/ToggleGroup/ToggleGroup.react"
72
+ export { default as Tooltip } from "../components/Tooltip/Tooltip.react"
73
+ export { default as TooltipContent } from "../components/Anchor/AnchorContent.react"
74
+ export type {
75
+ AccordionActionsProps,
76
+ AccordionContentProps,
77
+ Props as AccordionProps,
78
+ AccordionSummaryProps,
79
+ } from "../components/Accordion/types.react"
80
+ export type {
81
+ AnchorContentProps,
82
+ Props as AnchorProps,
83
+ AnchorContentProps as TooltipContentProps,
84
+ } from "../components/Anchor/types.react"
85
+ export type {
86
+ AvatarGroupProps,
87
+ Props as AvatarProps,
88
+ } from "../components/Avatar/types.react"
89
+ export type { Props as BadgeProps } from "../components/Badge/types.react"
90
+ export type { Props as ButtonProps } from "../components/Button/types.react"
91
+ export type { Props as ButtonGroupProps } from "../components/ButtonGroup/types.react"
92
+ export type {
93
+ CalloutContentProps,
94
+ CalloutIconProps,
95
+ Props as CalloutProps,
96
+ } from "../components/Callout/types.react"
97
+ export type {
98
+ CardActionsProps,
99
+ CardContentProps,
100
+ CardHeaderProps,
101
+ Props as CardProps,
102
+ } from "../components/Card/types.react"
103
+ export type { Props as CarouselProps } from "../components/Carousel/types.react"
104
+ export type {
105
+ CheckboxInputProps,
106
+ Props as CheckboxProps,
107
+ } from "../components/Checkbox/types.react"
108
+ export type { Props as ChipProps } from "../components/Chip/types.react"
109
+ export type {
110
+ DescriptionListDescriptionProps,
111
+ DescriptionListItemProps,
112
+ Props as DescriptionListProps,
113
+ DescriptionListTermProps,
114
+ } from "../components/DescriptionList/types.react"
115
+ export type {
116
+ DialogContentProps,
117
+ DialogFooterProps,
118
+ DialogHeaderProps,
119
+ Props as DialogProps,
120
+ DialogTitleProps,
121
+ } from "../components/Dialog/types.react"
122
+ export type { Props as DividerProps } from "../components/Divider/types.react"
123
+ export type {
124
+ DrawerContentProps,
125
+ DrawerFooterProps,
126
+ DrawerHeaderProps,
127
+ Props as DrawerProps,
128
+ DrawerTitleProps,
129
+ } from "../components/Drawer/types.react"
130
+ export type { Props as FieldDescriptionProps } from "../components/FieldDescription/types.react"
131
+ export type { Props as FieldGroupProps } from "../components/FieldGroup/types.react"
132
+ export type { Props as FieldLegendProps } from "../components/FieldLegend/types.react"
133
+ export type { Props as FieldsetProps } from "../components/Fieldset/types.react"
134
+ export type { Props as FormProps } from "../components/Form/types.react"
135
+ export type { Props as ListProps } from "../components/List/types.react"
136
+ export type { Props as ListItemProps } from "../components/ListItem/types.react"
137
+ export type {
138
+ MenuItem,
139
+ Props as MenuProps,
140
+ } from "../components/Menu/types.react"
141
+ export type { Props as ProgressProps } from "../components/Progress/types.react"
142
+ export type {
143
+ RadioInputProps,
144
+ Props as RadioProps,
145
+ } from "../components/Radio/types.react"
146
+ export type { RangeItem } from "../components/Range/types"
147
+ export type { Props as RangeProps } from "../components/Range/types.react"
148
+ export type { SelectItem } from "../components/Select/types"
149
+ export type { Props as SelectProps } from "../components/Select/types.react"
150
+ export type {
151
+ SwitchInputProps,
152
+ Props as SwitchProps,
153
+ } from "../components/Switch/types.react"
154
+ export type {
155
+ TableBodyProps,
156
+ TableCaptionProps,
157
+ TableCellProps,
158
+ TableColumnGroupProps,
159
+ TableColumnProps,
160
+ TableFootProps,
161
+ TableHeaderCellProps,
162
+ TableHeadProps,
163
+ Props as TableProps,
164
+ TableRowProps,
165
+ } from "../components/Table/types.react"
166
+ export type {
167
+ TabsItemProps,
168
+ TabsLabelProps,
169
+ TabsPanelProps,
170
+ Props as TabsProps,
171
+ } from "../components/Tabs/types.react"
172
+ export type { Props as TextareaProps } from "../components/Textarea/types.react"
173
+ export type { Props as TextFieldProps } from "../components/TextField/types.react"
174
+ export type { Props as ToggleButtonProps } from "../components/ToggleButton/types.react"
175
+ export type { Props as ToggleGroupProps } from "../components/ToggleGroup/types.react"
176
+ export type { Props as TooltipProps } from "../components/Tooltip/types.react"
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: opui
3
+ description: Build UI with Open Props UI (the opui-css package). Use when a project depends on opui-css, imports from opui-css/astro, opui-css/react, opui-css/svelte or opui-css/vue, or uses ui-* classes such as .ui-button or .ui-card, and you need correct markup, classes, props or CSS imports for its components.
4
+ ---
5
+
6
+ # Open Props UI
7
+
8
+ A CSS UI library whose tokens started from [Open Props](https://open-props.style/); the components don't need it. It ships framework-agnostic CSS plus Astro, React, Svelte and Vue components that render matching markup; a parity test suite keeps them in step.
9
+
10
+ ## Setup
11
+
12
+ Install with `npm install opui-css`. Open Props is bundled in `dist/opui.css` for your own CSS, and the components don't read it; install `open-props` only to import `opui-css/open-props.css` with a bundler.
13
+
14
+ - With a bundler, import everything with `@import "opui-css/css/imports.css"`, or import `opui-css/css/layers.css` first, then `opui-css/core/palette.css`, `opui-css/css/theme.css`, `opui-css/core/normalize.css`, the components from `opui-css/css/components/<name>.css` (`choice.css` with `checkbox.css`, `radio.css` or `switch.css`), the browser fallbacks from `opui-css/css/compat.css`, and `opui-css/core/utils.css` last. `references/getting-started.md` has the full list.
15
+ - Without a bundler, link `https://cdn.jsdelivr.net/npm/opui-css@6/dist/opui.css`. It includes the browser fallbacks of the `components.compat` layer: `dist/opui.no-compat.css` leaves them out, and `dist/opui.baseline-<year>.css` keeps only the ones browsers of that Baseline year need.
16
+ - Astro: `import { Button } from "opui-css/astro"`. React: `import { Button } from "opui-css/react"`. Svelte: `import { Button } from "opui-css/svelte"`. Vue: `import { Button } from "opui-css/vue"`. All still need the CSS imported once.
17
+ - `npx opui-css skill` copies this skill, matching the installed version, into `.claude/skills/opui`. Pass `--dir <path>` for another agent's skills folder and `--force` to replace an older copy after an upgrade.
18
+
19
+ ## Conventions
20
+
21
+ - Every class is prefixed with `ui-`: a base class (`.ui-button`) plus modifiers (`.ui-filled`, `.ui-small`, `.ui-primary`).
22
+ - Astro, React, Svelte and Vue props mirror the modifiers without the prefix: `<Button variant="filled" size="small" color="primary">`.
23
+ - Slots: Astro fills a named slot with `slot="end-text"` on a child and Vue with `<template #end-text>`. React takes slots as props and Svelte as snippets, camelCased (`endText`), with the default slot as `children`. Containers take parts instead, such as `CardHeader`.
24
+ - Common modifiers: sizes `.ui-x-small`, `.ui-small`, `.ui-large` (not every component has all three), variants `.ui-filled`, `.ui-outlined`, `.ui-tonal`, colors `.ui-primary`, `.ui-critical`, severities `.ui-info`, `.ui-success`, `.ui-warning`, `.ui-critical`. The reference lists which apply.
25
+ - Buttons: give `<button>` a `type`. When a button has an icon, wrap the label in `<span class="ui-text">` (also inside `<Button>`); a button whose only element is an `svg` is styled as icon-only.
26
+ - Components lean on native HTML: `<dialog>`, `popover`, invoker commands (`commandfor` / `command`), `<details>`. Prefer these over custom JavaScript.
27
+ - Styles live in cascade layers (`openprops, theme, normalize, components.prose, components.root, components.extended, components.compat, utils`), and `theme` has the sublayers `theme.palette, theme.base, theme.custom, theme.severity`. Put theme tokens in `@layer theme.custom`. Put other overrides in a layer after `utils` or leave them unlayered.
28
+
29
+ ## Customizing
30
+
31
+ Change the least specific thing that does the job, in this order:
32
+
33
+ 1. A theme token in `@layer theme.custom`, for the whole site. Only list the tokens you change.
34
+ 2. A component's `--_` input, set on the component itself (inline or in your own CSS), for one component or one instance.
35
+ 3. Your own CSS in a layer after `utils`, or unlayered, for anything else.
36
+
37
+ Never override a component's outputs (`--_bg-color`, `--_text-color`, `--_border-color`): hover, active and disabled set them, so an override freezes them in every state. Change the input they derive from, such as `--_accent`. Don't add `!important` or long selectors: the layers already let your CSS win.
38
+
39
+ | To change | Set |
40
+ | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
41
+ | Main color | `--ui-palette-hue` and `--ui-palette-chroma`, or `--ui-palette-source` with any color |
42
+ | Main color in one part of the page | `.ui-palette` and `--ui-palette-hue` on that element |
43
+ | Corners | `--ui-radius` (buttons and fields follow it) |
44
+ | Fonts | `--ui-font-body`, `--ui-font-heading`, `--ui-font-code` |
45
+ | Control height | `--ui-density` |
46
+ | Spacing in and between containers | `--ui-space-scale` |
47
+ | Shadows | `--ui-shadow-color` (light and dark), `--ui-shadow-elevated`, `--ui-shadow-overlay` |
48
+ | Space between components | `.ui-layout-column`, `.ui-layout-row`, `.ui-layout-grid` and `.ui-layout-container` (see `references/layout.md`), not your own flex or grid CSS |
49
+ | Transitions | `--ui-motion` (`0` turns them off), `--ui-duration`, `--ui-ease` |
50
+ | One component's color | `--_accent` on it, or `.ui-primary`/`.ui-critical` |
51
+ | A severity color for a section | `.ui-critical`, `.ui-info`, `.ui-success`, `.ui-warning`, `.ui-neutral` |
52
+
53
+ ```css
54
+ @layer theme.custom {
55
+ :where(html) {
56
+ --ui-radius: 4px;
57
+ --ui-font-body: "Inter", var(--font-sans);
58
+ --ui-palette-hue: 265;
59
+ }
60
+ }
61
+ ```
62
+
63
+ Example themes ship in `opui-css/themes/` (`bootstrap.css`, a Bootstrap 5 look, `brutalist.css`, a neobrutalism look, `m3.css`, a Material 3 look, and `shadcn.css`, a shadcn/ui look), to import or copy as a starting point. They name their fonts (DM Sans, Roboto, Geist) but don't load them. They start with the layer order, so they work wherever they load. A theme file you write should load after the library, or start with the two `@layer` statements from `css/layers.css`.
64
+
65
+ `tokens.json` at the package root (`node_modules/opui-css/tokens.json`, or `import tokens from "opui-css/tokens.json"`) lists every theme token in the W3C design tokens format: its `$type`, description and default as `$value`, and under `$extensions.opui` its CSS variable, tier, contrast promise and dark and more-contrast values. Unset tokens have no `$value`, only an `example`.
66
+
67
+ ## References
68
+
69
+ 1. Read `references/getting-started.md` for setup, with a section per framework, `references/theming.md` for colors, scopes, density, spacing, corners, fonts, elevation, motion and contrast, and `references/customizing.md` for the `theme.custom` layer and component properties.
70
+ 2. Find the component in `references/index.md`.
71
+ 3. Read `references/<component>.md` before writing markup. One file covers every framework. It starts with the stylesheets to import and links to the full docs page per framework, with every example, the accessibility notes and the Under the hood walkthrough. Then it lists each component on the page: its parts with their selectors, its props with the class or attribute they render, their values and defaults, its slots, model and notes. The stylesheets' component properties and the theme tokens they read follow, and a section per framework (HTML, Astro, React, Svelte and Vue) with its import line, slot syntax, hydration notes and the page's first example. A prop marked with frameworks, such as `onValueChange` (React), only exists there, and a modifier marked HTML has no prop.
72
+ 4. After the first icon in a reference, repeated icon SVGs in the examples are shortened to `<svg aria-hidden="true" viewBox="..."></svg>`: put any inline SVG icon there.
73
+ 5. Set a component's inputs (like `--_accent`) on the component itself. Don't override outputs (like `--_bg-color`): states set them, so an override freezes them. For exact selectors, read `node_modules/opui-css/css/components/<component>.css`.
74
+
75
+ Full docs: https://open-props-ui.netlify.app/llms.txt
@@ -0,0 +1,253 @@
1
+ # Accordion
2
+
3
+ Lets you show and hide content, on its own or as a group.
4
+
5
+ - CSS: `opui-css/css/components/accordion.css` and `opui-css/css/components/card.css`.
6
+ - Full docs with every example: [HTML](https://open-props-ui.netlify.app/html/components/accordion.md), [Astro](https://open-props-ui.netlify.app/astro/components/accordion.md), [React](https://open-props-ui.netlify.app/react/components/accordion.md), [Svelte](https://open-props-ui.netlify.app/svelte/components/accordion.md), [Vue](https://open-props-ui.netlify.app/vue/components/accordion.md).
7
+
8
+ ## Accordion
9
+
10
+ ### Parts
11
+
12
+ - `details.ui-accordion` (root): Container element.
13
+ - `<summary>` (`AccordionSummary`): The always visible header.
14
+ - `<svg class="ui-marker">`: The marker. In Astro, React, Svelte and Vue, `AccordionSummary` renders a chevron by default. Only `.ui-marker` animates.
15
+ - `.ui-content` (`AccordionContent`): The collapsible content.
16
+ - `.ui-actions` (`AccordionActions`): A group of actions, such as buttons.
17
+
18
+ ### Props and modifiers
19
+
20
+ - `markerAnimation`: `"flip"` (`.ui-marker-animation-flip`), `"rotate"` (default), `"turn"` (`.ui-marker-animation-turn`). How the marker animates when the accordion opens. `rotate` turns it upside down, `flip` mirrors it, and `turn` gives a chevron that points to the inline end a quarter turn, so it points down when open.
21
+ - `name`: `string`, `[name]`. Groups accordions so only one of them can be open at a time.
22
+ - `open`: `boolean`, `[open]`. Whether the accordion is open.
23
+ - `variant`: `"elevated"` (`.ui-elevated`), `"outlined"` (`.ui-outlined`), `"plain"` (default), `"tonal"` (`.ui-tonal`), `"transparent"` (`.ui-transparent`). The variant to use. The default `plain` accordion has the page surface and no border, like a Card. `transparent` has no surface, border or padding.
24
+
25
+ ### Slots
26
+
27
+ - `default`: The accordion parts.
28
+
29
+ ### Notes
30
+
31
+ - HTML: To group accordions, wrap them in a `.ui-card[role="group"]`. A variant on the group styles every accordion in it.
32
+ - Astro, React, Svelte and Vue: Build it from `AccordionSummary`, `AccordionContent` and `AccordionActions`. To group accordions, wrap them in a `<Card role="group">`. Its `variant` styles every accordion in it.
33
+
34
+ ## AccordionSummary
35
+
36
+ ### Parts
37
+
38
+ - `<summary>` (root): The always visible header.
39
+ - `<svg class="ui-marker">` (slot `marker`): The marker. Renders a chevron by default. Only `.ui-marker` animates.
40
+
41
+ ### Slots
42
+
43
+ - `default`: The summary text.
44
+
45
+ ## AccordionActions
46
+
47
+ ### Parts
48
+
49
+ - `.ui-actions` (root): A group of actions, such as buttons.
50
+
51
+ ### Props and modifiers
52
+
53
+ - `align`: `"end"` (default), `"start"` (`.ui-align-start`). Alignment for the actions.
54
+
55
+ ### Slots
56
+
57
+ - `default`: The actions, such as buttons.
58
+
59
+ ## Component properties
60
+
61
+ Set inputs on the component, inline or in your CSS. Outputs follow the variant and state, so never override them.
62
+
63
+ ### accordion.css
64
+
65
+ - `--_actions-gap`: Space between the buttons in `.ui-actions`.
66
+ - `--_actions-margin-block-start`: Space above `.ui-actions`.
67
+ - `--_actions-padding-block-end`: Bottom padding of `.ui-actions`. Defaults to `--_summary-padding-block`.
68
+ - `--_actions-padding-inline`: Inline padding of `.ui-actions`. Defaults to `--_content-padding-inline`, and at least the focus ring's space.
69
+ - `--_content-padding-block`: Block padding of `.ui-content`.
70
+ - `--_content-padding-inline`: Inline padding of `.ui-content`. Defaults to `--_padding-inline`.
71
+ - `--_divider-border-color`: Color of the border between items in a group. Defaults to `--ui-border-color`.
72
+ - `--_ease`: Easing of the transitions. Defaults to `--ui-ease`.
73
+ - `--_focus-ring-offset`: Offset of the `summary` focus ring. Inside the summary, except in `.ui-transparent`.
74
+ - `--_group-radius`: Corner radius of the first and last item in a group. Defaults to `--ui-radius`.
75
+ - `--_item-padding-inline`: Inline padding of the items in a group. `0` when the card is `.ui-transparent`.
76
+ - `--_item-summary-padding-inline`: Inline padding of the item `summary` in a group. Defaults to `--_item-padding-inline`.
77
+ - `--_margin-inline`: The inline margin. `0`, except in `.ui-transparent` outside a group.
78
+ - `--_motion`: Motion multiplier for `--_duration`. `0` turns the transitions off.
79
+ - `--_padding-inline`: Inline padding of `summary`, `.ui-content` and `.ui-actions`. `0` in `.ui-transparent`.
80
+ - `--_radius`: The corner radius, also of the `summary` focus ring. Defaults to `--ui-radius`.
81
+ - `--_summary-padding-block`: Block padding of `summary`.
82
+ - `--_summary-padding-inline`: Inline padding of `summary`. Defaults to `--_padding-inline`.
83
+
84
+ Outputs: `--_bg-color`, `--_border-color`, `--_border-width`, `--_duration`, `--_overflow` and `--_shadow`.
85
+
86
+ ### card.css
87
+
88
+ - `--_ease`: Easing of the focus ring animation. Defaults to `--ui-ease`.
89
+ - `--_elevated-bg-color`: Background of `.ui-elevated`. Defaults to `--ui-surface-elevated`.
90
+ - `--_elevated-shadow`: Shadow of `.ui-elevated`. Defaults to `--ui-shadow-elevated`.
91
+ - `--_motion`: Motion multiplier for the focus ring animation. `0` turns it off.
92
+ - `--_outlined-border-color`: Border color of `.ui-outlined`. Defaults to `--ui-border-color`.
93
+ - `--_padding`: Padding of the header, content and actions. `--ui-card-padding`, or `--ui-space-3` when a theme leaves it unset.
94
+ - `--_surface-bg-color`: Background of default and `.ui-outlined` cards, and border color of `.ui-tonal` and `.ui-elevated` unless a theme sets `--ui-border-color-raised`. Defaults to `--ui-surface`.
95
+ - `--_tonal-bg-color`: Background of `.ui-tonal`. Defaults to `--ui-surface-tonal`.
96
+
97
+ Outputs: `--_bg-color`, `--_border-color`, `--_border-width`, `--_duration` and `--_shadow`.
98
+
99
+ ## Theme tokens
100
+
101
+ The stylesheets read `--ui-border-color`, `--ui-border-color-on-raised`, `--ui-border-color-raised`, `--ui-border-width`, `--ui-card-padding`, `--ui-duration`, `--ui-ease`, `--ui-field-border-color-on-raised`, `--ui-focus-ring-color`, `--ui-focus-ring-inset`, `--ui-focus-ring-offset`, `--ui-focus-ring-style`, `--ui-focus-ring-width`, `--ui-font-size-body`, `--ui-font-size-caption`, `--ui-font-weight-bold`, `--ui-line-height-tight`, `--ui-motion`, `--ui-radius`, `--ui-shadow-elevated`, `--ui-shadow-surface`, `--ui-space-1`, `--ui-space-2`, `--ui-space-3`, `--ui-surface`, `--ui-surface-elevated`, `--ui-surface-tonal` and `--ui-text`. `theming.md` and `tokens.json` describe them.
102
+
103
+ ## HTML
104
+
105
+ ### Example: Basics
106
+
107
+ ```html
108
+ <details class="ui-accordion">
109
+ <summary>
110
+ Accordion
111
+ <svg
112
+ aria-hidden="true"
113
+ class="ui-marker"
114
+ xmlns="http://www.w3.org/2000/svg"
115
+ width="24"
116
+ height="24"
117
+ viewBox="0 0 24 24"
118
+ >
119
+ <path
120
+ fill="currentColor"
121
+ d="M4.293 8.293a1 1 0 0 1 1.414 0L12 14.586l6.293-6.293a1 1 0 1 1 1.414 1.414l-7 7a1 1 0 0 1-1.414 0l-7-7a1 1 0 0 1 0-1.414"
122
+ />
123
+ </svg>
124
+ </summary>
125
+ <div class="ui-content">
126
+ <p>
127
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sodales,
128
+ nulla sit amet porttitor rhoncus, lacus ex vestibulum libero, ac mollis
129
+ neque ante id justo. Nam tempor euismod nisi ac ornare. Pellentesque id
130
+ sapien lacinia, venenatis est aliquam, dignissim elit. Suspendisse
131
+ potenti. Cras ut ante in libero tempus sodales sed quis dolor.
132
+ </p>
133
+ </div>
134
+ </details>
135
+ ```
136
+
137
+ ## Astro
138
+
139
+ `import { Accordion, AccordionActions, AccordionContent, AccordionSummary } from "opui-css/astro"`
140
+
141
+ - `AccordionSummary` named slots: `marker`. Fill one with `slot="marker"` on a child.
142
+
143
+ ### Example: Basics
144
+
145
+ ```astro
146
+ ---
147
+ import { Accordion, AccordionContent, AccordionSummary } from "opui-css/astro"
148
+ ---
149
+
150
+ <Accordion>
151
+ <AccordionSummary>Accordion</AccordionSummary>
152
+ <AccordionContent>
153
+ <p>
154
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sodales,
155
+ nulla sit amet porttitor rhoncus, lacus ex vestibulum libero, ac mollis
156
+ neque ante id justo. Nam tempor euismod nisi ac ornare. Pellentesque id
157
+ sapien lacinia, venenatis est aliquam, dignissim elit. Suspendisse
158
+ potenti. Cras ut ante in libero tempus sodales sed quis dolor.
159
+ </p>
160
+ </AccordionContent>
161
+ </Accordion>
162
+ ```
163
+
164
+ ## React
165
+
166
+ `import { Accordion, AccordionActions, AccordionContent, AccordionSummary } from "opui-css/react"`
167
+
168
+ - `AccordionSummary` slot props (`ReactNode`): `children` and `marker`.
169
+
170
+ ### Example: Basics
171
+
172
+ ```tsx
173
+ import { Accordion, AccordionContent, AccordionSummary } from "opui-css/react"
174
+
175
+ export default function Basics() {
176
+ return (
177
+ <Accordion>
178
+ <AccordionSummary>Accordion</AccordionSummary>
179
+ <AccordionContent>
180
+ <p>
181
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus
182
+ sodales, nulla sit amet porttitor rhoncus, lacus ex vestibulum libero,
183
+ ac mollis neque ante id justo. Nam tempor euismod nisi ac ornare.
184
+ Pellentesque id sapien lacinia, venenatis est aliquam, dignissim elit.
185
+ Suspendisse potenti. Cras ut ante in libero tempus sodales sed quis
186
+ dolor.
187
+ </p>
188
+ </AccordionContent>
189
+ </Accordion>
190
+ )
191
+ }
192
+ ```
193
+
194
+ ## Svelte
195
+
196
+ `import { Accordion, AccordionActions, AccordionContent, AccordionSummary } from "opui-css/svelte"`
197
+
198
+ - `AccordionSummary` slot snippets: `children` and `marker`.
199
+
200
+ ### Example: Basics
201
+
202
+ ```svelte
203
+ <script lang="ts">
204
+ import {
205
+ Accordion,
206
+ AccordionContent,
207
+ AccordionSummary,
208
+ } from "opui-css/svelte"
209
+ </script>
210
+
211
+ <Accordion>
212
+ <AccordionSummary>Accordion</AccordionSummary>
213
+ <AccordionContent>
214
+ <p>
215
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sodales,
216
+ nulla sit amet porttitor rhoncus, lacus ex vestibulum libero, ac mollis
217
+ neque ante id justo. Nam tempor euismod nisi ac ornare. Pellentesque id
218
+ sapien lacinia, venenatis est aliquam, dignissim elit. Suspendisse
219
+ potenti. Cras ut ante in libero tempus sodales sed quis dolor.
220
+ </p>
221
+ </AccordionContent>
222
+ </Accordion>
223
+ ```
224
+
225
+ ## Vue
226
+
227
+ `import { Accordion, AccordionActions, AccordionContent, AccordionSummary } from "opui-css/vue"`
228
+
229
+ - `AccordionSummary` named slots: `marker`. Fill one with `<template #marker>`.
230
+
231
+ ### Example: Basics
232
+
233
+ ```vue
234
+ <script setup lang="ts">
235
+ import { Accordion, AccordionContent, AccordionSummary } from "opui-css/vue"
236
+ </script>
237
+
238
+ <template>
239
+ <Accordion>
240
+ <AccordionSummary>Accordion</AccordionSummary>
241
+ <AccordionContent>
242
+ <p>
243
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus
244
+ sodales, nulla sit amet porttitor rhoncus, lacus ex vestibulum libero,
245
+ ac mollis neque ante id justo. Nam tempor euismod nisi ac ornare.
246
+ Pellentesque id sapien lacinia, venenatis est aliquam, dignissim elit.
247
+ Suspendisse potenti. Cras ut ante in libero tempus sodales sed quis
248
+ dolor.
249
+ </p>
250
+ </AccordionContent>
251
+ </Accordion>
252
+ </template>
253
+ ```