ucode-agent 1.5.0 → 1.7.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/README.md +399 -327
- package/package.json +6 -1
- package/skills/ui-ux/SKILL.md +2 -2
- package/src/core/doctor.js +122 -0
- package/src/core/livelog.js +113 -0
- package/src/core/loop.js +2105 -1659
- package/src/core/provider.js +93 -10
- package/src/core/stuck.js +269 -0
- package/src/core/tests.js +86 -0
- package/src/tools/blocks.js +117 -0
- package/src/tools/browser.js +121 -59
- package/src/tools/cache.js +105 -0
- package/src/tools/deploy.js +283 -0
- package/src/tools/files.js +91 -8
- package/src/tools/index.js +634 -495
- package/src/tools/rename.js +157 -0
- package/src/tools/scaffold.js +85 -6
- package/src/tools/shell.js +799 -701
- package/src/tools/symbols.js +218 -0
- package/src/tools/types.js +179 -0
- package/src/ui/activity.js +203 -0
- package/src/ui/plain.js +22 -3
- package/src/ui/screen.js +65 -19
- package/src/ui/theme.js +5 -1
- package/templates/blocks/app-shell.tsx +81 -0
- package/templates/blocks/data-table.tsx +117 -0
- package/templates/blocks/empty-state.tsx +41 -0
- package/templates/blocks/page-header.tsx +27 -0
- package/templates/blocks/stat-cards.tsx +46 -0
- package/templates/next-shadcn/TEMPLATE.md +53 -9
- package/templates/next-shadcn/_package-lock.json +1335 -148
- package/templates/next-shadcn/components.json +1 -1
- package/templates/next-shadcn/next.config.ts +2 -1
- package/templates/next-shadcn/package.json +4 -2
- package/templates/next-shadcn/presets/citrus.json +77 -0
- package/templates/next-shadcn/presets/graphite.json +77 -0
- package/templates/next-shadcn/presets/grove.json +77 -0
- package/templates/next-shadcn/presets/ocean.json +78 -0
- package/templates/next-shadcn/presets/sunset.json +77 -0
- package/templates/next-shadcn/presets/violet.json +77 -0
- package/templates/next-shadcn/src/components/ui/accordion.tsx +80 -0
- package/templates/next-shadcn/src/components/ui/alert-dialog.tsx +34 -22
- package/templates/next-shadcn/src/components/ui/avatar.tsx +7 -4
- package/templates/next-shadcn/src/components/ui/badge.tsx +15 -18
- package/templates/next-shadcn/src/components/ui/button.tsx +12 -3
- package/templates/next-shadcn/src/components/ui/calendar.tsx +1 -0
- package/templates/next-shadcn/src/components/ui/checkbox.tsx +6 -2
- package/templates/next-shadcn/src/components/ui/collapsible.tsx +33 -0
- package/templates/next-shadcn/src/components/ui/command.tsx +1 -2
- package/templates/next-shadcn/src/components/ui/dialog.tsx +34 -26
- package/templates/next-shadcn/src/components/ui/dropdown-menu.tsx +115 -114
- package/templates/next-shadcn/src/components/ui/hover-card.tsx +43 -0
- package/templates/next-shadcn/src/components/ui/input-group.tsx +2 -4
- package/templates/next-shadcn/src/components/ui/input.tsx +1 -2
- package/templates/next-shadcn/src/components/ui/label.tsx +6 -2
- package/templates/next-shadcn/src/components/ui/popover.tsx +27 -28
- package/templates/next-shadcn/src/components/ui/progress.tsx +11 -63
- package/templates/next-shadcn/src/components/ui/radio-group.tsx +43 -0
- package/templates/next-shadcn/src/components/ui/scroll-area.tsx +6 -6
- package/templates/next-shadcn/src/components/ui/select.tsx +55 -64
- package/templates/next-shadcn/src/components/ui/separator.tsx +6 -3
- package/templates/next-shadcn/src/components/ui/sheet.tsx +35 -26
- package/templates/next-shadcn/src/components/ui/slider.tsx +58 -0
- package/templates/next-shadcn/src/components/ui/switch.tsx +3 -2
- package/templates/next-shadcn/src/components/ui/table.tsx +115 -0
- package/templates/next-shadcn/src/components/ui/tabs.tsx +16 -8
- package/templates/next-shadcn/src/components/ui/toggle-group.tsx +89 -0
- package/templates/next-shadcn/src/components/ui/toggle.tsx +46 -0
- package/templates/next-shadcn/src/components/ui/tooltip.tsx +24 -33
- package/templates/next-shadcn/src/lib/utils.ts +6 -1
- package/ucode.js +8 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { NextConfig } from "next";
|
|
2
2
|
|
|
3
3
|
const nextConfig: NextConfig = {
|
|
4
|
-
|
|
4
|
+
// This folder is the project root, even if a stray lockfile sits in a folder above.
|
|
5
|
+
turbopack: { root: process.cwd() },
|
|
5
6
|
};
|
|
6
7
|
|
|
7
8
|
export default nextConfig;
|
|
@@ -9,19 +9,21 @@
|
|
|
9
9
|
"lint": "eslint"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@base-ui/react": "^1.8.0",
|
|
13
12
|
"class-variance-authority": "^0.7.1",
|
|
13
|
+
"clsx": "^2.1.1",
|
|
14
14
|
"cmdk": "^1.1.1",
|
|
15
15
|
"cn": "^0.2.6",
|
|
16
16
|
"date-fns": "^4.4.0",
|
|
17
|
-
"lucide-react": "^1.
|
|
17
|
+
"lucide-react": "^1.45.0",
|
|
18
18
|
"next": "16.3.4",
|
|
19
19
|
"next-themes": "^0.4.6",
|
|
20
|
+
"radix-ui": "^1.6.7",
|
|
20
21
|
"react": "19.2.8",
|
|
21
22
|
"react-day-picker": "^10.0.1",
|
|
22
23
|
"react-dom": "19.2.8",
|
|
23
24
|
"shadcn": "^4.21.0",
|
|
24
25
|
"sonner": "^2.0.8",
|
|
26
|
+
"tailwind-merge": "^3.6.0",
|
|
25
27
|
"tw-animate-css": "^1.4.0"
|
|
26
28
|
},
|
|
27
29
|
"devDependencies": {
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "citrus",
|
|
3
|
+
"summary": "bright lime with dark text, bold type and pill-shaped controls",
|
|
4
|
+
"suits": "games, sport, kids, social and energetic consumer apps",
|
|
5
|
+
"fonts": { "sans": "Figtree", "heading": "Bricolage Grotesque", "headingAxes": ["opsz"] },
|
|
6
|
+
"radius": "1.25rem",
|
|
7
|
+
"light": {
|
|
8
|
+
"background": "oklch(0.99 0.006 110)",
|
|
9
|
+
"foreground": "oklch(0.2 0.025 125)",
|
|
10
|
+
"card": "oklch(1 0 0)",
|
|
11
|
+
"card-foreground": "oklch(0.2 0.025 125)",
|
|
12
|
+
"popover": "oklch(1 0 0)",
|
|
13
|
+
"popover-foreground": "oklch(0.2 0.025 125)",
|
|
14
|
+
"primary": "oklch(0.68 0.19 130)",
|
|
15
|
+
"primary-foreground": "oklch(0.2 0.04 128)",
|
|
16
|
+
"secondary": "oklch(0.955 0.02 110)",
|
|
17
|
+
"secondary-foreground": "oklch(0.28 0.04 125)",
|
|
18
|
+
"muted": "oklch(0.962 0.012 110)",
|
|
19
|
+
"muted-foreground": "oklch(0.49 0.03 125)",
|
|
20
|
+
"accent": "oklch(0.955 0.07 112)",
|
|
21
|
+
"accent-foreground": "oklch(0.36 0.08 125)",
|
|
22
|
+
"destructive": "oklch(0.56 0.21 25)",
|
|
23
|
+
"success": "oklch(0.55 0.13 150)",
|
|
24
|
+
"warning": "oklch(0.67 0.16 60)",
|
|
25
|
+
"border": "oklch(0.915 0.014 110)",
|
|
26
|
+
"input": "oklch(0.885 0.02 110)",
|
|
27
|
+
"ring": "oklch(0.6 0.17 132)",
|
|
28
|
+
"chart-1": "oklch(0.72 0.2 130)",
|
|
29
|
+
"chart-2": "oklch(0.8 0.16 90)",
|
|
30
|
+
"chart-3": "oklch(0.7 0.19 50)",
|
|
31
|
+
"chart-4": "oklch(0.62 0.13 200)",
|
|
32
|
+
"chart-5": "oklch(0.62 0.21 355)",
|
|
33
|
+
"sidebar": "oklch(0.975 0.01 110)",
|
|
34
|
+
"sidebar-foreground": "oklch(0.2 0.025 125)",
|
|
35
|
+
"sidebar-primary": "oklch(0.68 0.19 130)",
|
|
36
|
+
"sidebar-primary-foreground": "oklch(0.2 0.04 128)",
|
|
37
|
+
"sidebar-accent": "oklch(0.945 0.06 115)",
|
|
38
|
+
"sidebar-accent-foreground": "oklch(0.3 0.06 125)",
|
|
39
|
+
"sidebar-border": "oklch(0.915 0.014 110)",
|
|
40
|
+
"sidebar-ring": "oklch(0.6 0.17 132)"
|
|
41
|
+
},
|
|
42
|
+
"dark": {
|
|
43
|
+
"background": "oklch(0.155 0.012 125)",
|
|
44
|
+
"foreground": "oklch(0.96 0.012 110)",
|
|
45
|
+
"card": "oklch(0.19 0.015 125)",
|
|
46
|
+
"card-foreground": "oklch(0.96 0.012 110)",
|
|
47
|
+
"popover": "oklch(0.205 0.017 125)",
|
|
48
|
+
"popover-foreground": "oklch(0.96 0.012 110)",
|
|
49
|
+
"primary": "oklch(0.88 0.2 128)",
|
|
50
|
+
"primary-foreground": "oklch(0.2 0.05 128)",
|
|
51
|
+
"secondary": "oklch(0.25 0.02 125)",
|
|
52
|
+
"secondary-foreground": "oklch(0.94 0.015 110)",
|
|
53
|
+
"muted": "oklch(0.24 0.018 125)",
|
|
54
|
+
"muted-foreground": "oklch(0.72 0.03 115)",
|
|
55
|
+
"accent": "oklch(0.29 0.05 125)",
|
|
56
|
+
"accent-foreground": "oklch(0.92 0.1 120)",
|
|
57
|
+
"destructive": "oklch(0.69 0.19 22)",
|
|
58
|
+
"success": "oklch(0.76 0.15 150)",
|
|
59
|
+
"warning": "oklch(0.82 0.15 75)",
|
|
60
|
+
"border": "oklch(1 0 0 / 9%)",
|
|
61
|
+
"input": "oklch(1 0 0 / 13%)",
|
|
62
|
+
"ring": "oklch(0.88 0.2 128)",
|
|
63
|
+
"chart-1": "oklch(0.88 0.2 128)",
|
|
64
|
+
"chart-2": "oklch(0.88 0.15 95)",
|
|
65
|
+
"chart-3": "oklch(0.76 0.17 50)",
|
|
66
|
+
"chart-4": "oklch(0.74 0.11 200)",
|
|
67
|
+
"chart-5": "oklch(0.72 0.19 355)",
|
|
68
|
+
"sidebar": "oklch(0.17 0.013 125)",
|
|
69
|
+
"sidebar-foreground": "oklch(0.96 0.012 110)",
|
|
70
|
+
"sidebar-primary": "oklch(0.88 0.2 128)",
|
|
71
|
+
"sidebar-primary-foreground": "oklch(0.2 0.05 128)",
|
|
72
|
+
"sidebar-accent": "oklch(0.27 0.04 125)",
|
|
73
|
+
"sidebar-accent-foreground": "oklch(0.96 0.03 115)",
|
|
74
|
+
"sidebar-border": "oklch(1 0 0 / 9%)",
|
|
75
|
+
"sidebar-ring": "oklch(0.88 0.2 128)"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "graphite",
|
|
3
|
+
"summary": "monochrome ink on paper, crisp corners, a technical grotesque for headings",
|
|
4
|
+
"suits": "developer tools, portfolios, writing, docs and minimal utilities",
|
|
5
|
+
"fonts": { "sans": "Inter", "heading": "Space Grotesk" },
|
|
6
|
+
"radius": "0.375rem",
|
|
7
|
+
"light": {
|
|
8
|
+
"background": "oklch(0.988 0.0015 265)",
|
|
9
|
+
"foreground": "oklch(0.17 0.004 265)",
|
|
10
|
+
"card": "oklch(1 0 0)",
|
|
11
|
+
"card-foreground": "oklch(0.17 0.004 265)",
|
|
12
|
+
"popover": "oklch(1 0 0)",
|
|
13
|
+
"popover-foreground": "oklch(0.17 0.004 265)",
|
|
14
|
+
"primary": "oklch(0.2 0.006 265)",
|
|
15
|
+
"primary-foreground": "oklch(0.985 0 0)",
|
|
16
|
+
"secondary": "oklch(0.955 0.002 265)",
|
|
17
|
+
"secondary-foreground": "oklch(0.2 0.006 265)",
|
|
18
|
+
"muted": "oklch(0.958 0.002 265)",
|
|
19
|
+
"muted-foreground": "oklch(0.49 0.008 265)",
|
|
20
|
+
"accent": "oklch(0.945 0.003 265)",
|
|
21
|
+
"accent-foreground": "oklch(0.2 0.006 265)",
|
|
22
|
+
"destructive": "oklch(0.56 0.21 27)",
|
|
23
|
+
"success": "oklch(0.55 0.12 155)",
|
|
24
|
+
"warning": "oklch(0.67 0.15 65)",
|
|
25
|
+
"border": "oklch(0.91 0.003 265)",
|
|
26
|
+
"input": "oklch(0.87 0.004 265)",
|
|
27
|
+
"ring": "oklch(0.45 0.006 265)",
|
|
28
|
+
"chart-1": "oklch(0.2 0.006 265)",
|
|
29
|
+
"chart-2": "oklch(0.42 0.008 265)",
|
|
30
|
+
"chart-3": "oklch(0.58 0.008 265)",
|
|
31
|
+
"chart-4": "oklch(0.73 0.006 265)",
|
|
32
|
+
"chart-5": "oklch(0.63 0.2 33)",
|
|
33
|
+
"sidebar": "oklch(0.975 0.002 265)",
|
|
34
|
+
"sidebar-foreground": "oklch(0.17 0.004 265)",
|
|
35
|
+
"sidebar-primary": "oklch(0.2 0.006 265)",
|
|
36
|
+
"sidebar-primary-foreground": "oklch(0.985 0 0)",
|
|
37
|
+
"sidebar-accent": "oklch(0.935 0.003 265)",
|
|
38
|
+
"sidebar-accent-foreground": "oklch(0.17 0.004 265)",
|
|
39
|
+
"sidebar-border": "oklch(0.91 0.003 265)",
|
|
40
|
+
"sidebar-ring": "oklch(0.45 0.006 265)"
|
|
41
|
+
},
|
|
42
|
+
"dark": {
|
|
43
|
+
"background": "oklch(0.145 0.003 265)",
|
|
44
|
+
"foreground": "oklch(0.965 0.002 265)",
|
|
45
|
+
"card": "oklch(0.18 0.004 265)",
|
|
46
|
+
"card-foreground": "oklch(0.965 0.002 265)",
|
|
47
|
+
"popover": "oklch(0.2 0.004 265)",
|
|
48
|
+
"popover-foreground": "oklch(0.965 0.002 265)",
|
|
49
|
+
"primary": "oklch(0.95 0.002 265)",
|
|
50
|
+
"primary-foreground": "oklch(0.18 0.004 265)",
|
|
51
|
+
"secondary": "oklch(0.24 0.004 265)",
|
|
52
|
+
"secondary-foreground": "oklch(0.95 0.002 265)",
|
|
53
|
+
"muted": "oklch(0.235 0.004 265)",
|
|
54
|
+
"muted-foreground": "oklch(0.7 0.006 265)",
|
|
55
|
+
"accent": "oklch(0.26 0.004 265)",
|
|
56
|
+
"accent-foreground": "oklch(0.96 0.002 265)",
|
|
57
|
+
"destructive": "oklch(0.69 0.19 22)",
|
|
58
|
+
"success": "oklch(0.74 0.13 155)",
|
|
59
|
+
"warning": "oklch(0.8 0.14 75)",
|
|
60
|
+
"border": "oklch(1 0 0 / 10%)",
|
|
61
|
+
"input": "oklch(1 0 0 / 15%)",
|
|
62
|
+
"ring": "oklch(0.62 0.006 265)",
|
|
63
|
+
"chart-1": "oklch(0.95 0.002 265)",
|
|
64
|
+
"chart-2": "oklch(0.78 0.004 265)",
|
|
65
|
+
"chart-3": "oklch(0.62 0.006 265)",
|
|
66
|
+
"chart-4": "oklch(0.46 0.006 265)",
|
|
67
|
+
"chart-5": "oklch(0.7 0.18 33)",
|
|
68
|
+
"sidebar": "oklch(0.165 0.003 265)",
|
|
69
|
+
"sidebar-foreground": "oklch(0.965 0.002 265)",
|
|
70
|
+
"sidebar-primary": "oklch(0.95 0.002 265)",
|
|
71
|
+
"sidebar-primary-foreground": "oklch(0.18 0.004 265)",
|
|
72
|
+
"sidebar-accent": "oklch(0.245 0.004 265)",
|
|
73
|
+
"sidebar-accent-foreground": "oklch(0.97 0.002 265)",
|
|
74
|
+
"sidebar-border": "oklch(1 0 0 / 10%)",
|
|
75
|
+
"sidebar-ring": "oklch(0.62 0.006 265)"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "grove",
|
|
3
|
+
"summary": "fresh emerald green on sage neutrals, soft rounded corners",
|
|
4
|
+
"suits": "health, habits, fitness, food, nature and sustainability",
|
|
5
|
+
"fonts": { "sans": "Plus Jakarta Sans" },
|
|
6
|
+
"radius": "0.875rem",
|
|
7
|
+
"light": {
|
|
8
|
+
"background": "oklch(0.983 0.007 150)",
|
|
9
|
+
"foreground": "oklch(0.22 0.03 165)",
|
|
10
|
+
"card": "oklch(0.998 0.002 150)",
|
|
11
|
+
"card-foreground": "oklch(0.22 0.03 165)",
|
|
12
|
+
"popover": "oklch(0.998 0.002 150)",
|
|
13
|
+
"popover-foreground": "oklch(0.22 0.03 165)",
|
|
14
|
+
"primary": "oklch(0.54 0.12 165)",
|
|
15
|
+
"primary-foreground": "oklch(0.985 0.012 160)",
|
|
16
|
+
"secondary": "oklch(0.952 0.016 155)",
|
|
17
|
+
"secondary-foreground": "oklch(0.3 0.05 165)",
|
|
18
|
+
"muted": "oklch(0.958 0.012 150)",
|
|
19
|
+
"muted-foreground": "oklch(0.5 0.035 160)",
|
|
20
|
+
"accent": "oklch(0.945 0.035 165)",
|
|
21
|
+
"accent-foreground": "oklch(0.38 0.085 165)",
|
|
22
|
+
"destructive": "oklch(0.56 0.2 27)",
|
|
23
|
+
"success": "oklch(0.55 0.14 145)",
|
|
24
|
+
"warning": "oklch(0.67 0.15 65)",
|
|
25
|
+
"border": "oklch(0.912 0.014 150)",
|
|
26
|
+
"input": "oklch(0.885 0.018 150)",
|
|
27
|
+
"ring": "oklch(0.54 0.12 165)",
|
|
28
|
+
"chart-1": "oklch(0.54 0.12 165)",
|
|
29
|
+
"chart-2": "oklch(0.74 0.16 128)",
|
|
30
|
+
"chart-3": "oklch(0.62 0.1 215)",
|
|
31
|
+
"chart-4": "oklch(0.78 0.13 82)",
|
|
32
|
+
"chart-5": "oklch(0.42 0.06 150)",
|
|
33
|
+
"sidebar": "oklch(0.972 0.01 150)",
|
|
34
|
+
"sidebar-foreground": "oklch(0.22 0.03 165)",
|
|
35
|
+
"sidebar-primary": "oklch(0.54 0.12 165)",
|
|
36
|
+
"sidebar-primary-foreground": "oklch(0.985 0.012 160)",
|
|
37
|
+
"sidebar-accent": "oklch(0.935 0.035 162)",
|
|
38
|
+
"sidebar-accent-foreground": "oklch(0.34 0.08 165)",
|
|
39
|
+
"sidebar-border": "oklch(0.912 0.014 150)",
|
|
40
|
+
"sidebar-ring": "oklch(0.54 0.12 165)"
|
|
41
|
+
},
|
|
42
|
+
"dark": {
|
|
43
|
+
"background": "oklch(0.16 0.014 165)",
|
|
44
|
+
"foreground": "oklch(0.955 0.012 150)",
|
|
45
|
+
"card": "oklch(0.195 0.017 165)",
|
|
46
|
+
"card-foreground": "oklch(0.955 0.012 150)",
|
|
47
|
+
"popover": "oklch(0.21 0.019 165)",
|
|
48
|
+
"popover-foreground": "oklch(0.955 0.012 150)",
|
|
49
|
+
"primary": "oklch(0.76 0.13 162)",
|
|
50
|
+
"primary-foreground": "oklch(0.18 0.035 165)",
|
|
51
|
+
"secondary": "oklch(0.25 0.025 165)",
|
|
52
|
+
"secondary-foreground": "oklch(0.93 0.012 150)",
|
|
53
|
+
"muted": "oklch(0.24 0.022 165)",
|
|
54
|
+
"muted-foreground": "oklch(0.71 0.03 155)",
|
|
55
|
+
"accent": "oklch(0.28 0.05 165)",
|
|
56
|
+
"accent-foreground": "oklch(0.9 0.07 160)",
|
|
57
|
+
"destructive": "oklch(0.69 0.19 22)",
|
|
58
|
+
"success": "oklch(0.76 0.15 145)",
|
|
59
|
+
"warning": "oklch(0.81 0.14 78)",
|
|
60
|
+
"border": "oklch(1 0 0 / 9%)",
|
|
61
|
+
"input": "oklch(1 0 0 / 13%)",
|
|
62
|
+
"ring": "oklch(0.76 0.13 162)",
|
|
63
|
+
"chart-1": "oklch(0.76 0.13 162)",
|
|
64
|
+
"chart-2": "oklch(0.84 0.17 128)",
|
|
65
|
+
"chart-3": "oklch(0.72 0.1 215)",
|
|
66
|
+
"chart-4": "oklch(0.83 0.12 82)",
|
|
67
|
+
"chart-5": "oklch(0.6 0.07 150)",
|
|
68
|
+
"sidebar": "oklch(0.175 0.015 165)",
|
|
69
|
+
"sidebar-foreground": "oklch(0.955 0.012 150)",
|
|
70
|
+
"sidebar-primary": "oklch(0.76 0.13 162)",
|
|
71
|
+
"sidebar-primary-foreground": "oklch(0.18 0.035 165)",
|
|
72
|
+
"sidebar-accent": "oklch(0.26 0.04 165)",
|
|
73
|
+
"sidebar-accent-foreground": "oklch(0.95 0.03 155)",
|
|
74
|
+
"sidebar-border": "oklch(1 0 0 / 9%)",
|
|
75
|
+
"sidebar-ring": "oklch(0.76 0.13 162)"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ocean",
|
|
3
|
+
"summary": "calm, trustworthy blue with cool slate neutrals",
|
|
4
|
+
"suits": "dashboards, finance, productivity, SaaS and admin tools",
|
|
5
|
+
"default": true,
|
|
6
|
+
"fonts": { "sans": "Geist" },
|
|
7
|
+
"radius": "0.625rem",
|
|
8
|
+
"light": {
|
|
9
|
+
"background": "oklch(0.984 0.004 247)",
|
|
10
|
+
"foreground": "oklch(0.21 0.028 257)",
|
|
11
|
+
"card": "oklch(1 0 0)",
|
|
12
|
+
"card-foreground": "oklch(0.21 0.028 257)",
|
|
13
|
+
"popover": "oklch(1 0 0)",
|
|
14
|
+
"popover-foreground": "oklch(0.21 0.028 257)",
|
|
15
|
+
"primary": "oklch(0.54 0.18 255)",
|
|
16
|
+
"primary-foreground": "oklch(0.985 0.006 247)",
|
|
17
|
+
"secondary": "oklch(0.955 0.01 250)",
|
|
18
|
+
"secondary-foreground": "oklch(0.28 0.035 257)",
|
|
19
|
+
"muted": "oklch(0.962 0.007 250)",
|
|
20
|
+
"muted-foreground": "oklch(0.505 0.025 257)",
|
|
21
|
+
"accent": "oklch(0.95 0.028 250)",
|
|
22
|
+
"accent-foreground": "oklch(0.4 0.13 257)",
|
|
23
|
+
"destructive": "oklch(0.56 0.21 25)",
|
|
24
|
+
"success": "oklch(0.56 0.13 158)",
|
|
25
|
+
"warning": "oklch(0.67 0.155 62)",
|
|
26
|
+
"border": "oklch(0.915 0.009 250)",
|
|
27
|
+
"input": "oklch(0.885 0.012 250)",
|
|
28
|
+
"ring": "oklch(0.54 0.18 255)",
|
|
29
|
+
"chart-1": "oklch(0.54 0.18 255)",
|
|
30
|
+
"chart-2": "oklch(0.7 0.12 215)",
|
|
31
|
+
"chart-3": "oklch(0.62 0.13 170)",
|
|
32
|
+
"chart-4": "oklch(0.78 0.14 80)",
|
|
33
|
+
"chart-5": "oklch(0.55 0.16 295)",
|
|
34
|
+
"sidebar": "oklch(0.975 0.006 250)",
|
|
35
|
+
"sidebar-foreground": "oklch(0.21 0.028 257)",
|
|
36
|
+
"sidebar-primary": "oklch(0.54 0.18 255)",
|
|
37
|
+
"sidebar-primary-foreground": "oklch(0.985 0.006 247)",
|
|
38
|
+
"sidebar-accent": "oklch(0.94 0.026 252)",
|
|
39
|
+
"sidebar-accent-foreground": "oklch(0.36 0.12 257)",
|
|
40
|
+
"sidebar-border": "oklch(0.915 0.009 250)",
|
|
41
|
+
"sidebar-ring": "oklch(0.54 0.18 255)"
|
|
42
|
+
},
|
|
43
|
+
"dark": {
|
|
44
|
+
"background": "oklch(0.155 0.016 257)",
|
|
45
|
+
"foreground": "oklch(0.955 0.008 250)",
|
|
46
|
+
"card": "oklch(0.19 0.018 257)",
|
|
47
|
+
"card-foreground": "oklch(0.955 0.008 250)",
|
|
48
|
+
"popover": "oklch(0.205 0.02 257)",
|
|
49
|
+
"popover-foreground": "oklch(0.955 0.008 250)",
|
|
50
|
+
"primary": "oklch(0.7 0.14 250)",
|
|
51
|
+
"primary-foreground": "oklch(0.16 0.03 257)",
|
|
52
|
+
"secondary": "oklch(0.245 0.022 257)",
|
|
53
|
+
"secondary-foreground": "oklch(0.93 0.01 250)",
|
|
54
|
+
"muted": "oklch(0.235 0.02 257)",
|
|
55
|
+
"muted-foreground": "oklch(0.7 0.025 252)",
|
|
56
|
+
"accent": "oklch(0.275 0.05 257)",
|
|
57
|
+
"accent-foreground": "oklch(0.9 0.06 250)",
|
|
58
|
+
"destructive": "oklch(0.69 0.19 22)",
|
|
59
|
+
"success": "oklch(0.74 0.14 158)",
|
|
60
|
+
"warning": "oklch(0.8 0.14 75)",
|
|
61
|
+
"border": "oklch(1 0 0 / 9%)",
|
|
62
|
+
"input": "oklch(1 0 0 / 13%)",
|
|
63
|
+
"ring": "oklch(0.7 0.14 250)",
|
|
64
|
+
"chart-1": "oklch(0.7 0.14 250)",
|
|
65
|
+
"chart-2": "oklch(0.78 0.11 210)",
|
|
66
|
+
"chart-3": "oklch(0.72 0.12 170)",
|
|
67
|
+
"chart-4": "oklch(0.82 0.13 80)",
|
|
68
|
+
"chart-5": "oklch(0.68 0.15 295)",
|
|
69
|
+
"sidebar": "oklch(0.172 0.017 257)",
|
|
70
|
+
"sidebar-foreground": "oklch(0.955 0.008 250)",
|
|
71
|
+
"sidebar-primary": "oklch(0.7 0.14 250)",
|
|
72
|
+
"sidebar-primary-foreground": "oklch(0.16 0.03 257)",
|
|
73
|
+
"sidebar-accent": "oklch(0.255 0.035 257)",
|
|
74
|
+
"sidebar-accent-foreground": "oklch(0.95 0.02 250)",
|
|
75
|
+
"sidebar-border": "oklch(1 0 0 / 9%)",
|
|
76
|
+
"sidebar-ring": "oklch(0.7 0.14 250)"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sunset",
|
|
3
|
+
"summary": "warm coral on cream paper, with a soft serif for headings",
|
|
4
|
+
"suits": "travel, recipes, journaling, lifestyle, events and hospitality",
|
|
5
|
+
"fonts": { "sans": "DM Sans", "heading": "Fraunces", "headingAxes": ["opsz"] },
|
|
6
|
+
"radius": "0.75rem",
|
|
7
|
+
"light": {
|
|
8
|
+
"background": "oklch(0.982 0.009 75)",
|
|
9
|
+
"foreground": "oklch(0.235 0.028 40)",
|
|
10
|
+
"card": "oklch(0.996 0.004 75)",
|
|
11
|
+
"card-foreground": "oklch(0.235 0.028 40)",
|
|
12
|
+
"popover": "oklch(0.996 0.004 75)",
|
|
13
|
+
"popover-foreground": "oklch(0.235 0.028 40)",
|
|
14
|
+
"primary": "oklch(0.585 0.17 36)",
|
|
15
|
+
"primary-foreground": "oklch(0.99 0.008 70)",
|
|
16
|
+
"secondary": "oklch(0.948 0.02 68)",
|
|
17
|
+
"secondary-foreground": "oklch(0.32 0.05 40)",
|
|
18
|
+
"muted": "oklch(0.955 0.015 70)",
|
|
19
|
+
"muted-foreground": "oklch(0.51 0.04 45)",
|
|
20
|
+
"accent": "oklch(0.94 0.04 55)",
|
|
21
|
+
"accent-foreground": "oklch(0.43 0.12 38)",
|
|
22
|
+
"destructive": "oklch(0.545 0.2 20)",
|
|
23
|
+
"success": "oklch(0.55 0.12 150)",
|
|
24
|
+
"warning": "oklch(0.67 0.15 68)",
|
|
25
|
+
"border": "oklch(0.905 0.02 68)",
|
|
26
|
+
"input": "oklch(0.88 0.024 68)",
|
|
27
|
+
"ring": "oklch(0.585 0.17 36)",
|
|
28
|
+
"chart-1": "oklch(0.6 0.17 36)",
|
|
29
|
+
"chart-2": "oklch(0.77 0.14 72)",
|
|
30
|
+
"chart-3": "oklch(0.62 0.16 355)",
|
|
31
|
+
"chart-4": "oklch(0.58 0.09 200)",
|
|
32
|
+
"chart-5": "oklch(0.45 0.09 320)",
|
|
33
|
+
"sidebar": "oklch(0.972 0.013 72)",
|
|
34
|
+
"sidebar-foreground": "oklch(0.235 0.028 40)",
|
|
35
|
+
"sidebar-primary": "oklch(0.585 0.17 36)",
|
|
36
|
+
"sidebar-primary-foreground": "oklch(0.99 0.008 70)",
|
|
37
|
+
"sidebar-accent": "oklch(0.935 0.04 55)",
|
|
38
|
+
"sidebar-accent-foreground": "oklch(0.4 0.11 38)",
|
|
39
|
+
"sidebar-border": "oklch(0.905 0.02 68)",
|
|
40
|
+
"sidebar-ring": "oklch(0.585 0.17 36)"
|
|
41
|
+
},
|
|
42
|
+
"dark": {
|
|
43
|
+
"background": "oklch(0.165 0.014 45)",
|
|
44
|
+
"foreground": "oklch(0.955 0.012 75)",
|
|
45
|
+
"card": "oklch(0.2 0.016 45)",
|
|
46
|
+
"card-foreground": "oklch(0.955 0.012 75)",
|
|
47
|
+
"popover": "oklch(0.215 0.018 45)",
|
|
48
|
+
"popover-foreground": "oklch(0.955 0.012 75)",
|
|
49
|
+
"primary": "oklch(0.72 0.15 42)",
|
|
50
|
+
"primary-foreground": "oklch(0.19 0.035 40)",
|
|
51
|
+
"secondary": "oklch(0.255 0.02 45)",
|
|
52
|
+
"secondary-foreground": "oklch(0.93 0.015 70)",
|
|
53
|
+
"muted": "oklch(0.245 0.018 45)",
|
|
54
|
+
"muted-foreground": "oklch(0.72 0.03 60)",
|
|
55
|
+
"accent": "oklch(0.29 0.05 42)",
|
|
56
|
+
"accent-foreground": "oklch(0.91 0.06 55)",
|
|
57
|
+
"destructive": "oklch(0.69 0.19 20)",
|
|
58
|
+
"success": "oklch(0.74 0.13 150)",
|
|
59
|
+
"warning": "oklch(0.81 0.14 75)",
|
|
60
|
+
"border": "oklch(1 0 0 / 9%)",
|
|
61
|
+
"input": "oklch(1 0 0 / 13%)",
|
|
62
|
+
"ring": "oklch(0.72 0.15 42)",
|
|
63
|
+
"chart-1": "oklch(0.72 0.15 42)",
|
|
64
|
+
"chart-2": "oklch(0.82 0.13 75)",
|
|
65
|
+
"chart-3": "oklch(0.7 0.15 355)",
|
|
66
|
+
"chart-4": "oklch(0.7 0.09 200)",
|
|
67
|
+
"chart-5": "oklch(0.62 0.1 320)",
|
|
68
|
+
"sidebar": "oklch(0.18 0.015 45)",
|
|
69
|
+
"sidebar-foreground": "oklch(0.955 0.012 75)",
|
|
70
|
+
"sidebar-primary": "oklch(0.72 0.15 42)",
|
|
71
|
+
"sidebar-primary-foreground": "oklch(0.19 0.035 40)",
|
|
72
|
+
"sidebar-accent": "oklch(0.27 0.04 42)",
|
|
73
|
+
"sidebar-accent-foreground": "oklch(0.95 0.03 60)",
|
|
74
|
+
"sidebar-border": "oklch(1 0 0 / 9%)",
|
|
75
|
+
"sidebar-ring": "oklch(0.72 0.15 42)"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "violet",
|
|
3
|
+
"summary": "vivid violet on lavender-tinted neutrals, a geometric display face",
|
|
4
|
+
"suits": "AI tools, creative apps, music, community and learning",
|
|
5
|
+
"fonts": { "sans": "Manrope", "heading": "Sora" },
|
|
6
|
+
"radius": "0.75rem",
|
|
7
|
+
"light": {
|
|
8
|
+
"background": "oklch(0.984 0.006 295)",
|
|
9
|
+
"foreground": "oklch(0.2 0.035 290)",
|
|
10
|
+
"card": "oklch(1 0 0)",
|
|
11
|
+
"card-foreground": "oklch(0.2 0.035 290)",
|
|
12
|
+
"popover": "oklch(1 0 0)",
|
|
13
|
+
"popover-foreground": "oklch(0.2 0.035 290)",
|
|
14
|
+
"primary": "oklch(0.54 0.235 292)",
|
|
15
|
+
"primary-foreground": "oklch(0.985 0.01 295)",
|
|
16
|
+
"secondary": "oklch(0.952 0.014 295)",
|
|
17
|
+
"secondary-foreground": "oklch(0.3 0.06 292)",
|
|
18
|
+
"muted": "oklch(0.96 0.01 295)",
|
|
19
|
+
"muted-foreground": "oklch(0.51 0.035 292)",
|
|
20
|
+
"accent": "oklch(0.945 0.035 298)",
|
|
21
|
+
"accent-foreground": "oklch(0.43 0.17 292)",
|
|
22
|
+
"destructive": "oklch(0.56 0.21 22)",
|
|
23
|
+
"success": "oklch(0.56 0.13 160)",
|
|
24
|
+
"warning": "oklch(0.67 0.15 62)",
|
|
25
|
+
"border": "oklch(0.912 0.012 295)",
|
|
26
|
+
"input": "oklch(0.885 0.016 295)",
|
|
27
|
+
"ring": "oklch(0.54 0.235 292)",
|
|
28
|
+
"chart-1": "oklch(0.54 0.235 292)",
|
|
29
|
+
"chart-2": "oklch(0.66 0.2 345)",
|
|
30
|
+
"chart-3": "oklch(0.6 0.16 255)",
|
|
31
|
+
"chart-4": "oklch(0.74 0.12 200)",
|
|
32
|
+
"chart-5": "oklch(0.8 0.14 85)",
|
|
33
|
+
"sidebar": "oklch(0.974 0.009 295)",
|
|
34
|
+
"sidebar-foreground": "oklch(0.2 0.035 290)",
|
|
35
|
+
"sidebar-primary": "oklch(0.54 0.235 292)",
|
|
36
|
+
"sidebar-primary-foreground": "oklch(0.985 0.01 295)",
|
|
37
|
+
"sidebar-accent": "oklch(0.935 0.038 296)",
|
|
38
|
+
"sidebar-accent-foreground": "oklch(0.4 0.17 292)",
|
|
39
|
+
"sidebar-border": "oklch(0.912 0.012 295)",
|
|
40
|
+
"sidebar-ring": "oklch(0.54 0.235 292)"
|
|
41
|
+
},
|
|
42
|
+
"dark": {
|
|
43
|
+
"background": "oklch(0.155 0.022 288)",
|
|
44
|
+
"foreground": "oklch(0.955 0.01 295)",
|
|
45
|
+
"card": "oklch(0.19 0.026 288)",
|
|
46
|
+
"card-foreground": "oklch(0.955 0.01 295)",
|
|
47
|
+
"popover": "oklch(0.205 0.028 288)",
|
|
48
|
+
"popover-foreground": "oklch(0.955 0.01 295)",
|
|
49
|
+
"primary": "oklch(0.6 0.22 292)",
|
|
50
|
+
"primary-foreground": "oklch(0.985 0.01 295)",
|
|
51
|
+
"secondary": "oklch(0.25 0.03 288)",
|
|
52
|
+
"secondary-foreground": "oklch(0.93 0.015 295)",
|
|
53
|
+
"muted": "oklch(0.24 0.028 288)",
|
|
54
|
+
"muted-foreground": "oklch(0.71 0.035 292)",
|
|
55
|
+
"accent": "oklch(0.28 0.06 292)",
|
|
56
|
+
"accent-foreground": "oklch(0.9 0.07 295)",
|
|
57
|
+
"destructive": "oklch(0.69 0.19 20)",
|
|
58
|
+
"success": "oklch(0.74 0.14 160)",
|
|
59
|
+
"warning": "oklch(0.8 0.14 75)",
|
|
60
|
+
"border": "oklch(1 0 0 / 9%)",
|
|
61
|
+
"input": "oklch(1 0 0 / 13%)",
|
|
62
|
+
"ring": "oklch(0.68 0.19 292)",
|
|
63
|
+
"chart-1": "oklch(0.68 0.19 292)",
|
|
64
|
+
"chart-2": "oklch(0.72 0.18 345)",
|
|
65
|
+
"chart-3": "oklch(0.7 0.14 255)",
|
|
66
|
+
"chart-4": "oklch(0.8 0.11 200)",
|
|
67
|
+
"chart-5": "oklch(0.84 0.13 85)",
|
|
68
|
+
"sidebar": "oklch(0.17 0.024 288)",
|
|
69
|
+
"sidebar-foreground": "oklch(0.955 0.01 295)",
|
|
70
|
+
"sidebar-primary": "oklch(0.6 0.22 292)",
|
|
71
|
+
"sidebar-primary-foreground": "oklch(0.985 0.01 295)",
|
|
72
|
+
"sidebar-accent": "oklch(0.26 0.05 292)",
|
|
73
|
+
"sidebar-accent-foreground": "oklch(0.95 0.03 295)",
|
|
74
|
+
"sidebar-border": "oklch(1 0 0 / 9%)",
|
|
75
|
+
"sidebar-ring": "oklch(0.68 0.19 292)"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import * as React from "react"
|
|
4
|
+
import { cn } from "cn"
|
|
5
|
+
import { Accordion as AccordionPrimitive } from "radix-ui"
|
|
6
|
+
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react"
|
|
7
|
+
|
|
8
|
+
function Accordion({
|
|
9
|
+
className,
|
|
10
|
+
...props
|
|
11
|
+
}: React.ComponentProps<typeof AccordionPrimitive.Root>) {
|
|
12
|
+
return (
|
|
13
|
+
<AccordionPrimitive.Root
|
|
14
|
+
data-slot="accordion"
|
|
15
|
+
className={cn("flex w-full flex-col", className)}
|
|
16
|
+
{...props}
|
|
17
|
+
/>
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function AccordionItem({
|
|
22
|
+
className,
|
|
23
|
+
...props
|
|
24
|
+
}: React.ComponentProps<typeof AccordionPrimitive.Item>) {
|
|
25
|
+
return (
|
|
26
|
+
<AccordionPrimitive.Item
|
|
27
|
+
data-slot="accordion-item"
|
|
28
|
+
className={cn("not-last:border-b", className)}
|
|
29
|
+
{...props}
|
|
30
|
+
/>
|
|
31
|
+
)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function AccordionTrigger({
|
|
35
|
+
className,
|
|
36
|
+
children,
|
|
37
|
+
...props
|
|
38
|
+
}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
|
|
39
|
+
return (
|
|
40
|
+
<AccordionPrimitive.Header className="flex">
|
|
41
|
+
<AccordionPrimitive.Trigger
|
|
42
|
+
data-slot="accordion-trigger"
|
|
43
|
+
className={cn(
|
|
44
|
+
"group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",
|
|
45
|
+
className
|
|
46
|
+
)}
|
|
47
|
+
{...props}
|
|
48
|
+
>
|
|
49
|
+
{children}
|
|
50
|
+
<ChevronDownIcon data-slot="accordion-trigger-icon" className="pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden" />
|
|
51
|
+
<ChevronUpIcon data-slot="accordion-trigger-icon" className="pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline" />
|
|
52
|
+
</AccordionPrimitive.Trigger>
|
|
53
|
+
</AccordionPrimitive.Header>
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function AccordionContent({
|
|
58
|
+
className,
|
|
59
|
+
children,
|
|
60
|
+
...props
|
|
61
|
+
}: React.ComponentProps<typeof AccordionPrimitive.Content>) {
|
|
62
|
+
return (
|
|
63
|
+
<AccordionPrimitive.Content
|
|
64
|
+
data-slot="accordion-content"
|
|
65
|
+
className="overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up"
|
|
66
|
+
{...props}
|
|
67
|
+
>
|
|
68
|
+
<div
|
|
69
|
+
className={cn(
|
|
70
|
+
"h-(--radix-accordion-content-height) pt-0 pb-2.5 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
|
|
71
|
+
className
|
|
72
|
+
)}
|
|
73
|
+
>
|
|
74
|
+
{children}
|
|
75
|
+
</div>
|
|
76
|
+
</AccordionPrimitive.Content>
|
|
77
|
+
)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
|