@lukeashford/aurelius 1.0.1 → 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 ADDED
@@ -0,0 +1,145 @@
1
+ # Aurelius Design System — AI Manifest
2
+
3
+ ## Setup (Tailwind v4)
4
+
5
+ ### 1. Install
6
+
7
+ ```bash
8
+ npm install @lukeashford/aurelius
9
+ npm install -D eslint eslint-plugin-tailwindcss
10
+ ```
11
+
12
+ ### 2. Import the design system
13
+
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'
29
+ ```
30
+
31
+ ### 3. Configure ESLint (enforces design system)
32
+
33
+ ```javascript
34
+ // eslint.config.js
35
+ import tailwindcss from 'eslint-plugin-tailwindcss';
36
+
37
+ export default [
38
+ {
39
+ plugins: { tailwindcss },
40
+ rules: {
41
+ 'tailwindcss/no-arbitrary-value': 'error',
42
+ 'tailwindcss/no-custom-classname': 'error',
43
+ },
44
+ },
45
+ ];
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Rules (MUST follow)
51
+
52
+ 1. **Dark mode only.** Use `bg-obsidian`, `bg-charcoal`, `bg-void`. Never white backgrounds.
53
+ 2. **Text colors.** Use `text-white` for headings and primary content. Use `text-silver` for secondary text, descriptions, and metadata.
54
+ 3. **Gold is for primary actions only.** Don't overuse `text-gold` or `bg-gold`.
55
+ 4. **Use components first.** Check the Components table below before building custom elements.
56
+ 5. **Use Tailwind classes from this manifest.** Never hardcode hex values or use arbitrary values like `bg-[#123]`.
57
+ 6. **Subtle borders over shadows.** Prefer `border-ash` over heavy drop shadows.
58
+
59
+ ---
60
+
61
+ ## Components
62
+
63
+ Import from `@lukeashford/aurelius`:
64
+
65
+ | Component | Props |
66
+ |-----------|-------|
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 |
72
+ | Checkbox | label |
73
+ | HelperText | error |
74
+ | Input | error, leadingIcon, trailingIcon |
75
+ | Label | required |
76
+ | Modal | isOpen, title, children, className |
77
+ | Radio | label |
78
+ | Select | error, options |
79
+ | Skeleton | children |
80
+ | Spinner | size (sm, md, lg) |
81
+ | Switch | checked, defaultChecked, label |
82
+ | Textarea | error |
83
+ | Tooltip | content, children, open, side (top, right, bottom, left) |
84
+
85
+ ### Component usage example
86
+
87
+ ```tsx
88
+ import { Button, Card, Input, Badge } from '@lukeashford/aurelius'
89
+
90
+ <Card variant="featured" className="p-6">
91
+ <Badge variant="gold">New</Badge>
92
+ <h2 className="text-gold text-xl mt-2">Title</h2>
93
+ <Input placeholder="Enter value..." className="mt-4" />
94
+ <Button variant="primary" className="mt-4">Submit</Button>
95
+ </Card>
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Tailwind Classes
101
+
102
+ Use ONLY these token-based classes. Arbitrary values like `bg-[#0a0a0a]` will fail linting.
103
+
104
+ ### Backgrounds (`bg-*`)
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
106
+
107
+ ### Text (`text-*`)
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
109
+
110
+ ### Borders (`border-*`)
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
114
+
115
+ **Font families:** `font-heading` ("Marcellus", serif), `font-body` ("Raleway", system-ui, sans-serif), `font-mono` ("JetBrains Mono", "Fira Code", "SF Mono", monospace)
116
+
117
+ Standard Tailwind classes for size (`text-sm`, `text-lg`, etc.), weight (`font-medium`, `font-bold`), and spacing are available.
118
+
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
121
+
122
+ ### Opacity modifiers
123
+ Append `/10`, `/20`, `/30`, etc. to colors: `bg-gold/20`, `border-ash/50`
124
+
125
+ ---
126
+
127
+ ## What NOT to do
128
+
129
+ ```tsx
130
+ // ❌ Arbitrary values — will fail lint
131
+ <div className="bg-[#0a0a0a] text-[#c9a227]">
132
+
133
+ // ❌ Inline styles with colors
134
+ <div style={{ backgroundColor: '#141414' }}>
135
+
136
+ // ❌ White backgrounds
137
+ <div className="bg-white">
138
+
139
+ // ❌ Building components that already exist
140
+ <button className="bg-gold px-4 py-2"> // Use <Button variant="primary">
141
+
142
+ // ✅ Correct
143
+ <div className="bg-obsidian text-gold border border-ash p-4">
144
+ <Button variant="primary">Click</Button>
145
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukeashford/aurelius",
3
- "version": "1.0.1",
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,16 +11,16 @@
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/*",
18
+ "./llms.md": "./llms.md",
20
19
  "./package.json": "./package.json"
21
20
  },
22
21
  "files": [
23
- "dist"
22
+ "dist",
23
+ "llms.md"
24
24
  ],
25
25
  "scripts": {
26
26
  "build": "tsup && node scripts/generate-manifest.js",
@@ -31,20 +31,36 @@
31
31
  "dev:all": "concurrently -k \"npm run dev\" \"npm run dev:demo\""
32
32
  },
33
33
  "peerDependencies": {
34
- "react": "^18.0.0",
35
- "react-dom": "^18.0.0",
36
- "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
+ }
37
42
  },
38
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",
39
48
  "@types/node": "^20.0.0",
40
- "@types/react": "^18.0.0",
41
- "@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",
42
52
  "concurrently": "^8.2.2",
43
- "react": "^18.0.0",
44
- "react-dom": "^18.0.0",
45
- "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",
46
60
  "tsup": "^8.0.0",
47
- "typescript": "^5.0.0"
61
+ "tsx": "^4.7.0",
62
+ "typescript": "^5.0.0",
63
+ "vite": "^5.4.11"
48
64
  },
49
65
  "repository": {
50
66
  "type": "git",
@@ -1,136 +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
- var preset = {
13
- // Safelist color utilities used dynamically in the demo so Tailwind doesn't purge them
14
- safelist: [
15
- // Black spectrum
16
- "bg-void",
17
- "bg-obsidian",
18
- "bg-charcoal",
19
- "bg-graphite",
20
- "bg-slate",
21
- "bg-ash",
22
- // Gold spectrum
23
- "bg-gold",
24
- "bg-gold-light",
25
- "bg-gold-bright",
26
- "bg-gold-muted",
27
- "bg-gold-pale",
28
- // Neutrals
29
- "bg-white",
30
- "bg-silver",
31
- "bg-zinc",
32
- "bg-dim",
33
- // Semantic
34
- "bg-success",
35
- "bg-success-muted",
36
- "bg-error",
37
- "bg-error-muted",
38
- "bg-warning",
39
- "bg-warning-muted",
40
- "bg-info",
41
- "bg-info-muted"
42
- ],
43
- theme: {
44
- extend: {
45
- colors: {
46
- // Black spectrum
47
- void: colors.void,
48
- obsidian: colors.obsidian,
49
- charcoal: colors.charcoal,
50
- graphite: colors.graphite,
51
- slate: colors.slate,
52
- ash: colors.ash,
53
- // Gold spectrum
54
- gold: {
55
- DEFAULT: colors.gold,
56
- light: colors.goldLight,
57
- bright: colors.goldBright,
58
- muted: colors.goldMuted,
59
- pale: colors.goldPale,
60
- glow: colors.goldGlow
61
- },
62
- // Neutrals
63
- white: colors.white,
64
- silver: colors.silver,
65
- zinc: colors.zinc,
66
- dim: colors.dim,
67
- // Semantic
68
- success: {
69
- DEFAULT: colors.success,
70
- muted: colors.successMuted
71
- },
72
- error: {
73
- DEFAULT: colors.error,
74
- muted: colors.errorMuted
75
- },
76
- warning: {
77
- DEFAULT: colors.warning,
78
- muted: colors.warningMuted
79
- },
80
- info: {
81
- DEFAULT: colors.info,
82
- muted: colors.infoMuted
83
- }
84
- },
85
- fontFamily: {
86
- heading: typography.fontHeading,
87
- body: typography.fontBody,
88
- mono: typography.fontMono
89
- },
90
- fontSize: typography.fontSize,
91
- fontWeight: typography.fontWeight,
92
- lineHeight: typography.lineHeight,
93
- letterSpacing: typography.letterSpacing,
94
- spacing,
95
- borderRadius: radii,
96
- boxShadow: shadows,
97
- transitionDuration: duration,
98
- transitionTimingFunction: easing,
99
- animation: {
100
- "fade-in": "fade-in 200ms ease-out",
101
- "fade-out": "fade-out 150ms ease-in",
102
- "slide-in-right": `slide-in-right 300ms ${easing.smooth}`,
103
- "slide-out-right": "slide-out-right 200ms ease-in",
104
- "pulse-glow": "pulse-glow 2s ease-in-out infinite"
105
- },
106
- keyframes: {
107
- "fade-in": {
108
- "0%": { opacity: "0" },
109
- "100%": { opacity: "1" }
110
- },
111
- "fade-out": {
112
- "0%": { opacity: "1" },
113
- "100%": { opacity: "0" }
114
- },
115
- "slide-in-right": {
116
- "0%": { transform: "translateX(100%)", opacity: "0" },
117
- "100%": { transform: "translateX(0)", opacity: "1" }
118
- },
119
- "slide-out-right": {
120
- "0%": { transform: "translateX(0)", opacity: "1" },
121
- "100%": { transform: "translateX(100%)", opacity: "0" }
122
- },
123
- "pulse-glow": {
124
- "0%, 100%": { boxShadow: "0 0 20px rgba(201, 162, 39, 0.3)" },
125
- "50%": { boxShadow: "0 0 30px rgba(201, 162, 39, 0.5)" }
126
- }
127
- }
128
- }
129
- }
130
- };
131
- var tailwind_preset_default = preset;
132
-
133
- export {
134
- tailwind_preset_default
135
- };
136
- //# sourceMappingURL=chunk-H4EGEZQH.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tailwind.preset.ts"],"sourcesContent":["import type {Config} from 'tailwindcss'\nimport {colors, spacing, typography, shadows, duration, easing, radii} from './tokens'\n\nconst preset: Partial<Config> = {\n // Safelist color utilities used dynamically in the demo so Tailwind doesn't purge them\n safelist: [\n // Black spectrum\n 'bg-void',\n 'bg-obsidian',\n 'bg-charcoal',\n 'bg-graphite',\n 'bg-slate',\n 'bg-ash',\n\n // Gold spectrum\n 'bg-gold',\n 'bg-gold-light',\n 'bg-gold-bright',\n 'bg-gold-muted',\n 'bg-gold-pale',\n\n // Neutrals\n 'bg-white',\n 'bg-silver',\n 'bg-zinc',\n 'bg-dim',\n\n // Semantic\n 'bg-success',\n 'bg-success-muted',\n 'bg-error',\n 'bg-error-muted',\n 'bg-warning',\n 'bg-warning-muted',\n 'bg-info',\n 'bg-info-muted',\n ],\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}\n\nexport default preset\n"],"mappings":";;;;;;;;;;;AAGA,IAAM,SAA0B;AAAA;AAAA,EAE9B,UAAU;AAAA;AAAA,IAER;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,QAAQ;AAAA;AAAA,QAEN,MAAM,OAAO;AAAA,QACb,UAAU,OAAO;AAAA,QACjB,UAAU,OAAO;AAAA,QACjB,UAAU,OAAO;AAAA,QACjB,OAAO,OAAO;AAAA,QACd,KAAK,OAAO;AAAA;AAAA,QAGZ,MAAM;AAAA,UACJ,SAAS,OAAO;AAAA,UAChB,OAAO,OAAO;AAAA,UACd,QAAQ,OAAO;AAAA,UACf,OAAO,OAAO;AAAA,UACd,MAAM,OAAO;AAAA,UACb,MAAM,OAAO;AAAA,QACf;AAAA;AAAA,QAGA,OAAO,OAAO;AAAA,QACd,QAAQ,OAAO;AAAA,QACf,MAAM,OAAO;AAAA,QACb,KAAK,OAAO;AAAA;AAAA,QAGZ,SAAS;AAAA,UACP,SAAS,OAAO;AAAA,UAChB,OAAO,OAAO;AAAA,QAChB;AAAA,QACA,OAAO;AAAA,UACL,SAAS,OAAO;AAAA,UAChB,OAAO,OAAO;AAAA,QAChB;AAAA,QACA,SAAS;AAAA,UACP,SAAS,OAAO;AAAA,UAChB,OAAO,OAAO;AAAA,QAChB;AAAA,QACA,MAAM;AAAA,UACJ,SAAS,OAAO;AAAA,UAChB,OAAO,OAAO;AAAA,QAChB;AAAA,MACF;AAAA,MAEA,YAAY;AAAA,QACV,SAAS,WAAW;AAAA,QACpB,MAAM,WAAW;AAAA,QACjB,MAAM,WAAW;AAAA,MACnB;AAAA,MAEA,UAAU,WAAW;AAAA,MACrB,YAAY,WAAW;AAAA,MACvB,YAAY,WAAW;AAAA,MACvB,eAAe,WAAW;AAAA,MAE1B;AAAA,MAEA,cAAc;AAAA,MAEd,WAAW;AAAA,MAEX,oBAAoB;AAAA,MAEpB,0BAA0B;AAAA,MAE1B,WAAW;AAAA,QACT,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,kBAAkB,wBAAwB,OAAO,MAAM;AAAA,QACvD,mBAAmB;AAAA,QACnB,cAAc;AAAA,MAChB;AAAA,MAEA,WAAW;AAAA,QACT,WAAW;AAAA,UACT,MAAM,EAAC,SAAS,IAAG;AAAA,UACnB,QAAQ,EAAC,SAAS,IAAG;AAAA,QACvB;AAAA,QACA,YAAY;AAAA,UACV,MAAM,EAAC,SAAS,IAAG;AAAA,UACnB,QAAQ,EAAC,SAAS,IAAG;AAAA,QACvB;AAAA,QACA,kBAAkB;AAAA,UAChB,MAAM,EAAC,WAAW,oBAAoB,SAAS,IAAG;AAAA,UAClD,QAAQ,EAAC,WAAW,iBAAiB,SAAS,IAAG;AAAA,QACnD;AAAA,QACA,mBAAmB;AAAA,UACjB,MAAM,EAAC,WAAW,iBAAiB,SAAS,IAAG;AAAA,UAC/C,QAAQ,EAAC,WAAW,oBAAoB,SAAS,IAAG;AAAA,QACtD;AAAA,QACA,cAAc;AAAA,UACZ,YAAY,EAAC,WAAW,mCAAkC;AAAA,UAC1D,OAAO,EAAC,WAAW,mCAAkC;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,0BAAQ;","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
@@ -1 +0,0 @@
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":[]}