create-croissant 0.1.39 → 0.1.40

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 (155) hide show
  1. package/package.json +9 -9
  2. package/template/README.md +4 -4
  3. package/template/apps/desktop/electron-builder.yml +6 -6
  4. package/template/apps/desktop/electron.vite.config.ts +8 -8
  5. package/template/apps/desktop/package.json +5 -5
  6. package/template/apps/desktop/src/main/index.ts +32 -32
  7. package/template/apps/desktop/src/preload/index.d.ts +3 -3
  8. package/template/apps/desktop/src/preload/index.ts +8 -8
  9. package/template/apps/desktop/src/renderer/src/App.tsx +5 -5
  10. package/template/apps/desktop/src/renderer/src/assets/base.css +4 -4
  11. package/template/apps/desktop/src/renderer/src/assets/main.css +3 -3
  12. package/template/apps/desktop/src/renderer/src/components/Versions.tsx +4 -4
  13. package/template/apps/desktop/src/renderer/src/main.tsx +7 -7
  14. package/template/apps/desktop/tsconfig.json +1 -4
  15. package/template/apps/desktop/tsconfig.node.json +7 -1
  16. package/template/apps/desktop/tsconfig.web.json +3 -9
  17. package/template/apps/mobile/app/(tabs)/_layout.tsx +11 -10
  18. package/template/apps/mobile/app/(tabs)/explore.tsx +29 -27
  19. package/template/apps/mobile/app/(tabs)/index.tsx +25 -24
  20. package/template/apps/mobile/app/_layout.tsx +8 -8
  21. package/template/apps/mobile/app/modal.tsx +6 -6
  22. package/template/apps/mobile/components/external-link.tsx +5 -5
  23. package/template/apps/mobile/components/haptic-tab.tsx +4 -4
  24. package/template/apps/mobile/components/hello-wave.tsx +5 -4
  25. package/template/apps/mobile/components/parallax-scroll-view.tsx +15 -13
  26. package/template/apps/mobile/components/themed-text.tsx +14 -14
  27. package/template/apps/mobile/components/themed-view.tsx +3 -3
  28. package/template/apps/mobile/components/ui/collapsible.tsx +14 -13
  29. package/template/apps/mobile/components/ui/icon-symbol.ios.tsx +4 -4
  30. package/template/apps/mobile/components/ui/icon-symbol.tsx +9 -9
  31. package/template/apps/mobile/constants/theme.ts +19 -19
  32. package/template/apps/mobile/hooks/use-color-scheme.ts +1 -1
  33. package/template/apps/mobile/hooks/use-color-scheme.web.ts +3 -3
  34. package/template/apps/mobile/hooks/use-theme-color.ts +4 -4
  35. package/template/apps/mobile/package.json +3 -3
  36. package/template/apps/mobile/scripts/reset-project.js +2 -2
  37. package/template/apps/mobile/tsconfig.json +2 -9
  38. package/template/apps/platform/drizzle.config.ts +5 -5
  39. package/template/apps/platform/package.json +4 -4
  40. package/template/apps/platform/src/components/app-sidebar.tsx +60 -69
  41. package/template/apps/platform/src/components/login-form.tsx +32 -39
  42. package/template/apps/platform/src/components/search-form.tsx +5 -13
  43. package/template/apps/platform/src/components/signup-form.tsx +39 -49
  44. package/template/apps/platform/src/components/version-switcher.tsx +11 -21
  45. package/template/apps/platform/src/lib/auth-utils.ts +12 -14
  46. package/template/apps/platform/src/lib/orpc.ts +17 -17
  47. package/template/apps/platform/src/router.tsx +5 -5
  48. package/template/apps/platform/src/routes/__root.tsx +13 -15
  49. package/template/apps/platform/src/routes/_auth/account.tsx +61 -50
  50. package/template/apps/platform/src/routes/_auth/dashboard.tsx +17 -17
  51. package/template/apps/platform/src/routes/_auth/examples/client-orpc-auth.tsx +13 -13
  52. package/template/apps/platform/src/routes/_auth/examples/ssr-orpc-auth.tsx +16 -16
  53. package/template/apps/platform/src/routes/_auth.tsx +5 -5
  54. package/template/apps/platform/src/routes/_public/examples/client-orpc.tsx +108 -88
  55. package/template/apps/platform/src/routes/_public/examples/isr.tsx +14 -14
  56. package/template/apps/platform/src/routes/_public/examples/ssr-orpc.tsx +92 -75
  57. package/template/apps/platform/src/routes/_public/index.tsx +22 -19
  58. package/template/apps/platform/src/routes/_public/login.tsx +4 -4
  59. package/template/apps/platform/src/routes/_public/signup.tsx +6 -5
  60. package/template/apps/platform/src/routes/_public.tsx +5 -5
  61. package/template/apps/platform/src/routes/api/auth/$.ts +13 -13
  62. package/template/apps/platform/src/routes/api/rpc.$.ts +13 -13
  63. package/template/apps/platform/vite.config.ts +8 -8
  64. package/template/docker-compose.yml +1 -1
  65. package/template/package.json +24 -22
  66. package/template/packages/auth/package.json +9 -9
  67. package/template/packages/auth/src/lib/auth.ts +1 -1
  68. package/template/packages/db/package.json +7 -7
  69. package/template/packages/db/src/index.ts +4 -4
  70. package/template/packages/db/src/schema.ts +2 -2
  71. package/template/packages/orpc/package.json +6 -6
  72. package/template/packages/orpc/src/lib/planets.ts +39 -43
  73. package/template/packages/orpc/src/lib/router.ts +15 -15
  74. package/template/packages/ui/package.json +10 -10
  75. package/template/packages/ui/src/components/accordion.tsx +20 -22
  76. package/template/packages/ui/src/components/alert-dialog.tsx +31 -56
  77. package/template/packages/ui/src/components/alert.tsx +15 -23
  78. package/template/packages/ui/src/components/aspect-ratio.tsx +3 -3
  79. package/template/packages/ui/src/components/avatar.tsx +19 -35
  80. package/template/packages/ui/src/components/badge.tsx +13 -17
  81. package/template/packages/ui/src/components/breadcrumb.tsx +22 -44
  82. package/template/packages/ui/src/components/button-group.tsx +16 -25
  83. package/template/packages/ui/src/components/button.tsx +8 -9
  84. package/template/packages/ui/src/components/calendar.tsx +43 -82
  85. package/template/packages/ui/src/components/card.tsx +15 -26
  86. package/template/packages/ui/src/components/carousel.tsx +70 -78
  87. package/template/packages/ui/src/components/chart.tsx +84 -117
  88. package/template/packages/ui/src/components/checkbox.tsx +8 -9
  89. package/template/packages/ui/src/components/collapsible.tsx +5 -9
  90. package/template/packages/ui/src/components/combobox.tsx +44 -68
  91. package/template/packages/ui/src/components/command.tsx +32 -47
  92. package/template/packages/ui/src/components/context-menu.tsx +45 -71
  93. package/template/packages/ui/src/components/dialog.tsx +29 -51
  94. package/template/packages/ui/src/components/direction.tsx +1 -4
  95. package/template/packages/ui/src/components/drawer.tsx +24 -38
  96. package/template/packages/ui/src/components/dropdown-menu.tsx +45 -55
  97. package/template/packages/ui/src/components/empty.tsx +16 -27
  98. package/template/packages/ui/src/components/field.tsx +49 -63
  99. package/template/packages/ui/src/components/hover-card.tsx +9 -14
  100. package/template/packages/ui/src/components/input-group.tsx +40 -52
  101. package/template/packages/ui/src/components/input-otp.tsx +17 -18
  102. package/template/packages/ui/src/components/input.tsx +6 -6
  103. package/template/packages/ui/src/components/item.tsx +31 -44
  104. package/template/packages/ui/src/components/kbd.tsx +5 -5
  105. package/template/packages/ui/src/components/label.tsx +6 -6
  106. package/template/packages/ui/src/components/menubar.tsx +51 -64
  107. package/template/packages/ui/src/components/mode-toggle.tsx +9 -15
  108. package/template/packages/ui/src/components/native-select.tsx +18 -24
  109. package/template/packages/ui/src/components/navigation-menu.tsx +28 -35
  110. package/template/packages/ui/src/components/pagination.tsx +19 -31
  111. package/template/packages/ui/src/components/popover.tsx +13 -26
  112. package/template/packages/ui/src/components/progress.tsx +13 -30
  113. package/template/packages/ui/src/components/radio-group.tsx +7 -7
  114. package/template/packages/ui/src/components/resizable.tsx +12 -20
  115. package/template/packages/ui/src/components/scroll-area.tsx +8 -12
  116. package/template/packages/ui/src/components/select.tsx +31 -42
  117. package/template/packages/ui/src/components/separator.tsx +6 -10
  118. package/template/packages/ui/src/components/sheet.tsx +25 -38
  119. package/template/packages/ui/src/components/sidebar.tsx +137 -170
  120. package/template/packages/ui/src/components/skeleton.tsx +3 -3
  121. package/template/packages/ui/src/components/slider.tsx +5 -5
  122. package/template/packages/ui/src/components/sonner.tsx +20 -24
  123. package/template/packages/ui/src/components/spinner.tsx +10 -5
  124. package/template/packages/ui/src/components/switch.tsx +6 -6
  125. package/template/packages/ui/src/components/table.tsx +18 -45
  126. package/template/packages/ui/src/components/tabs.tsx +14 -22
  127. package/template/packages/ui/src/components/textarea.tsx +5 -5
  128. package/template/packages/ui/src/components/theme-provider.tsx +43 -48
  129. package/template/packages/ui/src/components/toggle-group.tsx +18 -20
  130. package/template/packages/ui/src/components/toggle.tsx +9 -10
  131. package/template/packages/ui/src/components/tooltip.tsx +10 -22
  132. package/template/packages/ui/src/hooks/use-mobile.ts +11 -11
  133. package/template/packages/ui/src/lib/utils.ts +4 -4
  134. package/template/packages/ui/src/styles/globals.css +106 -106
  135. package/template/turbo.json +15 -6
  136. package/template/.prettierignore +0 -10
  137. package/template/apps/desktop/.prettierignore +0 -6
  138. package/template/apps/desktop/eslint.config.ts +0 -11
  139. package/template/apps/desktop/prettier.config.ts +0 -3
  140. package/template/apps/mobile/eslint.config.js +0 -10
  141. package/template/apps/platform/eslint.config.ts +0 -11
  142. package/template/apps/platform/prettier.config.ts +0 -3
  143. package/template/packages/auth/eslint.config.ts +0 -3
  144. package/template/packages/auth/prettier.config.ts +0 -3
  145. package/template/packages/config-eslint/index.ts +0 -24
  146. package/template/packages/config-eslint/package.json +0 -11
  147. package/template/packages/config-prettier/index.ts +0 -14
  148. package/template/packages/config-prettier/package.json +0 -7
  149. package/template/packages/db/eslint.config.ts +0 -3
  150. package/template/packages/db/prettier.config.ts +0 -3
  151. package/template/packages/orpc/eslint.config.ts +0 -3
  152. package/template/packages/orpc/prettier.config.ts +0 -3
  153. package/template/packages/ui/eslint.config.ts +0 -3
  154. package/template/packages/ui/prettier.config.ts +0 -3
  155. package/template/prettier.config.ts +0 -15
