@lukeashford/aurelius 1.0.0 → 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 +169 -93
- package/dist/chunk-MBYGB67D.mjs +243 -0
- package/dist/chunk-MBYGB67D.mjs.map +1 -0
- package/dist/{chunk-OPJXDW4C.mjs → chunk-MDNHT46W.mjs} +1 -1
- package/dist/chunk-MDNHT46W.mjs.map +1 -0
- package/dist/index.js +338 -59
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +203 -33
- package/dist/index.mjs.map +1 -1
- package/dist/styles/base.css +2 -536
- package/dist/styles/fonts/OFL_Raleway.txt +93 -93
- package/dist/tailwind.preset.js +148 -31
- package/dist/tailwind.preset.js.map +1 -1
- package/dist/tailwind.preset.mjs +2 -2
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/index.mjs +1 -1
- package/llms.md +180 -0
- package/package.json +9 -4
- package/dist/chunk-7DDWFQNU.mjs +0 -136
- package/dist/chunk-7DDWFQNU.mjs.map +0 -1
- package/dist/chunk-OPJXDW4C.mjs.map +0 -1
- package/dist/llms.md +0 -325
package/README.md
CHANGED
|
@@ -1,93 +1,169 @@
|
|
|
1
|
-
# Aurelius
|
|
2
|
-
|
|
3
|
-
**A
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
[
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
-
Aurelius
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**Core
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
3. **
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
>
|
|
38
|
-
|
|
39
|
-
>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
|
|
1
|
+
# Aurelius
|
|
2
|
+
|
|
3
|
+
**A dark-mode design system for creative technologists** — combining technical sophistication with a
|
|
4
|
+
cinematic aesthetic.
|
|
5
|
+
|
|
6
|
+
[Live Demo](https://aurelius.lukeashford.com/)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Philosophy
|
|
11
|
+
|
|
12
|
+
Aurelius relies on deep blacks, rich golds, and refined typography to convey stability, trust, and
|
|
13
|
+
quiet luxury.
|
|
14
|
+
|
|
15
|
+
**Core principles:**
|
|
16
|
+
|
|
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
|
+
|
|
21
|
+
**Usage hierarchy:**
|
|
22
|
+
|
|
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
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## AI Agent Optimization 🤖
|
|
31
|
+
|
|
32
|
+
This package includes a machine-readable manifest and ESLint enforcement for AI coding assistants.
|
|
33
|
+
|
|
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)
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Quick Start
|
|
51
|
+
|
|
52
|
+
### 1. Install
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm install @lukeashford/aurelius
|
|
56
|
+
npm install -D eslint eslint-plugin-tailwindcss
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. Configure Tailwind
|
|
60
|
+
|
|
61
|
+
```javascript
|
|
62
|
+
// tailwind.config.js
|
|
63
|
+
const aureliusPreset = require('@lukeashford/aurelius/tailwind.preset')
|
|
64
|
+
|
|
65
|
+
module.exports = {
|
|
66
|
+
presets: [aureliusPreset],
|
|
67
|
+
content: [
|
|
68
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
69
|
+
'./node_modules/@lukeashford/aurelius/dist/**/*.{js,mjs}',
|
|
70
|
+
],
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 3. Configure ESLint
|
|
75
|
+
|
|
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
|
+
];
|
|
95
|
+
```
|
|
96
|
+
|
|
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>
|
|
112
|
+
|
|
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
|
|
141
|
+
|
|
142
|
+
```tsx
|
|
143
|
+
import {Button, Card, Input} from '@lukeashford/aurelius'
|
|
144
|
+
|
|
145
|
+
function LoginForm() {
|
|
146
|
+
return (
|
|
147
|
+
<Card variant="featured" className="p-8 max-w-sm mx-auto">
|
|
148
|
+
<h2 className="text-gold text-2xl mb-6">Sign In</h2>
|
|
149
|
+
<Input placeholder="email@example.com"/>
|
|
150
|
+
<Button variant="primary" className="w-full mt-4">
|
|
151
|
+
Enter
|
|
152
|
+
</Button>
|
|
153
|
+
</Card>
|
|
154
|
+
)
|
|
155
|
+
}
|
|
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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tokens/colors.ts","../src/tokens/typography.ts","../src/tokens/spacing.ts","../src/tokens/shadows.ts","../src/tokens/transitions.ts","../src/tokens/radii.ts"],"sourcesContent":["export const colors = {\n // Black spectrum\n void: '#000000',\n obsidian: '#0a0a0a',\n charcoal: '#141414',\n graphite: '#1f1f1f',\n slate: '#2a2a2a',\n ash: '#3d3d3d',\n\n // Gold spectrum\n gold: '#c9a227',\n goldLight: '#d4b84a',\n goldBright: '#e5c84d',\n goldMuted: '#8b7355',\n goldPale: '#d4c4a8',\n goldGlow: 'rgba(201, 162, 39, 0.15)',\n\n // Neutrals\n white: '#ffffff',\n silver: '#a3a3a3',\n zinc: '#71717a',\n dim: '#52525b',\n\n // Semantic\n success: '#22c55e',\n successMuted: '#166534',\n error: '#dc2626',\n errorMuted: '#991b1b',\n warning: '#d97706',\n warningMuted: '#92400e',\n info: '#0ea5e9',\n infoMuted: '#0369a1',\n} as const\n\nexport type ColorToken = keyof typeof colors\n","export const typography = {\n // Headings use Marcellus, a classic serif\n fontHeading: ['Marcellus', 'serif'],\n // Body and UI use Raleway\n fontBody: ['Raleway', 'system-ui', 'sans-serif'],\n fontMono: ['JetBrains Mono', 'Fira Code', 'SF Mono', 'monospace'],\n\n fontSize: {\n xs: ['0.75rem', {lineHeight: '1rem'}],\n sm: ['0.875rem', {lineHeight: '1.25rem'}],\n base: ['1rem', {lineHeight: '1.5rem'}],\n lg: ['1.125rem', {lineHeight: '1.75rem'}],\n xl: ['1.25rem', {lineHeight: '1.75rem'}],\n '2xl': ['1.5rem', {lineHeight: '2rem'}],\n '3xl': ['1.875rem', {lineHeight: '2.25rem'}],\n '4xl': ['2.25rem', {lineHeight: '2.5rem'}],\n '5xl': ['3rem', {lineHeight: '1'}],\n '6xl': ['3.75rem', {lineHeight: '1'}],\n },\n\n fontWeight: {\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n },\n\n lineHeight: {\n none: '1',\n tight: '1.25',\n snug: '1.375',\n normal: '1.5',\n relaxed: '1.625',\n loose: '2',\n },\n\n letterSpacing: {\n tighter: '-0.05em',\n tight: '-0.025em',\n normal: '0',\n wide: '0.025em',\n wider: '0.05em',\n widest: '0.1em',\n },\n} as const\n\nexport type TypographyToken = keyof typeof typography\n","export const spacing = {\n px: '1px',\n 0: '0',\n 0.5: '0.125rem',\n 1: '0.25rem',\n 1.5: '0.375rem',\n 2: '0.5rem',\n 2.5: '0.625rem',\n 3: '0.75rem',\n 3.5: '0.875rem',\n 4: '1rem',\n 5: '1.25rem',\n 6: '1.5rem',\n 7: '1.75rem',\n 8: '2rem',\n 9: '2.25rem',\n 10: '2.5rem',\n 11: '2.75rem',\n 12: '3rem',\n 14: '3.5rem',\n 16: '4rem',\n 20: '5rem',\n 24: '6rem',\n 28: '7rem',\n 32: '8rem',\n} as const\n\nexport type SpacingToken = keyof typeof spacing\n","export const shadows = {\n sm: '0 1px 2px 0 rgba(0, 0, 0, 0.4)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.3)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.3)',\n '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.5)',\n glow: '0 0 20px rgba(201, 162, 39, 0.3)',\n 'glow-sm': '0 0 10px rgba(201, 162, 39, 0.2)',\n 'glow-lg': '0 0 40px rgba(201, 162, 39, 0.4)',\n inner: 'inset 0 2px 4px 0 rgba(0, 0, 0, 0.3)',\n} as const\n\nexport type ShadowToken = keyof typeof shadows\n","export const duration = {\n instant: '75ms',\n fast: '150ms',\n normal: '200ms',\n slow: '300ms',\n slower: '500ms',\n} as const\n\nexport const easing = {\n smooth: 'cubic-bezier(0.16, 1, 0.3, 1)',\n snap: 'cubic-bezier(0.5, 0, 0.1, 1)',\n} as const\n\nexport type DurationToken = keyof typeof duration\nexport type EasingToken = keyof typeof easing\n","export const radii = {\n sm: '0.125rem',\n md: '0.25rem',\n lg: '0.375rem',\n xl: '0.5rem',\n '2xl': '0.75rem',\n '3xl': '1rem',\n full: '9999px',\n} as const\n\nexport type RadiusToken = keyof typeof radii\n"],"mappings":"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","names":[]}
|