@lukeashford/aurelius 1.1.0 → 2.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/llms.md CHANGED
@@ -1,26 +1,31 @@
1
1
  # Aurelius Design System — AI Manifest
2
2
 
3
- ## Setup
3
+ ## Setup (Tailwind v4)
4
4
 
5
- ### 1. Install dependencies
5
+ ### 1. Install
6
6
 
7
7
  ```bash
8
+ npm install @lukeashford/aurelius
8
9
  npm install -D eslint eslint-plugin-tailwindcss
9
10
  ```
10
11
 
11
- ### 2. Configure Tailwind
12
+ ### 2. Import the design system
12
13
 
13
- ```javascript
14
- // tailwind.config.js
15
- const aureliusPreset = require('@lukeashford/aurelius/tailwind.preset')
16
-
17
- module.exports = {
18
- presets: [aureliusPreset],
19
- content: [
20
- './src/**/*.{js,ts,jsx,tsx}',
21
- './node_modules/@lukeashford/aurelius/dist/**/*.{js,mjs}',
22
- ],
23
- }
14
+ Create or update your `index.css`:
15
+
16
+ ```css
17
+ /* Import the complete Aurelius design system (includes Tailwind v4, fonts, and theme) */
18
+ @import '@lukeashford/aurelius/styles/base.css';
19
+
20
+ /* Tell Tailwind to scan the Aurelius package for utility classes */
21
+ @source "../node_modules/@lukeashford/aurelius/dist";
22
+ ```
23
+
24
+ Then import it in your entry file:
25
+
26
+ ```typescript
27
+ // main.tsx or index.tsx
28
+ import './index.css'
24
29
  ```
25
30
 
26
31
  ### 3. Configure ESLint (enforces design system)
@@ -36,46 +41,16 @@ export default [
36
41
  'tailwindcss/no-arbitrary-value': 'error',
37
42
  'tailwindcss/no-custom-classname': 'error',
38
43
  },
39
- settings: {
40
- tailwindcss: { config: './tailwind.config.js' },
41
- },
42
44
  },
43
45
  ];
44
46
  ```
45
47
 
46
- ### 4. Add lint script
47
-
48
- ```json
49
- {
50
- "scripts": {
51
- "lint": "eslint src --max-warnings 0",
52
- "dev": "npm run lint && vite",
53
- "build": "npm run lint && vite build"
54
- }
55
- }
56
- ```
57
-
58
- ### 5. Import fonts and directives
59
-
60
- ```typescript
61
- // main.tsx
62
- import '@lukeashford/aurelius/styles/fonts.css'
63
- import './index.css'
64
- ```
65
-
66
- ```css
67
- /* index.css */
68
- @tailwind base;
69
- @tailwind components;
70
- @tailwind utilities;
71
- ```
72
-
73
48
  ---
74
49
 
75
50
  ## Rules (MUST follow)
76
51
 
77
52
  1. **Dark mode only.** Use `bg-obsidian`, `bg-charcoal`, `bg-void`. Never white backgrounds.
78
- 2. **Text colors.** Use `text - white` for headings and primary content. Use `text-silver` for secondary text, descriptions, and metadata.
53
+ 2. **Text colors.** Use `text-white` for headings and primary content. Use `text-silver` for secondary text, descriptions, and metadata.
79
54
  3. **Gold is for primary actions only.** Don't overuse `text-gold` or `bg-gold`.
80
55
  4. **Use components first.** Check the Components table below before building custom elements.
81
56
  5. **Use Tailwind classes from this manifest.** Never hardcode hex values or use arbitrary values like `bg-[#123]`.
@@ -89,23 +64,23 @@ Import from `@lukeashford/aurelius`:
89
64
 
90
65
  | Component | Props |
91
66
  |-----------|-------|
92
- | Alert | variant, title |
93
- | Avatar | src, alt, name, size, status |
94
- | Badge | variant |
95
- | Button | variant, size, loading |
96
- | Card | variant, interactive |
67
+ | Alert | variant (info, success, warning, error), title |
68
+ | Avatar | src, alt, name, size (xs, sm, md, lg, xl, 2xl), status (online, offline, busy) |
69
+ | Badge | variant (default, gold, success, error, warning, info) |
70
+ | Button | variant (primary, important, elevated, outlined, featured, ghost, danger), size (sm, md, lg, xl), loading |
71
+ | Card | variant (default, elevated, outlined, ghost, featured), interactive |
97
72
  | Checkbox | label |