@@ -1,13 +1,13 @@
1
- "use client"
1
+ "use client";
2
2
 
3
- import * as React from "react"
4
- import { cva } from "class-variance-authority"
3
+ import * as React from "react";
4
+ import { cva } from "class-variance-authority";
5
5
 
6
- import { cn } from "@workspace/ui/lib/utils"
7
- import { Button } from "@workspace/ui/components/button"
8
- import { Input } from "@workspace/ui/components/input"
9
- import { Textarea } from "@workspace/ui/components/textarea"
10
- import type {VariantProps} from "class-variance-authority";
6
+ import { cn } from "@workspace/ui/lib/utils";
7
+ import { Button } from "@workspace/ui/components/button";
8
+ import { Input } from "@workspace/ui/components/input";
9
+ import { Textarea } from "@workspace/ui/components/textarea";
10
+ import type { VariantProps } from "class-variance-authority";
11
11
 
12
12
  function InputGroup({ className, ...props }: React.ComponentProps<"div">) {
13
13
  return (
@@ -16,11 +16,11 @@ function InputGroup({ className, ...props }: React.ComponentProps<"div">) {
16
16
  role="group"
17
17
  className={cn(
18
18
  "group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",
19
- className
19
+ className,
20
20
  )}
21
21
  {...props}
22
22
  />
23
- )
23
+ );
24
24
  }
