create-better-t-stack 3.7.1 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{src-BmyCNYPk.js → src-b1TtTCMt.js} +29 -36
- package/package.json +2 -3
- package/templates/auth/better-auth/convex/native/base/lib/auth-client.ts.hbs +0 -2
- package/templates/auth/better-auth/web/react/base/src/lib/auth-client.ts.hbs +6 -2
- package/templates/auth/better-auth/web/react/tanstack-router/src/components/sign-in-form.tsx +117 -121
- package/templates/auth/better-auth/web/react/tanstack-router/src/components/sign-up-form.tsx +141 -145
- package/templates/auth/better-auth/web/react/tanstack-start/src/components/sign-in-form.tsx +117 -121
- package/templates/auth/better-auth/web/react/tanstack-start/src/components/sign-up-form.tsx +141 -145
- package/templates/auth/better-auth/web/solid/src/components/sign-in-form.tsx +3 -11
- package/templates/auth/better-auth/web/solid/src/components/sign-up-form.tsx +4 -14
- package/templates/backend/convex/packages/backend/convex/healthCheck.ts +2 -2
- package/templates/examples/ai/native/bare/polyfills.js +3 -7
- package/templates/examples/ai/native/unistyles/polyfills.js +3 -6
- package/templates/examples/ai/native/uniwind/polyfills.js +3 -7
- package/templates/examples/todo/server/drizzle/postgres/src/schema/todo.ts +1 -1
- package/templates/frontend/nuxt/package.json.hbs +1 -2
- package/templates/frontend/react/next/package.json.hbs +0 -1
- package/templates/frontend/react/react-router/package.json.hbs +1 -2
- package/templates/frontend/react/react-router/src/components/mode-toggle.tsx +3 -9
- package/templates/frontend/react/tanstack-router/package.json.hbs +1 -2
- package/templates/frontend/react/tanstack-router/src/components/mode-toggle.tsx +3 -9
- package/templates/frontend/react/tanstack-start/package.json.hbs +1 -2
- package/templates/frontend/react/web-base/src/components/ui/button.tsx +13 -16
- package/templates/frontend/react/web-base/src/components/ui/card.tsx +13 -30
- package/templates/frontend/react/web-base/src/components/ui/checkbox.tsx +8 -11
- package/templates/frontend/react/web-base/src/components/ui/dropdown-menu.tsx +37 -66
- package/templates/frontend/react/web-base/src/components/ui/input.tsx +5 -5
- package/templates/frontend/react/web-base/src/components/ui/label.tsx +7 -10
- package/templates/frontend/react/web-base/src/components/ui/skeleton.tsx +3 -3
- package/templates/frontend/react/web-base/src/lib/utils.ts +3 -3
- package/templates/frontend/solid/package.json.hbs +1 -2
- package/templates/frontend/svelte/package.json.hbs +1 -2
- package/templates/frontend/svelte/src/app.d.ts +7 -7
- package/templates/frontend/svelte/src/lib/index.ts +1 -0
- package/templates/frontend/svelte/vite.config.ts +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as React from "react"
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
|
|
3
|
-
import { cn } from "@/lib/utils"
|
|
3
|
+
import { cn } from "@/lib/utils";
|
|
4
4
|
|
|
5
5
|
function Card({ className, ...props }: React.ComponentProps<"div">) {
|
|
6
6
|
return (
|
|
@@ -8,11 +8,11 @@ function Card({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
8
8
|
data-slot="card"
|
|
9
9
|
className={cn(
|
|
10
10
|
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
|
|
11
|
-
className
|
|
11
|
+
className,
|
|
12
12
|
)}
|
|
13
13
|
{...props}
|
|
14
14
|
/>
|
|
15
|
-
)
|
|
15
|
+
);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
@@ -21,11 +21,11 @@ function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
21
21
|
data-slot="card-header"
|
|
22
22
|
className={cn(
|
|
23
23
|
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
24
|
-
className
|
|
24
|
+
className,
|
|
25
25
|
)}
|
|
26
26
|
{...props}
|
|
27
27
|
/>
|
|
28
|
-
)
|
|
28
|
+
);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
|
|
@@ -35,7 +35,7 @@ function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
35
35
|
className={cn("leading-none font-semibold", className)}
|
|
36
36
|
{...props}
|
|
37
37
|
/>
|
|
38
|
-
)
|
|
38
|
+
);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
|
|
@@ -45,30 +45,21 @@ function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
45
45
|
className={cn("text-muted-foreground text-sm", className)}
|
|
46
46
|
{...props}
|
|
47
47
|
/>
|
|
48
|
-
)
|
|
48
|
+
);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
function CardAction({ className, ...props }: React.ComponentProps<"div">) {
|
|
52
52
|
return (
|
|
53
53
|
<div
|
|
54
54
|
data-slot="card-action"
|
|
55
|
-
className={cn(
|
|
56
|
-
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
57
|
-
className
|
|
58
|
-
)}
|
|
55
|
+
className={cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className)}
|
|
59
56
|
{...props}
|
|
60
57
|
/>
|
|
61
|
-
)
|
|
58
|
+
);
|
|
62
59
|
}
|
|
63
60
|
|
|
64
61
|
function CardContent({ className, ...props }: React.ComponentProps<"div">) {
|
|
65
|
-
return (
|
|
66
|
-
<div
|
|
67
|
-
data-slot="card-content"
|
|
68
|
-
className={cn("px-6", className)}
|
|
69
|
-
{...props}
|
|
70
|
-
/>
|
|
71
|
-
)
|
|
62
|
+
return <div data-slot="card-content" className={cn("px-6", className)} {...props} />;
|
|
72
63
|
}
|
|
73
64
|
|
|
74
65
|
function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
|
|
@@ -78,15 +69,7 @@ function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
78
69
|
className={cn("flex items-center px-6 [.border-t]:pt-6", className)}
|
|
79
70
|
{...props}
|
|
80
71
|
/>
|
|
81
|
-
)
|
|
72
|
+
);
|
|
82
73
|
}
|
|
83
74
|
|
|
84
|
-
export {
|
|
85
|
-
Card,
|
|
86
|
-
CardHeader,
|
|
87
|
-
CardFooter,
|
|
88
|
-
CardTitle,
|
|
89
|
-
CardAction,
|
|
90
|
-
CardDescription,
|
|
91
|
-
CardContent,
|
|
92
|
-
}
|
|
75
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
import * as React from "react"
|
|
2
|
-
import { Checkbox as CheckboxPrimitive } from "radix-ui"
|
|
3
|
-
import { CheckIcon } from "lucide-react"
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Checkbox as CheckboxPrimitive } from "radix-ui";
|
|
3
|
+
import { CheckIcon } from "lucide-react";
|
|
4
4
|
|
|
5
|
-
import { cn } from "@/lib/utils"
|
|
5
|
+
import { cn } from "@/lib/utils";
|
|
6
6
|
|
|
7
|
-
function Checkbox({
|
|
8
|
-
className,
|
|
9
|
-
...props
|
|
10
|
-
}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {
|
|
7
|
+
function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {
|
|
11
8
|
return (
|
|
12
9
|
<CheckboxPrimitive.Root
|
|
13
10
|
data-slot="checkbox"
|
|
14
11
|
className={cn(
|
|
15
12
|
"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
16
|
-
className
|
|
13
|
+
className,
|
|
17
14
|
)}
|
|
18
15
|
{...props}
|
|
19
16
|
>
|
|
@@ -24,7 +21,7 @@ function Checkbox({
|
|
|
24
21
|
<CheckIcon className="size-3.5" />
|
|
25
22
|
</CheckboxPrimitive.Indicator>
|
|
26
23
|
</CheckboxPrimitive.Root>
|
|
27
|
-
)
|
|
24
|
+
);
|
|
28
25
|
}
|
|
29
26
|
|
|
30
|
-
export { Checkbox }
|
|
27
|
+
export { Checkbox };
|
|
@@ -1,34 +1,25 @@
|
|
|
1
|
-
"use client"
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import * as React from "react"
|
|
4
|
-
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui"
|
|
5
|
-
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react"
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
|
|
5
|
+
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
|
|
6
6
|
|
|
7
|
-
import { cn } from "@/lib/utils"
|
|
7
|
+
import { cn } from "@/lib/utils";
|
|
8
8
|
|
|
9
|
-
function DropdownMenu({
|
|
10
|
-
...props
|
|
11
|
-
}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {
|
|
12
|
-
return <DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} />
|
|
9
|
+
function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {
|
|
10
|
+
return <DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} />;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
13
|
function DropdownMenuPortal({
|
|
16
14
|
...props
|
|
17
15
|
}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {
|
|
18
|
-
return
|
|
19
|
-
<DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />
|
|
20
|
-
)
|
|
16
|
+
return <DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />;
|
|
21
17
|
}
|
|
22
18
|
|
|
23
19
|
function DropdownMenuTrigger({
|
|
24
20
|
...props
|
|
25
21
|
}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {
|
|
26
|
-
return
|
|
27
|
-
<DropdownMenuPrimitive.Trigger
|
|
28
|
-
data-slot="dropdown-menu-trigger"
|
|
29
|
-
{...props}
|
|
30
|
-
/>
|
|
31
|
-
)
|
|
22
|
+
return <DropdownMenuPrimitive.Trigger data-slot="dropdown-menu-trigger" {...props} />;
|
|
32
23
|
}
|
|
33
24
|
|
|
34
25
|
function DropdownMenuContent({
|
|
@@ -43,20 +34,16 @@ function DropdownMenuContent({
|
|
|
43
34
|
sideOffset={sideOffset}
|
|
44
35
|
className={cn(
|
|
45
36
|
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
|
|
46
|
-
className
|
|
37
|
+
className,
|
|
47
38
|
)}
|
|
48
39
|
{...props}
|
|
49
40
|
/>
|
|
50
41
|
</DropdownMenuPrimitive.Portal>
|
|
51
|
-
)
|
|
42
|
+
);
|
|
52
43
|
}
|
|
53
44
|
|
|
54
|
-
function DropdownMenuGroup({
|
|
55
|
-
...props
|
|
56
|
-
}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {
|
|
57
|
-
return (
|
|
58
|
-
<DropdownMenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />
|
|
59
|
-
)
|
|
45
|
+
function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {
|
|
46
|
+
return <DropdownMenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />;
|
|
60
47
|
}
|
|
61
48
|
|
|
62
49
|
function DropdownMenuItem({
|
|
@@ -65,8 +52,8 @@ function DropdownMenuItem({
|
|
|
65
52
|
variant = "default",
|
|
66
53
|
...props
|
|
67
54
|
}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
|
|
68
|
-
inset?: boolean
|
|
69
|
-
variant?: "default" | "destructive"
|
|
55
|
+
inset?: boolean;
|
|
56
|
+
variant?: "default" | "destructive";
|
|
70
57
|
}) {
|
|
71
58
|
return (
|
|
72
59
|
<DropdownMenuPrimitive.Item
|
|
@@ -75,11 +62,11 @@ function DropdownMenuItem({
|
|
|
75
62
|
data-variant={variant}
|
|
76
63
|
className={cn(
|
|
77
64
|
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
78
|
-
className
|
|
65
|
+
className,
|
|
79
66
|
)}
|
|
80
67
|
{...props}
|
|
81
68
|
/>
|
|
82
|
-
)
|
|
69
|
+
);
|
|
83
70
|
}
|
|
84
71
|
|
|
85
72
|
function DropdownMenuCheckboxItem({
|
|
@@ -93,7 +80,7 @@ function DropdownMenuCheckboxItem({
|
|
|
93
80
|
data-slot="dropdown-menu-checkbox-item"
|
|
94
81
|
className={cn(
|
|
95
82
|
"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
96
|
-
className
|
|
83
|
+
className,
|
|
97
84
|
)}
|
|
98
85
|
checked={checked}
|
|
99
86
|
{...props}
|
|
@@ -105,18 +92,13 @@ function DropdownMenuCheckboxItem({
|
|
|
105
92
|
</span>
|
|
106
93
|
{children}
|
|
107
94
|
</DropdownMenuPrimitive.CheckboxItem>
|
|
108
|
-
)
|
|
95
|
+
);
|
|
109
96
|
}
|
|
110
97
|
|
|
111
98
|
function DropdownMenuRadioGroup({
|
|
112
99
|
...props
|
|
113
100
|
}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {
|
|
114
|
-
return
|
|
115
|
-
<DropdownMenuPrimitive.RadioGroup
|
|
116
|
-
data-slot="dropdown-menu-radio-group"
|
|
117
|
-
{...props}
|
|
118
|
-
/>
|
|
119
|
-
)
|
|
101
|
+
return <DropdownMenuPrimitive.RadioGroup data-slot="dropdown-menu-radio-group" {...props} />;
|
|
120
102
|
}
|
|
121
103
|
|
|
122
104
|
function DropdownMenuRadioItem({
|
|
@@ -129,7 +111,7 @@ function DropdownMenuRadioItem({
|
|
|
129
111
|
data-slot="dropdown-menu-radio-item"
|
|
130
112
|
className={cn(
|
|
131
113
|
"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
132
|
-
className
|
|
114
|
+
className,
|
|
133
115
|
)}
|
|
134
116
|
{...props}
|
|
135
117
|
>
|
|
@@ -140,7 +122,7 @@ function DropdownMenuRadioItem({
|
|
|
140
122
|
</span>
|
|
141
123
|
{children}
|
|
142
124
|
</DropdownMenuPrimitive.RadioItem>
|
|
143
|
-
)
|
|
125
|
+
);
|
|
144
126
|
}
|
|
145
127
|
|
|
146
128
|
function DropdownMenuLabel({
|
|
@@ -148,19 +130,16 @@ function DropdownMenuLabel({
|
|
|
148
130
|
inset,
|
|
149
131
|
...props
|
|
150
132
|
}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
|
|
151
|
-
inset?: boolean
|
|
133
|
+
inset?: boolean;
|
|
152
134
|
}) {
|
|
153
135
|
return (
|
|
154
136
|
<DropdownMenuPrimitive.Label
|
|
155
137
|
data-slot="dropdown-menu-label"
|
|
156
138
|
data-inset={inset}
|
|
157
|
-
className={cn(
|
|
158
|
-
"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
|
|
159
|
-
className
|
|
160
|
-
)}
|
|
139
|
+
className={cn("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className)}
|
|
161
140
|
{...props}
|
|
162
141
|
/>
|
|
163
|
-
)
|
|
142
|
+
);
|
|
164
143
|
}
|
|
165
144
|
|
|
166
145
|
function DropdownMenuSeparator({
|
|
@@ -173,29 +152,21 @@ function DropdownMenuSeparator({
|
|
|
173
152
|
className={cn("bg-border -mx-1 my-1 h-px", className)}
|
|
174
153
|
{...props}
|
|
175
154
|
/>
|
|
176
|
-
)
|
|
155
|
+
);
|
|
177
156
|
}
|
|
178
157
|
|
|
179
|
-
function DropdownMenuShortcut({
|
|
180
|
-
className,
|
|
181
|
-
...props
|
|
182
|
-
}: React.ComponentProps<"span">) {
|
|
158
|
+
function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">) {
|
|
183
159
|
return (
|
|
184
160
|
<span
|
|
185
161
|
data-slot="dropdown-menu-shortcut"
|
|
186
|
-
className={cn(
|
|
187
|
-
"text-muted-foreground ml-auto text-xs tracking-widest",
|
|
188
|
-
className
|
|
189
|
-
)}
|
|
162
|
+
className={cn("text-muted-foreground ml-auto text-xs tracking-widest", className)}
|
|
190
163
|
{...props}
|
|
191
164
|
/>
|
|
192
|
-
)
|
|
165
|
+
);
|
|
193
166
|
}
|
|
194
167
|
|
|
195
|
-
function DropdownMenuSub({
|
|
196
|
-
...props
|
|
197
|
-
}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {
|
|
198
|
-
return <DropdownMenuPrimitive.Sub data-slot="dropdown-menu-sub" {...props} />
|
|
168
|
+
function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {
|
|
169
|
+
return <DropdownMenuPrimitive.Sub data-slot="dropdown-menu-sub" {...props} />;
|
|
199
170
|
}
|
|
200
171
|
|
|
201
172
|
function DropdownMenuSubTrigger({
|
|
@@ -204,7 +175,7 @@ function DropdownMenuSubTrigger({
|
|
|
204
175
|
children,
|
|
205
176
|
...props
|
|
206
177
|
}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
|
|
207
|
-
inset?: boolean
|
|
178
|
+
inset?: boolean;
|
|
208
179
|
}) {
|
|
209
180
|
return (
|
|
210
181
|
<DropdownMenuPrimitive.SubTrigger
|
|
@@ -212,14 +183,14 @@ function DropdownMenuSubTrigger({
|
|
|
212
183
|
data-inset={inset}
|
|
213
184
|
className={cn(
|
|
214
185
|
"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",
|
|
215
|
-
className
|
|
186
|
+
className,
|
|
216
187
|
)}
|
|
217
188
|
{...props}
|
|
218
189
|
>
|
|
219
190
|
{children}
|
|
220
191
|
<ChevronRightIcon className="ml-auto size-4" />
|
|
221
192
|
</DropdownMenuPrimitive.SubTrigger>
|
|
222
|
-
)
|
|
193
|
+
);
|
|
223
194
|
}
|
|
224
195
|
|
|
225
196
|
function DropdownMenuSubContent({
|
|
@@ -231,11 +202,11 @@ function DropdownMenuSubContent({
|
|
|
231
202
|
data-slot="dropdown-menu-sub-content"
|
|
232
203
|
className={cn(
|
|
233
204
|
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
|
|
234
|
-
className
|
|
205
|
+
className,
|
|
235
206
|
)}
|
|
236
207
|
{...props}
|
|
237
208
|
/>
|
|
238
|
-
)
|
|
209
|
+
);
|
|
239
210
|
}
|
|
240
211
|
|
|
241
212
|
export {
|
|
@@ -254,4 +225,4 @@ export {
|
|
|
254
225
|
DropdownMenuSub,
|
|
255
226
|
DropdownMenuSubTrigger,
|
|
256
227
|
DropdownMenuSubContent,
|
|
257
|
-
}
|
|
228
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as React from "react"
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
|
|
3
|
-
import { cn } from "@/lib/utils"
|
|
3
|
+
import { cn } from "@/lib/utils";
|
|
4
4
|
|
|
5
5
|
function Input({ className, type, ...props }: React.ComponentProps<"input">) {
|
|
6
6
|
return (
|
|
@@ -11,11 +11,11 @@ function Input({ className, type, ...props }: React.ComponentProps<"input">) {
|
|
|
11
11
|
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
12
12
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
13
13
|
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
14
|
-
className
|
|
14
|
+
className,
|
|
15
15
|
)}
|
|
16
16
|
{...props}
|
|
17
17
|
/>
|
|
18
|
-
)
|
|
18
|
+
);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export { Input }
|
|
21
|
+
export { Input };
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import * as React from "react"
|
|
2
|
-
import { Label as LabelPrimitive } from "radix-ui"
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Label as LabelPrimitive } from "radix-ui";
|
|
3
3
|
|
|
4
|
-
import { cn } from "@/lib/utils"
|
|
4
|
+
import { cn } from "@/lib/utils";
|
|
5
5
|
|
|
6
|
-
function Label({
|
|
7
|
-
className,
|
|
8
|
-
...props
|
|
9
|
-
}: React.ComponentProps<typeof LabelPrimitive.Root>) {
|
|
6
|
+
function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {
|
|
10
7
|
return (
|
|
11
8
|
<LabelPrimitive.Root
|
|
12
9
|
data-slot="label"
|
|
13
10
|
className={cn(
|
|
14
11
|
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
15
|
-
className
|
|
12
|
+
className,
|
|
16
13
|
)}
|
|
17
14
|
{...props}
|
|
18
15
|
/>
|
|
19
|
-
)
|
|
16
|
+
);
|
|
20
17
|
}
|
|
21
18
|
|
|
22
|
-
export { Label }
|
|
19
|
+
export { Label };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from "@/lib/utils"
|
|
1
|
+
import { cn } from "@/lib/utils";
|
|
2
2
|
|
|
3
3
|
function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
|
|
4
4
|
return (
|
|
@@ -7,7 +7,7 @@ function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
7
7
|
className={cn("bg-accent animate-pulse rounded-md", className)}
|
|
8
8
|
{...props}
|
|
9
9
|
/>
|
|
10
|
-
)
|
|
10
|
+
);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export { Skeleton }
|
|
13
|
+
export { Skeleton };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { clsx, type ClassValue } from "clsx"
|
|
2
|
-
import { twMerge } from "tailwind-merge"
|
|
1
|
+
import { clsx, type ClassValue } from "clsx";
|
|
2
|
+
import { twMerge } from "tailwind-merge";
|
|
3
3
|
|
|
4
4
|
export function cn(...inputs: ClassValue[]) {
|
|
5
|
-
return twMerge(clsx(inputs))
|
|
5
|
+
return twMerge(clsx(inputs));
|
|
6
6
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// See https://svelte.dev/docs/kit/types#app.d.ts
|
|
2
2
|
// for information about these interfaces
|
|
3
3
|
declare global {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
namespace App {
|
|
5
|
+
// interface Error {}
|
|
6
|
+
// interface Locals {}
|
|
7
|
+
// interface PageData {}
|
|
8
|
+
// interface PageState {}
|
|
9
|
+
// interface Platform {}
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import tailwindcss from
|
|
2
|
-
import { sveltekit } from
|
|
3
|
-
import { defineConfig } from
|
|
1
|
+
import tailwindcss from "@tailwindcss/vite";
|
|
2
|
+
import { sveltekit } from "@sveltejs/kit/vite";
|
|
3
|
+
import { defineConfig } from "vite";
|
|
4
4
|
|
|
5
5
|
export default defineConfig({
|
|
6
|
-
|
|
6
|
+
plugins: [tailwindcss(), sveltekit()],
|
|
7
7
|
});
|