{"version":3,"file":"FocusTrap.DAtnApAC.mjs","names":["useRef","_Fragment","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/msg8q6T7ckRXmQtw0pvc/PETbW1SSkhc6Zc0L6zA4/FocusTrap.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";let previouslyFocused=null;export function useFocusTrap(visible){const ref=useRef(null);const startTrap=useRef(null);const endTrap=useRef(null);useEffect(()=>{if(!visible||!ref.current)return;previouslyFocused=document.activeElement;const container=ref.current;const focusable=Array.from(container.querySelectorAll(\"a[href], area[href], input:not([disabled]), select:not([disabled]), \"+\"textarea:not([disabled]), button:not([disabled]), iframe, object, embed, \"+'[tabindex]:not([tabindex=\"-1\"]), [contenteditable]')).filter(el=>!el.hasAttribute(\"disabled\")&&!el.getAttribute(\"aria-hidden\"));if(focusable.length>0){focusable[0].focus();}const handleTrapFocus=e=>{if(!container.contains(e.target)){// If focus somehow escaped, bring it back\nif(focusable.length>0)focusable[0].focus();}};document.addEventListener(\"focus\",handleTrapFocus,true);return()=>{document.removeEventListener(\"focus\",handleTrapFocus,true);if(previouslyFocused)previouslyFocused.focus();};},[visible]);return{ref,children:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{ref:startTrap,tabIndex:0,style:{width:0,height:0,overflow:\"hidden\",position:\"absolute\"},onFocus:()=>{const focusable=ref.current?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');if(focusable&&focusable.length>0){focusable[focusable.length-1].focus();}}}),/*#__PURE__*/_jsx(\"div\",{ref:ref}),/*#__PURE__*/_jsx(\"div\",{ref:endTrap,tabIndex:0,style:{width:0,height:0,overflow:\"hidden\",position:\"absolute\"},onFocus:()=>{const focusable=ref.current?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');if(focusable&&focusable.length>0){focusable[0].focus();}}})]})};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withuseFocusTrap(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...useFocusTrap(props)});};}withuseFocusTrap.displayName=\"useFocusTrap\";\nexport const __FramerMetadata__ = {\"exports\":{\"withuseFocusTrap\":{\"type\":\"reactHoc\",\"name\":\"withuseFocusTrap\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFocusTrap\":{\"type\":\"override\",\"name\":\"useFocusTrap\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FocusTrap.map"],"mappings":"0LAA8I,SAAgB,EAAa,EAAQ,CAAC,IAAM,EAAIA,EAAO,KAAK,CAAO,EAAUA,EAAO,KAAK,CAAO,EAAQA,EAAO,KAAK,CACxB,OADyB,MAAc,CAAC,GAAG,CAAC,GAAS,CAAC,EAAI,QAAQ,OAAO,EAAkB,SAAS,cAAc,IAAM,EAAU,EAAI,QAAc,EAAU,MAAM,KAAK,EAAU,iBAAiB,kMAAwM,CAAC,CAAC,OAAO,GAAI,CAAC,EAAG,aAAa,WAAW,EAAE,CAAC,EAAG,aAAa,cAAc,CAAC,CAAI,EAAU,OAAO,GAAG,EAAU,GAAG,OAAO,CAAE,IAAM,EAAgB,GAAG,CAAK,EAAU,SAAS,EAAE,OAAO,EACtyB,EAAU,OAAO,GAAE,EAAU,GAAG,OAAO,EAA4D,OAAxD,SAAS,iBAAiB,QAAQ,EAAgB,GAAK,KAAW,CAAC,SAAS,oBAAoB,QAAQ,EAAgB,GAAK,CAAI,GAAkB,EAAkB,OAAO,GAAK,CAAC,EAAQ,CAAC,CAAO,CAAC,MAAI,SAAsB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,IAAI,EAAU,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,SAAS,SAAS,WAAW,CAAC,YAAY,CAAC,IAAM,EAAU,EAAI,SAAS,iBAAiB,2EAA2E,CAAI,GAAW,EAAU,OAAO,GAAG,EAAU,EAAU,OAAO,GAAG,OAAO,EAAI,CAAC,CAAc,EAAK,MAAM,CAAK,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,IAAI,EAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,SAAS,SAAS,WAAW,CAAC,YAAY,CAAC,IAAM,EAAU,EAAI,SAAS,iBAAiB,2EAA2E,CAAI,GAAW,EAAU,OAAO,GAAG,EAAU,GAAG,OAAO,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAqJ,SAAgB,EAAiB,EAAE,CAAC,MAAO,KAAQ,EAA+BC,EAAwC,CAAQC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAa,EAAM,CAAC,CAAC,qBADprC,IAAoC,IACq+B,CADj+B,EAAkB,KAC8nC,EAAiB,YAAY"}