25
25
 
26
26
  const inputGroupAddonVariants = cva(
@@ -28,10 +28,8 @@ const inputGroupAddonVariants = cva(
28
28
  {
29
29
  variants: {
30
30
  align: {
31
- "inline-start":
32
- "order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
33
- "inline-end":
34
- "order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
31
+ "inline-start": "order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
32
+ "inline-end": "order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
35
33
  "block-start":
36
34
  "order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
37
35
  "block-end":
@@ -41,8 +39,8 @@ const inputGroupAddonVariants = cva(
41
39
  defaultVariants: {
42
40
  align: "inline-start",
43
41
  },
44
- }
45
- )
42
+ },
43
+ );
46
44
 
47
45
  function InputGroupAddon({
48
46
  className,
@@ -57,32 +55,28 @@ function InputGroupAddon({
57
55
  className={cn(inputGroupAddonVariants({ align }), className)}
58
56
  onClick={(e) => {
59
57
  if ((e.target as HTMLElement).closest("button")) {
60
- return
58
+ return;
61
59
  }
62
- e.currentTarget.parentElement?.querySelector("input")?.focus()
60
+ e.currentTarget.parentElement?.querySelector("input")?.focus();
63
61
  }}
64
62
  {...props}
65
63
  />
66
- )
64
+ );
67
65
  }
68
66
 
69
- const inputGroupButtonVariants = cva(
70
- "flex items-center gap-2 text-sm shadow-none",
71
- {
72
- variants: {
73
- size: {
74
- xs: "h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
75
- sm: "",
76
- "icon-xs":
77
- "size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0",
78
- "icon-sm": "size-8 p-0 has-[>svg]:p-0",
79
- },
80
- },
81
- defaultVariants: {
82
- size: "xs",
67
+ const inputGroupButtonVariants = cva("flex items-center gap-2 text-sm shadow-none", {
68
+ variants: {
69
+ size: {
70
+ xs: "h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
71
+ sm: "",
72
+ "icon-xs": "size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0",
73
+ "icon-sm": "size-8 p-0 has-[>svg]:p-0",
83
74
  },
84
- }
85
- )
75
+ },
76
+ defaultVariants: {
77
+ size: "xs",
78
+ },
79
+ });
86
80
 
87
81
  function InputGroupButton({
88
82
  className,
@@ -92,7 +86,7 @@ function InputGroupButton({
92
86
  ...props
93
87
  }: Omit<React.ComponentProps<typeof Button>, "size" | "type"> &
94
88
  VariantProps<typeof inputGroupButtonVariants> & {
95
- type?: "button" | "submit" | "reset"
89
+ type?: "button" | "submit" | "reset";
96
90
  }) {
97
91
  return (
98
92
  <Button
@@ -102,7 +96,7 @@ function InputGroupButton({
102
96
  className={cn(inputGroupButtonVariants({ size }), className)}
103
97
  {...props}
104
98
  />
105
- )
99
+ );
106
100
  }
107
101
 
108
102
  function InputGroupText({ className, ...props }: React.ComponentProps<"span">) {
@@ -110,43 +104,37 @@ function InputGroupText({ className, ...props }: React.ComponentProps<"span">) {
110
104
  <span
111
105
  className={cn(
112
106
  "flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
113
- className
107
+ className,
114
108
  )}
115
109
  {...props}
116
110
  />
117
- )
111
+ );
118
112
  }
119
113
 
120
- function InputGroupInput({
121
- className,
122
- ...props
123
- }: React.ComponentProps<"input">) {
114
+ function InputGroupInput({ className, ...props }: React.ComponentProps<"input">) {
124
115
  return (
125
116
  <Input
126
117
  data-slot="input-group-control"
127
118
  className={cn(
128
119
  "flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent",
129
- className
120
+ className,
130
121
  )}
131
122
  {...props}
132
123
  />
133
- )
124
+ );
134
125
  }
135
126
 
136
- function InputGroupTextarea({
137
- className,
138
- ...props
139
- }: React.ComponentProps<"textarea">) {
127
+ function InputGroupTextarea({ className, ...props }: React.ComponentProps<"textarea">) {
140
128
  return (
141
129
  <Textarea
142
130
  data-slot="input-group-control"
143
131
  className={cn(
144
132
  "flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent",
145
- className
133
+ className,
146
134
  )}
147
135
  {...props}
148
136
  />
149
- )
137
+ );
150
138
  }
151
139
 
152
140
  export {
@@ -156,4 +144,4 @@ export {
156
144
  InputGroupText,
157
145
  InputGroupInput,
158
146
  InputGroupTextarea,
159
- }
147
+ };
@@ -1,28 +1,28 @@
1
- import * as React from "react"
2
- import { OTPInput, OTPInputContext } from "input-otp"
1
+ import * as React from "react";
2
+ import { OTPInput, OTPInputContext } from "input-otp";
3
3
 
4
- import { MinusIcon } from "lucide-react"
5
- import { cn } from "@workspace/ui/lib/utils"
4
+ import { MinusIcon } from "lucide-react";
5
+ import { cn } from "@workspace/ui/lib/utils";
6
6
 
7
7
  function InputOTP({
8
8
  className,
9
9
  containerClassName,
10
10
  ...props
11
11
  }: React.ComponentProps<typeof OTPInput> & {
12
- containerClassName?: string
12
+ containerClassName?: string;
13
13
  }) {
14
14
  return (
15
15
  <OTPInput
16
16
  data-slot="input-otp"
17
17
  containerClassName={cn(
18
18
  "cn-input-otp flex items-center has-disabled:opacity-50",
19
- containerClassName
19
+ containerClassName,
20
20
  )}
21
21
  spellCheck={false}
22
22
  className={cn("disabled:cursor-not-allowed", className)}
23
23
  {...props}
24
24
  />
25
- )
25
+ );
26
26
  }
27
27
 
28
28
  function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">) {
@@ -31,11 +31,11 @@ function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">) {
31
31
  data-slot="input-otp-group"
32
32
  className={cn(
33
33
  "flex items-center rounded-lg has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40",
34
- className
34
+ className,
35
35
  )}
36
36
  {...props}
37
37
  />
38
- )
38
+ );
39
39
  }
40
40
 
41
41
  function InputOTPSlot({
@@ -43,10 +43,10 @@ function InputOTPSlot({
43
43
  className,
44
44
  ...props
45
45
  }: React.ComponentProps<"div"> & {
46
- index: number
46
+ index: number;
47
47
  }) {
48
- const inputOTPContext = React.useContext(OTPInputContext)
49
- const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]
48
+ const inputOTPContext = React.useContext(OTPInputContext);
49
+ const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
50
50
 
51
51
  return (
52
52
  <div
@@ -54,7 +54,7 @@ function InputOTPSlot({
54
54
  data-active={isActive}
55
55
  className={cn(
56
56
  "relative flex size-8 items-center justify-center border-y border-r border-input text-sm transition-all outline-none first:rounded-l-lg first:border-l last:rounded-r-lg aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40",
57
- className
57
+ className,
58
58
  )}
59
59
  {...props}
60
60
  >
@@ -65,7 +65,7 @@ function InputOTPSlot({
65
65
  </div>
66
66
  )}
67
67
  </div>
68
- )
68
+ );
69
69
  }
70
70
 
71
71
  function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {
@@ -76,10 +76,9 @@ function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {
76
76
  role="separator"
77
77
  {...props}
78
78
  >
79
- <MinusIcon
80
- />
79
+ <MinusIcon />
81
80
  </div>
82
- )
81
+ );
83
82
  }
84
83
 
85
- export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }
84
+ export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };
@@ -1,7 +1,7 @@
1
- import * as React from "react"
2
- import { Input as InputPrimitive } from "@base-ui/react/input"
1
+ import * as React from "react";
2
+ import { Input as InputPrimitive } from "@base-ui/react/input";
3
3
 
4
- import { cn } from "@workspace/ui/lib/utils"
4
+ import { cn } from "@workspace/ui/lib/utils";
5
5
 
6
6
  function Input({ className, type, ...props }: React.ComponentProps<"input">) {
7
7
  return (
@@ -10,11 +10,11 @@ function Input({ className, type, ...props }: React.ComponentProps<"input">) {
10
10
  data-slot="input"
11
11
  className={cn(
12
12
  "h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
13
- className
13
+ className,
14
14
  )}
15
15
  {...props}
16
16
  />
17
- )
17
+ );
18
18
  }
19
19
 
20
- export { Input }
20
+ export { Input };
@@ -1,11 +1,11 @@
1
- import * as React from "react"
2
- import { mergeProps } from "@base-ui/react/merge-props"
3
- import { useRender } from "@base-ui/react/use-render"
4
- import { cva } from "class-variance-authority"
1
+ import * as React from "react";
2
+ import { mergeProps } from "@base-ui/react/merge-props";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ import { cva } from "class-variance-authority";
5
5
 
6
- import { cn } from "@workspace/ui/lib/utils"
7
- import { Separator } from "@workspace/ui/components/separator"
8
- import type {VariantProps} from "class-variance-authority";
6
+ import { cn } from "@workspace/ui/lib/utils";
7
+ import { Separator } from "@workspace/ui/components/separator";
8
+ import type { VariantProps } from "class-variance-authority";
9
9
 
10
10
  function ItemGroup({ className, ...props }: React.ComponentProps<"div">) {
11
11
  return (
@@ -14,17 +14,14 @@ function ItemGroup({ className, ...props }: React.ComponentProps<"div">) {
14
14
  data-slot="item-group"
15
15
  className={cn(
16
16
  "group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
17
- className
17
+ className,
18
18
  )}
19
19
  {...props}
20
20
  />
21
- )
21
+ );
22
22
  }
23
23
 
24
- function ItemSeparator({
25
- className,
26
- ...props
27
- }: React.ComponentProps<typeof Separator>) {
24
+ function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {
28
25
  return (
29
26
  <Separator
30
27
  data-slot="item-separator"
@@ -32,7 +29,7 @@ function ItemSeparator({
32
29
  className={cn("my-2", className)}
33
30
  {...props}
34
31
  />
35
- )
32
+ );
36
33
  }
37
34
 
38
35
  const itemVariants = cva(
@@ -54,8 +51,8 @@ const itemVariants = cva(
54
51
  variant: "default",
55
52
  size: "default",
56
53
  },
57
- }
58
- )
54
+ },
55
+ );
59
56
 
