UNPKG

primereact

Version:

A rich set of premium UI Components for React.

4 lines (2 loc) 1.35 kB
'use client'; import{Component as c,withComponent as P}from"@primereact/core/component";import{useMotion as g}from"@primereact/core/motion";import{mergeProps as n,resolve as x}from"@primeuix/utils";import{VisuallyHidden as f}from"primereact/visuallyhidden";import*as p from"react";import{createOptionalContext as u}from"@primereact/core/utils";var[E,a]=u();var l={as:"div",motionProps:void 0};var M=P({name:"Dialog.Popup",defaultProps:l,setup({props:t}){let e=a(),i=!!e?.state?.trapped,r=g({cssVarPrefix:"px-dialog-popup",appear:!0,...t.motionProps,elementRef:e?.state?.popupElement,visible:!!e?.state?.open,onAfterEnter:o=>{t.motionProps?.onAfterEnter?.(o),e?.onOpenComplete?.()},onAfterLeave:o=>{t.motionProps?.onAfterLeave?.(o),e?.onCloseComplete?.()}});return{dialog:e,motion:r,isTrapped:i}},render(t){let{props:e,ptmi:i,ptm:r,dialog:o,motion:s,isTrapped:m}=t,d=n(o?.popupProps,{className:o?.cx("root")},o?.ptm("popup"),i("root"),s?.rootProps);return p.createElement(c,{pIf:s?.state.rendered,instance:t,attrs:d},m&&p.createElement(f,{focusable:!0,ref:o?.focusTrap?.firstHiddenElementRef,...n(o?.focusTrap?.firstHiddenProps,r("hiddenElement"))}),x(e.children,t),m&&p.createElement(f,{focusable:!0,ref:o?.focusTrap?.lastHiddenElementRef,...n(o?.focusTrap?.lastHiddenProps,r("hiddenElement"))}))}});export{M as DialogPopup,l as defaultPopupProps};