@hanzo/ui 8.2.2 → 8.3.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/gallery.html CHANGED
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.2.2</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
1
+ <!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.3.0</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
2
2
  :root { --hanzo-ui-styles: 1; }
3
3
  /* Hanzo Design System — the entry point. Import THIS one file.
4
4
  *
@@ -1898,48 +1898,41 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
1898
1898
  }
1899
1899
  }
1900
1900
 
1901
- .hz-fade-up,
1902
- .fade-up {
1901
+ .hz-fade-up {
1903
1902
  animation: hz-fade-up 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
1904
1903
  will-change: transform, opacity;
1905
1904
  }
1906
1905
 
1907
1906
  @media (prefers-reduced-motion: reduce) {
1908
- .hz-fade-up,
1909
- .fade-up {
1907
+ .hz-fade-up {
1910
1908
  animation: none;
1911
1909
  }
1912
1910
  }
1913
1911
 
1914
1912
  /* Shell chrome motion — sidebar collapse (width) and the Linear-style two-level
1915
1913
  nav slide (transform); backdrop cross-fade behind a SlideOver / dialog. */
1916
- .hz-collapse,
1917
- .collapse {
1914
+ .hz-collapse {
1918
1915
  transition: width 220ms cubic-bezier(0.16, 1, 0.3, 1);
1919
1916
  will-change: width;
1920
1917
  }
1921
1918
 
1922
- .hz-slide,
1923
- .slide {
1919
+ .hz-slide {
1924
1920
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
1925
1921
  will-change: transform;
1926
1922
  }
1927
1923
 
1928
- .hz-fade,
1929
- .fade {
1924
+ .hz-fade {
1930
1925
  transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1);
1931
1926
  will-change: opacity;
1932
1927
  }
1933
1928
 
1934
1929
  /* Drag-to-reorder — a pinned row while it is being dragged (pointer DnD). The
1935
1930
  lifted row gets a subtle lift; siblings ease into place via `.hz-slide`. */
1936
- .hz-drag,
1937
- .drag {
1931
+ .hz-drag {
1938
1932
  touch-action: none;
1939
1933
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
1940
1934
  }
1941
- .hz-drag[data-dragging='true'],
1942
- .drag[data-dragging='true'] {
1935
+ .hz-drag[data-dragging='true'] {
1943
1936
  transition: none;
1944
1937
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
1945
1938
  opacity: 0.96;
@@ -1948,13 +1941,9 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
1948
1941
 
1949
1942
  @media (prefers-reduced-motion: reduce) {
1950
1943
  .hz-collapse,
1951
- .collapse,
1952
1944
  .hz-slide,
1953
- .slide,
1954
1945
  .hz-fade,
1955
- .fade,
1956
- .hz-drag,
1957
- .drag {
1946
+ .hz-drag {
1958
1947
  transition: none;
1959
1948
  }
1960
1949
  }
@@ -1974,8 +1963,7 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
1974
1963
  }
1975
1964
  }
1976
1965
 
1977
- .hz-skeleton,
1978
- .skeleton {
1966
+ .hz-skeleton {
1979
1967
  background-color: var(--color3, rgba(128, 128, 128, 0.14));
1980
1968
  background-image: linear-gradient(
1981
1969
  90deg,
@@ -2013,18 +2001,15 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
2013
2001
  }
2014
2002
  }
2015
2003
 
2016
- .hz-row-in,
2017
- .row-in {
2004
+ .hz-row-in {
2018
2005
  animation: hz-row-in 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
2019
2006
  }
2020
2007
 
2021
2008
  @media (prefers-reduced-motion: reduce) {
2022
- .hz-skeleton,
2023
- .skeleton {
2009
+ .hz-skeleton {
2024
2010
  animation: none;
2025
2011
  }
2026
- .hz-row-in,
2027
- .row-in {
2012
+ .hz-row-in {
2028
2013
  animation: none;
2029
2014
  }
2030
2015
  }
@@ -2037,16 +2022,14 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
2037
2022
  correctly. The elevation/ring variables fall back to sane values, so a host
2038
2023
  that defines its own `--hz-*` theme tokens (the console does) still wins. */
2039
2024
 
2040
- .hz-tnum,
2041
- .tnum {
2025
+ .hz-tnum {
2042
2026
  font-variant-numeric: tabular-nums;
2043
2027
  font-feature-settings: 'tnum' 1;
2044
2028
  }
2045
2029
 
2046
2030
  /* Data/numeric face — Geist Mono + tabular figures for metric values, prices, IDs
2047
2031
  and counts, so numbers read as precise, column-aligned data. */
2048
- .hz-mono,
2049
- .mono {
2032
+ .hz-mono {
2050
2033
  font-family: var(--font-mono, 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
2051
2034
  font-variant-numeric: tabular-nums;
2052
2035
  font-feature-settings: 'tnum' 1;
@@ -2066,8 +2049,7 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
2066
2049
  order — so paper lost its drop on dark exactly the way the rungs did. The
2067
2050
  fallback stays because this sheet ships on its own: a host that imports
2068
2051
  motion.css without glass.css has no ladder to read. */
2069
- .hz-paper,
2070
- .paper {
2052
+ .hz-paper {
2071
2053
  box-shadow: var(--shadow-inset-hairline, inset 0 0 0 1px rgb(255 255 255 / .10)),
2072
2054
  var(--edge-highlight, inset 0 1px 0 0 rgb(255 255 255 / .10)),
2073
2055
  var(--glass-shadow-2, 0 10px 15px -3px rgb(0 0 0 / .55), 0 4px 6px -4px rgb(0 0 0 / .55));
@@ -2082,20 +2064,17 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
2082
2064
  }
2083
2065
  }
2084
2066
 
2085
- .hz-menu-in,
2086
- .menu-in {
2067
+ .hz-menu-in {
2087
2068
  animation: hz-menu-in 140ms ease-out both;
2088
2069
  will-change: opacity;
2089
2070
  }
2090
2071
 
2091
- .hz-row,
2092
- .row {
2072
+ .hz-row {
2093
2073
  transition: background-color 140ms ease-out;
2094
2074
  }
2095
2075
 
2096
2076
  @media (prefers-reduced-motion: reduce) {
2097
- .hz-menu-in,
2098
- .menu-in {
2077
+ .hz-menu-in {
2099
2078
  animation: none;
2100
2079
  }
2101
2080
  }
@@ -36,48 +36,41 @@
36
36
  }
37
37
  }
38
38
 
39
- .hz-fade-up,
40
- .fade-up {
39
+ .hz-fade-up {
41
40
  animation: hz-fade-up 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
42
41
  will-change: transform, opacity;
43
42
  }
44
43
 
45
44
  @media (prefers-reduced-motion: reduce) {
46
- .hz-fade-up,
47
- .fade-up {
45
+ .hz-fade-up {
48
46
  animation: none;
49
47
  }
50
48
  }
51
49
 
52
50
  /* Shell chrome motion — sidebar collapse (width) and the Linear-style two-level
53
51
  nav slide (transform); backdrop cross-fade behind a SlideOver / dialog. */
54
- .hz-collapse,
55
- .collapse {
52
+ .hz-collapse {
56
53
  transition: width 220ms cubic-bezier(0.16, 1, 0.3, 1);
57
54
  will-change: width;
58
55
  }
59
56
 
60
- .hz-slide,
61
- .slide {
57
+ .hz-slide {
62
58
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
63
59
  will-change: transform;
64
60
  }
65
61
 
66
- .hz-fade,
67
- .fade {
62
+ .hz-fade {
68
63
  transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1);
69
64
  will-change: opacity;
70
65
  }
71
66
 
72
67
  /* Drag-to-reorder — a pinned row while it is being dragged (pointer DnD). The
73
68
  lifted row gets a subtle lift; siblings ease into place via `.hz-slide`. */
74
- .hz-drag,
75
- .drag {
69
+ .hz-drag {
76
70
  touch-action: none;
77
71
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
78
72
  }
79
- .hz-drag[data-dragging='true'],
80
- .drag[data-dragging='true'] {
73
+ .hz-drag[data-dragging='true'] {
81
74
  transition: none;
82
75
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
83
76
  opacity: 0.96;
@@ -86,13 +79,9 @@
86
79
 
87
80
  @media (prefers-reduced-motion: reduce) {
88
81
  .hz-collapse,
89
- .collapse,
90
82
  .hz-slide,
91
- .slide,
92
83
  .hz-fade,
93
- .fade,
94
- .hz-drag,
95
- .drag {
84
+ .hz-drag {
96
85
  transition: none;
97
86
  }
98
87
  }
@@ -112,8 +101,7 @@
112
101
  }
113
102
  }
114
103
 
115
- .hz-skeleton,
116
- .skeleton {
104
+ .hz-skeleton {
117
105
  background-color: var(--color3, rgba(128, 128, 128, 0.14));
118
106
  background-image: linear-gradient(
119
107
  90deg,
@@ -151,18 +139,15 @@
151
139
  }
152
140
  }
153
141
 
154
- .hz-row-in,
155
- .row-in {
142
+ .hz-row-in {
156
143
  animation: hz-row-in 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
157
144
  }
158
145
 
159
146
  @media (prefers-reduced-motion: reduce) {
160
- .hz-skeleton,
161
- .skeleton {
147
+ .hz-skeleton {
162
148
  animation: none;
163
149
  }
164
- .hz-row-in,
165
- .row-in {
150
+ .hz-row-in {
166
151
  animation: none;
167
152
  }
168
153
  }
@@ -175,16 +160,14 @@
175
160
  correctly. The elevation/ring variables fall back to sane values, so a host
176
161
  that defines its own `--hz-*` theme tokens (the console does) still wins. */
177
162
 
178
- .hz-tnum,
179
- .tnum {
163
+ .hz-tnum {
180
164
  font-variant-numeric: tabular-nums;
181
165
  font-feature-settings: 'tnum' 1;
182
166
  }
183
167
 
184
168
  /* Data/numeric face — Geist Mono + tabular figures for metric values, prices, IDs
185
169
  and counts, so numbers read as precise, column-aligned data. */
186
- .hz-mono,
187
- .mono {
170
+ .hz-mono {
188
171
  font-family: var(--font-mono, 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
189
172
  font-variant-numeric: tabular-nums;
190
173
  font-feature-settings: 'tnum' 1;
@@ -204,8 +187,7 @@
204
187
  order — so paper lost its drop on dark exactly the way the rungs did. The
205
188
  fallback stays because this sheet ships on its own: a host that imports
206
189
  motion.css without glass.css has no ladder to read. */
207
- .hz-paper,
208
- .paper {
190
+ .hz-paper {
209
191
  box-shadow: var(--shadow-inset-hairline, inset 0 0 0 1px rgb(255 255 255 / .10)),
210
192
  var(--edge-highlight, inset 0 1px 0 0 rgb(255 255 255 / .10)),
211
193
  var(--glass-shadow-2, 0 10px 15px -3px rgb(0 0 0 / .55), 0 4px 6px -4px rgb(0 0 0 / .55));
@@ -220,20 +202,17 @@
220
202
  }
221
203
  }
222
204
 
223
- .hz-menu-in,
224
- .menu-in {
205
+ .hz-menu-in {
225
206
  animation: hz-menu-in 140ms ease-out both;
226
207
  will-change: opacity;
227
208
  }
228
209
 
229
- .hz-row,
230
- .row {
210
+ .hz-row {
231
211
  transition: background-color 140ms ease-out;
232
212
  }
233
213
 
234
214
  @media (prefers-reduced-motion: reduce) {
235
- .hz-menu-in,
236
- .menu-in {
215
+ .hz-menu-in {
237
216
  animation: none;
238
217
  }
239
218
  }
package/dist/styles.css CHANGED
@@ -1898,48 +1898,41 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
1898
1898
  }
1899
1899
  }
1900
1900
 
1901
- .hz-fade-up,
1902
- .fade-up {
1901
+ .hz-fade-up {
1903
1902
  animation: hz-fade-up 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
1904
1903
  will-change: transform, opacity;
1905
1904
  }
1906
1905
 
1907
1906
  @media (prefers-reduced-motion: reduce) {
1908
- .hz-fade-up,
1909
- .fade-up {
1907
+ .hz-fade-up {
1910
1908
  animation: none;
1911
1909
  }
1912
1910
  }
1913
1911
 
1914
1912
  /* Shell chrome motion — sidebar collapse (width) and the Linear-style two-level
1915
1913
  nav slide (transform); backdrop cross-fade behind a SlideOver / dialog. */
1916
- .hz-collapse,
1917
- .collapse {
1914
+ .hz-collapse {
1918
1915
  transition: width 220ms cubic-bezier(0.16, 1, 0.3, 1);
1919
1916
  will-change: width;
1920
1917
  }
1921
1918
 
1922
- .hz-slide,
1923
- .slide {
1919
+ .hz-slide {
1924
1920
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
1925
1921
  will-change: transform;
1926
1922
  }
1927
1923
 
1928
- .hz-fade,
1929
- .fade {
1924
+ .hz-fade {
1930
1925
  transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1);
1931
1926
  will-change: opacity;
1932
1927
  }
1933
1928
 
1934
1929
  /* Drag-to-reorder — a pinned row while it is being dragged (pointer DnD). The
1935
1930
  lifted row gets a subtle lift; siblings ease into place via `.hz-slide`. */
1936
- .hz-drag,
1937
- .drag {
1931
+ .hz-drag {
1938
1932
  touch-action: none;
1939
1933
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
1940
1934
  }
1941
- .hz-drag[data-dragging='true'],
1942
- .drag[data-dragging='true'] {
1935
+ .hz-drag[data-dragging='true'] {
1943
1936
  transition: none;
1944
1937
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
1945
1938
  opacity: 0.96;
@@ -1948,13 +1941,9 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
1948
1941
 
1949
1942
  @media (prefers-reduced-motion: reduce) {
1950
1943
  .hz-collapse,
1951
- .collapse,
1952
1944
  .hz-slide,
1953
- .slide,
1954
1945
  .hz-fade,
1955
- .fade,
1956
- .hz-drag,
1957
- .drag {
1946
+ .hz-drag {
1958
1947
  transition: none;
1959
1948
  }
1960
1949
  }
@@ -1974,8 +1963,7 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
1974
1963
  }
1975
1964
  }
1976
1965
 
1977
- .hz-skeleton,
1978
- .skeleton {
1966
+ .hz-skeleton {
1979
1967
  background-color: var(--color3, rgba(128, 128, 128, 0.14));
1980
1968
  background-image: linear-gradient(
1981
1969
  90deg,
@@ -2013,18 +2001,15 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
2013
2001
  }
2014
2002
  }
2015
2003
 
2016
- .hz-row-in,
2017
- .row-in {
2004
+ .hz-row-in {
2018
2005
  animation: hz-row-in 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
2019
2006
  }
2020
2007
 
2021
2008
  @media (prefers-reduced-motion: reduce) {
2022
- .hz-skeleton,
2023
- .skeleton {
2009
+ .hz-skeleton {
2024
2010
  animation: none;
2025
2011
  }
2026
- .hz-row-in,
2027
- .row-in {
2012
+ .hz-row-in {
2028
2013
  animation: none;
2029
2014
  }
2030
2015
  }
@@ -2037,16 +2022,14 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
2037
2022
  correctly. The elevation/ring variables fall back to sane values, so a host
2038
2023
  that defines its own `--hz-*` theme tokens (the console does) still wins. */
2039
2024
 
2040
- .hz-tnum,
2041
- .tnum {
2025
+ .hz-tnum {
2042
2026
  font-variant-numeric: tabular-nums;
2043
2027
  font-feature-settings: 'tnum' 1;
2044
2028
  }
2045
2029
 
2046
2030
  /* Data/numeric face — Geist Mono + tabular figures for metric values, prices, IDs
2047
2031
  and counts, so numbers read as precise, column-aligned data. */
2048
- .hz-mono,
2049
- .mono {
2032
+ .hz-mono {
2050
2033
  font-family: var(--font-mono, 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
2051
2034
  font-variant-numeric: tabular-nums;
2052
2035
  font-feature-settings: 'tnum' 1;
@@ -2066,8 +2049,7 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
2066
2049
  order — so paper lost its drop on dark exactly the way the rungs did. The
2067
2050
  fallback stays because this sheet ships on its own: a host that imports
2068
2051
  motion.css without glass.css has no ladder to read. */
2069
- .hz-paper,
2070
- .paper {
2052
+ .hz-paper {
2071
2053
  box-shadow: var(--shadow-inset-hairline, inset 0 0 0 1px rgb(255 255 255 / .10)),
2072
2054
  var(--edge-highlight, inset 0 1px 0 0 rgb(255 255 255 / .10)),
2073
2055
  var(--glass-shadow-2, 0 10px 15px -3px rgb(0 0 0 / .55), 0 4px 6px -4px rgb(0 0 0 / .55));
@@ -2082,20 +2064,17 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
2082
2064
  }
2083
2065
  }
2084
2066
 
2085
- .hz-menu-in,
2086
- .menu-in {
2067
+ .hz-menu-in {
2087
2068
  animation: hz-menu-in 140ms ease-out both;
2088
2069
  will-change: opacity;
2089
2070
  }
2090
2071
 
2091
- .hz-row,
2092
- .row {
2072
+ .hz-row {
2093
2073
  transition: background-color 140ms ease-out;
2094
2074
  }
2095
2075
 
2096
2076
  @media (prefers-reduced-motion: reduce) {
2097
- .hz-menu-in,
2098
- .menu-in {
2077
+ .hz-menu-in {
2099
2078
  animation: none;
2100
2079
  }
2101
2080
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.2.2",
3
+ "version": "8.3.0",
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": {