60
57
  function Item({
61
58
  className,
@@ -70,7 +67,7 @@ function Item({
70
67
  {
71
68
  className: cn(itemVariants({ variant, size, className })),
72
69
  },
73
- props
70
+ props,
74
71
  ),
75
72
  render,
76
73
  state: {
@@ -78,7 +75,7 @@ function Item({
78
75
  variant,
79
76
  size,
80
77
  },
81
- })
78
+ });
82
79
  }
83
80
 
84
81
  const itemMediaVariants = cva(
@@ -95,8 +92,8 @@ const itemMediaVariants = cva(
95
92
  defaultVariants: {
96
93
  variant: "default",
97
94
  },
98
- }
99
- )
95
+ },
96
+ );
100
97
 
101
98
  function ItemMedia({
102
99
  className,
@@ -110,7 +107,7 @@ function ItemMedia({
110
107
  className={cn(itemMediaVariants({ variant, className }))}
111
108
  {...props}
112
109
  />
113
- )
110
+ );
114
111
  }
115
112
 
116
113
  function ItemContent({ className, ...props }: React.ComponentProps<"div">) {
@@ -119,11 +116,11 @@ function ItemContent({ className, ...props }: React.ComponentProps<"div">) {
119
116
  data-slot="item-content"
120
117
  className={cn(
121
118
  "flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
122
- className
119
+ className,
123
120
  )}
124
121
  {...props}
125
122
  />
126
- )
123
+ );
127
124
  }