98
73
  | HelperText | error |
99
74
  | Input | error, leadingIcon, trailingIcon |
100
75
  | Label | required |
101
- | Modal | isOpen, onClose, title, children, className |
76
+ | Modal | isOpen, title, children, className |
102
77
  | Radio | label |
103
78
  | Select | error, options |
104
79
  | Skeleton | children |
105
- | Spinner | size |
106
- | Switch | checked, defaultChecked, onCheckedChange, label |
80
+ | Spinner | size (sm, md, lg) |
81
+ | Switch | checked, defaultChecked, label |
107
82
  | Textarea | error |
108
- | Tooltip | content, children, open, side |
83
+ | Tooltip | content, children, open, side (top, right, bottom, left) |
109
84
 
110
85
  ### Component usage example
111
86
 
@@ -130,19 +105,19 @@ Use ONLY these token-based classes. Arbitrary values like `bg-[#0a0a0a]` will fa
130
105
  bg-void, bg-obsidian, bg-charcoal, bg-graphite, bg-slate, bg-ash, bg-gold, bg-gold-light, bg-gold-bright, bg-gold-muted, bg-gold-pale, bg-gold-glow, bg-white, bg-silver, bg-zinc, bg-dim, bg-success, bg-success-muted, bg-error, bg-error-muted, bg-warning, bg-warning-muted, bg-info, bg-info-muted
131
106
 
132
107
  ### Text (`text-*`)
133
- text-white, text-silver, text-gold, text-gold-light, text-gold-muted, text-dim, text-success, text-error, text-warning, text-info
108
+ text-void, text-obsidian, text-charcoal, text-graphite, text-slate, text-ash, text-gold, text-gold-light, text-gold-bright, text-gold-muted, text-gold-pale, text-gold-glow, text-white, text-silver, text-zinc, text-dim, text-success, text-success-muted, text-error, text-error-muted, text-warning, text-warning-muted, text-info, text-info-muted
134
109
 
135
110
  ### Borders (`border-*`)
136
- border-ash, border-gold, border-gold-muted, border-charcoal, border-graphite, border-success, border-error
111
+ border-void, border-obsidian, border-charcoal, border-graphite, border-slate, border-ash, border-gold, border-gold-light, border-gold-bright, border-gold-muted, border-gold-pale, border-gold-glow, border-white, border-silver, border-zinc, border-dim, border-success, border-success-muted, border-error, border-error-muted, border-warning, border-warning-muted, border-info, border-info-muted
112
+
113
+ ### Typography
137
114
 
138
- ### Spacing (`p-*`, `m-*`, `gap-*`, `space-*`)
139
- 0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24, 32, 40, 48, 64
115
+ **Font families:** `font-heading` ("Marcellus", serif), `font-body` ("Raleway", system-ui, sans-serif), `font-mono` ("JetBrains Mono", "Fira Code", "SF Mono", monospace)
140
116
 
141
- ### Border Radius (`rounded-*`)
142
- none (preferred for Aurelius aesthetic), sm, md, lg, xl, 2xl, full
117
+ Standard Tailwind classes for size (`text-sm`, `text-lg`, etc.), weight (`font-medium`, `font-bold`), and spacing are available.
143
118
 
144
- ### Shadows (`shadow-*`)
145
- sm, md, lg, xl, glow, glow-sm, glow-lg
119
+ ### Custom Utilities
120
+ text-gradient-gold, glow, glow-sm, glow-lg, scroll-smooth, scrollbar-hide, backdrop-glass, focus-ring, line-clamp-2, line-clamp-3, center-absolute
146
121
 
147
122
  ### Opacity modifiers
148
123
  Append `/10`, `/20`, `/30`, etc. to colors: `bg-gold/20`, `border-ash/50`
@@ -167,14 +142,4 @@ Append `/10`, `/20`, `/30`, etc. to colors: `bg-gold/20`, `border-ash/50`
167
142
  // ✅ Correct
168
143
  <div className="bg-obsidian text-gold border border-ash p-4">
169
144
  <Button variant="primary">Click</Button>
170
- ```
171
-
172
- ---
173
-
174
- ## Non-Tailwind fallback
175
-
176
- If not using Tailwind, import precompiled CSS:
177
-
178
- ```typescript
179
- import '@lukeashford/aurelius/styles/base.css'
180
145
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukeashford/aurelius",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "description": "Design system for Aurelius applications — A cohesive visual language for creative technologists",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -11,11 +11,9 @@
11
11
  "import": "./dist/index.mjs",
