create-better-t-stack 3.7.1 → 3.7.2

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.
Files changed (29) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/{src-BmyCNYPk.js → src-BNPik1LZ.js} +26 -33
  4. package/package.json +1 -2
  5. package/templates/auth/better-auth/web/react/base/src/lib/auth-client.ts.hbs +6 -2
  6. package/templates/auth/better-auth/web/react/tanstack-router/src/components/sign-in-form.tsx +117 -121
  7. package/templates/auth/better-auth/web/react/tanstack-router/src/components/sign-up-form.tsx +141 -145
  8. package/templates/auth/better-auth/web/react/tanstack-start/src/components/sign-in-form.tsx +117 -121
  9. package/templates/auth/better-auth/web/react/tanstack-start/src/components/sign-up-form.tsx +141 -145
  10. package/templates/auth/better-auth/web/solid/src/components/sign-in-form.tsx +3 -11
  11. package/templates/auth/better-auth/web/solid/src/components/sign-up-form.tsx +4 -14
  12. package/templates/backend/convex/packages/backend/convex/healthCheck.ts +2 -2
  13. package/templates/examples/ai/native/bare/polyfills.js +3 -7
  14. package/templates/examples/ai/native/unistyles/polyfills.js +3 -6
  15. package/templates/examples/ai/native/uniwind/polyfills.js +3 -7
  16. package/templates/examples/todo/server/drizzle/postgres/src/schema/todo.ts +1 -1
  17. package/templates/frontend/react/react-router/src/components/mode-toggle.tsx +3 -9
  18. package/templates/frontend/react/tanstack-router/src/components/mode-toggle.tsx +3 -9
  19. package/templates/frontend/react/web-base/src/components/ui/button.tsx +13 -16
  20. package/templates/frontend/react/web-base/src/components/ui/card.tsx +13 -30
  21. package/templates/frontend/react/web-base/src/components/ui/checkbox.tsx +8 -11
  22. package/templates/frontend/react/web-base/src/components/ui/dropdown-menu.tsx +37 -66
  23. package/templates/frontend/react/web-base/src/components/ui/input.tsx +5 -5
  24. package/templates/frontend/react/web-base/src/components/ui/label.tsx +7 -10
  25. package/templates/frontend/react/web-base/src/components/ui/skeleton.tsx +3 -3
  26. package/templates/frontend/react/web-base/src/lib/utils.ts +3 -3
  27. package/templates/frontend/svelte/src/app.d.ts +7 -7
  28. package/templates/frontend/svelte/src/lib/index.ts +1 -0
  29. package/templates/frontend/svelte/vite.config.ts +4 -4
@@ -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
- namespace App {
5
- // interface Error {}
6
- // interface Locals {}
7
- // interface PageData {}
8
- // interface PageState {}
9
- // interface Platform {}
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 +1,2 @@
1
1
  // place files you want to import through the `$lib` alias in this folder.
2
+ export {};
@@ -1,7 +1,7 @@
1
- import tailwindcss from '@tailwindcss/vite';
2
- import { sveltekit } from '@sveltejs/kit/vite';
3
- import { defineConfig } from 'vite';
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
- plugins: [tailwindcss(), sveltekit()]
6
+ plugins: [tailwindcss(), sveltekit()],
7
7
  });