create-bearnie 0.3.1 → 0.4.1
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/README.md +0 -8
- package/dist/index.js +1 -213
- package/package.json +1 -1
- package/template/src/styles/bearnie.css +259 -0
- package/template/src/styles/global.css +1 -155
package/README.md
CHANGED
|
@@ -24,14 +24,6 @@ npx create-bearnie my-app --full
|
|
|
24
24
|
|
|
25
25
|
This fetches all components from the registry and installs them in your project.
|
|
26
26
|
|
|
27
|
-
### `--theme`
|
|
28
|
-
|
|
29
|
-
Apply a custom theme from the [theme builder](https://bearnie.dev/create-bearnie-theme):
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
npx create-bearnie my-app --theme="https://bearnie.dev/create-bearnie-theme#..."
|
|
33
|
-
```
|
|
34
|
-
|
|
35
27
|
## What's included
|
|
36
28
|
|
|
37
29
|
- Astro 5 with TypeScript
|
package/dist/index.js
CHANGED
|
@@ -10,16 +10,6 @@ var __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
10
10
|
var amber = (text) => pc.yellow(text);
|
|
11
11
|
var logo = `${amber("\u{1F43B}")} ${pc.bold("bearnie")}`;
|
|
12
12
|
var link = (text, url) => `\x1B]8;;${url}\x07${pc.cyan(text)}\x1B]8;;\x07`;
|
|
13
|
-
function parseThemeArg() {
|
|
14
|
-
const themeArg = process.argv.find((arg) => arg.startsWith("--theme="));
|
|
15
|
-
if (!themeArg) return null;
|
|
16
|
-
const equalIndex = themeArg.indexOf("=");
|
|
17
|
-
let value = themeArg.slice(equalIndex + 1);
|
|
18
|
-
if (value.startsWith('"') && value.endsWith('"') || value.startsWith("'") && value.endsWith("'")) {
|
|
19
|
-
value = value.slice(1, -1);
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
}
|
|
23
13
|
function parseFullArg() {
|
|
24
14
|
return process.argv.includes("--full");
|
|
25
15
|
}
|
|
@@ -91,209 +81,13 @@ async function fetchUtility(name) {
|
|
|
91
81
|
return null;
|
|
92
82
|
}
|
|
93
83
|
}
|
|
94
|
-
function extractThemeHash(themeUrl) {
|
|
95
|
-
try {
|
|
96
|
-
const hashIndex = themeUrl.indexOf("#");
|
|
97
|
-
if (hashIndex === -1) return null;
|
|
98
|
-
return themeUrl.slice(hashIndex + 1);
|
|
99
|
-
} catch {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
function decodeThemeConfig(hash) {
|
|
104
|
-
try {
|
|
105
|
-
const decoded = Buffer.from(hash, "base64").toString("utf-8");
|
|
106
|
-
return JSON.parse(decoded);
|
|
107
|
-
} catch {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
function oklch(l, c, h) {
|
|
112
|
-
return `oklch(${l} ${c} ${h})`;
|
|
113
|
-
}
|
|
114
|
-
function generateThemeCSS(config) {
|
|
115
|
-
const radiusRem = config.radius / 16;
|
|
116
|
-
const fontFamily = config.font === "geist" ? "'Geist', sans-serif" : "Inter, sans-serif";
|
|
117
|
-
const neutralChroma = config.neutralHue > 0 ? 0.01 : 0;
|
|
118
|
-
const lightPrimary = config.primaryHue === 0 ? "oklch(0.205 0 0)" : oklch(0.55, 0.2, config.primaryHue);
|
|
119
|
-
const lightPrimaryFg = "oklch(0.985 0 0)";
|
|
120
|
-
const darkPrimary = config.primaryHue === 0 ? "oklch(0.985 0 0)" : oklch(0.7, 0.2, config.primaryHue);
|
|
121
|
-
const darkPrimaryFg = "oklch(0.205 0 0)";
|
|
122
|
-
return `@import "tailwindcss";
|
|
123
|
-
@plugin "@tailwindcss/forms";
|
|
124
|
-
|
|
125
|
-
@theme {
|
|
126
|
-
/* Typography */
|
|
127
|
-
--font-sans: ${fontFamily};
|
|
128
|
-
--font-mono: Geist Mono, monospace;
|
|
129
|
-
|
|
130
|
-
/* Border Radius - Base: ${radiusRem}rem */
|
|
131
|
-
--radius-sm: calc(var(--radius) - 4px);
|
|
132
|
-
--radius-md: calc(var(--radius) - 2px);
|
|
133
|
-
--radius-lg: var(--radius);
|
|
134
|
-
--radius-xl: calc(var(--radius) + 4px);
|
|
135
|
-
--radius-2xl: calc(var(--radius) + 8px);
|
|
136
|
-
--radius-full: 9999px;
|
|
137
|
-
|
|
138
|
-
/* Shadows */
|
|
139
|
-
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
140
|
-
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
141
|
-
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
@theme inline {
|
|
145
|
-
/* Semantic Colors */
|
|
146
|
-
--color-background: var(--background);
|
|
147
|
-
--color-foreground: var(--foreground);
|
|
148
|
-
--color-card: var(--card);
|
|
149
|
-
--color-card-foreground: var(--card-foreground);
|
|
150
|
-
--color-popover: var(--popover);
|
|
151
|
-
--color-popover-foreground: var(--popover-foreground);
|
|
152
|
-
--color-primary: var(--primary);
|
|
153
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
154
|
-
--color-secondary: var(--secondary);
|
|
155
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
|
156
|
-
--color-muted: var(--muted);
|
|
157
|
-
--color-muted-foreground: var(--muted-foreground);
|
|
158
|
-
--color-accent: var(--accent);
|
|
159
|
-
--color-accent-foreground: var(--accent-foreground);
|
|
160
|
-
--color-destructive: var(--destructive);
|
|
161
|
-
--color-destructive-foreground: var(--destructive-foreground);
|
|
162
|
-
--color-success: var(--success);
|
|
163
|
-
--color-success-foreground: var(--success-foreground);
|
|
164
|
-
--color-warning: var(--warning);
|
|
165
|
-
--color-warning-foreground: var(--warning-foreground);
|
|
166
|
-
--color-info: var(--info);
|
|
167
|
-
--color-info-foreground: var(--info-foreground);
|
|
168
|
-
--color-border: var(--border);
|
|
169
|
-
--color-input: var(--input);
|
|
170
|
-
--color-ring: var(--ring);
|
|
171
|
-
--color-chart-1: var(--chart-1);
|
|
172
|
-
--color-chart-2: var(--chart-2);
|
|
173
|
-
--color-chart-3: var(--chart-3);
|
|
174
|
-
--color-chart-4: var(--chart-4);
|
|
175
|
-
--color-chart-5: var(--chart-5);
|
|
176
|
-
|
|
177
|
-
/* Sidebar Colors */
|
|
178
|
-
--color-sidebar: var(--sidebar);
|
|
179
|
-
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
180
|
-
--color-sidebar-primary: var(--sidebar-primary);
|
|
181
|
-
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
182
|
-
--color-sidebar-accent: var(--sidebar-accent);
|
|
183
|
-
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
184
|
-
--color-sidebar-border: var(--sidebar-border);
|
|
185
|
-
--color-sidebar-ring: var(--sidebar-ring);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
:root {
|
|
189
|
-
--radius: ${radiusRem}rem;
|
|
190
|
-
--background: ${oklch(1, neutralChroma, config.neutralHue)};
|
|
191
|
-
--foreground: ${oklch(0.145, neutralChroma, config.neutralHue)};
|
|
192
|
-
--card: ${oklch(1, neutralChroma, config.neutralHue)};
|
|
193
|
-
--card-foreground: ${oklch(0.145, neutralChroma, config.neutralHue)};
|
|
194
|
-
--popover: ${oklch(1, neutralChroma, config.neutralHue)};
|
|
195
|
-
--popover-foreground: ${oklch(0.145, neutralChroma, config.neutralHue)};
|
|
196
|
-
--primary: ${lightPrimary};
|
|
197
|
-
--primary-foreground: ${lightPrimaryFg};
|
|
198
|
-
--secondary: ${oklch(0.97, neutralChroma, config.neutralHue)};
|
|
199
|
-
--secondary-foreground: ${oklch(0.205, neutralChroma, config.neutralHue)};
|
|
200
|
-
--muted: ${oklch(0.97, neutralChroma, config.neutralHue)};
|
|
201
|
-
--muted-foreground: ${oklch(0.556, neutralChroma, config.neutralHue)};
|
|
202
|
-
--accent: ${oklch(0.97, neutralChroma, config.neutralHue)};
|
|
203
|
-
--accent-foreground: ${oklch(0.205, neutralChroma, config.neutralHue)};
|
|
204
|
-
--destructive: ${oklch(0.577, 0.245, config.destructiveHue)};
|
|
205
|
-
--destructive-foreground: ${oklch(0.577, 0.245, config.destructiveHue)};
|
|
206
|
-
--success: ${oklch(0.564, 0.168, config.successHue)};
|
|
207
|
-
--success-foreground: ${oklch(0.564, 0.168, config.successHue)};
|
|
208
|
-
--warning: ${oklch(0.681, 0.15, config.warningHue)};
|
|
209
|
-
--warning-foreground: ${oklch(0.681, 0.15, config.warningHue)};
|
|
210
|
-
--info: ${oklch(0.609, 0.202, config.infoHue)};
|
|
211
|
-
--info-foreground: ${oklch(0.609, 0.202, config.infoHue)};
|
|
212
|
-
--border: ${oklch(0.922, neutralChroma, config.neutralHue)};
|
|
213
|
-
--input: ${oklch(0.922, neutralChroma, config.neutralHue)};
|
|
214
|
-
--ring: ${oklch(0.708, neutralChroma, config.neutralHue)};
|
|
215
|
-
--chart-1: oklch(0.646 0.222 41.116);
|
|
216
|
-
--chart-2: oklch(0.6 0.118 184.704);
|
|
217
|
-
--chart-3: oklch(0.398 0.07 227.392);
|
|
218
|
-
--chart-4: oklch(0.828 0.189 84.429);
|
|
219
|
-
--chart-5: oklch(0.769 0.188 70.08);
|
|
220
|
-
|
|
221
|
-
/* Sidebar */
|
|
222
|
-
--sidebar: ${oklch(0.985, neutralChroma, config.neutralHue)};
|
|
223
|
-
--sidebar-foreground: ${oklch(0.145, neutralChroma, config.neutralHue)};
|
|
224
|
-
--sidebar-primary: ${lightPrimary};
|
|
225
|
-
--sidebar-primary-foreground: ${lightPrimaryFg};
|
|
226
|
-
--sidebar-accent: ${oklch(0.97, neutralChroma, config.neutralHue)};
|
|
227
|
-
--sidebar-accent-foreground: ${oklch(0.205, neutralChroma, config.neutralHue)};
|
|
228
|
-
--sidebar-border: ${oklch(0.922, neutralChroma, config.neutralHue)};
|
|
229
|
-
--sidebar-ring: ${oklch(0.708, neutralChroma, config.neutralHue)};
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
.dark {
|
|
233
|
-
--background: ${oklch(0.145, neutralChroma, config.neutralHue)};
|
|
234
|
-
--foreground: ${oklch(0.985, neutralChroma, config.neutralHue)};
|
|
235
|
-
--card: ${oklch(0.145, neutralChroma, config.neutralHue)};
|
|
236
|
-
--card-foreground: ${oklch(0.985, neutralChroma, config.neutralHue)};
|
|
237
|
-
--popover: ${oklch(0.145, neutralChroma, config.neutralHue)};
|
|
238
|
-
--popover-foreground: ${oklch(0.985, neutralChroma, config.neutralHue)};
|
|
239
|
-
--primary: ${darkPrimary};
|
|
240
|
-
--primary-foreground: ${darkPrimaryFg};
|
|
241
|
-
--secondary: ${oklch(0.269, neutralChroma, config.neutralHue)};
|
|
242
|
-
--secondary-foreground: ${oklch(0.985, neutralChroma, config.neutralHue)};
|
|
243
|
-
--muted: ${oklch(0.269, neutralChroma, config.neutralHue)};
|
|
244
|
-
--muted-foreground: ${oklch(0.708, neutralChroma, config.neutralHue)};
|
|
245
|
-
--accent: ${oklch(0.269, neutralChroma, config.neutralHue)};
|
|
246
|
-
--accent-foreground: ${oklch(0.985, neutralChroma, config.neutralHue)};
|
|
247
|
-
--destructive: ${oklch(0.65, 0.245, config.destructiveHue)};
|
|
248
|
-
--destructive-foreground: oklch(0.985 0 0);
|
|
249
|
-
--success: ${oklch(0.634, 0.168, config.successHue)};
|
|
250
|
-
--success-foreground: oklch(0.985 0 0);
|
|
251
|
-
--warning: ${oklch(0.785, 0.15, config.warningHue)};
|
|
252
|
-
--warning-foreground: oklch(0.985 0 0);
|
|
253
|
-
--info: ${oklch(0.701, 0.202, config.infoHue)};
|
|
254
|
-
--info-foreground: oklch(0.985 0 0);
|
|
255
|
-
--border: ${oklch(0.269, neutralChroma, config.neutralHue)};
|
|
256
|
-
--input: ${oklch(0.269, neutralChroma, config.neutralHue)};
|
|
257
|
-
--ring: ${oklch(0.439, neutralChroma, config.neutralHue)};
|
|
258
|
-
--chart-1: oklch(0.488 0.243 264.376);
|
|
259
|
-
--chart-2: oklch(0.696 0.17 162.48);
|
|
260
|
-
--chart-3: oklch(0.769 0.188 70.08);
|
|
261
|
-
--chart-4: oklch(0.627 0.265 303.9);
|
|
262
|
-
--chart-5: oklch(0.645 0.246 16.439);
|
|
263
|
-
|
|
264
|
-
/* Sidebar */
|
|
265
|
-
--sidebar: ${oklch(0.205, neutralChroma, config.neutralHue)};
|
|
266
|
-
--sidebar-foreground: ${oklch(0.985, neutralChroma, config.neutralHue)};
|
|
267
|
-
--sidebar-primary: ${config.primaryHue === 0 ? "oklch(0.488 0.243 264.376)" : oklch(0.7, 0.2, config.primaryHue)};
|
|
268
|
-
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
269
|
-
--sidebar-accent: ${oklch(0.269, neutralChroma, config.neutralHue)};
|
|
270
|
-
--sidebar-accent-foreground: ${oklch(0.985, neutralChroma, config.neutralHue)};
|
|
271
|
-
--sidebar-border: ${oklch(0.269, neutralChroma, config.neutralHue)};
|
|
272
|
-
--sidebar-ring: ${oklch(0.439, neutralChroma, config.neutralHue)};
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/* Base styles */
|
|
276
|
-
* {
|
|
277
|
-
border-color: var(--border);
|
|
278
|
-
}
|
|
279
|
-
`;
|
|
280
|
-
}
|
|
281
84
|
async function main() {
|
|
282
|
-
const themeUrl = parseThemeArg();
|
|
283
85
|
const fullInstall = parseFullArg();
|
|
284
|
-
let themeConfig = null;
|
|
285
|
-
if (themeUrl) {
|
|
286
|
-
const hash = extractThemeHash(themeUrl);
|
|
287
|
-
if (hash) {
|
|
288
|
-
themeConfig = decodeThemeConfig(hash);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
86
|
console.log(`
|
|
292
87
|
${logo}
|
|
293
88
|
|
|
294
89
|
${amber("Hey!")} Let's create your Bearnie project.
|
|
295
|
-
${
|
|
296
|
-
` : ""}${fullInstall ? ` ${pc.dim("Full install: including all components")}
|
|
90
|
+
${fullInstall ? ` ${pc.dim("Full install: including all components")}
|
|
297
91
|
` : ""}
|
|
298
92
|
`);
|
|
299
93
|
let projectName = process.argv.find(
|
|
@@ -346,12 +140,6 @@ ${themeConfig ? ` ${pc.dim("Using custom theme from URL")}
|
|
|
346
140
|
const pkg = await fs.readJson(pkgPath);
|
|
347
141
|
pkg.name = finalName;
|
|
348
142
|
await fs.writeJson(pkgPath, pkg, { spaces: 2 });
|
|
349
|
-
if (themeConfig) {
|
|
350
|
-
const globalCssPath = path.join(targetDir, "src", "styles", "global.css");
|
|
351
|
-
const customCSS = generateThemeCSS(themeConfig);
|
|
352
|
-
await fs.writeFile(globalCssPath, customCSS);
|
|
353
|
-
console.log(` ${pc.green("\u2713")} Applied custom theme`);
|
|
354
|
-
}
|
|
355
143
|
if (fullInstall) {
|
|
356
144
|
console.log(`
|
|
357
145
|
${pc.dim("Fetching components from registry...")}
|
package/package.json
CHANGED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
@theme {
|
|
2
|
+
/* Typography */
|
|
3
|
+
--font-sans: Inter, sans-serif;
|
|
4
|
+
--font-mono: Geist Mono, monospace;
|
|
5
|
+
|
|
6
|
+
/* Border Radius - Base: 0.625rem (10px) */
|
|
7
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
8
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
9
|
+
--radius-lg: var(--radius);
|
|
10
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
11
|
+
--radius-2xl: calc(var(--radius) + 8px);
|
|
12
|
+
--radius-full: 9999px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@theme inline {
|
|
16
|
+
/* Semantic Colors - mapped to CSS variables */
|
|
17
|
+
--color-background: var(--background);
|
|
18
|
+
--color-foreground: var(--foreground);
|
|
19
|
+
--color-card: var(--card);
|
|
20
|
+
--color-card-foreground: var(--card-foreground);
|
|
21
|
+
--color-popover: var(--popover);
|
|
22
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
23
|
+
--color-primary: var(--primary);
|
|
24
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
25
|
+
--color-secondary: var(--secondary);
|
|
26
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
27
|
+
--color-muted: var(--muted);
|
|
28
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
29
|
+
--color-accent: var(--accent);
|
|
30
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
31
|
+
--color-destructive: var(--destructive);
|
|
32
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
33
|
+
--color-success: var(--success);
|
|
34
|
+
--color-success-foreground: var(--success-foreground);
|
|
35
|
+
--color-warning: var(--warning);
|
|
36
|
+
--color-warning-foreground: var(--warning-foreground);
|
|
37
|
+
--color-info: var(--info);
|
|
38
|
+
--color-info-foreground: var(--info-foreground);
|
|
39
|
+
--color-border: var(--border);
|
|
40
|
+
--color-input: var(--input);
|
|
41
|
+
--color-ring: var(--ring);
|
|
42
|
+
--color-chart-1: var(--chart-1);
|
|
43
|
+
--color-chart-2: var(--chart-2);
|
|
44
|
+
--color-chart-3: var(--chart-3);
|
|
45
|
+
--color-chart-4: var(--chart-4);
|
|
46
|
+
--color-chart-5: var(--chart-5);
|
|
47
|
+
|
|
48
|
+
/* Sidebar Colors */
|
|
49
|
+
--color-sidebar: var(--sidebar);
|
|
50
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
51
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
52
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
53
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
54
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
55
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
56
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
57
|
+
|
|
58
|
+
/* Overlay */
|
|
59
|
+
--color-overlay: var(--overlay);
|
|
60
|
+
|
|
61
|
+
/* Surface */
|
|
62
|
+
--color-surface: var(--surface);
|
|
63
|
+
|
|
64
|
+
/* Shadows — theme-aware via elevation tokens */
|
|
65
|
+
--shadow-xs: var(--elevation-xs);
|
|
66
|
+
--shadow-sm: var(--elevation-sm);
|
|
67
|
+
--shadow: var(--elevation);
|
|
68
|
+
--shadow-md: var(--elevation-md);
|
|
69
|
+
--shadow-lg: var(--elevation-lg);
|
|
70
|
+
--shadow-xl: var(--elevation-xl);
|
|
71
|
+
--shadow-2xl: var(--elevation-2xl);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:root {
|
|
75
|
+
--radius: 0.625rem;
|
|
76
|
+
--background: oklch(1 0 0);
|
|
77
|
+
--foreground: oklch(0.145 0 0);
|
|
78
|
+
--card: oklch(1 0 0);
|
|
79
|
+
--card-foreground: oklch(0.145 0 0);
|
|
80
|
+
--popover: oklch(1 0 0);
|
|
81
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
82
|
+
--primary: oklch(0.205 0 0);
|
|
83
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
84
|
+
--secondary: oklch(0.97 0 0);
|
|
85
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
86
|
+
--muted: oklch(0.97 0 0);
|
|
87
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
88
|
+
--accent: oklch(0.97 0 0);
|
|
89
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
90
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
91
|
+
--destructive-foreground: oklch(0.577 0.245 27.325);
|
|
92
|
+
--success: oklch(0.564 0.168 143.8);
|
|
93
|
+
--success-foreground: oklch(0.564 0.168 143.8);
|
|
94
|
+
--warning: oklch(0.681 0.150 59.0);
|
|
95
|
+
--warning-foreground: oklch(0.681 0.150 59.0);
|
|
96
|
+
--info: oklch(0.609 0.202 257.2);
|
|
97
|
+
--info-foreground: oklch(0.609 0.202 257.2);
|
|
98
|
+
--border: oklch(0.922 0 0);
|
|
99
|
+
--input: oklch(0.922 0 0);
|
|
100
|
+
--ring: oklch(0.708 0 0);
|
|
101
|
+
--chart-1: oklch(0.646 0.222 41.116);
|
|
102
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
103
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
104
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
105
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
106
|
+
|
|
107
|
+
--overlay: oklch(0 0 0);
|
|
108
|
+
--surface: oklch(1 0 0);
|
|
109
|
+
|
|
110
|
+
--sidebar: oklch(0.985 0 0);
|
|
111
|
+
--sidebar-foreground: oklch(0.145 0 0);
|
|
112
|
+
--sidebar-primary: oklch(0.205 0 0);
|
|
113
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
114
|
+
--sidebar-accent: oklch(0.97 0 0);
|
|
115
|
+
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
116
|
+
--sidebar-border: oklch(0.922 0 0);
|
|
117
|
+
--sidebar-ring: oklch(0.708 0 0);
|
|
118
|
+
|
|
119
|
+
--elevation-xs:
|
|
120
|
+
rgba(14, 63, 126, 0.03) 0px 0px 0px 1px,
|
|
121
|
+
rgba(42, 51, 69, 0.03) 0px 1px 1px -0.5px;
|
|
122
|
+
--elevation-sm:
|
|
123
|
+
rgba(14, 63, 126, 0.04) 0px 0px 0px 1px,
|
|
124
|
+
rgba(42, 51, 69, 0.04) 0px 1px 1px -0.5px,
|
|
125
|
+
rgba(42, 51, 70, 0.04) 0px 2px 2px -1px;
|
|
126
|
+
--elevation:
|
|
127
|
+
rgba(14, 63, 126, 0.04) 0px 0px 0px 1px,
|
|
128
|
+
rgba(42, 51, 69, 0.04) 0px 1px 1px -0.5px,
|
|
129
|
+
rgba(42, 51, 70, 0.04) 0px 3px 3px -1.5px,
|
|
130
|
+
rgba(42, 51, 70, 0.04) 0px 6px 6px -3px,
|
|
131
|
+
rgba(14, 63, 126, 0.04) 0px 12px 12px -6px,
|
|
132
|
+
rgba(14, 63, 126, 0.04) 0px 24px 24px -12px;
|
|
133
|
+
--elevation-md:
|
|
134
|
+
rgba(14, 63, 126, 0.06) 0px 0px 0px 1px,
|
|
135
|
+
rgba(42, 51, 69, 0.06) 0px 1px 1px -0.5px,
|
|
136
|
+
rgba(42, 51, 70, 0.06) 0px 3px 3px -1.5px,
|
|
137
|
+
rgba(42, 51, 70, 0.06) 0px 6px 6px -3px,
|
|
138
|
+
rgba(14, 63, 126, 0.06) 0px 12px 12px -6px,
|
|
139
|
+
rgba(14, 63, 126, 0.06) 0px 24px 24px -12px;
|
|
140
|
+
--elevation-lg:
|
|
141
|
+
rgba(14, 63, 126, 0.07) 0px 0px 0px 1px,
|
|
142
|
+
rgba(42, 51, 69, 0.07) 0px 1px 1px -0.5px,
|
|
143
|
+
rgba(42, 51, 70, 0.07) 0px 4px 4px -2px,
|
|
144
|
+
rgba(42, 51, 70, 0.07) 0px 8px 8px -4px,
|
|
145
|
+
rgba(14, 63, 126, 0.07) 0px 16px 16px -8px,
|
|
146
|
+
rgba(14, 63, 126, 0.07) 0px 32px 32px -16px;
|
|
147
|
+
--elevation-xl:
|
|
148
|
+
rgba(14, 63, 126, 0.08) 0px 0px 0px 1px,
|
|
149
|
+
rgba(42, 51, 69, 0.08) 0px 2px 2px -1px,
|
|
150
|
+
rgba(42, 51, 70, 0.08) 0px 6px 6px -3px,
|
|
151
|
+
rgba(42, 51, 70, 0.08) 0px 12px 12px -6px,
|
|
152
|
+
rgba(14, 63, 126, 0.08) 0px 24px 24px -12px,
|
|
153
|
+
rgba(14, 63, 126, 0.08) 0px 48px 48px -24px;
|
|
154
|
+
--elevation-2xl:
|
|
155
|
+
rgba(14, 63, 126, 0.1) 0px 0px 0px 1px,
|
|
156
|
+
rgba(42, 51, 69, 0.1) 0px 3px 3px -1.5px,
|
|
157
|
+
rgba(42, 51, 70, 0.1) 0px 8px 8px -4px,
|
|
158
|
+
rgba(42, 51, 70, 0.1) 0px 16px 16px -8px,
|
|
159
|
+
rgba(14, 63, 126, 0.1) 0px 32px 32px -16px,
|
|
160
|
+
rgba(14, 63, 126, 0.1) 0px 64px 64px -32px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.dark {
|
|
164
|
+
--background: oklch(0.145 0 0);
|
|
165
|
+
--foreground: oklch(0.985 0 0);
|
|
166
|
+
--card: oklch(0.145 0 0);
|
|
167
|
+
--card-foreground: oklch(0.985 0 0);
|
|
168
|
+
--popover: oklch(0.145 0 0);
|
|
169
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
170
|
+
--primary: oklch(0.985 0 0);
|
|
171
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
172
|
+
--secondary: oklch(0.269 0 0);
|
|
173
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
174
|
+
--muted: oklch(0.269 0 0);
|
|
175
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
176
|
+
--accent: oklch(0.269 0 0);
|
|
177
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
178
|
+
--destructive: oklch(0.396 0.141 25.723);
|
|
179
|
+
--destructive-foreground: oklch(0.985 0 0);
|
|
180
|
+
--success: oklch(0.634 0.188 142.8);
|
|
181
|
+
--success-foreground: oklch(0.985 0 0);
|
|
182
|
+
--warning: oklch(0.785 0.162 64.8);
|
|
183
|
+
--warning-foreground: oklch(0.985 0 0);
|
|
184
|
+
--info: oklch(0.701 0.156 247.3);
|
|
185
|
+
--info-foreground: oklch(0.985 0 0);
|
|
186
|
+
--border: oklch(0.269 0 0);
|
|
187
|
+
--input: oklch(0.269 0 0);
|
|
188
|
+
--ring: oklch(0.439 0 0);
|
|
189
|
+
--chart-1: oklch(0.488 0.243 264.376);
|
|
190
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
191
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
192
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
193
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
194
|
+
|
|
195
|
+
--overlay: oklch(0 0 0);
|
|
196
|
+
--surface: oklch(0.19 0 0);
|
|
197
|
+
|
|
198
|
+
--sidebar: oklch(0.205 0 0);
|
|
199
|
+
--sidebar-foreground: oklch(0.985 0 0);
|
|
200
|
+
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
201
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
202
|
+
--sidebar-accent: oklch(0.269 0 0);
|
|
203
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
204
|
+
--sidebar-border: oklch(0.269 0 0);
|
|
205
|
+
--sidebar-ring: oklch(0.439 0 0);
|
|
206
|
+
|
|
207
|
+
--elevation-xs:
|
|
208
|
+
rgba(0, 0, 0, 0.12) 0px 0px 0px 1px,
|
|
209
|
+
rgba(0, 0, 0, 0.1) 0px 1px 1px -0.5px;
|
|
210
|
+
--elevation-sm:
|
|
211
|
+
rgba(0, 0, 0, 0.15) 0px 0px 0px 1px,
|
|
212
|
+
rgba(0, 0, 0, 0.12) 0px 1px 1px -0.5px,
|
|
213
|
+
rgba(0, 0, 0, 0.12) 0px 2px 2px -1px;
|
|
214
|
+
--elevation:
|
|
215
|
+
rgba(0, 0, 0, 0.15) 0px 0px 0px 1px,
|
|
216
|
+
rgba(0, 0, 0, 0.15) 0px 1px 1px -0.5px,
|
|
217
|
+
rgba(0, 0, 0, 0.15) 0px 3px 3px -1.5px,
|
|
218
|
+
rgba(0, 0, 0, 0.15) 0px 6px 6px -3px,
|
|
219
|
+
rgba(0, 0, 0, 0.15) 0px 12px 12px -6px,
|
|
220
|
+
rgba(0, 0, 0, 0.15) 0px 24px 24px -12px;
|
|
221
|
+
--elevation-md:
|
|
222
|
+
rgba(0, 0, 0, 0.2) 0px 0px 0px 1px,
|
|
223
|
+
rgba(0, 0, 0, 0.18) 0px 1px 1px -0.5px,
|
|
224
|
+
rgba(0, 0, 0, 0.18) 0px 3px 3px -1.5px,
|
|
225
|
+
rgba(0, 0, 0, 0.18) 0px 6px 6px -3px,
|
|
226
|
+
rgba(0, 0, 0, 0.18) 0px 12px 12px -6px,
|
|
227
|
+
rgba(0, 0, 0, 0.18) 0px 24px 24px -12px;
|
|
228
|
+
--elevation-lg:
|
|
229
|
+
rgba(0, 0, 0, 0.25) 0px 0px 0px 1px,
|
|
230
|
+
rgba(0, 0, 0, 0.2) 0px 1px 1px -0.5px,
|
|
231
|
+
rgba(0, 0, 0, 0.2) 0px 4px 4px -2px,
|
|
232
|
+
rgba(0, 0, 0, 0.2) 0px 8px 8px -4px,
|
|
233
|
+
rgba(0, 0, 0, 0.2) 0px 16px 16px -8px,
|
|
234
|
+
rgba(0, 0, 0, 0.2) 0px 32px 32px -16px;
|
|
235
|
+
--elevation-xl:
|
|
236
|
+
rgba(0, 0, 0, 0.3) 0px 0px 0px 1px,
|
|
237
|
+
rgba(0, 0, 0, 0.25) 0px 2px 2px -1px,
|
|
238
|
+
rgba(0, 0, 0, 0.25) 0px 6px 6px -3px,
|
|
239
|
+
rgba(0, 0, 0, 0.25) 0px 12px 12px -6px,
|
|
240
|
+
rgba(0, 0, 0, 0.25) 0px 24px 24px -12px,
|
|
241
|
+
rgba(0, 0, 0, 0.25) 0px 48px 48px -24px;
|
|
242
|
+
--elevation-2xl:
|
|
243
|
+
rgba(0, 0, 0, 0.35) 0px 0px 0px 1px,
|
|
244
|
+
rgba(0, 0, 0, 0.3) 0px 3px 3px -1.5px,
|
|
245
|
+
rgba(0, 0, 0, 0.3) 0px 8px 8px -4px,
|
|
246
|
+
rgba(0, 0, 0, 0.3) 0px 16px 16px -8px,
|
|
247
|
+
rgba(0, 0, 0, 0.3) 0px 32px 32px -16px,
|
|
248
|
+
rgba(0, 0, 0, 0.3) 0px 64px 64px -32px;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/* Base styles */
|
|
252
|
+
* {
|
|
253
|
+
border-color: var(--border);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
body {
|
|
257
|
+
background-color: var(--background);
|
|
258
|
+
color: var(--foreground);
|
|
259
|
+
}
|
|
@@ -1,157 +1,3 @@
|
|
|
1
1
|
@import "tailwindcss";
|
|
2
2
|
@plugin "@tailwindcss/forms";
|
|
3
|
-
|
|
4
|
-
@theme {
|
|
5
|
-
/* Typography */
|
|
6
|
-
--font-sans: Inter, sans-serif;
|
|
7
|
-
--font-mono: Geist Mono, monospace;
|
|
8
|
-
|
|
9
|
-
/* Border Radius - Base: 0.625rem (10px) */
|
|
10
|
-
--radius-sm: calc(var(--radius) - 4px);
|
|
11
|
-
--radius-md: calc(var(--radius) - 2px);
|
|
12
|
-
--radius-lg: var(--radius);
|
|
13
|
-
--radius-xl: calc(var(--radius) + 4px);
|
|
14
|
-
--radius-2xl: calc(var(--radius) + 8px);
|
|
15
|
-
--radius-full: 9999px;
|
|
16
|
-
|
|
17
|
-
/* Shadows */
|
|
18
|
-
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
19
|
-
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
20
|
-
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@theme inline {
|
|
24
|
-
/* Semantic Colors */
|
|
25
|
-
--color-background: var(--background);
|
|
26
|
-
--color-foreground: var(--foreground);
|
|
27
|
-
--color-card: var(--card);
|
|
28
|
-
--color-card-foreground: var(--card-foreground);
|
|
29
|
-
--color-popover: var(--popover);
|
|
30
|
-
--color-popover-foreground: var(--popover-foreground);
|
|
31
|
-
--color-primary: var(--primary);
|
|
32
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
33
|
-
--color-secondary: var(--secondary);
|
|
34
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
|
35
|
-
--color-muted: var(--muted);
|
|
36
|
-
--color-muted-foreground: var(--muted-foreground);
|
|
37
|
-
--color-accent: var(--accent);
|
|
38
|
-
--color-accent-foreground: var(--accent-foreground);
|
|
39
|
-
--color-destructive: var(--destructive);
|
|
40
|
-
--color-destructive-foreground: var(--destructive-foreground);
|
|
41
|
-
--color-success: var(--success);
|
|
42
|
-
--color-success-foreground: var(--success-foreground);
|
|
43
|
-
--color-warning: var(--warning);
|
|
44
|
-
--color-warning-foreground: var(--warning-foreground);
|
|
45
|
-
--color-info: var(--info);
|
|
46
|
-
--color-info-foreground: var(--info-foreground);
|
|
47
|
-
--color-border: var(--border);
|
|
48
|
-
--color-input: var(--input);
|
|
49
|
-
--color-ring: var(--ring);
|
|
50
|
-
--color-chart-1: var(--chart-1);
|
|
51
|
-
--color-chart-2: var(--chart-2);
|
|
52
|
-
--color-chart-3: var(--chart-3);
|
|
53
|
-
--color-chart-4: var(--chart-4);
|
|
54
|
-
--color-chart-5: var(--chart-5);
|
|
55
|
-
|
|
56
|
-
/* Sidebar Colors */
|
|
57
|
-
--color-sidebar: var(--sidebar);
|
|
58
|
-
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
59
|
-
--color-sidebar-primary: var(--sidebar-primary);
|
|
60
|
-
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
61
|
-
--color-sidebar-accent: var(--sidebar-accent);
|
|
62
|
-
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
63
|
-
--color-sidebar-border: var(--sidebar-border);
|
|
64
|
-
--color-sidebar-ring: var(--sidebar-ring);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
:root {
|
|
68
|
-
--radius: 0.625rem;
|
|
69
|
-
--background: oklch(1 0 0);
|
|
70
|
-
--foreground: oklch(0.145 0 0);
|
|
71
|
-
--card: oklch(1 0 0);
|
|
72
|
-
--card-foreground: oklch(0.145 0 0);
|
|
73
|
-
--popover: oklch(1 0 0);
|
|
74
|
-
--popover-foreground: oklch(0.145 0 0);
|
|
75
|
-
--primary: oklch(0.205 0 0);
|
|
76
|
-
--primary-foreground: oklch(0.985 0 0);
|
|
77
|
-
--secondary: oklch(0.97 0 0);
|
|
78
|
-
--secondary-foreground: oklch(0.205 0 0);
|
|
79
|
-
--muted: oklch(0.97 0 0);
|
|
80
|
-
--muted-foreground: oklch(0.556 0 0);
|
|
81
|
-
--accent: oklch(0.97 0 0);
|
|
82
|
-
--accent-foreground: oklch(0.205 0 0);
|
|
83
|
-
--destructive: oklch(0.577 0.245 27.325);
|
|
84
|
-
--destructive-foreground: oklch(0.577 0.245 27.325);
|
|
85
|
-
--success: oklch(0.564 0.168 143.8);
|
|
86
|
-
--success-foreground: oklch(0.564 0.168 143.8);
|
|
87
|
-
--warning: oklch(0.681 0.150 59.0);
|
|
88
|
-
--warning-foreground: oklch(0.681 0.150 59.0);
|
|
89
|
-
--info: oklch(0.609 0.202 257.2);
|
|
90
|
-
--info-foreground: oklch(0.609 0.202 257.2);
|
|
91
|
-
--border: oklch(0.922 0 0);
|
|
92
|
-
--input: oklch(0.922 0 0);
|
|
93
|
-
--ring: oklch(0.708 0 0);
|
|
94
|
-
--chart-1: oklch(0.646 0.222 41.116);
|
|
95
|
-
--chart-2: oklch(0.6 0.118 184.704);
|
|
96
|
-
--chart-3: oklch(0.398 0.07 227.392);
|
|
97
|
-
--chart-4: oklch(0.828 0.189 84.429);
|
|
98
|
-
--chart-5: oklch(0.769 0.188 70.08);
|
|
99
|
-
|
|
100
|
-
/* Sidebar */
|
|
101
|
-
--sidebar: oklch(0.985 0 0);
|
|
102
|
-
--sidebar-foreground: oklch(0.145 0 0);
|
|
103
|
-
--sidebar-primary: oklch(0.205 0 0);
|
|
104
|
-
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
105
|
-
--sidebar-accent: oklch(0.97 0 0);
|
|
106
|
-
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
107
|
-
--sidebar-border: oklch(0.922 0 0);
|
|
108
|
-
--sidebar-ring: oklch(0.708 0 0);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.dark {
|
|
112
|
-
--background: oklch(0.145 0 0);
|
|
113
|
-
--foreground: oklch(0.985 0 0);
|
|
114
|
-
--card: oklch(0.145 0 0);
|
|
115
|
-
--card-foreground: oklch(0.985 0 0);
|
|
116
|
-
--popover: oklch(0.145 0 0);
|
|
117
|
-
--popover-foreground: oklch(0.985 0 0);
|
|
118
|
-
--primary: oklch(0.985 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.396 0.141 25.723);
|
|
127
|
-
--destructive-foreground: oklch(0.985 0 0);
|
|
128
|
-
--success: oklch(0.634 0.188 142.8);
|
|
129
|
-
--success-foreground: oklch(0.985 0 0);
|
|
130
|
-
--warning: oklch(0.785 0.162 64.8);
|
|
131
|
-
--warning-foreground: oklch(0.985 0 0);
|
|
132
|
-
--info: oklch(0.701 0.156 247.3);
|
|
133
|
-
--info-foreground: oklch(0.985 0 0);
|
|
134
|
-
--border: oklch(0.269 0 0);
|
|
135
|
-
--input: oklch(0.269 0 0);
|
|
136
|
-
--ring: oklch(0.439 0 0);
|
|
137
|
-
--chart-1: oklch(0.488 0.243 264.376);
|
|
138
|
-
--chart-2: oklch(0.696 0.17 162.48);
|
|
139
|
-
--chart-3: oklch(0.769 0.188 70.08);
|
|
140
|
-
--chart-4: oklch(0.627 0.265 303.9);
|
|
141
|
-
--chart-5: oklch(0.645 0.246 16.439);
|
|
142
|
-
|
|
143
|
-
/* Sidebar */
|
|
144
|
-
--sidebar: oklch(0.205 0 0);
|
|
145
|
-
--sidebar-foreground: oklch(0.985 0 0);
|
|
146
|
-
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
147
|
-
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
148
|
-
--sidebar-accent: oklch(0.269 0 0);
|
|
149
|
-
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
150
|
-
--sidebar-border: oklch(0.269 0 0);
|
|
151
|
-
--sidebar-ring: oklch(0.439 0 0);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/* Base styles */
|
|
155
|
-
* {
|
|
156
|
-
border-color: var(--border);
|
|
157
|
-
}
|
|
3
|
+
@import "./bearnie.css";
|