| 135 | } |
| 136 | |
| 137 | function DropdownMenuRadioItem({ |
| 138 | className, |
| 139 | children, |
| 140 | ...props |
| 141 | }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) { |
| 142 | return ( |
| 143 | <DropdownMenuPrimitive.RadioItem |
| 144 | data-slot="dropdown-menu-radio-item" |
| 145 | className={cn( |
| 146 | "relative flex cursor-pointer select-none items-center gap-2 rounded-sm py-2 pl-8 pr-3 text-sm outline-none transition-colors", |
| 147 | "text-[var(--color-text)] hover:bg-[var(--color-bg-weak)]", |
| 148 | "data-[disabled]:pointer-events-none data-[disabled]:opacity-50", |
| 149 | "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", |
| 150 | className |
| 151 | )} |
| 152 | {...props} |
| 153 | > |
| 154 | <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"> |
| 155 | <DropdownMenuPrimitive.ItemIndicator> |
| 156 | <CircleIcon className="size-2 fill-current" /> |
| 157 | </DropdownMenuPrimitive.ItemIndicator> |
| 158 | </span> |
| 159 | {children} |
| 160 | </DropdownMenuPrimitive.RadioItem> |
| 161 | ) |
| 162 | } |
| 163 | |
| 164 | function DropdownMenuLabel({ |
| 165 | className, |