128
125
 
129
126
  function ItemTitle({ className, ...props }: React.ComponentProps<"div">) {
@@ -132,11 +129,11 @@ function ItemTitle({ className, ...props }: React.ComponentProps<"div">) {
132
129
  data-slot="item-title"
133
130
  className={cn(
134
131
  "line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",
135
- className
132
+ className,
136
133
  )}
137
134
  {...props}
138
135
  />
139
- )
136
+ );
140
137
  }
141
138
 
142
139
  function ItemDescription({ className, ...props }: React.ComponentProps<"p">) {
@@ -145,47 +142,37 @@ function ItemDescription({ className, ...props }: React.ComponentProps<"p">) {
145
142
  data-slot="item-description"
146
143
  className={cn(
147
144
  "line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
148
- className
145
+ className,
149
146
  )}
150
147
  {...props}
151
148
  />
152
- )
149
+ );
153
150
  }
154
151
 
155
152
  function ItemActions({ className, ...props }: React.ComponentProps<"div">) {
156
153
  return (
157
- <div
158
- data-slot="item-actions"
159
- className={cn("flex items-center gap-2", className)}
160
- {...props}
161
- />
162
- )
154
+ <div data-slot="item-actions" className={cn("flex items-center gap-2", className)} {...props} />
155
+ );
163
156
  }
