@viraui/react 2026.3.11 → 2026.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/catalog.json +50 -50
  2. package/dist/components/textarea/textarea.js +2 -2
  3. package/dist/components/textfield/textfield.js +2 -2
  4. package/dist/specs/PROTOCOL.md +48 -0
  5. package/dist/specs/activity-hints.xml +42 -0
  6. package/dist/specs/components/accordion/a11y.xml +6 -0
  7. package/dist/specs/components/accordion/meta.xml +20 -0
  8. package/dist/specs/components/accordion/patterns.xml +9 -0
  9. package/dist/specs/components/accordion/props.xml +48 -0
  10. package/dist/specs/components/accordion/usage.xml +8 -0
  11. package/dist/specs/components/annotate/a11y.xml +6 -0
  12. package/dist/specs/components/annotate/meta.xml +19 -0
  13. package/dist/specs/components/annotate/patterns.xml +7 -0
  14. package/dist/specs/components/annotate/props.xml +88 -0
  15. package/dist/specs/components/annotate/usage.xml +10 -0
  16. package/dist/specs/components/autocomplete/a11y.xml +6 -0
  17. package/dist/specs/components/autocomplete/meta.xml +22 -0
  18. package/dist/specs/components/autocomplete/patterns.xml +14 -0
  19. package/dist/specs/components/autocomplete/props.xml +81 -0
  20. package/dist/specs/components/autocomplete/usage.xml +11 -0
  21. package/dist/specs/components/avatar/a11y.xml +5 -0
  22. package/dist/specs/components/avatar/meta.xml +17 -0
  23. package/dist/specs/components/avatar/patterns.xml +7 -0
  24. package/dist/specs/components/avatar/props.xml +38 -0
  25. package/dist/specs/components/avatar/usage.xml +7 -0
  26. package/dist/specs/components/avatar-group/a11y.xml +6 -0
  27. package/dist/specs/components/avatar-group/meta.xml +16 -0
  28. package/dist/specs/components/avatar-group/patterns.xml +7 -0
  29. package/dist/specs/components/avatar-group/props.xml +39 -0
  30. package/dist/specs/components/avatar-group/usage.xml +10 -0
  31. package/dist/specs/components/badge/a11y.xml +7 -0
  32. package/dist/specs/components/badge/meta.xml +19 -0
  33. package/dist/specs/components/badge/patterns.xml +7 -0
  34. package/dist/specs/components/badge/props.xml +37 -0
  35. package/dist/specs/components/badge/usage.xml +9 -0
  36. package/dist/specs/components/beam/a11y.xml +7 -0
  37. package/dist/specs/components/beam/meta.xml +18 -0
  38. package/dist/specs/components/beam/patterns.xml +7 -0
  39. package/dist/specs/components/beam/props.xml +90 -0
  40. package/dist/specs/components/beam/usage.xml +11 -0
  41. package/dist/specs/components/bleed/a11y.xml +7 -0
  42. package/dist/specs/components/bleed/meta.xml +18 -0
  43. package/dist/specs/components/bleed/patterns.xml +7 -0
  44. package/dist/specs/components/bleed/props.xml +22 -0
  45. package/dist/specs/components/bleed/usage.xml +10 -0
  46. package/dist/specs/components/breakpoints/a11y.xml +5 -0
  47. package/dist/specs/components/breakpoints/meta.xml +17 -0
  48. package/dist/specs/components/breakpoints/patterns.xml +9 -0
  49. package/dist/specs/components/breakpoints/props.xml +20 -0
  50. package/dist/specs/components/breakpoints/usage.xml +9 -0
  51. package/dist/specs/components/button/a11y.xml +9 -0
  52. package/dist/specs/components/button/meta.xml +20 -0
  53. package/dist/specs/components/button/patterns.xml +11 -0
  54. package/dist/specs/components/button/props.xml +101 -0
  55. package/dist/specs/components/button/usage.xml +18 -0
  56. package/dist/specs/components/checkbox/a11y.xml +6 -0
  57. package/dist/specs/components/checkbox/meta.xml +21 -0
  58. package/dist/specs/components/checkbox/patterns.xml +7 -0
  59. package/dist/specs/components/checkbox/props.xml +48 -0
  60. package/dist/specs/components/checkbox/usage.xml +10 -0
  61. package/dist/specs/components/chip/a11y.xml +6 -0
  62. package/dist/specs/components/chip/meta.xml +19 -0
  63. package/dist/specs/components/chip/patterns.xml +7 -0
  64. package/dist/specs/components/chip/props.xml +49 -0
  65. package/dist/specs/components/chip/usage.xml +11 -0
  66. package/dist/specs/components/clamp-text/a11y.xml +6 -0
  67. package/dist/specs/components/clamp-text/meta.xml +17 -0
  68. package/dist/specs/components/clamp-text/patterns.xml +7 -0
  69. package/dist/specs/components/clamp-text/props.xml +27 -0
  70. package/dist/specs/components/clamp-text/usage.xml +8 -0
  71. package/dist/specs/components/dialog/a11y.xml +7 -0
  72. package/dist/specs/components/dialog/meta.xml +21 -0
  73. package/dist/specs/components/dialog/patterns.xml +19 -0
  74. package/dist/specs/components/dialog/props.xml +49 -0
  75. package/dist/specs/components/dialog/usage.xml +12 -0
  76. package/dist/specs/components/elevator/a11y.xml +6 -0
  77. package/dist/specs/components/elevator/meta.xml +16 -0
  78. package/dist/specs/components/elevator/patterns.xml +7 -0
  79. package/dist/specs/components/elevator/props.xml +31 -0
  80. package/dist/specs/components/elevator/usage.xml +8 -0
  81. package/dist/specs/components/fieldset/a11y.xml +6 -0
  82. package/dist/specs/components/fieldset/meta.xml +22 -0
  83. package/dist/specs/components/fieldset/patterns.xml +7 -0
  84. package/dist/specs/components/fieldset/props.xml +26 -0
  85. package/dist/specs/components/fieldset/usage.xml +11 -0
  86. package/dist/specs/components/fit-text/a11y.xml +6 -0
  87. package/dist/specs/components/fit-text/meta.xml +18 -0
  88. package/dist/specs/components/fit-text/patterns.xml +7 -0
  89. package/dist/specs/components/fit-text/props.xml +19 -0
  90. package/dist/specs/components/fit-text/usage.xml +9 -0
  91. package/dist/specs/components/glow/a11y.xml +6 -0
  92. package/dist/specs/components/glow/meta.xml +19 -0
  93. package/dist/specs/components/glow/patterns.xml +7 -0
  94. package/dist/specs/components/glow/props.xml +74 -0
  95. package/dist/specs/components/glow/usage.xml +12 -0
  96. package/dist/specs/components/grid/a11y.xml +6 -0
  97. package/dist/specs/components/grid/meta.xml +18 -0
  98. package/dist/specs/components/grid/patterns.xml +9 -0
  99. package/dist/specs/components/grid/props.xml +101 -0
  100. package/dist/specs/components/grid/usage.xml +10 -0
  101. package/dist/specs/components/icon-button/a11y.xml +9 -0
  102. package/dist/specs/components/icon-button/meta.xml +18 -0
  103. package/dist/specs/components/icon-button/patterns.xml +11 -0
  104. package/dist/specs/components/icon-button/props.xml +95 -0
  105. package/dist/specs/components/icon-button/usage.xml +14 -0
  106. package/dist/specs/components/linear-progress/a11y.xml +6 -0
  107. package/dist/specs/components/linear-progress/meta.xml +21 -0
  108. package/dist/specs/components/linear-progress/patterns.xml +7 -0
  109. package/dist/specs/components/linear-progress/props.xml +31 -0
  110. package/dist/specs/components/linear-progress/usage.xml +11 -0
  111. package/dist/specs/components/masonry/a11y.xml +6 -0
  112. package/dist/specs/components/masonry/meta.xml +18 -0
  113. package/dist/specs/components/masonry/patterns.xml +9 -0
  114. package/dist/specs/components/masonry/props.xml +32 -0
  115. package/dist/specs/components/masonry/usage.xml +9 -0
  116. package/dist/specs/components/menu/a11y.xml +7 -0
  117. package/dist/specs/components/menu/meta.xml +25 -0
  118. package/dist/specs/components/menu/patterns.xml +25 -0
  119. package/dist/specs/components/menu/props.xml +73 -0
  120. package/dist/specs/components/menu/usage.xml +15 -0
  121. package/dist/specs/components/meter/a11y.xml +6 -0
  122. package/dist/specs/components/meter/meta.xml +19 -0
  123. package/dist/specs/components/meter/patterns.xml +7 -0
  124. package/dist/specs/components/meter/props.xml +31 -0
  125. package/dist/specs/components/meter/usage.xml +10 -0
  126. package/dist/specs/components/popover/a11y.xml +7 -0
  127. package/dist/specs/components/popover/meta.xml +22 -0
  128. package/dist/specs/components/popover/patterns.xml +15 -0
  129. package/dist/specs/components/popover/props.xml +37 -0
  130. package/dist/specs/components/popover/usage.xml +12 -0
  131. package/dist/specs/components/progressive-blur/a11y.xml +6 -0
  132. package/dist/specs/components/progressive-blur/meta.xml +17 -0
  133. package/dist/specs/components/progressive-blur/patterns.xml +7 -0
  134. package/dist/specs/components/progressive-blur/props.xml +28 -0
  135. package/dist/specs/components/progressive-blur/usage.xml +10 -0
  136. package/dist/specs/components/radio/a11y.xml +6 -0
  137. package/dist/specs/components/radio/meta.xml +20 -0
  138. package/dist/specs/components/radio/patterns.xml +9 -0
  139. package/dist/specs/components/radio/props.xml +44 -0
  140. package/dist/specs/components/radio/usage.xml +12 -0
  141. package/dist/specs/components/select/a11y.xml +6 -0
  142. package/dist/specs/components/select/meta.xml +21 -0
  143. package/dist/specs/components/select/patterns.xml +13 -0
  144. package/dist/specs/components/select/props.xml +83 -0
  145. package/dist/specs/components/select/usage.xml +14 -0
  146. package/dist/specs/components/separator/a11y.xml +6 -0
  147. package/dist/specs/components/separator/meta.xml +18 -0
  148. package/dist/specs/components/separator/patterns.xml +7 -0
  149. package/dist/specs/components/separator/props.xml +39 -0
  150. package/dist/specs/components/separator/usage.xml +8 -0
  151. package/dist/specs/components/shimmer/a11y.xml +6 -0
  152. package/dist/specs/components/shimmer/meta.xml +18 -0
  153. package/dist/specs/components/shimmer/patterns.xml +7 -0
  154. package/dist/specs/components/shimmer/props.xml +40 -0
  155. package/dist/specs/components/shimmer/usage.xml +9 -0
  156. package/dist/specs/components/skeleton/a11y.xml +8 -0
  157. package/dist/specs/components/skeleton/meta.xml +17 -0
  158. package/dist/specs/components/skeleton/patterns.xml +8 -0
  159. package/dist/specs/components/skeleton/props.xml +73 -0
  160. package/dist/specs/components/skeleton/usage.xml +10 -0
  161. package/dist/specs/components/slider/a11y.xml +6 -0
  162. package/dist/specs/components/slider/meta.xml +19 -0
  163. package/dist/specs/components/slider/patterns.xml +7 -0
  164. package/dist/specs/components/slider/props.xml +45 -0
  165. package/dist/specs/components/slider/usage.xml +8 -0
  166. package/dist/specs/components/spinner/a11y.xml +7 -0
  167. package/dist/specs/components/spinner/meta.xml +17 -0
  168. package/dist/specs/components/spinner/patterns.xml +7 -0
  169. package/dist/specs/components/spinner/props.xml +24 -0
  170. package/dist/specs/components/spinner/usage.xml +8 -0
  171. package/dist/specs/components/stack/a11y.xml +6 -0
  172. package/dist/specs/components/stack/meta.xml +19 -0
  173. package/dist/specs/components/stack/patterns.xml +7 -0
  174. package/dist/specs/components/stack/props.xml +94 -0
  175. package/dist/specs/components/stack/usage.xml +14 -0
  176. package/dist/specs/components/static-noise/a11y.xml +6 -0
  177. package/dist/specs/components/static-noise/meta.xml +17 -0
  178. package/dist/specs/components/static-noise/patterns.xml +7 -0
  179. package/dist/specs/components/static-noise/props.xml +27 -0
  180. package/dist/specs/components/static-noise/usage.xml +10 -0
  181. package/dist/specs/components/surface/a11y.xml +6 -0
  182. package/dist/specs/components/surface/meta.xml +17 -0
  183. package/dist/specs/components/surface/patterns.xml +7 -0
  184. package/dist/specs/components/surface/props.xml +92 -0
  185. package/dist/specs/components/surface/usage.xml +16 -0
  186. package/dist/specs/components/switch/a11y.xml +6 -0
  187. package/dist/specs/components/switch/meta.xml +19 -0
  188. package/dist/specs/components/switch/patterns.xml +7 -0
  189. package/dist/specs/components/switch/props.xml +48 -0
  190. package/dist/specs/components/switch/usage.xml +8 -0
  191. package/dist/specs/components/tabs/a11y.xml +6 -0
  192. package/dist/specs/components/tabs/meta.xml +19 -0
  193. package/dist/specs/components/tabs/patterns.xml +14 -0
  194. package/dist/specs/components/tabs/props.xml +24 -0
  195. package/dist/specs/components/tabs/usage.xml +8 -0
  196. package/dist/specs/components/text/a11y.xml +6 -0
  197. package/dist/specs/components/text/meta.xml +17 -0
  198. package/dist/specs/components/text/patterns.xml +7 -0
  199. package/dist/specs/components/text/props.xml +129 -0
  200. package/dist/specs/components/text/usage.xml +7 -0
  201. package/dist/specs/components/textarea/a11y.xml +6 -0
  202. package/dist/specs/components/textarea/meta.xml +19 -0
  203. package/dist/specs/components/textarea/patterns.xml +7 -0
  204. package/dist/specs/components/textarea/props.xml +39 -0
  205. package/dist/specs/components/textarea/usage.xml +10 -0
  206. package/dist/specs/components/textfield/a11y.xml +6 -0
  207. package/dist/specs/components/textfield/meta.xml +21 -0
  208. package/dist/specs/components/textfield/patterns.xml +7 -0
  209. package/dist/specs/components/textfield/props.xml +51 -0
  210. package/dist/specs/components/textfield/usage.xml +9 -0
  211. package/dist/specs/components/title/a11y.xml +7 -0
  212. package/dist/specs/components/title/meta.xml +17 -0
  213. package/dist/specs/components/title/patterns.xml +7 -0
  214. package/dist/specs/components/title/props.xml +124 -0
  215. package/dist/specs/components/title/usage.xml +10 -0
  216. package/dist/specs/components/toast/a11y.xml +7 -0
  217. package/dist/specs/components/toast/meta.xml +20 -0
  218. package/dist/specs/components/toast/patterns.xml +15 -0
  219. package/dist/specs/components/toast/props.xml +42 -0
  220. package/dist/specs/components/toast/usage.xml +10 -0
  221. package/dist/specs/components/toggle-button/a11y.xml +6 -0
  222. package/dist/specs/components/toggle-button/meta.xml +20 -0
  223. package/dist/specs/components/toggle-button/patterns.xml +7 -0
  224. package/dist/specs/components/toggle-button/props.xml +61 -0
  225. package/dist/specs/components/toggle-button/usage.xml +10 -0
  226. package/dist/specs/components/toggle-group/a11y.xml +6 -0
  227. package/dist/specs/components/toggle-group/meta.xml +19 -0
  228. package/dist/specs/components/toggle-group/patterns.xml +9 -0
  229. package/dist/specs/components/toggle-group/props.xml +15 -0
  230. package/dist/specs/components/toggle-group/usage.xml +9 -0
  231. package/dist/specs/components/tooltip/a11y.xml +6 -0
  232. package/dist/specs/components/tooltip/meta.xml +21 -0
  233. package/dist/specs/components/tooltip/patterns.xml +12 -0
  234. package/dist/specs/components/tooltip/props.xml +20 -0
  235. package/dist/specs/components/tooltip/usage.xml +10 -0
  236. package/dist/specs/components/typewriter/a11y.xml +7 -0
  237. package/dist/specs/components/typewriter/meta.xml +18 -0
  238. package/dist/specs/components/typewriter/patterns.xml +7 -0
  239. package/dist/specs/components/typewriter/props.xml +43 -0
  240. package/dist/specs/components/typewriter/usage.xml +11 -0
  241. package/dist/specs/foundation/attributes.xml +127 -0
  242. package/dist/specs/foundation/bootstrap.xml +62 -0
  243. package/dist/specs/foundation/elevation.xml +21 -0
  244. package/dist/specs/foundation/meta.xml +20 -0
  245. package/dist/specs/foundation/modules.xml +62 -0
  246. package/dist/specs/foundation/theme-topics.xml +60 -0
  247. package/dist/specs/foundation/toggles.xml +25 -0
  248. package/dist/specs/index.xml +538 -0
  249. package/dist/specs/patterns/settings-row.xml +19 -0
  250. package/package.json +12 -11
  251. package/dist/components/accordion/accordion.guide.json +0 -69
  252. package/dist/components/annotate/annotate.guide.json +0 -110
  253. package/dist/components/autocomplete/autocomplete.guide.json +0 -103
  254. package/dist/components/avatar/avatar.guide.json +0 -53
  255. package/dist/components/avatar-group/avatar-group.guide.json +0 -56
  256. package/dist/components/badge/badge.guide.json +0 -59
  257. package/dist/components/beam/beam.guide.json +0 -123
  258. package/dist/components/bleed/bleed.guide.json +0 -43
  259. package/dist/components/breakpoints/breakpoints.guide.json +0 -40
  260. package/dist/components/button/button-link.guide.json +0 -69
  261. package/dist/components/button/button.guide.json +0 -78
  262. package/dist/components/checkbox/checkbox.guide.json +0 -68
  263. package/dist/components/chip/chip.guide.json +0 -69
  264. package/dist/components/clamp-text/clamp-text.guide.json +0 -47
  265. package/dist/components/dialog/dialog.guide.json +0 -72
  266. package/dist/components/elevator/elevator.guide.json +0 -46
  267. package/dist/components/fieldset/fieldset.guide.json +0 -43
  268. package/dist/components/fit-text/fit-text.guide.json +0 -38
  269. package/dist/components/glow/glow.guide.json +0 -108
  270. package/dist/components/grid/grid.guide.json +0 -120
  271. package/dist/components/icon-button/icon-button-link.guide.json +0 -73
  272. package/dist/components/icon-button/icon-button.guide.json +0 -72
  273. package/dist/components/linear-progress/linear-progress.guide.json +0 -53
  274. package/dist/components/masonry/masonry.guide.json +0 -50
  275. package/dist/components/menu/menu.guide.json +0 -94
  276. package/dist/components/meter/meter.guide.json +0 -52
  277. package/dist/components/popover/popover.guide.json +0 -58
  278. package/dist/components/progressive-blur/progressive-blur.guide.json +0 -50
  279. package/dist/components/radio/radio.guide.json +0 -65
  280. package/dist/components/select/select.guide.json +0 -105
  281. package/dist/components/separator/separator.guide.json +0 -58
  282. package/dist/components/shimmer/shimmer.guide.json +0 -67
  283. package/dist/components/skeleton/skeleton.guide.json +0 -98
  284. package/dist/components/slider/slider.guide.json +0 -64
  285. package/dist/components/spinner/spinner.guide.json +0 -43
  286. package/dist/components/stack/stack.guide.json +0 -116
  287. package/dist/components/static-noise/static-noise.guide.json +0 -44
  288. package/dist/components/surface/surface.guide.json +0 -115
  289. package/dist/components/switch/switch.guide.json +0 -71
  290. package/dist/components/tabs/tabs.guide.json +0 -43
  291. package/dist/components/text/text.guide.json +0 -152
  292. package/dist/components/textarea/textarea.guide.json +0 -55
  293. package/dist/components/textfield/textfield.guide.json +0 -70
  294. package/dist/components/title/title.guide.json +0 -149
  295. package/dist/components/toast/toast.guide.json +0 -60
  296. package/dist/components/toggle-button/toggle-button.guide.json +0 -81
  297. package/dist/components/toggle-group/toggle-group.guide.json +0 -27
  298. package/dist/components/tooltip/tooltip.guide.json +0 -40
  299. package/dist/components/typewriter/typewriter.guide.json +0 -65
  300. package/dist/consumption.json +0 -84
  301. package/dist/preflight-surface.json +0 -233
  302. package/dist/theme-surface.json +0 -71
