@lukeashford/aurelius 1.0.1 → 1.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/README.md +116 -40
- package/dist/chunk-MBYGB67D.mjs +243 -0
- package/dist/chunk-MBYGB67D.mjs.map +1 -0
- package/dist/index.js +338 -59
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +202 -32
- package/dist/index.mjs.map +1 -1
- package/dist/styles/base.css +2 -536
- package/dist/tailwind.preset.js +148 -31
- package/dist/tailwind.preset.js.map +1 -1
- package/dist/tailwind.preset.mjs +1 -1
- package/llms.md +180 -0
- package/package.json +7 -3
- package/dist/chunk-H4EGEZQH.mjs +0 -136
- package/dist/chunk-H4EGEZQH.mjs.map +0 -1
- package/dist/llms.md +0 -325
package/README.md
CHANGED
|
@@ -1,51 +1,59 @@
|
|
|
1
|
-
# Aurelius
|
|
1
|
+
# Aurelius
|
|
2
2
|
|
|
3
|
-
**A
|
|
4
|
-
|
|
3
|
+
**A dark-mode design system for creative technologists** — combining technical sophistication with a
|
|
4
|
+
cinematic aesthetic.
|
|
5
5
|
|
|
6
|
-
[
|
|
6
|
+
[Live Demo](https://aurelius.lukeashford.com/)
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Philosophy
|
|
11
11
|
|
|
12
|
-
Aurelius
|
|
13
|
-
|
|
12
|
+
Aurelius relies on deep blacks, rich golds, and refined typography to convey stability, trust, and
|
|
13
|
+
quiet luxury.
|
|
14
14
|
|
|
15
|
-
**Core
|
|
15
|
+
**Core principles:**
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
- **Cinematic:** Strictly dark mode. No white backgrounds.
|
|
18
|
+
- **Refined:** Gold (`#c9a227`) is reserved for primary actions and key highlights.
|
|
19
|
+
- **Grounded:** Subtle 1px borders over heavy drop shadows.
|
|
20
20
|
|
|
21
|
-
**
|
|
22
|
-
We follow a strict hierarchy:
|
|
21
|
+
**Usage hierarchy:**
|
|
23
22
|
|
|
24
|
-
1. **React Components**
|
|
25
|
-
2. **
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
1. **React Components** — Use `<Button />`, `<Card />`, etc. whenever possible
|
|
24
|
+
2. **Tailwind utilities** — Build custom layouts with token-based classes (`bg-obsidian`,
|
|
25
|
+
`text-gold`)
|
|
26
|
+
3. **Design tokens** — Direct access to values as a last resort
|
|
28
27
|
|
|
29
28
|
---
|
|
30
29
|
|
|
31
|
-
## AI Agent
|
|
30
|
+
## AI Agent Optimization 🤖
|
|
32
31
|
|
|
33
|
-
This package
|
|
34
|
-
assistants understand the design system without hallucinating styles.
|
|
32
|
+
This package includes a machine-readable manifest and ESLint enforcement for AI coding assistants.
|
|
35
33
|
|
|
36
|
-
**
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
>
|
|
34
|
+
**Prompt your agent:**
|
|
35
|
+
|
|
36
|
+
> Use the Aurelius design system for this project.
|
|
37
|
+
>
|
|
38
|
+
> 1. Run `npm install @lukeashford/aurelius`
|
|
39
|
+
> 2. Read `node_modules/@lukeashford/aurelius/llms.md` completely before writing any code
|
|
40
|
+
> 3. Follow its setup instructions (Tailwind config, ESLint, fonts)
|
|
41
|
+
> 4. Use only the components and Tailwind classes listed in that file
|
|
42
|
+
|
|
43
|
+
The manifest provides complete setup instructions, so agents can bootstrap a project from scratch
|
|
44
|
+
while staying within design system constraints.
|
|
45
|
+
|
|
46
|
+
[View the manifest](./llms.md)
|
|
40
47
|
|
|
41
48
|
---
|
|
42
49
|
|
|
43
|
-
##
|
|
50
|
+
## Quick Start
|
|
44
51
|
|
|
45
|
-
### 1. Install
|
|
52
|
+
### 1. Install
|
|
46
53
|
|
|
47
54
|
```bash
|
|
48
55
|
npm install @lukeashford/aurelius
|
|
56
|
+
npm install -D eslint eslint-plugin-tailwindcss
|
|
49
57
|
```
|
|
50
58
|
|
|
51
59
|
### 2. Configure Tailwind
|
|
@@ -58,36 +66,104 @@ module.exports = {
|
|
|
58
66
|
presets: [aureliusPreset],
|
|
59
67
|
content: [
|
|
60
68
|
'./src/**/*.{js,ts,jsx,tsx}',
|
|
61
|
-
'./node_modules/@lukeashford/aurelius/**/*.{js,mjs
|
|
69
|
+
'./node_modules/@lukeashford/aurelius/dist/**/*.{js,mjs}',
|
|
62
70
|
],
|
|
63
71
|
}
|
|
64
72
|
```
|
|
65
73
|
|
|
66
|
-
### 3.
|
|
74
|
+
### 3. Configure ESLint
|
|
67
75
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
76
|
+
This enforces the design system — agents and developers get errors when using arbitrary values or
|
|
77
|
+
non-Aurelius classes.
|
|
78
|
+
|
|
79
|
+
```javascript
|
|
80
|
+
// eslint.config.js
|
|
81
|
+
import tailwindcss from 'eslint-plugin-tailwindcss';
|
|
82
|
+
|
|
83
|
+
export default [
|
|
84
|
+
{
|
|
85
|
+
plugins: {tailwindcss},
|
|
86
|
+
rules: {
|
|
87
|
+
'tailwindcss/no-arbitrary-value': 'error',
|
|
88
|
+
'tailwindcss/no-custom-classname': 'error',
|
|
89
|
+
},
|
|
90
|
+
settings: {
|
|
91
|
+
tailwindcss: {config: './tailwind.config.js'},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
];
|
|
71
95
|
```
|
|
72
96
|
|
|
73
|
-
|
|
97
|
+
<details>
|
|
98
|
+
<summary>Legacy .eslintrc.js format</summary>
|
|
99
|
+
```javascript
|
|
100
|
+
module.exports = {
|
|
101
|
+
plugins: ['tailwindcss'],
|
|
102
|
+
rules: {
|
|
103
|
+
'tailwindcss/no-arbitrary-value': 'error',
|
|
104
|
+
'tailwindcss/no-custom-classname': 'error',
|
|
105
|
+
},
|
|
106
|
+
settings: {
|
|
107
|
+
tailwindcss: { config: './tailwind.config.js' },
|
|
108
|
+
},
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
</details>
|
|
74
112
|
|
|
75
|
-
|
|
113
|
+
### 4. Update package.json scripts
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
{
|
|
117
|
+
"scripts": {
|
|
118
|
+
"lint": "eslint src --max-warnings 0",
|
|
119
|
+
"dev": "npm run lint && vite",
|
|
120
|
+
"build": "npm run lint && vite build"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### 5. Import fonts and create index.css
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
// main.tsx
|
|
129
|
+
import '@lukeashford/aurelius/styles/fonts.css'
|
|
130
|
+
import './index.css'
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```css
|
|
134
|
+
/* index.css */
|
|
135
|
+
@tailwind base;
|
|
136
|
+
@tailwind components;
|
|
137
|
+
@tailwind utilities;
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 6. Use components
|
|
76
141
|
|
|
77
142
|
```tsx
|
|
78
143
|
import {Button, Card, Input} from '@lukeashford/aurelius'
|
|
79
144
|
|
|
80
|
-
|
|
145
|
+
function LoginForm() {
|
|
81
146
|
return (
|
|
82
147
|
<Card variant="featured" className="p-8 max-w-sm mx-auto">
|
|
83
148
|
<h2 className="text-gold text-2xl mb-6">Sign In</h2>
|
|
84
|
-
<
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
</Button>
|
|
89
|
-
</div>
|
|
149
|
+
<Input placeholder="email@example.com"/>
|
|
150
|
+
<Button variant="primary" className="w-full mt-4">
|
|
151
|
+
Enter
|
|
152
|
+
</Button>
|
|
90
153
|
</Card>
|
|
91
154
|
)
|
|
92
155
|
}
|
|
93
156
|
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Non-Tailwind Users
|
|
161
|
+
|
|
162
|
+
Import the precompiled CSS instead:
|
|
163
|
+
|
|
164
|
+
```typescript
|
|
165
|
+
// main.tsx
|
|
166
|
+
import '@lukeashford/aurelius/styles/base.css'
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
This includes all base styles, utilities, and fonts. Components work identically.
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import {
|
|
2
|
+
colors,
|
|
3
|
+
duration,
|
|
4
|
+
easing,
|
|
5
|
+
radii,
|
|
6
|
+
shadows,
|
|
7
|
+
spacing,
|
|
8
|
+
typography
|
|
9
|
+
} from "./chunk-MDNHT46W.mjs";
|
|
10
|
+
|
|
11
|
+
// src/tailwind.preset.ts
|
|
12
|
+
import plugin from "tailwindcss/plugin";
|
|
13
|
+
var aureliusPlugin = plugin(function({ addBase, addUtilities, theme }) {
|
|
14
|
+
addBase({
|
|
15
|
+
"html": {
|
|
16
|
+
fontFamily: theme("fontFamily.body"),
|
|
17
|
+
backgroundColor: theme("colors.obsidian"),
|
|
18
|
+
color: theme("colors.white"),
|
|
19
|
+
"-webkit-font-smoothing": "antialiased",
|
|
20
|
+
"-moz-osx-font-smoothing": "grayscale"
|
|
21
|
+
},
|
|
22
|
+
"body": {
|
|
23
|
+
minHeight: "100vh",
|
|
24
|
+
lineHeight: "1.5"
|
|
25
|
+
},
|
|
26
|
+
"table": {
|
|
27
|
+
borderCollapse: "collapse",
|
|
28
|
+
width: "100%"
|
|
29
|
+
},
|
|
30
|
+
"table, th, td": {
|
|
31
|
+
border: `1px solid ${theme("colors.gold.muted")}`
|
|
32
|
+
},
|
|
33
|
+
"th, td": {
|
|
34
|
+
padding: "0.5rem 0.75rem"
|
|
35
|
+
},
|
|
36
|
+
"table:hover": {
|
|
37
|
+
boxShadow: theme("boxShadow.glow")
|
|
38
|
+
},
|
|
39
|
+
"progress": {
|
|
40
|
+
appearance: "none",
|
|
41
|
+
"-webkit-appearance": "none",
|
|
42
|
+
border: `1px solid ${theme("colors.gold.muted")}`,
|
|
43
|
+
borderRadius: "0",
|
|
44
|
+
backgroundColor: theme("colors.charcoal"),
|
|
45
|
+
width: "100%",
|
|
46
|
+
height: "0.5rem"
|
|
47
|
+
},
|
|
48
|
+
"progress::-webkit-progress-bar": {
|
|
49
|
+
backgroundColor: theme("colors.charcoal")
|
|
50
|
+
},
|
|
51
|
+
"progress::-webkit-progress-value": {
|
|
52
|
+
backgroundColor: theme("colors.gold.DEFAULT")
|
|
53
|
+
},
|
|
54
|
+
"progress::-moz-progress-bar": {
|
|
55
|
+
backgroundColor: theme("colors.gold.DEFAULT")
|
|
56
|
+
},
|
|
57
|
+
"h1, h2, h3, h4, h5, h6": {
|
|
58
|
+
fontFamily: theme("fontFamily.heading"),
|
|
59
|
+
fontWeight: "600",
|
|
60
|
+
letterSpacing: "-0.025em",
|
|
61
|
+
color: theme("colors.white")
|
|
62
|
+
},
|
|
63
|
+
"h1": { fontSize: "2.25rem", lineHeight: "1.25" },
|
|
64
|
+
"h2": { fontSize: "1.875rem", lineHeight: "1.25" },
|
|
65
|
+
"h3": { fontSize: "1.5rem", lineHeight: "1.375" },
|
|
66
|
+
"h4": { fontSize: "1.25rem", lineHeight: "1.375" },
|
|
67
|
+
"h5": { fontSize: "1.125rem", lineHeight: "1.5" },
|
|
68
|
+
"h6": { fontSize: "1rem", lineHeight: "1.5" },
|
|
69
|
+
"code, pre, kbd, samp": {
|
|
70
|
+
fontFamily: theme("fontFamily.mono"),
|
|
71
|
+
fontSize: "0.875em"
|
|
72
|
+
},
|
|
73
|
+
"a": {
|
|
74
|
+
color: theme("colors.gold.DEFAULT"),
|
|
75
|
+
textDecoration: "none",
|
|
76
|
+
transition: `color ${theme("transitionDuration.fast")} ease-out`
|
|
77
|
+
},
|
|
78
|
+
"a:hover": {
|
|
79
|
+
color: theme("colors.gold.light")
|
|
80
|
+
},
|
|
81
|
+
":focus-visible": {
|
|
82
|
+
outline: `2px solid ${theme("colors.gold.DEFAULT")}`,
|
|
83
|
+
outlineOffset: "2px"
|
|
84
|
+
},
|
|
85
|
+
"::selection": {
|
|
86
|
+
backgroundColor: theme("colors.gold.DEFAULT"),
|
|
87
|
+
color: theme("colors.obsidian")
|
|
88
|
+
},
|
|
89
|
+
"::-webkit-scrollbar": { width: "8px", height: "8px" },
|
|
90
|
+
"::-webkit-scrollbar-track": { background: theme("colors.charcoal") },
|
|
91
|
+
"::-webkit-scrollbar-thumb": {
|
|
92
|
+
background: theme("colors.ash"),
|
|
93
|
+
borderRadius: theme("borderRadius.full")
|
|
94
|
+
},
|
|
95
|
+
"::-webkit-scrollbar-thumb:hover": { background: theme("colors.silver") }
|
|
96
|
+
});
|
|
97
|
+
addUtilities({
|
|
98
|
+
".text-gradient-gold": {
|
|
99
|
+
background: `linear-gradient(to right, ${theme("colors.gold.DEFAULT")}, ${theme(
|
|
100
|
+
"colors.gold.light"
|
|
101
|
+
)}, ${theme("colors.gold.DEFAULT")})`,
|
|
102
|
+
"-webkit-background-clip": "text",
|
|
103
|
+
"background-clip": "text",
|
|
104
|
+
color: "transparent"
|
|
105
|
+
},
|
|
106
|
+
".glow": { boxShadow: theme("boxShadow.glow") },
|
|
107
|
+
".glow-sm": { boxShadow: theme("boxShadow.glow-sm") },
|
|
108
|
+
".glow-lg": { boxShadow: theme("boxShadow.glow-lg") },
|
|
109
|
+
".scroll-smooth": {
|
|
110
|
+
scrollBehavior: "smooth",
|
|
111
|
+
"-webkit-overflow-scrolling": "touch"
|
|
112
|
+
},
|
|
113
|
+
".scrollbar-hide": {
|
|
114
|
+
"-ms-overflow-style": "none",
|
|
115
|
+
"scrollbar-width": "none",
|
|
116
|
+
"&::-webkit-scrollbar": { display: "none" }
|
|
117
|
+
},
|
|
118
|
+
".backdrop-glass": {
|
|
119
|
+
backdropFilter: "blur(12px)",
|
|
120
|
+
backgroundColor: "rgba(20, 20, 20, 0.8)"
|
|
121
|
+
},
|
|
122
|
+
".focus-ring": {
|
|
123
|
+
"&:focus-visible": {
|
|
124
|
+
outline: "2px solid #c9a227",
|
|
125
|
+
outlineOffset: "2px"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
".line-clamp-2": {
|
|
129
|
+
display: "-webkit-box",
|
|
130
|
+
"-webkit-line-clamp": "2",
|
|
131
|
+
"-webkit-box-orient": "vertical",
|
|
132
|
+
overflow: "hidden"
|
|
133
|
+
},
|
|
134
|
+
".line-clamp-3": {
|
|
135
|
+
display: "-webkit-box",
|
|
136
|
+
"-webkit-line-clamp": "3",
|
|
137
|
+
"-webkit-box-orient": "vertical",
|
|
138
|
+
overflow: "hidden"
|
|
139
|
+
},
|
|
140
|
+
".center-absolute": {
|
|
141
|
+
position: "absolute",
|
|
142
|
+
top: "50%",
|
|
143
|
+
left: "50%",
|
|
144
|
+
transform: "translate(-50%, -50%)"
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
var preset = {
|
|
149
|
+
theme: {
|
|
150
|
+
extend: {
|
|
151
|
+
colors: {
|
|
152
|
+
// Black spectrum
|
|
153
|
+
void: colors.void,
|
|
154
|
+
obsidian: colors.obsidian,
|
|
155
|
+
charcoal: colors.charcoal,
|
|
156
|
+
graphite: colors.graphite,
|
|
157
|
+
slate: colors.slate,
|
|
158
|
+
ash: colors.ash,
|
|
159
|
+
// Gold spectrum
|
|
160
|
+
gold: {
|
|
161
|
+
DEFAULT: colors.gold,
|
|
162
|
+
light: colors.goldLight,
|
|
163
|
+
bright: colors.goldBright,
|
|
164
|
+
muted: colors.goldMuted,
|
|
165
|
+
pale: colors.goldPale,
|
|
166
|
+
glow: colors.goldGlow
|
|
167
|
+
},
|
|
168
|
+
// Neutrals
|
|
169
|
+
white: colors.white,
|
|
170
|
+
silver: colors.silver,
|
|
171
|
+
zinc: colors.zinc,
|
|
172
|
+
dim: colors.dim,
|
|
173
|
+
// Semantic
|
|
174
|
+
success: {
|
|
175
|
+
DEFAULT: colors.success,
|
|
176
|
+
muted: colors.successMuted
|
|
177
|
+
},
|
|
178
|
+
error: {
|
|
179
|
+
DEFAULT: colors.error,
|
|
180
|
+
muted: colors.errorMuted
|
|
181
|
+
},
|
|
182
|
+
warning: {
|
|
183
|
+
DEFAULT: colors.warning,
|
|
184
|
+
muted: colors.warningMuted
|
|
185
|
+
},
|
|
186
|
+
info: {
|
|
187
|
+
DEFAULT: colors.info,
|
|
188
|
+
muted: colors.infoMuted
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
fontFamily: {
|
|
192
|
+
heading: typography.fontHeading,
|
|
193
|
+
body: typography.fontBody,
|
|
194
|
+
mono: typography.fontMono
|
|
195
|
+
},
|
|
196
|
+
fontSize: typography.fontSize,
|
|
197
|
+
fontWeight: typography.fontWeight,
|
|
198
|
+
lineHeight: typography.lineHeight,
|
|
199
|
+
letterSpacing: typography.letterSpacing,
|
|
200
|
+
spacing,
|
|
201
|
+
borderRadius: radii,
|
|
202
|
+
boxShadow: shadows,
|
|
203
|
+
transitionDuration: duration,
|
|
204
|
+
transitionTimingFunction: easing,
|
|
205
|
+
animation: {
|
|
206
|
+
"fade-in": "fade-in 200ms ease-out",
|
|
207
|
+
"fade-out": "fade-out 150ms ease-in",
|
|
208
|
+
"slide-in-right": `slide-in-right 300ms ${easing.smooth}`,
|
|
209
|
+
"slide-out-right": "slide-out-right 200ms ease-in",
|
|
210
|
+
"pulse-glow": "pulse-glow 2s ease-in-out infinite"
|
|
211
|
+
},
|
|
212
|
+
keyframes: {
|
|
213
|
+
"fade-in": {
|
|
214
|
+
"0%": { opacity: "0" },
|
|
215
|
+
"100%": { opacity: "1" }
|
|
216
|
+
},
|
|
217
|
+
"fade-out": {
|
|
218
|
+
"0%": { opacity: "1" },
|
|
219
|
+
"100%": { opacity: "0" }
|
|
220
|
+
},
|
|
221
|
+
"slide-in-right": {
|
|
222
|
+
"0%": { transform: "translateX(100%)", opacity: "0" },
|
|
223
|
+
"100%": { transform: "translateX(0)", opacity: "1" }
|
|
224
|
+
},
|
|
225
|
+
"slide-out-right": {
|
|
226
|
+
"0%": { transform: "translateX(0)", opacity: "1" },
|
|
227
|
+
"100%": { transform: "translateX(100%)", opacity: "0" }
|
|
228
|
+
},
|
|
229
|
+
"pulse-glow": {
|
|
230
|
+
"0%, 100%": { boxShadow: "0 0 20px rgba(201, 162, 39, 0.3)" },
|
|
231
|
+
"50%": { boxShadow: "0 0 30px rgba(201, 162, 39, 0.5)" }
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
plugins: [aureliusPlugin]
|
|
237
|
+
};
|
|
238
|
+
var tailwind_preset_default = preset;
|
|
239
|
+
|
|
240
|
+
export {
|
|
241
|
+
tailwind_preset_default
|
|
242
|
+
};
|
|
243
|
+
//# sourceMappingURL=chunk-MBYGB67D.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tailwind.preset.ts"],"sourcesContent":["import type {Config} from 'tailwindcss'\nimport plugin from 'tailwindcss/plugin'\nimport {colors, duration, easing, radii, shadows, spacing, typography} from './tokens'\n\nconst aureliusPlugin = plugin(function ({addBase, addUtilities, theme}) {\n // Base styles\n addBase({\n 'html': {\n fontFamily: theme('fontFamily.body'),\n backgroundColor: theme('colors.obsidian'),\n color: theme('colors.white'),\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n },\n 'body': {\n minHeight: '100vh',\n lineHeight: '1.5',\n },\n 'table': {\n borderCollapse: 'collapse',\n width: '100%',\n },\n 'table, th, td': {\n border: `1px solid ${theme('colors.gold.muted')}`,\n },\n 'th, td': {\n padding: '0.5rem 0.75rem',\n },\n 'table:hover': {\n boxShadow: theme('boxShadow.glow'),\n },\n 'progress': {\n appearance: 'none',\n '-webkit-appearance': 'none',\n border: `1px solid ${theme('colors.gold.muted')}`,\n borderRadius: '0',\n backgroundColor: theme('colors.charcoal'),\n width: '100%',\n height: '0.5rem',\n },\n 'progress::-webkit-progress-bar': {\n backgroundColor: theme('colors.charcoal'),\n },\n 'progress::-webkit-progress-value': {\n backgroundColor: theme('colors.gold.DEFAULT'),\n },\n 'progress::-moz-progress-bar': {\n backgroundColor: theme('colors.gold.DEFAULT'),\n },\n 'h1, h2, h3, h4, h5, h6': {\n fontFamily: theme('fontFamily.heading'),\n fontWeight: '600',\n letterSpacing: '-0.025em',\n color: theme('colors.white'),\n },\n 'h1': {fontSize: '2.25rem', lineHeight: '1.25'},\n 'h2': {fontSize: '1.875rem', lineHeight: '1.25'},\n 'h3': {fontSize: '1.5rem', lineHeight: '1.375'},\n 'h4': {fontSize: '1.25rem', lineHeight: '1.375'},\n 'h5': {fontSize: '1.125rem', lineHeight: '1.5'},\n 'h6': {fontSize: '1rem', lineHeight: '1.5'},\n 'code, pre, kbd, samp': {\n fontFamily: theme('fontFamily.mono'),\n fontSize: '0.875em',\n },\n 'a': {\n color: theme('colors.gold.DEFAULT'),\n textDecoration: 'none',\n transition: `color ${theme('transitionDuration.fast')} ease-out`,\n },\n 'a:hover': {\n color: theme('colors.gold.light'),\n },\n ':focus-visible': {\n outline: `2px solid ${theme('colors.gold.DEFAULT')}`,\n outlineOffset: '2px',\n },\n '::selection': {\n backgroundColor: theme('colors.gold.DEFAULT'),\n color: theme('colors.obsidian'),\n },\n '::-webkit-scrollbar': {width: '8px', height: '8px'},\n '::-webkit-scrollbar-track': {background: theme('colors.charcoal')},\n '::-webkit-scrollbar-thumb': {\n background: theme('colors.ash'),\n borderRadius: theme('borderRadius.full')\n },\n '::-webkit-scrollbar-thumb:hover': {background: theme('colors.silver')},\n })\n\n // Utility classes\n addUtilities({\n '.text-gradient-gold': {\n background: `linear-gradient(to right, ${theme('colors.gold.DEFAULT')}, ${theme(\n 'colors.gold.light')}, ${theme('colors.gold.DEFAULT')})`,\n '-webkit-background-clip': 'text',\n 'background-clip': 'text',\n color: 'transparent',\n },\n '.glow': {boxShadow: theme('boxShadow.glow')},\n '.glow-sm': {boxShadow: theme('boxShadow.glow-sm')},\n '.glow-lg': {boxShadow: theme('boxShadow.glow-lg')},\n '.scroll-smooth': {\n scrollBehavior: 'smooth',\n '-webkit-overflow-scrolling': 'touch',\n },\n '.scrollbar-hide': {\n '-ms-overflow-style': 'none',\n 'scrollbar-width': 'none',\n '&::-webkit-scrollbar': {display: 'none'},\n },\n '.backdrop-glass': {\n backdropFilter: 'blur(12px)',\n backgroundColor: 'rgba(20, 20, 20, 0.8)',\n },\n '.focus-ring': {\n '&:focus-visible': {\n outline: '2px solid #c9a227',\n outlineOffset: '2px',\n },\n },\n '.line-clamp-2': {\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n overflow: 'hidden',\n },\n '.line-clamp-3': {\n display: '-webkit-box',\n '-webkit-line-clamp': '3',\n '-webkit-box-orient': 'vertical',\n overflow: 'hidden',\n },\n '.center-absolute': {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n },\n })\n})\n\nconst preset: Partial<Config> = {\n theme: {\n extend: {\n colors: {\n // Black spectrum\n void: colors.void,\n obsidian: colors.obsidian,\n charcoal: colors.charcoal,\n graphite: colors.graphite,\n slate: colors.slate,\n ash: colors.ash,\n\n // Gold spectrum\n gold: {\n DEFAULT: colors.gold,\n light: colors.goldLight,\n bright: colors.goldBright,\n muted: colors.goldMuted,\n pale: colors.goldPale,\n glow: colors.goldGlow,\n },\n\n // Neutrals\n white: colors.white,\n silver: colors.silver,\n zinc: colors.zinc,\n dim: colors.dim,\n\n // Semantic\n success: {\n DEFAULT: colors.success,\n muted: colors.successMuted,\n },\n error: {\n DEFAULT: colors.error,\n muted: colors.errorMuted,\n },\n warning: {\n DEFAULT: colors.warning,\n muted: colors.warningMuted,\n },\n info: {\n DEFAULT: colors.info,\n muted: colors.infoMuted,\n },\n },\n\n fontFamily: {\n heading: typography.fontHeading as unknown as string[],\n body: typography.fontBody as unknown as string[],\n mono: typography.fontMono as unknown as string[],\n },\n\n fontSize: typography.fontSize as any,\n fontWeight: typography.fontWeight as any,\n lineHeight: typography.lineHeight as any,\n letterSpacing: typography.letterSpacing as any,\n\n spacing: spacing as any,\n\n borderRadius: radii as any,\n\n boxShadow: shadows as any,\n\n transitionDuration: duration as any,\n\n transitionTimingFunction: easing as any,\n\n animation: {\n 'fade-in': 'fade-in 200ms ease-out',\n 'fade-out': 'fade-out 150ms ease-in',\n 'slide-in-right': `slide-in-right 300ms ${easing.smooth}`,\n 'slide-out-right': 'slide-out-right 200ms ease-in',\n 'pulse-glow': 'pulse-glow 2s ease-in-out infinite',\n },\n\n keyframes: {\n 'fade-in': {\n '0%': {opacity: '0'},\n '100%': {opacity: '1'},\n },\n 'fade-out': {\n '0%': {opacity: '1'},\n '100%': {opacity: '0'},\n },\n 'slide-in-right': {\n '0%': {transform: 'translateX(100%)', opacity: '0'},\n '100%': {transform: 'translateX(0)', opacity: '1'},\n },\n 'slide-out-right': {\n '0%': {transform: 'translateX(0)', opacity: '1'},\n '100%': {transform: 'translateX(100%)', opacity: '0'},\n },\n 'pulse-glow': {\n '0%, 100%': {boxShadow: '0 0 20px rgba(201, 162, 39, 0.3)'},\n '50%': {boxShadow: '0 0 30px rgba(201, 162, 39, 0.5)'},\n },\n },\n },\n },\n plugins: [aureliusPlugin]\n}\n\nexport default preset"],"mappings":"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","names":[]}
|