Spaces:
Runtime error
Runtime error
| ; | |
| "use client"; | |
| var __create = Object.create; | |
| var __defProp = Object.defineProperty; | |
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | |
| var __getOwnPropNames = Object.getOwnPropertyNames; | |
| var __getProtoOf = Object.getPrototypeOf; | |
| var __hasOwnProp = Object.prototype.hasOwnProperty; | |
| var __export = (target, all) => { | |
| for (var name in all) | |
| __defProp(target, name, { get: all[name], enumerable: true }); | |
| }; | |
| var __copyProps = (to, from, except, desc) => { | |
| if (from && typeof from === "object" || typeof from === "function") { | |
| for (let key of __getOwnPropNames(from)) | |
| if (!__hasOwnProp.call(to, key) && key !== except) | |
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | |
| } | |
| return to; | |
| }; | |
| var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | |
| // If the importer is in node compatibility mode or this is not an ESM | |
| // file that has been converted to a CommonJS file using a Babel- | |
| // compatible transform (i.e. "__esModule" has not been set), then set | |
| // "default" to the CommonJS "module.exports" for node compatibility. | |
| isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | |
| mod | |
| )); | |
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | |
| // src/index.ts | |
| var index_exports = {}; | |
| __export(index_exports, { | |
| Arrow: () => Arrow2, | |
| CheckboxItem: () => CheckboxItem2, | |
| Content: () => Content2, | |
| ContextMenu: () => ContextMenu, | |
| ContextMenuArrow: () => ContextMenuArrow, | |
| ContextMenuCheckboxItem: () => ContextMenuCheckboxItem, | |
| ContextMenuContent: () => ContextMenuContent, | |
| ContextMenuGroup: () => ContextMenuGroup, | |
| ContextMenuItem: () => ContextMenuItem, | |
| ContextMenuItemIndicator: () => ContextMenuItemIndicator, | |
| ContextMenuLabel: () => ContextMenuLabel, | |
| ContextMenuPortal: () => ContextMenuPortal, | |
| ContextMenuRadioGroup: () => ContextMenuRadioGroup, | |
| ContextMenuRadioItem: () => ContextMenuRadioItem, | |
| ContextMenuSeparator: () => ContextMenuSeparator, | |
| ContextMenuSub: () => ContextMenuSub, | |
| ContextMenuSubContent: () => ContextMenuSubContent, | |
| ContextMenuSubTrigger: () => ContextMenuSubTrigger, | |
| ContextMenuTrigger: () => ContextMenuTrigger, | |
| Group: () => Group2, | |
| Item: () => Item2, | |
| ItemIndicator: () => ItemIndicator2, | |
| Label: () => Label2, | |
| Portal: () => Portal2, | |
| RadioGroup: () => RadioGroup2, | |
| RadioItem: () => RadioItem2, | |
| Root: () => Root2, | |
| Separator: () => Separator2, | |
| Sub: () => Sub2, | |
| SubContent: () => SubContent2, | |
| SubTrigger: () => SubTrigger2, | |
| Trigger: () => Trigger, | |
| createContextMenuScope: () => createContextMenuScope | |
| }); | |
| module.exports = __toCommonJS(index_exports); | |
| // src/context-menu.tsx | |
| var React = __toESM(require("react")); | |
| var import_primitive = require("@radix-ui/primitive"); | |
| var import_react_context = require("@radix-ui/react-context"); | |
| var import_react_primitive = require("@radix-ui/react-primitive"); | |
| var MenuPrimitive = __toESM(require("@radix-ui/react-menu")); | |
| var import_react_menu = require("@radix-ui/react-menu"); | |
| var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref"); | |
| var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state"); | |
| var import_jsx_runtime = require("react/jsx-runtime"); | |
| var CONTEXT_MENU_NAME = "ContextMenu"; | |
| var [createContextMenuContext, createContextMenuScope] = (0, import_react_context.createContextScope)(CONTEXT_MENU_NAME, [ | |
| import_react_menu.createMenuScope | |
| ]); | |
| var useMenuScope = (0, import_react_menu.createMenuScope)(); | |
| var [ContextMenuProvider, useContextMenuContext] = createContextMenuContext(CONTEXT_MENU_NAME); | |
| var ContextMenu = (props) => { | |
| const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props; | |
| const [open, setOpen] = React.useState(false); | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| const handleOpenChangeProp = (0, import_react_use_callback_ref.useCallbackRef)(onOpenChange); | |
| const handleOpenChange = React.useCallback( | |
| (open2) => { | |
| setOpen(open2); | |
| handleOpenChangeProp(open2); | |
| }, | |
| [handleOpenChangeProp] | |
| ); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | |
| ContextMenuProvider, | |
| { | |
| scope: __scopeContextMenu, | |
| open, | |
| onOpenChange: handleOpenChange, | |
| modal, | |
| children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | |
| MenuPrimitive.Root, | |
| { | |
| ...menuScope, | |
| dir, | |
| open, | |
| onOpenChange: handleOpenChange, | |
| modal, | |
| children | |
| } | |
| ) | |
| } | |
| ); | |
| }; | |
| ContextMenu.displayName = CONTEXT_MENU_NAME; | |
| var TRIGGER_NAME = "ContextMenuTrigger"; | |
| var ContextMenuTrigger = React.forwardRef( | |
| (props, forwardedRef) => { | |
| const { __scopeContextMenu, disabled = false, ...triggerProps } = props; | |
| const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu); | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| const pointRef = React.useRef({ x: 0, y: 0 }); | |
| const virtualRef = React.useRef({ | |
| getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current }) | |
| }); | |
| const longPressTimerRef = React.useRef(0); | |
| const clearLongPress = React.useCallback( | |
| () => window.clearTimeout(longPressTimerRef.current), | |
| [] | |
| ); | |
| const handleOpen = (event) => { | |
| pointRef.current = { x: event.clientX, y: event.clientY }; | |
| context.onOpenChange(true); | |
| }; | |
| React.useEffect(() => clearLongPress, [clearLongPress]); | |
| React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ | |
| /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Anchor, { ...menuScope, virtualRef }), | |
| /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | |
| import_react_primitive.Primitive.span, | |
| { | |
| "data-state": context.open ? "open" : "closed", | |
| "data-disabled": disabled ? "" : void 0, | |
| ...triggerProps, | |
| ref: forwardedRef, | |
| style: { WebkitTouchCallout: "none", ...props.style }, | |
| onContextMenu: disabled ? props.onContextMenu : (0, import_primitive.composeEventHandlers)(props.onContextMenu, (event) => { | |
| clearLongPress(); | |
| handleOpen(event); | |
| event.preventDefault(); | |
| }), | |
| onPointerDown: disabled ? props.onPointerDown : (0, import_primitive.composeEventHandlers)( | |
| props.onPointerDown, | |
| whenTouchOrPen((event) => { | |
| clearLongPress(); | |
| longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700); | |
| }) | |
| ), | |
| onPointerMove: disabled ? props.onPointerMove : (0, import_primitive.composeEventHandlers)(props.onPointerMove, whenTouchOrPen(clearLongPress)), | |
| onPointerCancel: disabled ? props.onPointerCancel : (0, import_primitive.composeEventHandlers)(props.onPointerCancel, whenTouchOrPen(clearLongPress)), | |
| onPointerUp: disabled ? props.onPointerUp : (0, import_primitive.composeEventHandlers)(props.onPointerUp, whenTouchOrPen(clearLongPress)) | |
| } | |
| ) | |
| ] }); | |
| } | |
| ); | |
| ContextMenuTrigger.displayName = TRIGGER_NAME; | |
| var PORTAL_NAME = "ContextMenuPortal"; | |
| var ContextMenuPortal = (props) => { | |
| const { __scopeContextMenu, ...portalProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Portal, { ...menuScope, ...portalProps }); | |
| }; | |
| ContextMenuPortal.displayName = PORTAL_NAME; | |
| var CONTENT_NAME = "ContextMenuContent"; | |
| var ContextMenuContent = React.forwardRef( | |
| (props, forwardedRef) => { | |
| const { __scopeContextMenu, ...contentProps } = props; | |
| const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu); | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| const hasInteractedOutsideRef = React.useRef(false); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | |
| MenuPrimitive.Content, | |
| { | |
| ...menuScope, | |
| ...contentProps, | |
| ref: forwardedRef, | |
| side: "right", | |
| sideOffset: 2, | |
| align: "start", | |
| onCloseAutoFocus: (event) => { | |
| props.onCloseAutoFocus?.(event); | |
| if (!event.defaultPrevented && hasInteractedOutsideRef.current) { | |
| event.preventDefault(); | |
| } | |
| hasInteractedOutsideRef.current = false; | |
| }, | |
| onInteractOutside: (event) => { | |
| props.onInteractOutside?.(event); | |
| if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true; | |
| }, | |
| style: { | |
| ...props.style, | |
| // re-namespace exposed content custom properties | |
| ...{ | |
| "--radix-context-menu-content-transform-origin": "var(--radix-popper-transform-origin)", | |
| "--radix-context-menu-content-available-width": "var(--radix-popper-available-width)", | |
| "--radix-context-menu-content-available-height": "var(--radix-popper-available-height)", | |
| "--radix-context-menu-trigger-width": "var(--radix-popper-anchor-width)", | |
| "--radix-context-menu-trigger-height": "var(--radix-popper-anchor-height)" | |
| } | |
| } | |
| } | |
| ); | |
| } | |
| ); | |
| ContextMenuContent.displayName = CONTENT_NAME; | |
| var GROUP_NAME = "ContextMenuGroup"; | |
| var ContextMenuGroup = React.forwardRef( | |
| (props, forwardedRef) => { | |
| const { __scopeContextMenu, ...groupProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef }); | |
| } | |
| ); | |
| ContextMenuGroup.displayName = GROUP_NAME; | |
| var LABEL_NAME = "ContextMenuLabel"; | |
| var ContextMenuLabel = React.forwardRef( | |
| (props, forwardedRef) => { | |
| const { __scopeContextMenu, ...labelProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef }); | |
| } | |
| ); | |
| ContextMenuLabel.displayName = LABEL_NAME; | |
| var ITEM_NAME = "ContextMenuItem"; | |
| var ContextMenuItem = React.forwardRef( | |
| (props, forwardedRef) => { | |
| const { __scopeContextMenu, ...itemProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef }); | |
| } | |
| ); | |
| ContextMenuItem.displayName = ITEM_NAME; | |
| var CHECKBOX_ITEM_NAME = "ContextMenuCheckboxItem"; | |
| var ContextMenuCheckboxItem = React.forwardRef((props, forwardedRef) => { | |
| const { __scopeContextMenu, ...checkboxItemProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef }); | |
| }); | |
| ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME; | |
| var RADIO_GROUP_NAME = "ContextMenuRadioGroup"; | |
| var ContextMenuRadioGroup = React.forwardRef((props, forwardedRef) => { | |
| const { __scopeContextMenu, ...radioGroupProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef }); | |
| }); | |
| ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME; | |
| var RADIO_ITEM_NAME = "ContextMenuRadioItem"; | |
| var ContextMenuRadioItem = React.forwardRef((props, forwardedRef) => { | |
| const { __scopeContextMenu, ...radioItemProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef }); | |
| }); | |
| ContextMenuRadioItem.displayName = RADIO_ITEM_NAME; | |
| var INDICATOR_NAME = "ContextMenuItemIndicator"; | |
| var ContextMenuItemIndicator = React.forwardRef((props, forwardedRef) => { | |
| const { __scopeContextMenu, ...itemIndicatorProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef }); | |
| }); | |
| ContextMenuItemIndicator.displayName = INDICATOR_NAME; | |
| var SEPARATOR_NAME = "ContextMenuSeparator"; | |
| var ContextMenuSeparator = React.forwardRef((props, forwardedRef) => { | |
| const { __scopeContextMenu, ...separatorProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef }); | |
| }); | |
| ContextMenuSeparator.displayName = SEPARATOR_NAME; | |
| var ARROW_NAME = "ContextMenuArrow"; | |
| var ContextMenuArrow = React.forwardRef( | |
| (props, forwardedRef) => { | |
| const { __scopeContextMenu, ...arrowProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef }); | |
| } | |
| ); | |
| ContextMenuArrow.displayName = ARROW_NAME; | |
| var SUB_NAME = "ContextMenuSub"; | |
| var ContextMenuSub = (props) => { | |
| const { __scopeContextMenu, children, onOpenChange, open: openProp, defaultOpen } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| const [open, setOpen] = (0, import_react_use_controllable_state.useControllableState)({ | |
| prop: openProp, | |
| defaultProp: defaultOpen ?? false, | |
| onChange: onOpenChange, | |
| caller: SUB_NAME | |
| }); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children }); | |
| }; | |
| ContextMenuSub.displayName = SUB_NAME; | |
| var SUB_TRIGGER_NAME = "ContextMenuSubTrigger"; | |
| var ContextMenuSubTrigger = React.forwardRef((props, forwardedRef) => { | |
| const { __scopeContextMenu, ...triggerItemProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.SubTrigger, { ...menuScope, ...triggerItemProps, ref: forwardedRef }); | |
| }); | |
| ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME; | |
| var SUB_CONTENT_NAME = "ContextMenuSubContent"; | |
| var ContextMenuSubContent = React.forwardRef((props, forwardedRef) => { | |
| const { __scopeContextMenu, ...subContentProps } = props; | |
| const menuScope = useMenuScope(__scopeContextMenu); | |
| return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | |
| MenuPrimitive.SubContent, | |
| { | |
| ...menuScope, | |
| ...subContentProps, | |
| ref: forwardedRef, | |
| style: { | |
| ...props.style, | |
| // re-namespace exposed content custom properties | |
| ...{ | |
| "--radix-context-menu-content-transform-origin": "var(--radix-popper-transform-origin)", | |
| "--radix-context-menu-content-available-width": "var(--radix-popper-available-width)", | |
| "--radix-context-menu-content-available-height": "var(--radix-popper-available-height)", | |
| "--radix-context-menu-trigger-width": "var(--radix-popper-anchor-width)", | |
| "--radix-context-menu-trigger-height": "var(--radix-popper-anchor-height)" | |
| } | |
| } | |
| } | |
| ); | |
| }); | |
| ContextMenuSubContent.displayName = SUB_CONTENT_NAME; | |
| function whenTouchOrPen(handler) { | |
| return (event) => event.pointerType !== "mouse" ? handler(event) : void 0; | |
| } | |
| var Root2 = ContextMenu; | |
| var Trigger = ContextMenuTrigger; | |
| var Portal2 = ContextMenuPortal; | |
| var Content2 = ContextMenuContent; | |
| var Group2 = ContextMenuGroup; | |
| var Label2 = ContextMenuLabel; | |
| var Item2 = ContextMenuItem; | |
| var CheckboxItem2 = ContextMenuCheckboxItem; | |
| var RadioGroup2 = ContextMenuRadioGroup; | |
| var RadioItem2 = ContextMenuRadioItem; | |
| var ItemIndicator2 = ContextMenuItemIndicator; | |
| var Separator2 = ContextMenuSeparator; | |
| var Arrow2 = ContextMenuArrow; | |
| var Sub2 = ContextMenuSub; | |
| var SubTrigger2 = ContextMenuSubTrigger; | |
| var SubContent2 = ContextMenuSubContent; | |
| //# sourceMappingURL=index.js.map | |