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