12
12
  "require": "./dist/index.js"
13
13
  },
14
- "./tailwind.preset": {
15
- "types": "./dist/tailwind.preset.d.ts",
16
- "import": "./dist/tailwind.preset.mjs",
17
- "require": "./dist/tailwind.preset.js"
18
- },
14
+ "./styles/base.css": "./dist/styles/base.css",
15
+ "./styles/theme.css": "./dist/styles/theme.css",
16
+ "./styles/fonts.css": "./dist/styles/fonts.css",
19
17
  "./styles/*": "./dist/styles/*",
20
18
  "./llms.md": "./llms.md",
21
19
  "./package.json": "./package.json"
@@ -25,8 +23,7 @@
25
23
  "llms.md"
26
24
  ],
27
25
  "scripts": {
28
- "build:css": "tailwindcss -c tailwind.build.config.cjs -i src/styles/base.css -o dist/styles/base.css --minify",
29
- "build": "tsup && npm run build:css && node scripts/generate-manifest.js",
26
+ "build": "tsup && node scripts/generate-manifest.js",
30
27
  "dev": "tsup --watch",
31
28
  "typecheck": "tsc --noEmit",
32
29
  "prepublishOnly": "npm run build",
@@ -34,21 +31,36 @@
34
31
  "dev:all": "concurrently -k \"npm run dev\" \"npm run dev:demo\""
35
32
  },
36
33
  "peerDependencies": {
37
- "react": "^18.0.0",
38
- "react-dom": "^18.0.0",
39
- "tailwindcss": ">=3.0.0"
34
+ "react": "^18.0.0 || ^19.0.0",
35
+ "react-dom": "^18.0.0 || ^19.0.0",
36
+ "tailwindcss": ">=4.0.0"
37
+ },
38
+ "peerDependenciesMeta": {
39
+ "tailwindcss": {
40
+ "optional": true
41
+ }
40
42
  },
41
43
  "devDependencies": {
44
+ "@testing-library/jest-dom": "^6.6.3",
45
+ "@testing-library/react": "^16.1.0",
46
+ "@testing-library/user-event": "^14.5.2",
47
+ "@types/jest": "^29.5.14",
42
48
  "@types/node": "^20.0.0",
43
- "@types/react": "^18.0.0",
44
- "@types/react-dom": "^18.3.7",
49
+ "@types/react": "^19.2.7",
50
+ "@types/react-dom": "^19.2.3",
51
+ "@vitejs/plugin-react": "^4.3.4",
45
52
  "concurrently": "^8.2.2",
46
- "react": "^18.0.0",
47
- "react-dom": "^18.0.0",
48
- "tailwindcss": "^3.4.0",
53
+ "jest": "^29.7.0",
54
+ "jest-environment-jsdom": "^29.7.0",
55
+ "react": "^19.2.1",
56
+ "react-dom": "^19.2.1",
57
+ "tailwindcss": "^4.1.17",
58
+ "ts-jest": "^29.2.5",
59
+ "ts-node": "^10.9.2",
49
60
  "tsup": "^8.0.0",
50
61
  "tsx": "^4.7.0",
51
- "typescript": "^5.0.0"
62
+ "typescript": "^5.0.0",
63
+ "vite": "^5.4.11"
52
64
  },
