@codapet/design-system 0.2.9 → 0.3.1

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/index.d.mts CHANGED
@@ -88,7 +88,7 @@ declare function BreadcrumbSeparator({ children, className, ...props }: React$1.
88
88
  declare function BreadcrumbEllipsis({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
89
89
 
90
90
  declare const buttonVariants: (props?: ({
91
- variant?: "link" | "destructive" | "primary" | "secondary" | "tertiary" | "outline" | "ghost" | "destructive-secondary" | "destructive-tertiary" | null | undefined;
91
+ variant?: "link" | "destructive" | "primary" | "secondary" | "tertiary" | "outline" | "ghost" | "ghost-secondary" | "ghost-destructive" | "destructive-secondary" | "destructive-tertiary" | null | undefined;
92
92
  size?: "md" | "sm" | "lg" | "icon" | null | undefined;
93
93
  } & class_variance_authority_types.ClassProp) | undefined) => string;
94
94
  declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
@@ -176,8 +176,8 @@ declare function DialogOverlay({ className, ...props }: React$1.ComponentProps<t
176
176
  declare function DialogContent({ className, children, showCloseButton, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
177
177
  showCloseButton?: boolean;
178
178
  }): react_jsx_runtime.JSX.Element;
179
- declare function DialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
180
- declare function DialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
179
+ declare function DialogHeader({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
180
+ declare function DialogFooter({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
181
181
  declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
182
182
  declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
183
183
 
@@ -285,6 +285,8 @@ interface InputProps extends Omit<React$1.ComponentProps<'input'>, 'size'>, Vari
285
285
  rightIcon?: React$1.ReactNode;
286
286
  leftIconClassName?: string;
287
287
  rightIconClassName?: string;
288
+ rightIconOnClick?: () => void;
289
+ rightIconButtonProps?: React$1.ButtonHTMLAttributes<HTMLButtonElement>;
288
290
  error?: boolean;
289
291
  }
290
292
  declare const Input: React$1.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
package/dist/index.mjs CHANGED
@@ -48,7 +48,7 @@ function AccordionTrigger({
48
48
  ...props,
49
49
  children: [
50
50
  children,
51
- /* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })
51
+ /* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-400" })
52
52
  ]
53
53
  }
54
54
  ) });
@@ -142,7 +142,7 @@ import { cva as cva2 } from "class-variance-authority";
142
142
  import "react";
143
143
  import { jsx as jsx3 } from "react/jsx-runtime";
144
144
  var buttonVariants = cva2(
145
- "cursor-pointer inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-semibold transition-colors transition-opacity disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none relative select-none will-change-auto focus-visible:before:absolute focus-visible:before:-inset-[3px] focus-visible:before:rounded-lg focus-visible:before:ring-2 focus-visible:before:ring-blue-500/80 focus-visible:before:pointer-events-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
145
+ "cursor-pointer inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-semibold transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none relative select-none will-change-auto focus-visible:before:absolute focus-visible:before:-inset-[3px] focus-visible:before:rounded-lg focus-visible:before:ring-2 focus-visible:before:ring-blue-500/80 focus-visible:before:pointer-events-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive duration-400",
146
146
  {
147
147
  variants: {
148
148
  variant: {
@@ -150,8 +150,10 @@ var buttonVariants = cva2(
150
150
  secondary: "bg-brand-subtle text-brand-vibrant hover:bg-primary-surface-light border border-brand-light active:bg-icon-disabled hover:border-transparent active:border-transparent",
151
151
  tertiary: "bg-gray-surface-light text-zinc-700 hover:bg-gray-surface-default border border-gray-stroke-light active:bg-zinc-400",
152
152
  outline: "text-zinc-800 border border-gray-surface-default bg-background hover:bg-gray-surface-light hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 active:bg-gray-surface-default",
153
- ghost: "text-zinc-800 hover:bg-gray-surface-light hover:text-accent-foreground dark:hover:bg-accent/50 active:bg-gray-surface-default",
154
- link: "text-primary underline-offset-4 hover:underline hover:bg-primary-surface-subtle active:bg-primary-surface-light",
153
+ ghost: "text-brand-vibrant hover:bg-primary-surface-subtle dark:hover:bg-accent/50 active:bg-primary-surface-light",
154
+ "ghost-secondary": "text-zinc-800 hover:bg-gray-surface-light hover:text-accent-foreground dark:hover:bg-accent/50 active:bg-gray-surface-default",
155
+ "ghost-destructive": "bg-transparent text-red-400 hover:bg-red-50 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 active:bg-red-100",
156
+ link: "text-zinc-800 underline-offset-4 underline hover:bg-none active:bg-none hover:text-brand-vibrant ",
155
157
  destructive: "bg-error-surface-default text-white hover:bg-red-800 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 active:bg-error-surface-dark",
156
158
  "destructive-secondary": "bg-error-surface-light border border-error-stroke-light text-red-400 hover:border-error-surface-default focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 active:bg-red-100",
157
159
  "destructive-tertiary": "bg-transparent border border-error-stroke-light text-red-400 hover:bg-red-50 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 active:bg-red-100"
@@ -1209,7 +1211,7 @@ function getPayloadConfigFromPayload(config, payload, key) {
1209
1211
 
1210
1212
  // src/components/ui/checkbox.tsx
1211
1213
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
1212
- import { CheckIcon } from "lucide-react";
1214
+ import { Check } from "lucide-react";
1213
1215
  import "react";
1214
1216
  import { jsx as jsx13 } from "react/jsx-runtime";
1215
1217
  function Checkbox({
@@ -1221,7 +1223,7 @@ function Checkbox({
1221
1223
  {
1222
1224
  "data-slot": "checkbox",
1223
1225
  className: cn(
1224
- "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-brand-text-vibrant 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-2 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:before:absolute focus-visible:before:-inset-[3px] focus:ring-offset-1 focus:ring-offset-brand-text-vibrant",
1226
+ "group peer border-input dark:bg-input/30 transition-colors duration-400 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-brand-text-vibrant aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:before:absolute focus-visible:before:-inset-[3px] focus:ring-offset-1 focus:ring-offset-brand-text-vibrant",
1225
1227
  className
1226
1228
  ),
1227
1229
  ...props,
@@ -1229,8 +1231,9 @@ function Checkbox({
1229
1231
  CheckboxPrimitive.Indicator,
1230
1232
  {
1231
1233
  "data-slot": "checkbox-indicator",
1232
- className: "flex items-center justify-center text-current transition-none",
1233
- children: /* @__PURE__ */ jsx13(CheckIcon, { className: "size-3.5" })
1234
+ forceMount: true,
1235
+ className: "flex items-center justify-center text-current transition-opacity duration-400 opacity-0 group-data-[state=checked]:opacity-100",
1236
+ children: /* @__PURE__ */ jsx13(Check, { className: "size-3.5" })
1234
1237
  }
1235
1238
  )
1236
1239
  }
@@ -1327,7 +1330,7 @@ function DialogContent({
1327
1330
  {
1328
1331
  "data-slot": "dialog-content",
1329
1332
  className: cn(
1330
- "bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
1333
+ "bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-400 sm:max-w-lg",
1331
1334
  className
1332
1335
  ),
1333
1336
  ...props,
@@ -1559,7 +1562,7 @@ function CommandShortcut({
1559
1562
  // src/components/ui/context-menu.tsx
1560
1563
  import "react";
1561
1564
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
1562
- import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
1565
+ import { CheckIcon, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
1563
1566
  import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1564
1567
  function ContextMenu({
1565
1568
  ...props
@@ -1689,7 +1692,7 @@ function ContextMenuCheckboxItem({
1689
1692
  checked,
1690
1693
  ...props,
1691
1694
  children: [
1692
- /* @__PURE__ */ jsx17("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(CheckIcon2, { className: "size-4" }) }) }),
1695
+ /* @__PURE__ */ jsx17("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(CheckIcon, { className: "size-4" }) }) }),
1693
1696
  children
1694
1697
  ]
1695
1698
  }
@@ -1885,7 +1888,7 @@ function DrawerDescription({
1885
1888
  // src/components/ui/dropdown-menu.tsx
1886
1889
  import "react";
1887
1890
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1888
- import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon3, CircleIcon as CircleIcon2 } from "lucide-react";
1891
+ import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon3, CircleIcon as CircleIcon2 } from "lucide-react";
1889
1892
  import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
1890
1893
  function DropdownMenu({
1891
1894
  ...props
@@ -1968,7 +1971,7 @@ function DropdownMenuCheckboxItem({
1968
1971
  checked,
1969
1972
  ...props,
1970
1973
  children: [
1971
- /* @__PURE__ */ jsx19("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CheckIcon3, { className: "size-4" }) }) }),
1974
+ /* @__PURE__ */ jsx19("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CheckIcon2, { className: "size-4" }) }) }),
1972
1975
  children
1973
1976
  ]
1974
1977
  }
@@ -2290,7 +2293,7 @@ var inputVariants = cva5(
2290
2293
  [
2291
2294
  // Base styles
2292
2295
  "file:text-zinc-800 placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
2293
- "flex w-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-all duration-200",
2296
+ "flex w-full min-w-0 rounded-md border bg-transparent text-base transition-all duration-400",
2294
2297
  "outline-none font-sans",
2295
2298
  // File input styles
2296
2299
  "file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium",
@@ -2301,7 +2304,7 @@ var inputVariants = cva5(
2301
2304
  // Default state
2302
2305
  "border-zinc-300 bg-background",
2303
2306
  // Hover state
2304
- "hover:border-brand-normal",
2307
+ "hover:border-primary-stroke-default",
2305
2308
  // Focus state
2306
2309
  "focus:border-blue-500",
2307
2310
  "active:border-brand-normal"
@@ -2328,6 +2331,8 @@ var Input = React21.forwardRef(
2328
2331
  rightIcon,
2329
2332
  leftIconClassName,
2330
2333
  rightIconClassName,
2334
+ rightIconOnClick,
2335
+ rightIconButtonProps,
2331
2336
  error,
2332
2337
  ...props
2333
2338
  }, ref) => {
@@ -2347,7 +2352,7 @@ var Input = React21.forwardRef(
2347
2352
  inputVariants({ size }),
2348
2353
  errorStyles2,
2349
2354
  "peer",
2350
- leftIcon && "pl-10",
2355
+ leftIcon && "pl-8",
2351
2356
  rightIcon && "pr-10",
2352
2357
  className
2353
2358
  ),
@@ -2361,7 +2366,7 @@ var Input = React21.forwardRef(
2361
2366
  {
2362
2367
  className: cn(
2363
2368
  "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
2364
- "transition-colors",
2369
+ "transition-colors stroke-[1.5px]",
2365
2370
  error ? "text-destructive peer-hover:text-destructive peer-focus:text-destructive peer-active:text-destructive" : "text-muted-foreground peer-hover:text-brand-normal peer-focus:text-blue-500 peer-active:text-brand-normal",
2366
2371
  leftIconClassName
2367
2372
  ),
@@ -2374,13 +2379,19 @@ var Input = React21.forwardRef(
2374
2379
  }
2375
2380
  ),
2376
2381
  rightIcon && /* @__PURE__ */ jsx23(
2377
- "div",
2382
+ Button,
2378
2383
  {
2384
+ onClick: rightIconOnClick,
2385
+ variant: "ghost",
2386
+ size: "icon",
2379
2387
  className: cn(
2380
- "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
2381
- "transition-colors",
2388
+ "absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center",
2389
+ "h-6 w-6 rounded-sm transition-colors",
2390
+ error ? "text-destructive hover:text-destructive focus:text-destructive" : "text-muted-foreground hover:text-brand-normal focus:text-blue-500",
2382
2391
  rightIconClassName
2383
2392
  ),
2393
+ "aria-label": "Input action",
2394
+ ...rightIconButtonProps,
2384
2395
  children: React21.isValidElement(rightIcon) ? (() => {
2385
2396
  const iconEl = rightIcon;
2386
2397
  return React21.cloneElement(iconEl, {
@@ -2470,7 +2481,7 @@ function InputOTPSeparator({ ...props }) {
2470
2481
  // src/components/ui/menubar.tsx
2471
2482
  import "react";
2472
2483
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
2473
- import { CheckIcon as CheckIcon4, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon3 } from "lucide-react";
2484
+ import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon3 } from "lucide-react";
2474
2485
  import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
2475
2486
  function Menubar({
2476
2487
  className,
@@ -2583,7 +2594,7 @@ function MenubarCheckboxItem({
2583
2594
  checked,
2584
2595
  ...props,
2585
2596
  children: [
2586
- /* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CheckIcon4, { className: "size-4" }) }) }),
2597
+ /* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CheckIcon3, { className: "size-4" }) }) }),
2587
2598
  children
2588
2599
  ]
2589
2600
  }
@@ -2780,7 +2791,7 @@ function NavigationMenuTrigger({
2780
2791
  /* @__PURE__ */ jsx26(
2781
2792
  ChevronDownIcon3,
2782
2793
  {
2783
- className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
2794
+ className: "relative top-[1px] ml-1 size-3 transition duration-400 group-data-[state=open]:rotate-180",
2784
2795
  "aria-hidden": "true"
2785
2796
  }
2786
2797
  )
@@ -2798,7 +2809,7 @@ function NavigationMenuContent({
2798
2809
  "data-slot": "navigation-menu-content",
2799
2810
  className: cn(
2800
2811
  "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
2801
- "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
2812
+ "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-400 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
2802
2813
  className
2803
2814
  ),
2804
2815
  ...props
@@ -3018,8 +3029,8 @@ function PopoverAnchor({
3018
3029
  }
3019
3030
 
3020
3031
  // src/components/ui/progress.tsx
3021
- import "react";
3022
3032
  import * as ProgressPrimitive from "@radix-ui/react-progress";
3033
+ import "react";
3023
3034
  import { jsx as jsx29 } from "react/jsx-runtime";
3024
3035
  function Progress({
3025
3036
  className,
@@ -3039,7 +3050,7 @@ function Progress({
3039
3050
  ProgressPrimitive.Indicator,
3040
3051
  {
3041
3052
  "data-slot": "progress-indicator",
3042
- className: "bg-primary h-full w-full flex-1 transition-all",
3053
+ className: "bg-primary h-full w-full flex-1 transition-all rounded-full",
3043
3054
  style: { transform: `translateX(-${100 - (value || 0)}%)` }
3044
3055
  }
3045
3056
  )
@@ -3074,7 +3085,7 @@ function RadioGroupItem({
3074
3085
  {
3075
3086
  "data-slot": "radio-group-item",
3076
3087
  className: cn(
3077
- "border-input text-primary focus-visible:border-ring focus-visible:ring-brand-text-vibrant aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary",
3088
+ "border-input text-primary focus-visible:border-ring focus-visible:ring-brand-text-vibrant aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border transition-all duration-400 outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary",
3078
3089
  className
3079
3090
  ),
3080
3091
  ...props,
@@ -3082,8 +3093,8 @@ function RadioGroupItem({
3082
3093
  RadioGroupPrimitive.Indicator,
3083
3094
  {
3084
3095
  "data-slot": "radio-group-indicator",
3085
- className: "relative flex items-center justify-center ",
3086
- children: /* @__PURE__ */ jsx30(CircleIcon4, { className: "fill-white absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 " })
3096
+ className: "relative flex items-center justify-center",
3097
+ children: /* @__PURE__ */ jsx30(CircleIcon4, { className: "fill-white absolute top-1/2 left-1/2 size-1.5 -translate-x-1/2 -translate-y-1/2" })
3087
3098
  }
3088
3099
  )
3089
3100
  }
@@ -3196,7 +3207,7 @@ function ScrollBar({
3196
3207
  // src/components/ui/select.tsx
3197
3208
  import "react";
3198
3209
  import * as SelectPrimitive from "@radix-ui/react-select";
3199
- import { CheckIcon as CheckIcon5, ChevronDownIcon as ChevronDownIcon4, ChevronUpIcon } from "lucide-react";
3210
+ import { CheckIcon as CheckIcon4, ChevronDownIcon as ChevronDownIcon4, ChevronUpIcon } from "lucide-react";
3200
3211
  import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
3201
3212
  function Select({
3202
3213
  ...props
@@ -3298,7 +3309,7 @@ function SelectItem({
3298
3309
  ),
3299
3310
  ...props,
3300
3311
  children: [
3301
- /* @__PURE__ */ jsx33("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx33(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx33(CheckIcon5, { className: "size-4" }) }) }),
3312
+ /* @__PURE__ */ jsx33("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx33(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx33(CheckIcon4, { className: "size-4" }) }) }),
3302
3313
  /* @__PURE__ */ jsx33(SelectPrimitive.ItemText, { children })
3303
3314
  ]
3304
3315
  }
@@ -4279,7 +4290,7 @@ function Switch({
4279
4290
  {
4280
4291
  "data-slot": "switch",
4281
4292
  className: cn(
4282
- "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-brand-text-vibrant dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:ring-offset-1",
4293
+ "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-brand-text-vibrant dark:data-[state=unchecked]:bg-input/80 inline-flex h-[24px] w-[40px] shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:ring-offset-1 ",
4283
4294
  className
4284
4295
  ),
4285
4296
  ...props,
@@ -4288,7 +4299,7 @@ function Switch({
4288
4299
  {
4289
4300
  "data-slot": "switch-thumb",
4290
4301
  className: cn(
4291
- "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
4302
+ "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-5 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-3px)] data-[state=unchecked]:translate-x-[1px]"
4292
4303
  )
4293
4304
  }
4294
4305
  )
@@ -4471,7 +4482,7 @@ import { jsx as jsx44 } from "react/jsx-runtime";
4471
4482
  var textareaBaseStyles = [
4472
4483
  // Base styles aligned with Input
4473
4484
  "placeholder:text-gray-subtle selection:bg-primary selection:text-primary-foreground",
4474
- "flex w-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-all duration-200",
4485
+ "flex w-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-all duration-400",
4475
4486
  "outline-none font-sans",
4476
4487
  // Disabled
4477
4488
  "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",