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.2 kB
Source Map (JSON)
{"version":3,"file":"useFullScreen.cjs","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","vue","checkFullscreenStatus","element","is","isFullscreenFlag","fullscreen","toggleFullscreen"],"mappings":"kOAeaA,EAAA,CAAA,CAAA,WAAAC,EAAA,IAAA,SAAA,KAAA,mBAAAC,CAAA,EAAA,CAAA,IAAA,CACX,MAAAC,EAAAC,EAAA,IAAA,EAAA,EACAC,EAAA,IAAA,CACE,MAAAC,EAAAC,EAAA,WAAAN,CAAA,EAAAA,EAAA,EAAAA,EACAO,EAAAC,EAAA,aAAA,EACAN,EAAA,MAAAK,GAAAC,EAAA,qBAAA,GAAA,SAAA,QAAAH,EAAA,EAAsG,EAExGI,EAAA,IAAA,CACE,MAAAJ,EAAAC,EAAA,WAAAN,CAAA,EAAAA,EAAA,EAAAA,EACAI,EAAA,EACAF,EAAA,QAAA,GACEM,EAAA,eAAA,EAGAA,EAAA,gBAAAH,CAAA,CAAuB,EAE3B,OAAAF,EAAA,UAAA,IAAA,CACEC,EAAA,EACAI,EAAA,iBAAA,IAAA,CACEJ,EAAA,EACAH,GAAA,MAAAA,EAAAC,EAAA,MAA6C,CAAA,CAC9C,CAAA,EAGH,CAAO,mBAAAA,EACL,iBAAAO,CACA,CAEJ"}