164
157
 
165
158
  function ItemHeader({ className, ...props }: React.ComponentProps<"div">) {
166
159
  return (
167
160
  <div
168
161
  data-slot="item-header"
169
- className={cn(
170
- "flex basis-full items-center justify-between gap-2",
171
- className
172
- )}
162
+ className={cn("flex basis-full items-center justify-between gap-2", className)}
173
163
  {...props}
174
164
  />
175
- )
165
+ );
176
166
  }
177
167
 
178
168
  function ItemFooter({ className, ...props }: React.ComponentProps<"div">) {
179
169
  return (
180
170
  <div
181
171
  data-slot="item-footer"
182
- className={cn(
183
- "flex basis-full items-center justify-between gap-2",
184
- className
185
- )}
172
+ className={cn("flex basis-full items-center justify-between gap-2", className)}
186
173
  {...props}
187
174
  />
188
- )
175
+ );
189
176
  }
190
177
 
191
178
  export {
@@ -199,4 +186,4 @@ export {
199
186
  ItemDescription,
200
187
  ItemHeader,
201
188
  ItemFooter,
202
- }
189
+ };
@@ -1,4 +1,4 @@
1
- import { cn } from "@workspace/ui/lib/utils"
1
+ import { cn } from "@workspace/ui/lib/utils";
2
2
 
