@ansh-ui/tokens 0.2.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/LICENSE +21 -0
- package/dist/ansh.css +307 -0
- package/dist/index.cjs +573 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +815 -0
- package/dist/index.d.ts +815 -0
- package/dist/index.js +546 -0
- package/dist/index.js.map +1 -0
- package/package.json +45 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ansh contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/ansh.css
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ansh design tokens.
|
|
3
|
+
*
|
|
4
|
+
* Generated from @ansh-ui/tokens — do not edit by hand.
|
|
5
|
+
* Override any variable in your own stylesheet after importing this file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
color-scheme: light dark;
|
|
10
|
+
|
|
11
|
+
--ansh-space-0: 0;
|
|
12
|
+
--ansh-space-1: 0.25rem;
|
|
13
|
+
--ansh-space-2: 0.5rem;
|
|
14
|
+
--ansh-space-3: 0.75rem;
|
|
15
|
+
--ansh-space-4: 1rem;
|
|
16
|
+
--ansh-space-5: 1.25rem;
|
|
17
|
+
--ansh-space-6: 1.5rem;
|
|
18
|
+
--ansh-space-8: 2rem;
|
|
19
|
+
--ansh-space-10: 2.5rem;
|
|
20
|
+
--ansh-space-12: 3rem;
|
|
21
|
+
--ansh-space-16: 4rem;
|
|
22
|
+
--ansh-space-20: 5rem;
|
|
23
|
+
--ansh-space-24: 6rem;
|
|
24
|
+
--ansh-space-32: 8rem;
|
|
25
|
+
--ansh-space-40: 10rem;
|
|
26
|
+
--ansh-space-48: 12rem;
|
|
27
|
+
--ansh-space-56: 14rem;
|
|
28
|
+
--ansh-space-64: 16rem;
|
|
29
|
+
--ansh-space-px: 1px;
|
|
30
|
+
--ansh-space-0-5: 0.125rem;
|
|
31
|
+
--ansh-space-1-5: 0.375rem;
|
|
32
|
+
--ansh-radius-none: 0;
|
|
33
|
+
--ansh-radius-xs: 0.25rem;
|
|
34
|
+
--ansh-radius-sm: 0.375rem;
|
|
35
|
+
--ansh-radius-md: 0.5rem;
|
|
36
|
+
--ansh-radius-lg: 0.75rem;
|
|
37
|
+
--ansh-radius-xl: 1rem;
|
|
38
|
+
--ansh-radius-2xl: 1.5rem;
|
|
39
|
+
--ansh-radius-3xl: 2rem;
|
|
40
|
+
--ansh-radius-full: 9999px;
|
|
41
|
+
--ansh-shadow-none: none;
|
|
42
|
+
--ansh-shadow-xs: 0 1px 2px 0 var(--ansh-shadow-color, rgb(15 23 42 / 0.05));
|
|
43
|
+
--ansh-shadow-sm: 0 1px 3px 0 var(--ansh-shadow-color, rgb(15 23 42 / 0.08)), 0 1px 2px -1px var(--ansh-shadow-color, rgb(15 23 42 / 0.06));
|
|
44
|
+
--ansh-shadow-md: 0 4px 6px -1px var(--ansh-shadow-color, rgb(15 23 42 / 0.08)), 0 2px 4px -2px var(--ansh-shadow-color, rgb(15 23 42 / 0.06));
|
|
45
|
+
--ansh-shadow-lg: 0 10px 15px -3px var(--ansh-shadow-color, rgb(15 23 42 / 0.08)), 0 4px 6px -4px var(--ansh-shadow-color, rgb(15 23 42 / 0.05));
|
|
46
|
+
--ansh-shadow-xl: 0 20px 25px -5px var(--ansh-shadow-color, rgb(15 23 42 / 0.1)), 0 8px 10px -6px var(--ansh-shadow-color, rgb(15 23 42 / 0.05));
|
|
47
|
+
--ansh-shadow-2xl: 0 25px 50px -12px var(--ansh-shadow-color, rgb(15 23 42 / 0.2));
|
|
48
|
+
--ansh-shadow-inner: inset 0 2px 4px 0 var(--ansh-shadow-color, rgb(15 23 42 / 0.06));
|
|
49
|
+
--ansh-shadow-glow: 0 0 24px -4px currentColor;
|
|
50
|
+
--ansh-shadow-glow-lg: 0 0 48px -8px currentColor;
|
|
51
|
+
--ansh-blur-none: 0;
|
|
52
|
+
--ansh-blur-xs: 2px;
|
|
53
|
+
--ansh-blur-sm: 4px;
|
|
54
|
+
--ansh-blur-md: 8px;
|
|
55
|
+
--ansh-blur-lg: 16px;
|
|
56
|
+
--ansh-blur-xl: 24px;
|
|
57
|
+
--ansh-blur-2xl: 40px;
|
|
58
|
+
--ansh-blur-3xl: 64px;
|
|
59
|
+
--ansh-duration-instant: 0.1s;
|
|
60
|
+
--ansh-duration-fast: 0.2s;
|
|
61
|
+
--ansh-duration-normal: 0.3s;
|
|
62
|
+
--ansh-duration-moderate: 0.45s;
|
|
63
|
+
--ansh-duration-slow: 0.6s;
|
|
64
|
+
--ansh-duration-slower: 0.9s;
|
|
65
|
+
--ansh-duration-deliberate: 1.2s;
|
|
66
|
+
--ansh-ease-linear: linear;
|
|
67
|
+
--ansh-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
68
|
+
--ansh-ease-emphasized: cubic-bezier(0.22, 1, 0.36, 1);
|
|
69
|
+
--ansh-ease-enter: cubic-bezier(0, 0, 0.2, 1);
|
|
70
|
+
--ansh-ease-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
71
|
+
--ansh-ease-overshoot: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
72
|
+
--ansh-ease-cinematic: cubic-bezier(0.16, 1, 0.3, 1);
|
|
73
|
+
--ansh-z-hide: -1;
|
|
74
|
+
--ansh-z-base: 0;
|
|
75
|
+
--ansh-z-raised: 10;
|
|
76
|
+
--ansh-z-dropdown: 1000;
|
|
77
|
+
--ansh-z-sticky: 1100;
|
|
78
|
+
--ansh-z-overlay: 1200;
|
|
79
|
+
--ansh-z-modal: 1300;
|
|
80
|
+
--ansh-z-popover: 1400;
|
|
81
|
+
--ansh-z-toast: 1500;
|
|
82
|
+
--ansh-z-tooltip: 1600;
|
|
83
|
+
--ansh-z-max: 2147483647;
|
|
84
|
+
--ansh-text-xs: 0.75rem;
|
|
85
|
+
--ansh-text-xs-leading: 1.125rem;
|
|
86
|
+
--ansh-text-xs-tracking: 0.01em;
|
|
87
|
+
--ansh-text-sm: 0.875rem;
|
|
88
|
+
--ansh-text-sm-leading: 1.375rem;
|
|
89
|
+
--ansh-text-sm-tracking: 0.005em;
|
|
90
|
+
--ansh-text-base: 1rem;
|
|
91
|
+
--ansh-text-base-leading: 1.625rem;
|
|
92
|
+
--ansh-text-base-tracking: 0;
|
|
93
|
+
--ansh-text-lg: 1.125rem;
|
|
94
|
+
--ansh-text-lg-leading: 1.75rem;
|
|
95
|
+
--ansh-text-lg-tracking: -0.005em;
|
|
96
|
+
--ansh-text-xl: 1.25rem;
|
|
97
|
+
--ansh-text-xl-leading: 1.875rem;
|
|
98
|
+
--ansh-text-xl-tracking: -0.01em;
|
|
99
|
+
--ansh-text-2xl: 1.5rem;
|
|
100
|
+
--ansh-text-2xl-leading: 2rem;
|
|
101
|
+
--ansh-text-2xl-tracking: -0.015em;
|
|
102
|
+
--ansh-text-3xl: 1.875rem;
|
|
103
|
+
--ansh-text-3xl-leading: 2.375rem;
|
|
104
|
+
--ansh-text-3xl-tracking: -0.02em;
|
|
105
|
+
--ansh-text-4xl: 2.25rem;
|
|
106
|
+
--ansh-text-4xl-leading: 2.625rem;
|
|
107
|
+
--ansh-text-4xl-tracking: -0.025em;
|
|
108
|
+
--ansh-text-5xl: 3rem;
|
|
109
|
+
--ansh-text-5xl-leading: 3.25rem;
|
|
110
|
+
--ansh-text-5xl-tracking: -0.03em;
|
|
111
|
+
--ansh-text-6xl: 3.75rem;
|
|
112
|
+
--ansh-text-6xl-leading: 3.9rem;
|
|
113
|
+
--ansh-text-6xl-tracking: -0.035em;
|
|
114
|
+
--ansh-text-7xl: 4.5rem;
|
|
115
|
+
--ansh-text-7xl-leading: 4.6rem;
|
|
116
|
+
--ansh-text-7xl-tracking: -0.04em;
|
|
117
|
+
--ansh-weight-normal: 400;
|
|
118
|
+
--ansh-weight-medium: 500;
|
|
119
|
+
--ansh-weight-semibold: 600;
|
|
120
|
+
--ansh-weight-bold: 700;
|
|
121
|
+
--ansh-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
|
|
122
|
+
--ansh-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
|
|
123
|
+
--ansh-screen-sm: 640px;
|
|
124
|
+
--ansh-screen-md: 768px;
|
|
125
|
+
--ansh-screen-lg: 1024px;
|
|
126
|
+
--ansh-screen-xl: 1280px;
|
|
127
|
+
--ansh-screen-2xl: 1536px;
|
|
128
|
+
|
|
129
|
+
--ansh-surface-canvas: oklch(98.5% 0.002 264);
|
|
130
|
+
--ansh-surface-raised: #ffffff;
|
|
131
|
+
--ansh-surface-overlay: #ffffff;
|
|
132
|
+
--ansh-surface-sunken: oklch(96.8% 0.004 264);
|
|
133
|
+
--ansh-surface-glass: oklch(100% 0 0 / 0.72);
|
|
134
|
+
--ansh-surface-scrim: oklch(20.8% 0.015 264 / 0.45);
|
|
135
|
+
--ansh-content-primary: oklch(20.8% 0.015 264);
|
|
136
|
+
--ansh-content-secondary: oklch(44.6% 0.021 264);
|
|
137
|
+
--ansh-content-tertiary: oklch(55.4% 0.022 264);
|
|
138
|
+
--ansh-content-disabled: oklch(70.7% 0.018 264);
|
|
139
|
+
--ansh-content-on-accent: #ffffff;
|
|
140
|
+
--ansh-content-inverse: oklch(98.5% 0.002 264);
|
|
141
|
+
--ansh-border-subtle: oklch(92.9% 0.007 264);
|
|
142
|
+
--ansh-border-default: oklch(86.9% 0.011 264);
|
|
143
|
+
--ansh-border-strong: oklch(70.7% 0.018 264);
|
|
144
|
+
--ansh-border-focus: oklch(54.6% 0.208 253);
|
|
145
|
+
--ansh-accent-subtle: oklch(97% 0.017 253);
|
|
146
|
+
--ansh-accent-muted: oklch(93.8% 0.036 253);
|
|
147
|
+
--ansh-accent-default: oklch(54.6% 0.208 253);
|
|
148
|
+
--ansh-accent-hover: oklch(46.4% 0.192 253);
|
|
149
|
+
--ansh-accent-active: oklch(39.1% 0.16 253);
|
|
150
|
+
--ansh-accent-text: oklch(46.4% 0.192 253);
|
|
151
|
+
--ansh-state-success-subtle: oklch(95.5% 0.035 155);
|
|
152
|
+
--ansh-state-success: oklch(44% 0.12 155);
|
|
153
|
+
--ansh-state-warning-subtle: oklch(96.5% 0.045 85);
|
|
154
|
+
--ansh-state-warning: oklch(52% 0.13 65);
|
|
155
|
+
--ansh-state-danger-subtle: oklch(95.5% 0.03 25);
|
|
156
|
+
--ansh-state-danger: oklch(46% 0.18 25);
|
|
157
|
+
--ansh-state-info-subtle: oklch(96% 0.025 240);
|
|
158
|
+
--ansh-state-info: oklch(48% 0.15 250);
|
|
159
|
+
--ansh-shadow-color: oklch(20.8% 0.015 264 / 0.08);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* Automatic dark mode, only when the document has not opted into manual control. */
|
|
163
|
+
@media (prefers-color-scheme: dark) {
|
|
164
|
+
:root:not([data-theme]) {
|
|
165
|
+
--ansh-surface-canvas: oklch(8.5% 0.012 264);
|
|
166
|
+
--ansh-surface-raised: oklch(13.8% 0.014 264);
|
|
167
|
+
--ansh-surface-overlay: oklch(20.8% 0.015 264);
|
|
168
|
+
--ansh-surface-sunken: oklch(6% 0.01 264);
|
|
169
|
+
--ansh-surface-glass: oklch(13.8% 0.014 264 / 0.68);
|
|
170
|
+
--ansh-surface-scrim: oklch(4% 0.008 264 / 0.65);
|
|
171
|
+
--ansh-content-primary: oklch(96.8% 0.004 264);
|
|
172
|
+
--ansh-content-secondary: oklch(86.9% 0.011 264);
|
|
173
|
+
--ansh-content-tertiary: oklch(70.7% 0.018 264);
|
|
174
|
+
--ansh-content-disabled: oklch(44.6% 0.021 264);
|
|
175
|
+
--ansh-content-on-accent: #ffffff;
|
|
176
|
+
--ansh-content-inverse: oklch(13.8% 0.014 264);
|
|
177
|
+
--ansh-border-subtle: oklch(100% 0 0 / 0.08);
|
|
178
|
+
--ansh-border-default: oklch(100% 0 0 / 0.14);
|
|
179
|
+
--ansh-border-strong: oklch(100% 0 0 / 0.24);
|
|
180
|
+
--ansh-border-focus: oklch(71.4% 0.153 253);
|
|
181
|
+
--ansh-accent-subtle: oklch(23.2% 0.093 253 / 0.4);
|
|
182
|
+
--ansh-accent-muted: oklch(23.2% 0.093 253);
|
|
183
|
+
--ansh-accent-default: oklch(62.3% 0.188 253);
|
|
184
|
+
--ansh-accent-hover: oklch(71.4% 0.153 253);
|
|
185
|
+
--ansh-accent-active: oklch(80.9% 0.111 253);
|
|
186
|
+
--ansh-accent-text: oklch(80.9% 0.111 253);
|
|
187
|
+
--ansh-state-success-subtle: oklch(30% 0.08 155 / 0.35);
|
|
188
|
+
--ansh-state-success: oklch(72% 0.16 155);
|
|
189
|
+
--ansh-state-warning-subtle: oklch(32% 0.09 75 / 0.35);
|
|
190
|
+
--ansh-state-warning: oklch(80% 0.15 80);
|
|
191
|
+
--ansh-state-danger-subtle: oklch(30% 0.11 25 / 0.35);
|
|
192
|
+
--ansh-state-danger: oklch(70% 0.19 25);
|
|
193
|
+
--ansh-state-info-subtle: oklch(30% 0.09 245 / 0.35);
|
|
194
|
+
--ansh-state-info: oklch(74% 0.15 245);
|
|
195
|
+
--ansh-shadow-color: oklch(0% 0 0 / 0.5);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* Explicit theme control. Works at any level of the tree, not just :root. */
|
|
200
|
+
[data-theme='dark'] {
|
|
201
|
+
--ansh-surface-canvas: oklch(8.5% 0.012 264);
|
|
202
|
+
--ansh-surface-raised: oklch(13.8% 0.014 264);
|
|
203
|
+
--ansh-surface-overlay: oklch(20.8% 0.015 264);
|
|
204
|
+
--ansh-surface-sunken: oklch(6% 0.01 264);
|
|
205
|
+
--ansh-surface-glass: oklch(13.8% 0.014 264 / 0.68);
|
|
206
|
+
--ansh-surface-scrim: oklch(4% 0.008 264 / 0.65);
|
|
207
|
+
--ansh-content-primary: oklch(96.8% 0.004 264);
|
|
208
|
+
--ansh-content-secondary: oklch(86.9% 0.011 264);
|
|
209
|
+
--ansh-content-tertiary: oklch(70.7% 0.018 264);
|
|
210
|
+
--ansh-content-disabled: oklch(44.6% 0.021 264);
|
|
211
|
+
--ansh-content-on-accent: #ffffff;
|
|
212
|
+
--ansh-content-inverse: oklch(13.8% 0.014 264);
|
|
213
|
+
--ansh-border-subtle: oklch(100% 0 0 / 0.08);
|
|
214
|
+
--ansh-border-default: oklch(100% 0 0 / 0.14);
|
|
215
|
+
--ansh-border-strong: oklch(100% 0 0 / 0.24);
|
|
216
|
+
--ansh-border-focus: oklch(71.4% 0.153 253);
|
|
217
|
+
--ansh-accent-subtle: oklch(23.2% 0.093 253 / 0.4);
|
|
218
|
+
--ansh-accent-muted: oklch(23.2% 0.093 253);
|
|
219
|
+
--ansh-accent-default: oklch(62.3% 0.188 253);
|
|
220
|
+
--ansh-accent-hover: oklch(71.4% 0.153 253);
|
|
221
|
+
--ansh-accent-active: oklch(80.9% 0.111 253);
|
|
222
|
+
--ansh-accent-text: oklch(80.9% 0.111 253);
|
|
223
|
+
--ansh-state-success-subtle: oklch(30% 0.08 155 / 0.35);
|
|
224
|
+
--ansh-state-success: oklch(72% 0.16 155);
|
|
225
|
+
--ansh-state-warning-subtle: oklch(32% 0.09 75 / 0.35);
|
|
226
|
+
--ansh-state-warning: oklch(80% 0.15 80);
|
|
227
|
+
--ansh-state-danger-subtle: oklch(30% 0.11 25 / 0.35);
|
|
228
|
+
--ansh-state-danger: oklch(70% 0.19 25);
|
|
229
|
+
--ansh-state-info-subtle: oklch(30% 0.09 245 / 0.35);
|
|
230
|
+
--ansh-state-info: oklch(74% 0.15 245);
|
|
231
|
+
--ansh-shadow-color: oklch(0% 0 0 / 0.5);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
[data-theme='light'] {
|
|
235
|
+
--ansh-surface-canvas: oklch(98.5% 0.002 264);
|
|
236
|
+
--ansh-surface-raised: #ffffff;
|
|
237
|
+
--ansh-surface-overlay: #ffffff;
|
|
238
|
+
--ansh-surface-sunken: oklch(96.8% 0.004 264);
|
|
239
|
+
--ansh-surface-glass: oklch(100% 0 0 / 0.72);
|
|
240
|
+
--ansh-surface-scrim: oklch(20.8% 0.015 264 / 0.45);
|
|
241
|
+
--ansh-content-primary: oklch(20.8% 0.015 264);
|
|
242
|
+
--ansh-content-secondary: oklch(44.6% 0.021 264);
|
|
243
|
+
--ansh-content-tertiary: oklch(55.4% 0.022 264);
|
|
244
|
+
--ansh-content-disabled: oklch(70.7% 0.018 264);
|
|
245
|
+
--ansh-content-on-accent: #ffffff;
|
|
246
|
+
--ansh-content-inverse: oklch(98.5% 0.002 264);
|
|
247
|
+
--ansh-border-subtle: oklch(92.9% 0.007 264);
|
|
248
|
+
--ansh-border-default: oklch(86.9% 0.011 264);
|
|
249
|
+
--ansh-border-strong: oklch(70.7% 0.018 264);
|
|
250
|
+
--ansh-border-focus: oklch(54.6% 0.208 253);
|
|
251
|
+
--ansh-accent-subtle: oklch(97% 0.017 253);
|
|
252
|
+
--ansh-accent-muted: oklch(93.8% 0.036 253);
|
|
253
|
+
--ansh-accent-default: oklch(54.6% 0.208 253);
|
|
254
|
+
--ansh-accent-hover: oklch(46.4% 0.192 253);
|
|
255
|
+
--ansh-accent-active: oklch(39.1% 0.16 253);
|
|
256
|
+
--ansh-accent-text: oklch(46.4% 0.192 253);
|
|
257
|
+
--ansh-state-success-subtle: oklch(95.5% 0.035 155);
|
|
258
|
+
--ansh-state-success: oklch(44% 0.12 155);
|
|
259
|
+
--ansh-state-warning-subtle: oklch(96.5% 0.045 85);
|
|
260
|
+
--ansh-state-warning: oklch(52% 0.13 65);
|
|
261
|
+
--ansh-state-danger-subtle: oklch(95.5% 0.03 25);
|
|
262
|
+
--ansh-state-danger: oklch(46% 0.18 25);
|
|
263
|
+
--ansh-state-info-subtle: oklch(96% 0.025 240);
|
|
264
|
+
--ansh-state-info: oklch(48% 0.15 250);
|
|
265
|
+
--ansh-shadow-color: oklch(20.8% 0.015 264 / 0.08);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Reduced-motion safety net.
|
|
270
|
+
*
|
|
271
|
+
* The engine honours `prefers-reduced-motion` in JavaScript, but any CSS transition or
|
|
272
|
+
* animation an application author writes is outside its reach. Neutralising them here means a
|
|
273
|
+
* consumer gets correct behaviour for their own styles too, simply by importing this file.
|
|
274
|
+
*
|
|
275
|
+
* Durations are set to 0.01ms rather than 0 so that `transitionend` and `animationend` still
|
|
276
|
+
* fire — code that waits on those events would otherwise hang forever.
|
|
277
|
+
*/
|
|
278
|
+
@media (prefers-reduced-motion: reduce) {
|
|
279
|
+
*,
|
|
280
|
+
*::before,
|
|
281
|
+
*::after {
|
|
282
|
+
animation-duration: 0.01ms !important;
|
|
283
|
+
animation-iteration-count: 1 !important;
|
|
284
|
+
transition-duration: 0.01ms !important;
|
|
285
|
+
scroll-behavior: auto !important;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Utility classes for the split-text behaviour.
|
|
291
|
+
*
|
|
292
|
+
* The behaviour sets `--ansh-index` and `--ansh-total` on every unit, which makes a
|
|
293
|
+
* staggered reveal possible in pure CSS with no JavaScript timing at all.
|
|
294
|
+
*/
|
|
295
|
+
.ansh-char,
|
|
296
|
+
.ansh-word,
|
|
297
|
+
.ansh-line {
|
|
298
|
+
display: inline-block;
|
|
299
|
+
/* Required for transforms to apply to inline content, and for masks to clip descenders. */
|
|
300
|
+
will-change: transform, opacity;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.ansh-mask {
|
|
304
|
+
display: inline-block;
|
|
305
|
+
overflow: hidden;
|
|
306
|
+
vertical-align: top;
|
|
307
|
+
}
|