@lukeashford/aurelius 2.8.0 → 2.10.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.
@@ -5,6 +5,9 @@
5
5
 
6
6
  @theme {
7
7
  /* ===== COLORS ===== */
8
+ /* Clears all default colors */
9
+ --color-*: initial;
10
+
8
11
  /* Black spectrum */
9
12
  --color-void: #000000;
10
13
  --color-obsidian: #0a0a0a;
@@ -249,7 +252,7 @@
249
252
  /* ===== BASE STYLES (applied via @layer base) ===== */
250
253
  @layer base {
251
254
  html {
252
- font-family: var(--font-body);
255
+ @apply font-body;
253
256
  background-color: var(--color-obsidian);
254
257
  color: var(--color-white);
255
258
  -webkit-font-smoothing: antialiased;
@@ -312,7 +315,7 @@
312
315
  h4,
313
316
  h5,
314
317
  h6 {
315
- font-family: var(--font-heading);
318
+ @apply font-heading;
316
319
  font-weight: 600;
317
320
  letter-spacing: -0.025em;
318
321
  color: var(--color-white);
@@ -434,6 +437,21 @@
434
437
  box-shadow: var(--shadow-glow-lg);
435
438
  }
436
439
 
440
+ /* Flex utility for collapsing to zero size (0 0 0%) - use with flex-1 for expand/collapse animations */
441
+ @utility flex-zero {
442
+ flex: 0 0 0%;
443
+ }
444
+
445
+ @utility font-heading {
446
+ font-family: var(--font-heading);
447
+ font-size-adjust: 0.5;
448
+ }
449
+
450
+ @utility font-body {
451
+ font-family: var(--font-body);
452
+ font-size-adjust: 0.521;
453
+ }
454
+
437
455
  @utility scroll-smooth {
438
456
  scroll-behavior: smooth;
439
457
  -webkit-overflow-scrolling: touch;
package/llms.md CHANGED
@@ -1,3 +1,8 @@
1
+ <!--
2
+ DO NOT EDIT THIS FILE DIRECTLY.
3
+ This file is auto-generated by scripts/generate-manifest.js.
4
+ -->
5
+
1
6
  # Aurelius Design System — AI Manifest
2
7
 
3
8
  ## Setup (Tailwind v4)
@@ -5,11 +10,30 @@
5
10
  ### 1. Install
6
11
 
7
12
  ```bash
13
+ # For Vite projects (Recommended)
8
14
  npm install @lukeashford/aurelius
9
- npm install -D tailwindcss postcss @tailwindcss/postcss eslint @typescript-eslint/parser eslint-plugin-better-tailwindcss @poupe/eslint-plugin-tailwindcss @eslint/css tailwind-csstree
15
+ npm install -D tailwindcss @tailwindcss/vite eslint @typescript-eslint/parser eslint-plugin-better-tailwindcss @poupe/eslint-plugin-tailwindcss @eslint/css tailwind-csstree
16
+
17
+ # For other projects (font bundling might not work)
18
+ npm install -D tailwindcss @tailwindcss/postcss postcss ...
19
+ ```
20
+
21
+ ### 2. Configure (Vite)
22
+
23
+ If using Vite, add the Tailwind CSS plugin to your `vite.config.ts`:
24
+
25
+ ```typescript
26
+ import { defineConfig } from 'vite'
27
+ import tailwindcss from '@tailwindcss/vite'
28
+
29
+ export default defineConfig({
30
+ plugins: [
31
+ tailwindcss(),
32
+ ],
33
+ })
10
34
  ```
11
35
 
12
- ### 2. Import the design system
36
+ ### 3. Import the design system
13
37
 
14
38
  Create or update your `index.css`:
15
39
 
@@ -28,7 +52,7 @@ Then import it in your entry file:
28
52
  import './index.css'
29
53
  ```
30
54
 
31
- ### 3. Configure ESLint
55
+ ### 4. Configure ESLint
32
56
 
33
57
  Aurelius ships with a default ESLint config you can re-export in one line. It enforces design system
34
58
  constraints — if ESLint complains, you're leaving the rails.
@@ -38,7 +62,7 @@ constraints — if ESLint complains, you're leaving the rails.
38
62
  export { default } from '@lukeashford/aurelius/eslint';
39
63
  ```
40
64
 
41
- ### 4. Add lint script and run it
65
+ ### 5. Add lint script and run it
42
66
 
43
67
  Add a lint script and wire it into your workflow:
44
68
 
@@ -76,13 +100,13 @@ Import from `@lukeashford/aurelius`:
76
100
  |-----------|-------|
77
101
  | Accordion | defaultValue, value |
78
102
  | Alert | variant (info, success, warning, error), title |
103
+ | AttachmentPreview | attachments, removable, maxVisible |
79
104
  | Avatar | src, alt, name, size (xs, sm, md, lg, xl, 2xl), status (online, offline, busy) |
80
105
  | Badge | variant (default, gold, success, error, warning, info) |
81
106
  | BrandIcon | size (sm, md, lg), variant (solid, outline) |
82
107
  | Breadcrumb | separator |
83
108
  | Button | variant (primary, important, elevated, outlined, featured, ghost, danger), size (sm, md, lg, xl), loading |
84
109
  | Card | variant (default, elevated, outlined, ghost, featured), interactive, selected, noPadding |
85
- | ChatHistory | messages |
86
110
  | Checkbox | label |
87
111
  | Col | span (auto, full), offset, order (first, last, none) |
88
112
  | ColorSwatch | color, label |
@@ -90,15 +114,16 @@ Import from `@lukeashford/aurelius`:
90
114
  | Dialog | description, confirmText, cancelText, isLoading |
91
115
  | Divider | orientation (horizontal, vertical), variant (solid, dashed, dotted), label |
92
116
  | Drawer | isOpen, position (left, right, top, bottom), title, children, className |
117
+ | FileChip | name, size, type, status (pending, uploading, complete, error), previewUrl, removable, error |
93
118
  | HelperText | error |
94
119
  | ImageCard | src, alt, title, subtitle, aspectRatio (${number}/${number}), overlay, mediaClassName, contentClassName |
95
120
  | Input | error, leadingIcon, trailingIcon |
96
121
  | InputGroup | children |
97
122
  | Label | required |
98
123
  | List | ordered |
99
- | MarkdownContent | content, sanitizeConfig |
124
+ | MarkdownContent | content, sanitizeConfig, isStreaming, cursorClassName |
100
125
  | Menu | children, open |
101
- | Message | variant (user, assistant), content, isStreaming |
126
+ | Message | variant (user, assistant), content, isStreaming, branchInfo, actions, hideActions |
102
127
  | Modal | isOpen, title, children, className |
103
128
  | Navbar | fixed, bordered |
104
129
  | Pagination | page, totalPages, siblingCount, showEdges |
@@ -130,8 +155,30 @@ Import from `@lukeashford/aurelius`:
130
155
  - **value**: Controlled expanded item(s)
131
156
  - **onValueChange**: Callback when expanded items change
132
157
 
133
- **ChatHistory**
134
- - **messages**: Array of chat messages. Each item requires: content (string), variant ('user' | 'assistant'). Optional: id, isStreaming.
158
+ **AttachmentPreview**
159
+ - **attachments**: * Array of attachments to display
160
+ - **onRemove**: * Called when an attachment should be removed
161
+ - **removable**: * Whether attachments are removable
162
+ - **maxVisible**: * Maximum number of attachments to show before collapsing Set to 0 or undefined to show all
163
+
164
+ **FileChip**
165
+ - **name**: * File name to display
166
+ - **size**: * File size in bytes (optional, will be formatted)
167
+ - **type**: * MIME type for icon selection
168
+ - **status**: * Upload/processing status
169
+ - **previewUrl**: * Preview image URL (for images)
170
+ - **onRemove**: * Called when the remove button is clicked
171
+ - **removable**: * Whether the chip is removable
172
+ - **error**: * Error message to display (when status is 'error')
173
+
174
+ **MarkdownContent**
175
+ - **isStreaming**: * When true, injects a streaming cursor at the end of the content
176
+ - **cursorClassName**: * Additional classes for the streaming cursor
177
+
178
+ **Message**
179
+ - **branchInfo**: * Branch navigation info (shows branch indicator if provided and total > 1)
180
+ - **actions**: * Actions configuration (shows action bar if provided)
181
+ - **hideActions**: * Whether to hide actions (e.g., during streaming)
135
182
 
136
183
  **Popover**
137
184
  - **trigger**: The trigger element
@@ -193,7 +240,7 @@ Standard Tailwind classes for size (`text-sm`, `text-lg`, etc.), weight (`font-m
193
240
  **Columns (Tailwind built-in):** `col-span-{1-12}`, `col-span-full`, `col-auto`, `sm:col-span-*`, `md:col-span-*`, `lg:col-span-*`, `xl:col-span-*`
194
241
 
195
242
  ### Custom Utilities
196
- text-gradient-gold, glow, glow-sm, glow-md, glow-lg, scroll-smooth, scrollbar-hide, backdrop-glass, focus-ring, line-clamp-2, line-clamp-3, center-absolute, aspect-wide, container, container-sm, container-md, container-lg, container-xl, container-fluid, row
243
+ text-gradient-gold, glow, glow-sm, glow-md, glow-lg, flex-zero, font-heading, font-body, scroll-smooth, scrollbar-hide, backdrop-glass, focus-ring, line-clamp-2, line-clamp-3, center-absolute, aspect-wide, container, container-sm, container-md, container-lg, container-xl, container-fluid, row
197
244
 
198
245
  ### Opacity modifiers
199
246
  Append `/10`, `/20`, `/30`, etc. to colors: `bg-gold/20`, `border-ash/50`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukeashford/aurelius",
3
- "version": "2.8.0",
3
+ "version": "2.10.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",
@@ -28,10 +28,12 @@
28
28
  "node": ">=22.14.0"
29
29
  },
30
30
  "scripts": {
31
- "build": "npm run typecheck && npm run lint && tsup && node scripts/generate-manifest.js",
31
+ "build": "npm run typecheck && npm run lint:core && tsup && node scripts/generate-manifest.js",
32
32
  "dev": "tsup --watch",
33
33
  "typecheck": "tsc --noEmit",
34
- "lint": "eslint src --max-warnings 0",
34
+ "lint": "npm run lint:core && npm run lint:demo",
35
+ "lint:core": "eslint src --max-warnings 0",
36
+ "lint:demo": "npm --prefix demo run lint",
35
37
  "prepublishOnly": "npm run build",
36
38
  "dev:demo": "npm --prefix demo run dev",
37
39
  "dev:all": "concurrently -k \"npm run dev\" \"npm run dev:demo\"",
@@ -82,10 +82,19 @@ export function createAureliusESLintConfig(options = {}) {
82
82
  ],
83
83
 
84
84
  // Block arbitrary value utilities like bg-[...], text-[...], shadow-[...]
85
+ // Also block intermediate rounded corners (sm/md/lg/xl/2xl/3xl) - Aurelius prefers square corners.
86
+ // Allows: rounded-none (explicit no rounding), rounded-full (circles/pills for avatars, buttons, etc.)
85
87
  'better-tailwindcss/no-restricted-classes': [
86
88
  'error',
87
89
  {
88
- restrict: ['\\[.*\\]'],
90
+ restrict: [
91
+ '\\[.*\\]',
92
+ // Block rounded-sm, rounded-md, rounded-lg, rounded-xl, rounded-2xl, rounded-3xl (base and directional variants)
93
+ '^rounded-(sm|md|lg|xl|2xl|3xl)$',
94
+ '^rounded$',
95
+ '^rounded-(t|r|b|l|tl|tr|br|bl)$',
96
+ '^rounded-(t|r|b|l|tl|tr|br|bl)-(sm|md|lg|xl|2xl|3xl)$',
97
+ ],
89
98
  // Also check variables that store class mappings (e.g., variantClasses objects)
90
99
  variables: [
91
100
  ['^.*[Cc]lass(?:es|Name)?$', [{match: 'strings'}]],