/**
 * Minified by jsDelivr using Terser v5.37.0.
 * Original file: /npm/@chakra-ui/react-use-focus-effect@2.1.0/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let u of __getOwnPropNames(t))__hasOwnProp.call(e,u)||u===r||__defProp(e,u,{get:()=>t[u],enumerable:!(o=__getOwnPropDesc(t,u))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),src_exports={};__export(src_exports,{useFocusOnHide:()=>useFocusOnHide,useFocusOnShow:()=>useFocusOnShow}),module.exports=__toCommonJS(src_exports);var import_dom_utils=require("@chakra-ui/dom-utils"),import_react_use_event_listener=require("@chakra-ui/react-use-event-listener"),import_react_use_safe_layout_effect=require("@chakra-ui/react-use-safe-layout-effect"),import_react_use_update_effect=require("@chakra-ui/react-use-update-effect"),import_react=require("react");function preventReturnFocus(e){const t=e.current;if(!t)return!1;const r=(0,import_dom_utils.getActiveElement)(t);return!!r&&(!t.contains(r)&&!!(0,import_dom_utils.isTabbable)(r))}function useFocusOnHide(e,t){const{shouldFocus:r,visible:o,focusRef:u}=t,n=r&&!o;(0,import_react_use_update_effect.useUpdateEffect)((()=>{if(!n)return;if(preventReturnFocus(e))return;const t=(null==u?void 0:u.current)||e.current;let r;return t?(r=requestAnimationFrame((()=>{t.focus({preventScroll:!0})})),()=>{cancelAnimationFrame(r)}):void 0}),[n,e,u])}var defaultOptions={preventScroll:!0,shouldFocus:!1};function useFocusOnShow(e,t=defaultOptions){const{focusRef:r,preventScroll:o,shouldFocus:u,visible:n}=t,c=isRefObject(e)?e.current:e,s=u&&n,_=(0,import_react.useRef)(s),i=(0,import_react.useRef)(n);(0,import_react_use_safe_layout_effect.useSafeLayoutEffect)((()=>{!i.current&&n&&(_.current=s),i.current=n}),[n,s]);const a=(0,import_react.useCallback)((()=>{if(n&&c&&_.current&&(_.current=!1,!c.contains(document.activeElement)))if(null==r?void 0:r.current)requestAnimationFrame((()=>{var e;null==(e=r.current)||e.focus({preventScroll:o})}));else{const e=(0,import_dom_utils.getAllFocusable)(c);e.length>0&&requestAnimationFrame((()=>{e[0].focus({preventScroll:o})}))}}),[n,o,c,r]);(0,import_react_use_update_effect.useUpdateEffect)((()=>{a()}),[a]),(0,import_react_use_event_listener.useEventListener)(c,"transitionend",a)}function isRefObject(e){return"current"in e}
//# sourceMappingURL=/sm/d539568e625e228f2bc66c1dfdf78cee83b3e257e49d64e52b0a197462a28b8a.map