@undp/design-system-react
Version:
React based design system for UNDP
2 lines • 6.08 kB
JavaScript
const e=require("./rolldown-runtime-mLOUI7ql.cjs"),t=require("./dist--OhUIyHO.cjs"),n=require("./dist-VI-VV5wq.cjs"),r=require("./dist-CTSEb5uk.cjs"),i=require("./dist-Cepu74FS.cjs");let a=require("react");a=e.r(a,1);let o=require("react/jsx-runtime");var s=Object.defineProperty,c=(e,t)=>s(e,`name`,{value:t,configurable:!0}),l=`dismissableLayer.update`,u=`dismissableLayer.pointerDownOutside`,d=`dismissableLayer.focusOutside`,f,p=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),m=a.forwardRef(c(function(e,s){let{disableOutsidePointerEvents:u=!1,deferPointerDownOutside:d=!1,onEscapeKeyDown:m,onPointerDownOutside:h,onFocusOutside:g,onInteractOutside:_,onDismiss:x,...S}=e,C=a.useContext(p),[w,T]=a.useState(null),E=w?.ownerDocument??globalThis?.document,[,D]=a.useState({}),O=t.i(s,T),k=Array.from(C.layers),[A]=[...C.layersWithOutsidePointerEventsDisabled].slice(-1),j=A?k.indexOf(A):-1,M=w?k.indexOf(w):-1,N=C.layersWithOutsidePointerEventsDisabled.size>0,P=M>=j,F=a.useRef(!1),I=v(e=>{h?.(e),_?.(e),e.defaultPrevented||x?.()},{ownerDocument:E,deferPointerDownOutside:d,isDeferredPointerDownOutsideRef:F,dismissableSurfaces:C.dismissableSurfaces,shouldHandlePointerDownOutside:a.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...C.branches].some(t=>t.contains(e));return P&&!t},[C.branches,P])}),L=y(e=>{if(d&&F.current)return;let t=e.target;[...C.branches].some(e=>e.contains(t))||(g?.(e),_?.(e),e.defaultPrevented||x?.())},E),R=w?M===k.length-1:!1,z=i.t(e=>{e.key===`Escape`&&(m?.(e),!e.defaultPrevented&&x&&(e.preventDefault(),x()))});return a.useEffect(()=>{if(R)return E.addEventListener(`keydown`,z,{capture:!0}),()=>E.removeEventListener(`keydown`,z,{capture:!0})},[E,R,z]),a.useEffect(()=>{if(w)return u&&(C.layersWithOutsidePointerEventsDisabled.size===0&&(f=E.body.style.pointerEvents,E.body.style.pointerEvents=`none`),C.layersWithOutsidePointerEventsDisabled.add(w)),C.layers.add(w),b(),()=>{u&&(C.layersWithOutsidePointerEventsDisabled.delete(w),C.layersWithOutsidePointerEventsDisabled.size===0&&(E.body.style.pointerEvents=f))}},[w,E,u,C]),a.useEffect(()=>()=>{w&&(C.layers.delete(w),C.layersWithOutsidePointerEventsDisabled.delete(w),b())},[w,C]),a.useEffect(()=>{let e=c(()=>D({}),`handleUpdate`);return document.addEventListener(l,e),()=>document.removeEventListener(l,e)},[]),(0,o.jsx)(n.t.div,{...S,ref:O,style:{pointerEvents:N?P?`auto`:`none`:void 0,...e.style},onFocusCapture:r.n(e.onFocusCapture,L.onFocusCapture),onBlurCapture:r.n(e.onBlurCapture,L.onBlurCapture),onPointerDownCapture:r.n(e.onPointerDownCapture,I.onPointerDownCapture)})},`DismissableLayer`)),h=a.forwardRef(c(function(e,r){let i=a.useContext(p),s=a.useRef(null),c=t.i(r,s);return a.useEffect(()=>{let e=s.current;if(e)return i.branches.add(e),()=>{i.branches.delete(e)}},[i.branches]),(0,o.jsx)(n.t.div,{...e,ref:c})},`DismissableLayerBranch`));function g(){let e=a.useContext(p),[t,n]=a.useState(null);return a.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}c(g,`useDismissableLayerSurface`);var _=c(()=>!0,`IS_TRUE`);function v(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:s,shouldHandlePointerDownOutside:l=_}=t,d=i.t(e),f=a.useRef(!1),p=a.useRef(!1),m=a.useRef(new Map),h=a.useRef(()=>{});return a.useEffect(()=>{function e(){p.current=!1,o.current=!1,m.current.clear()}c(e,`resetOutsideInteraction`);function t(){return Array.from(m.current.values()).some(Boolean)}c(t,`isOutsideInteractionIntercepted`);function i(e){if(!p.current)return;let t=e.target;t instanceof Node&&[...s].some(e=>e.contains(t))||m.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{p.current&&h.current()},0)}c(i,`handleInteractionCapture`);function a(e){p.current&&m.current.set(e.type,!1)}c(a,`handleInteractionBubble`);let g=c(i=>{if(i.target&&!f.current){let a=function(){n.removeEventListener(`click`,h.current);let r=t();e(),r||x(u,d,s,{discrete:!0})};if(c(a,`handleAndDispatchPointerDownOutsideEvent`),!l(i.target)){n.removeEventListener(`click`,h.current),e(),f.current=!1;return}let s={originalEvent:i};p.current=!0,o.current=r&&i.button===0,m.current.clear(),!r||i.button!==0?a():(n.removeEventListener(`click`,h.current),h.current=a,n.addEventListener(`click`,h.current,{once:!0}))}else n.removeEventListener(`click`,h.current),e();f.current=!1},`handlePointerDown`),_=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of _)n.addEventListener(e,i,!0),n.addEventListener(e,a);let v=window.setTimeout(()=>{n.addEventListener(`pointerdown`,g)},0);return()=>{window.clearTimeout(v),n.removeEventListener(`pointerdown`,g),n.removeEventListener(`click`,h.current);for(let e of _)n.removeEventListener(e,i,!0),n.removeEventListener(e,a)}},[n,d,r,o,s,l]),{onPointerDownCapture:c(()=>f.current=!0,`onPointerDownCapture`)}}c(v,`usePointerDownOutside`);function y(e,t=globalThis?.document){let n=i.t(e),r=a.useRef(!1);return a.useEffect(()=>{let e=c(e=>{e.target&&!r.current&&x(d,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:c(()=>r.current=!0,`onFocusCapture`),onBlurCapture:c(()=>r.current=!1,`onBlurCapture`)}}c(y,`useFocusOutside`);function b(){let e=new CustomEvent(l);document.dispatchEvent(e)}c(b,`dispatchUpdate`);function x(e,t,r,{discrete:i}){let a=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),i?n.n(a,o):a.dispatchEvent(o)}c(x,`handleAndDispatchCustomEvent`);var S=m,C=h;Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}});
//# sourceMappingURL=dist-B7GyuuzQ.cjs.map