3
3
  function Kbd({ className, ...props }: React.ComponentProps<"kbd">) {
4
4
  return (
@@ -6,11 +6,11 @@ function Kbd({ className, ...props }: React.ComponentProps<"kbd">) {
6
6
  data-slot="kbd"
7
7
  className={cn(
8
8
  "pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3",
9
- className
9
+ className,
10
10
  )}
11
11
  {...props}
12
12
  />
13
- )
13
+ );
14
14
  }
15
15
 
16
16
  function KbdGroup({ className, ...props }: React.ComponentProps<"div">) {
@@ -20,7 +20,7 @@ function KbdGroup({ className, ...props }: React.ComponentProps<"div">) {
20
20
  className={cn("inline-flex items-center gap-1", className)}
21
21
  {...props}
22
22
  />
23
- )
23
+ );
24
24
  }
25
25
 
26
- export { Kbd, KbdGroup }
26
+ export { Kbd, KbdGroup };
@@ -1,8 +1,8 @@
1
- "use client"
1
+ "use client";
2
2
 
3
- import * as React from "react"
3
+ import * as React from "react";
4
4
 
5
- import { cn } from "@workspace/ui/lib/utils"
5
+ import { cn } from "@workspace/ui/lib/utils";
6
6
 
7
7
  function Label({ className, ...props }: React.ComponentProps<"label">) {
8
8
  return (
@@ -10,11 +10,11 @@ function Label({ className, ...props }: React.ComponentProps<"label">) {
10
10
  data-slot="label"
11
11
  className={cn(
12
12
  "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",
13
- className
13
+ className,
14
14
  )}
15
15
  {...props}
16
16
  />
17
- )
17
+ );
18
18
  }
19
19
 
20
- export { Label }
20
+ export { Label };