UNPKG

@reservoir0x/relay-kit-ui

Version:

Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.

49 lines 2.23 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { forwardRef, useState } from 'react'; import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'; import { cva, css as designCss } from '@reservoir0x/relay-design-system/css'; const DropdownMenuContentCss = cva({ base: { mx: '4', p: '3', borderRadius: 8, zIndex: 5, background: 'modal-background', boxShadow: '0px 0px 50px 0px #0000001F', border: 'dropdown-border' } }); const DropdownMenuContent = forwardRef(({ children, css, ...props }, forwardedRef) => { return (_jsx(DropdownMenuPrimitive.DropdownMenuContent, { ...props, ref: forwardedRef, className: designCss(DropdownMenuContentCss.raw(), designCss.raw(css)), children: children })); }); const DropdownMenuItemCss = cva({ base: { display: 'flex', alignItems: 'center', fontSize: 16, color: 'text-default', background: 'modal-background', p: '3', outline: 'none', cursor: 'pointer', transition: 'backdrop-filter 250ms linear', _hover: { backdropFilter: 'brightness(95%)', backgroundColor: 'gray/10' }, '&:focus': { backdropFilter: 'brightness(95%)', backgroundColor: 'gray/10' } } }); const DropdownMenuItem = forwardRef(({ children, css, ...props }, forwardedRef) => { return (_jsx(DropdownMenuPrimitive.DropdownMenuItem, { ...props, ref: forwardedRef, className: designCss(DropdownMenuItemCss.raw(), designCss.raw(css)), children: children })); }); const Dropdown = forwardRef(({ children, trigger, contentProps, ...props }, forwardedRef) => { const [open, setOpen] = useState(false); return (_jsxs(DropdownMenuPrimitive.Root, { ...props, open: props.open ?? open, onOpenChange: props.onOpenChange ?? setOpen, children: [_jsx(DropdownMenuPrimitive.Trigger, { asChild: true, children: trigger }), (props.open || open) && (_jsx(DropdownMenuContent, { ref: forwardedRef, ...contentProps, children: children }))] })); }); Dropdown.displayName = 'Dropdown'; export { Dropdown, DropdownMenuContent, DropdownMenuItem }; //# sourceMappingURL=Dropdown.js.map