@@ -0,0 +1,538 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <index package="@viraui/react" version="2026.4.0" generated="2026-09-16T13:34:08.732Z">
3
+ <categories>
4
+ <category id="layout" />
5
+ <category id="action" />
6
+ <category id="form" />
7
+ <category id="feedback" />
8
+ <category id="overlay" />
9
+ <category id="effect" />
10
+ <category id="typography" />
11
+ <category id="foundation" />
12
+ <category id="pattern" />
13
+ </categories>
14
+ <entry id="accordion" category="layout" title="Accordion">
15
+ <summary>Collapsible sections grouped into open/closed blocks with optional Surface wrapping, shared corner radius, and optional Item color for open-block background.</summary>
16
+ <units>
17
+ <unit kind="meta" href="components/accordion/meta.xml" />
18
+ <unit kind="a11y" href="components/accordion/a11y.xml" />
19
+ <unit kind="props" href="components/accordion/props.xml" />
20
+ <unit kind="usage" href="components/accordion/usage.xml" />
21
+ <unit kind="patterns" href="components/accordion/patterns.xml" />
22
+ </units>
23
+ </entry>
24
+ <entry id="annotate" category="effect" title="Annotate">
25
+ <summary>Decorative arrow and handwritten label that wraps inline content with optional highlighter mark, positioned via CSS anchor positioning.</summary>
26
+ <units>
27
+ <unit kind="meta" href="components/annotate/meta.xml" />
28
+ <unit kind="a11y" href="components/annotate/a11y.xml" />
29
+ <unit kind="props" href="components/annotate/props.xml" />
30
+ <unit kind="usage" href="components/annotate/usage.xml" />
31
+ <unit kind="patterns" href="components/annotate/patterns.xml" />
32
+ </units>
33
+ </entry>
34
+ <entry id="autocomplete" category="form" title="Autocomplete">
35
+ <summary>Field-wrapped free-form suggest input with Textfield chrome and Select-like popup list.</summary>
36
+ <units>
37
+ <unit kind="meta" href="components/autocomplete/meta.xml" />
38
+ <unit kind="a11y" href="components/autocomplete/a11y.xml" />
39
+ <unit kind="props" href="components/autocomplete/props.xml" />
40
+ <unit kind="usage" href="components/autocomplete/usage.xml" />
41
+ <unit kind="patterns" href="components/autocomplete/patterns.xml" />
42
+ </units>
43
+ </entry>
44
+ <entry id="avatar" category="layout" title="Avatar">
45
+ <summary>Circular identity image or fallback for users, entities, or profile chips.</summary>
46
+ <units>
47
+ <unit kind="meta" href="components/avatar/meta.xml" />
48
+ <unit kind="a11y" href="components/avatar/a11y.xml" />
49
+ <unit kind="props" href="components/avatar/props.xml" />
50
+ <unit kind="usage" href="components/avatar/usage.xml" />
51
+ <unit kind="patterns" href="components/avatar/patterns.xml" />
52
+ </units>
53
+ </entry>
54
+ <entry id="avatar-group" category="layout" title="AvatarGroup">
55
+ <summary>Overlapping avatar stack with shared sizing, directional layout, and an optional overflow pill.</summary>
56
+ <units>
57
+ <unit kind="meta" href="components/avatar-group/meta.xml" />
58
+ <unit kind="a11y" href="components/avatar-group/a11y.xml" />
59
+ <unit kind="props" href="components/avatar-group/props.xml" />
60
+ <unit kind="usage" href="components/avatar-group/usage.xml" />
61
+ <unit kind="patterns" href="components/avatar-group/patterns.xml" />
62
+ </units>
63
+ </entry>
64
+ <entry id="badge" category="feedback" title="Badge">
65
+ <summary>Decorative status-dot overlay that wraps a child, with optional radial mask cutout on the child around the corner dot.</summary>
66
+ <units>
67
+ <unit kind="meta" href="components/badge/meta.xml" />
68
+ <unit kind="a11y" href="components/badge/a11y.xml" />
69
+ <unit kind="props" href="components/badge/props.xml" />
70
+ <unit kind="usage" href="components/badge/usage.xml" />
71
+ <unit kind="patterns" href="components/badge/patterns.xml" />
72
+ </units>
73
+ </entry>
74
+ <entry id="beam" category="effect" title="Beam">
75
+ <summary>Decorative animated border, line, or pulse glow on a transparent Surface shell (radius only). Put the visual card as children. CSS-module geometry plus shared ~30fps pulse rAF for pulse variants. Mem…</summary>
76
+ <units>
77
+ <unit kind="meta" href="components/beam/meta.xml" />
78
+ <unit kind="a11y" href="components/beam/a11y.xml" />
79
+ <unit kind="props" href="components/beam/props.xml" />
80
+ <unit kind="usage" href="components/beam/usage.xml" />
81
+ <unit kind="patterns" href="components/beam/patterns.xml" />
82
+ </units>
83
+ </entry>
84
+ <entry id="bleed" category="layout" title="Bleed">
85
+ <summary>Layout utility that pulls content past inline padding using negative margins or full viewport bleed.</summary>
86
+ <units>
87
+ <unit kind="meta" href="components/bleed/meta.xml" />
88
+ <unit kind="a11y" href="components/bleed/a11y.xml" />
89
+ <unit kind="props" href="components/bleed/props.xml" />
90
+ <unit kind="usage" href="components/bleed/usage.xml" />
91
+ <unit kind="patterns" href="components/bleed/patterns.xml" />
92
+ </units>
93
+ </entry>
94
+ <entry id="breakpoints" category="layout" title="BreakpointsProvider">
95
+ <summary>Client provider plus `useBreakpoints` for mobile-first viewport min-width matches. Defaults are hardcoded em thresholds, not theme tokens.</summary>
96
+ <units>
97
+ <unit kind="meta" href="components/breakpoints/meta.xml" />
98
+ <unit kind="a11y" href="components/breakpoints/a11y.xml" />
99
+ <unit kind="props" href="components/breakpoints/props.xml" />
100
+ <unit kind="usage" href="components/breakpoints/usage.xml" />
101
+ <unit kind="patterns" href="components/breakpoints/patterns.xml" />
102
+ </units>
103
+ </entry>
104
+ <entry id="button" category="action" title="Button">
105
+ <summary>Primary action control with size, variant, optional addon, optional pill shape, and loading state.</summary>
106
+ <units>
107
+ <unit kind="meta" href="components/button/meta.xml" />
108
+ <unit kind="a11y" href="components/button/a11y.xml" />
109
+ <unit kind="props" href="components/button/props.xml" />
110
+ <unit kind="usage" href="components/button/usage.xml" />
111
+ <unit kind="patterns" href="components/button/patterns.xml" />
112
+ </units>
113
+ </entry>
114
+ <entry id="checkbox" category="form" title="Checkbox">
115
+ <summary>Field.Item checkbox option for standalone fields or CheckboxGroup children.</summary>
116
+ <units>
117
+ <unit kind="meta" href="components/checkbox/meta.xml" />
118
+ <unit kind="a11y" href="components/checkbox/a11y.xml" />
119
+ <unit kind="props" href="components/checkbox/props.xml" />
120
+ <unit kind="usage" href="components/checkbox/usage.xml" />
121
+ <unit kind="patterns" href="components/checkbox/patterns.xml" />
122
+ </units>
123
+ </entry>
124
+ <entry id="chip" category="action" title="Chip">
125
+ <summary>Compact visual label primitive for short status, category, or metadata treatments.</summary>
126
+ <units>
127
+ <unit kind="meta" href="components/chip/meta.xml" />
128
+ <unit kind="a11y" href="components/chip/a11y.xml" />
129
+ <unit kind="props" href="components/chip/props.xml" />
130
+ <unit kind="usage" href="components/chip/usage.xml" />
131
+ <unit kind="patterns" href="components/chip/patterns.xml" />
132
+ </units>
133
+ </entry>
134
+ <entry id="clamp-text" category="typography" title="ClampText">
135
+ <summary>Presentational utility that truncates overflowing copy to a fixed line count.</summary>
136
+ <units>
137
+ <unit kind="meta" href="components/clamp-text/meta.xml" />
138
+ <unit kind="a11y" href="components/clamp-text/a11y.xml" />
139
+ <unit kind="props" href="components/clamp-text/props.xml" />
140
+ <unit kind="usage" href="components/clamp-text/usage.xml" />
141
+ <unit kind="patterns" href="components/clamp-text/patterns.xml" />
142
+ </units>
143
+ </entry>
144
+ <entry id="dialog" category="overlay" title="Dialog">
145
+ <summary>Compound drawer sheet with `Dialog.Trigger`, `Dialog.Sheet`, `Dialog.Close`, and Base UI pass-through `Dialog.Provider`, `Dialog.Indent`, and `Dialog.IndentBackground` for app-shell indent effects.</summary>
146
+ <units>
147
+ <unit kind="meta" href="components/dialog/meta.xml" />
148
+ <unit kind="a11y" href="components/dialog/a11y.xml" />
149
+ <unit kind="props" href="components/dialog/props.xml" />
150
+ <unit kind="usage" href="components/dialog/usage.xml" />
151
+ <unit kind="patterns" href="components/dialog/patterns.xml" />
152
+ </units>
153
+ </entry>
154
+ <entry id="elevator" category="effect" title="Elevator">
155
+ <summary>No-DOM elevation utility that merges shadow hooks onto valid element children.</summary>
156
+ <units>
157
+ <unit kind="meta" href="components/elevator/meta.xml" />
158
+ <unit kind="a11y" href="components/elevator/a11y.xml" />
159
+ <unit kind="props" href="components/elevator/props.xml" />
160
+ <unit kind="usage" href="components/elevator/usage.xml" />
161
+ <unit kind="patterns" href="components/elevator/patterns.xml" />
162
+ </units>
163
+ </entry>
164
+ <entry id="fieldset" category="form" title="Fieldset">
165
+ <summary>Semantic field grouping with shared legend and optional group helper copy.</summary>
166
+ <units>
167
+ <unit kind="meta" href="components/fieldset/meta.xml" />
168
+ <unit kind="a11y" href="components/fieldset/a11y.xml" />
169
+ <unit kind="props" href="components/fieldset/props.xml" />
170
+ <unit kind="usage" href="components/fieldset/usage.xml" />
171
+ <unit kind="patterns" href="components/fieldset/patterns.xml" />
172
+ </units>
173
+ </entry>
174
+ <entry id="fit-text" category="typography" title="FitText">
175
+ <summary>CSS-only fit-to-width wrapper that scales children to fill available inline space.</summary>
176
+ <units>
177
+ <unit kind="meta" href="components/fit-text/meta.xml" />
178
+ <unit kind="a11y" href="components/fit-text/a11y.xml" />
179
+ <unit kind="props" href="components/fit-text/props.xml" />
180
+ <unit kind="usage" href="components/fit-text/usage.xml" />
181
+ <unit kind="patterns" href="components/fit-text/patterns.xml" />
182
+ </units>
183
+ </entry>
184
+ <entry id="glow" category="effect" title="Glow">
185
+ <summary>Decorative pointer-driven border highlight on a transparent Surface shell (radius only). Put the visual card as children; a shared rAF tracker paints CSS variables without React re-renders. Memory-he…</summary>
186
+ <units>
187
+ <unit kind="meta" href="components/glow/meta.xml" />
188
+ <unit kind="a11y" href="components/glow/a11y.xml" />
189
+ <unit kind="props" href="components/glow/props.xml" />
190
+ <unit kind="usage" href="components/glow/usage.xml" />
191
+ <unit kind="patterns" href="components/glow/patterns.xml" />
192
+ </units>
193
+ </entry>
194
+ <entry id="grid" category="layout" title="Grid">
195
+ <summary>CSS Grid layout primitive for auto-fill/fit or fixed track layouts with token gaps, Stack-aligned padding, and item placement (`fullWidth` / `fullHeight` / column / row).</summary>
196
+ <units>
197
+ <unit kind="meta" href="components/grid/meta.xml" />
198
+ <unit kind="a11y" href="components/grid/a11y.xml" />
199
+ <unit kind="props" href="components/grid/props.xml" />
200
+ <unit kind="usage" href="components/grid/usage.xml" />
201
+ <unit kind="patterns" href="components/grid/patterns.xml" />
202
+ </units>
203
+ </entry>
204
+ <entry id="icon-button" category="action" title="IconButton">
205
+ <summary>Icon-only button that shares Button visual chrome (--vui-button-* CSS) and requires an accessible name through aria-label or aria-labelledby.</summary>
206
+ <units>
207
+ <unit kind="meta" href="components/icon-button/meta.xml" />
208
+ <unit kind="a11y" href="components/icon-button/a11y.xml" />
209
+ <unit kind="props" href="components/icon-button/props.xml" />
210
+ <unit kind="usage" href="components/icon-button/usage.xml" />
211
+ <unit kind="patterns" href="components/icon-button/patterns.xml" />
212
+ </units>
213
+ </entry>
214
+ <entry id="linear-progress" category="feedback" title="LinearProgress">
215
+ <summary>Shows determinate or indeterminate progress for a task in a compact horizontal track.</summary>
216
+ <units>
217
+ <unit kind="meta" href="components/linear-progress/meta.xml" />
218
+ <unit kind="a11y" href="components/linear-progress/a11y.xml" />
219
+ <unit kind="props" href="components/linear-progress/props.xml" />
220
+ <unit kind="usage" href="components/linear-progress/usage.xml" />
221
+ <unit kind="patterns" href="components/linear-progress/patterns.xml" />
222
+ </units>
223
+ </entry>
224
+ <entry id="masonry" category="layout" title="Masonry">
225
+ <summary>Responsive React-column layout primitive for read-only mixed-height content walls; root is a named CSS container query context (`masonry` / inline-size).</summary>
226
+ <units>
227
+ <unit kind="meta" href="components/masonry/meta.xml" />
228
+ <unit kind="a11y" href="components/masonry/a11y.xml" />
229
+ <unit kind="props" href="components/masonry/props.xml" />
230
+ <unit kind="usage" href="components/masonry/usage.xml" />
231
+ <unit kind="patterns" href="components/masonry/patterns.xml" />
232
+ </units>
233
+ </entry>
234
+ <entry id="menu" category="overlay" title="Menu">
235
+ <summary>Compound menu built on Base UI Menu with `Menu.Trigger`, `Menu.Popup`, unified item rows, groups, checkbox/radio items, nested submenus, destructive sentiment, and `Menu.createHandle` for detached tr…</summary>
236
+ <units>
237
+ <unit kind="meta" href="components/menu/meta.xml" />
238
+ <unit kind="a11y" href="components/menu/a11y.xml" />
239
+ <unit kind="props" href="components/menu/props.xml" />
240
+ <unit kind="usage" href="components/menu/usage.xml" />
241
+ <unit kind="patterns" href="components/menu/patterns.xml" />
242
+ </units>
243
+ </entry>
244
+ <entry id="meter" category="feedback" title="Meter">
245
+ <summary>Shows a determinate metric in a compact horizontal track for static capacity, level, or score values.</summary>
246
+ <units>
247
+ <unit kind="meta" href="components/meter/meta.xml" />
248
+ <unit kind="a11y" href="components/meter/a11y.xml" />
249
+ <unit kind="props" href="components/meter/props.xml" />
250
+ <unit kind="usage" href="components/meter/usage.xml" />
251
+ <unit kind="patterns" href="components/meter/patterns.xml" />
252
+ </units>
253
+ </entry>
254
+ <entry id="popover" category="overlay" title="Popover">
255
+ <summary>Compound popover built on Base UI Popover with `Popover.Trigger`, `Popover.Sheet`, `Popover.Close`, `Popover.Title`, `Popover.Description`, and `Popover.createHandle` for detached and multiple trigge…</summary>
256
+ <units>
257
+ <unit kind="meta" href="components/popover/meta.xml" />
258
+ <unit kind="a11y" href="components/popover/a11y.xml" />
259
+ <unit kind="props" href="components/popover/props.xml" />
260
+ <unit kind="usage" href="components/popover/usage.xml" />
261
+ <unit kind="patterns" href="components/popover/patterns.xml" />
262
+ </units>
263
+ </entry>
264
+ <entry id="progressive-blur" category="effect" title="ProgressiveBlur">
265
+ <summary>Decorative stacked backdrop-filter overlay that ramps blur from one edge toward the opposite edge.</summary>
266
+ <units>
267
+ <unit kind="meta" href="components/progressive-blur/meta.xml" />
268
+ <unit kind="a11y" href="components/progressive-blur/a11y.xml" />
269
+ <unit kind="props" href="components/progressive-blur/props.xml" />
270
+ <unit kind="usage" href="components/progressive-blur/usage.xml" />
271
+ <unit kind="patterns" href="components/progressive-blur/patterns.xml" />
272
+ </units>
273
+ </entry>
274
+ <entry id="radio" category="form" title="Radio">
275
+ <summary>Mutually exclusive choice within a RadioGroup, with optional per-option label and helper text.</summary>
276
+ <units>
277
+ <unit kind="meta" href="components/radio/meta.xml" />
278
+ <unit kind="a11y" href="components/radio/a11y.xml" />
279
+ <unit kind="props" href="components/radio/props.xml" />
280
+ <unit kind="usage" href="components/radio/usage.xml" />
281
+ <unit kind="patterns" href="components/radio/patterns.xml" />
282
+ </units>
283
+ </entry>
284
+ <entry id="select" category="form" title="Select">
285
+ <summary>Field-wrapped single-select dropdown with grouped options and field copy.</summary>
286
+ <units>
287
+ <unit kind="meta" href="components/select/meta.xml" />
288
+ <unit kind="a11y" href="components/select/a11y.xml" />
289
+ <unit kind="props" href="components/select/props.xml" />
290
+ <unit kind="usage" href="components/select/usage.xml" />
291
+ <unit kind="patterns" href="components/select/patterns.xml" />
292
+ </units>
293
+ </entry>
294
+ <entry id="separator" category="layout" title="Separator">
295
+ <summary>Thematic or content divider with horizontal or vertical orientation, token padding, and preset line thickness.</summary>
296
+ <units>
297
+ <unit kind="meta" href="components/separator/meta.xml" />
298
+ <unit kind="a11y" href="components/separator/a11y.xml" />
299
+ <unit kind="props" href="components/separator/props.xml" />
300
+ <unit kind="usage" href="components/separator/usage.xml" />
301
+ <unit kind="patterns" href="components/separator/patterns.xml" />
302
+ </units>
303
+ </entry>
304
+ <entry id="shimmer" category="effect" title="Shimmer">
305
+ <summary>Decorative inline text shimmer that inherits typography and color from a parent text primitive.</summary>
306
+ <units>
307
+ <unit kind="meta" href="components/shimmer/meta.xml" />
308
+ <unit kind="a11y" href="components/shimmer/a11y.xml" />
309
+ <unit kind="props" href="components/shimmer/props.xml" />
310
+ <unit kind="usage" href="components/shimmer/usage.xml" />
311
+ <unit kind="patterns" href="components/shimmer/patterns.xml" />
312
+ </units>
313
+ </entry>
314
+ <entry id="skeleton" category="feedback" title="Skeleton">
315
+ <summary>Decorative opacity pulse block sized by props, or Overlay sized by hidden child content.</summary>
316
+ <units>
317
+ <unit kind="meta" href="components/skeleton/meta.xml" />
318
+ <unit kind="a11y" href="components/skeleton/a11y.xml" />
319
+ <unit kind="props" href="components/skeleton/props.xml" />
320
+ <unit kind="usage" href="components/skeleton/usage.xml" />
321
+ <unit kind="patterns" href="components/skeleton/patterns.xml" />
322
+ </units>
323
+ </entry>
324
+ <entry id="slider" category="form" title="Slider">
325
+ <summary>Field-wrapped range input supporting single-thumb or two-thumb range selection.</summary>
326
+ <units>
327
+ <unit kind="meta" href="components/slider/meta.xml" />
328
+ <unit kind="a11y" href="components/slider/a11y.xml" />
329
+ <unit kind="props" href="components/slider/props.xml" />
330
+ <unit kind="usage" href="components/slider/usage.xml" />
331
+ <unit kind="patterns" href="components/slider/patterns.xml" />
332
+ </units>
333
+ </entry>
334
+ <entry id="spinner" category="feedback" title="Spinner">
335
+ <summary>Decorative SVG pulsing loading indicator used inside interactive components.</summary>
336
+ <units>
337
+ <unit kind="meta" href="components/spinner/meta.xml" />
338
+ <unit kind="a11y" href="components/spinner/a11y.xml" />
339
+ <unit kind="props" href="components/spinner/props.xml" />
340
+ <unit kind="usage" href="components/spinner/usage.xml" />
341
+ <unit kind="patterns" href="components/spinner/patterns.xml" />
342
+ </units>
343
+ </entry>
344
+ <entry id="stack" category="layout" title="Stack">
345
+ <summary>Flex layout primitive for arranging children with token spacing, alignment, and padding; optionally enables a named CSS container query context (`stack`) via `enableContainer`.</summary>
346
+ <units>
347
+ <unit kind="meta" href="components/stack/meta.xml" />
348
+ <unit kind="a11y" href="components/stack/a11y.xml" />
349
+ <unit kind="props" href="components/stack/props.xml" />
350
+ <unit kind="usage" href="components/stack/usage.xml" />
351
+ <unit kind="patterns" href="components/stack/patterns.xml" />
352
+ </units>
353
+ </entry>
354
+ <entry id="static-noise" category="effect" title="StaticNoise">
355
+ <summary>Decorative SVG turbulence noise overlay for textured surfaces and hero sections. Memory-heavy — use sparingly (rarely).</summary>
356
+ <units>
357
+ <unit kind="meta" href="components/static-noise/meta.xml" />
358
+ <unit kind="a11y" href="components/static-noise/a11y.xml" />
359
+ <unit kind="props" href="components/static-noise/props.xml" />
360
+ <unit kind="usage" href="components/static-noise/usage.xml" />
361
+ <unit kind="patterns" href="components/static-noise/patterns.xml" />
362
+ </units>
363
+ </entry>
364
+ <entry id="surface" category="layout" title="Surface">
365
+ <summary>Presentational container with token background, optional border, radius, and padding; `data-vibrant` frosts the fill even without `color` (page shell via `--global-background`); nested surfaces use r…</summary>
366
+ <units>
367
+ <unit kind="meta" href="components/surface/meta.xml" />
368
+ <unit kind="a11y" href="components/surface/a11y.xml" />
369
+ <unit kind="props" href="components/surface/props.xml" />
370
+ <unit kind="usage" href="components/surface/usage.xml" />
371
+ <unit kind="patterns" href="components/surface/patterns.xml" />
372
+ </units>
373
+ </entry>
374
+ <entry id="switch" category="form" title="Switch">
375
+ <summary>Field-wrapped toggle control with medium or small track and optional field copy.</summary>
376
+ <units>
377
+ <unit kind="meta" href="components/switch/meta.xml" />
378
+ <unit kind="a11y" href="components/switch/a11y.xml" />
379
+ <unit kind="props" href="components/switch/props.xml" />
380
+ <unit kind="usage" href="components/switch/usage.xml" />
381
+ <unit kind="patterns" href="components/switch/patterns.xml" />
382
+ </units>
383
+ </entry>
384
+ <entry id="tabs" category="layout" title="Tabs">
385
+ <summary>Compound segmented tab control with Surface list chrome, moving indicator, and animated panels.</summary>
386
+ <units>
387
+ <unit kind="meta" href="components/tabs/meta.xml" />
388
+ <unit kind="a11y" href="components/tabs/a11y.xml" />
389
+ <unit kind="props" href="components/tabs/props.xml" />
390
+ <unit kind="usage" href="components/tabs/usage.xml" />
391
+ <unit kind="patterns" href="components/tabs/patterns.xml" />
392
+ </units>
393
+ </entry>
394
+ <entry id="text" category="typography" title="Text">
395
+ <summary>Theme-aware body-copy primitive with tone, family, and responsive body sizing.</summary>
396
+ <units>
397
+ <unit kind="meta" href="components/text/meta.xml" />
398
+ <unit kind="a11y" href="components/text/a11y.xml" />
399
+ <unit kind="props" href="components/text/props.xml" />
400
+ <unit kind="usage" href="components/text/usage.xml" />
401
+ <unit kind="patterns" href="components/text/patterns.xml" />
402
+ </units>
403
+ </entry>
404
+ <entry id="textarea" category="form" title="Textarea">
405
+ <summary>Multi-line field control with shared field copy, optional resize, and optional content sizing.</summary>
406
+ <units>
407
+ <unit kind="meta" href="components/textarea/meta.xml" />
408
+ <unit kind="a11y" href="components/textarea/a11y.xml" />
409
+ <unit kind="props" href="components/textarea/props.xml" />
410
+ <unit kind="usage" href="components/textarea/usage.xml" />
411
+ <unit kind="patterns" href="components/textarea/patterns.xml" />
412
+ </units>
413
+ </entry>
414
+ <entry id="textfield" category="form" title="Textfield">
415
+ <summary>Single-line field input with control-group chrome and optional addons.</summary>
416
+ <units>
417
+ <unit kind="meta" href="components/textfield/meta.xml" />
418
+ <unit kind="a11y" href="components/textfield/a11y.xml" />
419
+ <unit kind="props" href="components/textfield/props.xml" />
420
+ <unit kind="usage" href="components/textfield/usage.xml" />
421
+ <unit kind="patterns" href="components/textfield/patterns.xml" />
422
+ </units>
423
+ </entry>
424
+ <entry id="title" category="typography" title="Title">
425
+ <summary>Theme-aware heading and display typography primitive.</summary>
426
+ <units>
427
+ <unit kind="meta" href="components/title/meta.xml" />
428
+ <unit kind="a11y" href="components/title/a11y.xml" />
429
+ <unit kind="props" href="components/title/props.xml" />
430
+ <unit kind="usage" href="components/title/usage.xml" />
431
+ <unit kind="patterns" href="components/title/patterns.xml" />
432
+ </units>
433
+ </entry>
434
+ <entry id="toast" category="feedback" title="Toast">
435
+ <summary>Non-callable compound Toast namespace for transient notifications, with stacked or anchored placement, Banner high-level API, and optional action buttons.</summary>
436
+ <units>
437
+ <unit kind="meta" href="components/toast/meta.xml" />
438
+ <unit kind="a11y" href="components/toast/a11y.xml" />
439
+ <unit kind="props" href="components/toast/props.xml" />
440
+ <unit kind="usage" href="components/toast/usage.xml" />
441
+ <unit kind="patterns" href="components/toast/patterns.xml" />
442
+ </units>
443
+ </entry>
444
+ <entry id="toggle-button" category="action" title="ToggleButton">
445
+ <summary>Icon-only two-state toggle that swaps resting and optional pressed icons on Base UI Toggle state; `interpolateIcons` (default false) opt-in crossfade + light rotate between dual icons.</summary>
446
+ <units>
447
+ <unit kind="meta" href="components/toggle-button/meta.xml" />
448
+ <unit kind="a11y" href="components/toggle-button/a11y.xml" />
449
+ <unit kind="props" href="components/toggle-button/props.xml" />
450
+ <unit kind="usage" href="components/toggle-button/usage.xml" />
451
+ <unit kind="patterns" href="components/toggle-button/patterns.xml" />
452
+ </units>
453
+ </entry>
454
+ <entry id="toggle-group" category="action" title="ToggleGroup">
455
+ <summary>Toolbar toggle set with shared selection state; Stack direction follows orientation with zero default gap.</summary>
456
+ <units>
457
+ <unit kind="meta" href="components/toggle-group/meta.xml" />
458
+ <unit kind="a11y" href="components/toggle-group/a11y.xml" />
459
+ <unit kind="props" href="components/toggle-group/props.xml" />
460
+ <unit kind="usage" href="components/toggle-group/usage.xml" />
461
+ <unit kind="patterns" href="components/toggle-group/patterns.xml" />
462
+ </units>
463
+ </entry>
464
+ <entry id="typewriter" category="typography" title="Typewriter">
465
+ <summary>Decorative inline typewriter animation that inherits typography and color from a parent text primitive.</summary>
466
+ <units>
467
+ <unit kind="meta" href="components/typewriter/meta.xml" />
468
+ <unit kind="a11y" href="components/typewriter/a11y.xml" />
469
+ <unit kind="props" href="components/typewriter/props.xml" />
470
+ <unit kind="usage" href="components/typewriter/usage.xml" />
471
+ <unit kind="patterns" href="components/typewriter/patterns.xml" />
472
+ </units>
473
+ </entry>
474
+ <entry id="tooltip" category="overlay" title="Tooltip">
475
+ <summary>Compound tooltip built on Base UI Tooltip with `Tooltip.Provider`, `Tooltip.Trigger`, `Tooltip.Content`, and `Tooltip.createHandle` for detached and multiple triggers; `Content` encapsulates Portal +…</summary>
476
+ <units>
477
+ <unit kind="meta" href="components/tooltip/meta.xml" />
478
+ <unit kind="a11y" href="components/tooltip/a11y.xml" />
479
+ <unit kind="props" href="components/tooltip/props.xml" />
480
+ <unit kind="usage" href="components/tooltip/usage.xml" />
481
+ <unit kind="patterns" href="components/tooltip/patterns.xml" />
482
+ </units>
483
+ </entry>
484
+ <entry id="core" category="foundation" title="Core / preflight">
485
+ <summary>Preflight CSS, consumer bootstrap, data-* hooks, core CSS toggles (polarity + effects), elevation helpers, and theme token topic map shipping with @viraui/react.</summary>
486
+ <units>
487
+ <unit kind="meta" href="foundation/meta.xml" />
488
+ <unit kind="bootstrap" href="foundation/bootstrap.xml" />
489
+ <unit kind="attributes" href="foundation/attributes.xml" />
490
+ <unit kind="toggles" href="foundation/toggles.xml" />
491
+ <unit kind="theme-topics" href="foundation/theme-topics.xml" />
492
+ <unit kind="elevation" href="foundation/elevation.xml" />
493
+ <unit kind="modules" href="foundation/modules.xml" />
494
+ </units>
495
+ </entry>
496
+ <entry id="foundation-bootstrap" category="foundation" title="Consumer bootstrap">
497
+ <summary>Packages, import order, cascade layers, root providers, and framework bootstrap rules.</summary>
498
+ <units>
499
+ <unit kind="foundation" href="foundation/bootstrap.xml" />
500
+ </units>
501
+ </entry>
502
+ <entry id="foundation-attributes" category="foundation" title="Consumer attributes">
503
+ <summary>Consumer data-* attributes from preflight (mode, vibrancy, elevation, grow/shrink).</summary>
504
+ <units>
505
+ <unit kind="foundation" href="foundation/attributes.xml" />
506
+ </units>
507
+ </entry>
508
+ <entry id="foundation-toggles" category="foundation" title="Core CSS toggles">
509
+ <summary>Core polarity (--is-light-mode) and theme effect gates agents must not invent around.</summary>
510
+ <units>
511
+ <unit kind="foundation" href="foundation/toggles.xml" />
512
+ </units>
513
+ </entry>
514
+ <entry id="foundation-theme-topics" category="foundation" title="Theme topics">
515
+ <summary>Semantic theme token topics and bootstrap pointers (not full token tables).</summary>
516
+ <units>
517
+ <unit kind="foundation" href="foundation/theme-topics.xml" />
518
+ </units>
519
+ </entry>
520
+ <entry id="foundation-elevation" category="foundation" title="Elevation helpers">
521
+ <summary>Elevator / getElevationProps first; raw data-elevation* only when needed.</summary>
522
+ <units>
523
+ <unit kind="foundation" href="foundation/elevation.xml" />
524
+ </units>
525
+ </entry>
526
+ <entry id="foundation-modules" category="foundation" title="Preflight modules">
527
+ <summary>Preflight CSS modules and related custom properties that compose preflight.css.</summary>
528
+ <units>
529
+ <unit kind="foundation" href="foundation/modules.xml" />
530
+ </units>
531
+ </entry>
532
+ <entry id="settings-row" category="pattern" title="Settings row">
533
+ <summary>Use Stack for the row flex layout and token gap; put the control at the trailing edge.</summary>
534
+ <units>
535
+ <unit kind="pattern" href="patterns/settings-row.xml" />
536
+ </units>
537
+ </entry>
538
+ </index>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <pattern id="settings-row" title="Settings row">
3
+ <uses>
4
+ <ref id="stack" units="meta,usage" />
5
+ <ref id="text" units="meta" />
6
+ <ref id="switch" units="meta,props" />
7
+ </uses>
8
+ <do>Use Stack for the row flex layout and token gap; put the control at the trailing edge.</do>
9
+ <dont>Do not reimplement row flex in app CSS when Stack covers alignment and gap.</dont>
10
+ <tsx><![CDATA[
11
+ <Stack direction="row" vAlign="center" gap="3" fullWidth>
12
+ <Stack gap="1" expandChildren>
13
+ <Text weight="medium">Notifications</Text>
14
+ <Text size="sm" color="muted">Email digests for account activity</Text>
15
+ </Stack>
16
+ <Switch aria-label="Notifications" />
17
+ </Stack>
18
+ ]]></tsx>
19
+ </pattern>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viraui/react",
3
- "version": "2026.3.11",
3
+ "version": "2026.4.0",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist"
@@ -16,11 +16,11 @@
16
16
  },
