| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { defineComponent, createVNode, renderSlot, h } from 'vue';
- import { useSameTarget } from '../../../hooks/use-same-target/index.mjs';
- import { PatchFlags } from '../../../utils/vue/vnode.mjs';
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
- const overlayProps = buildProps({
- mask: {
- type: Boolean,
- default: true
- },
- customMaskEvent: Boolean,
- overlayClass: {
- type: definePropType([
- String,
- Array,
- Object
- ])
- },
- zIndex: {
- type: definePropType([String, Number])
- }
- });
- const overlayEmits = {
- click: (evt) => evt instanceof MouseEvent
- };
- const BLOCK = "overlay";
- var Overlay = defineComponent({
- name: "ElOverlay",
- props: overlayProps,
- emits: overlayEmits,
- setup(props, { slots, emit }) {
- const ns = useNamespace(BLOCK);
- const onMaskClick = (e) => {
- emit("click", e);
- };
- const { onClick, onMousedown, onMouseup } = useSameTarget(props.customMaskEvent ? void 0 : onMaskClick);
- return () => {
- return props.mask ? createVNode("div", {
- class: [ns.b(), props.overlayClass],
- style: {
- zIndex: props.zIndex
- },
- onClick,
- onMousedown,
- onMouseup
- }, [renderSlot(slots, "default")], PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS, ["onClick", "onMouseup", "onMousedown"]) : h("div", {
- class: props.overlayClass,
- style: {
- zIndex: props.zIndex,
- position: "fixed",
- top: "0px",
- right: "0px",
- bottom: "0px",
- left: "0px"
- }
- }, [renderSlot(slots, "default")]);
- };
- }
- });
- export { Overlay as default, overlayEmits, overlayProps };
- //# sourceMappingURL=overlay.mjs.map
|