UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

1 lines 2.31 kB
{"version":3,"file":"useFullScreen.mjs","sources":["../../../../../../packages/element/full-screen/src/hooks/useFullScreen.ts"],"sourcesContent":["import type { EnhancedHTMLElement } from '@ideaz/utils'\nimport {\n enterFullscreen,\n exitFullscreen,\n getFullscreenElement,\n isFullscreen,\n isFunction,\n listenFullscreen,\n} from '@ideaz/utils'\n\nexport interface UseFullscreenOptions {\n getElement?: (() => EnhancedHTMLElement) | HTMLElement\n onFullscreenChange?: (state: boolean) => void\n}\n\nexport const useFullscreen = ({ getElement = () => document.body, onFullscreenChange }: UseFullscreenOptions = {}) => {\n const isTargetFullscreen = ref(false)\n const checkFullscreenStatus = () => {\n const element = isFunction(getElement) ? getElement() : getElement\n const isFullscreenFlag = isFullscreen()\n isTargetFullscreen.value = isFullscreenFlag ? (getFullscreenElement() || document.body) === element : false\n }\n const toggleFullscreen = () => {\n const element = isFunction(getElement) ? getElement() : getElement\n checkFullscreenStatus()\n if (isTargetFullscreen.value === true)\n exitFullscreen()\n\n else\n enterFullscreen(element)\n }\n onMounted(() => {\n checkFullscreenStatus()\n listenFullscreen(() => {\n checkFullscreenStatus()\n onFullscreenChange?.(isTargetFullscreen.value)\n })\n })\n\n return {\n isTargetFullscreen,\n toggleFullscreen,\n }\n}\n"],"names":["useFullscreen","getElement","onFullscreenChange","isTargetFullscreen","ref","checkFullscreenStatus","element","isFunction","isFullscreenFlag","isFullscreen","getFullscreenElement","toggleFullscreen","exitFullscreen","enterFullscreen","onMounted","listenFullscreen"],"mappings":";;;;AAea,MAAAA,IAAA,CAAA,EAAA,YAAAC,IAAA,MAAA,SAAA,MAAA,oBAAAC,EAAA,IAAA,CAAA,MAAA;AACX,QAAAC,IAAAC,EAAA,EAAA,GACAC,IAAA,MAAA;AACE,UAAAC,IAAAC,EAAAN,CAAA,IAAAA,EAAA,IAAAA,GACAO,IAAAC,EAAA;AACA,IAAAN,EAAA,QAAAK,KAAAE,EAAA,KAAA,SAAA,UAAAJ,IAAA;AAAA,EAAsG,GAExGK,IAAA,MAAA;AACE,UAAAL,IAAAC,EAAAN,CAAA,IAAAA,EAAA,IAAAA;AACA,IAAAI,EAAA,GACAF,EAAA,UAAA,KACES,EAAA,IAGAC,EAAAP,CAAA;AAAA,EAAuB;AAE3B,SAAAQ,EAAA,MAAA;AACE,IAAAT,EAAA,GACAU,EAAA,MAAA;AACE,MAAAV,EAAA,GACAH,KAAA,QAAAA,EAAAC,EAAA;AAAA,IAA6C,CAAA;AAAA,EAC9C,CAAA,GAGH;AAAA,IAAO,oBAAAA;AAAA,IACL,kBAAAQ;AAAA,EACA;AAEJ;"}