You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
6.5 KiB
1 lines
6.5 KiB
{"ast":null,"code":"import { defineComponent, createVNode, renderSlot, h } from 'vue';\nimport { useSameTarget } from '../../../hooks/use-same-target/index.mjs';\nimport { PatchFlags } from '../../../utils/vue/vnode.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst overlayProps = buildProps({\n mask: {\n type: Boolean,\n default: true\n },\n customMaskEvent: Boolean,\n overlayClass: {\n type: definePropType([String, Array, Object])\n },\n zIndex: {\n type: definePropType([String, Number])\n }\n});\nconst overlayEmits = {\n click: evt => evt instanceof MouseEvent\n};\nconst BLOCK = \"overlay\";\nvar Overlay = defineComponent({\n name: \"ElOverlay\",\n props: overlayProps,\n emits: overlayEmits,\n setup(props, {\n slots,\n emit\n }) {\n const ns = useNamespace(BLOCK);\n const onMaskClick = e => {\n emit(\"click\", e);\n };\n const {\n onClick,\n onMousedown,\n onMouseup\n } = useSameTarget(props.customMaskEvent ? void 0 : onMaskClick);\n return () => {\n return props.mask ? createVNode(\"div\", {\n class: [ns.b(), props.overlayClass],\n style: {\n zIndex: props.zIndex\n },\n onClick,\n onMousedown,\n onMouseup\n }, [renderSlot(slots, \"default\")], PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS, [\"onClick\", \"onMouseup\", \"onMousedown\"]) : h(\"div\", {\n class: props.overlayClass,\n style: {\n zIndex: props.zIndex,\n position: \"fixed\",\n top: \"0px\",\n right: \"0px\",\n bottom: \"0px\",\n left: \"0px\"\n }\n }, [renderSlot(slots, \"default\")]);\n };\n }\n});\nexport { Overlay as default, overlayEmits, overlayProps };","map":{"version":3,"names":["overlayProps","buildProps","mask","type","Boolean","default","customMaskEvent","overlayClass","definePropType","String","Array","Object","zIndex","Number","overlayEmits","click","evt","MouseEvent","BLOCK","Overlay","defineComponent","name","props","emits","setup","slots","emit","ns","useNamespace","onMaskClick","e","onClick","onMousedown","onMouseup","useSameTarget","createVNode","class","b","style","renderSlot","PatchFlags","STYLE","CLASS","PROPS","h","position","top","right","bottom","left"],"sources":["../../../../../../packages/components/overlay/src/overlay.ts"],"sourcesContent":["import { createVNode, defineComponent, h, renderSlot } from 'vue'\nimport { PatchFlags, buildProps, definePropType } from '@element-plus/utils'\nimport { useNamespace, useSameTarget } from '@element-plus/hooks'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { ZIndexProperty } from 'csstype'\n\nexport const overlayProps = buildProps({\n mask: {\n type: Boolean,\n default: true,\n },\n customMaskEvent: Boolean,\n overlayClass: {\n type: definePropType<string | string[] | Record<string, boolean>>([\n String,\n Array,\n Object,\n ]),\n },\n zIndex: {\n type: definePropType<ZIndexProperty>([String, Number]),\n },\n} as const)\nexport type OverlayProps = ExtractPropTypes<typeof overlayProps>\n\nexport const overlayEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type OverlayEmits = typeof overlayEmits\n\nconst BLOCK = 'overlay'\n\nexport default defineComponent({\n name: 'ElOverlay',\n\n props: overlayProps,\n emits: overlayEmits,\n\n setup(props, { slots, emit }) {\n // No reactivity on this prop because when its rendering with a global\n // component, this will be a constant flag.\n const ns = useNamespace(BLOCK)\n\n const onMaskClick = (e: MouseEvent) => {\n emit('click', e)\n }\n\n const { onClick, onMousedown, onMouseup } = useSameTarget(\n props.customMaskEvent ? undefined : onMaskClick\n )\n\n // init here\n return () => {\n // when the vnode meets the same structure but with different change trigger\n // it will not automatically update, thus we simply use h function to manage updating\n return props.mask\n ? createVNode(\n 'div',\n {\n class: [ns.b(), props.overlayClass],\n style: {\n zIndex: props.zIndex,\n },\n onClick,\n onMousedown,\n onMouseup,\n },\n [renderSlot(slots, 'default')],\n PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS,\n ['onClick', 'onMouseup', 'onMousedown']\n )\n : h(\n 'div',\n {\n class: props.overlayClass,\n style: {\n zIndex: props.zIndex,\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n } as CSSProperties,\n },\n [renderSlot(slots, 'default')]\n )\n }\n },\n})\n"],"mappings":";;;;;AAGY,MAACA,YAAY,GAAGC,UAAU,CAAC;EACrCC,IAAI,EAAE;IACJC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAE;EACb,CAAG;EACDC,eAAe,EAAEF,OAAO;EACxBG,YAAY,EAAE;IACZJ,IAAI,EAAEK,cAAc,CAAC,CACnBC,MAAM,EACNC,KAAK,EACLC,MAAM,CACP;EACL,CAAG;EACDC,MAAM,EAAE;IACNT,IAAI,EAAEK,cAAc,CAAC,CAACC,MAAM,EAAEI,MAAM,CAAC;EACzC;AACA,CAAC;AACW,MAACC,YAAY,GAAG;EAC1BC,KAAK,EAAGC,GAAG,IAAKA,GAAG,YAAYC;AACjC;AACA,MAAMC,KAAK,GAAG,SAAS;AACvB,IAAAC,OAAA,GAAeC,eAAe,CAAC;EAC7BC,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAEtB,YAAY;EACnBuB,KAAK,EAAET,YAAY;EACnBU,KAAKA,CAACF,KAAK,EAAE;IAAEG,KAAK;IAAEC;EAAI,CAAE,EAAE;IAC5B,MAAMC,EAAE,GAAGC,YAAY,CAACV,KAAK,CAAC;IAC9B,MAAMW,WAAW,GAAIC,CAAC,IAAK;MACzBJ,IAAI,CAAC,OAAO,EAAEI,CAAC,CAAC;IACtB,CAAK;IACD,MAAM;MAAEC,OAAO;MAAEC,WAAW;MAAEC;IAAS,CAAE,GAAGC,aAAa,CAACZ,KAAK,CAAChB,eAAe,GAAG,KAAK,CAAC,GAAGuB,WAAW,CAAC;IACvG,OAAO,MAAM;MACX,OAAOP,KAAK,CAACpB,IAAI,GAAGiC,WAAW,CAAC,KAAK,EAAE;QACrCC,KAAK,EAAE,CAACT,EAAE,CAACU,CAAC,EAAE,EAAEf,KAAK,CAACf,YAAY,CAAC;QACnC+B,KAAK,EAAE;UACL1B,MAAM,EAAEU,KAAK,CAACV;QACxB,CAAS;QACDmB,OAAO;QACPC,WAAW;QACXC;MACR,CAAO,EAAE,CAACM,UAAU,CAACd,KAAK,EAAE,SAAS,CAAC,CAAC,EAAEe,UAAU,CAACC,KAAK,GAAGD,UAAU,CAACE,KAAK,GAAGF,UAAU,CAACG,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,GAAGC,CAAC,CAAC,KAAK,EAAE;QAC7IR,KAAK,EAAEd,KAAK,CAACf,YAAY;QACzB+B,KAAK,EAAE;UACL1B,MAAM,EAAEU,KAAK,CAACV,MAAM;UACpBiC,QAAQ,EAAE,OAAO;UACjBC,GAAG,EAAE,KAAK;UACVC,KAAK,EAAE,KAAK;UACZC,MAAM,EAAE,KAAK;UACbC,IAAI,EAAE;QAChB;MACA,CAAO,EAAE,CAACV,UAAU,CAACd,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACxC,CAAK;EACL;AACA,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|