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.98 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../packages/element/full-screen/src/index.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\nimport type { EnhancedHTMLElement } from '@ideaz/utils'\nimport { isFunction } from '@ideaz/utils'\nimport type { VNode } from 'vue'\nimport { useFullscreen } from './hooks'\n\nexport default defineComponent({\n name: 'ZFullScreen',\n props: {\n el: {\n type: [Function, HTMLElement] as PropType<() => EnhancedHTMLElement | HTMLElement>,\n default: () => document.body,\n },\n renderExit: {\n type: Function as PropType<() => VNode>,\n },\n renderEnter: {\n type: Function as PropType<() => VNode>,\n },\n },\n emits: ['change'],\n setup(props, { emit, slots }) {\n const ns = useNamespace('full-screen')\n\n const { isTargetFullscreen, toggleFullscreen } = useFullscreen({\n getElement: document.body,\n onFullscreenChange: (value: boolean) => {\n const element = isFunction(props.el) ? props.el() : props.el\n if (element) {\n if (value)\n element.classList.add('z-full-screen-class')\n\n else\n element.classList.remove('z-full-screen-class')\n }\n emit('change', value)\n },\n })\n\n const renderContent = () => {\n if (isTargetFullscreen.value) {\n if (isFunction(slots.exit))\n return slots.exit()\n if (isFunction(props.renderExit))\n return props.renderExit()\n }\n else {\n if (isFunction(slots.enter))\n return slots.enter()\n if (isFunction(props.renderEnter))\n return props.renderEnter()\n }\n return slots.default?.()\n }\n\n return () => {\n return (\n <div class={ns.b('')} onClick={toggleFullscreen}>\n {renderContent()}\n </div>\n )\n }\n },\n})\n"],"names":["FullScreen","defineComponent","name","props","el","type","default","renderExit","renderEnter","slots","ns","useNamespace","toggleFullscreen","element","isFunction","value","emit","_a","createVNode"],"mappings":";;;;;;AAMA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,IAAAA;AAAAA,MACEC,MAAAA,CAAAA,UAAAA,WAAAA;AAAAA,MACAC,SAAAA,MAAAA,SAAAA;AAAAA;IAEFC,YAAAA;AAAAA,MACEF,MAAAA;AAAAA;IAEFG,aAAAA;AAAAA,MACEH,MAAAA;AAAAA,IACF;AAAA;;;;IAGmBI,OAAAA;AAAAA,EAAM,GAAA;AACzB,UAAAC,IAAAC,EAAA,aAAA;;MAE4BC,kBAAAA;AAAAA;;;AAGxB,cAAAC,IAAAC,EAAAX,EAAA,EAAA,IAAAA,EAAA,GAAA,IAAAA,EAAA;AACA,QAAAU,MACEE,IAAAF,EAAA,UAAA,IAAA,qBAAA,IAAAA,EAAA,UAAA,OAAA,qBAAA,IAMFG,EAAAA,UAAAA,CAAAA;AAAAA,MACF;AAAA,IACF,CAAA;;;AAII,YAAAF,EAAAL,EAAA,IAAA,EAAA,QAAAA,EAAA,KAAA;AAEA,YAAAK,EAAAX,EAAA,UAAA,EAAA,QAAAA,EAAA,WAAA;AAAA,MAEF,OAAA;AAEE,YAAAW,EAAAL,EAAA,KAAA,EAAA,QAAAA,EAAA,MAAA;AAEA,YAAAK,EAAAX,EAAA,WAAA,EAAA,QAAAA,EAAA,YAAA;AAAA,MAEF;AACA,cAAAc,IAAAR,EAAA,YAAA,gBAAAQ,EAAA,KAAAR;AAAA;AAGF,WAAA,MACES,EAAA,OAAA;AAAA,MAAA,OAAAR,EAAA,EAAA,EAAA;AAAA;;EAMJ;AACF,CAAA;"}