@j3m-quantum/ui 0.2.0 → 0.3.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/dist/styles/index.css +23 -10
- package/dist/styles/j3m-overrides.css +115 -0
- package/package.json +1 -1
- package/dist/styles/base-theme.css +0 -124
package/dist/styles/index.css
CHANGED
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
/* ========================================
|
|
2
2
|
J3M UI STYLES
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
Import this in your app to get the full J3M theme.
|
|
4
|
+
Import this AFTER shadcn's globals.css to apply J3M theming.
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
@
|
|
9
|
-
|
|
6
|
+
Prerequisites:
|
|
7
|
+
1. Run `npx shadcn@latest init` first
|
|
8
|
+
2. npm install @j3m-quantum/ui
|
|
9
|
+
|
|
10
|
+
Usage in your CSS file:
|
|
11
|
+
|
|
12
|
+
For Vite + React:
|
|
13
|
+
@import "tailwindcss";
|
|
14
|
+
@source "../node_modules/@j3m-quantum/ui/dist";
|
|
15
|
+
@import "@j3m-quantum/ui/styles";
|
|
16
|
+
|
|
17
|
+
For Next.js:
|
|
18
|
+
@import "tailwindcss";
|
|
19
|
+
@import "@j3m-quantum/ui/styles";
|
|
20
|
+
|
|
21
|
+
Note: Vite requires the @source directive for Tailwind v4
|
|
22
|
+
to scan the package's compiled classes.
|
|
10
23
|
======================================== */
|
|
11
24
|
|
|
12
|
-
/* 1.
|
|
13
|
-
@import "./base-theme.css";
|
|
14
|
-
|
|
15
|
-
/* 2. J3M Design Tokens (primitives, scales) */
|
|
25
|
+
/* 1. J3M Design Tokens (color scales, spacing, radii, glass effects) */
|
|
16
26
|
@import "./tokens.css";
|
|
17
27
|
|
|
18
|
-
/*
|
|
28
|
+
/* 2. J3M Theme Overrides (maps shadcn vars to J3M colors) */
|
|
29
|
+
@import "./j3m-overrides.css";
|
|
30
|
+
|
|
31
|
+
/* 3. Component-specific overrides (toast styling, glass utilities) */
|
|
19
32
|
@import "./theme.css";
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/* ========================================
|
|
2
|
+
J3M THEME OVERRIDES
|
|
3
|
+
|
|
4
|
+
Overrides shadcn's default theme variables with J3M colors.
|
|
5
|
+
Import this AFTER shadcn's globals.css to apply J3M branding.
|
|
6
|
+
|
|
7
|
+
Requires: User has run `npx shadcn init` first
|
|
8
|
+
======================================== */
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
/* ========================================
|
|
12
|
+
OVERRIDE SHADCN THEME COLORS WITH J3M
|
|
13
|
+
======================================== */
|
|
14
|
+
|
|
15
|
+
/* Primary - J3M Orange */
|
|
16
|
+
--primary: var(--j3m-primary-300);
|
|
17
|
+
--primary-foreground: #FFFFFF;
|
|
18
|
+
|
|
19
|
+
/* Secondary - J3M Neutral */
|
|
20
|
+
--secondary: var(--j3m-neutral-200);
|
|
21
|
+
--secondary-foreground: var(--j3m-neutral-900);
|
|
22
|
+
|
|
23
|
+
/* Muted */
|
|
24
|
+
--muted: var(--j3m-neutral-200);
|
|
25
|
+
--muted-foreground: var(--j3m-neutral-600);
|
|
26
|
+
|
|
27
|
+
/* Accent */
|
|
28
|
+
--accent: var(--j3m-primary-100);
|
|
29
|
+
--accent-foreground: var(--j3m-primary-500);
|
|
30
|
+
|
|
31
|
+
/* Destructive - J3M Red */
|
|
32
|
+
--destructive: var(--j3m-red-100);
|
|
33
|
+
--destructive-foreground: #FFFFFF;
|
|
34
|
+
|
|
35
|
+
/* Background & Foreground */
|
|
36
|
+
--background: var(--j3m-neutral-100);
|
|
37
|
+
--foreground: var(--j3m-neutral-1000);
|
|
38
|
+
|
|
39
|
+
/* Card */
|
|
40
|
+
--card: var(--j3m-neutral-100);
|
|
41
|
+
--card-foreground: var(--j3m-neutral-1000);
|
|
42
|
+
|
|
43
|
+
/* Popover */
|
|
44
|
+
--popover: var(--j3m-neutral-100);
|
|
45
|
+
--popover-foreground: var(--j3m-neutral-1000);
|
|
46
|
+
|
|
47
|
+
/* Border & Input */
|
|
48
|
+
--border: var(--j3m-neutral-300);
|
|
49
|
+
--input: var(--j3m-neutral-300);
|
|
50
|
+
--ring: var(--j3m-primary-250);
|
|
51
|
+
|
|
52
|
+
/* Sidebar - J3M branded */
|
|
53
|
+
--sidebar-background: var(--j3m-neutral-100);
|
|
54
|
+
--sidebar-foreground: var(--j3m-neutral-900);
|
|
55
|
+
--sidebar-primary: var(--j3m-primary-300);
|
|
56
|
+
--sidebar-primary-foreground: #FFFFFF;
|
|
57
|
+
--sidebar-accent: var(--j3m-neutral-200);
|
|
58
|
+
--sidebar-accent-foreground: var(--j3m-neutral-900);
|
|
59
|
+
--sidebar-border: var(--j3m-neutral-200);
|
|
60
|
+
--sidebar-ring: var(--j3m-primary-300);
|
|
61
|
+
|
|
62
|
+
/* Chart colors - J3M palette */
|
|
63
|
+
--chart-1: var(--j3m-primary-300);
|
|
64
|
+
--chart-2: var(--j3m-green-200);
|
|
65
|
+
--chart-3: var(--j3m-neutral-700);
|
|
66
|
+
--chart-4: var(--j3m-yellow-100);
|
|
67
|
+
--chart-5: var(--j3m-primary-200);
|
|
68
|
+
|
|
69
|
+
/* Radius - J3M values */
|
|
70
|
+
--radius: var(--j3m-radius-s);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* ========================================
|
|
74
|
+
DARK MODE OVERRIDES
|
|
75
|
+
======================================== */
|
|
76
|
+
|
|
77
|
+
.dark {
|
|
78
|
+
--primary: var(--j3m-primary-250);
|
|
79
|
+
--primary-foreground: var(--j3m-neutral-1000);
|
|
80
|
+
|
|
81
|
+
--secondary: var(--j3m-neutral-800);
|
|
82
|
+
--secondary-foreground: var(--j3m-neutral-100);
|
|
83
|
+
|
|
84
|
+
--muted: var(--j3m-neutral-800);
|
|
85
|
+
--muted-foreground: var(--j3m-neutral-400);
|
|
86
|
+
|
|
87
|
+
--accent: var(--j3m-neutral-800);
|
|
88
|
+
--accent-foreground: var(--j3m-neutral-100);
|
|
89
|
+
|
|
90
|
+
--destructive: var(--j3m-red-200);
|
|
91
|
+
--destructive-foreground: #FFFFFF;
|
|
92
|
+
|
|
93
|
+
--background: var(--j3m-neutral-1000);
|
|
94
|
+
--foreground: var(--j3m-neutral-100);
|
|
95
|
+
|
|
96
|
+
--card: var(--j3m-neutral-1000);
|
|
97
|
+
--card-foreground: var(--j3m-neutral-100);
|
|
98
|
+
|
|
99
|
+
--popover: var(--j3m-neutral-1000);
|
|
100
|
+
--popover-foreground: var(--j3m-neutral-100);
|
|
101
|
+
|
|
102
|
+
--border: var(--j3m-neutral-800);
|
|
103
|
+
--input: var(--j3m-neutral-800);
|
|
104
|
+
--ring: var(--j3m-primary-250);
|
|
105
|
+
|
|
106
|
+
--sidebar-background: var(--j3m-neutral-1000);
|
|
107
|
+
--sidebar-foreground: var(--j3m-neutral-100);
|
|
108
|
+
--sidebar-primary: var(--j3m-primary-250);
|
|
109
|
+
--sidebar-primary-foreground: var(--j3m-neutral-1000);
|
|
110
|
+
--sidebar-accent: var(--j3m-neutral-800);
|
|
111
|
+
--sidebar-accent-foreground: var(--j3m-neutral-100);
|
|
112
|
+
--sidebar-border: var(--j3m-neutral-800);
|
|
113
|
+
--sidebar-ring: var(--j3m-primary-250);
|
|
114
|
+
}
|
|
115
|
+
|
package/package.json
CHANGED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/* ========================================
|
|
2
|
-
SHADCN BASE THEME
|
|
3
|
-
Required CSS variables for Tailwind v4 theme colors.
|
|
4
|
-
These map to the Tailwind classes used by components.
|
|
5
|
-
======================================== */
|
|
6
|
-
|
|
7
|
-
@theme {
|
|
8
|
-
/* Core colors */
|
|
9
|
-
--color-background: #ffffff;
|
|
10
|
-
--color-foreground: #09090b;
|
|
11
|
-
|
|
12
|
-
/* Card */
|
|
13
|
-
--color-card: #ffffff;
|
|
14
|
-
--color-card-foreground: #09090b;
|
|
15
|
-
|
|
16
|
-
/* Popover */
|
|
17
|
-
--color-popover: #ffffff;
|
|
18
|
-
--color-popover-foreground: #09090b;
|
|
19
|
-
|
|
20
|
-
/* Primary - J3M Orange */
|
|
21
|
-
--color-primary: var(--j3m-primary-300, #F36C21);
|
|
22
|
-
--color-primary-foreground: #ffffff;
|
|
23
|
-
|
|
24
|
-
/* Secondary */
|
|
25
|
-
--color-secondary: #f4f4f5;
|
|
26
|
-
--color-secondary-foreground: #18181b;
|
|
27
|
-
|
|
28
|
-
/* Muted */
|
|
29
|
-
--color-muted: #f4f4f5;
|
|
30
|
-
--color-muted-foreground: #71717a;
|
|
31
|
-
|
|
32
|
-
/* Accent */
|
|
33
|
-
--color-accent: #f4f4f5;
|
|
34
|
-
--color-accent-foreground: #18181b;
|
|
35
|
-
|
|
36
|
-
/* Destructive */
|
|
37
|
-
--color-destructive: #ef4444;
|
|
38
|
-
--color-destructive-foreground: #fafafa;
|
|
39
|
-
|
|
40
|
-
/* Border & Input */
|
|
41
|
-
--color-border: #e4e4e7;
|
|
42
|
-
--color-input: #e4e4e7;
|
|
43
|
-
--color-ring: var(--j3m-primary-300, #F36C21);
|
|
44
|
-
|
|
45
|
-
/* Sidebar */
|
|
46
|
-
--color-sidebar: #fafafa;
|
|
47
|
-
--color-sidebar-foreground: #09090b;
|
|
48
|
-
--color-sidebar-primary: var(--j3m-primary-300, #F36C21);
|
|
49
|
-
--color-sidebar-primary-foreground: #ffffff;
|
|
50
|
-
--color-sidebar-accent: #f4f4f5;
|
|
51
|
-
--color-sidebar-accent-foreground: #18181b;
|
|
52
|
-
--color-sidebar-border: #e4e4e7;
|
|
53
|
-
--color-sidebar-ring: var(--j3m-primary-300, #F36C21);
|
|
54
|
-
|
|
55
|
-
/* Chart colors - J3M branded */
|
|
56
|
-
--color-chart-1: var(--j3m-primary-300, #F36C21);
|
|
57
|
-
--color-chart-2: var(--j3m-green-200, #1FC16B);
|
|
58
|
-
--color-chart-3: var(--j3m-neutral-700, #777777);
|
|
59
|
-
--color-chart-4: var(--j3m-yellow-100, #FFDB43);
|
|
60
|
-
--color-chart-5: var(--j3m-primary-200, #F79D6B);
|
|
61
|
-
|
|
62
|
-
/* Default radius */
|
|
63
|
-
--radius: 0.5rem;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/* ========================================
|
|
67
|
-
DARK MODE
|
|
68
|
-
======================================== */
|
|
69
|
-
|
|
70
|
-
.dark {
|
|
71
|
-
--color-background: #09090b;
|
|
72
|
-
--color-foreground: #fafafa;
|
|
73
|
-
|
|
74
|
-
--color-card: #09090b;
|
|
75
|
-
--color-card-foreground: #fafafa;
|
|
76
|
-
|
|
77
|
-
--color-popover: #09090b;
|
|
78
|
-
--color-popover-foreground: #fafafa;
|
|
79
|
-
|
|
80
|
-
--color-primary: var(--j3m-primary-250, #F58446);
|
|
81
|
-
--color-primary-foreground: #18181b;
|
|
82
|
-
|
|
83
|
-
--color-secondary: #27272a;
|
|
84
|
-
--color-secondary-foreground: #fafafa;
|
|
85
|
-
|
|
86
|
-
--color-muted: #27272a;
|
|
87
|
-
--color-muted-foreground: #a1a1aa;
|
|
88
|
-
|
|
89
|
-
--color-accent: #27272a;
|
|
90
|
-
--color-accent-foreground: #fafafa;
|
|
91
|
-
|
|
92
|
-
--color-destructive: #7f1d1d;
|
|
93
|
-
--color-destructive-foreground: #fafafa;
|
|
94
|
-
|
|
95
|
-
--color-border: #27272a;
|
|
96
|
-
--color-input: #27272a;
|
|
97
|
-
--color-ring: var(--j3m-primary-250, #F58446);
|
|
98
|
-
|
|
99
|
-
--color-sidebar: #09090b;
|
|
100
|
-
--color-sidebar-foreground: #fafafa;
|
|
101
|
-
--color-sidebar-primary: var(--j3m-primary-250, #F58446);
|
|
102
|
-
--color-sidebar-primary-foreground: #18181b;
|
|
103
|
-
--color-sidebar-accent: #27272a;
|
|
104
|
-
--color-sidebar-accent-foreground: #fafafa;
|
|
105
|
-
--color-sidebar-border: #27272a;
|
|
106
|
-
--color-sidebar-ring: var(--j3m-primary-250, #F58446);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/* ========================================
|
|
110
|
-
BASE STYLES
|
|
111
|
-
======================================== */
|
|
112
|
-
|
|
113
|
-
@layer base {
|
|
114
|
-
* {
|
|
115
|
-
border-color: var(--color-border);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
body {
|
|
119
|
-
background-color: var(--color-background);
|
|
120
|
-
color: var(--color-foreground);
|
|
121
|
-
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|