{/* Link Type */}
-
-
+
+
+
+ {linkTypeOptions.map((option, index) => {
+ if ('type' in option && option.type === 'separator') {
+ return ;
+ }
+ if ('value' in option) {
+ return (
+
+
+
+ {option.label}
+
+
+ );
+ }
+ return null;
+ })}
+
+
diff --git a/components/ui/button.tsx b/components/ui/button.tsx
index 9dbca355..80accedc 100644
--- a/components/ui/button.tsx
+++ b/components/ui/button.tsx
@@ -15,7 +15,7 @@ const buttonVariants = cva(
secondary: 'bg-secondary text-muted-foreground hover:bg-secondary/70 backdrop-blur',
purple: 'bg-purple-500/20 text-purple-300 hover:bg-purple-500/30',
data: 'bg-blue-500/20 text-blue-300 hover:bg-blue-500/30',
- ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 text-muted-foreground',
+ ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-secondary/70 text-muted-foreground',
link: 'text-primary underline-offset-4 hover:underline',
input: 'bg-input hover:bg-input/60 text-muted-foreground',
white: 'bg-white text-neutral-900',
diff --git a/components/ui/select.tsx b/components/ui/select.tsx
index 6e3e3972..02f2f7fd 100644
--- a/components/ui/select.tsx
+++ b/components/ui/select.tsx
@@ -7,6 +7,7 @@ import { cva, type VariantProps } from 'class-variance-authority'
import { cn } from '@/lib/utils'
import Icon from '@/components/ui/icon';
+import { Button } from '@/components/ui/button';
function Select({
...props
@@ -27,11 +28,11 @@ function SelectValue({
}
const selectVariants = cva(
- "border-transparent data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-[0px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex items-center justify-between gap-1 rounded-lg border bg-transparent px-2 py-1 text-sm whitespace-nowrap transition-[color,box-shadow] outline-none cursor-pointer 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 *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
+ "w-full border-transparent data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-[0px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex items-center justify-between gap-1 rounded-lg border bg-transparent px-2 py-1 text-sm whitespace-nowrap transition-[color,box-shadow] outline-none cursor-pointer 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 *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
{
variants: {
variant: {
- default: 'bg-input hover:bg-input/60',
+ default: 'bg-input',
ghost: 'hover:bg-input dark:hover:bg-input/70 border-transparent shadow-none backdrop-blur',
overlay: 'bg-white/90 text-neutral-800 hover:bg-white dark:bg-neutral-800/90 dark:text-white dark:hover:bg-neutral-800 disabled:opacity-80',
},
@@ -68,10 +69,12 @@ function SelectTrigger({
>
{children}
{onClear ? (
-
{
e.preventDefault();
e.stopPropagation();
@@ -86,8 +89,10 @@ function SelectTrigger({
}}
onPointerDown={(e) => e.stopPropagation()}
>
-
-
+
+
+
+
) : (