@eluan/tokens 0.1.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/README.md +46 -0
- package/dist/curves.css +32 -0
- package/dist/fonts-base.css +7 -0
- package/dist/fonts-industrial-retro.css +3 -0
- package/dist/fonts-minimal.css +3 -0
- package/dist/fonts.css +17 -0
- package/dist/index.d.ts +460 -0
- package/dist/index.js +568 -0
- package/dist/modes.css +333 -0
- package/dist/primitives.css +359 -0
- package/dist/spacing.css +101 -0
- package/dist/themes.css +316 -0
- package/dist/tokens.css +155 -0
- package/package.json +57 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Eluan 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/README.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# @eluan/tokens
|
|
2
|
+
|
|
3
|
+
> Design tokens, CSS variables, themes, and fonts for the [Eluan](https://github.com/vasfio/eluan) design system.
|
|
4
|
+
|
|
5
|
+
A three-layer token architecture (primitives → modes → themes) exposed as CSS custom properties scoped to `[data-theme]`, `[data-mode]`, `[data-spacing]`, and `[data-curves]` attributes.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @eluan/tokens
|
|
11
|
+
yarn add @eluan/tokens
|
|
12
|
+
pnpm add @eluan/tokens
|
|
13
|
+
bun add @eluan/tokens
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Use
|
|
17
|
+
|
|
18
|
+
Import the full token CSS once at the root of your app:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import "@eluan/tokens/css"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Then activate a theme by setting attributes on `<html>` (or use `<EluanProvider>` from `@eluan/core`, which wires this up automatically):
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<html data-theme="industrial-retro" data-mode="light" data-spacing="standard" data-curves="slight">
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Subpath exports
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import "@eluan/tokens/css" // all tokens
|
|
34
|
+
import "@eluan/tokens/fonts/all" // every theme's fonts
|
|
35
|
+
import "@eluan/tokens/fonts/industrial-retro" // single theme's fonts
|
|
36
|
+
import "@eluan/tokens/fonts/minimal"
|
|
37
|
+
import { themes, modes, type Theme } from "@eluan/tokens"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Built-in themes
|
|
41
|
+
|
|
42
|
+
`industrial-retro`, `minimal`. Define your own via `createTheme()` from `@eluan/core`. See the [theming guide](https://github.com/vasfio/eluan/blob/main/docs/theming.md).
|
|
43
|
+
|
|
44
|
+
## License
|
|
45
|
+
|
|
46
|
+
MIT
|
package/dist/curves.css
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* ============================================
|
|
2
|
+
* Curve Scales
|
|
3
|
+
* Semantic border-radius tokens that adapt to Sharp, Slight, Sweeping, and Rounded
|
|
4
|
+
* These reference primitive radius tokens from Layer 1
|
|
5
|
+
* ============================================ */
|
|
6
|
+
|
|
7
|
+
[data-curves="sharp"] {
|
|
8
|
+
--curves-xxs: var(--radius-radius-none);
|
|
9
|
+
--curves-xs: var(--radius-radius-none);
|
|
10
|
+
--curves-sm: var(--radius-radius-none);
|
|
11
|
+
--curves-md: var(--radius-radius-none);
|
|
12
|
+
--curves-lg: var(--radius-radius-none);
|
|
13
|
+
--curves-xl: var(--radius-radius-none);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[data-curves="slight"] {
|
|
17
|
+
--curves-xxs: var(--radius-radius-1);
|
|
18
|
+
--curves-xs: var(--radius-radius-2);
|
|
19
|
+
--curves-sm: var(--radius-radius-4);
|
|
20
|
+
--curves-md: var(--radius-radius-8);
|
|
21
|
+
--curves-lg: var(--radius-radius-12);
|
|
22
|
+
--curves-xl: var(--radius-radius-16);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
[data-curves="sweeping"] {
|
|
26
|
+
--curves-xxs: var(--radius-radius-2);
|
|
27
|
+
--curves-xs: var(--radius-radius-4);
|
|
28
|
+
--curves-sm: var(--radius-radius-8);
|
|
29
|
+
--curves-md: var(--radius-radius-12);
|
|
30
|
+
--curves-lg: var(--radius-radius-16);
|
|
31
|
+
--curves-xl: var(--radius-radius-24);
|
|
32
|
+
}
|
package/dist/fonts.css
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Eluan Design System — Google Fonts via @fontsource
|
|
3
|
+
Self-hosted, no CDN dependency.
|
|
4
|
+
Only medium weight loaded (max weight across all themes = 500).
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/* Geist — industrial-retro heading + body */
|
|
8
|
+
@import "@fontsource/geist/400.css";
|
|
9
|
+
@import "@fontsource/geist/500.css";
|
|
10
|
+
|
|
11
|
+
/* Geist Mono — all themes mono */
|
|
12
|
+
@import "@fontsource/geist-mono/400.css";
|
|
13
|
+
@import "@fontsource/geist-mono/500.css";
|
|
14
|
+
|
|
15
|
+
/* Inter — minimal heading + body */
|
|
16
|
+
@import "@fontsource/inter/400.css";
|
|
17
|
+
@import "@fontsource/inter/500.css";
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
export declare const modes: readonly ["light", "dim", "dark"];
|
|
2
|
+
export type Mode = (typeof modes)[number];
|
|
3
|
+
export declare const themes: readonly ["industrial-retro", "minimal"];
|
|
4
|
+
export type Theme = (typeof themes)[number];
|
|
5
|
+
export declare const spacingScales: readonly ["compact", "standard", "wide"];
|
|
6
|
+
export type SpacingScale = (typeof spacingScales)[number];
|
|
7
|
+
export declare const curveScales: readonly ["sharp", "slight", "sweeping"];
|
|
8
|
+
export type CurveScale = (typeof curveScales)[number];
|
|
9
|
+
export declare const colorPalettes: readonly ["blazeorange", "bluechill", "blueribbon", "bostonblue", "cerise", "crimson", "electriclime", "electricviolet", "forestgreen", "gossamer", "lochmara", "maitai", "mono", "purpleheart", "redviolet", "rockspray", "seagreen", "teak", "torchred", "violeteggplant"];
|
|
10
|
+
export type ColorPalette = (typeof colorPalettes)[number];
|
|
11
|
+
export declare const colorShades: readonly ["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"];
|
|
12
|
+
export type ColorShade = (typeof colorShades)[number];
|
|
13
|
+
export declare const monoShades: readonly ["0", "50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"];
|
|
14
|
+
export type MonoShade = (typeof monoShades)[number];
|
|
15
|
+
export declare const primitiveColors: {
|
|
16
|
+
readonly blazeorange: {
|
|
17
|
+
readonly 50: "#fff6ed";
|
|
18
|
+
readonly 100: "#ffead3";
|
|
19
|
+
readonly 200: "#ffd1a7";
|
|
20
|
+
readonly 300: "#ffaf69";
|
|
21
|
+
readonly 400: "#ff7900";
|
|
22
|
+
readonly 500: "#ff5100";
|
|
23
|
+
readonly 600: "#fd2900";
|
|
24
|
+
readonly 700: "#d11600";
|
|
25
|
+
readonly 800: "#a61a00";
|
|
26
|
+
readonly 900: "#842007";
|
|
27
|
+
readonly 950: "#470d04";
|
|
28
|
+
};
|
|
29
|
+
readonly bluechill: {
|
|
30
|
+
readonly 50: "#edfefd";
|
|
31
|
+
readonly 100: "#cbfbfa";
|
|
32
|
+
readonly 200: "#99f6f5";
|
|
33
|
+
readonly 300: "#3decef";
|
|
34
|
+
readonly 400: "#00d6e0";
|
|
35
|
+
readonly 500: "#00bbc9";
|
|
36
|
+
readonly 600: "#0096a9";
|
|
37
|
+
readonly 700: "#007888";
|
|
38
|
+
readonly 800: "#00606e";
|
|
39
|
+
readonly 900: "#00505c";
|
|
40
|
+
readonly 950: "#00333d";
|
|
41
|
+
};
|
|
42
|
+
readonly blueribbon: {
|
|
43
|
+
readonly 50: "#eff6ff";
|
|
44
|
+
readonly 100: "#dbeaff";
|
|
45
|
+
readonly 200: "#bedaff";
|
|
46
|
+
readonly 300: "#8dc4ff";
|
|
47
|
+
readonly 400: "#529fff";
|
|
48
|
+
readonly 500: "#317aff";
|
|
49
|
+
readonly 600: "#2355ff";
|
|
50
|
+
readonly 700: "#213eef";
|
|
51
|
+
readonly 800: "#2135bf";
|
|
52
|
+
readonly 900: "#1f3593";
|
|
53
|
+
readonly 950: "#182258";
|
|
54
|
+
};
|
|
55
|
+
readonly bostonblue: {
|
|
56
|
+
readonly 50: "#ecfdff";
|
|
57
|
+
readonly 100: "#d2f8ff";
|
|
58
|
+
readonly 200: "#a6f0ff";
|
|
59
|
+
readonly 300: "#57e4ff";
|
|
60
|
+
readonly 400: "#00cdfa";
|
|
61
|
+
readonly 500: "#00b4e5";
|
|
62
|
+
readonly 600: "#008fc2";
|
|
63
|
+
readonly 700: "#00729c";
|
|
64
|
+
readonly 800: "#005d7e";
|
|
65
|
+
readonly 900: "#0a4d69";
|
|
66
|
+
readonly 950: "#043247";
|
|
67
|
+
};
|
|
68
|
+
readonly cerise: {
|
|
69
|
+
readonly 50: "#fdf2f6";
|
|
70
|
+
readonly 100: "#fce7ef";
|
|
71
|
+
readonly 200: "#fbcfe0";
|
|
72
|
+
readonly 300: "#fba7c7";
|
|
73
|
+
readonly 400: "#f76da2";
|
|
74
|
+
readonly 500: "#f14285";
|
|
75
|
+
readonly 600: "#df2066";
|
|
76
|
+
readonly 700: "#bf1751";
|
|
77
|
+
readonly 800: "#9d1945";
|
|
78
|
+
readonly 900: "#821d3e";
|
|
79
|
+
readonly 950: "#4d0c20";
|
|
80
|
+
};
|
|
81
|
+
readonly crimson: {
|
|
82
|
+
readonly 50: "#fdf2f2";
|
|
83
|
+
readonly 100: "#fde3e4";
|
|
84
|
+
readonly 200: "#fcccce";
|
|
85
|
+
readonly 300: "#fca5a9";
|
|
86
|
+
readonly 400: "#f96c74";
|
|
87
|
+
readonly 500: "#f33f4b";
|
|
88
|
+
readonly 600: "#df1d30";
|
|
89
|
+
readonly 700: "#bb1727";
|
|
90
|
+
readonly 800: "#9a1b26";
|
|
91
|
+
readonly 900: "#7f1f27";
|
|
92
|
+
readonly 950: "#450c10";
|
|
93
|
+
};
|
|
94
|
+
readonly electriclime: {
|
|
95
|
+
readonly 50: "#f9fee2";
|
|
96
|
+
readonly 100: "#f1fcbf";
|
|
97
|
+
readonly 200: "#e2f87e";
|
|
98
|
+
readonly 300: "#ccf100";
|
|
99
|
+
readonly 400: "#b3e200";
|
|
100
|
+
readonly 500: "#98cb00";
|
|
101
|
+
readonly 600: "#79a200";
|
|
102
|
+
readonly 700: "#5e7a00";
|
|
103
|
+
readonly 800: "#4d6100";
|
|
104
|
+
readonly 900: "#425100";
|
|
105
|
+
readonly 950: "#222d00";
|
|
106
|
+
};
|
|
107
|
+
readonly electricviolet: {
|
|
108
|
+
readonly 50: "#f9f5ff";
|
|
109
|
+
readonly 100: "#f2e8fe";
|
|
110
|
+
readonly 200: "#e7d5ff";
|
|
111
|
+
readonly 300: "#d7b4ff";
|
|
112
|
+
readonly 400: "#bd7fff";
|
|
113
|
+
readonly 500: "#a750ff";
|
|
114
|
+
readonly 600: "#9329f4";
|
|
115
|
+
readonly 700: "#7d1ad5";
|
|
116
|
+
readonly 800: "#6a1eac";
|
|
117
|
+
readonly 900: "#561d88";
|
|
118
|
+
readonly 950: "#390b63";
|
|
119
|
+
};
|
|
120
|
+
readonly forestgreen: {
|
|
121
|
+
readonly 50: "#eeffec";
|
|
122
|
+
readonly 100: "#d6ffd5";
|
|
123
|
+
readonly 200: "#adffad";
|
|
124
|
+
readonly 300: "#60fd6a";
|
|
125
|
+
readonly 400: "#00ed00";
|
|
126
|
+
readonly 500: "#00d500";
|
|
127
|
+
readonly 600: "#00ae00";
|
|
128
|
+
readonly 700: "#008700";
|
|
129
|
+
readonly 800: "#006a00";
|
|
130
|
+
readonly 900: "#005806";
|
|
131
|
+
readonly 950: "#003102";
|
|
132
|
+
};
|
|
133
|
+
readonly gossamer: {
|
|
134
|
+
readonly 50: "#effefa";
|
|
135
|
+
readonly 100: "#c5fdf1";
|
|
136
|
+
readonly 200: "#87fae4";
|
|
137
|
+
readonly 300: "#00f0d5";
|
|
138
|
+
readonly 400: "#00d9be";
|
|
139
|
+
readonly 500: "#00bea8";
|
|
140
|
+
readonly 600: "#00998a";
|
|
141
|
+
readonly 700: "#007a70";
|
|
142
|
+
readonly 800: "#00615b";
|
|
143
|
+
readonly 900: "#00504b";
|
|
144
|
+
readonly 950: "#00302f";
|
|
145
|
+
};
|
|
146
|
+
readonly lochmara: {
|
|
147
|
+
readonly 50: "#f0f9ff";
|
|
148
|
+
readonly 100: "#def1ff";
|
|
149
|
+
readonly 200: "#b8e5ff";
|
|
150
|
+
readonly 300: "#77d2ff";
|
|
151
|
+
readonly 400: "#00b8ff";
|
|
152
|
+
readonly 500: "#00a0fb";
|
|
153
|
+
readonly 600: "#007fdb";
|
|
154
|
+
readonly 700: "#0066b4";
|
|
155
|
+
readonly 800: "#005693";
|
|
156
|
+
readonly 900: "#014877";
|
|
157
|
+
readonly 950: "#072d4d";
|
|
158
|
+
};
|
|
159
|
+
readonly maitai: {
|
|
160
|
+
readonly 50: "#fefaef";
|
|
161
|
+
readonly 100: "#fdf1d4";
|
|
162
|
+
readonly 200: "#fbe1a6";
|
|
163
|
+
readonly 300: "#f9cd75";
|
|
164
|
+
readonly 400: "#f4b24b";
|
|
165
|
+
readonly 500: "#ef973f";
|
|
166
|
+
readonly 600: "#d57634";
|
|
167
|
+
readonly 700: "#ae562c";
|
|
168
|
+
readonly 800: "#8c4426";
|
|
169
|
+
readonly 900: "#713923";
|
|
170
|
+
readonly 950: "#3f1d0f";
|
|
171
|
+
};
|
|
172
|
+
readonly mono: {
|
|
173
|
+
readonly 0: "#ffffff";
|
|
174
|
+
readonly 50: "#fafafa";
|
|
175
|
+
readonly 100: "#f5f5f5";
|
|
176
|
+
readonly 200: "#e5e5e5";
|
|
177
|
+
readonly 300: "#d4d4d4";
|
|
178
|
+
readonly 400: "#a1a1a1";
|
|
179
|
+
readonly 500: "#737373";
|
|
180
|
+
readonly 600: "#525252";
|
|
181
|
+
readonly 700: "#404040";
|
|
182
|
+
readonly 800: "#262626";
|
|
183
|
+
readonly 900: "#171717";
|
|
184
|
+
readonly 950: "#0a0a0a";
|
|
185
|
+
};
|
|
186
|
+
readonly purpleheart: {
|
|
187
|
+
readonly 50: "#f0f2ff";
|
|
188
|
+
readonly 100: "#e4e7ff";
|
|
189
|
+
readonly 200: "#ced2ff";
|
|
190
|
+
readonly 300: "#aeb3ff";
|
|
191
|
+
readonly 400: "#8b85ff";
|
|
192
|
+
readonly 500: "#715aff";
|
|
193
|
+
readonly 600: "#6032f9";
|
|
194
|
+
readonly 700: "#5225dc";
|
|
195
|
+
readonly 800: "#4324b2";
|
|
196
|
+
readonly 900: "#3a278b";
|
|
197
|
+
readonly 950: "#231854";
|
|
198
|
+
};
|
|
199
|
+
readonly redviolet: {
|
|
200
|
+
readonly 50: "#fcf4fe";
|
|
201
|
+
readonly 100: "#fae8f6";
|
|
202
|
+
readonly 200: "#f7d0ee";
|
|
203
|
+
readonly 300: "#f5aae2";
|
|
204
|
+
readonly 400: "#f06fcc";
|
|
205
|
+
readonly 500: "#e944b7";
|
|
206
|
+
readonly 600: "#d62098";
|
|
207
|
+
readonly 700: "#b7177b";
|
|
208
|
+
readonly 800: "#971965";
|
|
209
|
+
readonly 900: "#7c1d55";
|
|
210
|
+
readonly 950: "#4d0b32";
|
|
211
|
+
};
|
|
212
|
+
readonly rockspray: {
|
|
213
|
+
readonly 50: "#fff6ef";
|
|
214
|
+
readonly 100: "#feebda";
|
|
215
|
+
readonly 200: "#fdd584";
|
|
216
|
+
readonly 300: "#fdb782";
|
|
217
|
+
readonly 400: "#f88b4a";
|
|
218
|
+
readonly 500: "#f66e31";
|
|
219
|
+
readonly 600: "#e65527";
|
|
220
|
+
readonly 700: "#bd4122";
|
|
221
|
+
readonly 800: "#963621";
|
|
222
|
+
readonly 900: "#78301f";
|
|
223
|
+
readonly 950: "#40160e";
|
|
224
|
+
};
|
|
225
|
+
readonly seagreen: {
|
|
226
|
+
readonly 50: "#eafef4";
|
|
227
|
+
readonly 100: "#ccfbe3";
|
|
228
|
+
readonly 200: "#9cf6cd";
|
|
229
|
+
readonly 300: "#44ecb2";
|
|
230
|
+
readonly 400: "#00d88d";
|
|
231
|
+
readonly 500: "#00c078";
|
|
232
|
+
readonly 600: "#009b62";
|
|
233
|
+
readonly 700: "#007c53";
|
|
234
|
+
readonly 800: "#006243";
|
|
235
|
+
readonly 900: "#00503a";
|
|
236
|
+
readonly 950: "#002d22";
|
|
237
|
+
};
|
|
238
|
+
readonly teak: {
|
|
239
|
+
readonly 50: "#fcfbf3";
|
|
240
|
+
readonly 100: "#f9f7e0";
|
|
241
|
+
readonly 200: "#f6ecc2";
|
|
242
|
+
readonly 300: "#eedda2";
|
|
243
|
+
readonly 400: "#e0c787";
|
|
244
|
+
readonly 500: "#ceaf78";
|
|
245
|
+
readonly 600: "#ac8b5f";
|
|
246
|
+
readonly 700: "#876747";
|
|
247
|
+
readonly 800: "#6d503a";
|
|
248
|
+
readonly 900: "#5a4231";
|
|
249
|
+
readonly 950: "#332319";
|
|
250
|
+
};
|
|
251
|
+
readonly torchred: {
|
|
252
|
+
readonly 50: "#fff1f1";
|
|
253
|
+
readonly 100: "#ffe0e0";
|
|
254
|
+
readonly 200: "#ffc5c5";
|
|
255
|
+
readonly 300: "#ff999a";
|
|
256
|
+
readonly 400: "#ff4855";
|
|
257
|
+
readonly 500: "#ff0000";
|
|
258
|
+
readonly 600: "#fd0000";
|
|
259
|
+
readonly 700: "#d30000";
|
|
260
|
+
readonly 800: "#ad0000";
|
|
261
|
+
readonly 900: "#8e0002";
|
|
262
|
+
readonly 950: "#4d0000";
|
|
263
|
+
};
|
|
264
|
+
readonly violeteggplant: {
|
|
265
|
+
readonly 50: "#fcf4fe";
|
|
266
|
+
readonly 100: "#f9e9fd";
|
|
267
|
+
readonly 200: "#f3d2fa";
|
|
268
|
+
readonly 300: "#eeadf9";
|
|
269
|
+
readonly 400: "#e578f5";
|
|
270
|
+
readonly 500: "#d84aec";
|
|
271
|
+
readonly 600: "#bf2bd0";
|
|
272
|
+
readonly 700: "#a024ac";
|
|
273
|
+
readonly 800: "#84218b";
|
|
274
|
+
readonly 900: "#6d2271";
|
|
275
|
+
readonly 950: "#470d4a";
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
export declare const radius: {
|
|
279
|
+
readonly none: "0rem";
|
|
280
|
+
readonly 1: "0.0625rem";
|
|
281
|
+
readonly 2: "0.125rem";
|
|
282
|
+
readonly 4: "0.25rem";
|
|
283
|
+
readonly 8: "0.5rem";
|
|
284
|
+
readonly 12: "0.75rem";
|
|
285
|
+
readonly 16: "1rem";
|
|
286
|
+
readonly 20: "1.25rem";
|
|
287
|
+
readonly 24: "1.5rem";
|
|
288
|
+
readonly 32: "2rem";
|
|
289
|
+
readonly 40: "2.5rem";
|
|
290
|
+
readonly 80: "5rem";
|
|
291
|
+
readonly full: "62.4375rem";
|
|
292
|
+
};
|
|
293
|
+
export declare const sizing: {
|
|
294
|
+
readonly none: "0rem";
|
|
295
|
+
readonly xxs: "0.5rem";
|
|
296
|
+
readonly xs: "1rem";
|
|
297
|
+
readonly s: "1.5rem";
|
|
298
|
+
readonly m: "2rem";
|
|
299
|
+
readonly l: "2.5rem";
|
|
300
|
+
readonly xl: "3rem";
|
|
301
|
+
readonly xxl: "5rem";
|
|
302
|
+
readonly xxxl: "10rem";
|
|
303
|
+
};
|
|
304
|
+
export declare const spacing: {
|
|
305
|
+
readonly 0: "0rem";
|
|
306
|
+
readonly 2: "0.125rem";
|
|
307
|
+
readonly 4: "0.25rem";
|
|
308
|
+
readonly 8: "0.5rem";
|
|
309
|
+
readonly 12: "0.75rem";
|
|
310
|
+
readonly 16: "1rem";
|
|
311
|
+
readonly 20: "1.25rem";
|
|
312
|
+
readonly 24: "1.5rem";
|
|
313
|
+
readonly 32: "2rem";
|
|
314
|
+
readonly 40: "2.5rem";
|
|
315
|
+
readonly 48: "3rem";
|
|
316
|
+
readonly 56: "3.5rem";
|
|
317
|
+
readonly 64: "4rem";
|
|
318
|
+
readonly 72: "4.5rem";
|
|
319
|
+
readonly 80: "5rem";
|
|
320
|
+
readonly 88: "5.5rem";
|
|
321
|
+
readonly 96: "6rem";
|
|
322
|
+
readonly 104: "6.5rem";
|
|
323
|
+
readonly 112: "7rem";
|
|
324
|
+
readonly 120: "7.5rem";
|
|
325
|
+
readonly 144: "9rem";
|
|
326
|
+
readonly 160: "10rem";
|
|
327
|
+
readonly 240: "15rem";
|
|
328
|
+
readonly 320: "20rem";
|
|
329
|
+
};
|
|
330
|
+
export declare const viewports: {
|
|
331
|
+
readonly xxs: "20rem";
|
|
332
|
+
readonly xs: "25.875rem";
|
|
333
|
+
readonly s: "30rem";
|
|
334
|
+
readonly m: "46.75rem";
|
|
335
|
+
readonly l: "64rem";
|
|
336
|
+
readonly xl: "80rem";
|
|
337
|
+
readonly "2xl": "90rem";
|
|
338
|
+
readonly "3xl": "120rem";
|
|
339
|
+
readonly "4xl": "161.25rem";
|
|
340
|
+
};
|
|
341
|
+
export declare const fontSizes: {
|
|
342
|
+
readonly xs: 12;
|
|
343
|
+
readonly sm: 14;
|
|
344
|
+
readonly base: 16;
|
|
345
|
+
readonly lg: 18;
|
|
346
|
+
readonly xl: 20;
|
|
347
|
+
readonly "2xl": 24;
|
|
348
|
+
readonly "3xl": 30;
|
|
349
|
+
readonly "4xl": 36;
|
|
350
|
+
readonly "5xl": 48;
|
|
351
|
+
readonly "6xl": 60;
|
|
352
|
+
readonly "7xl": 72;
|
|
353
|
+
readonly "8xl": 96;
|
|
354
|
+
readonly "9xl": 128;
|
|
355
|
+
};
|
|
356
|
+
export declare const fontWeights: {
|
|
357
|
+
readonly thin: "100";
|
|
358
|
+
readonly extralight: "200";
|
|
359
|
+
readonly light: "300";
|
|
360
|
+
readonly normal: "400";
|
|
361
|
+
readonly medium: "500";
|
|
362
|
+
readonly semibold: "600";
|
|
363
|
+
readonly bold: "700";
|
|
364
|
+
readonly extrabold: "800";
|
|
365
|
+
readonly black: "900";
|
|
366
|
+
};
|
|
367
|
+
export declare const lineHeights: {
|
|
368
|
+
readonly none: 1;
|
|
369
|
+
readonly tight: 1.25;
|
|
370
|
+
readonly snug: 1.375;
|
|
371
|
+
readonly normal: 1.5;
|
|
372
|
+
readonly relaxed: 1.625;
|
|
373
|
+
readonly loose: 2;
|
|
374
|
+
};
|
|
375
|
+
export declare const letterSpacing: {
|
|
376
|
+
readonly tighter: -0.8;
|
|
377
|
+
readonly tight: -0.4;
|
|
378
|
+
readonly normal: 0;
|
|
379
|
+
readonly wide: 0.4;
|
|
380
|
+
readonly wider: 0.8;
|
|
381
|
+
readonly widest: 1.6;
|
|
382
|
+
};
|
|
383
|
+
export declare const fontFamilies: {
|
|
384
|
+
readonly heading: "var(--font-heading)";
|
|
385
|
+
readonly body: "var(--font-body)";
|
|
386
|
+
readonly mono: "var(--font-mono)";
|
|
387
|
+
};
|
|
388
|
+
export declare const themeFonts: Record<Theme, {
|
|
389
|
+
heading: string;
|
|
390
|
+
body: string;
|
|
391
|
+
}>;
|
|
392
|
+
/**
|
|
393
|
+
* Dynamically load the font CSS for a given theme.
|
|
394
|
+
* Fonts are loaded once and cached — switching back to a previously
|
|
395
|
+
* loaded theme is instant.
|
|
396
|
+
*
|
|
397
|
+
* Importing is handled via dynamic import() so the consumer's bundler
|
|
398
|
+
* (Vite, webpack, etc.) can code-split each theme's fonts into a
|
|
399
|
+
* separate chunk.
|
|
400
|
+
*/
|
|
401
|
+
export declare function loadThemeFonts(theme: Theme): Promise<void>;
|
|
402
|
+
export declare const shadows: {
|
|
403
|
+
readonly sm: "0 1px 2px 0 rgb(0 0 0 / 0.05)";
|
|
404
|
+
readonly default: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)";
|
|
405
|
+
readonly md: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)";
|
|
406
|
+
readonly lg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)";
|
|
407
|
+
readonly xl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)";
|
|
408
|
+
readonly "2xl": "0 25px 50px -12px rgb(0 0 0 / 0.25)";
|
|
409
|
+
readonly inner: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)";
|
|
410
|
+
readonly none: "0 0 #0000";
|
|
411
|
+
};
|
|
412
|
+
export declare const durations: {
|
|
413
|
+
readonly fastest: 50;
|
|
414
|
+
readonly faster: 100;
|
|
415
|
+
readonly fast: 150;
|
|
416
|
+
readonly normal: 200;
|
|
417
|
+
readonly slow: 300;
|
|
418
|
+
readonly slower: 400;
|
|
419
|
+
readonly slowest: 500;
|
|
420
|
+
};
|
|
421
|
+
export declare const easings: {
|
|
422
|
+
readonly linear: "linear";
|
|
423
|
+
readonly easeIn: "cubic-bezier(0.4, 0, 1, 1)";
|
|
424
|
+
readonly easeOut: "cubic-bezier(0, 0, 0.2, 1)";
|
|
425
|
+
readonly easeInOut: "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
426
|
+
};
|
|
427
|
+
export declare const zIndices: {
|
|
428
|
+
readonly hide: -1;
|
|
429
|
+
readonly base: 0;
|
|
430
|
+
readonly docked: 10;
|
|
431
|
+
readonly dropdown: 1000;
|
|
432
|
+
readonly sticky: 1100;
|
|
433
|
+
readonly banner: 1200;
|
|
434
|
+
readonly overlay: 1300;
|
|
435
|
+
readonly modal: 1400;
|
|
436
|
+
readonly popover: 1500;
|
|
437
|
+
readonly skipLink: 1600;
|
|
438
|
+
readonly toast: 1700;
|
|
439
|
+
readonly tooltip: 1800;
|
|
440
|
+
};
|
|
441
|
+
export declare const breakpoints: {
|
|
442
|
+
readonly xxs: 320;
|
|
443
|
+
readonly xs: 414;
|
|
444
|
+
readonly s: 480;
|
|
445
|
+
readonly m: 748;
|
|
446
|
+
readonly l: 1024;
|
|
447
|
+
readonly xl: 1280;
|
|
448
|
+
readonly "2xl": 1440;
|
|
449
|
+
readonly "3xl": 1920;
|
|
450
|
+
readonly "4xl": 2580;
|
|
451
|
+
};
|
|
452
|
+
export type PrimitiveColor = typeof primitiveColors;
|
|
453
|
+
export type RadiusToken = keyof typeof radius;
|
|
454
|
+
export type SizingToken = keyof typeof sizing;
|
|
455
|
+
export type SpacingToken = keyof typeof spacing;
|
|
456
|
+
export type ViewportToken = keyof typeof viewports;
|
|
457
|
+
export type FontSizeToken = keyof typeof fontSizes;
|
|
458
|
+
export type FontWeightToken = keyof typeof fontWeights;
|
|
459
|
+
export type ShadowToken = keyof typeof shadows;
|
|
460
|
+
export type BreakpointToken = keyof typeof breakpoints;
|