UNPKG

primereact

Version:

A rich set of premium UI Components for React.

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