@freehold/design-tokens 0.0.1
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 +129 -0
- package/dist/index.d.mts +253 -0
- package/dist/index.d.ts +253 -0
- package/dist/index.js +372 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +338 -0
- package/dist/index.mjs.map +1 -0
- package/dist/tokens.css +132 -0
- package/package.json +45 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Freehold
|
|
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,129 @@
|
|
|
1
|
+
# @freehold/design-tokens
|
|
2
|
+
|
|
3
|
+
Design tokens for the Freehold design system. Available as TypeScript/JavaScript objects or CSS custom properties.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add @freehold/design-tokens
|
|
9
|
+
# or
|
|
10
|
+
npm install @freehold/design-tokens
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
### CSS Custom Properties
|
|
16
|
+
|
|
17
|
+
Import the CSS file to get all tokens as `--fh-*` custom properties on `:root`:
|
|
18
|
+
|
|
19
|
+
```css
|
|
20
|
+
@import '@freehold/design-tokens/css';
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Then use them in your styles:
|
|
24
|
+
|
|
25
|
+
```css
|
|
26
|
+
.card {
|
|
27
|
+
background: var(--fh-color-background-elevated);
|
|
28
|
+
color: var(--fh-color-text-primary);
|
|
29
|
+
border-radius: var(--fh-radius-lg);
|
|
30
|
+
box-shadow: var(--fh-shadow-default);
|
|
31
|
+
padding: var(--fh-spacing-4);
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### JavaScript / TypeScript
|
|
36
|
+
|
|
37
|
+
Import individual token groups:
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
import { colors, typography, spacing, shadows, radii, animations } from '@freehold/design-tokens'
|
|
41
|
+
|
|
42
|
+
// Use directly
|
|
43
|
+
const bg = colors.background.primary // '#FAF9F6'
|
|
44
|
+
const font = typography.fonts.heading // '"DM Serif Display", Georgia, serif'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Tailwind CSS Preset
|
|
48
|
+
|
|
49
|
+
The package exports a `tailwindPreset` for extending your Tailwind config:
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
// tailwind.config.ts
|
|
53
|
+
import { tailwindPreset } from '@freehold/design-tokens'
|
|
54
|
+
|
|
55
|
+
export default {
|
|
56
|
+
theme: {
|
|
57
|
+
extend: {
|
|
58
|
+
colors: tailwindPreset.colors,
|
|
59
|
+
fontFamily: tailwindPreset.fontFamily,
|
|
60
|
+
borderRadius: tailwindPreset.borderRadius,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Token Reference
|
|
67
|
+
|
|
68
|
+
### Colors
|
|
69
|
+
|
|
70
|
+
| Token | Value | Usage |
|
|
71
|
+
|-------|-------|-------|
|
|
72
|
+
| `background.primary` | `#FAF9F6` | Page background |
|
|
73
|
+
| `background.secondary` | `#F5F3EF` | Section backgrounds |
|
|
74
|
+
| `background.elevated` | `#FFFFFF` | Elevated surfaces |
|
|
75
|
+
| `text.primary` | `#2C2824` | Primary text |
|
|
76
|
+
| `text.secondary` | `#5C574F` | Secondary text |
|
|
77
|
+
| `text.tertiary` | `#8A847A` | Muted text |
|
|
78
|
+
| `sand.500` | `#B8A48E` | Primary accent |
|
|
79
|
+
| `sand.600` | `#A08A6E` | Accent hover |
|
|
80
|
+
|
|
81
|
+
Full sand palette: 50-900.
|
|
82
|
+
|
|
83
|
+
### Status Colors
|
|
84
|
+
|
|
85
|
+
Each status has `background`, `text`, `border`, and `dot` values:
|
|
86
|
+
|
|
87
|
+
- `pending` — amber tones
|
|
88
|
+
- `approved` / `success` — green tones
|
|
89
|
+
- `paid` — blue tones
|
|
90
|
+
- `error` — red tones
|
|
91
|
+
- `warning` — amber tones
|
|
92
|
+
|
|
93
|
+
### Typography
|
|
94
|
+
|
|
95
|
+
| Token | Value |
|
|
96
|
+
|-------|-------|
|
|
97
|
+
| `fonts.heading` | DM Serif Display, Georgia, serif |
|
|
98
|
+
| `fonts.body` | DM Sans, system-ui, sans-serif |
|
|
99
|
+
| `fonts.mono` | JetBrains Mono, Consolas, monospace |
|
|
100
|
+
|
|
101
|
+
Font sizes: `xs` (12px) through `5xl` (48px).
|
|
102
|
+
|
|
103
|
+
### Spacing
|
|
104
|
+
|
|
105
|
+
8px grid system: `0.5` (2px), `1` (4px), `2` (8px), `4` (16px), `6` (24px), `8` (32px), `12` (48px), `16` (64px), `24` (96px), `32` (128px).
|
|
106
|
+
|
|
107
|
+
### Border Radius
|
|
108
|
+
|
|
109
|
+
| Token | Value | Usage |
|
|
110
|
+
|-------|-------|-------|
|
|
111
|
+
| `sm` | 8px | Buttons, sidebar items |
|
|
112
|
+
| `md` | 10px | Inputs, inner cards |
|
|
113
|
+
| `lg` | 14px | Outer cards |
|
|
114
|
+
| `xl` | 16px | Dashboard wrappers |
|
|
115
|
+
| `full` | 9999px | Pills, badges |
|
|
116
|
+
|
|
117
|
+
### Shadows
|
|
118
|
+
|
|
119
|
+
Warm-tinted dual-layer shadows: `sm`, `default`, `md`, `lg`, `xl`, `elevated`, `hover`, `button`, `card`, `inner`.
|
|
120
|
+
|
|
121
|
+
### Animations
|
|
122
|
+
|
|
123
|
+
- **Durations**: `fast` (150ms), `default` (200ms), `slow` (350ms), `slower` (500ms)
|
|
124
|
+
- **Easings**: `default`, `in`, `out`, `inOut`, `bounce`
|
|
125
|
+
- **Transitions**: Pre-composed `duration + easing` strings
|
|
126
|
+
|
|
127
|
+
## License
|
|
128
|
+
|
|
129
|
+
MIT
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
declare const colors: {
|
|
2
|
+
readonly background: {
|
|
3
|
+
readonly primary: "#FAF9F6";
|
|
4
|
+
readonly secondary: "#F5F3EF";
|
|
5
|
+
readonly tertiary: "#EFECE6";
|
|
6
|
+
readonly elevated: "#FFFFFF";
|
|
7
|
+
};
|
|
8
|
+
readonly sand: {
|
|
9
|
+
readonly 50: "#F9F7F4";
|
|
10
|
+
readonly 100: "#F2EDE6";
|
|
11
|
+
readonly 200: "#E5DDD1";
|
|
12
|
+
readonly 300: "#D4C8B8";
|
|
13
|
+
readonly 400: "#C4B49E";
|
|
14
|
+
readonly 500: "#B8A48E";
|
|
15
|
+
readonly 600: "#A08A6E";
|
|
16
|
+
readonly 700: "#86715A";
|
|
17
|
+
readonly 800: "#6B5A48";
|
|
18
|
+
readonly 900: "#544737";
|
|
19
|
+
};
|
|
20
|
+
readonly text: {
|
|
21
|
+
readonly primary: "#2C2824";
|
|
22
|
+
readonly secondary: "#5C574F";
|
|
23
|
+
readonly tertiary: "#8A847A";
|
|
24
|
+
readonly inverse: "#FAF9F6";
|
|
25
|
+
};
|
|
26
|
+
readonly status: {
|
|
27
|
+
readonly pending: {
|
|
28
|
+
readonly background: "#FEF3C7";
|
|
29
|
+
readonly text: "#92400E";
|
|
30
|
+
readonly border: "#FCD34D";
|
|
31
|
+
readonly dot: "#D4B86A";
|
|
32
|
+
};
|
|
33
|
+
readonly approved: {
|
|
34
|
+
readonly background: "#D1FAE5";
|
|
35
|
+
readonly text: "#065F46";
|
|
36
|
+
readonly border: "#6EE7B7";
|
|
37
|
+
readonly dot: "#8DB580";
|
|
38
|
+
};
|
|
39
|
+
readonly paid: {
|
|
40
|
+
readonly background: "#DBEAFE";
|
|
41
|
+
readonly text: "#1E40AF";
|
|
42
|
+
readonly border: "#93C5FD";
|
|
43
|
+
readonly dot: "#60A5FA";
|
|
44
|
+
};
|
|
45
|
+
readonly error: {
|
|
46
|
+
readonly background: "#FEE2E2";
|
|
47
|
+
readonly text: "#991B1B";
|
|
48
|
+
readonly border: "#FCA5A5";
|
|
49
|
+
readonly dot: "#C4796B";
|
|
50
|
+
};
|
|
51
|
+
readonly success: {
|
|
52
|
+
readonly background: "#D1FAE5";
|
|
53
|
+
readonly text: "#065F46";
|
|
54
|
+
readonly border: "#6EE7B7";
|
|
55
|
+
readonly dot: "#8DB580";
|
|
56
|
+
};
|
|
57
|
+
readonly warning: {
|
|
58
|
+
readonly background: "#FEF3C7";
|
|
59
|
+
readonly text: "#92400E";
|
|
60
|
+
readonly border: "#FCD34D";
|
|
61
|
+
readonly dot: "#D4B86A";
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
readonly semantic: {
|
|
65
|
+
readonly success: "#8DB580";
|
|
66
|
+
readonly warning: "#D4B86A";
|
|
67
|
+
readonly error: "#C4796B";
|
|
68
|
+
readonly info: "#60A5FA";
|
|
69
|
+
};
|
|
70
|
+
readonly border: {
|
|
71
|
+
readonly subtle: "rgba(184, 164, 142, 0.15)";
|
|
72
|
+
readonly default: "rgba(184, 164, 142, 0.25)";
|
|
73
|
+
readonly strong: "rgba(184, 164, 142, 0.4)";
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
type Colors = typeof colors;
|
|
77
|
+
|
|
78
|
+
declare const typography: {
|
|
79
|
+
readonly fonts: {
|
|
80
|
+
readonly heading: "\"DM Serif Display\", Georgia, serif";
|
|
81
|
+
readonly body: "\"DM Sans\", system-ui, sans-serif";
|
|
82
|
+
readonly mono: "\"JetBrains Mono\", Consolas, monospace";
|
|
83
|
+
};
|
|
84
|
+
readonly fontSizes: {
|
|
85
|
+
readonly xs: "0.75rem";
|
|
86
|
+
readonly sm: "0.875rem";
|
|
87
|
+
readonly base: "1rem";
|
|
88
|
+
readonly lg: "1.125rem";
|
|
89
|
+
readonly xl: "1.25rem";
|
|
90
|
+
readonly '2xl': "1.5rem";
|
|
91
|
+
readonly '3xl': "1.875rem";
|
|
92
|
+
readonly '4xl': "2.25rem";
|
|
93
|
+
readonly '5xl': "3rem";
|
|
94
|
+
};
|
|
95
|
+
readonly fontWeights: {
|
|
96
|
+
readonly normal: "400";
|
|
97
|
+
readonly medium: "500";
|
|
98
|
+
readonly semibold: "600";
|
|
99
|
+
readonly bold: "700";
|
|
100
|
+
};
|
|
101
|
+
readonly lineHeights: {
|
|
102
|
+
readonly tight: "1.25";
|
|
103
|
+
readonly snug: "1.375";
|
|
104
|
+
readonly normal: "1.5";
|
|
105
|
+
readonly relaxed: "1.625";
|
|
106
|
+
readonly loose: "2";
|
|
107
|
+
};
|
|
108
|
+
readonly letterSpacing: {
|
|
109
|
+
readonly tighter: "-0.05em";
|
|
110
|
+
readonly tight: "-0.025em";
|
|
111
|
+
readonly normal: "0";
|
|
112
|
+
readonly wide: "0.025em";
|
|
113
|
+
readonly wider: "0.05em";
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
type Typography = typeof typography;
|
|
117
|
+
|
|
118
|
+
declare const spacing: {
|
|
119
|
+
readonly 0: "0";
|
|
120
|
+
readonly 0.5: "0.125rem";
|
|
121
|
+
readonly 1: "0.25rem";
|
|
122
|
+
readonly 1.5: "0.375rem";
|
|
123
|
+
readonly 2: "0.5rem";
|
|
124
|
+
readonly 2.5: "0.625rem";
|
|
125
|
+
readonly 3: "0.75rem";
|
|
126
|
+
readonly 3.5: "0.875rem";
|
|
127
|
+
readonly 4: "1rem";
|
|
128
|
+
readonly 5: "1.25rem";
|
|
129
|
+
readonly 6: "1.5rem";
|
|
130
|
+
readonly 7: "1.75rem";
|
|
131
|
+
readonly 8: "2rem";
|
|
132
|
+
readonly 9: "2.25rem";
|
|
133
|
+
readonly 10: "2.5rem";
|
|
134
|
+
readonly 11: "2.75rem";
|
|
135
|
+
readonly 12: "3rem";
|
|
136
|
+
readonly 14: "3.5rem";
|
|
137
|
+
readonly 16: "4rem";
|
|
138
|
+
readonly 20: "5rem";
|
|
139
|
+
readonly 24: "6rem";
|
|
140
|
+
readonly 28: "7rem";
|
|
141
|
+
readonly 32: "8rem";
|
|
142
|
+
};
|
|
143
|
+
declare const radii: {
|
|
144
|
+
readonly none: "0";
|
|
145
|
+
readonly sm: "0.5rem";
|
|
146
|
+
readonly default: "0.5rem";
|
|
147
|
+
readonly md: "0.625rem";
|
|
148
|
+
readonly lg: "0.875rem";
|
|
149
|
+
readonly xl: "1rem";
|
|
150
|
+
readonly '2xl': "1.5rem";
|
|
151
|
+
readonly full: "9999px";
|
|
152
|
+
};
|
|
153
|
+
declare const radiiPx: {
|
|
154
|
+
readonly none: 0;
|
|
155
|
+
readonly sm: 8;
|
|
156
|
+
readonly default: 8;
|
|
157
|
+
readonly md: 10;
|
|
158
|
+
readonly lg: 14;
|
|
159
|
+
readonly xl: 16;
|
|
160
|
+
readonly '2xl': 24;
|
|
161
|
+
readonly full: 9999;
|
|
162
|
+
};
|
|
163
|
+
type Spacing = typeof spacing;
|
|
164
|
+
type Radii = typeof radii;
|
|
165
|
+
type RadiiPx = typeof radiiPx;
|
|
166
|
+
|
|
167
|
+
declare const shadows: {
|
|
168
|
+
readonly none: "none";
|
|
169
|
+
readonly sm: string;
|
|
170
|
+
readonly default: string;
|
|
171
|
+
readonly md: string;
|
|
172
|
+
readonly lg: string;
|
|
173
|
+
readonly xl: string;
|
|
174
|
+
readonly elevated: string;
|
|
175
|
+
readonly hover: "0 2px 8px rgba(26,26,26,0.06), 0 8px 24px rgba(26,26,26,0.05)";
|
|
176
|
+
readonly button: "0 2px 8px rgba(26,26,26,0.12)";
|
|
177
|
+
readonly card: "0 4px 24px rgba(26,26,26,0.04), 0 12px 48px rgba(26,26,26,0.03)";
|
|
178
|
+
readonly inner: "inset 0 1px 2px 0 rgba(184, 164, 142, 0.06)";
|
|
179
|
+
};
|
|
180
|
+
type Shadows = typeof shadows;
|
|
181
|
+
|
|
182
|
+
declare const animations: {
|
|
183
|
+
readonly durations: {
|
|
184
|
+
readonly fast: "150ms";
|
|
185
|
+
readonly default: "200ms";
|
|
186
|
+
readonly slow: "350ms";
|
|
187
|
+
readonly slower: "500ms";
|
|
188
|
+
};
|
|
189
|
+
readonly easings: {
|
|
190
|
+
readonly default: "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
191
|
+
readonly in: "cubic-bezier(0.4, 0, 1, 1)";
|
|
192
|
+
readonly out: "cubic-bezier(0, 0, 0.2, 1)";
|
|
193
|
+
readonly inOut: "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
194
|
+
readonly bounce: "cubic-bezier(0.34, 1.56, 0.64, 1)";
|
|
195
|
+
};
|
|
196
|
+
readonly transitions: {
|
|
197
|
+
readonly fast: "150ms cubic-bezier(0.4, 0, 0.2, 1)";
|
|
198
|
+
readonly default: "200ms cubic-bezier(0.4, 0, 0.2, 1)";
|
|
199
|
+
readonly slow: "350ms cubic-bezier(0.4, 0, 0.2, 1)";
|
|
200
|
+
};
|
|
201
|
+
readonly hoverLift: "translateY(-2px)";
|
|
202
|
+
};
|
|
203
|
+
type Animations = typeof animations;
|
|
204
|
+
|
|
205
|
+
declare const tailwindPreset: {
|
|
206
|
+
colors: {
|
|
207
|
+
background: {
|
|
208
|
+
primary: string;
|
|
209
|
+
secondary: string;
|
|
210
|
+
tertiary: string;
|
|
211
|
+
elevated: string;
|
|
212
|
+
};
|
|
213
|
+
sand: {
|
|
214
|
+
50: string;
|
|
215
|
+
100: string;
|
|
216
|
+
200: string;
|
|
217
|
+
300: string;
|
|
218
|
+
400: string;
|
|
219
|
+
500: string;
|
|
220
|
+
600: string;
|
|
221
|
+
700: string;
|
|
222
|
+
800: string;
|
|
223
|
+
900: string;
|
|
224
|
+
};
|
|
225
|
+
text: {
|
|
226
|
+
primary: string;
|
|
227
|
+
secondary: string;
|
|
228
|
+
tertiary: string;
|
|
229
|
+
inverse: string;
|
|
230
|
+
};
|
|
231
|
+
status: {
|
|
232
|
+
pending: string;
|
|
233
|
+
approved: string;
|
|
234
|
+
paid: string;
|
|
235
|
+
error: string;
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
fontFamily: {
|
|
239
|
+
heading: string[];
|
|
240
|
+
body: string[];
|
|
241
|
+
mono: string[];
|
|
242
|
+
};
|
|
243
|
+
borderRadius: {
|
|
244
|
+
sm: string;
|
|
245
|
+
DEFAULT: string;
|
|
246
|
+
md: string;
|
|
247
|
+
lg: string;
|
|
248
|
+
xl: string;
|
|
249
|
+
'2xl': string;
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
export { type Animations, type Colors, type Radii, type RadiiPx, type Shadows, type Spacing, type Typography, animations, colors, radii, radiiPx, shadows, spacing, tailwindPreset, typography };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
declare const colors: {
|
|
2
|
+
readonly background: {
|
|
3
|
+
readonly primary: "#FAF9F6";
|
|
4
|
+
readonly secondary: "#F5F3EF";
|
|
5
|
+
readonly tertiary: "#EFECE6";
|
|
6
|
+
readonly elevated: "#FFFFFF";
|
|
7
|
+
};
|
|
8
|
+
readonly sand: {
|
|
9
|
+
readonly 50: "#F9F7F4";
|
|
10
|
+
readonly 100: "#F2EDE6";
|
|
11
|
+
readonly 200: "#E5DDD1";
|
|
12
|
+
readonly 300: "#D4C8B8";
|
|
13
|
+
readonly 400: "#C4B49E";
|
|
14
|
+
readonly 500: "#B8A48E";
|
|
15
|
+
readonly 600: "#A08A6E";
|
|
16
|
+
readonly 700: "#86715A";
|
|
17
|
+
readonly 800: "#6B5A48";
|
|
18
|
+
readonly 900: "#544737";
|
|
19
|
+
};
|
|
20
|
+
readonly text: {
|
|
21
|
+
readonly primary: "#2C2824";
|
|
22
|
+
readonly secondary: "#5C574F";
|
|
23
|
+
readonly tertiary: "#8A847A";
|
|
24
|
+
readonly inverse: "#FAF9F6";
|
|
25
|
+
};
|
|
26
|
+
readonly status: {
|
|
27
|
+
readonly pending: {
|
|
28
|
+
readonly background: "#FEF3C7";
|
|
29
|
+
readonly text: "#92400E";
|
|
30
|
+
readonly border: "#FCD34D";
|
|
31
|
+
readonly dot: "#D4B86A";
|
|
32
|
+
};
|
|
33
|
+
readonly approved: {
|
|
34
|
+
readonly background: "#D1FAE5";
|
|
35
|
+
readonly text: "#065F46";
|
|
36
|
+
readonly border: "#6EE7B7";
|
|
37
|
+
readonly dot: "#8DB580";
|
|
38
|
+
};
|
|
39
|
+
readonly paid: {
|
|
40
|
+
readonly background: "#DBEAFE";
|
|
41
|
+
readonly text: "#1E40AF";
|
|
42
|
+
readonly border: "#93C5FD";
|
|
43
|
+
readonly dot: "#60A5FA";
|
|
44
|
+
};
|
|
45
|
+
readonly error: {
|
|
46
|
+
readonly background: "#FEE2E2";
|
|
47
|
+
readonly text: "#991B1B";
|
|
48
|
+
readonly border: "#FCA5A5";
|
|
49
|
+
readonly dot: "#C4796B";
|
|
50
|
+
};
|
|
51
|
+
readonly success: {
|
|
52
|
+
readonly background: "#D1FAE5";
|
|
53
|
+
readonly text: "#065F46";
|
|
54
|
+
readonly border: "#6EE7B7";
|
|
55
|
+
readonly dot: "#8DB580";
|
|
56
|
+
};
|
|
57
|
+
readonly warning: {
|
|
58
|
+
readonly background: "#FEF3C7";
|
|
59
|
+
readonly text: "#92400E";
|
|
60
|
+
readonly border: "#FCD34D";
|
|
61
|
+
readonly dot: "#D4B86A";
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
readonly semantic: {
|
|
65
|
+
readonly success: "#8DB580";
|
|
66
|
+
readonly warning: "#D4B86A";
|
|
67
|
+
readonly error: "#C4796B";
|
|
68
|
+
readonly info: "#60A5FA";
|
|
69
|
+
};
|
|
70
|
+
readonly border: {
|
|
71
|
+
readonly subtle: "rgba(184, 164, 142, 0.15)";
|
|
72
|
+
readonly default: "rgba(184, 164, 142, 0.25)";
|
|
73
|
+
readonly strong: "rgba(184, 164, 142, 0.4)";
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
type Colors = typeof colors;
|
|
77
|
+
|
|
78
|
+
declare const typography: {
|
|
79
|
+
readonly fonts: {
|
|
80
|
+
readonly heading: "\"DM Serif Display\", Georgia, serif";
|
|
81
|
+
readonly body: "\"DM Sans\", system-ui, sans-serif";
|
|
82
|
+
readonly mono: "\"JetBrains Mono\", Consolas, monospace";
|
|
83
|
+
};
|
|
84
|
+
readonly fontSizes: {
|
|
85
|
+
readonly xs: "0.75rem";
|
|
86
|
+
readonly sm: "0.875rem";
|
|
87
|
+
readonly base: "1rem";
|
|
88
|
+
readonly lg: "1.125rem";
|
|
89
|
+
readonly xl: "1.25rem";
|
|
90
|
+
readonly '2xl': "1.5rem";
|
|
91
|
+
readonly '3xl': "1.875rem";
|
|
92
|
+
readonly '4xl': "2.25rem";
|
|
93
|
+
readonly '5xl': "3rem";
|
|
94
|
+
};
|
|
95
|
+
readonly fontWeights: {
|
|
96
|
+
readonly normal: "400";
|
|
97
|
+
readonly medium: "500";
|
|
98
|
+
readonly semibold: "600";
|
|
99
|
+
readonly bold: "700";
|
|
100
|
+
};
|
|
101
|
+
readonly lineHeights: {
|
|
102
|
+
readonly tight: "1.25";
|
|
103
|
+
readonly snug: "1.375";
|
|
104
|
+
readonly normal: "1.5";
|
|
105
|
+
readonly relaxed: "1.625";
|
|
106
|
+
readonly loose: "2";
|
|
107
|
+
};
|
|
108
|
+
readonly letterSpacing: {
|
|
109
|
+
readonly tighter: "-0.05em";
|
|
110
|
+
readonly tight: "-0.025em";
|
|
111
|
+
readonly normal: "0";
|
|
112
|
+
readonly wide: "0.025em";
|
|
113
|
+
readonly wider: "0.05em";
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
type Typography = typeof typography;
|
|
117
|
+
|
|
118
|
+
declare const spacing: {
|
|
119
|
+
readonly 0: "0";
|
|
120
|
+
readonly 0.5: "0.125rem";
|
|
121
|
+
readonly 1: "0.25rem";
|
|
122
|
+
readonly 1.5: "0.375rem";
|
|
123
|
+
readonly 2: "0.5rem";
|
|
124
|
+
readonly 2.5: "0.625rem";
|
|
125
|
+
readonly 3: "0.75rem";
|
|
126
|
+
readonly 3.5: "0.875rem";
|
|
127
|
+
readonly 4: "1rem";
|
|
128
|
+
readonly 5: "1.25rem";
|
|
129
|
+
readonly 6: "1.5rem";
|
|
130
|
+
readonly 7: "1.75rem";
|
|
131
|
+
readonly 8: "2rem";
|
|
132
|
+
readonly 9: "2.25rem";
|
|
133
|
+
readonly 10: "2.5rem";
|
|
134
|
+
readonly 11: "2.75rem";
|
|
135
|
+
readonly 12: "3rem";
|
|
136
|
+
readonly 14: "3.5rem";
|
|
137
|
+
readonly 16: "4rem";
|
|
138
|
+
readonly 20: "5rem";
|
|
139
|
+
readonly 24: "6rem";
|
|
140
|
+
readonly 28: "7rem";
|
|
141
|
+
readonly 32: "8rem";
|
|
142
|
+
};
|
|
143
|
+
declare const radii: {
|
|
144
|
+
readonly none: "0";
|
|
145
|
+
readonly sm: "0.5rem";
|
|
146
|
+
readonly default: "0.5rem";
|
|
147
|
+
readonly md: "0.625rem";
|
|
148
|
+
readonly lg: "0.875rem";
|
|
149
|
+
readonly xl: "1rem";
|
|
150
|
+
readonly '2xl': "1.5rem";
|
|
151
|
+
readonly full: "9999px";
|
|
152
|
+
};
|
|
153
|
+
declare const radiiPx: {
|
|
154
|
+
readonly none: 0;
|
|
155
|
+
readonly sm: 8;
|
|
156
|
+
readonly default: 8;
|
|
157
|
+
readonly md: 10;
|
|
158
|
+
readonly lg: 14;
|
|
159
|
+
readonly xl: 16;
|
|
160
|
+
readonly '2xl': 24;
|
|
161
|
+
readonly full: 9999;
|
|
162
|
+
};
|
|
163
|
+
type Spacing = typeof spacing;
|
|
164
|
+
type Radii = typeof radii;
|
|
165
|
+
type RadiiPx = typeof radiiPx;
|
|
166
|
+
|
|
167
|
+
declare const shadows: {
|
|
168
|
+
readonly none: "none";
|
|
169
|
+
readonly sm: string;
|
|
170
|
+
readonly default: string;
|
|
171
|
+
readonly md: string;
|
|
172
|
+
readonly lg: string;
|
|
173
|
+
readonly xl: string;
|
|
174
|
+
readonly elevated: string;
|
|
175
|
+
readonly hover: "0 2px 8px rgba(26,26,26,0.06), 0 8px 24px rgba(26,26,26,0.05)";
|
|
176
|
+
readonly button: "0 2px 8px rgba(26,26,26,0.12)";
|
|
177
|
+
readonly card: "0 4px 24px rgba(26,26,26,0.04), 0 12px 48px rgba(26,26,26,0.03)";
|
|
178
|
+
readonly inner: "inset 0 1px 2px 0 rgba(184, 164, 142, 0.06)";
|
|
179
|
+
};
|
|
180
|
+
type Shadows = typeof shadows;
|
|
181
|
+
|
|
182
|
+
declare const animations: {
|
|
183
|
+
readonly durations: {
|
|
184
|
+
readonly fast: "150ms";
|
|
185
|
+
readonly default: "200ms";
|
|
186
|
+
readonly slow: "350ms";
|
|
187
|
+
readonly slower: "500ms";
|
|
188
|
+
};
|
|
189
|
+
readonly easings: {
|
|
190
|
+
readonly default: "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
191
|
+
readonly in: "cubic-bezier(0.4, 0, 1, 1)";
|
|
192
|
+
readonly out: "cubic-bezier(0, 0, 0.2, 1)";
|
|
193
|
+
readonly inOut: "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
194
|
+
readonly bounce: "cubic-bezier(0.34, 1.56, 0.64, 1)";
|
|
195
|
+
};
|
|
196
|
+
readonly transitions: {
|
|
197
|
+
readonly fast: "150ms cubic-bezier(0.4, 0, 0.2, 1)";
|
|
198
|
+
readonly default: "200ms cubic-bezier(0.4, 0, 0.2, 1)";
|
|
199
|
+
readonly slow: "350ms cubic-bezier(0.4, 0, 0.2, 1)";
|
|
200
|
+
};
|
|
201
|
+
readonly hoverLift: "translateY(-2px)";
|
|
202
|
+
};
|
|
203
|
+
type Animations = typeof animations;
|
|
204
|
+
|
|
205
|
+
declare const tailwindPreset: {
|
|
206
|
+
colors: {
|
|
207
|
+
background: {
|
|
208
|
+
primary: string;
|
|
209
|
+
secondary: string;
|
|
210
|
+
tertiary: string;
|
|
211
|
+
elevated: string;
|
|
212
|
+
};
|
|
213
|
+
sand: {
|
|
214
|
+
50: string;
|
|
215
|
+
100: string;
|
|
216
|
+
200: string;
|
|
217
|
+
300: string;
|
|
218
|
+
400: string;
|
|
219
|
+
500: string;
|
|
220
|
+
600: string;
|
|
221
|
+
700: string;
|
|
222
|
+
800: string;
|
|
223
|
+
900: string;
|
|
224
|
+
};
|
|
225
|
+
text: {
|
|
226
|
+
primary: string;
|
|
227
|
+
secondary: string;
|
|
228
|
+
tertiary: string;
|
|
229
|
+
inverse: string;
|
|
230
|
+
};
|
|
231
|
+
status: {
|
|
232
|
+
pending: string;
|
|
233
|
+
approved: string;
|
|
234
|
+
paid: string;
|
|
235
|
+
error: string;
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
fontFamily: {
|
|
239
|
+
heading: string[];
|
|
240
|
+
body: string[];
|
|
241
|
+
mono: string[];
|
|
242
|
+
};
|
|
243
|
+
borderRadius: {
|
|
244
|
+
sm: string;
|
|
245
|
+
DEFAULT: string;
|
|
246
|
+
md: string;
|
|
247
|
+
lg: string;
|
|
248
|
+
xl: string;
|
|
249
|
+
'2xl': string;
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
export { type Animations, type Colors, type Radii, type RadiiPx, type Shadows, type Spacing, type Typography, animations, colors, radii, radiiPx, shadows, spacing, tailwindPreset, typography };
|