primereact
Version:
A rich set of premium UI Components for React.
4 lines (2 loc) • 1.47 kB
JavaScript
'use client';
import{Component as d,withComponent as M}from"@primereact/core/component";import{useMotion as R}from"@primereact/core/motion";import{OverlayEventBus as a}from"@primereact/core/utils";import{mergeProps as E}from"@primeuix/utils";import*as x from"react";import{createOptionalContext as v}from"@primereact/core/utils";var[y,s]=v();import{createOptionalContext as C}from"@primereact/core/utils";var[k,i]=C();var c={as:"div",motionProps:void 0};var T=M({name:"ContextMenu.Popup",defaultProps:c,setup({props:t}){let r=s(),p=i(),e=p?.menusub?.popover??r?.popover,o=R({cssVarPrefix:"px-contextmenu-popup",autoHeight:!1,autoWidth:!1,...t.motionProps,elementRef:e?.state.popupElement,visible:!!e?.state?.open,onAfterEnter:n=>{t.motionProps?.onAfterEnter?.(n)},onAfterLeave:n=>{t.motionProps?.onAfterLeave?.(n),e?.setRendered?.(!1)}});return{contextmenu:r,subcontextmenu:p,motion:o}},render(t){let{props:r,ptmi:p,contextmenu:e,subcontextmenu:o,motion:n}=t,m=o?.menusub?.popover??e?.popover,f=o?{}:{onPointerDownCapture:u=>{a.emit("overlay-click",{originalEvent:u,target:e?.elementRef?.current??null})},onMouseDownCapture:u=>{a.emit("overlay-click",{originalEvent:u,target:e?.elementRef?.current??null})}},l=o?m?.popupProps:e?.popupProps??m?.popupProps,P=E(l,{className:[e?.cx("popup"),e?.cx("root")],...f},e?.ptm("popup"),p("root"),n?.rootProps);return x.createElement(d,{instance:t,attrs:P,children:r.children})}});export{T as ContextMenuPopup,c as defaultPopupProps};