@nateui/cli 0.0.0-stage → 0.0.4

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 CHANGED
@@ -1,3 +1,25 @@
1
- # Temporary Holding Version
1
+ # @nateui/cli
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ The CLI for [NateUI](https://nateui.com). Creates template starters and adds NateUI components, Blocks and template pages to your project as source code.
4
+
5
+ ```bash
6
+ npx @nateui/cli@latest <command>
7
+ ```
8
+
9
+ Run it from your project root. Pro components and template pages use the access on your NateUI account; the CLI asks you to sign in with your purchase email when needed.
10
+
11
+ ## Commands
12
+
13
+ | Command | What it does |
14
+ | --- | --- |
15
+ | `login` | Sign in with your NateUI account email |
16
+ | `init --nextjs\|--vite <folder>` | Create a new app with NateUI set up |
17
+ | `init-template --<template> <folder>` | Create a starter from a template (`--crm`, `--project-management`, `--sales-inventory`, `--ai-chat`) |
18
+ | `list` | List components and Blocks; `list --template <name>` lists a template's pages |
19
+ | `describe <name>` | Show details for a component or Block |
20
+ | `add <name>` | Add a component or Block, e.g. `add button` or `add blocks/ai-chat-box` |
21
+ | `add-page --<page> --<template>` | Add a template page, e.g. `add-page --contacts --crm` |
22
+ | `remove-page --<page>` | Remove a page added with `add-page` |
23
+ | `skill` | Install the NateUI agent skill for your AI coding tool |
24
+
25
+ Full guide: [nateui.com/docs/templates/cli](https://nateui.com/docs/templates/cli)
@@ -0,0 +1,7 @@
1
+ import type { NextConfig } from "next";
2
+
3
+ const nextConfig: NextConfig = {
4
+ /* config options here */
5
+ };
6
+
7
+ export default nextConfig;
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "nateui-app",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "dev": "next dev",
7
+ "build": "next build",
8
+ "start": "next start"
9
+ },
10
+ "dependencies": {
11
+ "next": "16.2.6",
12
+ "react": "19.2.4",
13
+ "react-dom": "19.2.4",
14
+ "@floating-ui/react": "^0.27",
15
+ "clsx": "^2.1.1",
16
+ "dayjs": "^1",
17
+ "motion": "^12",
18
+ "tailwind-merge": "^2"
19
+ },
20
+ "devDependencies": {
21
+ "@tailwindcss/postcss": "^4",
22
+ "@tailwindcss/typography": "^0.5.19",
23
+ "@types/node": "^20",
24
+ "@types/react": "^19",
25
+ "@types/react-dom": "^19",
26
+ "tailwindcss": "^4",
27
+ "typescript": "^5"
28
+ }
29
+ }
@@ -0,0 +1,6 @@
1
+ allowBuilds:
2
+ sharp: false
3
+ unrs-resolver: false
4
+ ignoredBuiltDependencies:
5
+ - sharp
6
+ - unrs-resolver
@@ -0,0 +1,7 @@
1
+ const config = {
2
+ plugins: {
3
+ "@tailwindcss/postcss": {},
4
+ },
5
+ };
6
+
7
+ export default config;
@@ -0,0 +1,32 @@
1
+ import type { Metadata } from "next";
2
+ import type { ReactNode } from "react";
3
+ import { Inter } from "next/font/google";
4
+ import "@/styles/index.css";
5
+
6
+ const inter = Inter({
7
+ subsets: ["latin"],
8
+ display: "swap",
9
+ variable: "--font-inter",
10
+ });
11
+
12
+ export const metadata: Metadata = {
13
+ title: "NateUI App",
14
+ description: "A NateUI application.",
15
+ };
16
+
17
+ export default function RootLayout({
18
+ children,
19
+ }: Readonly<{
20
+ children: ReactNode;
21
+ }>) {
22
+ return (
23
+ <html
24
+ className={`antialiased ${inter.variable}`}
25
+ lang="en"
26
+ dir="ltr"
27
+ suppressHydrationWarning
28
+ >
29
+ <body className={inter.className}>{children}</body>
30
+ </html>
31
+ );
32
+ }
@@ -0,0 +1,12 @@
1
+ "use client";
2
+
3
+ import { Button } from "@/components/ui/button";
4
+
5
+ export default function Home() {
6
+ return (
7
+ <main className="flex min-h-screen flex-col items-center justify-center gap-4">
8
+ <p className="text-foreground">This app was created with NateUI.</p>
9
+ <Button>Get started</Button>
10
+ </main>
11
+ );
12
+ }
@@ -0,0 +1,535 @@
1
+ @import "tailwindcss";
2
+ @plugin "@tailwindcss/typography";
3
+
4
+ @custom-variant dark (&:where(.dark, .dark *));
5
+
6
+ @theme inline {
7
+ /* Fonts */
8
+ --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
9
+ --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
10
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
11
+
12
+ /* Semantic surfaces */
13
+ --color-background: var(--nui-background);
14
+ --color-canvas: var(--nui-canvas);
15
+ --color-canvas-border: var(--nui-canvas-border);
16
+ --color-foreground: var(--nui-foreground);
17
+ --color-card: var(--nui-card);
18
+ --color-card-foreground: var(--nui-card-foreground);
19
+ --color-popover: var(--nui-popover);
20
+ --color-popover-foreground: var(--nui-popover-foreground);
21
+ --color-muted: var(--nui-muted);
22
+ --color-muted-foreground: var(--nui-muted-foreground);
23
+ --color-border: var(--nui-border);
24
+ --color-tag: var(--nui-tag);
25
+ --color-card-border: var(--nui-card-border);
26
+ --color-tag-border: var(--nui-tag-border);
27
+ --color-input: var(--nui-input);
28
+ --color-ring: var(--nui-ring);
29
+ --color-overlay: var(--nui-overlay);
30
+ --color-inverse: var(--nui-inverse);
31
+ --color-inverse-foreground: var(--nui-inverse-foreground);
32
+
33
+ /* Form controls */
34
+ --color-control: var(--nui-control);
35
+ --color-control-foreground: var(--nui-control-foreground);
36
+ --color-control-border: var(--nui-control-border);
37
+ --color-control-focus: var(--nui-control-focus);
38
+ --color-control-hover: var(--nui-control-hover);
39
+ --color-control-active: var(--nui-control-active);
40
+ --color-control-disabled: var(--nui-control-disabled);
41
+ --color-control-disabled-foreground: var(--nui-control-disabled-foreground);
42
+
43
+ /* Intent colors */
44
+ --color-primary: var(--nui-primary);
45
+ --color-primary-foreground: var(--nui-primary-foreground);
46
+ --color-primary-hover: var(--nui-primary-hover);
47
+ --color-primary-active: var(--nui-primary-active);
48
+ --color-primary-soft: var(--nui-primary-soft);
49
+
50
+ --color-secondary: var(--nui-secondary);
51
+ --color-secondary-foreground: var(--nui-secondary-foreground);
52
+ --color-secondary-hover: var(--nui-secondary-hover);
53
+ --color-secondary-active: var(--nui-secondary-active);
54
+ --color-secondary-soft: var(--nui-secondary-soft);
55
+
56
+ --color-accent: var(--nui-accent);
57
+ --color-accent-foreground: var(--nui-accent-foreground);
58
+ --color-accent-hover: var(--nui-accent-hover);
59
+ --color-accent-active: var(--nui-accent-active);
60
+
61
+ --color-destructive: var(--nui-destructive);
62
+ --color-destructive-foreground: var(--nui-destructive-foreground);
63
+ --color-destructive-soft: var(--nui-destructive-soft);
64
+ --color-destructive-soft-foreground: var(--nui-destructive-soft-foreground);
65
+
66
+ --color-success: var(--nui-success);
67
+ --color-success-foreground: var(--nui-success-foreground);
68
+ --color-success-soft: var(--nui-success-soft);
69
+ --color-success-soft-foreground: var(--nui-success-soft-foreground);
70
+ --color-warning: var(--nui-warning);
71
+ --color-warning-foreground: var(--nui-warning-foreground);
72
+ --color-warning-soft: var(--nui-warning-soft);
73
+ --color-warning-soft-foreground: var(--nui-warning-soft-foreground);
74
+ --color-info: var(--nui-info);
75
+ --color-info-foreground: var(--nui-info-foreground);
76
+ --color-info-soft: var(--nui-info-soft);
77
+ --color-info-soft-foreground: var(--nui-info-soft-foreground);
78
+
79
+ /* Product palette */
80
+ --color-palette-emerald: var(--nui-palette-emerald-solid);
81
+ --color-palette-emerald-foreground: var(--nui-palette-emerald-foreground);
82
+ --color-palette-emerald-soft: var(--nui-palette-emerald-soft);
83
+ --color-palette-emerald-soft-foreground: var(--nui-palette-emerald-soft-foreground);
84
+
85
+ --color-palette-rose: var(--nui-palette-rose-solid);
86
+ --color-palette-rose-foreground: var(--nui-palette-rose-foreground);
87
+ --color-palette-rose-soft: var(--nui-palette-rose-soft);
88
+ --color-palette-rose-soft-foreground: var(--nui-palette-rose-soft-foreground);
89
+
90
+ --color-palette-blue: var(--nui-palette-blue-solid);
91
+ --color-palette-blue-foreground: var(--nui-palette-blue-foreground);
92
+ --color-palette-blue-soft: var(--nui-palette-blue-soft);
93
+ --color-palette-blue-soft-foreground: var(--nui-palette-blue-soft-foreground);
94
+
95
+ --color-palette-cyan: var(--nui-palette-cyan-solid);
96
+ --color-palette-cyan-foreground: var(--nui-palette-cyan-foreground);
97
+ --color-palette-cyan-soft: var(--nui-palette-cyan-soft);
98
+ --color-palette-cyan-soft-foreground: var(--nui-palette-cyan-soft-foreground);
99
+
100
+ --color-palette-orange: var(--nui-palette-orange-solid);
101
+ --color-palette-orange-foreground: var(--nui-palette-orange-foreground);
102
+ --color-palette-orange-soft: var(--nui-palette-orange-soft);
103
+ --color-palette-orange-soft-foreground: var(--nui-palette-orange-soft-foreground);
104
+
105
+ --color-palette-red: var(--nui-palette-red-solid);
106
+ --color-palette-red-foreground: var(--nui-palette-red-foreground);
107
+ --color-palette-red-soft: var(--nui-palette-red-soft);
108
+ --color-palette-red-soft-foreground: var(--nui-palette-red-soft-foreground);
109
+
110
+ --color-palette-purple: var(--nui-palette-purple-solid);
111
+ --color-palette-purple-foreground: var(--nui-palette-purple-foreground);
112
+ --color-palette-purple-soft: var(--nui-palette-purple-soft);
113
+ --color-palette-purple-soft-foreground: var(--nui-palette-purple-soft-foreground);
114
+
115
+ --color-palette-yellow: var(--nui-palette-yellow-solid);
116
+ --color-palette-yellow-foreground: var(--nui-palette-yellow-foreground);
117
+ --color-palette-yellow-soft: var(--nui-palette-yellow-soft);
118
+ --color-palette-yellow-soft-foreground: var(--nui-palette-yellow-soft-foreground);
119
+
120
+ --color-palette-lime: var(--nui-palette-lime-solid);
121
+ --color-palette-lime-foreground: var(--nui-palette-lime-foreground);
122
+ --color-palette-lime-soft: var(--nui-palette-lime-soft);
123
+ --color-palette-lime-soft-foreground: var(--nui-palette-lime-soft-foreground);
124
+
125
+ --color-palette-gray: var(--nui-palette-gray-solid);
126
+ --color-palette-gray-foreground: var(--nui-palette-gray-foreground);
127
+ --color-palette-gray-soft: var(--nui-palette-gray-soft);
128
+ --color-palette-gray-soft-foreground: var(--nui-palette-gray-soft-foreground);
129
+
130
+ /* Chart series */
131
+ --color-chart-1: var(--nui-chart-1);
132
+ --color-chart-2: var(--nui-chart-2);
133
+ --color-chart-3: var(--nui-chart-3);
134
+ --color-chart-4: var(--nui-chart-4);
135
+ --color-chart-5: var(--nui-chart-5);
136
+ --color-chart-6: var(--nui-chart-6);
137
+ --color-chart-7: var(--nui-chart-7);
138
+ --color-chart-8: var(--nui-chart-8);
139
+ --color-chart-9: var(--nui-chart-9);
140
+ --color-chart-10: var(--nui-chart-10);
141
+
142
+ /* Shape */
143
+ --radius-canvas: var(--nui-radius-canvas);
144
+ --radius-control: var(--nui-radius-control);
145
+ --radius-control-sm: var(--nui-radius-control-sm);
146
+ --radius-card: var(--nui-radius-card);
147
+ --radius-popover: var(--nui-radius-popover);
148
+ --radius-overlay: var(--nui-radius-overlay);
149
+ --radius-tag: var(--nui-radius-tag);
150
+ --radius-badge: var(--nui-radius-badge);
151
+
152
+ /* Elevation */
153
+ --shadow-canvas: var(--nui-shadow-canvas);
154
+ --shadow-card: var(--nui-shadow-card);
155
+ --shadow-control: var(--nui-shadow-control);
156
+ --shadow-popover: var(--nui-shadow-popover);
157
+ --shadow-dialog: var(--nui-shadow-dialog);
158
+ --shadow-drawer: var(--nui-shadow-drawer);
159
+ --shadow-focus: var(--nui-shadow-focus);
160
+ --shadow-inset-active: var(--nui-shadow-inset-active);
161
+
162
+ /* Component sizing */
163
+ --spacing-control-sm: var(--nui-control-size-sm);
164
+ --spacing-control-md: var(--nui-control-size-md);
165
+ --spacing-control-lg: var(--nui-control-size-lg);
166
+ --spacing-field-x-sm: var(--nui-field-x-sm);
167
+ --spacing-field-x-md: var(--nui-field-x-md);
168
+ --spacing-field-x-lg: var(--nui-field-x-lg);
169
+ --spacing-overlay-gap: var(--nui-overlay-gap);
170
+
171
+ /* Layering */
172
+ --z-index-dropdown: var(--nui-z-dropdown);
173
+ --z-index-sticky: var(--nui-z-sticky);
174
+ --z-index-popover: var(--nui-z-popover);
175
+ --z-index-overlay: var(--nui-z-overlay);
176
+ --z-index-modal: var(--nui-z-modal);
177
+ --z-index-toast: var(--nui-z-toast);
178
+ --z-index-tooltip: var(--nui-z-tooltip);
179
+
180
+ /* Focus defaults */
181
+ --default-ring-width: 1px;
182
+ --default-ring-color: var(--nui-ring);
183
+
184
+ /* Breakpoints */
185
+ --breakpoint-xs: 576px;
186
+ --breakpoint-sm: 640px;
187
+ --breakpoint-md: 768px;
188
+ --breakpoint-lg: 1024px;
189
+ --breakpoint-xl: 1280px;
190
+ --breakpoint-2xl: 1536px;
191
+ }
192
+ @layer base {
193
+ :root,
194
+ .light,
195
+ [data-theme='light'] {
196
+ color-scheme: light;
197
+
198
+ --nui-font-family: var(--font-sans), Inter, ui-sans-serif, system-ui, sans-serif;
199
+
200
+ --nui-neutral-50: #fafafa;
201
+ --nui-neutral-100: #f3f3f3;
202
+ --nui-neutral-200: #ebebeb;
203
+ --nui-neutral-300: #dcdcdc;
204
+ --nui-neutral-400: #cdcdcd;
205
+ --nui-neutral-500: #737373;
206
+ --nui-neutral-600: #5c5c5c;
207
+ --nui-neutral-700: #454545;
208
+ --nui-neutral-800: #3A3A3A;
209
+ --nui-neutral-900: #222222;
210
+ --nui-neutral-950: #171717;
211
+
212
+ --nui-background: var(--nui-neutral-50);
213
+ --nui-canvas: var(--nui-card);
214
+ --nui-canvas-border: transparent;
215
+ --nui-foreground: var(--nui-neutral-900);
216
+ --nui-card: #ffffff;
217
+ --nui-card-foreground: var(--nui-neutral-900);
218
+ --nui-popover: #ffffff;
219
+ --nui-popover-foreground: var(--nui-neutral-900);
220
+ --nui-muted: var(--nui-neutral-100);
221
+ --nui-muted-foreground: var(--nui-neutral-500);
222
+ --nui-border: var(--nui-neutral-200);
223
+ --nui-tag: var(--nui-neutral-100);
224
+ --nui-card-border: var(--nui-neutral-200);
225
+ --nui-tag-border: var(--nui-neutral-200);
226
+ --nui-input: var(--nui-neutral-300);
227
+ --nui-ring: var(--nui-primary);;
228
+ --nui-overlay: rgb(10 10 10 / 60%);
229
+ --nui-inverse: var(--nui-neutral-900);
230
+ --nui-inverse-foreground: #ffffff;
231
+
232
+ --nui-control: #ffffff;
233
+ --nui-control-foreground: var(--nui-neutral-900);
234
+ --nui-control-border: var(--nui-neutral-300);
235
+ --nui-control-focus: var(--nui-ring);
236
+ --nui-control-hover: var(--nui-neutral-100);
237
+ --nui-control-active: var(--nui-neutral-100);
238
+ --nui-control-disabled: var(--nui-neutral-100);
239
+ --nui-control-disabled-foreground: rgb(23 23 23 / 40%);
240
+
241
+ --nui-primary: #3380fa;
242
+ --nui-primary-foreground: #ffffff;
243
+ --nui-primary-hover: #579afe;
244
+ --nui-primary-active: #2a6aca;
245
+ --nui-primary-soft: rgb(51 128 250 / 10%);
246
+
247
+ --nui-secondary: var(--nui-neutral-100);
248
+ --nui-secondary-foreground: var(--nui-neutral-900);
249
+ --nui-secondary-hover: var(--nui-neutral-200);
250
+ --nui-secondary-active: var(--nui-neutral-300);
251
+ --nui-secondary-soft: rgb(23 23 23 / 5%);
252
+ --nui-accent: var(--nui-neutral-100);
253
+ --nui-accent-foreground: var(--nui-neutral-800);
254
+ --nui-accent-hover: var(--nui-neutral-200);
255
+ --nui-accent-active: var(--nui-neutral-300);
256
+
257
+ --nui-destructive: #fd2b38;
258
+ --nui-destructive-foreground: #ffffff;
259
+ --nui-destructive-soft: rgb(235 65 55 / 10%);
260
+ --nui-destructive-soft-foreground: var(--nui-destructive);
261
+
262
+ --nui-success: #00a656;
263
+ --nui-success-foreground: #ffffff;
264
+ --nui-success-soft: rgba(0 166 86 / 12%);
265
+ --nui-success-soft-foreground: var(--nui-success);
266
+
267
+ --nui-warning: #f59e0b;
268
+ --nui-warning-foreground: #754729;
269
+ --nui-warning-soft: rgb(245 158 11 / 16%);
270
+ --nui-warning-soft-foreground: var(--nui-warning);
271
+
272
+ --nui-info: #3380fa;
273
+ --nui-info-foreground: #ffffff;
274
+ --nui-info-soft: rgb(23 165 251 / 16%);
275
+ --nui-info-soft-foreground: var(--nui-info);
276
+
277
+ --nui-palette-emerald-solid: #00c27f;
278
+ --nui-palette-emerald-foreground: var(--nui-neutral-100);
279
+ --nui-palette-emerald-soft: #09e33830;
280
+ --nui-palette-emerald-soft-foreground: #1e7151;
281
+
282
+ --nui-palette-rose-solid: #f35084;
283
+ --nui-palette-rose-foreground: var(--nui-neutral-100);
284
+ --nui-palette-rose-soft: #fb576738;
285
+ --nui-palette-rose-soft-foreground: #981847;
286
+
287
+ --nui-palette-blue-solid: #3380fa;
288
+ --nui-palette-blue-foreground: var(--nui-neutral-100);
289
+ --nui-palette-blue-soft: #186bfb1a;
290
+ --nui-palette-blue-soft-foreground: #314c89;
291
+
292
+ --nui-palette-cyan-solid: #05aed3;
293
+ --nui-palette-cyan-foreground: var(--nui-neutral-100);
294
+ --nui-palette-cyan-soft: #0cc5f738;
295
+ --nui-palette-cyan-soft-foreground: #226f81;
296
+
297
+ --nui-palette-orange-solid: #ff6a55;
298
+ --nui-palette-orange-foreground: var(--nui-neutral-100);
299
+ --nui-palette-orange-soft: #f976134d;
300
+ --nui-palette-orange-soft-foreground: #9f2f00;
301
+
302
+ --nui-palette-red-solid: #fe555d;
303
+ --nui-palette-red-foreground: var(--nui-neutral-100);
304
+ --nui-palette-red-soft: #e526102e;
305
+ --nui-palette-red-soft-foreground: #770c19;
306
+
307
+ --nui-palette-purple-solid: #8361cd;
308
+ --nui-palette-purple-foreground: var(--nui-primary-100);
309
+ --nui-palette-purple-soft: #44238e17;
310
+ --nui-palette-purple-soft-foreground: #44238e;
311
+
312
+ --nui-palette-yellow-solid: #f3bd31;
313
+ --nui-palette-yellow-foreground: var(--nui-neutral-100);
314
+ --nui-palette-yellow-soft: #f5c10d45;
315
+ --nui-palette-yellow-soft-foreground: #705611;
316
+
317
+ --nui-palette-lime-solid: #84cc16;
318
+ --nui-palette-lime-foreground: var(--nui-neutral-100);
319
+ --nui-palette-lime-soft: #d0f72f4d;
320
+ --nui-palette-lime-soft-foreground: #516412;
321
+
322
+ --nui-palette-gray-solid: var(--nui-neutral-300);
323
+ --nui-palette-gray-foreground: var(--nui-neutral-100);
324
+ --nui-palette-gray-soft: var(--nui-neutral-200);
325
+ --nui-palette-gray-soft-foreground: var(--nui-neutral-500);
326
+
327
+ --nui-chart-1: var(--nui-primary);
328
+ --nui-chart-2: var(--nui-palette-purple-solid);
329
+ --nui-chart-3: var(--nui-palette-emerald-solid);
330
+ --nui-chart-4: var(--nui-palette-yellow-solid);
331
+ --nui-chart-5: var(--nui-palette-red-solid);
332
+ --nui-chart-6: var(--nui-palette-orange-solid);
333
+ --nui-chart-7: var(--nui-palette-cyan-solid);
334
+ --nui-chart-8: var(--nui-palette-rose-solid);
335
+ --nui-chart-9: var(--nui-palette-lime-solid);
336
+ --nui-chart-10: var(--nui-palette-gray-solid);
337
+
338
+ --nui-radius-xs: 0.125rem;
339
+ --nui-radius-sm: 0.25rem;
340
+ --nui-radius-md: 0.375rem;
341
+ --nui-radius-lg: 0.5rem;
342
+ --nui-radius-xl: 0.75rem;
343
+ --nui-radius-2xl: 1rem;
344
+ --nui-radius-canvas: var(--nui-radius-lg);
345
+ --nui-radius-control: var(--nui-radius-lg);
346
+ --nui-radius-control-sm: var(--nui-radius-md);
347
+ --nui-radius-card: var(--nui-radius-xl);
348
+ --nui-radius-popover: var(--nui-radius-xl);
349
+ --nui-radius-overlay: var(--nui-radius-xl);
350
+ --nui-radius-tag: var(--nui-radius-md);
351
+ --nui-radius-badge: 9999px;
352
+
353
+ --nui-shadow-canvas:
354
+ 0 1px 3px 0 rgb(0 0 0 / 0.1),
355
+ 0 1px 2px -1px rgb(0 0 0 / 0.1);
356
+ --nui-shadow-card:
357
+ 0 4px 8px 0 rgb(11 11 11 / 8%),
358
+ 0 12px 28px -2px rgb(11 11 11 / 8%);
359
+ --nui-shadow-control: 0 0 #0000;
360
+ --nui-shadow-popover:
361
+ 0px 12px 16px -4px rgba(0, 0, 0, 0.0784),
362
+ 0px 4px 6px -2px rgba(0, 0, 0, 0.0314),
363
+ 0px 2px 2px -1px rgba(0, 0, 0, 0.0392);
364
+ --nui-shadow-dialog:
365
+ 0 0 0 1px rgb(0 0 0 / 2%),
366
+ 0 1px 1px -0.5px rgb(0 0 0 / 2%),
367
+ 0 3px 3px -1.5px rgb(0 0 0 / 2%),
368
+ 0 6px 6px -3px rgb(0 0 0 / 2%),
369
+ 0 12px 12px -6px rgb(0 0 0 / 4%),
370
+ 0 24px 24px -12px rgb(0 0 0 / 4%),
371
+ 0 4px 32px 1px rgb(0 0 0 / 20%);
372
+ --nui-shadow-drawer:
373
+ 0 24px 64px -12px rgb(10 13 18 / 24%),
374
+ 0 0 0 1px rgb(10 13 18 / 4%);
375
+ --nui-shadow-focus: 0 0 0 3px rgb(51 128 250 / 18%);
376
+ --nui-shadow-inset-active:
377
+ inset 0 0 0 1px rgb(10 13 18 / 6%),
378
+ inset 0 1px 1px rgb(10 13 18 / 4%);
379
+
380
+ --nui-control-size-sm: calc(var(--spacing) * 8);
381
+ --nui-control-size-md: calc(var(--spacing) * 9);
382
+ --nui-control-size-lg: calc(var(--spacing) * 12);
383
+ --nui-field-x-sm: 0.75rem;
384
+ --nui-field-x-md: 1rem;
385
+ --nui-field-x-lg: 2rem;
386
+ --nui-overlay-gap: 0.5rem;
387
+
388
+ --nui-z-sticky: 1020;
389
+
390
+ --nui-z-overlay: 1100;
391
+ --nui-z-popover: 1100;
392
+ --nui-z-dropdown: 1100;
393
+ --nui-z-modal: 1100;
394
+ --nui-z-toast: 1200;
395
+ --nui-z-tooltip: 1300;
396
+ }
397
+
398
+ .dark,
399
+ [data-theme='dark'] {
400
+ color-scheme: dark;
401
+
402
+ --nui-background: #121212;
403
+ --nui-canvas: var(--nui-neutral-950);
404
+ --nui-canvas-border: transparent;
405
+ --nui-foreground: var(--nui-neutral-100);
406
+ --nui-card: var(--nui-neutral-900);
407
+ --nui-card-foreground: var(--nui-neutral-100);
408
+ --nui-popover: var(--nui-neutral-900);
409
+ --nui-popover-foreground: var(--nui-neutral-100);
410
+ --nui-muted: var(--nui-neutral-800);
411
+ --nui-muted-foreground: var(--nui-neutral-400);
412
+ --nui-border: color-mix(in srgb, var(--nui-neutral-800) 81%, #000 19%);
413
+ --nui-tag: var(--nui-neutral-800);
414
+ --nui-card-border: var(--nui-card);
415
+ --nui-tag-border: var(--nui-neutral-800);
416
+ --nui-input: var(--nui-neutral-600);
417
+ --nui-ring: var(--nui-primary-hover);
418
+ --nui-overlay: rgb(0 0 0 / 55%);
419
+ --nui-inverse: #ffffff;
420
+ --nui-inverse-foreground: var(--nui-neutral-950);
421
+
422
+ --nui-control: rgb(255 255 255 / 4%);
423
+ --nui-control-foreground: var(--nui-neutral-100);
424
+ --nui-control-border:rgb(255 255 255 / 4%);
425
+ --nui-control-focus: var(--nui-ring);
426
+ --nui-control-hover: var(--nui-neutral-800);
427
+ --nui-control-active: var(--nui-neutral-700);
428
+ --nui-control-disabled: rgb(255 255 255 / 5%);
429
+ --nui-control-disabled-foreground: rgb(245 245 245 / 18%);
430
+
431
+ --nui-primary-soft: rgb(87 154 254 / 16%);
432
+ --nui-secondary: color-mix(in srgb, var(--nui-neutral-800) 81%, #000 19%);
433
+ --nui-secondary-foreground: var(--nui-neutral-100);
434
+ --nui-secondary-hover: var(--nui-neutral-700);
435
+ --nui-secondary-active: var(--nui-neutral-600);
436
+ --nui-secondary-soft: rgb(255 255 255 / 10%);
437
+ --nui-accent: var(--nui-secondary);
438
+ --nui-accent-foreground: var(--nui-neutral-100);
439
+ --nui-accent-hover: var(--nui-neutral-800);
440
+ --nui-accent-active: var(--nui-neutral-800);
441
+
442
+ --nui-destructive-soft: rgb(235 65 55 / 16%);
443
+ --nui-destructive-soft-foreground: var(--nui-destructive);
444
+
445
+ --nui-palette-emerald-foreground: var(--nui-neutral-100);
446
+ --nui-palette-rose-foreground: var(--nui-neutral-100);
447
+ --nui-palette-blue-foreground: var(--nui-neutral-100);
448
+ --nui-palette-cyan-foreground: var(--nui-neutral-100);
449
+ --nui-palette-orange-foreground: var(--nui-neutral-100);
450
+ --nui-palette-red-foreground: var(--nui-neutral-100);
451
+ --nui-palette-purple-foreground: var(--nui-neutral-100);
452
+ --nui-palette-yellow-foreground: var(--nui-neutral-100);
453
+ --nui-palette-lime-foreground: var(--nui-neutral-100);
454
+ --nui-palette-gray-foreground: var(--nui-neutral-100);
455
+ --nui-success-soft-foreground: var(--nui-success);
456
+ --nui-warning-soft-foreground: var(--nui-warning);
457
+ --nui-info-soft-foreground: var(--nui-info);
458
+ --nui-success-soft: rgb(0 166 86 / 16%);
459
+ --nui-warning-soft: rgb(245 158 11 / 18%);
460
+ --nui-info-soft: rgb(51 128 250 / 16%);
461
+
462
+ --nui-palette-emerald-soft: #09e33838;
463
+ --nui-palette-emerald-soft-foreground: #9aebcc;
464
+
465
+ --nui-palette-rose-soft: #fb576738;
466
+ --nui-palette-rose-soft-foreground: #f5c5d7;
467
+
468
+ --nui-palette-blue-soft: #2336568f;
469
+ --nui-palette-blue-soft-foreground: #bfd2fb;
470
+
471
+ --nui-palette-cyan-soft: #0cc5f738;
472
+ --nui-palette-cyan-soft-foreground: #a9e5f3;
473
+
474
+ --nui-palette-orange-soft: #f9761336;
475
+ --nui-palette-orange-soft-foreground: #f7cbb8;
476
+
477
+ --nui-palette-red-soft: #873e3640;
478
+ --nui-palette-red-soft-foreground: #f9ced3;
479
+
480
+ --nui-palette-purple-soft: #44238e91;
481
+ --nui-palette-purple-soft-foreground: #ddd0fb;
482
+
483
+ --nui-palette-yellow-soft: #f5c10d45;
484
+ --nui-palette-yellow-soft-foreground: #f5dd9c;
485
+
486
+ --nui-palette-lime-soft: #d0f72f4d;
487
+ --nui-palette-lime-soft-foreground: #f2ffbc;
488
+
489
+ --nui-palette-gray-solid: var(--nui-neutral-700);
490
+ --nui-palette-gray-soft: var(--nui-neutral-500);
491
+ --nui-palette-gray-soft-foreground: var(--nui-neutral-100);
492
+
493
+ --nui-radius-canvas: var(--nui-radius-lg);
494
+ --nui-shadow-canvas:
495
+ 0 1px 3px 0 rgb(0 0 0 / 0.1),
496
+ 0 1px 2px -1px rgb(0 0 0 / 0.1);
497
+ --nui-shadow-card:
498
+ 0 1px 2px 0 rgb(0 0 0 / 30%),
499
+ 0 0 0 1px rgb(255 255 255 / 6%);
500
+ --nui-shadow-control: 0 0 #0000;
501
+ --nui-shadow-popover:
502
+ 0 24px 48px -12px rgb(0 0 0 / 45%),
503
+ 0 0 0 1px rgb(255 255 255 / 7%);
504
+ --nui-shadow-dialog:
505
+ 0 24px 64px -12px rgb(0 0 0 / 56%),
506
+ 0 0 0 1px rgb(255 255 255 / 7%);
507
+ --nui-shadow-drawer:
508
+ 0 24px 64px -12px rgb(0 0 0 / 56%),
509
+ 0 0 0 1px rgb(255 255 255 / 7%);
510
+ --nui-shadow-focus: 0 0 0 3px rgb(87 154 254 / 24%);
511
+ --nui-shadow-inset-active:
512
+ inset 0 -2px 1px rgb(0 0 0 / 40%),
513
+ inset 0 1px 1px rgb(255 255 255 / 11%);
514
+ }
515
+
516
+ *,
517
+ ::after,
518
+ ::before,
519
+ ::backdrop,
520
+ ::file-selector-button {
521
+ border-color: var(--color-border, currentColor);
522
+ }
523
+
524
+ @layer base {
525
+ * {
526
+ @apply border-border outline-ring/50;
527
+ }
528
+ body {
529
+ @apply bg-background text-foreground;
530
+ }
531
+ html {
532
+ @apply font-sans;
533
+ }
534
+ }
535
+ }