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