@viraui/react 2026.7.0 → 2026.8.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 (211) hide show
  1. package/dist/catalog.json +9 -3
  2. package/dist/components/button/button.css +1 -1
  3. package/dist/components/direction-provider/index.d.ts +2 -0
  4. package/dist/components/direction-provider/index.js +2 -0
  5. package/dist/components/index.d.ts +1 -0
  6. package/dist/components/menu/menu-popup.d.ts +2 -2
  7. package/dist/components/menu/menu.css +1 -1
  8. package/dist/components/progressive-blur/progressive-blur.css +1 -1
  9. package/dist/components/prose/prose.d.ts +5 -4
  10. package/dist/components/select/select-group.js +1 -1
  11. package/dist/components/select/select.d.ts +4 -1
  12. package/dist/components/select/select.js +4 -1
  13. package/dist/components/spinner/spinner.d.ts +6 -1
  14. package/dist/components/spinner/variants/arc.css +1 -0
  15. package/dist/components/spinner/variants/arc.d.ts +2 -0
  16. package/dist/components/spinner/variants/arc.js +19 -0
  17. package/dist/components/spinner/variants/arc.module.js +8 -0
  18. package/dist/components/spinner/variants/atom.css +1 -0
  19. package/dist/components/spinner/variants/atom.d.ts +6 -0
  20. package/dist/components/spinner/variants/atom.js +40 -0
  21. package/dist/components/spinner/variants/atom.module.js +8 -0
  22. package/dist/components/spinner/variants/blocks.css +1 -0
  23. package/dist/components/spinner/variants/blocks.d.ts +2 -0
  24. package/dist/components/spinner/variants/blocks.js +25 -0
  25. package/dist/components/spinner/variants/blocks.module.js +8 -0
  26. package/dist/components/spinner/variants/bouncing-dots.css +1 -0
  27. package/dist/components/spinner/variants/bouncing-dots.d.ts +2 -0
  28. package/dist/components/spinner/variants/bouncing-dots.js +21 -0
  29. package/dist/components/spinner/variants/bouncing-dots.module.js +8 -0
  30. package/dist/components/spinner/variants/cascade.css +1 -0
  31. package/dist/components/spinner/variants/cascade.d.ts +2 -0
  32. package/dist/components/spinner/variants/cascade.js +34 -0
  33. package/dist/components/spinner/variants/cascade.module.js +8 -0
  34. package/dist/components/spinner/variants/circular-dots.css +1 -0
  35. package/dist/components/spinner/variants/circular-dots.d.ts +2 -0
  36. package/dist/components/spinner/variants/circular-dots.js +26 -0
  37. package/dist/components/spinner/variants/circular-dots.module.js +8 -0
  38. package/dist/components/spinner/variants/classic-v2.css +1 -0
  39. package/dist/components/spinner/variants/classic-v2.d.ts +2 -0
  40. package/dist/components/spinner/variants/classic-v2.js +24 -0
  41. package/dist/components/spinner/variants/classic-v2.module.js +8 -0
  42. package/dist/components/spinner/variants/classic.css +1 -0
  43. package/dist/components/spinner/variants/classic.d.ts +2 -0
  44. package/dist/components/spinner/variants/classic.js +22 -0
  45. package/dist/components/spinner/variants/classic.module.js +8 -0
  46. package/dist/components/spinner/variants/clock.css +1 -0
  47. package/dist/components/spinner/variants/clock.d.ts +2 -0
  48. package/dist/components/spinner/variants/clock.js +18 -0
  49. package/dist/components/spinner/variants/clock.module.js +8 -0
  50. package/dist/components/spinner/variants/comet.css +1 -0
  51. package/dist/components/spinner/variants/comet.d.ts +2 -0
  52. package/dist/components/spinner/variants/comet.js +33 -0
  53. package/dist/components/spinner/variants/comet.module.js +10 -0
  54. package/dist/components/spinner/variants/compass.css +1 -0
  55. package/dist/components/spinner/variants/compass.d.ts +2 -0
  56. package/dist/components/spinner/variants/compass.js +16 -0
  57. package/dist/components/spinner/variants/compass.module.js +8 -0
  58. package/dist/components/spinner/variants/dual.css +1 -0
  59. package/dist/components/spinner/variants/dual.d.ts +2 -0
  60. package/dist/components/spinner/variants/dual.js +25 -0
  61. package/dist/components/spinner/variants/dual.module.js +10 -0
  62. package/dist/components/spinner/variants/eclipse.css +1 -0
  63. package/dist/components/spinner/variants/eclipse.d.ts +6 -0
  64. package/dist/components/spinner/variants/eclipse.js +21 -0
  65. package/dist/components/spinner/variants/eclipse.module.js +9 -0
  66. package/dist/components/spinner/variants/flip.css +1 -0
  67. package/dist/components/spinner/variants/flip.d.ts +2 -0
  68. package/dist/components/spinner/variants/flip.js +17 -0
  69. package/dist/components/spinner/variants/flip.module.js +8 -0
  70. package/dist/components/spinner/variants/gather.css +1 -0
  71. package/dist/components/spinner/variants/gather.d.ts +2 -0
  72. package/dist/components/spinner/variants/gather.js +50 -0
  73. package/dist/components/spinner/variants/gather.module.js +11 -0
  74. package/dist/components/spinner/variants/index.d.ts +9 -1
  75. package/dist/components/spinner/variants/index.js +96 -10
  76. package/dist/components/spinner/variants/leap.css +1 -0
  77. package/dist/components/spinner/variants/leap.d.ts +6 -0
  78. package/dist/components/spinner/variants/leap.js +27 -0
  79. package/dist/components/spinner/variants/leap.module.js +8 -0
  80. package/dist/components/spinner/variants/linear-dots.css +1 -0
  81. package/dist/components/spinner/variants/linear-dots.d.ts +2 -0
  82. package/dist/components/spinner/variants/linear-dots.js +21 -0
  83. package/dist/components/spinner/variants/linear-dots.module.js +8 -0
  84. package/dist/components/spinner/variants/loading.css +1 -0
  85. package/dist/components/spinner/variants/loading.d.ts +2 -0
  86. package/dist/components/spinner/variants/loading.js +50 -0
  87. package/dist/components/spinner/variants/loading.module.js +8 -0
  88. package/dist/components/spinner/variants/morph.css +1 -0
  89. package/dist/components/spinner/variants/morph.d.ts +2 -0
  90. package/dist/components/spinner/variants/morph.js +17 -0
  91. package/dist/components/spinner/variants/morph.module.js +8 -0
  92. package/dist/components/spinner/variants/orbit.css +1 -0
  93. package/dist/components/spinner/variants/orbit.d.ts +2 -0
  94. package/dist/components/spinner/variants/orbit.js +24 -0
  95. package/dist/components/spinner/variants/orbit.module.js +8 -0
  96. package/dist/components/spinner/variants/pulse.css +1 -0
  97. package/dist/components/spinner/variants/pulse.d.ts +2 -0
  98. package/dist/components/spinner/variants/pulse.js +19 -0
  99. package/dist/components/spinner/variants/pulse.module.js +8 -0
  100. package/dist/components/spinner/variants/radar.css +1 -0
  101. package/dist/components/spinner/variants/radar.d.ts +2 -0
  102. package/dist/components/spinner/variants/radar.js +53 -0
  103. package/dist/components/spinner/variants/radar.module.js +8 -0
  104. package/dist/components/spinner/variants/ring.css +1 -0
  105. package/dist/components/spinner/variants/ring.d.ts +2 -0
  106. package/dist/components/spinner/variants/ring.js +24 -0
  107. package/dist/components/spinner/variants/ring.module.js +8 -0
  108. package/dist/components/spinner/variants/ripple.css +1 -0
  109. package/dist/components/spinner/variants/ripple.d.ts +2 -0
  110. package/dist/components/spinner/variants/ripple.js +23 -0
  111. package/dist/components/spinner/variants/ripple.module.js +8 -0
  112. package/dist/components/spinner/variants/slide.css +1 -0
  113. package/dist/components/spinner/variants/slide.d.ts +2 -0
  114. package/dist/components/spinner/variants/slide.js +24 -0
  115. package/dist/components/spinner/variants/slide.module.js +8 -0
  116. package/dist/components/spinner/variants/snake.css +1 -0
  117. package/dist/components/spinner/variants/snake.d.ts +2 -0
  118. package/dist/components/spinner/variants/snake.js +19 -0
  119. package/dist/components/spinner/variants/snake.module.js +11 -0
  120. package/dist/components/spinner/variants/swirl.css +1 -0
  121. package/dist/components/spinner/variants/swirl.d.ts +2 -0
  122. package/dist/components/spinner/variants/swirl.js +35 -0
  123. package/dist/components/spinner/variants/swirl.module.js +8 -0
  124. package/dist/components/spinner/variants/trace.css +1 -0
  125. package/dist/components/spinner/variants/trace.d.ts +2 -0
  126. package/dist/components/spinner/variants/trace.js +28 -0
  127. package/dist/components/spinner/variants/trace.module.js +8 -0
  128. package/dist/components/spinner/variants/wave.css +1 -0
  129. package/dist/components/spinner/variants/wave.d.ts +2 -0
  130. package/dist/components/spinner/variants/wave.js +25 -0
  131. package/dist/components/spinner/variants/wave.module.js +8 -0
  132. package/dist/components/text/text.css +1 -1
  133. package/dist/components/text/text.d.ts +10 -2
  134. package/dist/components/title/title.d.ts +7 -0
  135. package/dist/index.js +2 -1
  136. package/dist/preflight.css +1 -1
  137. package/dist/specs/components/accordion/props.xml +2 -2
  138. package/dist/specs/components/accordion/usage.xml +2 -0
  139. package/dist/specs/components/autocomplete/patterns.xml +4 -4
  140. package/dist/specs/components/autocomplete/props.xml +2 -2
  141. package/dist/specs/components/autocomplete/usage.xml +1 -1
  142. package/dist/specs/components/button/patterns.xml +2 -2
  143. package/dist/specs/components/button/props.xml +4 -4
  144. package/dist/specs/components/button/usage.xml +2 -1
  145. package/dist/specs/components/chip/patterns.xml +2 -2
  146. package/dist/specs/components/chip/props.xml +2 -2
  147. package/dist/specs/components/chip/usage.xml +2 -0
  148. package/dist/specs/components/direction-provider/a11y.xml +6 -0
  149. package/dist/specs/components/direction-provider/meta.xml +20 -0
  150. package/dist/specs/components/direction-provider/patterns.xml +27 -0
  151. package/dist/specs/components/direction-provider/props.xml +18 -0
  152. package/dist/specs/components/direction-provider/usage.xml +10 -0
  153. package/dist/specs/components/disclosure/patterns.xml +2 -2
  154. package/dist/specs/components/disclosure/props.xml +2 -2
  155. package/dist/specs/components/disclosure/usage.xml +2 -0
  156. package/dist/specs/components/glow/patterns.xml +1 -1
  157. package/dist/specs/components/grid/patterns.xml +3 -3
  158. package/dist/specs/components/icon-button/props.xml +4 -4
  159. package/dist/specs/components/icon-button/usage.xml +3 -1
  160. package/dist/specs/components/menu/patterns.xml +18 -18
  161. package/dist/specs/components/menu/props.xml +5 -5
  162. package/dist/specs/components/menu/usage.xml +3 -1
  163. package/dist/specs/components/meter/patterns.xml +1 -1
  164. package/dist/specs/components/progressive-blur/usage.xml +2 -0
  165. package/dist/specs/components/prose/meta.xml +1 -1
  166. package/dist/specs/components/prose/patterns.xml +34 -10
  167. package/dist/specs/components/prose/props.xml +3 -1
  168. package/dist/specs/components/prose/usage.xml +4 -1
  169. package/dist/specs/components/select/patterns.xml +2 -2
  170. package/dist/specs/components/select/props.xml +4 -4
  171. package/dist/specs/components/select/usage.xml +2 -0
  172. package/dist/specs/components/slider/patterns.xml +1 -1
  173. package/dist/specs/components/spinner/props.xml +1 -1
  174. package/dist/specs/components/spinner/usage.xml +1 -1
  175. package/dist/specs/components/stack/patterns.xml +4 -4
  176. package/dist/specs/components/stack/props.xml +1 -0
  177. package/dist/specs/components/stack/usage.xml +1 -0
  178. package/dist/specs/components/surface/patterns.xml +3 -3
  179. package/dist/specs/components/tabs/patterns.xml +3 -3
  180. package/dist/specs/components/tabs/props.xml +1 -1
  181. package/dist/specs/components/tabs/usage.xml +2 -1
  182. package/dist/specs/components/text/meta.xml +2 -1
  183. package/dist/specs/components/text/patterns.xml +19 -16
  184. package/dist/specs/components/text/props.xml +8 -6
  185. package/dist/specs/components/text/usage.xml +9 -3
  186. package/dist/specs/components/textfield/patterns.xml +3 -3
  187. package/dist/specs/components/textfield/props.xml +2 -2
  188. package/dist/specs/components/textfield/usage.xml +2 -1
  189. package/dist/specs/components/title/meta.xml +2 -1
  190. package/dist/specs/components/title/patterns.xml +11 -10
  191. package/dist/specs/components/title/props.xml +5 -4
  192. package/dist/specs/components/title/usage.xml +8 -3
  193. package/dist/specs/components/toggle-button/patterns.xml +8 -8
  194. package/dist/specs/components/toggle-button/props.xml +3 -3
  195. package/dist/specs/components/toggle-button/usage.xml +2 -0
  196. package/dist/specs/components/toggle-group/patterns.xml +3 -3
  197. package/dist/specs/components/tooltip/patterns.xml +7 -7
  198. package/dist/specs/foundation/attributes.xml +22 -0
  199. package/dist/specs/foundation/bootstrap.xml +1 -1
  200. package/dist/specs/foundation/modules.xml +16 -7
  201. package/dist/specs/foundation/toggles.xml +1 -1
  202. package/dist/specs/index.xml +14 -4
  203. package/package.json +2 -2
  204. package/dist/components/spinner/variants/bars.d.ts +0 -2
  205. package/dist/components/spinner/variants/bars.js +0 -134
  206. package/dist/components/spinner/variants/dot-grid.css +0 -1
  207. package/dist/components/spinner/variants/dot-grid.d.ts +0 -2
  208. package/dist/components/spinner/variants/dot-grid.js +0 -57
  209. package/dist/components/spinner/variants/dot-grid.module.js +0 -16
  210. package/dist/components/spinner/variants/dots.d.ts +0 -2
  211. package/dist/components/spinner/variants/dots.js +0 -189
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/orbit.module.css
2
+ var Track = "viraui__orbit-module__Track_kisTF";
3
+ var orbit_module_default = {
4
+ Track,
5
+ "spinner-orbit-spin": "viraui__orbit-module__spinner-orbit-spin_unNkn"
6
+ };
7
+ //#endregion
8
+ export { Track, orbit_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__pulse-module__spinner-pulse-ripple_uxhZW{0%{opacity:.4;transform:scale(.25)}to{opacity:0;transform:scale(1)}}.viraui__pulse-module__Ring_urT8a{transform-origin:12px 12px;animation:viraui__pulse-module__spinner-pulse-ripple_uxhZW 1.2s ease-out infinite;@media (prefers-reduced-motion:reduce){animation:none;opacity:.2}}}
@@ -0,0 +1,2 @@
1
+ declare const PulseGlyph: React.FC;
2
+ export default PulseGlyph;
@@ -0,0 +1,19 @@
1
+ import './pulse.css';
2
+ import pulse_module_default from "./pulse.module.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/pulse.tsx
5
+ var PulseGlyph = () => /* @__PURE__ */ jsxs("g", {
6
+ fill: "currentColor",
7
+ children: [/* @__PURE__ */ jsx("circle", {
8
+ className: pulse_module_default.Ring,
9
+ cx: "12",
10
+ cy: "12",
11
+ r: "12"
12
+ }), /* @__PURE__ */ jsx("circle", {
13
+ cx: "12",
14
+ cy: "12",
15
+ r: "3"
16
+ })]
17
+ });
18
+ //#endregion
19
+ export { PulseGlyph as default };
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/pulse.module.css
2
+ var Ring = "viraui__pulse-module__Ring_urT8a";
3
+ var pulse_module_default = {
4
+ Ring,
5
+ "spinner-pulse-ripple": "viraui__pulse-module__spinner-pulse-ripple_uxhZW"
6
+ };
7
+ //#endregion
8
+ export { Ring, pulse_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__radar-module__spinner-radar-spin_VcFzP{to{transform:rotate(1turn)}}.viraui__radar-module__Beam_iPWap{transform-origin:12px 12px;animation:viraui__radar-module__spinner-radar-spin_VcFzP 1.5s linear infinite;@media (prefers-reduced-motion:reduce){animation:none}}}
@@ -0,0 +1,2 @@
1
+ declare const RadarGlyph: React.FC;
2
+ export default RadarGlyph;
@@ -0,0 +1,53 @@
1
+ import './radar.css';
2
+ import radar_module_default from "./radar.module.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { useId } from "react";
5
+ //#region src/components/spinner/variants/radar.tsx
6
+ var RadarGlyph = () => {
7
+ const gradientId = `${useId().replaceAll(":", "")}-radar`;
8
+ return /* @__PURE__ */ jsxs("g", { children: [
9
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("radialGradient", {
10
+ id: gradientId,
11
+ cx: "12",
12
+ cy: "12",
13
+ r: "12",
14
+ gradientUnits: "userSpaceOnUse",
15
+ children: [/* @__PURE__ */ jsx("stop", {
16
+ offset: "0.3334",
17
+ stopColor: "currentColor"
18
+ }), /* @__PURE__ */ jsx("stop", {
19
+ offset: "1",
20
+ stopColor: "currentColor",
21
+ stopOpacity: "0"
22
+ })]
23
+ }) }),
24
+ /* @__PURE__ */ jsx("circle", {
25
+ cx: "12",
26
+ cy: "12",
27
+ r: "12",
28
+ fill: "currentColor",
29
+ opacity: "0.2"
30
+ }),
31
+ /* @__PURE__ */ jsx("circle", {
32
+ cx: "12",
33
+ cy: "12",
34
+ r: "8.25",
35
+ fill: "none",
36
+ stroke: "currentColor",
37
+ opacity: "0.2"
38
+ }),
39
+ /* @__PURE__ */ jsx("path", {
40
+ className: radar_module_default.Beam,
41
+ d: "M12 0C14.2599 0 16.4736 0.638508 18.3867 1.84131C20.2999 3.04429 21.8355 4.763 22.815 6.7998C23.7944 8.8366 24.179 11.1094 23.9238 13.3549C23.6687 15.6002 22.7844 17.7276 21.3735 19.4927L15.7061 14.5488C16.2056 13.824 16.5 12.9468 16.5 12C16.5 9.51472 14.4853 7.5 12 7.5V0Z",
42
+ fill: `url(#${gradientId})`
43
+ }),
44
+ /* @__PURE__ */ jsx("circle", {
45
+ cx: "12",
46
+ cy: "12",
47
+ r: "3",
48
+ fill: "currentColor"
49
+ })
50
+ ] });
51
+ };
52
+ //#endregion
53
+ export { RadarGlyph as default };
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/radar.module.css
2
+ var Beam = "viraui__radar-module__Beam_iPWap";
3
+ var radar_module_default = {
4
+ Beam,
5
+ "spinner-radar-spin": "viraui__radar-module__spinner-radar-spin_VcFzP"
6
+ };
7
+ //#endregion
8
+ export { Beam, radar_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__ring-module__spinner-ring-spin_GiTYf{to{transform:rotate(1turn)}}.viraui__ring-module__Spin_UI5qI{transform-origin:12px 12px;animation:viraui__ring-module__spinner-ring-spin_GiTYf .8s linear infinite;@media (prefers-reduced-motion:reduce){animation:none}}}
@@ -0,0 +1,2 @@
1
+ declare const RingGlyph: React.FC;
2
+ export default RingGlyph;
@@ -0,0 +1,24 @@
1
+ import './ring.css';
2
+ import ring_module_default from "./ring.module.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/ring.tsx
5
+ var RingGlyph = () => /* @__PURE__ */ jsxs("g", {
6
+ fill: "none",
7
+ stroke: "currentColor",
8
+ strokeWidth: "2.5",
9
+ strokeLinecap: "round",
10
+ children: [/* @__PURE__ */ jsx("circle", {
11
+ cx: "12",
12
+ cy: "12",
13
+ r: "10",
14
+ opacity: "0.2"
15
+ }), /* @__PURE__ */ jsx("circle", {
16
+ className: ring_module_default.Spin,
17
+ cx: "12",
18
+ cy: "12",
19
+ r: "10",
20
+ strokeDasharray: "16 46.8"
21
+ })]
22
+ });
23
+ //#endregion
24
+ export { RingGlyph as default };
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/ring.module.css
2
+ var Spin = "viraui__ring-module__Spin_UI5qI";
3
+ var ring_module_default = {
4
+ Spin,
5
+ "spinner-ring-spin": "viraui__ring-module__spinner-ring-spin_GiTYf"
6
+ };
7
+ //#endregion
8
+ export { Spin, ring_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__ripple-module__spinner-ripple-spread_2XAYW{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(1)}}.viraui__ripple-module__Ring_40qYn{transform-origin:12px 12px;animation:viraui__ripple-module__spinner-ripple-spread_2XAYW 1.2s ease-out infinite;animation-delay:calc(1.2s * (var(--__spinner-ripple-step) - 3) / 3);@media (prefers-reduced-motion:reduce){animation:none;opacity:.4;transform:scale(calc((var(--__spinner-ripple-step) + 1) / 3))}}}
@@ -0,0 +1,2 @@
1
+ declare const RippleGlyph: React.FC;
2
+ export default RippleGlyph;
@@ -0,0 +1,23 @@
1
+ import './ripple.css';
2
+ import ripple_module_default from "./ripple.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/ripple.tsx
5
+ var RINGS = [
6
+ 0,
7
+ 1,
8
+ 2
9
+ ];
10
+ var RippleGlyph = () => /* @__PURE__ */ jsx("g", {
11
+ fill: "none",
12
+ stroke: "currentColor",
13
+ strokeWidth: "1.9",
14
+ children: RINGS.map((index) => /* @__PURE__ */ jsx("circle", {
15
+ className: ripple_module_default.Ring,
16
+ cx: "12",
17
+ cy: "12",
18
+ r: "11",
19
+ style: { "--__spinner-ripple-step": index }
20
+ }, index))
21
+ });
22
+ //#endregion
23
+ export { RippleGlyph as default };
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/ripple.module.css
2
+ var Ring = "viraui__ripple-module__Ring_40qYn";
3
+ var ripple_module_default = {
4
+ Ring,
5
+ "spinner-ripple-spread": "viraui__ripple-module__spinner-ripple-spread_2XAYW"
6
+ };
7
+ //#endregion
8
+ export { Ring, ripple_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__slide-module__spinner-slide-walk_53ezW{0%{transform:translate(10.5px)}25%,8.33%{transform:translate(10.5px,10.5px)}33.33%,50%{transform:translateY(10.5px)}58.33%,75%{transform:translate(0)}83.33%,to{transform:translate(10.5px)}}.viraui__slide-module__Dot_Ca-UR{animation:viraui__slide-module__spinner-slide-walk_53ezW 2.4s ease-in-out infinite;animation-delay:calc(2.4s * (var(--__spinner-slide-step) - 3) / 3);@media (prefers-reduced-motion:reduce){animation:none;transform:var(--__spinner-slide-rest)}}}
@@ -0,0 +1,2 @@
1
+ declare const SlideGlyph: React.FC;
2
+ export default SlideGlyph;
@@ -0,0 +1,24 @@
1
+ import './slide.css';
2
+ import slide_module_default from "./slide.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/slide.tsx
5
+ var RESTS = [
6
+ "translate(10.5px, 0)",
7
+ "translate(0, 0)",
8
+ "translate(0, 10.5px)"
9
+ ];
10
+ var SlideGlyph = () => /* @__PURE__ */ jsx("g", {
11
+ fill: "currentColor",
12
+ children: RESTS.map((rest, index) => /* @__PURE__ */ jsx("circle", {
13
+ className: slide_module_default.Dot,
14
+ cx: "4.5",
15
+ cy: "4.5",
16
+ r: "4",
17
+ style: {
18
+ "--__spinner-slide-step": index,
19
+ "--__spinner-slide-rest": rest
20
+ }
21
+ }, rest))
22
+ });
23
+ //#endregion
24
+ export { SlideGlyph as default };
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/slide.module.css
2
+ var Dot = "viraui__slide-module__Dot_Ca-UR";
3
+ var slide_module_default = {
4
+ Dot,
5
+ "spinner-slide-walk": "viraui__slide-module__spinner-slide-walk_53ezW"
6
+ };
7
+ //#endregion
8
+ export { Dot, slide_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__snake-module__spinner-snake-spin_76ETQ{to{transform:rotate(1turn)}}@keyframes viraui__snake-module__spinner-snake-stretch_j03ip{0%{stroke-dasharray:1 100;stroke-dashoffset:0}50%{stroke-dasharray:45 100;stroke-dashoffset:-17}to{stroke-dasharray:45 100;stroke-dashoffset:-62}}.viraui__snake-module__Spin_qqtko{transform-origin:12px 12px;animation:viraui__snake-module__spinner-snake-spin_76ETQ 1.4s linear infinite;@media (prefers-reduced-motion:reduce){animation:none}}.viraui__snake-module__Dash_MvPl3{animation:viraui__snake-module__spinner-snake-stretch_j03ip 1.4s ease-in-out infinite;@media (prefers-reduced-motion:reduce){animation:none;stroke-dasharray:18 100}}}
@@ -0,0 +1,2 @@
1
+ declare const SnakeGlyph: React.FC;
2
+ export default SnakeGlyph;
@@ -0,0 +1,19 @@
1
+ import './snake.css';
2
+ import snake_module_default from "./snake.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/snake.tsx
5
+ var SnakeGlyph = () => /* @__PURE__ */ jsx("g", {
6
+ className: snake_module_default.Spin,
7
+ fill: "none",
8
+ stroke: "currentColor",
9
+ strokeWidth: "2.5",
10
+ strokeLinecap: "round",
11
+ children: /* @__PURE__ */ jsx("circle", {
12
+ className: snake_module_default.Dash,
13
+ cx: "12",
14
+ cy: "12",
15
+ r: "10"
16
+ })
17
+ });
18
+ //#endregion
19
+ export { SnakeGlyph as default };
@@ -0,0 +1,11 @@
1
+ //#region src/components/spinner/variants/snake.module.css
2
+ var Spin = "viraui__snake-module__Spin_qqtko";
3
+ var Dash = "viraui__snake-module__Dash_MvPl3";
4
+ var snake_module_default = {
5
+ Spin,
6
+ "spinner-snake-spin": "viraui__snake-module__spinner-snake-spin_76ETQ",
7
+ Dash,
8
+ "spinner-snake-stretch": "viraui__snake-module__spinner-snake-stretch_j03ip"
9
+ };
10
+ //#endregion
11
+ export { Dash, Spin, snake_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__swirl-module__spinner-swirl-fade_jOM4Q{0%{opacity:1}to{opacity:.2}}.viraui__swirl-module__Cell_ntRNb{animation:viraui__swirl-module__spinner-swirl-fade_jOM4Q 1.2s linear infinite;animation-delay:calc(1.2s * (var(--__spinner-swirl-step) - 8) / 8);@media (prefers-reduced-motion:reduce){animation:none;opacity:.6}}}
@@ -0,0 +1,2 @@
1
+ declare const SwirlGlyph: React.FC;
2
+ export default SwirlGlyph;
@@ -0,0 +1,35 @@
1
+ import './swirl.css';
2
+ import swirl_module_default from "./swirl.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/swirl.tsx
5
+ var RING = [
6
+ 0,
7
+ 1,
8
+ 2,
9
+ 7,
10
+ null,
11
+ 3,
12
+ 6,
13
+ 5,
14
+ 4
15
+ ];
16
+ var CELL = 7;
17
+ var SwirlGlyph = () => /* @__PURE__ */ jsx("g", {
18
+ fill: "currentColor",
19
+ children: RING.map((place, index) => {
20
+ if (place === null) return null;
21
+ const col = index % 3;
22
+ const row = Math.floor(index / 3);
23
+ return /* @__PURE__ */ jsx("rect", {
24
+ className: swirl_module_default.Cell,
25
+ x: col * 8.5,
26
+ y: row * 8.5,
27
+ width: CELL,
28
+ height: CELL,
29
+ rx: "1.5",
30
+ style: { "--__spinner-swirl-step": place }
31
+ }, place);
32
+ })
33
+ });
34
+ //#endregion
35
+ export { SwirlGlyph as default };
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/swirl.module.css
2
+ var Cell = "viraui__swirl-module__Cell_ntRNb";
3
+ var swirl_module_default = {
4
+ Cell,
5
+ "spinner-swirl-fade": "viraui__swirl-module__spinner-swirl-fade_jOM4Q"
6
+ };
7
+ //#endregion
8
+ export { Cell, swirl_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__trace-module__spinner-trace-dash_-Wnw8{to{stroke-dashoffset:-63.13}}.viraui__trace-module__Dash_mjMJN{animation:viraui__trace-module__spinner-trace-dash_-Wnw8 1.2s linear infinite;@media (prefers-reduced-motion:reduce){animation:none}}}
@@ -0,0 +1,2 @@
1
+ declare const TraceGlyph: React.FC;
2
+ export default TraceGlyph;
@@ -0,0 +1,28 @@
1
+ import './trace.css';
2
+ import trace_module_default from "./trace.module.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/trace.tsx
5
+ var TraceGlyph = () => /* @__PURE__ */ jsxs("g", {
6
+ fill: "none",
7
+ stroke: "currentColor",
8
+ strokeWidth: "2.5",
9
+ strokeLinecap: "round",
10
+ children: [/* @__PURE__ */ jsx("rect", {
11
+ x: "3.25",
12
+ y: "3.25",
13
+ width: "17.5",
14
+ height: "17.5",
15
+ rx: "4",
16
+ opacity: "0.2"
17
+ }), /* @__PURE__ */ jsx("rect", {
18
+ className: trace_module_default.Dash,
19
+ x: "3.25",
20
+ y: "3.25",
21
+ width: "17.5",
22
+ height: "17.5",
23
+ rx: "4",
24
+ strokeDasharray: "16 47.13"
25
+ })]
26
+ });
27
+ //#endregion
28
+ export { TraceGlyph as default };
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/trace.module.css
2
+ var Dash = "viraui__trace-module__Dash_mjMJN";
3
+ var trace_module_default = {
4
+ Dash,
5
+ "spinner-trace-dash": "viraui__trace-module__spinner-trace-dash_-Wnw8"
6
+ };
7
+ //#endregion
8
+ export { Dash, trace_module_default as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__wave-module__spinner-wave-rise_lowcl{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.viraui__wave-module__Bar_fg7xQ{transform-box:fill-box;transform-origin:center;animation:viraui__wave-module__spinner-wave-rise_lowcl .9s ease-in-out infinite;animation-delay:calc(.9s * (var(--__spinner-wave-step) - 5) / 5);@media (prefers-reduced-motion:reduce){animation:none;transform:scaleY(calc(.4 + var(--__spinner-wave-step) * .12))}}}
@@ -0,0 +1,2 @@
1
+ declare const WaveGlyph: React.FC;
2
+ export default WaveGlyph;
@@ -0,0 +1,25 @@
1
+ import './wave.css';
2
+ import wave_module_default from "./wave.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/wave.tsx
5
+ var BARS = [
6
+ 0,
7
+ 1,
8
+ 2,
9
+ 3,
10
+ 4
11
+ ];
12
+ var WaveGlyph = () => /* @__PURE__ */ jsx("g", {
13
+ fill: "currentColor",
14
+ children: BARS.map((index) => /* @__PURE__ */ jsx("rect", {
15
+ className: wave_module_default.Bar,
16
+ x: 2 + index * 4.4,
17
+ y: 3.6,
18
+ width: "2.8",
19
+ height: "16.8",
20
+ rx: "1.4",
21
+ style: { "--__spinner-wave-step": index }
22
+ }, index))
23
+ });
24
+ //#endregion
25
+ export { WaveGlyph as default };
@@ -0,0 +1,8 @@
1
+ //#region src/components/spinner/variants/wave.module.css
2
+ var Bar = "viraui__wave-module__Bar_fg7xQ";
3
+ var wave_module_default = {
4
+ Bar,
5
+ "spinner-wave-rise": "viraui__wave-module__spinner-wave-rise_lowcl"
6
+ };
7
+ //#endregion
8
+ export { Bar, wave_module_default as default };
@@ -2,4 +2,4 @@
2
2
  var(--__text-size-min),
3
3
  calc(var(--__text-size-min) + (var(--__text-size-max) - var(--__text-size-min)) * var(--__text-fluid)),
4
4
  var(--__text-size-max)
5
- );--vui-text-font-family:var(--font-family-body);--vui-text-line-height:var(--font-leading-m);margin:0;max-inline-size:var(--vui-text-max-width);font-family:var(--vui-text-font-family);font-size:var(--vui-text-font-size);line-height:var(--vui-text-line-height);letter-spacing:var(--vui-text-letter-spacing);text-transform:var(--vui-text-text-transform);white-space:var(--vui-text-white-space);word-break:break-word;font-weight:var(--vui-text-font-weight);font-stretch:calc(var(--vui-text-font-width) * 1%);font-optical-sizing:auto;font-variation-settings:"wght" var(--vui-text-font-weight),"wdth" var(--vui-text-font-width),"opsz" var(--vui-text-font-opsz);text-box:var(--vui-text-trim) var(--vui-text-trim-type);&[data-text-balanced=true]{text-wrap:balance}&[data-text-selection=false]{-webkit-user-select:none;user-select:none}&[data-text-has-align=true]{text-align:var(--vui-text-align)}&[data-text-has-padding=true]{padding:var(--vui-text-padding-block-start) var(--vui-text-padding-inline-end) var(--vui-text-padding-block-end) var(--vui-text-padding-inline-start)}&[data-text-family=mono]{--vui-text-font-family:var(--font-family-mono)}&[data-text-size="4xl"]{--__text-size-min:var(--font-scale-body-3xl);--__text-size-max:var(--font-scale-body-4xl)}&[data-text-size="3xl"]{--__text-size-min:var(--font-scale-body-2xl);--__text-size-max:var(--font-scale-body-3xl)}&[data-text-size="2xl"]{--__text-size-min:var(--font-scale-body-xl);--__text-size-max:var(--font-scale-body-2xl)}&[data-text-size=xl]{--__text-size-min:var(--font-scale-body-l);--__text-size-max:var(--font-scale-body-xl)}&[data-text-size=l]{--__text-size-min:var(--font-scale-body-m);--__text-size-max:var(--font-scale-body-l)}&[data-text-size=s]{--__text-size-max:var(--font-scale-body-s)}&[data-text-size=s],&[data-text-size=xs]{--__text-size-min:var(--font-scale-body-xs)}&[data-text-size=xs]{--__text-size-max:var(--font-scale-body-xs)}& .viraui__text-module__Text_bS8kv:not([data-text-size]){font-size:inherit}& .viraui__text-module__Text_bS8kv:not([data-text-line-height]){line-height:inherit}&[data-text-fluid=false]{--vui-text-font-size:var(--__text-size-max)}@container root style(--effect-fluid-typography: initial){--vui-text-font-size:var(--__text-size-max)}&[data-text-weight=light]{--vui-text-font-weight:200}&[data-text-weight=semibold]{--vui-text-font-weight:600}&[data-text-weight=bold]{--vui-text-font-weight:800}&[data-text-tone=primary]{color:var(--global-primary)}&[data-text-tone=muted]{color:var(--global-muted)}&[data-text-tone=interactive]{color:var(--global-interactive-text)}&[data-text-tone=positive]{color:var(--highlight-green)}&[data-text-tone=informative]{color:var(--highlight-blue)}&[data-text-tone=danger]{color:var(--highlight-red)}&[data-text-tone=warning]{color:var(--highlight-yellow)}&[data-text-has-literal-color=true]{color:var(--vui-text-literal-color)}&[data-text-line-height=none]{--vui-text-line-height:0}&[data-text-line-height=xs]{--vui-text-line-height:var(--font-leading-xs)}&[data-text-line-height=s]{--vui-text-line-height:var(--font-leading-s)}&[data-text-line-height=m]{--vui-text-line-height:var(--font-leading-m)}&[data-text-line-height=l]{--vui-text-line-height:var(--font-leading-l)}}}
5
+ );--vui-text-font-family:var(--font-family-body);--vui-text-line-height:var(--font-leading-m);margin:0;max-inline-size:var(--vui-text-max-width);font-family:var(--vui-text-font-family);font-size:var(--vui-text-font-size);line-height:var(--vui-text-line-height);letter-spacing:var(--vui-text-letter-spacing);text-transform:var(--vui-text-text-transform);white-space:var(--vui-text-white-space);word-break:break-word;font-weight:var(--vui-text-font-weight);font-stretch:calc(var(--vui-text-font-width) * 1%);font-optical-sizing:auto;font-variation-settings:"wght" var(--vui-text-font-weight),"wdth" var(--vui-text-font-width),"opsz" var(--vui-text-font-opsz);text-box:var(--vui-text-trim) var(--vui-text-trim-type);&[data-text-balanced=true]{text-wrap:balance}&[data-text-selection=false]{-webkit-user-select:none;user-select:none}&[data-text-has-align=true]{text-align:var(--vui-text-align)}&[data-text-has-padding=true]{padding:var(--vui-text-padding-block-start) var(--vui-text-padding-inline-end) var(--vui-text-padding-block-end) var(--vui-text-padding-inline-start)}&[data-text-family=mono]{--vui-text-font-family:var(--font-family-mono)}&[data-text-size="4xl"]{--__text-size-min:var(--font-scale-body-3xl);--__text-size-max:var(--font-scale-body-4xl)}&[data-text-size="3xl"]{--__text-size-min:var(--font-scale-body-2xl);--__text-size-max:var(--font-scale-body-3xl)}&[data-text-size="2xl"]{--__text-size-min:var(--font-scale-body-xl);--__text-size-max:var(--font-scale-body-2xl)}&[data-text-size=xl]{--__text-size-min:var(--font-scale-body-l);--__text-size-max:var(--font-scale-body-xl)}&[data-text-size=l]{--__text-size-min:var(--font-scale-body-m);--__text-size-max:var(--font-scale-body-l)}&[data-text-size=s]{--__text-size-min:var(--font-scale-body-s);--__text-size-max:var(--font-scale-body-s)}&[data-text-size=xs]{--__text-size-min:var(--font-scale-body-xs);--__text-size-max:var(--font-scale-body-xs)}& .viraui__text-module__Text_bS8kv:not([data-text-size]){font-size:inherit}& .viraui__text-module__Text_bS8kv:not([data-text-line-height]){line-height:inherit}&[data-text-fluid=false]{--vui-text-font-size:var(--__text-size-max)}@container root style(--effect-fluid-typography: initial){--vui-text-font-size:var(--__text-size-max)}&[data-text-weight=light]{--vui-text-font-weight:200}&[data-text-weight=semibold]{--vui-text-font-weight:600}&[data-text-weight=bold]{--vui-text-font-weight:800}&[data-text-tone=primary]{color:var(--global-primary)}&[data-text-tone=muted]{color:var(--global-muted)}&[data-text-tone=interactive]{color:var(--global-interactive-text)}&[data-text-tone=positive]{color:var(--highlight-green)}&[data-text-tone=informative]{color:var(--highlight-blue)}&[data-text-tone=danger]{color:var(--highlight-red)}&[data-text-tone=warning]{color:var(--highlight-yellow)}&[data-text-has-literal-color=true]{color:var(--vui-text-literal-color)}&[data-text-line-height=none]{--vui-text-line-height:0}&[data-text-line-height=xs]{--vui-text-line-height:var(--font-leading-xs)}&[data-text-line-height=s]{--vui-text-line-height:var(--font-leading-s)}&[data-text-line-height=m]{--vui-text-line-height:var(--font-leading-m)}&[data-text-line-height=l]{--vui-text-line-height:var(--font-leading-l)}}}
@@ -31,7 +31,7 @@ export type TextProps = React.ComponentPropsWithoutRef<'span'> & {
31
31
  *
32
32
  * @defaultValue 'm' on root Text (CSS); inherit when nested and omitted
33
33
  */
34
- size?: '4xl' | '3xl' | '2xl' | 'xl' | 'l' | 'm' | 's' | 'xs';
34
+ size?: 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl';
35
35
  /**
36
36
  * Selects the semantic font family for body copy and inline code-like text.
37
37
  *
@@ -61,7 +61,9 @@ export type TextProps = React.ComponentPropsWithoutRef<'span'> & {
61
61
  color?: string;
62
62
  /**
63
63
  * Controls line height through foundation leading tokens.
64
+ * Root Text without lineHeight uses leading `m` (`l` when open; `s` for dense chrome).
64
65
  * Omit when nested in Text so line-height inherits the outer Text.
66
+ * Prefer this prop over CSS `line-height`.
65
67
  *
66
68
  * @defaultValue 'm' on root Text (CSS); inherit when nested and omitted
67
69
  */
@@ -75,6 +77,9 @@ export type TextProps = React.ComponentPropsWithoutRef<'span'> & {
75
77
  align?: React.CSSProperties['textAlign'];
76
78
  /**
77
79
  * Constrains the maximum inline size of the rendered text block.
80
+ * Prefer for readable UI measure (~10–12 words/line) over CSS `max-width`.
81
+ * Prefer `ch` (not `rem`) in patterns/examples. Width tracks `size` — smaller type → narrower cap;
82
+ * never one fixed ch for every size. Shared columns may use parent Stack `maxWidth` sized for the dominant body `size`.
78
83
  *
79
84
  * @defaultValue No max width constraint.
80
85
  */
@@ -101,6 +106,8 @@ export type TextProps = React.ComponentPropsWithoutRef<'span'> & {
101
106
  transform?: React.CSSProperties['textTransform'];
102
107
  /**
103
108
  * Enables balanced wrapping for block-like copy.
109
+ * Prefer on short wrapping UI paragraphs (hero lead, empty state, card blurb);
110
+ * omit when single-line or intentional ragged.
104
111
  *
105
112
  * @defaultValue false
106
113
  */
@@ -151,7 +158,8 @@ export type TextProps = React.ComponentPropsWithoutRef<'span'> & {
151
158
  /**
152
159
  * Enables viewport fluid clamp sizing for this instance.
153
160
  * Default locks at this size’s `--font-scale-body-*` token (UI chrome stays stable).
154
- * Pass `true` for fluid page/body copy. Theme `--effect-fluid-typography: initial` still locks all Text globally.
161
+ * Pass `true` for fluid page/body copy (`m`+). `s` / `xs` stay fixed either way.
162
+ * Theme `--effect-fluid-typography: initial` still locks all Text globally.
155
163
  *
156
164
  * @defaultValue false
157
165
  */
@@ -49,6 +49,8 @@ export type TitleProps = React.ComponentPropsWithoutRef<'span'> & {
49
49
  color?: string;
50
50
  /**
51
51
  * Controls line height through foundation leading tokens.
52
+ * Default `m`; prefer `s` on large wrapping titles and always inside Prose.
53
+ * Prefer this prop over CSS `line-height`.
52
54
  *
53
55
  * @defaultValue 'm'
54
56
  */
@@ -62,6 +64,9 @@ export type TitleProps = React.ComponentPropsWithoutRef<'span'> & {
62
64
  align?: React.CSSProperties['textAlign'];
63
65
  /**
64
66
  * Constrains the maximum inline size of the rendered text block.
67
+ * Prefer for readable wrapping titles (~10–12 words/line) over CSS `max-width`.
68
+ * Prefer `ch` (not `rem`) in patterns/examples. Width tracks `size` — smaller presets → narrower cap;
69
+ * never one fixed measure for every size. Shared columns may use parent Stack `maxWidth` instead.
65
70
  *
66
71
  * @defaultValue No max width constraint.
67
72
  */
@@ -90,6 +95,8 @@ export type TitleProps = React.ComponentPropsWithoutRef<'span'> & {
90
95
  transform?: React.CSSProperties['textTransform'];
91
96
  /**
92
97
  * Enables balanced wrapping for block-like titles.
98
+ * Prefer on short wrapping heads (hero, empty state, section);
99
+ * omit for single-line / `whiteSpace="nowrap"` metrics.
93
100
  *
94
101
  * @defaultValue false
95
102
  */
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ import { DialogIndentBackground } from "./components/dialog/dialog-indent-backgr
24
24
  import { DialogSheet } from "./components/dialog/dialog-sheet.js";
25
25
  import { DialogTrigger } from "./components/dialog/dialog-trigger.js";
26
26
  import { Dialog } from "./components/dialog/dialog.js";
27
+ import { DirectionProvider, useDirection } from "./components/direction-provider/index.js";
27
28
  import { Disclosure } from "./components/disclosure/disclosure.js";
28
29
  import { ELEVATION_DEFAULTS } from "./core/elevation/elevation-types.js";
29
30
  import { getElevationProps } from "./core/elevation/get-elevation-props.js";
@@ -72,4 +73,4 @@ import { ToggleGroup } from "./components/toggle-group/toggle-group.js";
72
73
  import { Typewriter } from "./components/typewriter/typewriter.js";
73
74
  import { TooltipContent } from "./components/tooltip/tooltip-content.js";
74
75
  import { Tooltip, TooltipProvider, TooltipTrigger } from "./components/tooltip/tooltip.js";
75
- export { Accordion, Annotate, Autocomplete, Avatar, AvatarGroup, Badge, Beam, Bleed, BreakpointsProvider, Button, ButtonLink, Checkbox, CheckboxGroup, Chip, ClampText, Dialog, DialogClose, DialogIndent, DialogIndentBackground, DialogSheet, DialogTrigger, Disclosure, ELEVATION_DEFAULTS, Elevator, Fieldset, FitText, Glow, Grid, IconButton, IconButtonLink, LinearProgress, Masonry, Menu, MenuCheckboxItem, MenuGroup, MenuItem, MenuLinkItem, MenuPopup, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, Meter, NumberField, OTPField, Popover, PopoverClose, PopoverDescription, PopoverSheet, PopoverTitle, PopoverTrigger, ProgressiveBlur, Prose, Radio, RadioGroup, Select, Separator, Shimmer, Skeleton, Slider, Spinner, Stack, StaticNoise, Surface, Switch, Tabs, Text, Textarea, Textfield, Title, Toast, ToggleButton, ToggleGroup, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Typewriter, getElevationProps, useBreakpoints };
76
+ export { Accordion, Annotate, Autocomplete, Avatar, AvatarGroup, Badge, Beam, Bleed, BreakpointsProvider, Button, ButtonLink, Checkbox, CheckboxGroup, Chip, ClampText, Dialog, DialogClose, DialogIndent, DialogIndentBackground, DialogSheet, DialogTrigger, DirectionProvider, Disclosure, ELEVATION_DEFAULTS, Elevator, Fieldset, FitText, Glow, Grid, IconButton, IconButtonLink, LinearProgress, Masonry, Menu, MenuCheckboxItem, MenuGroup, MenuItem, MenuLinkItem, MenuPopup, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, Meter, NumberField, OTPField, Popover, PopoverClose, PopoverDescription, PopoverSheet, PopoverTitle, PopoverTrigger, ProgressiveBlur, Prose, Radio, RadioGroup, Select, Separator, Shimmer, Skeleton, Slider, Spinner, Stack, StaticNoise, Surface, Switch, Tabs, Text, Textarea, Textfield, Title, Toast, ToggleButton, ToggleGroup, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Typewriter, getElevationProps, useBreakpoints, useDirection };
@@ -1,4 +1,4 @@
1
1
  @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.preflight{@property --scrollbar-thumb{syntax:"<color>";initial-value:#0000;inherits:true}@property --scrollbar-track{syntax:"<color>";initial-value:#0000;inherits:true}@property --outline-offset{syntax:"<length>";initial-value:2px;inherits:true}@property --outline-color{syntax:"<color>";initial-value:currentcolor;inherits:true}@property --outline{syntax:"*";initial-value:2px solid currentcolor;inherits:true}@property --is-light-mode{syntax:"<color>";initial-value:#000;inherits:true}@property --vira-flex-grow{syntax:"<number>";initial-value:1;inherits:false}@property --vira-flex-shrink{syntax:"<number>";initial-value:1;inherits:false}@property --__corner-shape{syntax:"*";inherits:false}}@layer viraui.preflight{:root{--font-scale-body-m:1rem;--font-scale-body-s:min(1rem, max(0.875rem, round(down, calc(1rem / pow(var(--font-body-typescale), 1)), 1px)));--font-scale-body-xs:min(
2
2
  var(--font-scale-body-s),
3
3
  max(0.75rem, round(down, calc(1rem / pow(var(--font-body-typescale), 2)), 1px))
4
- );--font-scale-body-l:round(down, calc(1rem * pow(var(--font-body-typescale), 1)), 1px);--font-scale-body-xl:round(down, calc(1rem * pow(var(--font-body-typescale), 2)), 1px);--font-scale-body-2xl:round(down, calc(1rem * pow(var(--font-body-typescale), 3)), 1px);--font-scale-body-3xl:round(down, calc(1rem * pow(var(--font-body-typescale), 4)), 1px);--font-scale-body-4xl:round(down, calc(1rem * pow(var(--font-body-typescale), 5)), 1px);--font-scale-h6:round(down, calc(1rem * pow(var(--font-heading-typescale), 1)), 1px);--font-scale-h5:round(down, calc(1rem * pow(var(--font-heading-typescale), 2)), 1px);--font-scale-h4:round(down, calc(1rem * pow(var(--font-heading-typescale), 3)), 1px);--font-scale-h3:round(down, calc(1rem * pow(var(--font-heading-typescale), 4)), 1px);--font-scale-h2:round(down, calc(1rem * pow(var(--font-heading-typescale), 5)), 1px);--font-scale-h1:round(down, calc(1rem * pow(var(--font-heading-typescale), 6)), 1px);--font-scale-display:round(down, calc(1rem * pow(var(--font-heading-typescale), 8)), 1px)}}@layer viraui.preflight{html{--scrollbar-thumb:oklab(from var(--global-contrast) l a b / 0.3);--scrollbar-track:#0000;--outline-offset:2px;--outline-color:var(--global-outline);--outline:2px solid var(--outline-color);--is-light-mode:contrast-color(var(--global-background));font-size:var(--font-root-size);box-sizing:border-box;line-height:1.5;background-color:var(--global-background);color:var(--global-foreground);container:root/normal;scroll-behavior:smooth;@media (prefers-reduced-motion:reduce){scroll-behavior:auto}}*,:after,:before{margin:0;box-sizing:inherit;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);@container root not style(--effect-corner-shape: initial){corner-shape:var(--__corner-shape,var(--corner-shape))}@media (prefers-reduced-motion:reduce){animation:none!important;transition:none!important}}:focus-visible{outline:var(--outline);outline-offset:var(--outline-offset)}body{color:var(--global-foreground);margin:0;font-size:var(--font-scale-body-m);font-optical-sizing:auto;font-family:var(--font-family-body),system-ui,sans-serif;font-variation-settings:"wght" 400;font-variant-numeric:tabular-nums;@container root not style(--effect-holofoil: initial){&:after{content:"";position:fixed;inset:0;z-index:999;background-color:#99ffd8;pointer-events:none;mix-blend-mode:multiply;contain:strict;isolation:isolate;opacity:25%;background-image:radial-gradient(at 79% 56%,#70ade6 0,#0000 50%),radial-gradient(at 61% 80%,#ee909e 0,#0000 50%),radial-gradient(at 0 63%,#fdbc68 0,#0000 50%),radial-gradient(at 6% 50%,#e5cb8a 0,#0000 50%),radial-gradient(at 23% 10%,#e5db8f 0,#0000 50%),radial-gradient(at 36% 91%,#a0eea8 0,#0000 50%),radial-gradient(at 2% 80%,#e3a47d 0,#0000 50%);@container root style(--is-light-mode: white){mix-blend-mode:color;opacity:15%}}}}::selection{background-color:var(--global-primary);color:contrast-color(var(--global-primary));text-shadow:none}img{display:block;inline-size:100%;max-inline-size:100%}svg{display:inline-flex;vertical-align:middle;&:not([fill]){fill:currentcolor}}ol ul,ul ol{font-size:medium}table{border-spacing:0;inline-size:100%;border-collapse:collapse}table[data-layout-fixed]{table-layout:fixed}table thead{box-shadow:inset 0 -3px 0 var(--base-2)}table[data-table-separators] tr+tr{border-top:1px solid var(--base-2)}table th{white-space:nowrap;font-variation-settings:"wght" 800}table :is(td,th){border:none;text-align:left;font-size:medium;padding:calc(var(--space-xs) + var(--space-2xs)) var(--space-s)}button,fieldset{padding:0;margin:0;border:0}button{appearance:none;background:none;font-size:inherit;font-family:inherit;display:inline-flex;cursor:pointer;color:inherit}}@layer viraui.preflight{@container root not style(--effect-shadows: initial){[data-elevation]{--shadow-direction:1;--shadow-opacity-factor:0.16;--extra-shadow:0 0 0 1px #0000;--shadow-color:oklch(0% 0 0);transition-property:box-shadow;transition-duration:var(--elevation-transition-duration,.16s);transition-timing-function:var(--elevation-transition-easing,ease)}[data-elevation]:where([data-elevation-direction=bottom],[data-elevation-direction=right]){--shadow-direction:1}[data-elevation]:where([data-elevation-direction=top],[data-elevation-direction=left]){--shadow-direction:-1}[data-elevation-hover="0"]:hover,[data-elevation="0"]{--y1:0px;--x1:0px;box-shadow:calc(var(--x1) * var(--shadow-direction)) calc(var(--y1) * var(--shadow-direction)) 0 oklch(from var(--shadow-color) l c h/var(--shadow-opacity-factor)),0 0 0 color-mix(in oklch,var(--shadow-color),#0000 calc(94% - var(--shadow-opacity-factor))),0 0 0 oklch(from var(--shadow-color) l c h/var(--shadow-opacity-factor)),var(--extra-shadow)}[data-elevation-hover="1"]:hover,[data-elevation-hover="2"]:hover,[data-elevation-hover="3"]:hover,[data-elevation-hover="4"]:hover,[data-elevation="1"],[data-elevation="2"],[data-elevation="3"],[data-elevation="4"]{box-shadow:calc(var(--x1) * var(--shadow-direction)) calc(var(--y1) * var(--shadow-direction)) var(--shadow-blur-1) oklab(from var(--shadow-color) l a b/.1),calc(var(--x2) * var(--shadow-direction)) calc(var(--y2) * var(--shadow-direction)) var(--shadow-blur-2) oklab(from var(--shadow-color) l a b/.08),calc(var(--x3) * var(--shadow-direction)) calc(var(--y3) * var(--shadow-direction)) var(--shadow-blur-3) oklab(from var(--shadow-color) l a b/.06),calc(var(--x4) * var(--shadow-direction)) calc(var(--y4) * var(--shadow-direction)) var(--shadow-blur-4) oklab(from var(--shadow-color) l a b/.04),calc(var(--x5) * var(--shadow-direction)) calc(var(--y5) * var(--shadow-direction)) var(--shadow-blur-5) oklab(from var(--shadow-color) l a b/.02),var(--extra-shadow)}[data-elevation-hover="1"]:hover,[data-elevation="1"]{--y1:0px;--y2:1px;--y3:1px;--y4:3px;--y5:4px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--x5:0px;--shadow-blur-1:0px;--shadow-blur-2:1px;--shadow-blur-3:1px;--shadow-blur-4:3px;--shadow-blur-5:4px}[data-elevation-hover="1"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="1"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--y5:0px;--x1:0px;--x2:1px;--x3:1px;--x4:3px;--x5:4px}[data-elevation-hover="2"]:hover,[data-elevation="2"]{--y1:0px;--y2:1px;--y3:3px;--y4:5px;--y5:8px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--x5:0px;--shadow-blur-1:0px;--shadow-blur-2:1px;--shadow-blur-3:3px;--shadow-blur-4:5px;--shadow-blur-5:8px}[data-elevation-hover="2"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="2"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--y5:0px;--x1:0px;--x2:1px;--x3:3px;--x4:5px;--x5:8px}[data-elevation-hover="3"]:hover,[data-elevation="3"]{--y1:1px;--y2:3px;--y3:6px;--y4:10px;--y5:16px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--x5:0px;--shadow-blur-1:1px;--shadow-blur-2:3px;--shadow-blur-3:6px;--shadow-blur-4:10px;--shadow-blur-5:16px}[data-elevation-hover="3"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="3"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--y5:0px;--x1:1px;--x2:3px;--x3:6px;--x4:10px;--x5:16px}[data-elevation-hover="4"]:hover,[data-elevation="4"]{--y1:1px;--y2:5px;--y3:12px;--y4:20px;--y5:32px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--x5:0px;--shadow-blur-1:1px;--shadow-blur-2:5px;--shadow-blur-3:12px;--shadow-blur-4:20px;--shadow-blur-5:32px}[data-elevation-hover="4"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="4"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--y5:0px;--x1:1px;--x2:5px;--x3:12px;--x4:20px;--x5:32px}}}@layer viraui.preflight{[data-grow=true]{--vira-flex-grow:1;flex-grow:1}[data-grow=false]{--vira-flex-grow:0;flex-grow:0}[data-shrink=true]{--vira-flex-shrink:1;flex-shrink:1}[data-shrink=false]{--vira-flex-shrink:0;flex-shrink:0}}@layer viraui.preflight{:where(p){line-height:1.5;min-block-size:.01vh;font-size:var(--font-scale-body-m)}small{font-size:.7em}b,strong{font-variation-settings:"wght" 700}:where(a:any-link):not([data-no-link-style]){text-decoration:none;color:var(--global-interactive-text);word-break:break-word;background:linear-gradient(currentcolor,currentcolor) no-repeat 0 100%;background-size:0 1px;transition:background-size var(--duration-fast) var(--easing-entrance);&:focus,&:hover{background-size:100% 1px}}del{padding:0 .4em;margin:0 .2em;background-color:oklab(from var(--highlight-red) l a b/12%);color:var(--highlight-red);box-shadow:0 0 0 1px oklab(from var(--highlight-red) l a b/50%);border-radius:var(--radius-s)}ins{background-color:oklab(from var(--highlight-green) l a b/15%);color:var(--highlight-green);box-shadow:0 0 0 1px oklab(from var(--highlight-green) l a b/50%)}ins,mark{padding:0 .4em;margin:0 .2em;text-decoration:none;border-radius:var(--radius-s)}mark{background-color:oklab(from var(--highlight-yellow) l a b/15%);color:var(--highlight-yellow);box-shadow:0 0 0 1px oklab(from var(--highlight-yellow) l a b/50%)}address{font-style:normal;line-height:inherit}dt{font-variation-settings:"wght" 600}dd{margin:0;padding:0}ul{font-size:medium;padding-left:1rem;& li::marker{font-size:inherit;text-align:right;font-variation-settings:"wght" 400;min-inline-size:var(--space-xl);color:oklab(from currentColor l a b/80%)}}ol{font-size:medium;& li::marker{font-size:inherit;font-variation-settings:"wght" 400;min-inline-size:var(--space-xl);font-variant-numeric:tabular-nums;white-space:nowrap;color:oklab(from currentColor l a b/80%)}}kbd{padding:.2em .4em;border-radius:var(--radius-s);font-variation-settings:"wght" 600;box-shadow:var(--global-contrast);background:var(--global-contrast)}abbr{text-decoration:underline dashed var(--global-primary)}label,legend{font-size:inherit}code{font-size:1em;font-family:var(--font-family-mono);&:not(:where(pre &)){background-color:var(--global-contrast);border-radius:var(--radius-s);box-shadow:var(--global-contrast);padding:.2em .4em}}pre code{box-shadow:none}s{text-decoration:line-through;color:var(--global-disabled-foreground);text-decoration-color:oklab(from var(--global-foreground) l a b/50%)}:root{color-scheme:light dark}[data-mode=dark]{--is-light-mode:#fff;color:var(--global-foreground);color-scheme:dark}[data-mode=light]{--is-light-mode:#000;color:var(--global-foreground);color-scheme:light}}@layer viraui.preflight{[data-mode=inverted]{color:var(--global-foreground);@container root style(--is-light-mode: black){color-scheme:dark}@container root style(--is-light-mode: white){color-scheme:light}}}@layer viraui.preflight{@container root not style(--effect-vibrancy: initial){[data-vibrant]{backdrop-filter:brightness(var(--vibrancy-brightness)) blur(calc(var(--vibrancy-blur) * 1px)) saturate(150%);@container root style(--is-light-mode: black){backdrop-filter:brightness(100%) blur(calc(var(--vibrancy-blur) * 1px)) saturate(150%)}}}}
4
+ );--font-scale-body-l:round(down, calc(1rem * pow(var(--font-body-typescale), 1)), 1px);--font-scale-body-xl:round(down, calc(1rem * pow(var(--font-body-typescale), 2)), 1px);--font-scale-body-2xl:round(down, calc(1rem * pow(var(--font-body-typescale), 3)), 1px);--font-scale-body-3xl:round(down, calc(1rem * pow(var(--font-body-typescale), 4)), 1px);--font-scale-body-4xl:round(down, calc(1rem * pow(var(--font-body-typescale), 5)), 1px);--font-scale-h6:round(down, calc(1rem * pow(var(--font-heading-typescale), 1)), 1px);--font-scale-h5:round(down, calc(1rem * pow(var(--font-heading-typescale), 2)), 1px);--font-scale-h4:round(down, calc(1rem * pow(var(--font-heading-typescale), 3)), 1px);--font-scale-h3:round(down, calc(1rem * pow(var(--font-heading-typescale), 4)), 1px);--font-scale-h2:round(down, calc(1rem * pow(var(--font-heading-typescale), 5)), 1px);--font-scale-h1:round(down, calc(1rem * pow(var(--font-heading-typescale), 6)), 1px);--font-scale-display:round(down, calc(1rem * pow(var(--font-heading-typescale), 8)), 1px)}}@layer viraui.preflight{html{--scrollbar-thumb:oklab(from var(--global-contrast) l a b / 0.3);--scrollbar-track:#0000;--outline-offset:2px;--outline-color:var(--global-outline);--outline:2px solid var(--outline-color);--is-light-mode:contrast-color(var(--global-background));font-size:var(--font-root-size);box-sizing:border-box;line-height:1.5;background-color:var(--global-background);color:var(--global-foreground);container:root/normal;scroll-behavior:smooth;@media (prefers-reduced-motion:reduce){scroll-behavior:auto}}*,:after,:before{margin:0;box-sizing:inherit;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);@container root not style(--effect-corner-shape: initial){corner-shape:var(--__corner-shape,var(--corner-shape))}@media (prefers-reduced-motion:reduce){animation:none!important;transition:none!important}}::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}:focus-visible{outline:var(--outline);outline-offset:var(--outline-offset)}body{color:var(--global-foreground);margin:0;font-size:var(--font-scale-body-m);font-optical-sizing:auto;font-family:var(--font-family-body),system-ui,sans-serif;font-variation-settings:"wght" 400;font-variant-numeric:tabular-nums;@container root not style(--effect-holofoil: initial){&:after{content:"";position:fixed;inset:0;z-index:999;background-color:#99ffd8;pointer-events:none;mix-blend-mode:multiply;contain:strict;isolation:isolate;opacity:25%;background-image:radial-gradient(at 79% 56%,#70ade6 0,#0000 50%),radial-gradient(at 61% 80%,#ee909e 0,#0000 50%),radial-gradient(at 0 63%,#fdbc68 0,#0000 50%),radial-gradient(at 6% 50%,#e5cb8a 0,#0000 50%),radial-gradient(at 23% 10%,#e5db8f 0,#0000 50%),radial-gradient(at 36% 91%,#a0eea8 0,#0000 50%),radial-gradient(at 2% 80%,#e3a47d 0,#0000 50%);@container root style(--is-light-mode: white){mix-blend-mode:color;opacity:15%}}}}::selection{background-color:var(--global-primary);color:contrast-color(var(--global-primary));text-shadow:none}img{display:block;inline-size:100%;max-inline-size:100%}svg{display:inline-flex;vertical-align:middle;&:not([fill]){fill:currentcolor}}ol ul,ul ol{font-size:medium}table{border-spacing:0;inline-size:100%;border-collapse:collapse}table[data-layout-fixed]{table-layout:fixed}table thead{box-shadow:inset 0 -3px 0 var(--base-2)}table[data-table-separators] tr+tr{border-top:1px solid var(--base-2)}table th{white-space:nowrap;font-variation-settings:"wght" 800}table :is(td,th){border:none;text-align:left;font-size:medium;padding:calc(var(--space-xs) + var(--space-2xs)) var(--space-s)}button,fieldset{padding:0;margin:0;border:0}button{appearance:none;background:none;font-size:inherit;font-family:inherit;display:inline-flex;cursor:pointer;color:inherit}}@layer viraui.preflight{@container root not style(--effect-shadows: initial){[data-elevation]{--shadow-direction:1;--shadow-opacity-factor:0.16;--extra-shadow:0 0 0 1px #0000;--shadow-color:oklch(0% 0 0);transition-property:box-shadow;transition-duration:var(--elevation-transition-duration,.16s);transition-timing-function:var(--elevation-transition-easing,ease)}[data-elevation]:where([data-elevation-direction=bottom],[data-elevation-direction=right]){--shadow-direction:1}[data-elevation]:where([data-elevation-direction=top],[data-elevation-direction=left]){--shadow-direction:-1}[data-elevation-hover="0"]:hover,[data-elevation="0"]{--y1:0px;--x1:0px;box-shadow:calc(var(--x1) * var(--shadow-direction)) calc(var(--y1) * var(--shadow-direction)) 0 oklch(from var(--shadow-color) l c h/var(--shadow-opacity-factor)),0 0 0 color-mix(in oklch,var(--shadow-color),#0000 calc(94% - var(--shadow-opacity-factor))),0 0 0 oklch(from var(--shadow-color) l c h/var(--shadow-opacity-factor)),var(--extra-shadow)}[data-elevation-hover="1"]:hover,[data-elevation-hover="2"]:hover,[data-elevation-hover="3"]:hover,[data-elevation-hover="4"]:hover,[data-elevation="1"],[data-elevation="2"],[data-elevation="3"],[data-elevation="4"]{box-shadow:calc(var(--x1) * var(--shadow-direction)) calc(var(--y1) * var(--shadow-direction)) var(--shadow-blur-1) oklab(from var(--shadow-color) l a b/.1),calc(var(--x2) * var(--shadow-direction)) calc(var(--y2) * var(--shadow-direction)) var(--shadow-blur-2) oklab(from var(--shadow-color) l a b/.08),calc(var(--x3) * var(--shadow-direction)) calc(var(--y3) * var(--shadow-direction)) var(--shadow-blur-3) oklab(from var(--shadow-color) l a b/.06),calc(var(--x4) * var(--shadow-direction)) calc(var(--y4) * var(--shadow-direction)) var(--shadow-blur-4) oklab(from var(--shadow-color) l a b/.04),calc(var(--x5) * var(--shadow-direction)) calc(var(--y5) * var(--shadow-direction)) var(--shadow-blur-5) oklab(from var(--shadow-color) l a b/.02),var(--extra-shadow)}[data-elevation-hover="1"]:hover,[data-elevation="1"]{--y1:0px;--y2:1px;--y3:1px;--y4:3px;--y5:4px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--x5:0px;--shadow-blur-1:0px;--shadow-blur-2:1px;--shadow-blur-3:1px;--shadow-blur-4:3px;--shadow-blur-5:4px}[data-elevation-hover="1"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="1"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--y5:0px;--x1:0px;--x2:1px;--x3:1px;--x4:3px;--x5:4px}[data-elevation-hover="2"]:hover,[data-elevation="2"]{--y1:0px;--y2:1px;--y3:3px;--y4:5px;--y5:8px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--x5:0px;--shadow-blur-1:0px;--shadow-blur-2:1px;--shadow-blur-3:3px;--shadow-blur-4:5px;--shadow-blur-5:8px}[data-elevation-hover="2"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="2"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--y5:0px;--x1:0px;--x2:1px;--x3:3px;--x4:5px;--x5:8px}[data-elevation-hover="3"]:hover,[data-elevation="3"]{--y1:1px;--y2:3px;--y3:6px;--y4:10px;--y5:16px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--x5:0px;--shadow-blur-1:1px;--shadow-blur-2:3px;--shadow-blur-3:6px;--shadow-blur-4:10px;--shadow-blur-5:16px}[data-elevation-hover="3"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="3"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--y5:0px;--x1:1px;--x2:3px;--x3:6px;--x4:10px;--x5:16px}[data-elevation-hover="4"]:hover,[data-elevation="4"]{--y1:1px;--y2:5px;--y3:12px;--y4:20px;--y5:32px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--x5:0px;--shadow-blur-1:1px;--shadow-blur-2:5px;--shadow-blur-3:12px;--shadow-blur-4:20px;--shadow-blur-5:32px}[data-elevation-hover="4"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="4"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--y5:0px;--x1:1px;--x2:5px;--x3:12px;--x4:20px;--x5:32px}}}@layer viraui.preflight{[data-grow=true]{--vira-flex-grow:1;flex-grow:1}[data-grow=false]{--vira-flex-grow:0;flex-grow:0}[data-shrink=true]{--vira-flex-shrink:1;flex-shrink:1}[data-shrink=false]{--vira-flex-shrink:0;flex-shrink:0}}@layer viraui.preflight{:where(p){line-height:1.5;min-block-size:.01vh;font-size:var(--font-scale-body-m)}small{font-size:.7em}b,strong{font-variation-settings:"wght" 700}:where(a:any-link):not([data-no-link-style]){text-decoration:none;color:var(--global-interactive-text);word-break:break-word;background:linear-gradient(currentcolor,currentcolor) no-repeat 0 100%;background-size:0 1px;transition:background-size var(--duration-fast) var(--easing-entrance);&:focus,&:hover{background-size:100% 1px}}del{padding:0 .4em;margin:0 .2em;background-color:oklab(from var(--highlight-red) l a b/12%);color:var(--highlight-red);box-shadow:0 0 0 1px oklab(from var(--highlight-red) l a b/50%);border-radius:var(--radius-s)}ins{background-color:oklab(from var(--highlight-green) l a b/15%);color:var(--highlight-green);box-shadow:0 0 0 1px oklab(from var(--highlight-green) l a b/50%)}ins,mark{padding:0 .4em;margin:0 .2em;text-decoration:none;border-radius:var(--radius-s)}mark{background-color:oklab(from var(--highlight-yellow) l a b/15%);color:var(--highlight-yellow);box-shadow:0 0 0 1px oklab(from var(--highlight-yellow) l a b/50%)}address{font-style:normal;line-height:inherit}dt{font-variation-settings:"wght" 600}dd{margin:0;padding:0}ul{font-size:medium;padding-left:1rem;& li::marker{font-size:inherit;text-align:right;font-variation-settings:"wght" 400;min-inline-size:var(--space-xl);color:oklab(from currentColor l a b/80%)}}ol{font-size:medium;& li::marker{font-size:inherit;font-variation-settings:"wght" 400;min-inline-size:var(--space-xl);font-variant-numeric:tabular-nums;white-space:nowrap;color:oklab(from currentColor l a b/80%)}}kbd{padding:.2em .4em;border-radius:var(--radius-s);font-variation-settings:"wght" 600;box-shadow:var(--global-contrast);background:var(--global-contrast)}abbr{text-decoration:underline dashed var(--global-primary)}label,legend{font-size:inherit}code{font-size:1em;font-family:var(--font-family-mono);&:not(:where(pre &)){background-color:var(--global-contrast);border-radius:var(--radius-s);box-shadow:var(--global-contrast);padding:.2em .4em}}pre code{box-shadow:none}s{text-decoration:line-through;color:var(--global-disabled-foreground);text-decoration-color:oklab(from var(--global-foreground) l a b/50%)}:root{color-scheme:light dark}[data-mode=dark]{--is-light-mode:#fff;color:var(--global-foreground);color-scheme:dark}[data-mode=light]{--is-light-mode:#000;color:var(--global-foreground);color-scheme:light}}@layer viraui.preflight{[data-mode=inverted]{color:var(--global-foreground);@container root style(--is-light-mode: black){color-scheme:dark}@container root style(--is-light-mode: white){color-scheme:light}}}@layer viraui.preflight{@container root not style(--effect-vibrancy: initial){[data-vibrant]{backdrop-filter:brightness(var(--vibrancy-brightness)) blur(calc(var(--vibrancy-blur) * 1px)) saturate(150%);@container root style(--is-light-mode: black){backdrop-filter:brightness(100%) blur(calc(var(--vibrancy-blur) * 1px)) saturate(150%)}}}}
@@ -22,10 +22,10 @@
22
22
  <description>Resting background for the item card, forwarded to the wrapping `Surface` when `useSurface` is `true`. Omit for no background.</description>
23
23
  </prop>
24
24
  <prop name="Item.iconClosed" kind="react">
25
- <description>Decorative icon shown when the item is closed.</description>
25
+ <description>Decorative icon shown when the item is closed. Omit glyph `size` / width / height unless expressly overriding — prefer host/chrome default.</description>
26
26
  </prop>
27
27
  <prop name="Item.iconOpen" kind="react">
28
- <description>Decorative icon shown when the item is open.</description>
28
+ <description>Decorative icon shown when the item is open. Omit glyph `size` / width / height unless expressly overriding — prefer host/chrome default.</description>
29
29
  </prop>
30
30
  <prop name="Item.iconPosition" kind="react">
31
31
  <description>Side of the trigger label where the expand/collapse icon is rendered.</description>