UNPKG

@kit-data-manager/react-search-component

Version:

All-in-one component for rendering an elastic search UI for searching anything. Built-in support for visualizing related items in a graph and resolving unique identifiers.

33 lines 6.49 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import * as React from "react"; import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; import { Check, ChevronRight, Circle } from "lucide-react"; import { cn } from "../../lib/utils"; const DropdownMenu = DropdownMenuPrimitive.Root; const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger; const DropdownMenuGroup = DropdownMenuPrimitive.Group; const DropdownMenuPortal = DropdownMenuPrimitive.Portal; const DropdownMenuSub = DropdownMenuPrimitive.Sub; const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup; const DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.SubTrigger, { ref: ref, className: cn("rfs:flex rfs:cursor-default rfs:gap-2 rfs:select-none rfs:items-center rfs:rounded-sm rfs:px-2 rfs:py-1.5 rfs:text-sm rfs:outline-hidden rfs:focus:bg-accent rfs:data-[state=open]:bg-accent rfs:[&_svg]:pointer-events-none rfs:[&_svg]:size-4 rfs:[&_svg]:shrink-0", inset && "rfs:pl-8", className), ...props, children: [children, _jsx(ChevronRight, { className: "rfs:ml-auto" })] }))); DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName; const DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.SubContent, { ref: ref, className: cn("rfs:z-50 rfs:min-w-32 rfs:overflow-hidden rfs:rounded-md rfs:border rfs:bg-popover rfs:p-1 rfs:text-popover-foreground rfs:shadow-lg rfs:data-[state=open]animate-in rfs:data-[state=closed]:animate-out data-[state=closed]:rfs-fade-out-0 data-[state=open]:rfs-fade-in-0 data-[state=closed]:rfs-zoom-out-95 data-[state=open]:rfs-zoom-in-95 data-[side=bottom]:rfs-slide-in-from-top-2 data-[side=left]:rfs-slide-in-from-right-2 data-[side=right]:rfs-slide-in-from-left-2 data-[side=top]:rfs-slide-in-from-bottom-2", className), ...props }))); DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName; const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx("div", { className: "rfs:contents rfs-root", children: _jsx(DropdownMenuPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: cn("rfs-root rfs:z-50 rfs:min-w-32 rfs:overflow-hidden rfs:rounded-md rfs:border rfs:border-input rfs:bg-popover rfs:p-1 rfs:text-popover-foreground rfs:shadow-md rfs:data-[state=open]:animate-in rfs:data-[state=closed]:animate-out rfs:data-[state=closed]:fade-out-0 rfs:data-[state=open]:fade-in-0 rfs:data-[state=closed]:zoom-out-95 rfs:data-[state=open]:zoom-in-95 rfs:data-[side=bottom]:slide-in-from-top-2 rfs:data-[side=left]:slide-in-from-right-2 rfs:data-[side=right]:slide-in-from-left-2 rfs:data-[side=top]:slide-in-from-bottom-2", className), ...props }) }) }))); DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName; const DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Item, { ref: ref, className: cn("rfs:relative rfs:flex rfs:cursor-default rfs:select-none rfs:items-center rfs:gap-2 rfs:rounded-sm rfs:px-2 rfs:py-1.5 rfs:text-sm rfs:outline-hidden rfs:transition-colors rfs:focus:bg-accent rfs:focus:text-accent-foreground rfs:data-disabled:pointer-events-none rfs:data-disabled:opacity-50 rfs:[&_svg]:pointer-events-none rfs:[&_svg]:size-4 rfs:[&_svg]:shrink-0", inset && "rfs:pl-8", className), ...props }))); DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName; const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.CheckboxItem, { ref: ref, className: cn("rfs:relative rfs:flex rfs:cursor-default rfs:select-none rfs:items-center rfs:rounded-sm rfs:py-1.5 rfs:pl-8 rfs:pr-2 rfs:text-sm rfs:outline-hidden rfs:transition-colors rfs:focus:bg-accent rfs:focus:text-accent-foreground rfs:data-disabled:pointer-events-none rfs:data-disabled:opacity-50", className), checked: checked, ...props, children: [_jsx("span", { className: "rfs:absolute rfs:left-2 rfs:flex rfs:h-3.5 rfs:w-3.5 rfs:items-center rfs:justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(Check, { className: "rfs:h-4 rfs:w-4" }) }) }), children] }))); DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName; const DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.RadioItem, { ref: ref, className: cn("rfs:relative rfs:flex rfs:cursor-default rfs:select-none rfs:items-center rfs:rounded-sm rfs:py-1.5 rfs:pl-8 rfs:pr-2 rfs:text-sm rfs:outline-hidden rfs:transition-colors rfs:focus:bg-accent rfs:focus:text-accent-foreground rfs:data-disabled:pointer-events-none rfs:data-disabled:opacity-50", className), ...props, children: [_jsx("span", { className: "rfs:absolute rfs:left-2 rfs:flex rfs:h-3.5 rfs:w-3.5 rfs:items-center rfs:justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(Circle, { className: "rfs:h-2 rfs:w-2 rfs:fill-current" }) }) }), children] }))); DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName; const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Label, { ref: ref, className: cn("rfs:px-2 rfs:py-1.5 rfs:text-sm rfs:font-semibold", inset && "rfs:pl-8", className), ...props }))); DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName; const DropdownMenuSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Separator, { ref: ref, className: cn("rfs:-mx-1 rfs:my-1 rfs:h-px rfs:bg-muted", className), ...props }))); DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName; const DropdownMenuShortcut = ({ className, ...props }) => { return _jsx("span", { className: cn("rfs:ml-auto rfs:text-xs rfs:tracking-widest rfs:opacity-60", className), ...props }); }; DropdownMenuShortcut.displayName = "DropdownMenuShortcut"; export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup }; //# sourceMappingURL=dropdown-menu.js.map