UNPKG

@arolariu/components

Version:

🎨 70+ beautiful, accessible React components built on Base UI. TypeScript-first, CSS Modules styling, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡

221 lines (220 loc) • 8.76 kB
"use client"; import { jsx, jsxs } from "react/jsx-runtime"; import { ContextMenu } from "@base-ui/react/context-menu"; import { mergeProps } from "@base-ui/react/merge-props"; import { useRender } from "@base-ui/react/use-render"; import { Check, ChevronRight, Circle } from "lucide-react"; import { cn } from "../../lib/utilities.js"; import context_menu_module from "./context-menu.module.js"; import * as __rspack_external_react from "react"; function context_menu_ContextMenu(props) { return /*#__PURE__*/ jsx(ContextMenu.Root, { ...props }); } const ContextMenuGroup = ContextMenu.Group; const ContextMenuPortal = ContextMenu.Portal; const ContextMenuRadioGroup = ContextMenu.RadioGroup; const ContextMenuSub = ContextMenu.SubmenuRoot; const ContextMenuTrigger = /*#__PURE__*/ __rspack_external_react.forwardRef((props, ref)=>{ const { asChild = false, children, className, render, ...otherProps } = props; const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render; return /*#__PURE__*/ jsx(ContextMenu.Trigger, { ref: ref, ...otherProps, render: useRender({ defaultTagName: "div", render: renderProp, props: mergeProps({ className }, {}) }), children: renderProp ? void 0 : children }); }); function ContextMenuSubTrigger(props) { const { className, children, inset = false, render, ...otherProps } = props; return /*#__PURE__*/ jsxs(ContextMenu.SubmenuTrigger, { ...otherProps, render: useRender({ defaultTagName: "div", render: render, props: mergeProps({ className: cn(context_menu_module.item, context_menu_module.subTrigger, inset && context_menu_module.inset, className) }, {}) }), children: [ children, /*#__PURE__*/ jsx(ChevronRight, { className: context_menu_module.subTriggerIcon }) ] }); } function ContextMenuSubContent(props) { const { className, children, render, ...otherProps } = props; return /*#__PURE__*/ jsx(ContextMenu.Positioner, { ...otherProps, render: useRender({ defaultTagName: "div", props: mergeProps({ className: context_menu_module.positioner }, {}) }), children: /*#__PURE__*/ jsx(ContextMenu.Popup, { render: useRender({ defaultTagName: "div", render: render, props: mergeProps({ className: cn(context_menu_module.content, className) }, {}) }), children: children }) }); } const ContextMenuContent = /*#__PURE__*/ __rspack_external_react.forwardRef((props, ref)=>{ const { className, children, render, ...otherProps } = props; return /*#__PURE__*/ jsx(ContextMenuPortal, { children: /*#__PURE__*/ jsx(ContextMenu.Positioner, { ...otherProps, render: useRender({ defaultTagName: "div", props: mergeProps({ className: context_menu_module.positioner }, {}) }), children: /*#__PURE__*/ jsx(ContextMenu.Popup, { ref: ref, render: useRender({ defaultTagName: "div", render: render, props: mergeProps({ className: cn(context_menu_module.content, className) }, {}) }), children: children }) }) }); }); function ContextMenuItem(props) { const { asChild = false, children, className, inset = false, render, ...otherProps } = props; const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render; return /*#__PURE__*/ jsx(ContextMenu.Item, { ...otherProps, render: useRender({ defaultTagName: "div", render: renderProp, props: mergeProps({ className: cn(context_menu_module.item, inset && context_menu_module.inset, className) }, {}) }), children: renderProp ? void 0 : children }); } function ContextMenuCheckboxItem(props) { const { className, children, render, ...otherProps } = props; return /*#__PURE__*/ jsxs(ContextMenu.CheckboxItem, { ...otherProps, render: useRender({ defaultTagName: "div", render: render, props: mergeProps({ className: cn(context_menu_module.item, context_menu_module.indicatorItem, className) }, {}) }), children: [ /*#__PURE__*/ jsx("span", { className: context_menu_module.indicatorSlot, children: /*#__PURE__*/ jsx(ContextMenu.CheckboxItemIndicator, { children: /*#__PURE__*/ jsx(Check, { className: context_menu_module.indicatorIcon }) }) }), children ] }); } function ContextMenuRadioItem(props) { const { className, children, render, ...otherProps } = props; return /*#__PURE__*/ jsxs(ContextMenu.RadioItem, { ...otherProps, render: useRender({ defaultTagName: "div", render: render, props: mergeProps({ className: cn(context_menu_module.item, context_menu_module.indicatorItem, className) }, {}) }), children: [ /*#__PURE__*/ jsx("span", { className: context_menu_module.indicatorSlot, children: /*#__PURE__*/ jsx(ContextMenu.RadioItemIndicator, { children: /*#__PURE__*/ jsx(Circle, { className: context_menu_module.radioIndicatorIcon }) }) }), children ] }); } function ContextMenuLabel(props) { const { className, children, inset = false, render, ...otherProps } = props; return /*#__PURE__*/ jsx(ContextMenu.GroupLabel, { ...otherProps, render: useRender({ defaultTagName: "div", render: render, props: mergeProps({ className: cn(context_menu_module.label, inset && context_menu_module.inset, className) }, {}) }), children: children }); } function ContextMenuSeparator(props) { const { className, render, ...otherProps } = props; return /*#__PURE__*/ jsx(ContextMenu.Separator, { ...otherProps, render: useRender({ defaultTagName: "div", render: render, props: mergeProps({ className: cn(context_menu_module.separator, className) }, {}) }) }); } function ContextMenuShortcut(props) { const { asChild = false, children, className, render, ...otherProps } = props; const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render; return useRender({ defaultTagName: "span", render: renderProp, props: mergeProps({ className: cn(context_menu_module.shortcut, className) }, otherProps, { children: renderProp ? void 0 : children }) }); } context_menu_ContextMenu.displayName = "ContextMenu"; ContextMenuGroup.displayName = "ContextMenuGroup"; ContextMenuPortal.displayName = "ContextMenuPortal"; ContextMenuRadioGroup.displayName = "ContextMenuRadioGroup"; ContextMenuSub.displayName = "ContextMenuSub"; ContextMenuTrigger.displayName = "ContextMenuTrigger"; ContextMenuSubTrigger.displayName = "ContextMenuSubTrigger"; ContextMenuSubContent.displayName = "ContextMenuSubContent"; ContextMenuContent.displayName = "ContextMenuContent"; ContextMenuItem.displayName = "ContextMenuItem"; ContextMenuCheckboxItem.displayName = "ContextMenuCheckboxItem"; ContextMenuRadioItem.displayName = "ContextMenuRadioItem"; ContextMenuLabel.displayName = "ContextMenuLabel"; ContextMenuSeparator.displayName = "ContextMenuSeparator"; ContextMenuShortcut.displayName = "ContextMenuShortcut"; export { ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, context_menu_ContextMenu as ContextMenu }; //# sourceMappingURL=context-menu.js.map