@fluid-app/ui-primitives 0.1.3 → 0.1.4

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.cjs CHANGED
@@ -147,7 +147,7 @@ function AccordionContent({
147
147
  "div",
148
148
  {
149
149
  className: cn(
150
- "cn-accordion-content-inner h-(--radix-accordion-content-height) [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
150
+ "cn-accordion-content-inner [&_a]:hover:text-foreground h-(--radix-accordion-content-height) [&_a]:underline [&_a]:underline-offset-3 [&_p:not(:last-child)]:mb-4",
151
151
  className
152
152
  ),
153
153
  children
@@ -207,7 +207,7 @@ function AlertDescription({
207
207
  {
208
208
  "data-slot": "alert-description",
209
209
  className: cn(
210
- "col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed",
210
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
211
211
  className
212
212
  ),
213
213
  ...props
@@ -215,13 +215,13 @@ function AlertDescription({
215
215
  );
216
216
  }
217
217
  var buttonVariants = classVarianceAuthority.cva(
218
- "inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
218
+ "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
219
219
  {
220
220
  variants: {
221
221
  variant: {
222
222
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
223
223
  destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
224
- outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
224
+ outline: "bg-background hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 border shadow-xs",
225
225
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
226
226
  ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
227
227
  link: "text-primary underline-offset-4 hover:underline"
@@ -292,7 +292,7 @@ function AlertDialogOverlay({
292
292
  {
293
293
  "data-slot": "alert-dialog-overlay",
294
294
  className: cn(
295
- "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
295
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
296
296
  className
297
297
  ),
298
298
  ...props
@@ -312,7 +312,7 @@ function AlertDialogContent({
312
312
  "data-slot": "alert-dialog-content",
313
313
  "data-size": size,
314
314
  className: cn(
315
- "group/alert-dialog-content 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 bg-background p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg",
315
+ "group/alert-dialog-content bg-background data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 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 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",
316
316
  className
317
317
  ),
318
318
  ...props
@@ -376,7 +376,7 @@ function AlertDialogDescription({
376
376
  radixUi.AlertDialog.Description,
377
377
  {
378
378
  "data-slot": "alert-dialog-description",
379
- className: cn("text-sm text-muted-foreground", className),
379
+ className: cn("text-muted-foreground text-sm", className),
380
380
  ...props
381
381
  }
382
382
  );
@@ -390,7 +390,7 @@ function AlertDialogMedia({
390
390
  {
391
391
  "data-slot": "alert-dialog-media",
392
392
  className: cn(
393
- "mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",
393
+ "bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",
394
394
  className
395
395
  ),
396
396
  ...props
@@ -467,7 +467,7 @@ function AvatarFallback({
467
467
  {
468
468
  "data-slot": "avatar-fallback",
469
469
  className: cn(
470
- "flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
470
+ "bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",
471
471
  className
472
472
  ),
473
473
  ...props
@@ -480,7 +480,7 @@ function AvatarBadge({ className, ...props }) {
480
480
  {
481
481
  "data-slot": "avatar-badge",
482
482
  className: cn(
483
- "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none",
483
+ "bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 select-none",
484
484
  "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
485
485
  "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
486
486
  "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
@@ -496,7 +496,7 @@ function AvatarGroup({ className, ...props }) {
496
496
  {
497
497
  "data-slot": "avatar-group",
498
498
  className: cn(
499
- "group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
499
+ "group/avatar-group *:data-[slot=avatar]:ring-background flex -space-x-2 *:data-[slot=avatar]:ring-2",
500
500
  className
501
501
  ),
502
502
  ...props
@@ -512,7 +512,7 @@ function AvatarGroupCount({
512
512
  {
513
513
  "data-slot": "avatar-group-count",
514
514
  className: cn(
515
- "relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
515
+ "bg-muted text-muted-foreground ring-background relative flex size-8 shrink-0 items-center justify-center rounded-full text-sm ring-2 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
516
516
  className
517
517
  ),
518
518
  ...props
@@ -520,13 +520,13 @@ function AvatarGroupCount({
520
520
  );
521
521
  }
522
522
  var badgeVariants = classVarianceAuthority.cva(
523
- "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",
523
+ "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",
524
524
  {
525
525
  variants: {
526
526
  variant: {
527
527
  default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
528
528
  secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
529
- destructive: "bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",
529
+ destructive: "bg-destructive focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90 text-white",
530
530
  outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
531
531
  ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
532
532
  link: "text-primary underline-offset-4 [a&]:hover:underline"
@@ -622,7 +622,7 @@ function Card({ className, ...props }) {
622
622
  {
623
623
  "data-slot": "card",
624
624
  className: cn(
625
- "flex h-full flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm",
625
+ "bg-card text-card-foreground flex h-full flex-col gap-6 rounded-xl border py-6 shadow-sm",
626
626
  className
627
627
  ),
628
628
  ...props
@@ -657,7 +657,7 @@ function CardDescription({ className, ...props }) {
657
657
  "div",
658
658
  {
659
659
  "data-slot": "card-description",
660
- className: cn("text-sm text-muted-foreground", className),
660
+ className: cn("text-muted-foreground text-sm", className),
661
661
  ...props
662
662
  }
663
663
  );
@@ -719,7 +719,7 @@ function ChartContainer({
719
719
  "data-slot": "chart",
720
720
  "data-chart": chartId,
721
721
  className: cn(
722
- "flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",
722
+ "[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",
723
723
  className
724
724
  ),
725
725
  ...props,
@@ -804,7 +804,7 @@ function ChartTooltipContent({
804
804
  "div",
805
805
  {
806
806
  className: cn(
807
- "grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",
807
+ "border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
808
808
  className
809
809
  ),
810
810
  children: [
@@ -817,7 +817,7 @@ function ChartTooltipContent({
817
817
  "div",
818
818
  {
819
819
  className: cn(
820
- "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
820
+ "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
821
821
  indicator === "dot" && "items-center"
822
822
  ),
823
823
  children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -851,7 +851,7 @@ function ChartTooltipContent({
851
851
  nestLabel ? tooltipLabel : null,
852
852
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
853
853
  ] }),
854
- item.value && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono font-medium text-foreground tabular-nums", children: item.value.toLocaleString() })
854
+ item.value && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
855
855
  ]
856
856
  }
857
857
  )
@@ -891,7 +891,7 @@ function ChartLegendContent({
891
891
  "div",
892
892
  {
893
893
  className: cn(
894
- "flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
894
+ "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
895
895
  ),
896
896
  children: [
897
897
  itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsxRuntime.jsx(itemConfig.icon, {}) : /* @__PURE__ */ jsxRuntime.jsx(
@@ -1104,7 +1104,7 @@ function DialogOverlay({
1104
1104
  {
1105
1105
  "data-slot": "dialog-overlay",
1106
1106
  className: cn(
1107
- "fixed inset-0 z-50 bg-gray-900/70 backdrop-blur-sm data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
1107
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-gray-900/70 backdrop-blur-sm",
1108
1108
  className
1109
1109
  ),
1110
1110
  ...props
@@ -1125,7 +1125,7 @@ function DialogContent({
1125
1125
  {
1126
1126
  "data-slot": "dialog-content",
1127
1127
  className: cn(
1128
- "fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-6 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",
1128
+ "bg-background data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 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-6 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
1129
1129
  className
1130
1130
  ),
1131
1131
  ...props,
@@ -1135,7 +1135,7 @@ function DialogContent({
1135
1135
  SheetPrimitive__namespace.Close,
1136
1136
  {
1137
1137
  "data-slot": "dialog-close",
1138
- className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1138
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1139
1139
  children: [
1140
1140
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {}),
1141
1141
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
@@ -1191,7 +1191,7 @@ function DialogDescription({
1191
1191
  SheetPrimitive__namespace.Description,
1192
1192
  {
1193
1193
  "data-slot": "dialog-description",
1194
- className: cn("text-sm text-muted-foreground", className),
1194
+ className: cn("text-muted-foreground text-sm", className),
1195
1195
  ...props
1196
1196
  }
1197
1197
  );
@@ -1229,7 +1229,7 @@ function DropdownMenuContent({
1229
1229
  "data-slot": "dropdown-menu-content",
1230
1230
  sideOffset,
1231
1231
  className: cn(
1232
- "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 bg-popover p-1 text-popover-foreground shadow-md 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
1232
+ "bg-popover text-popover-foreground 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 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",
1233
1233
  className
1234
1234
  ),
1235
1235
  ...props
@@ -1254,7 +1254,7 @@ function DropdownMenuItem({
1254
1254
  "data-inset": inset,
1255
1255
  "data-variant": variant,
1256
1256
  className: cn(
1257
- "relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive",
1257
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive 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",
1258
1258
  className
1259
1259
  ),
1260
1260
  ...props
@@ -1271,7 +1271,7 @@ function DropdownMenuCheckboxItem({
1271
1271
  {
1272
1272
  "data-slot": "dropdown-menu-checkbox-item",
1273
1273
  className: cn(
1274
- "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1274
+ "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",
1275
1275
  className
1276
1276
  ),
1277
1277
  ...props,
@@ -1303,7 +1303,7 @@ function DropdownMenuRadioItem({
1303
1303
  {
1304
1304
  "data-slot": "dropdown-menu-radio-item",
1305
1305
  className: cn(
1306
- "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1306
+ "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",
1307
1307
  className
1308
1308
  ),
1309
1309
  ...props,
@@ -1340,7 +1340,7 @@ function DropdownMenuSeparator({
1340
1340
  DropdownMenuPrimitive__namespace.Separator,
1341
1341
  {
1342
1342
  "data-slot": "dropdown-menu-separator",
1343
- className: cn("-mx-1 my-1 h-px bg-border", className),
1343
+ className: cn("bg-border -mx-1 my-1 h-px", className),
1344
1344
  ...props
1345
1345
  }
1346
1346
  );
@@ -1354,7 +1354,7 @@ function DropdownMenuShortcut({
1354
1354
  {
1355
1355
  "data-slot": "dropdown-menu-shortcut",
1356
1356
  className: cn(
1357
- "ml-auto text-xs tracking-widest text-muted-foreground",
1357
+ "text-muted-foreground ml-auto text-xs tracking-widest",
1358
1358
  className
1359
1359
  ),
1360
1360
  ...props
@@ -1378,7 +1378,7 @@ function DropdownMenuSubTrigger({
1378
1378
  "data-slot": "dropdown-menu-sub-trigger",
1379
1379
  "data-inset": inset,
1380
1380
  className: cn(
1381
- "flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
1381
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1382
1382
  className
1383
1383
  ),
1384
1384
  ...props,
@@ -1398,7 +1398,7 @@ function DropdownMenuSubContent({
1398
1398
  {
1399
1399
  "data-slot": "dropdown-menu-sub-content",
1400
1400
  className: cn(
1401
- "z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
1401
+ "bg-popover text-popover-foreground 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
1402
1402
  className
1403
1403
  ),
1404
1404
  ...props
@@ -1502,7 +1502,7 @@ function FormDescription({ className, ...props }) {
1502
1502
  {
1503
1503
  "data-slot": "form-description",
1504
1504
  id: formDescriptionId,
1505
- className: cn("text-sm text-muted-foreground", className),
1505
+ className: cn("text-muted-foreground text-sm", className),
1506
1506
  ...props
1507
1507
  }
1508
1508
  );
@@ -1518,7 +1518,7 @@ function FormMessage({ className, ...props }) {
1518
1518
  {
1519
1519
  "data-slot": "form-message",
1520
1520
  id: formMessageId,
1521
- className: cn("text-sm text-destructive", className),
1521
+ className: cn("text-destructive text-sm", className),
1522
1522
  ...props,
1523
1523
  children: body
1524
1524
  }
@@ -1545,13 +1545,13 @@ function IconButton({
1545
1545
  );
1546
1546
  }
1547
1547
  var toggleVariants = classVarianceAuthority.cva(
1548
- "inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1548
+ "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1549
1549
  {
1550
1550
  variants: {
1551
1551
  variant: {
1552
1552
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
1553
- destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
1554
- outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
1553
+ destructive: "bg-destructive hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 text-white",
1554
+ outline: "bg-background hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 border shadow-xs",
1555
1555
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
1556
1556
  ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
1557
1557
  link: "text-primary underline-offset-4 hover:underline"
@@ -1602,8 +1602,8 @@ function Input({ className, type, ...props }) {
1602
1602
  type,
1603
1603
  "data-slot": "input",
1604
1604
  className: cn(
1605
- "h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30",
1606
- "focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
1605
+ "border-input selection:bg-primary selection:text-primary-foreground file:text-foreground placeholder:text-muted-foreground dark:bg-input/30 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",
1606
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
1607
1607
  "aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",
1608
1608
  className
1609
1609
  ),
@@ -1737,7 +1737,7 @@ function RadioGroupItem({
1737
1737
  {
1738
1738
  "data-slot": "radio-group-item",
1739
1739
  className: cn(
1740
- "aspect-square size-4 shrink-0 rounded-full border border-input text-primary shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40",
1740
+ "border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
1741
1741
  className
1742
1742
  ),
1743
1743
  ...props,
@@ -1746,7 +1746,7 @@ function RadioGroupItem({
1746
1746
  {
1747
1747
  "data-slot": "radio-group-indicator",
1748
1748
  className: "relative flex items-center justify-center",
1749
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleIcon, { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-primary" })
1749
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleIcon, { className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" })
1750
1750
  }
1751
1751
  )
1752
1752
  }
@@ -1779,7 +1779,7 @@ function SelectTrigger({
1779
1779
  "data-slot": "select-trigger",
1780
1780
  "data-size": size,
1781
1781
  className: cn(
1782
- "flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
1782
+ "border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='text-'])]:text-muted-foreground flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1783
1783
  className
1784
1784
  ),
1785
1785
  ...props,
@@ -1803,7 +1803,7 @@ function SelectContent({
1803
1803
  {
1804
1804
  "data-slot": "select-content",
1805
1805
  className: cn(
1806
- "relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
1806
+ "bg-popover text-popover-foreground 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
1807
1807
  position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
1808
1808
  className
1809
1809
  ),
@@ -1835,7 +1835,7 @@ function SelectLabel({
1835
1835
  SelectPrimitive__namespace.Label,
1836
1836
  {
1837
1837
  "data-slot": "select-label",
1838
- className: cn("px-2 py-1.5 text-xs text-muted-foreground", className),
1838
+ className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
1839
1839
  ...props
1840
1840
  }
1841
1841
  );
@@ -1850,7 +1850,7 @@ function SelectItem({
1850
1850
  {
1851
1851
  "data-slot": "select-item",
1852
1852
  className: cn(
1853
- "relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
1853
+ "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 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 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
1854
1854
  className
1855
1855
  ),
1856
1856
  ...props,
@@ -1869,7 +1869,7 @@ function SelectSeparator({
1869
1869
  SelectPrimitive__namespace.Separator,
1870
1870
  {
1871
1871
  "data-slot": "select-separator",
1872
- className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
1872
+ className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
1873
1873
  ...props
1874
1874
  }
1875
1875
  );
@@ -1936,7 +1936,7 @@ var SheetOverlay = React15__namespace.forwardRef(({ className, ...props }, ref)
1936
1936
  SheetPrimitive__namespace.Overlay,
1937
1937
  {
1938
1938
  className: cn(
1939
- "fixed inset-0 z-[1040] bg-black/80 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
1939
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 fixed inset-0 z-[1040] bg-black/80",
1940
1940
  className
1941
1941
  ),
1942
1942
  ...props,
@@ -1945,14 +1945,14 @@ var SheetOverlay = React15__namespace.forwardRef(({ className, ...props }, ref)
1945
1945
  ));
1946
1946
  SheetOverlay.displayName = SheetPrimitive__namespace.Overlay.displayName;
1947
1947
  var sheetVariants = classVarianceAuthority.cva(
1948
- "fixed z-[1050] gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",
1948
+ "bg-background data-[state=closed]:animate-out data-[state=open]:animate-in fixed z-[1050] gap-4 p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
1949
1949
  {
1950
1950
  variants: {
1951
1951
  side: {
1952
- top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
1953
- bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
1954
- left: "inset-y-0 left-0 h-full w-full border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
1955
- right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
1952
+ top: "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",
1953
+ bottom: "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",
1954
+ left: "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-full border-r sm:max-w-sm",
1955
+ right: "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"
1956
1956
  }
1957
1957
  },
1958
1958
  defaultVariants: {
@@ -1969,7 +1969,7 @@ var SheetContent = React15__namespace.forwardRef(({ side = "right", className, c
1969
1969
  className: cn(sheetVariants({ side }), className),
1970
1970
  ...props,
1971
1971
  children: [
1972
- /* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "absolute top-4 right-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [
1972
+ /* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [
1973
1973
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {}),
1974
1974
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
1975
1975
  ] }),
@@ -2007,7 +2007,7 @@ var SheetTitle = React15__namespace.forwardRef(({ className, ...props }, ref) =>
2007
2007
  SheetPrimitive__namespace.Title,
2008
2008
  {
2009
2009
  ref,
2010
- className: cn("text-lg font-semibold text-foreground", className),
2010
+ className: cn("text-foreground text-lg font-semibold", className),
2011
2011
  ...props
2012
2012
  }
2013
2013
  ));
@@ -2016,7 +2016,7 @@ var SheetDescription = React15__namespace.forwardRef(({ className, ...props }, r
2016
2016
  SheetPrimitive__namespace.Description,
2017
2017
  {
2018
2018
  ref,
2019
- className: cn("text-sm text-muted-foreground", className),
2019
+ className: cn("text-muted-foreground text-sm", className),
2020
2020
  ...props
2021
2021
  }
2022
2022
  ));
@@ -2028,7 +2028,7 @@ function Skeleton({
2028
2028
  return /* @__PURE__ */ jsxRuntime.jsx(
2029
2029
  "div",
2030
2030
  {
2031
- className: cn("animate-pulse rounded-md bg-muted", className),
2031
+ className: cn("bg-muted animate-pulse rounded-md", className),
2032
2032
  ...props
2033
2033
  }
2034
2034
  );
@@ -2043,8 +2043,8 @@ var Slider = React15__namespace.forwardRef(({ className, ...props }, ref) => /*
2043
2043
  ),
2044
2044
  ...props,
2045
2045
  children: [
2046
- /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-gray-200", children: /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Range, { className: "absolute h-full bg-primary" }) }),
2047
- /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50" })
2046
+ /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-gray-200", children: /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Range, { className: "bg-primary absolute h-full" }) }),
2047
+ /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Thumb, { className: "border-primary bg-background ring-offset-background focus-visible:ring-ring block h-5 w-5 rounded-full border-2 transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50" })
2048
2048
  ]
2049
2049
  }
2050
2050
  ));
@@ -2084,6 +2084,18 @@ function Toaster({ theme = "system", ...props }) {
2084
2084
  }
2085
2085
  );
2086
2086
  }
2087
+ function Spinner({ className, ...props }) {
2088
+ return /* @__PURE__ */ jsxRuntime.jsx(
2089
+ lucideReact.LoaderIcon,
2090
+ {
2091
+ "data-slot": "spinner",
2092
+ role: "status",
2093
+ "aria-label": "Loading",
2094
+ className: cn("size-4 animate-spin", className),
2095
+ ...props
2096
+ }
2097
+ );
2098
+ }
2087
2099
  function SpinnerWithText({
2088
2100
  text = "Loading...",
2089
2101
  variant = "inline",
@@ -2140,7 +2152,7 @@ var Switch = React15__namespace.forwardRef(({ className, ...props }, ref) => /*
2140
2152
  SwitchPrimitive__namespace.Root,
2141
2153
  {
2142
2154
  className: cn(
2143
- "peer relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-gray-200",
2155
+ "peer focus-visible:ring-ring focus-visible:ring-offset-background data-[state=checked]:bg-primary relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-gray-200",
2144
2156
  className
2145
2157
  ),
2146
2158
  ...props,
@@ -2199,7 +2211,7 @@ function TableFooter({ className, ...props }) {
2199
2211
  {
2200
2212
  "data-slot": "table-footer",
2201
2213
  className: cn(
2202
- "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
2214
+ "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
2203
2215
  className
2204
2216
  ),
2205
2217
  ...props
@@ -2212,7 +2224,7 @@ function TableRow({ className, ...props }) {
2212
2224
  {
2213
2225
  "data-slot": "table-row",
2214
2226
  className: cn(
2215
- "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
2227
+ "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
2216
2228
  className
2217
2229
  ),
2218
2230
  ...props
@@ -2225,7 +2237,7 @@ function TableHead({ className, ...props }) {
2225
2237
  {
2226
2238
  "data-slot": "table-head",
2227
2239
  className: cn(
2228
- "h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
2240
+ "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
2229
2241
  className
2230
2242
  ),
2231
2243
  ...props
@@ -2253,7 +2265,7 @@ function TableCaption({
2253
2265
  "caption",
2254
2266
  {
2255
2267
  "data-slot": "table-caption",
2256
- className: cn("mt-4 text-sm text-muted-foreground", className),
2268
+ className: cn("text-muted-foreground mt-4 text-sm", className),
2257
2269
  ...props
2258
2270
  }
2259
2271
  );
@@ -2280,7 +2292,7 @@ function TabsList({
2280
2292
  {
2281
2293
  "data-slot": "tabs-list",
2282
2294
  className: cn(
2283
- "inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted p-[3px] text-muted-foreground",
2295
+ "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
2284
2296
  className
2285
2297
  ),
2286
2298
  ...props
@@ -2296,7 +2308,7 @@ function TabsTrigger({
2296
2308
  {
2297
2309
  "data-slot": "tabs-trigger",
2298
2310
  className: cn(
2299
- "inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:shadow-sm dark:text-muted-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2311
+ "text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring data-[state=active]:bg-background dark:text-muted-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2300
2312
  className
2301
2313
  ),
2302
2314
  ...props
@@ -2322,7 +2334,7 @@ function Textarea({ className, ...props }) {
2322
2334
  {
2323
2335
  "data-slot": "textarea",
2324
2336
  className: cn(
2325
- "flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",
2337
+ "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
2326
2338
  className
2327
2339
  ),
2328
2340
  ...props
@@ -2412,7 +2424,7 @@ function TooltipContent({
2412
2424
  {
2413
2425
  sideOffset,
2414
2426
  className: cn(
2415
- "z-50 animate-in overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md fade-in-0 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
2427
+ "animate-in bg-popover text-popover-foreground fade-in-0 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",
2416
2428
  className
2417
2429
  ),
2418
2430
  ...props
@@ -2541,6 +2553,7 @@ exports.SheetTitle = SheetTitle;
2541
2553
  exports.SheetTrigger = SheetTrigger;
2542
2554
  exports.Skeleton = Skeleton;
2543
2555
  exports.Slider = Slider;
2556
+ exports.Spinner = Spinner;
2544
2557
  exports.SpinnerWithText = SpinnerWithText;
2545
2558
  exports.Switch = Switch;
2546
2559
  exports.Table = Table;