UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 1.17 kB
{"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;;;;"}