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