primereact
Version:
A rich set of premium UI Components for React.
4 lines (2 loc) • 1.46 kB
JavaScript
'use client';
import{Component as P,withComponent as c}from"@primereact/core/component";import{useMotion as l}from"@primereact/core/motion";import{useOverlayClickEmitter as d}from"@primereact/core/utils";import{mergeProps as v}from"@primeuix/utils";import{VisuallyHidden as f}from"primereact/visuallyhidden";import*as t from"react";import{createOptionalContext as u}from"@primereact/core/utils";var[R,i]=u();var m={as:"div",motionProps:void 0};var h=c({name:"Popover.Popup",defaultProps:m,setup({props:p}){let o=i(),n=!!o?.state?.trapped,e=l({cssVarPrefix:"px-popover-popup",...p.motionProps,appear:!0,elementRef:o?.state.popupElement,visible:!!o?.state?.open,onAfterEnter:r=>{p.motionProps?.onAfterEnter?.(r),o?.onOpenComplete?.()},onAfterLeave:r=>{p.motionProps?.onAfterLeave?.(r),o?.setRendered?.(!1),o?.onCloseComplete?.()}});return d(o?.state.popupElement,()=>o?.elementRef?.current),{popover:o,motion:e,isTrapped:n}},render(p){let{props:o,ptmi:n,popover:e,motion:r,isTrapped:s}=p,a=v(e?.popupProps,{className:e?.cx("popup")},e?.ptm("popup"),n("root"),r?.rootProps);return t.createElement(t.Fragment,null,s&&t.createElement(f,{focusable:!0,ref:e?.focusTrap?.firstHiddenElementRef,...e?.focusTrap?.firstHiddenProps}),t.createElement(P,{instance:p,attrs:a,children:o.children,ref:e?.setPopupRef}),s&&t.createElement(f,{focusable:!0,ref:e?.focusTrap?.lastHiddenElementRef,...e?.focusTrap?.lastHiddenProps}))}});export{h as PopoverPopup,m as defaultPopupProps};