53
65
  "repository": {
54
66
  "type": "git",
@@ -1,243 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,150 +0,0 @@
1
- // src/tokens/colors.ts
2
- var colors = {
3
- // Black spectrum
4
- void: "#000000",
5
- obsidian: "#0a0a0a",
6
- charcoal: "#141414",
7
- graphite: "#1f1f1f",
8
- slate: "#2a2a2a",
9
- ash: "#3d3d3d",
10
- // Gold spectrum
11
- gold: "#c9a227",
12
- goldLight: "#d4b84a",
13
- goldBright: "#e5c84d",
14
- goldMuted: "#8b7355",
15
- goldPale: "#d4c4a8",
16
- goldGlow: "rgba(201, 162, 39, 0.15)",
17
- // Neutrals
18
- white: "#ffffff",
19
- silver: "#a3a3a3",
20
- zinc: "#71717a",
21
- dim: "#52525b",
22
- // Semantic
23
- success: "#22c55e",
24
- successMuted: "#166534",
25
- error: "#dc2626",
26
- errorMuted: "#991b1b",
27
- warning: "#d97706",
28
- warningMuted: "#92400e",
29
- info: "#0ea5e9",
30
- infoMuted: "#0369a1"
31
- };
32
-
33
- // src/tokens/typography.ts
34
- var typography = {
35
- // Headings use Marcellus, a classic serif
36
- fontHeading: ["Marcellus", "serif"],
37
- // Body and UI use Raleway
38
- fontBody: ["Raleway", "system-ui", "sans-serif"],
39
- fontMono: ["JetBrains Mono", "Fira Code", "SF Mono", "monospace"],
40
- fontSize: {
41
- xs: ["0.75rem", { lineHeight: "1rem" }],
42
- sm: ["0.875rem", { lineHeight: "1.25rem" }],
43
- base: ["1rem", { lineHeight: "1.5rem" }],
44
- lg: ["1.125rem", { lineHeight: "1.75rem" }],
45
- xl: ["1.25rem", { lineHeight: "1.75rem" }],
46
- "2xl": ["1.5rem", { lineHeight: "2rem" }],
47
- "3xl": ["1.875rem", { lineHeight: "2.25rem" }],
48
- "4xl": ["2.25rem", { lineHeight: "2.5rem" }],
49
- "5xl": ["3rem", { lineHeight: "1" }],
50
- "6xl": ["3.75rem", { lineHeight: "1" }]
51
- },
52
- fontWeight: {
53
- normal: "400",
54
- medium: "500",
55
- semibold: "600",
56
- bold: "700"
57
- },
58
- lineHeight: {
59
- none: "1",
60
- tight: "1.25",
61
- snug: "1.375",
62
- normal: "1.5",
63
- relaxed: "1.625",
64
- loose: "2"
65
- },
66
- letterSpacing: {
67
- tighter: "-0.05em",
68
- tight: "-0.025em",
69
- normal: "0",
70
- wide: "0.025em",
71
- wider: "0.05em",
72
- widest: "0.1em"
73
- }
74
- };
75
-
76
- // src/tokens/spacing.ts
77
- var spacing = {
78
- px: "1px",
79
- 0: "0",
80
- 0.5: "0.125rem",
81
- 1: "0.25rem",
82
- 1.5: "0.375rem",
83
- 2: "0.5rem",
84
- 2.5: "0.625rem",
85
- 3: "0.75rem",
86
- 3.5: "0.875rem",
87
- 4: "1rem",
88
- 5: "1.25rem",
89
- 6: "1.5rem",
90
- 7: "1.75rem",
91
- 8: "2rem",
92
- 9: "2.25rem",
93
- 10: "2.5rem",
94
- 11: "2.75rem",
95
- 12: "3rem",
96
- 14: "3.5rem",
97
- 16: "4rem",
98
- 20: "5rem",
99
- 24: "6rem",
100
- 28: "7rem",
101
- 32: "8rem"
102
- };
103
-
104
- // src/tokens/shadows.ts
105
- var shadows = {
106
- sm: "0 1px 2px 0 rgba(0, 0, 0, 0.4)",
107
- md: "0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3)",
108
- lg: "0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.3)",
109
- xl: "0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.3)",
110
- "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.5)",
111
- glow: "0 0 20px rgba(201, 162, 39, 0.3)",
112
- "glow-sm": "0 0 10px rgba(201, 162, 39, 0.2)",
113
- "glow-lg": "0 0 40px rgba(201, 162, 39, 0.4)",
114
- inner: "inset 0 2px 4px 0 rgba(0, 0, 0, 0.3)"
115
- };
116
-
117
- // src/tokens/transitions.ts
118
- var duration = {
119
- instant: "75ms",
120
- fast: "150ms",
121
- normal: "200ms",
122
- slow: "300ms",
123
- slower: "500ms"
124
- };
125
- var easing = {
126
- smooth: "cubic-bezier(0.16, 1, 0.3, 1)",
127
- snap: "cubic-bezier(0.5, 0, 0.1, 1)"
128
- };
129
-
130
- // src/tokens/radii.ts
131
- var radii = {
132
- sm: "0.125rem",
133
- md: "0.25rem",
134
- lg: "0.375rem",
135
- xl: "0.5rem",
136
- "2xl": "0.75rem",
137
- "3xl": "1rem",
138
- full: "9999px"
139
- };
140
-
141
- export {
142
- colors,
143
- typography,
144
- spacing,
145
- shadows,
146
- duration,
147
- easing,
148
- radii
149
- };
150
- //# sourceMappingURL=chunk-MDNHT46W.mjs.map