@libretexts/davis-core 1.0.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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 LibreTexts, Inc.
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.
@@ -0,0 +1,3 @@
1
+ export * from './tokens.js';
2
+ export * from './variants.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './tokens.js';
2
+ export * from './variants.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,284 @@
1
+ /**
2
+ * Davis Design System — Design Tokens
3
+ *
4
+ * ⚠️ SINGLE SOURCE OF TRUTH — All design token values are defined here.
5
+ *
6
+ * This file generates:
7
+ * - tailwind.preset.cjs (Tailwind v3 config)
8
+ * - src/theme.css (Tailwind v4 theme)
9
+ *
10
+ * After modifying this file, run: npm run generate:configs
11
+ *
12
+ * Typography: Major Third scale (ratio 1.250, base 16px)
13
+ * Colors: Full 50-950 shade ranges, WCAG AA verified against white
14
+ * Spacing: 4px base grid (uses Tailwind default scale)
15
+ */
16
+ export declare const FONT_FAMILY_SANS: readonly ["Inter", "ui-sans-serif", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif"];
17
+ /**
18
+ * Major Third typographic scale (ratio 1.250, base 16px)
19
+ *
20
+ * | Token | rem | px | Line height | Use |
21
+ * |-------|-------|------|-------------|------------------------|
22
+ * | xs | 0.640 | 10.2 | 1rem | Captions, fine print |
23
+ * | sm | 0.800 | 12.8 | 1.25rem | Labels, helper text |
24
+ * | base | 1.000 | 16.0 | 1.5rem | Body text, buttons |
25
+ * | lg | 1.250 | 20.0 | 1.75rem | Lead text, h5, h6 |
26
+ * | xl | 1.563 | 25.0 | 2rem | h4 |
27
+ * | 2xl | 1.953 | 31.3 | 2.25rem | h3 |
28
+ * | 3xl | 2.441 | 39.1 | 2.75rem | h2 |
29
+ * | 4xl | 3.052 | 48.8 | 3.25rem | h1, page titles |
30
+ */
31
+ export declare const FONT_SIZE: {
32
+ readonly xs: readonly ["0.640rem", {
33
+ readonly lineHeight: "1rem";
34
+ }];
35
+ readonly sm: readonly ["0.800rem", {
36
+ readonly lineHeight: "1.25rem";
37
+ }];
38
+ readonly base: readonly ["1rem", {
39
+ readonly lineHeight: "1.5rem";
40
+ }];
41
+ readonly lg: readonly ["1.250rem", {
42
+ readonly lineHeight: "1.75rem";
43
+ }];
44
+ readonly xl: readonly ["1.563rem", {
45
+ readonly lineHeight: "2rem";
46
+ }];
47
+ readonly '2xl': readonly ["1.953rem", {
48
+ readonly lineHeight: "2.25rem";
49
+ }];
50
+ readonly '3xl': readonly ["2.441rem", {
51
+ readonly lineHeight: "2.75rem";
52
+ }];
53
+ readonly '4xl': readonly ["3.052rem", {
54
+ readonly lineHeight: "3.25rem";
55
+ }];
56
+ };
57
+ /**
58
+ * Full 50-950 shade ranges for all semantic colors.
59
+ * 500-level values match the original DEFAULT colors.
60
+ * Shades verified for WCAG AA contrast against white.
61
+ *
62
+ * Mapping from previous token names:
63
+ * - primary.hover → primary.600
64
+ * - primary.dark → primary.700
65
+ */
66
+ export declare const COLORS: {
67
+ readonly primary: {
68
+ readonly 50: "#EFF6FC";
69
+ readonly 100: "#DCEEF9";
70
+ readonly 200: "#B3D9F2";
71
+ readonly 300: "#80BDE8";
72
+ readonly 400: "#4A9ED9";
73
+ readonly 500: "#127BC4";
74
+ readonly 600: "#0F6FA2";
75
+ readonly 700: "#0B4A76";
76
+ readonly 800: "#0A3D62";
77
+ readonly 900: "#083350";
78
+ readonly 950: "#052135";
79
+ };
80
+ readonly secondary: {
81
+ readonly 50: "#F0FDFC";
82
+ readonly 100: "#CCFBF6";
83
+ readonly 200: "#9AF5ED";
84
+ readonly 300: "#5FE8DD";
85
+ readonly 400: "#2ECFCA";
86
+ readonly 500: "#0D8483";
87
+ readonly 600: "#0A6C6B";
88
+ readonly 700: "#0B5756";
89
+ readonly 800: "#0D4545";
90
+ readonly 900: "#103939";
91
+ readonly 950: "#052222";
92
+ };
93
+ readonly tertiary: {
94
+ readonly 50: "#EDEDFE";
95
+ readonly 100: "#E0E1FD";
96
+ readonly 200: "#C6C8FB";
97
+ readonly 300: "#A5A8F8";
98
+ readonly 400: "#8287F7";
99
+ readonly 500: "#5F65F5";
100
+ readonly 600: "#4A4FDB";
101
+ readonly 700: "#3B3FB8";
102
+ readonly 800: "#323695";
103
+ readonly 900: "#2C2F7A";
104
+ readonly 950: "#1B1D4D";
105
+ };
106
+ readonly success: {
107
+ readonly 50: "#EEFBF3";
108
+ readonly 100: "#D6F5E2";
109
+ readonly 200: "#B0EBC8";
110
+ readonly 300: "#7CD9A5";
111
+ readonly 400: "#4DC37E";
112
+ readonly 500: "#338650";
113
+ readonly 600: "#2A7043";
114
+ readonly 700: "#235A37";
115
+ readonly 800: "#1F482E";
116
+ readonly 900: "#1A3B27";
117
+ readonly 950: "#0D2116";
118
+ };
119
+ readonly warning: {
120
+ readonly 50: "#FFF7ED";
121
+ readonly 100: "#FFEDD5";
122
+ readonly 200: "#FED7AA";
123
+ readonly 300: "#FDBA74";
124
+ readonly 400: "#F59542";
125
+ readonly 500: "#BB5C21";
126
+ readonly 600: "#A14D1B";
127
+ readonly 700: "#863E16";
128
+ readonly 800: "#6C3214";
129
+ readonly 900: "#592B14";
130
+ readonly 950: "#30130A";
131
+ };
132
+ readonly danger: {
133
+ readonly 50: "#FEF2F2";
134
+ readonly 100: "#FEE2E2";
135
+ readonly 200: "#FECACA";
136
+ readonly 300: "#FCA5A5";
137
+ readonly 400: "#F07272";
138
+ readonly 500: "#DC3838";
139
+ readonly 600: "#C42828";
140
+ readonly 700: "#A32222";
141
+ readonly 800: "#872222";
142
+ readonly 900: "#712222";
143
+ readonly 950: "#3E0E0E";
144
+ };
145
+ readonly neutral: {
146
+ readonly 50: "#FAFAFA";
147
+ readonly 100: "#F4F4F5";
148
+ readonly 200: "#E4E4E7";
149
+ readonly 300: "#D4D4D8";
150
+ readonly 400: "#A1A1AA";
151
+ readonly 500: "#71717A";
152
+ readonly 600: "#52525B";
153
+ readonly 700: "#3F3F46";
154
+ readonly 800: "#27272A";
155
+ readonly 900: "#18181B";
156
+ readonly 950: "#09090B";
157
+ };
158
+ };
159
+ /** Surface tokens for backgrounds */
160
+ export declare const SURFACE: {
161
+ readonly DEFAULT: "#FFFFFF";
162
+ readonly muted: "#F9FAFB";
163
+ readonly subtle: "#F4F4F5";
164
+ };
165
+ /**
166
+ * Spacing is based on a 4px grid using Tailwind's default scale.
167
+ *
168
+ * | Tailwind | rem | px | Use |
169
+ * |---------|--------|-----|----------------------------------|
170
+ * | 0.5 | 0.125 | 2 | Tight inline spacing |
171
+ * | 1 | 0.25 | 4 | Minimum spacing |
172
+ * | 1.5 | 0.375 | 6 | Compact component padding |
173
+ * | 2 | 0.5 | 8 | Small component padding, gaps |
174
+ * | 3 | 0.75 | 12 | Default component padding |
175
+ * | 4 | 1 | 16 | Card padding, form gaps |
176
+ * | 6 | 1.5 | 24 | Section spacing |
177
+ * | 8 | 2 | 32 | Large section spacing |
178
+ * | 12 | 3 | 48 | Page section gaps |
179
+ * | 16 | 4 | 64 | Page gutters |
180
+ * | 20 | 5 | 80 | Hero/feature section spacing |
181
+ * | 24 | 6 | 96 | Max page section spacing |
182
+ *
183
+ * Uses Tailwind's default spacing scale — no overrides needed.
184
+ */
185
+ export declare const SPACING_GUIDE: {
186
+ readonly 'inline-tight': {
187
+ readonly tailwind: "0.5";
188
+ readonly rem: "0.125";
189
+ readonly px: 2;
190
+ };
191
+ readonly minimum: {
192
+ readonly tailwind: "1";
193
+ readonly rem: "0.25";
194
+ readonly px: 4;
195
+ };
196
+ readonly 'compact-padding': {
197
+ readonly tailwind: "1.5";
198
+ readonly rem: "0.375";
199
+ readonly px: 6;
200
+ };
201
+ readonly 'small-padding': {
202
+ readonly tailwind: "2";
203
+ readonly rem: "0.5";
204
+ readonly px: 8;
205
+ };
206
+ readonly 'component-padding': {
207
+ readonly tailwind: "3";
208
+ readonly rem: "0.75";
209
+ readonly px: 12;
210
+ };
211
+ readonly 'card-padding': {
212
+ readonly tailwind: "4";
213
+ readonly rem: "1";
214
+ readonly px: 16;
215
+ };
216
+ readonly 'section-spacing': {
217
+ readonly tailwind: "6";
218
+ readonly rem: "1.5";
219
+ readonly px: 24;
220
+ };
221
+ readonly 'large-section': {
222
+ readonly tailwind: "8";
223
+ readonly rem: "2";
224
+ readonly px: 32;
225
+ };
226
+ readonly 'page-section-gap': {
227
+ readonly tailwind: "12";
228
+ readonly rem: "3";
229
+ readonly px: 48;
230
+ };
231
+ readonly 'page-gutter': {
232
+ readonly tailwind: "16";
233
+ readonly rem: "4";
234
+ readonly px: 64;
235
+ };
236
+ readonly 'hero-spacing': {
237
+ readonly tailwind: "20";
238
+ readonly rem: "5";
239
+ readonly px: 80;
240
+ };
241
+ readonly 'max-section': {
242
+ readonly tailwind: "24";
243
+ readonly rem: "6";
244
+ readonly px: 96;
245
+ };
246
+ };
247
+ export declare const RADIUS: {
248
+ readonly none: "0";
249
+ readonly sm: "0.125rem";
250
+ readonly DEFAULT: "0.375rem";
251
+ readonly md: "0.375rem";
252
+ readonly lg: "0.5rem";
253
+ readonly xl: "0.75rem";
254
+ readonly '2xl': "1rem";
255
+ readonly '3xl': "1.5rem";
256
+ readonly full: "9999px";
257
+ };
258
+ /**
259
+ * Shadow scale with subtler opacity (0.05-0.07) than Tailwind defaults.
260
+ *
261
+ * Elevation levels:
262
+ * - Level 0: none — Flat elements (disabled, inline)
263
+ * - Level 1: sm / DEFAULT — Cards, dropdowns at rest
264
+ * - Level 2: md — Hovered cards, active dropdowns
265
+ * - Level 3: lg — Dialogs, popovers, floating panels
266
+ * - Level 4: xl / 2xl — Reserved for rare high-emphasis overlays
267
+ */
268
+ export declare const SHADOWS: {
269
+ readonly sm: "0 1px 2px 0 rgb(0 0 0 / 0.05)";
270
+ readonly DEFAULT: "0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07)";
271
+ readonly md: "0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.05)";
272
+ readonly lg: "0 10px 15px -3px rgb(0 0 0 / 0.07), 0 4px 6px -4px rgb(0 0 0 / 0.05)";
273
+ readonly xl: "0 20px 25px -5px rgb(0 0 0 / 0.07), 0 8px 10px -6px rgb(0 0 0 / 0.05)";
274
+ readonly '2xl': "0 25px 50px -12px rgb(0 0 0 / 0.15)";
275
+ readonly inner: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)";
276
+ readonly none: "none";
277
+ };
278
+ export declare const FOCUS_RING: {
279
+ readonly width: "2px";
280
+ readonly style: "solid";
281
+ readonly color: "#127BC4";
282
+ readonly offset: "2px";
283
+ };
284
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,eAAO,MAAM,gBAAgB,wJAWnB,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CASZ,CAAC;AAIX;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FT,CAAC;AAEX,qCAAqC;AACrC,eAAO,MAAM,OAAO;;;;CAIV,CAAC;AAIX;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAahB,CAAC;AAIX,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC;AAIX;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;;;;;;;;CASV,CAAC;AAIX,eAAO,MAAM,UAAU;;;;;CAKb,CAAC"}
package/dist/tokens.js ADDED
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Davis Design System — Design Tokens
3
+ *
4
+ * ⚠️ SINGLE SOURCE OF TRUTH — All design token values are defined here.
5
+ *
6
+ * This file generates:
7
+ * - tailwind.preset.cjs (Tailwind v3 config)
8
+ * - src/theme.css (Tailwind v4 theme)
9
+ *
10
+ * After modifying this file, run: npm run generate:configs
11
+ *
12
+ * Typography: Major Third scale (ratio 1.250, base 16px)
13
+ * Colors: Full 50-950 shade ranges, WCAG AA verified against white
14
+ * Spacing: 4px base grid (uses Tailwind default scale)
15
+ */
16
+ // ─── Typography ──────────────────────────────────────────────────
17
+ export const FONT_FAMILY_SANS = [
18
+ 'Inter',
19
+ 'ui-sans-serif',
20
+ 'system-ui',
21
+ '-apple-system',
22
+ 'BlinkMacSystemFont',
23
+ 'Segoe UI',
24
+ 'Roboto',
25
+ 'Helvetica Neue',
26
+ 'Arial',
27
+ 'sans-serif',
28
+ ];
29
+ /**
30
+ * Major Third typographic scale (ratio 1.250, base 16px)
31
+ *
32
+ * | Token | rem | px | Line height | Use |
33
+ * |-------|-------|------|-------------|------------------------|
34
+ * | xs | 0.640 | 10.2 | 1rem | Captions, fine print |
35
+ * | sm | 0.800 | 12.8 | 1.25rem | Labels, helper text |
36
+ * | base | 1.000 | 16.0 | 1.5rem | Body text, buttons |
37
+ * | lg | 1.250 | 20.0 | 1.75rem | Lead text, h5, h6 |
38
+ * | xl | 1.563 | 25.0 | 2rem | h4 |
39
+ * | 2xl | 1.953 | 31.3 | 2.25rem | h3 |
40
+ * | 3xl | 2.441 | 39.1 | 2.75rem | h2 |
41
+ * | 4xl | 3.052 | 48.8 | 3.25rem | h1, page titles |
42
+ */
43
+ export const FONT_SIZE = {
44
+ xs: ['0.640rem', { lineHeight: '1rem' }],
45
+ sm: ['0.800rem', { lineHeight: '1.25rem' }],
46
+ base: ['1rem', { lineHeight: '1.5rem' }],
47
+ lg: ['1.250rem', { lineHeight: '1.75rem' }],
48
+ xl: ['1.563rem', { lineHeight: '2rem' }],
49
+ '2xl': ['1.953rem', { lineHeight: '2.25rem' }],
50
+ '3xl': ['2.441rem', { lineHeight: '2.75rem' }],
51
+ '4xl': ['3.052rem', { lineHeight: '3.25rem' }],
52
+ };
53
+ // ─── Colors ──────────────────────────────────────────────────────
54
+ /**
55
+ * Full 50-950 shade ranges for all semantic colors.
56
+ * 500-level values match the original DEFAULT colors.
57
+ * Shades verified for WCAG AA contrast against white.
58
+ *
59
+ * Mapping from previous token names:
60
+ * - primary.hover → primary.600
61
+ * - primary.dark → primary.700
62
+ */
63
+ export const COLORS = {
64
+ primary: {
65
+ 50: '#EFF6FC',
66
+ 100: '#DCEEF9',
67
+ 200: '#B3D9F2',
68
+ 300: '#80BDE8',
69
+ 400: '#4A9ED9',
70
+ 500: '#127BC4',
71
+ 600: '#0F6FA2',
72
+ 700: '#0B4A76',
73
+ 800: '#0A3D62',
74
+ 900: '#083350',
75
+ 950: '#052135',
76
+ },
77
+ secondary: {
78
+ 50: '#F0FDFC',
79
+ 100: '#CCFBF6',
80
+ 200: '#9AF5ED',
81
+ 300: '#5FE8DD',
82
+ 400: '#2ECFCA',
83
+ 500: '#0D8483',
84
+ 600: '#0A6C6B',
85
+ 700: '#0B5756',
86
+ 800: '#0D4545',
87
+ 900: '#103939',
88
+ 950: '#052222',
89
+ },
90
+ tertiary: {
91
+ 50: '#EDEDFE',
92
+ 100: '#E0E1FD',
93
+ 200: '#C6C8FB',
94
+ 300: '#A5A8F8',
95
+ 400: '#8287F7',
96
+ 500: '#5F65F5',
97
+ 600: '#4A4FDB',
98
+ 700: '#3B3FB8',
99
+ 800: '#323695',
100
+ 900: '#2C2F7A',
101
+ 950: '#1B1D4D',
102
+ },
103
+ success: {
104
+ 50: '#EEFBF3',
105
+ 100: '#D6F5E2',
106
+ 200: '#B0EBC8',
107
+ 300: '#7CD9A5',
108
+ 400: '#4DC37E',
109
+ 500: '#338650',
110
+ 600: '#2A7043',
111
+ 700: '#235A37',
112
+ 800: '#1F482E',
113
+ 900: '#1A3B27',
114
+ 950: '#0D2116',
115
+ },
116
+ warning: {
117
+ 50: '#FFF7ED',
118
+ 100: '#FFEDD5',
119
+ 200: '#FED7AA',
120
+ 300: '#FDBA74',
121
+ 400: '#F59542',
122
+ 500: '#BB5C21',
123
+ 600: '#A14D1B',
124
+ 700: '#863E16',
125
+ 800: '#6C3214',
126
+ 900: '#592B14',
127
+ 950: '#30130A',
128
+ },
129
+ danger: {
130
+ 50: '#FEF2F2',
131
+ 100: '#FEE2E2',
132
+ 200: '#FECACA',
133
+ 300: '#FCA5A5',
134
+ 400: '#F07272',
135
+ 500: '#DC3838',
136
+ 600: '#C42828',
137
+ 700: '#A32222',
138
+ 800: '#872222',
139
+ 900: '#712222',
140
+ 950: '#3E0E0E',
141
+ },
142
+ neutral: {
143
+ 50: '#FAFAFA',
144
+ 100: '#F4F4F5',
145
+ 200: '#E4E4E7',
146
+ 300: '#D4D4D8',
147
+ 400: '#A1A1AA',
148
+ 500: '#71717A',
149
+ 600: '#52525B',
150
+ 700: '#3F3F46',
151
+ 800: '#27272A',
152
+ 900: '#18181B',
153
+ 950: '#09090B',
154
+ },
155
+ };
156
+ /** Surface tokens for backgrounds */
157
+ export const SURFACE = {
158
+ DEFAULT: '#FFFFFF',
159
+ muted: '#F9FAFB',
160
+ subtle: '#F4F4F5',
161
+ };
162
+ // ─── Spacing ─────────────────────────────────────────────────────
163
+ /**
164
+ * Spacing is based on a 4px grid using Tailwind's default scale.
165
+ *
166
+ * | Tailwind | rem | px | Use |
167
+ * |---------|--------|-----|----------------------------------|
168
+ * | 0.5 | 0.125 | 2 | Tight inline spacing |
169
+ * | 1 | 0.25 | 4 | Minimum spacing |
170
+ * | 1.5 | 0.375 | 6 | Compact component padding |
171
+ * | 2 | 0.5 | 8 | Small component padding, gaps |
172
+ * | 3 | 0.75 | 12 | Default component padding |
173
+ * | 4 | 1 | 16 | Card padding, form gaps |
174
+ * | 6 | 1.5 | 24 | Section spacing |
175
+ * | 8 | 2 | 32 | Large section spacing |
176
+ * | 12 | 3 | 48 | Page section gaps |
177
+ * | 16 | 4 | 64 | Page gutters |
178
+ * | 20 | 5 | 80 | Hero/feature section spacing |
179
+ * | 24 | 6 | 96 | Max page section spacing |
180
+ *
181
+ * Uses Tailwind's default spacing scale — no overrides needed.
182
+ */
183
+ export const SPACING_GUIDE = {
184
+ 'inline-tight': { tailwind: '0.5', rem: '0.125', px: 2 },
185
+ 'minimum': { tailwind: '1', rem: '0.25', px: 4 },
186
+ 'compact-padding': { tailwind: '1.5', rem: '0.375', px: 6 },
187
+ 'small-padding': { tailwind: '2', rem: '0.5', px: 8 },
188
+ 'component-padding': { tailwind: '3', rem: '0.75', px: 12 },
189
+ 'card-padding': { tailwind: '4', rem: '1', px: 16 },
190
+ 'section-spacing': { tailwind: '6', rem: '1.5', px: 24 },
191
+ 'large-section': { tailwind: '8', rem: '2', px: 32 },
192
+ 'page-section-gap': { tailwind: '12', rem: '3', px: 48 },
193
+ 'page-gutter': { tailwind: '16', rem: '4', px: 64 },
194
+ 'hero-spacing': { tailwind: '20', rem: '5', px: 80 },
195
+ 'max-section': { tailwind: '24', rem: '6', px: 96 },
196
+ };
197
+ // ─── Border Radius ───────────────────────────────────────────────
198
+ export const RADIUS = {
199
+ none: '0',
200
+ sm: '0.125rem',
201
+ DEFAULT: '0.375rem',
202
+ md: '0.375rem',
203
+ lg: '0.5rem',
204
+ xl: '0.75rem',
205
+ '2xl': '1rem',
206
+ '3xl': '1.5rem',
207
+ full: '9999px',
208
+ };
209
+ // ─── Elevation / Shadows ─────────────────────────────────────────
210
+ /**
211
+ * Shadow scale with subtler opacity (0.05-0.07) than Tailwind defaults.
212
+ *
213
+ * Elevation levels:
214
+ * - Level 0: none — Flat elements (disabled, inline)
215
+ * - Level 1: sm / DEFAULT — Cards, dropdowns at rest
216
+ * - Level 2: md — Hovered cards, active dropdowns
217
+ * - Level 3: lg — Dialogs, popovers, floating panels
218
+ * - Level 4: xl / 2xl — Reserved for rare high-emphasis overlays
219
+ */
220
+ export const SHADOWS = {
221
+ sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
222
+ DEFAULT: '0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07)',
223
+ md: '0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.05)',
224
+ lg: '0 10px 15px -3px rgb(0 0 0 / 0.07), 0 4px 6px -4px rgb(0 0 0 / 0.05)',
225
+ xl: '0 20px 25px -5px rgb(0 0 0 / 0.07), 0 8px 10px -6px rgb(0 0 0 / 0.05)',
226
+ '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.15)',
227
+ inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',
228
+ none: 'none',
229
+ };
230
+ // ─── Focus Ring ──────────────────────────────────────────────────
231
+ export const FOCUS_RING = {
232
+ width: '2px',
233
+ style: 'solid',
234
+ color: '#127BC4',
235
+ offset: '2px',
236
+ };
237
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}