primereact
Version:
A rich set of premium UI Components for React.
4 lines (2 loc) • 1.18 kB
JavaScript
'use client';
import{Component as a,withComponent as u}from"@primereact/core/component";import{useMotion as l}from"@primereact/core/motion";import{useOverlayClickEmitter as f}from"@primereact/core/utils";import{mergeProps as P}from"@primeuix/utils";import{FocusTrap as d}from"primereact/focustrap";import*as p from"react";import{createOptionalContext as c}from"@primereact/core/utils";var[v,n]=c();var s={as:"div",motionProps:void 0};var L=u({name:"Select.Popup",defaultProps:s,setup({props:o}){let t=n(),e=l({cssVarPrefix:"px-select-popup",...o.motionProps,elementRef:t?.state.popupElement,visible:!!t?.state?.opened,onAfterLeave:r=>{o.motionProps?.onAfterLeave?.(r),t?.setRendered?.(!1)}});return f(t?.state.popupElement,()=>t?.elementRef?.current),{select:t,motion:e}},render(o){let{props:t,select:e,ptmi:r,motion:m}=o,i=P(e?.popupProps,{className:e?.cx("popup")},e?.ptm("popup"),r("root"),m?.rootProps);return p.createElement(d,{as:p.Fragment,trapped:e?.state.opened,autoFocus:!1,onEscape:()=>e?.hide?.(),onTabFirst:()=>e?.focus?.(),onTabLast:()=>e?.focus?.()},p.createElement(a,{instance:o,attrs:i,children:t.children}))}});export{L as SelectPopup,s as defaultPopupProps};