primereact
Version:
A rich set of premium UI Components for React.
4 lines (2 loc) • 1.24 kB
JavaScript
'use client';
var v=Object.defineProperty;var y=(r,o)=>{for(var t in o)v(r,t,{get:o[t],enumerable:!0})};import{Component as b,withComponent as C}from"@primereact/core/component";import{useFocusTrap as E}from"@primereact/headless/focustrap";import{mergeProps as i}from"@primeuix/utils";import{VisuallyHidden as n}from"primereact/visuallyhidden";import*as e from"react";import{createOptionalContext as h}from"@primereact/core/utils";var[a,V]=h();var m={};y(m,{defaultProps:()=>s});import*as c from"@primereact/headless/focustrap";var s={...c.defaultProps,as:"div"};var q=C({name:"FocusTrap",defaultProps:s,setup(r){return E(r.inProps)},render(r){let{props:o,cx:t,ptmi:d,ptm:p,containerRef:f,firstHiddenElementRef:u,lastHiddenElementRef:l,firstHiddenProps:P,lastHiddenProps:F}=r,T=i({className:t("root")},d("root")),x=i(P,p("hiddenElement"),p("pcVisibleHidden.root")),H=i(F,p("hiddenElement"),p("pcVisibleHidden.root"));return e.createElement(a,{value:r},e.createElement(n,{ref:u,focusable:!!o.trapped,...x}),e.createElement(b,{ref:f,instance:r,attrs:T,children:o.children}),e.createElement(n,{ref:l,focusable:!!o.trapped,...H}))}});export{q as FocusTrap,m as FocusTrapProps,a as FocusTrapProvider,s as defaultProps,V as useFocusTrapContext};