@cloudvoyant/vortex-ui 0.17.0-rc.202609040136.45c8986
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/index.cjs +1675 -0
- package/dist/index.d.cts +723 -0
- package/dist/index.d.ts +723 -0
- package/dist/index.js +1383 -0
- package/package.json +67 -0
- package/src/components.css +36 -0
- package/src/theme.css +189 -0
- package/src/themes/amber-minimal.css +83 -0
- package/src/themes/amethyst-haze.css +83 -0
- package/src/themes/anthropic.css +60 -0
- package/src/themes/anyscale.css +73 -0
- package/src/themes/bold-tech.css +82 -0
- package/src/themes/bubblegum.css +85 -0
- package/src/themes/caffeine.css +73 -0
- package/src/themes/candyland.css +75 -0
- package/src/themes/catppuccin.css +81 -0
- package/src/themes/claude.css +81 -0
- package/src/themes/claymorphism.css +83 -0
- package/src/themes/clean-slate.css +82 -0
- package/src/themes/cosmic-night.css +82 -0
- package/src/themes/cyberpunk.css +81 -0
- package/src/themes/darkmatter.css +84 -0
- package/src/themes/default.css +62 -0
- package/src/themes/doom-64.css +95 -0
- package/src/themes/elegant-luxury.css +82 -0
- package/src/themes/graphite.css +59 -0
- package/src/themes/green.css +57 -0
- package/src/themes/kodama-grove.css +81 -0
- package/src/themes/lambda.css +63 -0
- package/src/themes/mdbook.css +108 -0
- package/src/themes/midnight-bloom.css +82 -0
- package/src/themes/mocha-mousse.css +82 -0
- package/src/themes/modern-minimal.css +76 -0
- package/src/themes/mono.css +81 -0
- package/src/themes/nature.css +76 -0
- package/src/themes/neo-brutalism.css +81 -0
- package/src/themes/northern-lights.css +76 -0
- package/src/themes/notebook.css +95 -0
- package/src/themes/ocean-breeze.css +82 -0
- package/src/themes/openai.css +59 -0
- package/src/themes/pastel-dreams.css +82 -0
- package/src/themes/perpetuity.css +91 -0
- package/src/themes/quantum-rose.css +85 -0
- package/src/themes/retro-arcade.css +81 -0
- package/src/themes/rose.css +57 -0
- package/src/themes/sage-garden.css +84 -0
- package/src/themes/slate.css +57 -0
- package/src/themes/soft-pop.css +95 -0
- package/src/themes/solar-dusk.css +83 -0
- package/src/themes/starry-night.css +74 -0
- package/src/themes/sunset-horizon.css +82 -0
- package/src/themes/supabase.css +83 -0
- package/src/themes/t3-chat.css +72 -0
- package/src/themes/tangerine.css +81 -0
- package/src/themes/twitter.css +82 -0
- package/src/themes/vercel.css +85 -0
- package/src/themes/vintage-paper.css +82 -0
- package/src/themes/violet-bloom.css +95 -0
- package/src/themes/vitepress.css +60 -0
- package/src/themes/vortex-ui.css +88 -0
- package/src/themes.css +4184 -0
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cloudvoyant/vortex-ui",
|
|
3
|
+
"version": "0.17.0-rc.202609040136.45c8986",
|
|
4
|
+
"description": "vortex-ui shared component interfaces, cva variants, and theme",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.cjs",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"require": "./dist/index.cjs"
|
|
15
|
+
},
|
|
16
|
+
"./theme.css": "./src/theme.css",
|
|
17
|
+
"./themes.css": "./src/themes.css",
|
|
18
|
+
"./components.css": "./src/components.css",
|
|
19
|
+
"./package.json": "./package.json"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"src/theme.css",
|
|
24
|
+
"src/themes.css",
|
|
25
|
+
"src/components.css",
|
|
26
|
+
"src/themes"
|
|
27
|
+
],
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@tanstack/charts": "^0.16.0",
|
|
33
|
+
"class-variance-authority": "^0.7.1",
|
|
34
|
+
"clsx": "^2.1.1",
|
|
35
|
+
"katex": "^0.16.11",
|
|
36
|
+
"tailwind-merge": "^3.6.0"
|
|
37
|
+
},
|
|
38
|
+
"peerDependencies": {
|
|
39
|
+
"mermaid": "^11.16.0",
|
|
40
|
+
"shiki": "^3.0.0"
|
|
41
|
+
},
|
|
42
|
+
"peerDependenciesMeta": {
|
|
43
|
+
"mermaid": {
|
|
44
|
+
"optional": true
|
|
45
|
+
},
|
|
46
|
+
"shiki": {
|
|
47
|
+
"optional": true
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/katex": "^0.16.8",
|
|
52
|
+
"@types/node": "^22.0.0",
|
|
53
|
+
"katex": "^0.16.11",
|
|
54
|
+
"manim-web": "^0.3.24",
|
|
55
|
+
"mermaid": "^11.16.0",
|
|
56
|
+
"shiki": "^3.0.0",
|
|
57
|
+
"vitest": "^2.0.0"
|
|
58
|
+
},
|
|
59
|
+
"scripts": {
|
|
60
|
+
"build": "tsup",
|
|
61
|
+
"test": "vitest run",
|
|
62
|
+
"lint": "eslint src tests --no-error-on-unmatched-pattern && tsc --noEmit",
|
|
63
|
+
"lint:fix": "eslint src tests --no-error-on-unmatched-pattern --fix",
|
|
64
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
65
|
+
"format:check": "prettier --check \"src/**/*.ts\""
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* libs/vortex-ui/src/components.css */
|
|
2
|
+
/*
|
|
3
|
+
* Registers the vortex-ui component class strings with the consuming Tailwind
|
|
4
|
+
* v4 build. Relative paths resolve from this file's installed location
|
|
5
|
+
* (node_modules/@cloudvoyant/vortex-ui/src/), where the sibling packages sit alongside
|
|
6
|
+
* it in a flat node_modules. This lets the client's own Tailwind compile the
|
|
7
|
+
* utility classes the vortex-ui components reference + inline in the framework
|
|
8
|
+
* libs -- no per-consumer @source config required.
|
|
9
|
+
*
|
|
10
|
+
* src/ dirs are scanned so dev-served source (HMR) sees class changes without
|
|
11
|
+
* a rebuild; dist/ stays so published packages keep working.
|
|
12
|
+
*
|
|
13
|
+
* Consumers import it after Tailwind, e.g.:
|
|
14
|
+
* @import 'tailwindcss';
|
|
15
|
+
* @import '@cloudvoyant/vortex-ui/theme.css';
|
|
16
|
+
* @import '@cloudvoyant/vortex-ui/components.css';
|
|
17
|
+
*/
|
|
18
|
+
@source ".";
|
|
19
|
+
@source "../../vortex-react/src";
|
|
20
|
+
@source "../../vortex-svelte/src";
|
|
21
|
+
@source "../dist";
|
|
22
|
+
@source "../../vortex-react/dist";
|
|
23
|
+
@source "../../vortex-svelte/dist";
|
|
24
|
+
|
|
25
|
+
/*
|
|
26
|
+
* Overlay arrows (tooltip/popover): the arrow tip is an 8x8 square rotated into
|
|
27
|
+
* a diamond, whose inner vortex points into the content. Clip the square to the
|
|
28
|
+
* {top-left, top-right, bottom-left} triangle (removing the bottom-right corner
|
|
29
|
+
* that becomes the inner vortex), then the per-placement rotation maps that same
|
|
30
|
+
* triangle to the outer half for every side. A full border lands on the two kept
|
|
31
|
+
* edges — always the two outer diagonals — while the clipped base stays borderless.
|
|
32
|
+
*/
|
|
33
|
+
[data-part='arrow-tip'] {
|
|
34
|
+
border: 1px solid var(--color-border);
|
|
35
|
+
clip-path: polygon(0 0, 100% 0, 0 100%);
|
|
36
|
+
}
|
package/src/theme.css
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/* libs/vortex-ui/src/theme.css
|
|
2
|
+
Base shadcn-style theme. The token set below matches shadcn/ui's standard
|
|
3
|
+
"Neutral" theme (see https://ui.shadcn.com/docs/theming) — light + dark.
|
|
4
|
+
vortex-ui additions (status colors + font stacks) are marked inline. */
|
|
5
|
+
|
|
6
|
+
@custom-variant dark (&:is(.dark *));
|
|
7
|
+
|
|
8
|
+
@theme inline {
|
|
9
|
+
--color-background: var(--background);
|
|
10
|
+
--color-foreground: var(--foreground);
|
|
11
|
+
--color-card: var(--card);
|
|
12
|
+
--color-card-foreground: var(--card-foreground);
|
|
13
|
+
--color-popover: var(--popover);
|
|
14
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
15
|
+
--color-primary: var(--primary);
|
|
16
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
17
|
+
--color-secondary: var(--secondary);
|
|
18
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
19
|
+
--color-muted: var(--muted);
|
|
20
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
21
|
+
--color-accent: var(--accent);
|
|
22
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
23
|
+
--color-destructive: var(--destructive);
|
|
24
|
+
/* vortex-ui addition — semantic status colors (used by Button/Badge). */
|
|
25
|
+
--color-success: var(--success);
|
|
26
|
+
--color-success-foreground: var(--success-foreground);
|
|
27
|
+
--color-danger: var(--danger);
|
|
28
|
+
--color-danger-foreground: var(--danger-foreground);
|
|
29
|
+
--color-warn: var(--warn);
|
|
30
|
+
--color-warn-foreground: var(--warn-foreground);
|
|
31
|
+
--color-info: var(--info);
|
|
32
|
+
--color-info-foreground: var(--info-foreground);
|
|
33
|
+
/* end vortex-ui addition */
|
|
34
|
+
--color-border: var(--border);
|
|
35
|
+
--color-input: var(--input);
|
|
36
|
+
--color-ring: var(--ring);
|
|
37
|
+
--color-chart-1: var(--chart-1);
|
|
38
|
+
--color-chart-2: var(--chart-2);
|
|
39
|
+
--color-chart-3: var(--chart-3);
|
|
40
|
+
--color-chart-4: var(--chart-4);
|
|
41
|
+
--color-chart-5: var(--chart-5);
|
|
42
|
+
--color-sidebar: var(--sidebar);
|
|
43
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
44
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
45
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
46
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
47
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
48
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
49
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
50
|
+
--radius-sm: calc(var(--radius) * 0.6);
|
|
51
|
+
--radius-md: calc(var(--radius) * 0.8);
|
|
52
|
+
--radius-lg: var(--radius);
|
|
53
|
+
--radius-xl: calc(var(--radius) * 1.4);
|
|
54
|
+
--radius-2xl: calc(var(--radius) * 1.8);
|
|
55
|
+
--radius-3xl: calc(var(--radius) * 2.2);
|
|
56
|
+
--radius-4xl: calc(var(--radius) * 2.6);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:root {
|
|
60
|
+
--radius: 0.625rem;
|
|
61
|
+
--background: oklch(1 0 0);
|
|
62
|
+
--foreground: oklch(0.145 0 0);
|
|
63
|
+
--card: oklch(1 0 0);
|
|
64
|
+
--card-foreground: oklch(0.145 0 0);
|
|
65
|
+
--popover: oklch(1 0 0);
|
|
66
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
67
|
+
--primary: oklch(0.205 0 0);
|
|
68
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
69
|
+
--secondary: oklch(0.97 0 0);
|
|
70
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
71
|
+
--muted: oklch(0.97 0 0);
|
|
72
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
73
|
+
--accent: oklch(0.97 0 0);
|
|
74
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
75
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
76
|
+
/* vortex-ui addition — semantic status colors (used by Button/Badge). */
|
|
77
|
+
--success: oklch(0.72 0.19 149);
|
|
78
|
+
--success-foreground: oklch(0.985 0 0);
|
|
79
|
+
--danger: oklch(0.577 0.245 27.325);
|
|
80
|
+
--danger-foreground: oklch(0.985 0 0);
|
|
81
|
+
--warn: oklch(0.65 0.17 70);
|
|
82
|
+
--warn-foreground: oklch(0.2 0.04 95);
|
|
83
|
+
--info: oklch(0.55 0.22 256);
|
|
84
|
+
--info-foreground: oklch(0.985 0 0);
|
|
85
|
+
/* end vortex-ui addition */
|
|
86
|
+
--border: oklch(0.922 0 0);
|
|
87
|
+
--input: oklch(0.922 0 0);
|
|
88
|
+
--ring: oklch(0.708 0 0);
|
|
89
|
+
--chart-1: oklch(0.646 0.222 41.116);
|
|
90
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
91
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
92
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
93
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
94
|
+
--sidebar: oklch(0.985 0 0);
|
|
95
|
+
--sidebar-foreground: oklch(0.145 0 0);
|
|
96
|
+
--sidebar-primary: oklch(0.205 0 0);
|
|
97
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
98
|
+
--sidebar-accent: oklch(0.97 0 0);
|
|
99
|
+
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
100
|
+
--sidebar-border: oklch(0.922 0 0);
|
|
101
|
+
--sidebar-ring: oklch(0.708 0 0);
|
|
102
|
+
/* vortex-ui addition — font stacks (standard shadcn globals; themes may override). */
|
|
103
|
+
--font-sans:
|
|
104
|
+
ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
|
105
|
+
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
106
|
+
--font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
|
|
107
|
+
--font-heading: var(--font-sans);
|
|
108
|
+
/* end vortex-ui addition */
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.dark {
|
|
112
|
+
--background: oklch(0.145 0 0);
|
|
113
|
+
--foreground: oklch(0.985 0 0);
|
|
114
|
+
--card: oklch(0.205 0 0);
|
|
115
|
+
--card-foreground: oklch(0.985 0 0);
|
|
116
|
+
--popover: oklch(0.205 0 0);
|
|
117
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
118
|
+
--primary: oklch(0.922 0 0);
|
|
119
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
120
|
+
--secondary: oklch(0.269 0 0);
|
|
121
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
122
|
+
--muted: oklch(0.269 0 0);
|
|
123
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
124
|
+
--accent: oklch(0.269 0 0);
|
|
125
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
126
|
+
--destructive: oklch(0.704 0.191 22.216);
|
|
127
|
+
/* vortex-ui addition — semantic status colors (used by Button/Badge). */
|
|
128
|
+
--success: oklch(0.6 0.17 149);
|
|
129
|
+
--success-foreground: oklch(0.12 0.02 149);
|
|
130
|
+
--danger: oklch(0.704 0.191 22.216);
|
|
131
|
+
--danger-foreground: oklch(0.985 0 0);
|
|
132
|
+
--warn: oklch(0.72 0.15 70);
|
|
133
|
+
--warn-foreground: oklch(0.15 0.03 95);
|
|
134
|
+
--info: oklch(0.62 0.22 256);
|
|
135
|
+
--info-foreground: oklch(0.12 0.03 256);
|
|
136
|
+
/* end vortex-ui addition */
|
|
137
|
+
--border: oklch(1 0 0 / 10%);
|
|
138
|
+
--input: oklch(1 0 0 / 15%);
|
|
139
|
+
--ring: oklch(0.556 0 0);
|
|
140
|
+
--chart-1: oklch(0.488 0.243 264.376);
|
|
141
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
142
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
143
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
144
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
145
|
+
--sidebar: oklch(0.205 0 0);
|
|
146
|
+
--sidebar-foreground: oklch(0.985 0 0);
|
|
147
|
+
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
148
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
149
|
+
--sidebar-accent: oklch(0.269 0 0);
|
|
150
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
151
|
+
--sidebar-border: oklch(1 0 0 / 10%);
|
|
152
|
+
--sidebar-ring: oklch(0.556 0 0);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@layer base {
|
|
156
|
+
* {
|
|
157
|
+
@apply border-border outline-ring/50;
|
|
158
|
+
}
|
|
159
|
+
body {
|
|
160
|
+
@apply bg-background text-foreground;
|
|
161
|
+
}
|
|
162
|
+
/* vortex-ui page scrollbar. `Page` relies on the document scrollbar (sticky
|
|
163
|
+
gutters + footer bottom-out need window scrolling, so the page body is
|
|
164
|
+
never wrapped in Ark ScrollArea). Style that document scrollbar — and any
|
|
165
|
+
other native scrollbar — to match the Scroll component's look: thin,
|
|
166
|
+
rounded, --border-based. The Scroll component's own viewport keeps hiding
|
|
167
|
+
its native scrollbar ([scrollbar-width:none] / ::-webkit-scrollbar:hidden),
|
|
168
|
+
so this never double-styles it. */
|
|
169
|
+
* {
|
|
170
|
+
scrollbar-width: thin;
|
|
171
|
+
scrollbar-color: color-mix(in oklab, var(--border) 40%, transparent) transparent;
|
|
172
|
+
}
|
|
173
|
+
::-webkit-scrollbar {
|
|
174
|
+
width: 0.5rem;
|
|
175
|
+
height: 0.5rem;
|
|
176
|
+
}
|
|
177
|
+
::-webkit-scrollbar-track {
|
|
178
|
+
background: transparent;
|
|
179
|
+
}
|
|
180
|
+
::-webkit-scrollbar-thumb {
|
|
181
|
+
background-color: color-mix(in oklab, var(--border) 40%, transparent);
|
|
182
|
+
border-radius: 9999px;
|
|
183
|
+
border: 2px solid transparent;
|
|
184
|
+
background-clip: padding-box;
|
|
185
|
+
}
|
|
186
|
+
::-webkit-scrollbar-thumb:hover {
|
|
187
|
+
background-color: var(--border);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* amber-minimal — tweakcn "Amber Minimal" preset. Auto-generated from tweakcn defaultPresets;
|
|
2
|
+
tokens kept verbatim (consumed via var()). */
|
|
3
|
+
.theme-amber-minimal {
|
|
4
|
+
--background: #ffffff;
|
|
5
|
+
--foreground: #262626;
|
|
6
|
+
--card: #ffffff;
|
|
7
|
+
--card-foreground: #262626;
|
|
8
|
+
--popover: #ffffff;
|
|
9
|
+
--popover-foreground: #262626;
|
|
10
|
+
--primary: #f59e0b;
|
|
11
|
+
--primary-foreground: #000000;
|
|
12
|
+
--secondary: #f3f4f6;
|
|
13
|
+
--secondary-foreground: #4b5563;
|
|
14
|
+
--muted: #f9fafb;
|
|
15
|
+
--muted-foreground: #6b7280;
|
|
16
|
+
--accent: #fffbeb;
|
|
17
|
+
--accent-foreground: #92400e;
|
|
18
|
+
--destructive: #ef4444;
|
|
19
|
+
--destructive-foreground: #ffffff;
|
|
20
|
+
--border: #e5e7eb;
|
|
21
|
+
--input: #e5e7eb;
|
|
22
|
+
--ring: #f59e0b;
|
|
23
|
+
--chart-1: #f59e0b;
|
|
24
|
+
--chart-2: #d97706;
|
|
25
|
+
--chart-3: #b45309;
|
|
26
|
+
--chart-4: #92400e;
|
|
27
|
+
--chart-5: #78350f;
|
|
28
|
+
--sidebar: #f9fafb;
|
|
29
|
+
--sidebar-foreground: #262626;
|
|
30
|
+
--sidebar-primary: #f59e0b;
|
|
31
|
+
--sidebar-primary-foreground: #ffffff;
|
|
32
|
+
--sidebar-accent: #fffbeb;
|
|
33
|
+
--sidebar-accent-foreground: #92400e;
|
|
34
|
+
--sidebar-border: #e5e7eb;
|
|
35
|
+
--sidebar-ring: #f59e0b;
|
|
36
|
+
--font-sans: Inter, sans-serif;
|
|
37
|
+
--font-serif: Source Serif 4, serif;
|
|
38
|
+
--font-mono: JetBrains Mono, monospace;
|
|
39
|
+
--radius: 0.375rem;
|
|
40
|
+
--shadow-color: hsl(0 0% 0%);
|
|
41
|
+
--shadow-opacity: 0.1;
|
|
42
|
+
--shadow-blur: 8px;
|
|
43
|
+
--shadow-spread: -1px;
|
|
44
|
+
--shadow-offset-x: 0px;
|
|
45
|
+
--shadow-offset-y: 4px;
|
|
46
|
+
--letter-spacing: 0em;
|
|
47
|
+
--spacing: 0.25rem;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.theme-amber-minimal.dark {
|
|
51
|
+
--background: #171717;
|
|
52
|
+
--foreground: #e5e5e5;
|
|
53
|
+
--card: #262626;
|
|
54
|
+
--card-foreground: #e5e5e5;
|
|
55
|
+
--popover: #262626;
|
|
56
|
+
--popover-foreground: #e5e5e5;
|
|
57
|
+
--primary: #f59e0b;
|
|
58
|
+
--primary-foreground: #000000;
|
|
59
|
+
--secondary: #262626;
|
|
60
|
+
--secondary-foreground: #e5e5e5;
|
|
61
|
+
--muted: #1f1f1f;
|
|
62
|
+
--muted-foreground: #a3a3a3;
|
|
63
|
+
--accent: #92400e;
|
|
64
|
+
--accent-foreground: #fde68a;
|
|
65
|
+
--destructive: #ef4444;
|
|
66
|
+
--destructive-foreground: #ffffff;
|
|
67
|
+
--border: #404040;
|
|
68
|
+
--input: #404040;
|
|
69
|
+
--ring: #f59e0b;
|
|
70
|
+
--chart-1: #fbbf24;
|
|
71
|
+
--chart-2: #d97706;
|
|
72
|
+
--chart-3: #92400e;
|
|
73
|
+
--chart-4: #b45309;
|
|
74
|
+
--chart-5: #92400e;
|
|
75
|
+
--sidebar: #0f0f0f;
|
|
76
|
+
--sidebar-foreground: #e5e5e5;
|
|
77
|
+
--sidebar-primary: #f59e0b;
|
|
78
|
+
--sidebar-primary-foreground: #ffffff;
|
|
79
|
+
--sidebar-accent: #92400e;
|
|
80
|
+
--sidebar-accent-foreground: #fde68a;
|
|
81
|
+
--sidebar-border: #404040;
|
|
82
|
+
--sidebar-ring: #f59e0b;
|
|
83
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* amethyst-haze — tweakcn "Amethyst Haze" preset. Auto-generated from tweakcn defaultPresets;
|
|
2
|
+
tokens kept verbatim (consumed via var()). */
|
|
3
|
+
.theme-amethyst-haze {
|
|
4
|
+
--background: #f8f7fa;
|
|
5
|
+
--foreground: #3d3c4f;
|
|
6
|
+
--card: #ffffff;
|
|
7
|
+
--card-foreground: #3d3c4f;
|
|
8
|
+
--popover: #ffffff;
|
|
9
|
+
--popover-foreground: #3d3c4f;
|
|
10
|
+
--primary: #8a79ab;
|
|
11
|
+
--primary-foreground: #f8f7fa;
|
|
12
|
+
--secondary: #dfd9ec;
|
|
13
|
+
--secondary-foreground: #3d3c4f;
|
|
14
|
+
--muted: #dcd9e3;
|
|
15
|
+
--muted-foreground: #6b6880;
|
|
16
|
+
--accent: #e6a5b8;
|
|
17
|
+
--accent-foreground: #4b2e36;
|
|
18
|
+
--destructive: #d95c5c;
|
|
19
|
+
--destructive-foreground: #f8f7fa;
|
|
20
|
+
--border: #cec9d9;
|
|
21
|
+
--input: #eae7f0;
|
|
22
|
+
--ring: #8a79ab;
|
|
23
|
+
--chart-1: #8a79ab;
|
|
24
|
+
--chart-2: #e6a5b8;
|
|
25
|
+
--chart-3: #77b8a1;
|
|
26
|
+
--chart-4: #f0c88d;
|
|
27
|
+
--chart-5: #a0bbe3;
|
|
28
|
+
--sidebar: #f1eff5;
|
|
29
|
+
--sidebar-foreground: #3d3c4f;
|
|
30
|
+
--sidebar-primary: #8a79ab;
|
|
31
|
+
--sidebar-primary-foreground: #f8f7fa;
|
|
32
|
+
--sidebar-accent: #e6a5b8;
|
|
33
|
+
--sidebar-accent-foreground: #4b2e36;
|
|
34
|
+
--sidebar-border: #d7d2e0;
|
|
35
|
+
--sidebar-ring: #8a79ab;
|
|
36
|
+
--font-sans: Geist, sans-serif;
|
|
37
|
+
--font-serif: 'Lora', Georgia, serif;
|
|
38
|
+
--font-mono: 'Fira Code', 'Courier New', monospace;
|
|
39
|
+
--radius: 0.5rem;
|
|
40
|
+
--shadow-color: hsl(0 0% 0%);
|
|
41
|
+
--shadow-opacity: 0.06;
|
|
42
|
+
--shadow-blur: 5px;
|
|
43
|
+
--shadow-spread: 1px;
|
|
44
|
+
--shadow-offset-x: 1px;
|
|
45
|
+
--shadow-offset-y: 2px;
|
|
46
|
+
--letter-spacing: 0em;
|
|
47
|
+
--spacing: 0.25rem;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.theme-amethyst-haze.dark {
|
|
51
|
+
--background: #1a1823;
|
|
52
|
+
--foreground: #e0ddef;
|
|
53
|
+
--card: #232030;
|
|
54
|
+
--card-foreground: #e0ddef;
|
|
55
|
+
--popover: #232030;
|
|
56
|
+
--popover-foreground: #e0ddef;
|
|
57
|
+
--primary: #a995c9;
|
|
58
|
+
--primary-foreground: #1a1823;
|
|
59
|
+
--secondary: #5a5370;
|
|
60
|
+
--secondary-foreground: #e0ddef;
|
|
61
|
+
--muted: #242031;
|
|
62
|
+
--muted-foreground: #a09aad;
|
|
63
|
+
--accent: #372e3f;
|
|
64
|
+
--accent-foreground: #f2b8c6;
|
|
65
|
+
--destructive: #e57373;
|
|
66
|
+
--destructive-foreground: #1a1823;
|
|
67
|
+
--border: #302c40;
|
|
68
|
+
--input: #2a273a;
|
|
69
|
+
--ring: #a995c9;
|
|
70
|
+
--chart-1: #a995c9;
|
|
71
|
+
--chart-2: #f2b8c6;
|
|
72
|
+
--chart-3: #77b8a1;
|
|
73
|
+
--chart-4: #f0c88d;
|
|
74
|
+
--chart-5: #a0bbe3;
|
|
75
|
+
--sidebar: #16141e;
|
|
76
|
+
--sidebar-foreground: #e0ddef;
|
|
77
|
+
--sidebar-primary: #a995c9;
|
|
78
|
+
--sidebar-primary-foreground: #1a1823;
|
|
79
|
+
--sidebar-accent: #372e3f;
|
|
80
|
+
--sidebar-accent-foreground: #f2b8c6;
|
|
81
|
+
--sidebar-border: #2a273a;
|
|
82
|
+
--sidebar-ring: #a995c9;
|
|
83
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* Anthropic — warm "research publication on parchment": ivory (#faf9f5) canvas,
|
|
2
|
+
warm near-black slate text (#141413), single clay/terracotta accent (#d97757),
|
|
3
|
+
serif display headings. Brand fonts Styrene + Tiempos are proprietary; substituted
|
|
4
|
+
with Source Serif 4 (serif) + Inter/Figtree (sans). Serif headings: YES. */
|
|
5
|
+
.theme-anthropic {
|
|
6
|
+
--background: oklch(0.985 0.005 95); /* #faf9f5 ivory */
|
|
7
|
+
--foreground: oklch(0.235 0.006 75); /* #141413 warm near-black */
|
|
8
|
+
--card: oklch(0.995 0.004 95);
|
|
9
|
+
--card-foreground: oklch(0.235 0.006 75);
|
|
10
|
+
--popover: oklch(0.995 0.004 95);
|
|
11
|
+
--popover-foreground: oklch(0.235 0.006 75);
|
|
12
|
+
--primary: oklch(0.64 0.12 43); /* clay #d97757 */
|
|
13
|
+
--primary-foreground: oklch(0.985 0.005 95);
|
|
14
|
+
--secondary: oklch(0.945 0.008 90); /* oat #f0eee6 */
|
|
15
|
+
--secondary-foreground: oklch(0.3 0.006 75);
|
|
16
|
+
--muted: oklch(0.925 0.01 90); /* light oat #e8e6dc */
|
|
17
|
+
--muted-foreground: oklch(0.5 0.01 80);
|
|
18
|
+
--accent: oklch(0.925 0.01 90);
|
|
19
|
+
--accent-foreground: oklch(0.3 0.006 75);
|
|
20
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
21
|
+
--destructive-foreground: oklch(0.985 0.005 95);
|
|
22
|
+
--border: oklch(0.915 0.008 88); /* light, thin hairline (Anthropic uses faint rules) */
|
|
23
|
+
--input: oklch(0.905 0.008 88);
|
|
24
|
+
--ring: oklch(0.64 0.12 43);
|
|
25
|
+
--sidebar: oklch(0.965 0.007 92);
|
|
26
|
+
--sidebar-foreground: oklch(0.235 0.006 75);
|
|
27
|
+
--sidebar-accent: oklch(0.925 0.01 90);
|
|
28
|
+
--sidebar-accent-foreground: oklch(0.3 0.006 75);
|
|
29
|
+
--radius: 0.5rem;
|
|
30
|
+
--font-sans: 'Inter', 'Figtree', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
|
|
31
|
+
--font-serif: 'Source Serif 4', 'Newsreader', Georgia, Cambria, 'Times New Roman', serif;
|
|
32
|
+
--font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
|
|
33
|
+
--font-heading: var(--font-serif); /* serif display headings */
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.theme-anthropic.dark {
|
|
37
|
+
--background: oklch(0.205 0.006 75); /* warm slate #141413 */
|
|
38
|
+
--foreground: oklch(0.945 0.006 92); /* ivory text */
|
|
39
|
+
--card: oklch(0.245 0.006 75);
|
|
40
|
+
--card-foreground: oklch(0.945 0.006 92);
|
|
41
|
+
--popover: oklch(0.245 0.006 75);
|
|
42
|
+
--popover-foreground: oklch(0.945 0.006 92);
|
|
43
|
+
--primary: oklch(0.68 0.12 45); /* clay, brightened for dark */
|
|
44
|
+
--primary-foreground: oklch(0.205 0.006 75);
|
|
45
|
+
--secondary: oklch(0.285 0.008 78);
|
|
46
|
+
--secondary-foreground: oklch(0.945 0.006 92);
|
|
47
|
+
--muted: oklch(0.285 0.008 78);
|
|
48
|
+
--muted-foreground: oklch(0.7 0.01 85);
|
|
49
|
+
--accent: oklch(0.32 0.01 80);
|
|
50
|
+
--accent-foreground: oklch(0.945 0.006 92);
|
|
51
|
+
--destructive: oklch(0.704 0.191 22.216);
|
|
52
|
+
--destructive-foreground: oklch(0.985 0.005 95);
|
|
53
|
+
--border: oklch(1 0 0 / 8%); /* fainter hairline in dark */
|
|
54
|
+
--input: oklch(1 0 0 / 11%);
|
|
55
|
+
--ring: oklch(0.68 0.12 45);
|
|
56
|
+
--sidebar: oklch(0.235 0.006 75);
|
|
57
|
+
--sidebar-foreground: oklch(0.945 0.006 92);
|
|
58
|
+
--sidebar-accent: oklch(0.32 0.01 80);
|
|
59
|
+
--sidebar-accent-foreground: oklch(0.945 0.006 92);
|
|
60
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/* anyscale — indigo/blue brand: white surface, saturated indigo primary,
|
|
2
|
+
cool slate text. Distinct cool-slate theme. */
|
|
3
|
+
.theme-anyscale {
|
|
4
|
+
--radius: 0.5rem;
|
|
5
|
+
--background: oklch(1 0 180);
|
|
6
|
+
--foreground: oklch(0.126 0.026 268.939);
|
|
7
|
+
--muted: oklch(0.885 0.01 276.021);
|
|
8
|
+
--muted-foreground: oklch(0.464 0.025 275.387);
|
|
9
|
+
--popover: oklch(0.992 0 161.565);
|
|
10
|
+
--popover-foreground: oklch(0.114 0.022 268.251);
|
|
11
|
+
--card: oklch(0.992 0 161.565);
|
|
12
|
+
--card-foreground: oklch(0.114 0.022 268.251);
|
|
13
|
+
--border: oklch(0.928 0.006 264.531);
|
|
14
|
+
--input: oklch(0.928 0.006 264.531);
|
|
15
|
+
--primary: oklch(0.567 0.237 267.896);
|
|
16
|
+
--primary-foreground: oklch(1 0 180);
|
|
17
|
+
--secondary: oklch(0.915 0.011 276);
|
|
18
|
+
--secondary-foreground: oklch(0.388 0.043 274.435);
|
|
19
|
+
--accent: oklch(0.866 0.024 275.781);
|
|
20
|
+
--accent-foreground: oklch(0.335 0.052 273.604);
|
|
21
|
+
--destructive: oklch(0.63 0.256 29.629);
|
|
22
|
+
--destructive-foreground: oklch(1 0 180);
|
|
23
|
+
--ring: oklch(0.567 0.237 267.896);
|
|
24
|
+
--chart-1: oklch(0.567 0.237 267.896);
|
|
25
|
+
--chart-2: oklch(0.915 0.011 276);
|
|
26
|
+
--chart-3: oklch(0.866 0.024 275.781);
|
|
27
|
+
--chart-4: oklch(0.94 0.008 276.055);
|
|
28
|
+
--chart-5: oklch(0.565 0.244 267.612);
|
|
29
|
+
--sidebar: oklch(0.992 0 161.565);
|
|
30
|
+
--sidebar-foreground: oklch(0.126 0.026 268.939);
|
|
31
|
+
--sidebar-primary: oklch(0.567 0.237 267.896);
|
|
32
|
+
--sidebar-primary-foreground: oklch(1 0 180);
|
|
33
|
+
--sidebar-accent: oklch(0.866 0.024 275.781);
|
|
34
|
+
--sidebar-accent-foreground: oklch(0.335 0.052 273.604);
|
|
35
|
+
--sidebar-border: oklch(0.928 0.006 264.531);
|
|
36
|
+
--sidebar-ring: oklch(0.567 0.237 267.896);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.theme-anyscale.dark {
|
|
40
|
+
--radius: 0.5rem;
|
|
41
|
+
--background: oklch(0.134 0.016 272.261);
|
|
42
|
+
--foreground: oklch(0.991 0.001 276.148);
|
|
43
|
+
--muted: oklch(0.249 0.013 275.396);
|
|
44
|
+
--muted-foreground: oklch(0.691 0.023 275.711);
|
|
45
|
+
--popover: oklch(0.144 0.019 273.129);
|
|
46
|
+
--popover-foreground: oklch(1 0 180);
|
|
47
|
+
--card: oklch(0.144 0.019 273.129);
|
|
48
|
+
--card-foreground: oklch(1 0 180);
|
|
49
|
+
--border: oklch(0.278 0.03 256.848);
|
|
50
|
+
--input: oklch(0.278 0.03 256.848);
|
|
51
|
+
--primary: oklch(0.567 0.237 267.896);
|
|
52
|
+
--primary-foreground: oklch(1 0 180);
|
|
53
|
+
--secondary: oklch(0.186 0.01 275.429);
|
|
54
|
+
--secondary-foreground: oklch(0.728 0.027 275.646);
|
|
55
|
+
--accent: oklch(0.269 0.031 274.373);
|
|
56
|
+
--accent-foreground: oklch(0.798 0.032 275.616);
|
|
57
|
+
--destructive: oklch(0.62 0.232 29.041);
|
|
58
|
+
--destructive-foreground: oklch(1 0 180);
|
|
59
|
+
--ring: oklch(0.567 0.237 267.896);
|
|
60
|
+
--chart-1: oklch(0.567 0.237 267.896);
|
|
61
|
+
--chart-2: oklch(0.186 0.01 275.429);
|
|
62
|
+
--chart-3: oklch(0.269 0.031 274.373);
|
|
63
|
+
--chart-4: oklch(0.217 0.013 275.322);
|
|
64
|
+
--chart-5: oklch(0.565 0.244 267.612);
|
|
65
|
+
--sidebar: oklch(0.144 0.019 273.129);
|
|
66
|
+
--sidebar-foreground: oklch(0.991 0.001 276.148);
|
|
67
|
+
--sidebar-primary: oklch(0.567 0.237 267.896);
|
|
68
|
+
--sidebar-primary-foreground: oklch(1 0 180);
|
|
69
|
+
--sidebar-accent: oklch(0.269 0.031 274.373);
|
|
70
|
+
--sidebar-accent-foreground: oklch(0.798 0.032 275.616);
|
|
71
|
+
--sidebar-border: oklch(0.278 0.03 256.848);
|
|
72
|
+
--sidebar-ring: oklch(0.567 0.237 267.896);
|
|
73
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* bold-tech — tweakcn "Bold Tech" preset. Auto-generated from tweakcn defaultPresets;
|
|
2
|
+
tokens kept verbatim (consumed via var()). */
|
|
3
|
+
.theme-bold-tech {
|
|
4
|
+
--background: #ffffff;
|
|
5
|
+
--foreground: #312e81;
|
|
6
|
+
--card: #ffffff;
|
|
7
|
+
--card-foreground: #312e81;
|
|
8
|
+
--popover: #ffffff;
|
|
9
|
+
--popover-foreground: #312e81;
|
|
10
|
+
--primary: #8b5cf6;
|
|
11
|
+
--primary-foreground: #ffffff;
|
|
12
|
+
--secondary: #f3f0ff;
|
|
13
|
+
--secondary-foreground: #4338ca;
|
|
14
|
+
--muted: #f5f3ff;
|
|
15
|
+
--muted-foreground: #7c3aed;
|
|
16
|
+
--accent: #dbeafe;
|
|
17
|
+
--accent-foreground: #1e40af;
|
|
18
|
+
--destructive: #ef4444;
|
|
19
|
+
--destructive-foreground: #ffffff;
|
|
20
|
+
--border: #e0e7ff;
|
|
21
|
+
--input: #e0e7ff;
|
|
22
|
+
--ring: #8b5cf6;
|
|
23
|
+
--chart-1: #8b5cf6;
|
|
24
|
+
--chart-2: #7c3aed;
|
|
25
|
+
--chart-3: #6d28d9;
|
|
26
|
+
--chart-4: #5b21b6;
|
|
27
|
+
--chart-5: #4c1d95;
|
|
28
|
+
--radius: 0.625rem;
|
|
29
|
+
--sidebar: #f5f3ff;
|
|
30
|
+
--sidebar-foreground: #312e81;
|
|
31
|
+
--sidebar-primary: #8b5cf6;
|
|
32
|
+
--sidebar-primary-foreground: #ffffff;
|
|
33
|
+
--sidebar-accent: #dbeafe;
|
|
34
|
+
--sidebar-accent-foreground: #1e40af;
|
|
35
|
+
--sidebar-border: #e0e7ff;
|
|
36
|
+
--sidebar-ring: #8b5cf6;
|
|
37
|
+
--font-sans: Roboto, sans-serif;
|
|
38
|
+
--font-serif: Playfair Display, serif;
|
|
39
|
+
--font-mono: Fira Code, monospace;
|
|
40
|
+
--shadow-color: hsl(255 86% 66%);
|
|
41
|
+
--shadow-opacity: 0.2;
|
|
42
|
+
--shadow-blur: 4px;
|
|
43
|
+
--shadow-spread: 0px;
|
|
44
|
+
--shadow-offset-x: 2px;
|
|
45
|
+
--shadow-offset-y: 2px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.theme-bold-tech.dark {
|
|
49
|
+
--background: #0f172a;
|
|
50
|
+
--foreground: #e0e7ff;
|
|
51
|
+
--card: #1e1b4b;
|
|
52
|
+
--card-foreground: #e0e7ff;
|
|
53
|
+
--popover: #1e1b4b;
|
|
54
|
+
--popover-foreground: #e0e7ff;
|
|
55
|
+
--primary: #8b5cf6;
|
|
56
|
+
--primary-foreground: #ffffff;
|
|
57
|
+
--secondary: #1e1b4b;
|
|
58
|
+
--secondary-foreground: #e0e7ff;
|
|
59
|
+
--muted: #171447;
|
|
60
|
+
--muted-foreground: #c4b5fd;
|
|
61
|
+
--accent: #4338ca;
|
|
62
|
+
--accent-foreground: #e0e7ff;
|
|
63
|
+
--destructive: #ef4444;
|
|
64
|
+
--destructive-foreground: #ffffff;
|
|
65
|
+
--border: #2e1065;
|
|
66
|
+
--input: #2e1065;
|
|
67
|
+
--ring: #8b5cf6;
|
|
68
|
+
--chart-1: #a78bfa;
|
|
69
|
+
--chart-2: #8b5cf6;
|
|
70
|
+
--chart-3: #7c3aed;
|
|
71
|
+
--chart-4: #6d28d9;
|
|
72
|
+
--chart-5: #5b21b6;
|
|
73
|
+
--radius: 0.625rem;
|
|
74
|
+
--sidebar: #0f172a;
|
|
75
|
+
--sidebar-foreground: #e0e7ff;
|
|
76
|
+
--sidebar-primary: #8b5cf6;
|
|
77
|
+
--sidebar-primary-foreground: #ffffff;
|
|
78
|
+
--sidebar-accent: #4338ca;
|
|
79
|
+
--sidebar-accent-foreground: #e0e7ff;
|
|
80
|
+
--sidebar-border: #2e1065;
|
|
81
|
+
--sidebar-ring: #8b5cf6;
|
|
82
|
+
}
|