Skip to content

Commit 1c9c846

Browse files
committed
upgrade to the latest intentui
1 parent 5df1c32 commit 1c9c846

38 files changed

+1139
-1133
lines changed

components.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,5 @@
1717
"lib": "@/lib",
1818
"hooks": "@/hooks"
1919
},
20-
"iconLibrary": "@intentui/icons",
21-
"registries": {
22-
"@intentui": "https://intentui.com/r/{name}"
23-
}
20+
"iconLibrary": "@heroicons/react"
2421
}

package-lock.json

Lines changed: 10 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"vite-plugin-run": "^0.6.1"
2929
},
3030
"dependencies": {
31-
"@intentui/icons": "^1.11.0",
31+
"@heroicons/react": "^2.2.0",
3232
"@types/node": "^22.15.34",
3333
"motion": "^12.19.2",
3434
"react": "^19.1.0",

resources/css/app.css

Lines changed: 74 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,13 @@
66

77
@variant dark (&:is(.dark *));
88

9-
@theme {
10-
--font-sans: "Figtree", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
9+
@theme inline {
10+
--font-sans: "Figtree", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
1111
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
1212

1313
--font-sans--font-feature-settings: "cv02", "cv03", "cv04", "cv11";
1414
--font-mono--font-feature-settings: "ss02", "zero";
1515

16-
--color-shiki-bg: var(--shiki-bg);
17-
--color-shiki-border: var(--input);
18-
1916
--color-border: var(--border);
2017
--color-input: var(--input);
2118

@@ -26,6 +23,8 @@
2623

2724
--color-primary: var(--primary);
2825
--color-primary-fg: var(--primary-fg);
26+
--color-primary-subtle: var(--primary-subtle);
27+
--color-primary-subtle-fg: var(--primary-subtle-fg);
2928

3029
--color-secondary: var(--secondary);
3130
--color-secondary-fg: var(--secondary-fg);
@@ -35,12 +34,21 @@
3534

3635
--color-success: var(--success);
3736
--color-success-fg: var(--success-fg);
37+
--color-success-subtle: var(--success-subtle);
38+
--color-success-subtle-fg: var(--success-subtle-fg);
3839

3940
--color-danger: var(--danger);
4041
--color-danger-fg: var(--danger-fg);
42+
--color-danger-subtle: var(--danger-subtle);
43+
--color-danger-subtle-fg: var(--danger-subtle-fg);
4144

4245
--color-warning: var(--warning);
4346
--color-warning-fg: var(--warning-fg);
47+
--color-warning-subtle: var(--warning-subtle);
48+
--color-warning-subtle-fg: var(--warning-subtle-fg);
49+
50+
--color-info-subtle: var(--info-subtle);
51+
--color-info-subtle-fg: var(--info-subtle-fg);
4452

4553
--color-muted: var(--muted);
4654
--color-muted-fg: var(--muted-fg);
@@ -65,18 +73,39 @@
6573
--color-chart-3: var(--chart-3);
6674
--color-chart-4: var(--chart-4);
6775
--color-chart-5: var(--chart-5);
76+
77+
--animate-marquee: marquee var(--duration) infinite linear;
78+
--animate-marquee-vertical: marquee-vertical var(--duration) linear infinite;
79+
80+
@keyframes marquee {
81+
from {
82+
transform: translateX(0);
83+
}
84+
to {
85+
transform: translateX(calc(-100% - var(--gap)));
86+
}
87+
}
88+
89+
@keyframes marquee-vertical {
90+
from {
91+
transform: translateY(0);
92+
}
93+
to {
94+
transform: translateY(calc(-100% - var(--gap)));
95+
}
96+
}
6897
}
6998

7099
:root {
71-
--shiki-bg: var(--bg);
72-
--shiki-light: var(--shiki-bg);
73-
74100
--bg: oklch(1 0 0);
75-
--fg: oklch(0.141 0.005 285.823);
101+
--fg: oklch(0.21 0.006 285.885);
76102

77103
--primary: oklch(0.546 0.245 262.881);
78104
--primary-fg: oklch(1 0 0);
79105

106+
--primary-subtle: oklch(0.623 0.214 259.815 / 0.15);
107+
--primary-subtle-fg: oklch(0.488 0.243 264.376);
108+
80109
--secondary: oklch(0.92 0.004 286.32);
81110
--secondary-fg: oklch(0.141 0.005 285.823);
82111

@@ -92,12 +121,24 @@
92121
--success: oklch(0.596 0.145 163.225);
93122
--success-fg: oklch(1 0 0);
94123

124+
--success-subtle: oklch(0.696 0.17 162.48 / 0.15);
125+
--success-subtle-fg: oklch(0.508 0.118 165.612);
126+
127+
--info-subtle: oklch(0.685 0.169 237.323 / 0.15);
128+
--info-subtle-fg: oklch(0.5 0.134 242.749);
129+
95130
--warning: oklch(0.828 0.189 84.429);
96131
--warning-fg: oklch(0.279 0.077 45.635);
97132

133+
--warning-subtle: oklch(0.828 0.189 84.429 / 0.2);
134+
--warning-subtle-fg: oklch(0.555 0.163 48.998);
135+
98136
--danger: oklch(0.577 0.245 27.325);
99137
--danger-fg: oklch(0.971 0.013 17.38);
100138

139+
--danger-subtle: oklch(0.637 0.237 25.331 / 0.15);
140+
--danger-subtle-fg: oklch(0.505 0.213 27.518);
141+
101142
--border: oklch(0.911 0.006 286.286);
102143
--input: oklch(0.871 0.006 286.286);
103144
--ring: oklch(0.546 0.245 262.881);
@@ -115,10 +156,10 @@
115156
--sidebar-ring: oklch(0.546 0.245 262.881);
116157

117158
--chart-1: oklch(0.546 0.245 262.881);
118-
--chart-2: oklch(0.707 0.165 254.624);
119-
--chart-3: oklch(0.809 0.105 251.813);
120-
--chart-4: oklch(0.882 0.059 254.128);
121-
--chart-5: oklch(0.932 0.032 255.585);
159+
--chart-2: oklch(0.623 0.214 259.815);
160+
--chart-3: oklch(0.707 0.165 254.624);
161+
--chart-4: oklch(0.809 0.105 251.813);
162+
--chart-5: oklch(0.882 0.059 254.128);
122163

123164
--radius-lg: 0.5rem;
124165
--radius-xs: calc(var(--radius-lg) * 0.5);
@@ -131,44 +172,56 @@
131172
}
132173

133174
.dark {
134-
--shiki-bg: #09090b;
135-
--shiki-da--bg: oklch(0.091 0.005 285.823);
136-
137175
--bg: oklch(0.181 0.005 285.823);
138176
--fg: oklch(0.985 0 0);
139177

140178
--primary: oklch(0.546 0.245 262.881);
141179
--primary-fg: oklch(1 0 0);
142180

181+
--primary-subtle: oklch(0.623 0.214 259.815 / 0.1);
182+
--primary-subtle-fg: oklch(0.707 0.165 254.624);
183+
143184
--secondary: oklch(0.244 0.006 286.033);
144185
--secondary-fg: oklch(0.985 0 0);
145186

187+
--overlay: oklch(0.210 0.006 285.885);
188+
--overlay-fg: oklch(0.985 0 0);
189+
146190
--accent: oklch(0.274 0.006 286.033);
147191
--accent-fg: oklch(0.985 0 0);
148192

149193
--muted: oklch(0.21 0.006 285.885);
150194
--muted-fg: oklch(0.705 0.015 286.067);
151195

152-
--overlay: oklch(0.180 0.006 285.885);
153-
--overlay-fg: oklch(0.985 0 0);
154-
155196
--success: oklch(0.596 0.145 163.225);
156197
--success-fg: oklch(1 0 0);
157198

199+
--success-subtle: oklch(0.696 0.17 162.48 / 0.1);
200+
--success-subtle-fg: oklch(0.765 0.177 163.223);
201+
202+
--info-subtle: oklch(0.685 0.169 237.323 / 0.1);
203+
--info-subtle-fg: oklch(0.828 0.111 230.318);
204+
158205
--warning: oklch(0.828 0.189 84.429);
159206
--warning-fg: oklch(0.279 0.077 45.635);
160207

208+
--warning-subtle: oklch(0.828 0.189 84.429 / 0.1);
209+
--warning-subtle-fg: oklch(0.828 0.189 84.429);
210+
161211
--danger: oklch(0.577 0.245 27.325);
162212
--danger-fg: oklch(0.971 0.013 17.38);
163213

164-
--border: oklch(0.270 0.013 285.805);
214+
--danger-subtle: oklch(0.637 0.237 25.331 / 0.1);
215+
--danger-subtle-fg: oklch(0.704 0.191 22.216);
216+
217+
--border: oklch(0.342 0.017 285.786);
165218
--input: oklch(0.320 0.013 285.805);
166219
--ring: oklch(0.546 0.245 262.881);
167220

168221
--navbar: oklch(0.190 0.006 285.885);
169222
--navbar-fg: oklch(0.985 0 0);
170223

171-
--sidebar: oklch(0.180 0.006 285.885);
224+
--sidebar: oklch(0.21 0.006 285.885);
172225
--sidebar-fg: oklch(0.985 0 0);
173226
--sidebar-primary: oklch(0.546 0.245 262.881);
174227
--sidebar-primary-fg: oklch(1 0 0);

resources/js/components/footer.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import type { SVGProps } from "react"
22
import { Button } from "@/components/ui/button"
33
import { Link } from "@/components/ui/link"
44
import { TextField } from "@/components/ui/text-field"
5+
import { Input } from "@/components/ui/input"
6+
import { FieldError } from "@/components/ui/field"
57

68
const navigation = {
79
solutions: [
@@ -178,13 +180,13 @@ export function Footer() {
178180
<TextField
179181
className="w-full"
180182
aria-label="Email address"
181-
type="email"
182183
name="email-address"
183-
id="email-address"
184184
autoComplete="email"
185185
isRequired
186-
placeholder="Enter your email"
187-
/>
186+
>
187+
<Input type="email" placeholder="Enter your email" />
188+
<FieldError />
189+
</TextField>
188190
<div className="mt-6 sm:mt-0 sm:ml-2 sm:flex-shrink-0">
189191
<Button type="submit">Subscribe</Button>
190192
</div>

resources/js/components/logo.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import type React from "react"
32
import { Avatar } from "@/components/ui/avatar"
43

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
"use client"
2+
3+
import { ComputerDesktopIcon, MoonIcon, SunIcon } from "@heroicons/react/24/outline"
4+
import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group"
5+
import { type Theme, useTheme } from "@/hooks/use-theme"
6+
7+
interface Themes {
8+
value: Theme
9+
icon: React.FC<React.SVGAttributes<SVGSVGElement>>
10+
label: string
11+
}
12+
13+
export function ThemeSwitcher() {
14+
const { theme, updateTheme } = useTheme()
15+
const themes: Themes[] = [
16+
{ value: "light", icon: SunIcon, label: "Light" },
17+
{
18+
value: "dark",
19+
icon: MoonIcon,
20+
label: "Dark",
21+
},
22+
{
23+
value: "system",
24+
icon: ComputerDesktopIcon,
25+
label: "System",
26+
},
27+
]
28+
29+
return (
30+
<ToggleGroup
31+
size="sm"
32+
selectedKeys={new Set([theme])}
33+
onSelectionChange={(v) => {
34+
// @ts-expect-error
35+
updateTheme([...v][0])
36+
}}
37+
selectionMode="single"
38+
aria-label="Choose theme"
39+
>
40+
{themes.map((theme) => (
41+
<ToggleGroupItem key={theme.value} id={theme.value} aria-label={theme.value}>
42+
<theme.icon />
43+
{theme.label}
44+
</ToggleGroupItem>
45+
))}
46+
</ToggleGroup>
47+
)
48+
}

0 commit comments

Comments
 (0)