17
17
  "./preflight.css": "./dist/preflight.css",
18
18
  "./catalog.json": "./dist/catalog.json",
19
- "./consumption.json": "./dist/consumption.json",
20
- "./theme-surface.json": "./dist/theme-surface.json",
21
- "./preflight-surface.json": "./dist/preflight-surface.json",
22
- "./*.css": "./dist/components/*/*.css",
23
- "./*.guide.json": "./dist/components/*/*.guide.json"
19
+ "./specs/PROTOCOL.md": "./dist/specs/PROTOCOL.md",
20
+ "./specs/index.xml": "./dist/specs/index.xml",
21
+ "./specs/activity-hints.xml": "./dist/specs/activity-hints.xml",
22
+ "./specs/*": "./dist/specs/*",
23
+ "./*.css": "./dist/components/*/*.css"
24
24
  },
25
25
  "publishConfig": {
26
26
  "access": "public",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@base-ui/react": ">=1.7.0",
31
- "@viraui/foundation": "2026.3.11",
31
+ "@viraui/foundation": "2026.4.0",
32
32
  "@viraui/icons": "2026.0.3",
33
33
  "@viraui/postcss-config": "2026.0.0",
34
34
  "@viraui/tsconfig": "2026.0.0",
@@ -37,8 +37,7 @@
37
37
  "react": ">=19.2.8",
38
38
  "react-dom": ">=19.2.8",
39
39
  "unplugin-dts": "1.0.3",
40
- "vite": "8.2.2",
41
- "vite-plugin-static-copy": "4.1.1"
40
+ "vite": "8.2.2"
42
41
  },
43
42
  "peerDependencies": {
44
43
  "@base-ui/react": ">=1.6.0",
@@ -55,9 +54,11 @@
55
54
  ],
56
55
  "scripts": {
57
56
  "clean": "node --import tsx src/clean-dist.ts",
58
- "build": "run-s clean build:lib build:preflight build:catalog",
57
+ "build": "run-s clean build:lib build:preflight build:catalog build:specs",
59
58
  "build:lib": "vite build",
60
59
  "build:preflight": "postcss src/preflight.css --output dist/preflight.css",
61
- "build:catalog": "node --import tsx src/build-catalog.ts"
60
+ "build:catalog": "node --import tsx src/build-catalog.ts",
61
+ "build:specs": "node --import tsx src/build-specs.ts",
62
+ "check:specs": "node --import tsx scripts/check-specs-completeness.ts"
62
63
  }
63
64
  }