@viraui/react 2026.7.1 → 2026.9.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.
- package/dist/catalog.json +9 -3
- package/dist/components/button/button.css +1 -1
- package/dist/components/direction-provider/index.d.ts +2 -0
- package/dist/components/direction-provider/index.js +2 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/menu/menu-popup.d.ts +2 -2
- package/dist/components/menu/menu.css +1 -1
- package/dist/components/progressive-blur/progressive-blur.css +1 -1
- package/dist/components/prose/prose.d.ts +4 -1
- package/dist/components/select/select-group.js +1 -1
- package/dist/components/select/select.css +1 -1
- package/dist/components/select/select.js +4 -1
- package/dist/components/spinner/spinner.d.ts +6 -1
- package/dist/components/spinner/variants/arc.css +1 -0
- package/dist/components/spinner/variants/arc.d.ts +2 -0
- package/dist/components/spinner/variants/arc.js +19 -0
- package/dist/components/spinner/variants/arc.module.js +8 -0
- package/dist/components/spinner/variants/atom.css +1 -0
- package/dist/components/spinner/variants/atom.d.ts +6 -0
- package/dist/components/spinner/variants/atom.js +40 -0
- package/dist/components/spinner/variants/atom.module.js +8 -0
- package/dist/components/spinner/variants/blocks.css +1 -0
- package/dist/components/spinner/variants/blocks.d.ts +2 -0
- package/dist/components/spinner/variants/blocks.js +25 -0
- package/dist/components/spinner/variants/blocks.module.js +8 -0
- package/dist/components/spinner/variants/bouncing-dots.css +1 -0
- package/dist/components/spinner/variants/bouncing-dots.d.ts +2 -0
- package/dist/components/spinner/variants/bouncing-dots.js +21 -0
- package/dist/components/spinner/variants/bouncing-dots.module.js +8 -0
- package/dist/components/spinner/variants/cascade.css +1 -0
- package/dist/components/spinner/variants/cascade.d.ts +2 -0
- package/dist/components/spinner/variants/cascade.js +34 -0
- package/dist/components/spinner/variants/cascade.module.js +8 -0
- package/dist/components/spinner/variants/circular-dots.css +1 -0
- package/dist/components/spinner/variants/circular-dots.d.ts +2 -0
- package/dist/components/spinner/variants/circular-dots.js +26 -0
- package/dist/components/spinner/variants/circular-dots.module.js +8 -0
- package/dist/components/spinner/variants/classic-v2.css +1 -0
- package/dist/components/spinner/variants/classic-v2.d.ts +2 -0
- package/dist/components/spinner/variants/classic-v2.js +24 -0
- package/dist/components/spinner/variants/classic-v2.module.js +8 -0
- package/dist/components/spinner/variants/classic.css +1 -0
- package/dist/components/spinner/variants/classic.d.ts +2 -0
- package/dist/components/spinner/variants/classic.js +22 -0
- package/dist/components/spinner/variants/classic.module.js +8 -0
- package/dist/components/spinner/variants/clock.css +1 -0
- package/dist/components/spinner/variants/clock.d.ts +2 -0
- package/dist/components/spinner/variants/clock.js +18 -0
- package/dist/components/spinner/variants/clock.module.js +8 -0
- package/dist/components/spinner/variants/comet.css +1 -0
- package/dist/components/spinner/variants/comet.d.ts +2 -0
- package/dist/components/spinner/variants/comet.js +33 -0
- package/dist/components/spinner/variants/comet.module.js +10 -0
- package/dist/components/spinner/variants/compass.css +1 -0
- package/dist/components/spinner/variants/compass.d.ts +2 -0
- package/dist/components/spinner/variants/compass.js +16 -0
- package/dist/components/spinner/variants/compass.module.js +8 -0
- package/dist/components/spinner/variants/dual.css +1 -0
- package/dist/components/spinner/variants/dual.d.ts +2 -0
- package/dist/components/spinner/variants/dual.js +25 -0
- package/dist/components/spinner/variants/dual.module.js +10 -0
- package/dist/components/spinner/variants/eclipse.css +1 -0
- package/dist/components/spinner/variants/eclipse.d.ts +6 -0
- package/dist/components/spinner/variants/eclipse.js +21 -0
- package/dist/components/spinner/variants/eclipse.module.js +9 -0
- package/dist/components/spinner/variants/flip.css +1 -0
- package/dist/components/spinner/variants/flip.d.ts +2 -0
- package/dist/components/spinner/variants/flip.js +17 -0
- package/dist/components/spinner/variants/flip.module.js +8 -0
- package/dist/components/spinner/variants/gather.css +1 -0
- package/dist/components/spinner/variants/gather.d.ts +2 -0
- package/dist/components/spinner/variants/gather.js +50 -0
- package/dist/components/spinner/variants/gather.module.js +11 -0
- package/dist/components/spinner/variants/index.d.ts +9 -1
- package/dist/components/spinner/variants/index.js +96 -10
- package/dist/components/spinner/variants/leap.css +1 -0
- package/dist/components/spinner/variants/leap.d.ts +6 -0
- package/dist/components/spinner/variants/leap.js +27 -0
- package/dist/components/spinner/variants/leap.module.js +8 -0
- package/dist/components/spinner/variants/linear-dots.css +1 -0
- package/dist/components/spinner/variants/linear-dots.d.ts +2 -0
- package/dist/components/spinner/variants/linear-dots.js +21 -0
- package/dist/components/spinner/variants/linear-dots.module.js +8 -0
- package/dist/components/spinner/variants/loading.css +1 -0
- package/dist/components/spinner/variants/loading.d.ts +2 -0
- package/dist/components/spinner/variants/loading.js +50 -0
- package/dist/components/spinner/variants/loading.module.js +8 -0
- package/dist/components/spinner/variants/morph.css +1 -0
- package/dist/components/spinner/variants/morph.d.ts +2 -0
- package/dist/components/spinner/variants/morph.js +17 -0
- package/dist/components/spinner/variants/morph.module.js +8 -0
- package/dist/components/spinner/variants/orbit.css +1 -0
- package/dist/components/spinner/variants/orbit.d.ts +2 -0
- package/dist/components/spinner/variants/orbit.js +24 -0
- package/dist/components/spinner/variants/orbit.module.js +8 -0
- package/dist/components/spinner/variants/pulse.css +1 -0
- package/dist/components/spinner/variants/pulse.d.ts +2 -0
- package/dist/components/spinner/variants/pulse.js +19 -0
- package/dist/components/spinner/variants/pulse.module.js +8 -0
- package/dist/components/spinner/variants/radar.css +1 -0
- package/dist/components/spinner/variants/radar.d.ts +2 -0
- package/dist/components/spinner/variants/radar.js +53 -0
- package/dist/components/spinner/variants/radar.module.js +8 -0
- package/dist/components/spinner/variants/ring.css +1 -0
- package/dist/components/spinner/variants/ring.d.ts +2 -0
- package/dist/components/spinner/variants/ring.js +24 -0
- package/dist/components/spinner/variants/ring.module.js +8 -0
- package/dist/components/spinner/variants/ripple.css +1 -0
- package/dist/components/spinner/variants/ripple.d.ts +2 -0
- package/dist/components/spinner/variants/ripple.js +23 -0
- package/dist/components/spinner/variants/ripple.module.js +8 -0
- package/dist/components/spinner/variants/slide.css +1 -0
- package/dist/components/spinner/variants/slide.d.ts +2 -0
- package/dist/components/spinner/variants/slide.js +24 -0
- package/dist/components/spinner/variants/slide.module.js +8 -0
- package/dist/components/spinner/variants/snake.css +1 -0
- package/dist/components/spinner/variants/snake.d.ts +2 -0
- package/dist/components/spinner/variants/snake.js +19 -0
- package/dist/components/spinner/variants/snake.module.js +11 -0
- package/dist/components/spinner/variants/swirl.css +1 -0
- package/dist/components/spinner/variants/swirl.d.ts +2 -0
- package/dist/components/spinner/variants/swirl.js +35 -0
- package/dist/components/spinner/variants/swirl.module.js +8 -0
- package/dist/components/spinner/variants/trace.css +1 -0
- package/dist/components/spinner/variants/trace.d.ts +2 -0
- package/dist/components/spinner/variants/trace.js +28 -0
- package/dist/components/spinner/variants/trace.module.js +8 -0
- package/dist/components/spinner/variants/wave.css +1 -0
- package/dist/components/spinner/variants/wave.d.ts +2 -0
- package/dist/components/spinner/variants/wave.js +25 -0
- package/dist/components/spinner/variants/wave.module.js +8 -0
- package/dist/components/stack/stack.css +1 -1
- package/dist/components/stack/stack.d.ts +15 -3
- package/dist/components/stack/stack.js +2 -1
- package/dist/components/surface/surface.css +1 -1
- package/dist/components/text/text.css +1 -1
- package/dist/components/text/text.d.ts +10 -2
- package/dist/components/title/title.d.ts +7 -0
- package/dist/index.js +2 -1
- package/dist/preflight.css +1 -1
- package/dist/specs/PROTOCOL.md +1 -1
- package/dist/specs/activity-hints.xml +4 -4
- package/dist/specs/components/accordion/props.xml +2 -2
- package/dist/specs/components/accordion/usage.xml +2 -0
- package/dist/specs/components/autocomplete/patterns.xml +4 -4
- package/dist/specs/components/autocomplete/props.xml +2 -2
- package/dist/specs/components/autocomplete/usage.xml +1 -1
- package/dist/specs/components/button/patterns.xml +2 -2
- package/dist/specs/components/button/props.xml +4 -4
- package/dist/specs/components/button/usage.xml +2 -1
- package/dist/specs/components/chip/patterns.xml +2 -2
- package/dist/specs/components/chip/props.xml +2 -2
- package/dist/specs/components/chip/usage.xml +2 -0
- package/dist/specs/components/direction-provider/a11y.xml +6 -0
- package/dist/specs/components/direction-provider/meta.xml +20 -0
- package/dist/specs/components/direction-provider/patterns.xml +27 -0
- package/dist/specs/components/direction-provider/props.xml +18 -0
- package/dist/specs/components/direction-provider/usage.xml +10 -0
- package/dist/specs/components/disclosure/patterns.xml +2 -2
- package/dist/specs/components/disclosure/props.xml +2 -2
- package/dist/specs/components/disclosure/usage.xml +2 -0
- package/dist/specs/components/glow/patterns.xml +1 -1
- package/dist/specs/components/grid/patterns.xml +3 -3
- package/dist/specs/components/icon-button/props.xml +4 -4
- package/dist/specs/components/icon-button/usage.xml +3 -1
- package/dist/specs/components/menu/patterns.xml +18 -18
- package/dist/specs/components/menu/props.xml +5 -5
- package/dist/specs/components/menu/usage.xml +3 -1
- package/dist/specs/components/meter/patterns.xml +1 -1
- package/dist/specs/components/progressive-blur/usage.xml +2 -0
- package/dist/specs/components/prose/meta.xml +1 -1
- package/dist/specs/components/prose/patterns.xml +34 -10
- package/dist/specs/components/prose/props.xml +3 -1
- package/dist/specs/components/prose/usage.xml +4 -1
- package/dist/specs/components/select/patterns.xml +2 -2
- package/dist/specs/components/select/props.xml +2 -2
- package/dist/specs/components/select/usage.xml +1 -0
- package/dist/specs/components/slider/patterns.xml +1 -1
- package/dist/specs/components/spinner/props.xml +1 -1
- package/dist/specs/components/spinner/usage.xml +1 -1
- package/dist/specs/components/stack/patterns.xml +102 -4
- package/dist/specs/components/stack/props.xml +9 -3
- package/dist/specs/components/stack/usage.xml +7 -3
- package/dist/specs/components/surface/patterns.xml +3 -3
- package/dist/specs/components/surface/usage.xml +1 -1
- package/dist/specs/components/tabs/patterns.xml +3 -3
- package/dist/specs/components/tabs/props.xml +1 -1
- package/dist/specs/components/tabs/usage.xml +2 -1
- package/dist/specs/components/text/meta.xml +2 -1
- package/dist/specs/components/text/patterns.xml +19 -16
- package/dist/specs/components/text/props.xml +8 -6
- package/dist/specs/components/text/usage.xml +9 -3
- package/dist/specs/components/textfield/patterns.xml +3 -3
- package/dist/specs/components/textfield/props.xml +2 -2
- package/dist/specs/components/textfield/usage.xml +2 -1
- package/dist/specs/components/title/meta.xml +2 -1
- package/dist/specs/components/title/patterns.xml +11 -10
- package/dist/specs/components/title/props.xml +5 -4
- package/dist/specs/components/title/usage.xml +8 -3
- package/dist/specs/components/toggle-button/patterns.xml +8 -8
- package/dist/specs/components/toggle-button/props.xml +3 -3
- package/dist/specs/components/toggle-button/usage.xml +2 -0
- package/dist/specs/components/toggle-group/patterns.xml +3 -3
- package/dist/specs/components/tooltip/patterns.xml +7 -7
- package/dist/specs/foundation/attributes.xml +24 -4
- package/dist/specs/foundation/bootstrap.xml +1 -1
- package/dist/specs/foundation/modules.xml +14 -5
- package/dist/specs/foundation/theme-topics.xml +3 -3
- package/dist/specs/foundation/toggles.xml +3 -3
- package/dist/specs/index.xml +14 -22
- package/dist/specs/patterns/compose-layout-first.xml +1 -1
- package/package.json +2 -2
- package/dist/components/spinner/variants/bars.d.ts +0 -2
- package/dist/components/spinner/variants/bars.js +0 -134
- package/dist/components/spinner/variants/dot-grid.css +0 -1
- package/dist/components/spinner/variants/dot-grid.d.ts +0 -2
- package/dist/components/spinner/variants/dot-grid.js +0 -57
- package/dist/components/spinner/variants/dot-grid.module.js +0 -16
- package/dist/components/spinner/variants/dots.d.ts +0 -2
- package/dist/components/spinner/variants/dots.js +0 -189
- package/dist/specs/patterns/equal-width-actions.xml +0 -22
- package/dist/specs/patterns/page-chrome.xml +0 -34
- package/dist/specs/patterns/stack-as-surface.xml +0 -37
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import './orbit.css';
|
|
2
|
+
import orbit_module_default from "./orbit.module.js";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/spinner/variants/orbit.tsx
|
|
5
|
+
var OrbitGlyph = () => /* @__PURE__ */ jsxs("g", { children: [/* @__PURE__ */ jsx("circle", {
|
|
6
|
+
cx: "12",
|
|
7
|
+
cy: "12",
|
|
8
|
+
r: "3",
|
|
9
|
+
fill: "currentColor"
|
|
10
|
+
}), /* @__PURE__ */ jsx("g", {
|
|
11
|
+
className: orbit_module_default.Track,
|
|
12
|
+
fill: "none",
|
|
13
|
+
stroke: "currentColor",
|
|
14
|
+
strokeWidth: "1.5",
|
|
15
|
+
strokeLinecap: "round",
|
|
16
|
+
children: /* @__PURE__ */ jsx("circle", {
|
|
17
|
+
cx: "12",
|
|
18
|
+
cy: "12",
|
|
19
|
+
r: "9",
|
|
20
|
+
strokeDasharray: "28 28.5"
|
|
21
|
+
})
|
|
22
|
+
})] });
|
|
23
|
+
//#endregion
|
|
24
|
+
export { OrbitGlyph as default };
|
|
@@ -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,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,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,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,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,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,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,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,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,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 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-stack-row-gap{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-column-gap{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-h-align{syntax:"*";inherits:false;initial-value:initial}@property --vui-stack-v-align{syntax:"*";inherits:false;initial-value:initial}@property --vui-stack-padding-inline-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-padding-inline-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-padding-block-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-padding-block-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-max-width{syntax:"*";inherits:false;initial-value:none}@property --vui-stack-min-width{syntax:"*";inherits:false;initial-value:none}.viraui__stack-module__Stack_NR-Ey{display:flex;gap:var(--vui-stack-row-gap) var(--vui-stack-column-gap);flex-direction:column;align-items:var(--vui-stack-h-align);justify-content:var(--vui-stack-v-align);max-inline-size:var(--vui-stack-max-width);min-inline-size:var(--vui-stack-min-width);&[data-stack-direction=column-reverse]{flex-direction:column-reverse}&[data-stack-direction=row-reverse],&[data-stack-direction=row]{align-items:var(--vui-stack-v-align);justify-content:var(--vui-stack-h-align)}&[data-stack-direction=row]{flex-direction:row}&[data-stack-direction=row-reverse]{flex-direction:row-reverse}&[data-stack-inline=true]{display:inline-flex;flex-grow:0}:where(&[data-stack-wrap=true]){flex-wrap:wrap}:where(&[data-stack-has-padding=true]){padding:var(--vui-stack-padding-block-start) var(--vui-stack-padding-inline-end) var(--vui-stack-padding-block-end) var(--vui-stack-padding-inline-start)}:where(&[data-stack-expand-children=true]>*){flex-grow:var(--vira-flex-grow,1)}&[data-stack-full-width=true]{inline-size:100%}&[data-stack-container=true]{container:stack/inline-size}}}
|
|
1
|
+
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-stack-row-gap{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-column-gap{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-h-align{syntax:"*";inherits:false;initial-value:initial}@property --vui-stack-v-align{syntax:"*";inherits:false;initial-value:initial}@property --vui-stack-padding-inline-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-padding-inline-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-padding-block-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-padding-block-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-stack-max-width{syntax:"*";inherits:false;initial-value:none}@property --vui-stack-min-width{syntax:"*";inherits:false;initial-value:none}.viraui__stack-module__Stack_NR-Ey{display:flex;gap:var(--vui-stack-row-gap) var(--vui-stack-column-gap);flex-direction:column;align-items:var(--vui-stack-h-align);justify-content:var(--vui-stack-v-align);max-inline-size:var(--vui-stack-max-width);min-inline-size:var(--vui-stack-min-width);&[data-stack-direction=column-reverse]{flex-direction:column-reverse}&[data-stack-direction=row-reverse],&[data-stack-direction=row]{align-items:var(--vui-stack-v-align);justify-content:var(--vui-stack-h-align)}&[data-stack-direction=row]{flex-direction:row}&[data-stack-direction=row-reverse]{flex-direction:row-reverse}&[data-stack-inline=true]{display:inline-flex;flex-grow:0}:where(&[data-stack-wrap=true]){flex-wrap:wrap}:where(&[data-stack-has-padding=true]){padding:var(--vui-stack-padding-block-start) var(--vui-stack-padding-inline-end) var(--vui-stack-padding-block-end) var(--vui-stack-padding-inline-start)}:where(&[data-stack-expand-children=true]>*){flex-grow:var(--vira-flex-grow,1)}&[data-stack-full-width=true]{inline-size:100%}&[data-stack-full-height=true]{block-size:100%}&[data-stack-container=true]{container:stack/inline-size}}}
|
|
@@ -47,8 +47,9 @@ export type StackProps = React.ComponentPropsWithoutRef<'div'> & {
|
|
|
47
47
|
* Makes direct children grow along the flex main axis (`flex-grow`).
|
|
48
48
|
*
|
|
49
49
|
* Prefer for equal-width row actions instead of inventing width/flex CSS on each child.
|
|
50
|
-
*
|
|
51
|
-
*
|
|
50
|
+
* Cross-axis fill stays on `hAlign` / `vAlign="stretch"` (which prop is cross depends on
|
|
51
|
+
* `direction`). Does not size this root — use `fullWidth` / `fullHeight` when the Stack must
|
|
52
|
+
* fill its parent first so stretch has room.
|
|
52
53
|
*
|
|
53
54
|
* @defaultValue false
|
|
54
55
|
*/
|
|
@@ -59,11 +60,22 @@ export type StackProps = React.ComponentPropsWithoutRef<'div'> & {
|
|
|
59
60
|
* Prefer this (with cross-axis stretch) so content-sized children like Button span a panel —
|
|
60
61
|
* do not add `width: 100%` CSS on those children.
|
|
61
62
|
* Use with `maxWidth` under a parent `hAlign="center"` for a fluid, capped, centered shell.
|
|
62
|
-
* Orthogonal to `expandChildren` (self size vs children grow).
|
|
63
|
+
* Orthogonal to `expandChildren` (self size vs children grow). Pair with `fullHeight` when the
|
|
64
|
+
* root must fill both parent axes.
|
|
63
65
|
*
|
|
64
66
|
* @defaultValue false
|
|
65
67
|
*/
|
|
66
68
|
fullWidth?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Sets `block-size: 100%` on the stack root so it fills the parent's block size.
|
|
71
|
+
*
|
|
72
|
+
* Prefer this over `style`/`className` `height` / `block-size: 100%` on this Stack.
|
|
73
|
+
* Pair with `expandChildren` and cross-axis `hAlign`/`vAlign="stretch"` so children fill both
|
|
74
|
+
* axes without per-child size CSS. Orthogonal to `expandChildren` and `fullWidth`.
|
|
75
|
+
*
|
|
76
|
+
* @defaultValue false
|
|
77
|
+
*/
|
|
78
|
+
fullHeight?: boolean;
|
|
67
79
|
/**
|
|
68
80
|
* Sets the gap between flex rows using the Vira space token scale.
|
|
69
81
|
*
|
|
@@ -5,7 +5,7 @@ import { resolveAxisPadding } from "../../core/styles/resolve-axis-padding.js";
|
|
|
5
5
|
import stack_module_default from "./stack.module.js";
|
|
6
6
|
import { useRender } from "@base-ui/react/use-render";
|
|
7
7
|
//#region src/components/stack/stack.tsx
|
|
8
|
-
var Stack = ({ className, direction = "column", expandChildren = false, fullWidth = false, hAlign = "initial", hPadding, inline = false, maxWidth, minWidth, enableContainer, ref, render, rowGap, columnGap, style, vAlign = "initial", vPadding, wrap = false, ...otherProps }) => {
|
|
8
|
+
var Stack = ({ className, direction = "column", expandChildren = false, fullHeight = false, fullWidth = false, hAlign = "initial", hPadding, inline = false, maxWidth, minWidth, enableContainer, ref, render, rowGap, columnGap, style, vAlign = "initial", vPadding, wrap = false, ...otherProps }) => {
|
|
9
9
|
const hasPadding = Boolean(hPadding || vPadding);
|
|
10
10
|
const dynamicStyle = {
|
|
11
11
|
"--vui-stack-row-gap": resolveThemeValue(rowGap, "space", 0),
|
|
@@ -30,6 +30,7 @@ var Stack = ({ className, direction = "column", expandChildren = false, fullWidt
|
|
|
30
30
|
"data-stack-wrap": wrap ? "true" : "false",
|
|
31
31
|
"data-stack-expand-children": expandChildren ? "true" : "false",
|
|
32
32
|
"data-stack-full-width": fullWidth ? "true" : "false",
|
|
33
|
+
"data-stack-full-height": fullHeight ? "true" : "false",
|
|
33
34
|
"data-stack-has-padding": hasPadding ? "true" : "false",
|
|
34
35
|
className: clsx(stack_module_default.Stack, className),
|
|
35
36
|
style: dynamicStyle
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
)}&[data-surface-hover-color=primary]{--vui-surface-background-hover:light-dark(
|
|
5
5
|
oklab(from var(--global-primary) l a b / 20%),
|
|
6
6
|
oklab(from var(--global-primary) l a b / 10%)
|
|
7
|
-
)}@container root not style(--effect-vibrancy: initial){&[data-vibrant]{background
|
|
7
|
+
)}@container root not style(--effect-vibrancy: initial){&[data-vibrant]{background:#0000}&[data-vibrant][data-surface-has-color=true]{background:oklab(from var(--vui-surface-background) l a b/80%)}}&[data-surface-has-padding=true]{padding:var(--vui-surface-padding-block-start) var(--vui-surface-padding-inline-end) var(--vui-surface-padding-block-end) var(--vui-surface-padding-inline-start)}&[data-surface-border]{border-style:var(--vui-surface-border-style);border-color:var(--global-contrast);border-left-width:0;border-bottom-width:0;border-right-width:0;border-top-width:0}&[data-surface-border~=all]{border-width:1px}&[data-surface-border~=top]{border-top-width:1px}&[data-surface-border~=right]{border-right-width:1px}&[data-surface-border~=bottom]{border-bottom-width:1px}&[data-surface-border~=left]{border-left-width:1px}@media (hover:hover) and (pointer:fine){&[data-surface-has-hover-color=true]:hover{background:var(--vui-surface-background-hover)}}&[data-surface-container=true]{container:surface/inline-size}}}
|
|
@@ -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=
|
|
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?: '
|
|
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.
|
|
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
|
*/
|