{content}
diff --git a/full-stack/src/components/ui/hover-card.tsx b/full-stack/src/components/ui/hover-card.tsx
index 493157f..554e570 100644
--- a/full-stack/src/components/ui/hover-card.tsx
+++ b/full-stack/src/components/ui/hover-card.tsx
@@ -30,7 +30,7 @@ function HoverCardContent({
align={align}
sideOffset={sideOffset}
className={cn(
- "data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 bg-popover text-popover-foreground w-72 rounded-2xl p-4 text-sm shadow-2xl ring-1 duration-100 z-50 origin-(--radix-hover-card-content-transform-origin) outline-hidden",
+ "z-50 w-72 origin-(--radix-hover-card-content-transform-origin) rounded-2xl bg-popover p-4 text-sm text-popover-foreground shadow-2xl ring-1 ring-foreground/5 outline-hidden duration-100 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-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
className
)}
{...props}
diff --git a/full-stack/src/components/ui/input-group.tsx b/full-stack/src/components/ui/input-group.tsx
index 3cd8d46..6f84de9 100644
--- a/full-stack/src/components/ui/input-group.tsx
+++ b/full-stack/src/components/ui/input-group.tsx
@@ -12,7 +12,7 @@ function InputGroup({ className, ...props }: React.ComponentProps<"div">) {
data-slot="input-group"
role="group"
className={cn(
- "border-input bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 h-9 rounded-4xl border transition-colors in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-2xl has-data-[align=block-start]:rounded-2xl has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[textarea]:rounded-xl 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-[>[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 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto",
+ "group/input-group relative flex h-9 w-full min-w-0 items-center rounded-4xl border border-input bg-input/30 transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-2xl has-data-[align=block-start]:rounded-2xl has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] 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-[3px] has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[textarea]:rounded-xl 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: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",
className
)}
{...props}
@@ -21,16 +21,18 @@ function InputGroup({ className, ...props }: React.ComponentProps<"div">) {
}
const inputGroupAddonVariants = cva(
- "text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-2 py-2 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-4xl **:data-[slot=kbd]:px-1.5 [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none",
+ "flex h-auto cursor-text items-center justify-center gap-2 py-2 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-4xl **:data-[slot=kbd]:bg-muted-foreground/10 **:data-[slot=kbd]:px-1.5 [&>svg:not([class*='size-'])]:size-4",
{
variants: {
align: {
- "inline-start": "pl-3 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem] order-first",
- "inline-end": "pr-3 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem] order-last",
+ "inline-start":
+ "order-first pl-3 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem]",
+ "inline-end":
+ "order-last pr-3 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem]",
"block-start":
- "px-3 pt-3 group-has-[>input]/input-group:pt-3 [.border-b]:pb-3 order-first w-full justify-start",
+ "order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-3 [.border-b]:pb-3",
"block-end":
- "px-3 pb-3 group-has-[>input]/input-group:pb-3 [.border-t]:pt-3 order-last w-full justify-start",
+ "order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-3 [.border-t]:pt-3",
},
},
defaultVariants: {
@@ -62,7 +64,7 @@ function InputGroupAddon({
}
const inputGroupButtonVariants = cva(
- "gap-2 rounded-4xl text-sm shadow-none flex items-center",
+ "flex items-center gap-2 rounded-4xl text-sm shadow-none",
{
variants: {
size: {
@@ -101,7 +103,7 @@ function InputGroupText({ className, ...props }: React.ComponentProps<"span">) {
return (
)
@@ -129,7 +134,10 @@ function InputGroupTextarea({
return (
)
diff --git a/full-stack/src/components/ui/input-otp.tsx b/full-stack/src/components/ui/input-otp.tsx
index f8cef88..b682027 100644
--- a/full-stack/src/components/ui/input-otp.tsx
+++ b/full-stack/src/components/ui/input-otp.tsx
@@ -21,10 +21,7 @@ function InputOTP({
containerClassName
)}
spellCheck={false}
- className={cn(
- "disabled:cursor-not-allowed",
- className
- )}
+ className={cn("disabled:cursor-not-allowed", className)}
{...props}
/>
)
@@ -34,7 +31,10 @@ function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">) {
return (
)
@@ -55,7 +55,7 @@ function InputOTPSlot({
data-slot="input-otp-slot"
data-active={isActive}
className={cn(
- "bg-input/30 border-input data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive size-9 border-y border-r text-sm transition-all outline-none first:rounded-l-4xl first:border-l last:rounded-r-4xl data-[active=true]:ring-[3px] relative flex items-center justify-center data-[active=true]:z-10",
+ "relative flex size-9 items-center justify-center border-y border-r border-input bg-input/30 text-sm transition-all outline-none first:rounded-l-4xl first:border-l last:rounded-r-4xl aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-[3px] data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40",
className
)}
{...props}
@@ -63,7 +63,7 @@ function InputOTPSlot({
{char}
{hasFakeCaret && (
)}
@@ -74,7 +74,7 @@ function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {
return (
diff --git a/full-stack/src/components/ui/input.tsx b/full-stack/src/components/ui/input.tsx
index def1998..e49996f 100644
--- a/full-stack/src/components/ui/input.tsx
+++ b/full-stack/src/components/ui/input.tsx
@@ -8,7 +8,7 @@ function Input({ className, type, ...props }: React.ComponentProps<"input">) {
type={type}
data-slot="input"
className={cn(
- "bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-9 rounded-4xl border px-3 py-1 text-base transition-colors file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
+ "h-9 w-full min-w-0 rounded-4xl border border-input bg-input/30 px-3 py-1 text-base transition-colors outline-none 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 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
className
)}
{...props}
diff --git a/full-stack/src/components/ui/item.tsx b/full-stack/src/components/ui/item.tsx
index 225be34..2d49219 100644
--- a/full-stack/src/components/ui/item.tsx
+++ b/full-stack/src/components/ui/item.tsx
@@ -11,7 +11,7 @@ function ItemGroup({ className, ...props }: React.ComponentProps<"div">) {
role="list"
data-slot="item-group"
className={cn(
- "gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2 group/item-group flex w-full flex-col",
+ "group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
className
)}
{...props}
@@ -34,13 +34,13 @@ function ItemSeparator({
}
const itemVariants = cva(
- "[a]:hover:bg-muted rounded-2xl border text-sm w-full group/item focus-visible:border-ring focus-visible:ring-ring/50 flex items-center flex-wrap outline-none transition-colors duration-100 focus-visible:ring-[3px] [a]:transition-colors",
+ "group/item flex w-full flex-wrap items-center rounded-2xl border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted",
{
variants: {
variant: {
default: "border-transparent",
outline: "border-border",
- muted: "bg-muted/50 border-transparent",
+ muted: "border-transparent bg-muted/50",
},
size: {
default: "gap-3.5 px-4 py-3.5",
@@ -76,13 +76,14 @@ function Item({
}
const itemMediaVariants = cva(
- "gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start flex shrink-0 items-center justify-center [&_svg]:pointer-events-none",
+ "flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none",
{
variants: {
variant: {
default: "bg-transparent",
icon: "[&_svg:not([class*='size-'])]:size-4",
- image: "size-10 overflow-hidden rounded-lg group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 group-data-[size=xs]/item:rounded-md [&_img]:size-full [&_img]:object-cover",
+ image:
+ "size-10 overflow-hidden rounded-lg group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 group-data-[size=xs]/item:rounded-md [&_img]:size-full [&_img]:object-cover",
},
},
defaultVariants: {
@@ -111,7 +112,7 @@ function ItemContent({ className, ...props }: React.ComponentProps<"div">) {
) {
) {
a:hover]:text-primary line-clamp-2 font-normal [&>a]:underline [&>a]:underline-offset-4",
+ "line-clamp-2 text-left text-sm font-normal text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
className
)}
{...props}
@@ -149,7 +150,7 @@ function ItemActions({ className, ...props }: React.ComponentProps<"div">) {
return (
)
@@ -160,7 +161,7 @@ function ItemHeader({ className, ...props }: React.ComponentProps<"div">) {
) {
) {
) {
return (
)
diff --git a/full-stack/src/components/ui/label.tsx b/full-stack/src/components/ui/label.tsx
index 33dc071..f752f82 100644
--- a/full-stack/src/components/ui/label.tsx
+++ b/full-stack/src/components/ui/label.tsx
@@ -11,7 +11,7 @@ function Label({
)
@@ -53,7 +53,7 @@ function MenubarTrigger({
@@ -97,7 +97,7 @@ function MenubarItem({
data-inset={inset}
data-variant={variant}
className={cn(
- "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2.5 rounded-xl px-3 py-2 text-sm data-disabled:opacity-50 data-inset:pl-9.5 [&_svg:not([class*='size-'])]:size-4 group/menubar-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0",
+ "group/menubar-item relative flex cursor-default items-center gap-2.5 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-9.5 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 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!",
className
)}
{...props}
@@ -119,13 +119,13 @@ function MenubarCheckboxItem({
data-slot="menubar-checkbox-item"
data-inset={inset}
className={cn(
- "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-xl py-2 pr-3 pl-9.5 text-sm data-inset:pl-9.5 relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0",
+ "relative flex cursor-default items-center gap-2.5 rounded-xl py-2 pr-3 pl-9.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0",
className
)}
checked={checked}
{...props}
>
-
+
@@ -149,12 +149,12 @@ function MenubarRadioItem({
data-slot="menubar-radio-item"
data-inset={inset}
className={cn(
- "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-xl py-2 pr-3 pl-9.5 text-sm data-disabled:opacity-50 data-inset:pl-9.5 [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0",
+ "relative flex cursor-default items-center gap-2.5 rounded-xl py-2 pr-3 pl-9.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
className
)}
{...props}
>
-
+
@@ -176,7 +176,10 @@ function MenubarLabel({
)
@@ -189,7 +192,7 @@ function MenubarSeparator({
return (
)
@@ -202,7 +205,10 @@ function MenubarShortcut({
return (
)
@@ -227,7 +233,7 @@ function MenubarSubTrigger({
data-slot="menubar-sub-trigger"
data-inset={inset}
className={cn(
- "focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground gap-2 rounded-xl px-3 py-2 text-sm data-inset:pl-9.5 [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center outline-none select-none",
+ "flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-9.5 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4",
className
)}
{...props}
@@ -245,7 +251,7 @@ function MenubarSubContent({
return (
)
diff --git a/full-stack/src/components/ui/native-select.tsx b/full-stack/src/components/ui/native-select.tsx
index ae44dc5..b579bda 100644
--- a/full-stack/src/components/ui/native-select.tsx
+++ b/full-stack/src/components/ui/native-select.tsx
@@ -24,16 +24,25 @@ function NativeSelect({
-
+
)
}
-function NativeSelectOption({ ...props }: React.ComponentProps<"option">) {
- return
+function NativeSelectOption({
+ className,
+ ...props
+}: React.ComponentProps<"option">) {
+ return (
+
+ )
}
function NativeSelectOptGroup({
@@ -43,7 +52,7 @@ function NativeSelectOptGroup({
return (
)
diff --git a/full-stack/src/components/ui/navigation-menu.tsx b/full-stack/src/components/ui/navigation-menu.tsx
index a216df6..9cda5a3 100644
--- a/full-stack/src/components/ui/navigation-menu.tsx
+++ b/full-stack/src/components/ui/navigation-menu.tsx
@@ -37,7 +37,7 @@ function NavigationMenuList({
{children}{" "}
-
+
)
}
@@ -87,7 +87,7 @@ function NavigationMenuContent({
)
@@ -138,12 +141,12 @@ function NavigationMenuIndicator({
-
+
)
}
diff --git a/full-stack/src/components/ui/pagination.tsx b/full-stack/src/components/ui/pagination.tsx
index 9ebef3d..88ac19f 100644
--- a/full-stack/src/components/ui/pagination.tsx
+++ b/full-stack/src/components/ui/pagination.tsx
@@ -10,10 +10,7 @@ function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
role="navigation"
aria-label="pagination"
data-slot="pagination"
- className={cn(
- "mx-auto flex w-full justify-center",
- className
- )}
+ className={cn("mx-auto flex w-full justify-center", className)}
{...props}
/>
)
@@ -26,7 +23,7 @@ function PaginationContent({
return (
)
@@ -77,9 +74,7 @@ function PaginationPrevious({
{...props}
>
-
- {text}
-
+ {text}
)
}
@@ -111,7 +106,7 @@ function PaginationEllipsis({
aria-hidden
data-slot="pagination-ellipsis"
className={cn(
- "size-9 [&_svg:not([class*='size-'])]:size-4 flex items-center justify-center",
+ "flex size-9 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
className
)}
{...props}
diff --git a/full-stack/src/components/ui/popover.tsx b/full-stack/src/components/ui/popover.tsx
index cc7ccd8..34fffbe 100644
--- a/full-stack/src/components/ui/popover.tsx
+++ b/full-stack/src/components/ui/popover.tsx
@@ -28,7 +28,7 @@ function PopoverContent({
align={align}
sideOffset={sideOffset}
className={cn(
- "bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 flex flex-col gap-4 rounded-2xl p-4 text-sm shadow-2xl ring-1 duration-100 z-50 w-72 origin-(--radix-popover-content-transform-origin) outline-hidden",
+ "z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-4 rounded-2xl bg-popover p-4 text-sm text-popover-foreground shadow-2xl ring-1 ring-foreground/5 outline-hidden duration-100 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-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
className
)}
{...props}
diff --git a/full-stack/src/components/ui/progress.tsx b/full-stack/src/components/ui/progress.tsx
index 1c22b7e..777e627 100644
--- a/full-stack/src/components/ui/progress.tsx
+++ b/full-stack/src/components/ui/progress.tsx
@@ -14,14 +14,14 @@ function Progress({
diff --git a/full-stack/src/components/ui/radio-group.tsx b/full-stack/src/components/ui/radio-group.tsx
index e2abbe6..2e770be 100644
--- a/full-stack/src/components/ui/radio-group.tsx
+++ b/full-stack/src/components/ui/radio-group.tsx
@@ -2,7 +2,6 @@ import * as React from "react"
import { RadioGroup as RadioGroupPrimitive } from "radix-ui"
import { cn } from "@/lib/utils"
-import { CircleIcon } from "lucide-react"
function RadioGroup({
className,
@@ -11,7 +10,7 @@ function RadioGroup({
return (
)
@@ -25,16 +24,16 @@ function RadioGroupItem({
-
+
)
diff --git a/full-stack/src/components/ui/resizable.tsx b/full-stack/src/components/ui/resizable.tsx
index 46d7ef6..c9e767a 100644
--- a/full-stack/src/components/ui/resizable.tsx
+++ b/full-stack/src/components/ui/resizable.tsx
@@ -35,13 +35,13 @@ function ResizableHandle({
div]:rotate-90",
+ "relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90",
className
)}
{...props}
>
{withHandle && (
-
+
)}
)
diff --git a/full-stack/src/components/ui/scroll-area.tsx b/full-stack/src/components/ui/scroll-area.tsx
index 605ef01..f49b0a8 100644
--- a/full-stack/src/components/ui/scroll-area.tsx
+++ b/full-stack/src/components/ui/scroll-area.tsx
@@ -16,7 +16,7 @@ function ScrollArea({
>
{children}
@@ -37,14 +37,14 @@ function ScrollBar({
data-orientation={orientation}
orientation={orientation}
className={cn(
- "data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent flex touch-none p-px transition-colors select-none",
+ "flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent",
className
)}
{...props}
>
)
diff --git a/full-stack/src/components/ui/select.tsx b/full-stack/src/components/ui/select.tsx
index 2f18ed5..f3ef9c0 100644
--- a/full-stack/src/components/ui/select.tsx
+++ b/full-stack/src/components/ui/select.tsx
@@ -44,14 +44,14 @@ function SelectTrigger({
data-slot="select-trigger"
data-size={size}
className={cn(
- "border-input data-placeholder:text-muted-foreground bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-4xl border px-3 py-2 text-sm transition-colors focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
+ "flex w-fit items-center justify-between gap-1.5 rounded-4xl border border-input bg-input/30 px-3 py-2 text-sm whitespace-nowrap transition-colors 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-[3px] 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-1.5 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
className
)}
{...props}
>
{children}
-
+
)
@@ -69,7 +69,7 @@ function SelectContent({
)
@@ -112,7 +112,7 @@ function SelectItem({
)
@@ -147,7 +150,10 @@ function SelectScrollUpButton({
return (
)
@@ -56,13 +59,20 @@ function SheetContent({
{children}
{showCloseButton && (
-