| 97 | } |
| 98 | |
| 99 | function SelectItem({ |
| 100 | className, |
| 101 | children, |
| 102 | ...props |
| 103 | }: React.ComponentProps<typeof SelectPrimitive.Item>) { |
| 104 | return ( |
| 105 | <SelectPrimitive.Item |
| 106 | data-slot="select-item" |
| 107 | className={cn( |
| 108 | "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", |
| 109 | className |
| 110 | )} |
| 111 | {...props} |
| 112 | > |
| 113 | <span className="absolute right-2 flex size-3.5 items-center justify-center"> |
| 114 | <SelectPrimitive.ItemIndicator> |
| 115 | <CheckIcon className="size-4" /> |
| 116 | </SelectPrimitive.ItemIndicator> |
| 117 | </span> |
| 118 | <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText> |
| 119 | </SelectPrimitive.Item> |
| 120 | ) |
| 121 | } |
| 122 | |
| 123 | function SelectSeparator({ |
| 124 | className, |