@lukeashford/aurelius 1.1.0 → 2.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/LICENSE +21 -0
- package/README.md +42 -72
- package/dist/index.d.mts +10 -7
- package/dist/index.d.ts +10 -7
- package/dist/index.js +9 -399
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -33
- package/dist/index.mjs.map +1 -1
- package/dist/styles/base.css +7 -2
- package/dist/styles/fonts.css +31 -2
- package/dist/styles/theme.css +368 -0
- package/llms.md +40 -82
- package/package.json +62 -17
- package/scripts/eslint.mjs +117 -0
- package/dist/chunk-MBYGB67D.mjs +0 -243
- package/dist/chunk-MBYGB67D.mjs.map +0 -1
- package/dist/chunk-MDNHT46W.mjs +0 -150
- package/dist/chunk-MDNHT46W.mjs.map +0 -1
- package/dist/tailwind.preset.d.mts +0 -5
- package/dist/tailwind.preset.d.ts +0 -5
- package/dist/tailwind.preset.js +0 -405
- package/dist/tailwind.preset.js.map +0 -1
- package/dist/tailwind.preset.mjs +0 -8
- package/dist/tailwind.preset.mjs.map +0 -1
- package/dist/tokens/index.d.mts +0 -156
- package/dist/tokens/index.d.ts +0 -156
- package/dist/tokens/index.js +0 -182
- package/dist/tokens/index.js.map +0 -1
- package/dist/tokens/index.mjs +0 -19
- package/dist/tokens/index.mjs.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 lukeashford
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Aurelius
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@lukeashford/aurelius)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
3
6
|
**A dark-mode design system for creative technologists** — combining technical sophistication with a
|
|
4
7
|
cinematic aesthetic.
|
|
5
8
|
|
|
@@ -53,62 +56,55 @@ while staying within design system constraints.
|
|
|
53
56
|
|
|
54
57
|
```bash
|
|
55
58
|
npm install @lukeashford/aurelius
|
|
56
|
-
npm install -D eslint eslint-plugin-tailwindcss
|
|
59
|
+
npm install -D eslint @typescript-eslint/parser eslint-plugin-better-tailwindcss @poupe/eslint-plugin-tailwindcss @eslint/css tailwind-csstree
|
|
57
60
|
```
|
|
58
61
|
|
|
59
|
-
### 2.
|
|
62
|
+
### 2. Import the design system
|
|
60
63
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
Create or update your `index.css`:
|
|
65
|
+
|
|
66
|
+
```css
|
|
67
|
+
/* Import the complete Aurelius design system (includes Tailwind v4, fonts, and theme) */
|
|
68
|
+
@import '@lukeashford/aurelius/styles/base.css';
|
|
69
|
+
|
|
70
|
+
/* Tell Tailwind to scan the Aurelius package for utility classes */
|
|
71
|
+
@source "../node_modules/@lukeashford/aurelius/dist";
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Then import it in your entry file:
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
// main.tsx or index.tsx
|
|
78
|
+
import './index.css'
|
|
72
79
|
```
|
|
73
80
|
|
|
74
|
-
### 3. Configure ESLint
|
|
81
|
+
### 3. Configure ESLint (simplest form)
|
|
75
82
|
|
|
76
|
-
|
|
77
|
-
|
|
83
|
+
Aurelius ships with a default ESLint config you can re-export in one line. It enforces design system
|
|
84
|
+
constraints — if ESLint complains, you're leaving the rails.
|
|
78
85
|
|
|
79
86
|
```javascript
|
|
80
|
-
// eslint.config.
|
|
81
|
-
|
|
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
|
-
];
|
|
87
|
+
// eslint.config.mjs
|
|
88
|
+
export {default} from '@lukeashford/aurelius/eslint';
|
|
95
89
|
```
|
|
96
90
|
|
|
97
|
-
|
|
98
|
-
|
|
91
|
+
**Need a different CSS entry point?**
|
|
92
|
+
|
|
99
93
|
```javascript
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
settings: {
|
|
107
|
-
tailwindcss: { config: './tailwind.config.js' },
|
|
108
|
-
},
|
|
109
|
-
}
|
|
94
|
+
// eslint.config.mjs
|
|
95
|
+
import {createAureliusESLintConfig} from '@lukeashford/aurelius/eslint';
|
|
96
|
+
|
|
97
|
+
export default createAureliusESLintConfig({
|
|
98
|
+
entryPoint: './app/styles.css'
|
|
99
|
+
});
|
|
110
100
|
```
|
|
111
|
-
|
|
101
|
+
|
|
102
|
+
**What this enforces:**
|
|
103
|
+
|
|
104
|
+
- **JS/TS/JSX/TSX files:** No custom/non-Aurelius class names, no arbitrary value utilities like
|
|
105
|
+
`bg-[#123456]` or `text-[15px]`
|
|
106
|
+
- **CSS files:** Tailwind v4 CSS best practices, valid `@apply` directives, no arbitrary value
|
|
107
|
+
overuse, and proper theme token usage
|
|
112
108
|
|
|
113
109
|
### 4. Update package.json scripts
|
|
114
110
|
|
|
@@ -122,22 +118,7 @@ module.exports = {
|
|
|
122
118
|
}
|
|
123
119
|
```
|
|
124
120
|
|
|
125
|
-
### 5.
|
|
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
|
|
121
|
+
### 5. Use components
|
|
141
122
|
|
|
142
123
|
```tsx
|
|
143
124
|
import {Button, Card, Input} from '@lukeashford/aurelius'
|
|
@@ -155,15 +136,4 @@ function LoginForm() {
|
|
|
155
136
|
}
|
|
156
137
|
```
|
|
157
138
|
|
|
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.
|
|
139
|
+
---
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export { default as tailwindPreset } from './tailwind.preset.mjs';
|
|
2
|
-
export { ColorToken, DurationToken, EasingToken, RadiusToken, ShadowToken, SpacingToken, TypographyToken, colors, duration, easing, radii, shadows, spacing, typography } from './tokens/index.mjs';
|
|
3
1
|
import React from 'react';
|
|
4
|
-
import 'tailwindcss';
|
|
5
2
|
|
|
6
3
|
type ButtonVariant = 'primary' | 'important' | 'elevated' | 'outlined' | 'featured' | 'ghost' | 'danger';
|
|
7
4
|
type ButtonSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
@@ -27,12 +24,13 @@ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
27
24
|
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
28
25
|
|
|
29
26
|
type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
27
|
+
type AvatarStatus = 'online' | 'offline' | 'busy';
|
|
30
28
|
interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
31
29
|
src?: string;
|
|
32
30
|
alt?: string;
|
|
33
31
|
name?: string;
|
|
34
32
|
size?: AvatarSize;
|
|
35
|
-
status?:
|
|
33
|
+
status?: AvatarStatus;
|
|
36
34
|
}
|
|
37
35
|
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
|
|
38
36
|
|
|
@@ -42,11 +40,12 @@ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
42
40
|
}
|
|
43
41
|
declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
44
42
|
|
|
43
|
+
type TooltipSide = 'top' | 'right' | 'bottom' | 'left';
|
|
45
44
|
interface TooltipProps {
|
|
46
45
|
content: React.ReactNode;
|
|
47
46
|
children: React.ReactElement;
|
|
48
47
|
open?: boolean;
|
|
49
|
-
side?:
|
|
48
|
+
side?: TooltipSide;
|
|
50
49
|
}
|
|
51
50
|
declare const Tooltip: React.FC<TooltipProps>;
|
|
52
51
|
|
|
@@ -100,8 +99,9 @@ interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
100
99
|
}
|
|
101
100
|
declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
|
|
102
101
|
|
|
102
|
+
type SpinnerSize = 'sm' | 'md' | 'lg';
|
|
103
103
|
interface SpinnerProps extends React.SVGAttributes<SVGElement> {
|
|
104
|
-
size?:
|
|
104
|
+
size?: SpinnerSize;
|
|
105
105
|
}
|
|
106
106
|
declare const Spinner: {
|
|
107
107
|
({ className, size, ...rest }: SpinnerProps): React.JSX.Element;
|
|
@@ -129,8 +129,11 @@ declare const Modal: {
|
|
|
129
129
|
*
|
|
130
130
|
* A cohesive visual language for creative technologists.
|
|
131
131
|
* Combines technical sophistication with artistic sensibility.
|
|
132
|
+
*
|
|
133
|
+
* CSS-first Tailwind v4 design system.
|
|
134
|
+
* Import '@lukeashford/aurelius/styles/base.css' for complete styling.
|
|
132
135
|
*/
|
|
133
136
|
|
|
134
|
-
declare const version = "
|
|
137
|
+
declare const version = "2.0.0";
|
|
135
138
|
|
|
136
139
|
export { Alert, type AlertProps, type AlertVariant, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, type CardVariant, Checkbox, type CheckboxProps, HelperText, type HelperTextProps, Input, type InputProps, Label, type LabelProps, Modal, type ModalProps, Radio, type RadioProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, Switch, type SwitchProps, Textarea, type TextareaProps, Tooltip, type TooltipProps, version };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export { default as tailwindPreset } from './tailwind.preset.js';
|
|
2
|
-
export { ColorToken, DurationToken, EasingToken, RadiusToken, ShadowToken, SpacingToken, TypographyToken, colors, duration, easing, radii, shadows, spacing, typography } from './tokens/index.js';
|
|
3
1
|
import React from 'react';
|
|
4
|
-
import 'tailwindcss';
|
|
5
2
|
|
|
6
3
|
type ButtonVariant = 'primary' | 'important' | 'elevated' | 'outlined' | 'featured' | 'ghost' | 'danger';
|
|
7
4
|
type ButtonSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
@@ -27,12 +24,13 @@ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
27
24
|
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
28
25
|
|
|
29
26
|
type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
27
|
+
type AvatarStatus = 'online' | 'offline' | 'busy';
|
|
30
28
|
interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
31
29
|
src?: string;
|
|
32
30
|
alt?: string;
|
|
33
31
|
name?: string;
|
|
34
32
|
size?: AvatarSize;
|
|
35
|
-
status?:
|
|
33
|
+
status?: AvatarStatus;
|
|
36
34
|
}
|
|
37
35
|
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
|
|
38
36
|
|
|
@@ -42,11 +40,12 @@ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
42
40
|
}
|
|
43
41
|
declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
44
42
|
|
|
43
|
+
type TooltipSide = 'top' | 'right' | 'bottom' | 'left';
|
|
45
44
|
interface TooltipProps {
|
|
46
45
|
content: React.ReactNode;
|
|
47
46
|
children: React.ReactElement;
|
|
48
47
|
open?: boolean;
|
|
49
|
-
side?:
|
|
48
|
+
side?: TooltipSide;
|
|
50
49
|
}
|
|
51
50
|
declare const Tooltip: React.FC<TooltipProps>;
|
|
52
51
|
|
|
@@ -100,8 +99,9 @@ interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
100
99
|
}
|
|
101
100
|
declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
|
|
102
101
|
|
|
102
|
+
type SpinnerSize = 'sm' | 'md' | 'lg';
|
|
103
103
|
interface SpinnerProps extends React.SVGAttributes<SVGElement> {
|
|
104
|
-
size?:
|
|
104
|
+
size?: SpinnerSize;
|
|
105
105
|
}
|
|
106
106
|
declare const Spinner: {
|
|
107
107
|
({ className, size, ...rest }: SpinnerProps): React.JSX.Element;
|
|
@@ -129,8 +129,11 @@ declare const Modal: {
|
|
|
129
129
|
*
|
|
130
130
|
* A cohesive visual language for creative technologists.
|
|
131
131
|
* Combines technical sophistication with artistic sensibility.
|
|
132
|
+
*
|
|
133
|
+
* CSS-first Tailwind v4 design system.
|
|
134
|
+
* Import '@lukeashford/aurelius/styles/base.css' for complete styling.
|
|
132
135
|
*/
|
|
133
136
|
|
|
134
|
-
declare const version = "
|
|
137
|
+
declare const version = "2.0.0";
|
|
135
138
|
|
|
136
139
|
export { Alert, type AlertProps, type AlertVariant, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, type CardVariant, Checkbox, type CheckboxProps, HelperText, type HelperTextProps, Input, type InputProps, Label, type LabelProps, Modal, type ModalProps, Radio, type RadioProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, Switch, type SwitchProps, Textarea, type TextareaProps, Tooltip, type TooltipProps, version };
|