{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-restore-active/index.ts"],"sourcesContent":["import { isRef, watch } from 'vue'\nimport type { Ref } from 'vue'\n\n/**\n * This method provides dialogable components the ability to restore previously activated element before\n * the dialog gets opened\n */\nexport default (toggle: Ref<boolean>, initialFocus?: Ref<HTMLElement>) => {\n  let previousActive: HTMLElement\n  watch(\n    () => toggle.value,\n    (val) => {\n      if (val) {\n        previousActive = document.activeElement as HTMLElement\n        if (isRef(initialFocus)) {\n          initialFocus.value.focus?.()\n        }\n      } else {\n        if (process.env.NODE_ENV === 'testing') {\n          previousActive.focus.call(previousActive)\n        } else {\n          previousActive.focus()\n        }\n      }\n    }\n  )\n}\n"],"names":[],"mappings":";;AAOA,uBAAe,CAAC,QAAsB,iBAAoC;AACxE,MAAI;AACJ,QACE,MAAM,OAAO,OACb,CAAC,QAAQ;AAXb;AAYM,QAAI,KAAK;AACP,uBAAiB,SAAS;AAC1B,UAAI,MAAM,eAAe;AACvB,iCAAa,OAAM,UAAnB;AAAA;AAAA,WAEG;AACL,UAAI,QAAQ,IAAI,aAAa,WAAW;AACtC,uBAAe,MAAM,KAAK;AAAA,aACrB;AACL,uBAAe;AAAA;AAAA;AAAA;AAAA;;;;"}