@hanzo/ui 8.27.46 → 8.27.48
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/backends/gui/control.cjs +18 -1
- package/dist/backends/gui/control.d.ts +33 -0
- package/dist/backends/gui/control.d.ts.map +1 -1
- package/dist/backends/gui/control.js +17 -0
- package/dist/backends/gui/control.js.map +1 -1
- package/dist/backends/gui/index.cjs +7 -6
- package/dist/backends/gui/index.d.ts +2 -1
- package/dist/backends/gui/index.d.ts.map +1 -1
- package/dist/backends/gui/index.js +1 -1
- package/dist/backends/gui/index.js.map +1 -1
- package/dist/backends/gui/input.cjs +10 -9
- package/dist/backends/gui/input.d.ts +6 -1
- package/dist/backends/gui/input.d.ts.map +1 -1
- package/dist/backends/gui/input.js +11 -10
- package/dist/backends/gui/input.js.map +1 -1
- package/dist/backends/gui/select.cjs +24 -1
- package/dist/backends/gui/select.d.ts +25 -2
- package/dist/backends/gui/select.d.ts.map +1 -1
- package/dist/backends/gui/select.js +26 -4
- package/dist/backends/gui/select.js.map +1 -1
- package/dist/backends/gui/textarea.cjs +5 -4
- package/dist/backends/gui/textarea.d.ts +7 -1
- package/dist/backends/gui/textarea.d.ts.map +1 -1
- package/dist/backends/gui/textarea.js +6 -5
- package/dist/backends/gui/textarea.js.map +1 -1
- package/dist/gallery.html +107 -7
- package/dist/index.cjs +8 -7
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +8 -7
- package/dist/index.node.js +1 -1
- package/dist/marketing/Cta.cjs +9 -3
- package/dist/marketing/Cta.d.ts +7 -5
- package/dist/marketing/Cta.d.ts.map +1 -1
- package/dist/marketing/Cta.js +10 -4
- package/dist/marketing/Cta.js.map +1 -1
- package/dist/marketing/controls.cjs +112 -0
- package/dist/marketing/controls.d.ts +42 -0
- package/dist/marketing/controls.d.ts.map +1 -0
- package/dist/marketing/controls.js +108 -0
- package/dist/marketing/controls.js.map +1 -0
- package/dist/marketing/document.cjs +7 -0
- package/dist/marketing/document.d.ts +22 -0
- package/dist/marketing/document.d.ts.map +1 -0
- package/dist/marketing/document.js +5 -0
- package/dist/marketing/document.js.map +1 -0
- package/dist/marketing/host.cjs +39 -0
- package/dist/marketing/host.d.ts +21 -0
- package/dist/marketing/host.d.ts.map +1 -0
- package/dist/marketing/host.js +35 -0
- package/dist/marketing/host.js.map +1 -0
- package/dist/marketing/index.cjs +24 -1
- package/dist/marketing/index.d.ts +8 -2
- package/dist/marketing/index.d.ts.map +1 -1
- package/dist/marketing/index.js +7 -1
- package/dist/marketing/index.js.map +1 -1
- package/dist/marketing/loose.cjs +2 -0
- package/dist/marketing/loose.d.ts +41 -0
- package/dist/marketing/loose.d.ts.map +1 -0
- package/dist/marketing/loose.js +2 -0
- package/dist/marketing/loose.js.map +1 -0
- package/dist/marketing/pager.cjs +22 -0
- package/dist/marketing/pager.d.ts +22 -0
- package/dist/marketing/pager.d.ts.map +1 -0
- package/dist/marketing/pager.js +20 -0
- package/dist/marketing/pager.js.map +1 -0
- package/dist/marketing/pair.cjs +21 -0
- package/dist/marketing/pair.d.ts +22 -0
- package/dist/marketing/pair.d.ts.map +1 -0
- package/dist/marketing/pair.js +19 -0
- package/dist/marketing/pair.js.map +1 -0
- package/dist/marketing/run.cjs +28 -0
- package/dist/marketing/run.d.ts +33 -0
- package/dist/marketing/run.d.ts.map +1 -0
- package/dist/marketing/run.js +26 -0
- package/dist/marketing/run.js.map +1 -0
- package/dist/marketing/surface.cjs +76 -0
- package/dist/marketing/surface.d.ts +59 -0
- package/dist/marketing/surface.d.ts.map +1 -0
- package/dist/marketing/surface.js +70 -0
- package/dist/marketing/surface.js.map +1 -0
- package/dist/marketing/type.cjs +29 -2
- package/dist/marketing/type.d.ts +43 -4
- package/dist/marketing/type.d.ts.map +1 -1
- package/dist/marketing/type.js +24 -1
- package/dist/marketing/type.js.map +1 -1
- package/dist/styles/document.css +93 -0
- package/dist/styles/motion.css +52 -2
- package/dist/styles.css +104 -4
- package/dist/theme.css +52 -2
- package/package.json +3 -2
package/dist/styles/motion.css
CHANGED
|
@@ -11,13 +11,15 @@
|
|
|
11
11
|
itself. Every animation is off under `prefers-reduced-motion: reduce`.
|
|
12
12
|
|
|
13
13
|
rise enter: fade up 10px over 400ms FadeIn, Timeline, tooltips
|
|
14
|
+
`data-beat="n"` staggers it n x 70ms
|
|
14
15
|
fade opacity eases 240ms SlideOver's scrim
|
|
15
16
|
slide transform eases 260ms SlideOver's panel
|
|
16
17
|
drag a row eases into place while one is held Reorder
|
|
17
18
|
pulse opacity dims and returns, 2s Pulse, StatusDot, Skeleton
|
|
18
19
|
blink on/off, 1s Caret
|
|
19
20
|
shimmer a highlight sweeps a placeholder product Skeleton
|
|
20
|
-
unfold a sheet turns open about its hinge unfold()
|
|
21
|
+
unfold a sheet turns open about its hinge unfold()
|
|
22
|
+
run a light sweeps a set, child by child Run */
|
|
21
23
|
|
|
22
24
|
@keyframes rise {
|
|
23
25
|
from {
|
|
@@ -35,6 +37,17 @@
|
|
|
35
37
|
will-change: transform, opacity;
|
|
36
38
|
}
|
|
37
39
|
|
|
40
|
+
/* A staged entrance: `data-beat="n"` holds a rise back n beats of 70ms, so a set
|
|
41
|
+
that arrives together still reads in order. Reduced motion drops the
|
|
42
|
+
animation and the delay with it, so nothing waits hidden. */
|
|
43
|
+
[data-motion='rise'][data-beat='1'] { animation-delay: 70ms; }
|
|
44
|
+
[data-motion='rise'][data-beat='2'] { animation-delay: 140ms; }
|
|
45
|
+
[data-motion='rise'][data-beat='3'] { animation-delay: 210ms; }
|
|
46
|
+
[data-motion='rise'][data-beat='4'] { animation-delay: 280ms; }
|
|
47
|
+
[data-motion='rise'][data-beat='5'] { animation-delay: 350ms; }
|
|
48
|
+
[data-motion='rise'][data-beat='6'] { animation-delay: 420ms; }
|
|
49
|
+
[data-motion='rise'][data-beat='7'] { animation-delay: 490ms; }
|
|
50
|
+
|
|
38
51
|
[data-motion='fade'] {
|
|
39
52
|
transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
40
53
|
will-change: opacity;
|
|
@@ -115,8 +128,45 @@
|
|
|
115
128
|
--turn: 7deg;
|
|
116
129
|
}
|
|
117
130
|
|
|
131
|
+
/* A run: a light crosses a set of things that are all true at once (`<Run>`).
|
|
132
|
+
Each direct child is lit `data-beat` steps of `--run-step` after the first;
|
|
133
|
+
the sweep owns `color` and returns it to `--run-rest`. */
|
|
134
|
+
@keyframes run {
|
|
135
|
+
0%,
|
|
136
|
+
26%,
|
|
137
|
+
100% {
|
|
138
|
+
color: var(--run-rest, var(--neutral-400));
|
|
139
|
+
border-color: var(--neutral-800);
|
|
140
|
+
}
|
|
141
|
+
8% {
|
|
142
|
+
color: var(--foreground);
|
|
143
|
+
border-color: var(--muted-foreground);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
[data-motion='run'] > * {
|
|
148
|
+
animation: run 5.4s var(--ease-in-out) infinite;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
[data-motion='run'] > [data-beat='1'] { animation-delay: calc(1 * var(--run-step, 0.22s)); }
|
|
152
|
+
[data-motion='run'] > [data-beat='2'] { animation-delay: calc(2 * var(--run-step, 0.22s)); }
|
|
153
|
+
[data-motion='run'] > [data-beat='3'] { animation-delay: calc(3 * var(--run-step, 0.22s)); }
|
|
154
|
+
[data-motion='run'] > [data-beat='4'] { animation-delay: calc(4 * var(--run-step, 0.22s)); }
|
|
155
|
+
[data-motion='run'] > [data-beat='5'] { animation-delay: calc(5 * var(--run-step, 0.22s)); }
|
|
156
|
+
[data-motion='run'] > [data-beat='6'] { animation-delay: calc(6 * var(--run-step, 0.22s)); }
|
|
157
|
+
[data-motion='run'] > [data-beat='7'] { animation-delay: calc(7 * var(--run-step, 0.22s)); }
|
|
158
|
+
[data-motion='run'] > [data-beat='8'] { animation-delay: calc(8 * var(--run-step, 0.22s)); }
|
|
159
|
+
[data-motion='run'] > [data-beat='9'] { animation-delay: calc(9 * var(--run-step, 0.22s)); }
|
|
160
|
+
[data-motion='run'] > [data-beat='10'] { animation-delay: calc(10 * var(--run-step, 0.22s)); }
|
|
161
|
+
[data-motion='run'] > [data-beat='11'] { animation-delay: calc(11 * var(--run-step, 0.22s)); }
|
|
162
|
+
[data-motion='run'] > [data-beat='12'] { animation-delay: calc(12 * var(--run-step, 0.22s)); }
|
|
163
|
+
[data-motion='run'] > [data-beat='13'] { animation-delay: calc(13 * var(--run-step, 0.22s)); }
|
|
164
|
+
[data-motion='run'] > [data-beat='14'] { animation-delay: calc(14 * var(--run-step, 0.22s)); }
|
|
165
|
+
[data-motion='run'] > [data-beat='15'] { animation-delay: calc(15 * var(--run-step, 0.22s)); }
|
|
166
|
+
|
|
118
167
|
@media (prefers-reduced-motion: reduce) {
|
|
119
|
-
[data-motion]
|
|
168
|
+
[data-motion],
|
|
169
|
+
[data-motion='run'] > * {
|
|
120
170
|
animation: none;
|
|
121
171
|
transition: none;
|
|
122
172
|
}
|
package/dist/styles.css
CHANGED
|
@@ -1819,13 +1819,15 @@
|
|
|
1819
1819
|
itself. Every animation is off under `prefers-reduced-motion: reduce`.
|
|
1820
1820
|
|
|
1821
1821
|
rise enter: fade up 10px over 400ms FadeIn, Timeline, tooltips
|
|
1822
|
+
`data-beat="n"` staggers it n x 70ms
|
|
1822
1823
|
fade opacity eases 240ms SlideOver's scrim
|
|
1823
1824
|
slide transform eases 260ms SlideOver's panel
|
|
1824
1825
|
drag a row eases into place while one is held Reorder
|
|
1825
1826
|
pulse opacity dims and returns, 2s Pulse, StatusDot, Skeleton
|
|
1826
1827
|
blink on/off, 1s Caret
|
|
1827
1828
|
shimmer a highlight sweeps a placeholder product Skeleton
|
|
1828
|
-
unfold a sheet turns open about its hinge unfold()
|
|
1829
|
+
unfold a sheet turns open about its hinge unfold()
|
|
1830
|
+
run a light sweeps a set, child by child Run */
|
|
1829
1831
|
|
|
1830
1832
|
@keyframes rise {
|
|
1831
1833
|
from {
|
|
@@ -1843,6 +1845,17 @@
|
|
|
1843
1845
|
will-change: transform, opacity;
|
|
1844
1846
|
}
|
|
1845
1847
|
|
|
1848
|
+
/* A staged entrance: `data-beat="n"` holds a rise back n beats of 70ms, so a set
|
|
1849
|
+
that arrives together still reads in order. Reduced motion drops the
|
|
1850
|
+
animation and the delay with it, so nothing waits hidden. */
|
|
1851
|
+
[data-motion='rise'][data-beat='1'] { animation-delay: 70ms; }
|
|
1852
|
+
[data-motion='rise'][data-beat='2'] { animation-delay: 140ms; }
|
|
1853
|
+
[data-motion='rise'][data-beat='3'] { animation-delay: 210ms; }
|
|
1854
|
+
[data-motion='rise'][data-beat='4'] { animation-delay: 280ms; }
|
|
1855
|
+
[data-motion='rise'][data-beat='5'] { animation-delay: 350ms; }
|
|
1856
|
+
[data-motion='rise'][data-beat='6'] { animation-delay: 420ms; }
|
|
1857
|
+
[data-motion='rise'][data-beat='7'] { animation-delay: 490ms; }
|
|
1858
|
+
|
|
1846
1859
|
[data-motion='fade'] {
|
|
1847
1860
|
transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
1848
1861
|
will-change: opacity;
|
|
@@ -1923,8 +1936,45 @@
|
|
|
1923
1936
|
--turn: 7deg;
|
|
1924
1937
|
}
|
|
1925
1938
|
|
|
1939
|
+
/* A run: a light crosses a set of things that are all true at once (`<Run>`).
|
|
1940
|
+
Each direct child is lit `data-beat` steps of `--run-step` after the first;
|
|
1941
|
+
the sweep owns `color` and returns it to `--run-rest`. */
|
|
1942
|
+
@keyframes run {
|
|
1943
|
+
0%,
|
|
1944
|
+
26%,
|
|
1945
|
+
100% {
|
|
1946
|
+
color: var(--run-rest, var(--neutral-400));
|
|
1947
|
+
border-color: var(--neutral-800);
|
|
1948
|
+
}
|
|
1949
|
+
8% {
|
|
1950
|
+
color: var(--foreground);
|
|
1951
|
+
border-color: var(--muted-foreground);
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
[data-motion='run'] > * {
|
|
1956
|
+
animation: run 5.4s var(--ease-in-out) infinite;
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
[data-motion='run'] > [data-beat='1'] { animation-delay: calc(1 * var(--run-step, 0.22s)); }
|
|
1960
|
+
[data-motion='run'] > [data-beat='2'] { animation-delay: calc(2 * var(--run-step, 0.22s)); }
|
|
1961
|
+
[data-motion='run'] > [data-beat='3'] { animation-delay: calc(3 * var(--run-step, 0.22s)); }
|
|
1962
|
+
[data-motion='run'] > [data-beat='4'] { animation-delay: calc(4 * var(--run-step, 0.22s)); }
|
|
1963
|
+
[data-motion='run'] > [data-beat='5'] { animation-delay: calc(5 * var(--run-step, 0.22s)); }
|
|
1964
|
+
[data-motion='run'] > [data-beat='6'] { animation-delay: calc(6 * var(--run-step, 0.22s)); }
|
|
1965
|
+
[data-motion='run'] > [data-beat='7'] { animation-delay: calc(7 * var(--run-step, 0.22s)); }
|
|
1966
|
+
[data-motion='run'] > [data-beat='8'] { animation-delay: calc(8 * var(--run-step, 0.22s)); }
|
|
1967
|
+
[data-motion='run'] > [data-beat='9'] { animation-delay: calc(9 * var(--run-step, 0.22s)); }
|
|
1968
|
+
[data-motion='run'] > [data-beat='10'] { animation-delay: calc(10 * var(--run-step, 0.22s)); }
|
|
1969
|
+
[data-motion='run'] > [data-beat='11'] { animation-delay: calc(11 * var(--run-step, 0.22s)); }
|
|
1970
|
+
[data-motion='run'] > [data-beat='12'] { animation-delay: calc(12 * var(--run-step, 0.22s)); }
|
|
1971
|
+
[data-motion='run'] > [data-beat='13'] { animation-delay: calc(13 * var(--run-step, 0.22s)); }
|
|
1972
|
+
[data-motion='run'] > [data-beat='14'] { animation-delay: calc(14 * var(--run-step, 0.22s)); }
|
|
1973
|
+
[data-motion='run'] > [data-beat='15'] { animation-delay: calc(15 * var(--run-step, 0.22s)); }
|
|
1974
|
+
|
|
1926
1975
|
@media (prefers-reduced-motion: reduce) {
|
|
1927
|
-
[data-motion]
|
|
1976
|
+
[data-motion],
|
|
1977
|
+
[data-motion='run'] > * {
|
|
1928
1978
|
animation: none;
|
|
1929
1979
|
transition: none;
|
|
1930
1980
|
}
|
|
@@ -2500,13 +2550,15 @@ a svg,
|
|
|
2500
2550
|
itself. Every animation is off under `prefers-reduced-motion: reduce`.
|
|
2501
2551
|
|
|
2502
2552
|
rise enter: fade up 10px over 400ms FadeIn, Timeline, tooltips
|
|
2553
|
+
`data-beat="n"` staggers it n x 70ms
|
|
2503
2554
|
fade opacity eases 240ms SlideOver's scrim
|
|
2504
2555
|
slide transform eases 260ms SlideOver's panel
|
|
2505
2556
|
drag a row eases into place while one is held Reorder
|
|
2506
2557
|
pulse opacity dims and returns, 2s Pulse, StatusDot, Skeleton
|
|
2507
2558
|
blink on/off, 1s Caret
|
|
2508
2559
|
shimmer a highlight sweeps a placeholder product Skeleton
|
|
2509
|
-
unfold a sheet turns open about its hinge unfold()
|
|
2560
|
+
unfold a sheet turns open about its hinge unfold()
|
|
2561
|
+
run a light sweeps a set, child by child Run */
|
|
2510
2562
|
|
|
2511
2563
|
@keyframes rise {
|
|
2512
2564
|
from {
|
|
@@ -2524,6 +2576,17 @@ a svg,
|
|
|
2524
2576
|
will-change: transform, opacity;
|
|
2525
2577
|
}
|
|
2526
2578
|
|
|
2579
|
+
/* A staged entrance: `data-beat="n"` holds a rise back n beats of 70ms, so a set
|
|
2580
|
+
that arrives together still reads in order. Reduced motion drops the
|
|
2581
|
+
animation and the delay with it, so nothing waits hidden. */
|
|
2582
|
+
[data-motion='rise'][data-beat='1'] { animation-delay: 70ms; }
|
|
2583
|
+
[data-motion='rise'][data-beat='2'] { animation-delay: 140ms; }
|
|
2584
|
+
[data-motion='rise'][data-beat='3'] { animation-delay: 210ms; }
|
|
2585
|
+
[data-motion='rise'][data-beat='4'] { animation-delay: 280ms; }
|
|
2586
|
+
[data-motion='rise'][data-beat='5'] { animation-delay: 350ms; }
|
|
2587
|
+
[data-motion='rise'][data-beat='6'] { animation-delay: 420ms; }
|
|
2588
|
+
[data-motion='rise'][data-beat='7'] { animation-delay: 490ms; }
|
|
2589
|
+
|
|
2527
2590
|
[data-motion='fade'] {
|
|
2528
2591
|
transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
2529
2592
|
will-change: opacity;
|
|
@@ -2604,8 +2667,45 @@ a svg,
|
|
|
2604
2667
|
--turn: 7deg;
|
|
2605
2668
|
}
|
|
2606
2669
|
|
|
2670
|
+
/* A run: a light crosses a set of things that are all true at once (`<Run>`).
|
|
2671
|
+
Each direct child is lit `data-beat` steps of `--run-step` after the first;
|
|
2672
|
+
the sweep owns `color` and returns it to `--run-rest`. */
|
|
2673
|
+
@keyframes run {
|
|
2674
|
+
0%,
|
|
2675
|
+
26%,
|
|
2676
|
+
100% {
|
|
2677
|
+
color: var(--run-rest, var(--neutral-400));
|
|
2678
|
+
border-color: var(--neutral-800);
|
|
2679
|
+
}
|
|
2680
|
+
8% {
|
|
2681
|
+
color: var(--foreground);
|
|
2682
|
+
border-color: var(--muted-foreground);
|
|
2683
|
+
}
|
|
2684
|
+
}
|
|
2685
|
+
|
|
2686
|
+
[data-motion='run'] > * {
|
|
2687
|
+
animation: run 5.4s var(--ease-in-out) infinite;
|
|
2688
|
+
}
|
|
2689
|
+
|
|
2690
|
+
[data-motion='run'] > [data-beat='1'] { animation-delay: calc(1 * var(--run-step, 0.22s)); }
|
|
2691
|
+
[data-motion='run'] > [data-beat='2'] { animation-delay: calc(2 * var(--run-step, 0.22s)); }
|
|
2692
|
+
[data-motion='run'] > [data-beat='3'] { animation-delay: calc(3 * var(--run-step, 0.22s)); }
|
|
2693
|
+
[data-motion='run'] > [data-beat='4'] { animation-delay: calc(4 * var(--run-step, 0.22s)); }
|
|
2694
|
+
[data-motion='run'] > [data-beat='5'] { animation-delay: calc(5 * var(--run-step, 0.22s)); }
|
|
2695
|
+
[data-motion='run'] > [data-beat='6'] { animation-delay: calc(6 * var(--run-step, 0.22s)); }
|
|
2696
|
+
[data-motion='run'] > [data-beat='7'] { animation-delay: calc(7 * var(--run-step, 0.22s)); }
|
|
2697
|
+
[data-motion='run'] > [data-beat='8'] { animation-delay: calc(8 * var(--run-step, 0.22s)); }
|
|
2698
|
+
[data-motion='run'] > [data-beat='9'] { animation-delay: calc(9 * var(--run-step, 0.22s)); }
|
|
2699
|
+
[data-motion='run'] > [data-beat='10'] { animation-delay: calc(10 * var(--run-step, 0.22s)); }
|
|
2700
|
+
[data-motion='run'] > [data-beat='11'] { animation-delay: calc(11 * var(--run-step, 0.22s)); }
|
|
2701
|
+
[data-motion='run'] > [data-beat='12'] { animation-delay: calc(12 * var(--run-step, 0.22s)); }
|
|
2702
|
+
[data-motion='run'] > [data-beat='13'] { animation-delay: calc(13 * var(--run-step, 0.22s)); }
|
|
2703
|
+
[data-motion='run'] > [data-beat='14'] { animation-delay: calc(14 * var(--run-step, 0.22s)); }
|
|
2704
|
+
[data-motion='run'] > [data-beat='15'] { animation-delay: calc(15 * var(--run-step, 0.22s)); }
|
|
2705
|
+
|
|
2607
2706
|
@media (prefers-reduced-motion: reduce) {
|
|
2608
|
-
[data-motion]
|
|
2707
|
+
[data-motion],
|
|
2708
|
+
[data-motion='run'] > * {
|
|
2609
2709
|
animation: none;
|
|
2610
2710
|
transition: none;
|
|
2611
2711
|
}
|
package/dist/theme.css
CHANGED
|
@@ -1817,13 +1817,15 @@
|
|
|
1817
1817
|
itself. Every animation is off under `prefers-reduced-motion: reduce`.
|
|
1818
1818
|
|
|
1819
1819
|
rise enter: fade up 10px over 400ms FadeIn, Timeline, tooltips
|
|
1820
|
+
`data-beat="n"` staggers it n x 70ms
|
|
1820
1821
|
fade opacity eases 240ms SlideOver's scrim
|
|
1821
1822
|
slide transform eases 260ms SlideOver's panel
|
|
1822
1823
|
drag a row eases into place while one is held Reorder
|
|
1823
1824
|
pulse opacity dims and returns, 2s Pulse, StatusDot, Skeleton
|
|
1824
1825
|
blink on/off, 1s Caret
|
|
1825
1826
|
shimmer a highlight sweeps a placeholder product Skeleton
|
|
1826
|
-
unfold a sheet turns open about its hinge unfold()
|
|
1827
|
+
unfold a sheet turns open about its hinge unfold()
|
|
1828
|
+
run a light sweeps a set, child by child Run */
|
|
1827
1829
|
|
|
1828
1830
|
@keyframes rise {
|
|
1829
1831
|
from {
|
|
@@ -1841,6 +1843,17 @@
|
|
|
1841
1843
|
will-change: transform, opacity;
|
|
1842
1844
|
}
|
|
1843
1845
|
|
|
1846
|
+
/* A staged entrance: `data-beat="n"` holds a rise back n beats of 70ms, so a set
|
|
1847
|
+
that arrives together still reads in order. Reduced motion drops the
|
|
1848
|
+
animation and the delay with it, so nothing waits hidden. */
|
|
1849
|
+
[data-motion='rise'][data-beat='1'] { animation-delay: 70ms; }
|
|
1850
|
+
[data-motion='rise'][data-beat='2'] { animation-delay: 140ms; }
|
|
1851
|
+
[data-motion='rise'][data-beat='3'] { animation-delay: 210ms; }
|
|
1852
|
+
[data-motion='rise'][data-beat='4'] { animation-delay: 280ms; }
|
|
1853
|
+
[data-motion='rise'][data-beat='5'] { animation-delay: 350ms; }
|
|
1854
|
+
[data-motion='rise'][data-beat='6'] { animation-delay: 420ms; }
|
|
1855
|
+
[data-motion='rise'][data-beat='7'] { animation-delay: 490ms; }
|
|
1856
|
+
|
|
1844
1857
|
[data-motion='fade'] {
|
|
1845
1858
|
transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
1846
1859
|
will-change: opacity;
|
|
@@ -1921,8 +1934,45 @@
|
|
|
1921
1934
|
--turn: 7deg;
|
|
1922
1935
|
}
|
|
1923
1936
|
|
|
1937
|
+
/* A run: a light crosses a set of things that are all true at once (`<Run>`).
|
|
1938
|
+
Each direct child is lit `data-beat` steps of `--run-step` after the first;
|
|
1939
|
+
the sweep owns `color` and returns it to `--run-rest`. */
|
|
1940
|
+
@keyframes run {
|
|
1941
|
+
0%,
|
|
1942
|
+
26%,
|
|
1943
|
+
100% {
|
|
1944
|
+
color: var(--run-rest, var(--neutral-400));
|
|
1945
|
+
border-color: var(--neutral-800);
|
|
1946
|
+
}
|
|
1947
|
+
8% {
|
|
1948
|
+
color: var(--foreground);
|
|
1949
|
+
border-color: var(--muted-foreground);
|
|
1950
|
+
}
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1953
|
+
[data-motion='run'] > * {
|
|
1954
|
+
animation: run 5.4s var(--ease-in-out) infinite;
|
|
1955
|
+
}
|
|
1956
|
+
|
|
1957
|
+
[data-motion='run'] > [data-beat='1'] { animation-delay: calc(1 * var(--run-step, 0.22s)); }
|
|
1958
|
+
[data-motion='run'] > [data-beat='2'] { animation-delay: calc(2 * var(--run-step, 0.22s)); }
|
|
1959
|
+
[data-motion='run'] > [data-beat='3'] { animation-delay: calc(3 * var(--run-step, 0.22s)); }
|
|
1960
|
+
[data-motion='run'] > [data-beat='4'] { animation-delay: calc(4 * var(--run-step, 0.22s)); }
|
|
1961
|
+
[data-motion='run'] > [data-beat='5'] { animation-delay: calc(5 * var(--run-step, 0.22s)); }
|
|
1962
|
+
[data-motion='run'] > [data-beat='6'] { animation-delay: calc(6 * var(--run-step, 0.22s)); }
|
|
1963
|
+
[data-motion='run'] > [data-beat='7'] { animation-delay: calc(7 * var(--run-step, 0.22s)); }
|
|
1964
|
+
[data-motion='run'] > [data-beat='8'] { animation-delay: calc(8 * var(--run-step, 0.22s)); }
|
|
1965
|
+
[data-motion='run'] > [data-beat='9'] { animation-delay: calc(9 * var(--run-step, 0.22s)); }
|
|
1966
|
+
[data-motion='run'] > [data-beat='10'] { animation-delay: calc(10 * var(--run-step, 0.22s)); }
|
|
1967
|
+
[data-motion='run'] > [data-beat='11'] { animation-delay: calc(11 * var(--run-step, 0.22s)); }
|
|
1968
|
+
[data-motion='run'] > [data-beat='12'] { animation-delay: calc(12 * var(--run-step, 0.22s)); }
|
|
1969
|
+
[data-motion='run'] > [data-beat='13'] { animation-delay: calc(13 * var(--run-step, 0.22s)); }
|
|
1970
|
+
[data-motion='run'] > [data-beat='14'] { animation-delay: calc(14 * var(--run-step, 0.22s)); }
|
|
1971
|
+
[data-motion='run'] > [data-beat='15'] { animation-delay: calc(15 * var(--run-step, 0.22s)); }
|
|
1972
|
+
|
|
1924
1973
|
@media (prefers-reduced-motion: reduce) {
|
|
1925
|
-
[data-motion]
|
|
1974
|
+
[data-motion],
|
|
1975
|
+
[data-motion='run'] > * {
|
|
1926
1976
|
animation: none;
|
|
1927
1977
|
transition: none;
|
|
1928
1978
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzo/ui",
|
|
3
|
-
"version": "8.27.
|
|
3
|
+
"version": "8.27.48",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
|
|
6
6
|
"exports": {
|
|
@@ -247,6 +247,7 @@
|
|
|
247
247
|
"default": "./dist/telemetry.js"
|
|
248
248
|
},
|
|
249
249
|
"./styles/motion.css": "./dist/styles/motion.css",
|
|
250
|
+
"./styles/document.css": "./dist/styles/document.css",
|
|
250
251
|
"./package.json": "./package.json",
|
|
251
252
|
"./tw": {
|
|
252
253
|
"types": "./dist/tw.d.ts",
|
|
@@ -412,7 +413,7 @@
|
|
|
412
413
|
"license": "Apache-2.0 OR MIT",
|
|
413
414
|
"author": "Hanzo AI <dev@hanzo.ai>",
|
|
414
415
|
"scripts": {
|
|
415
|
-
"build": "rm -rf dist dist-cjs && tsc -p tsconfig.build.json && tsc -p tsconfig.cjs.json --noCheck && mkdir -p dist/styles && node scripts/compose-theme.mjs && cp src/styles/motion.css dist/styles/motion.css && cp src/next.cjs dist/next.cjs && node scripts/postbuild.mjs && node scripts/gen-css.mjs",
|
|
416
|
+
"build": "rm -rf dist dist-cjs && tsc -p tsconfig.build.json && tsc -p tsconfig.cjs.json --noCheck && mkdir -p dist/styles && node scripts/compose-theme.mjs && cp src/styles/motion.css dist/styles/motion.css && cp src/styles/document.css dist/styles/document.css && cp src/next.cjs dist/next.cjs && node scripts/postbuild.mjs && node scripts/gen-css.mjs",
|
|
416
417
|
"clean": "rm -rf dist dist-cjs types",
|
|
417
418
|
"gen:primitives": "node scripts/gen-primitives.mjs",
|
|
418
419
|
"tc": "tsc --noEmit",
|