overlay.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var index$1 = require('../../../hooks/use-same-target/index.js');
  5. var vnode = require('../../../utils/vue/vnode.js');
  6. var runtime = require('../../../utils/vue/props/runtime.js');
  7. var index = require('../../../hooks/use-namespace/index.js');
  8. const overlayProps = runtime.buildProps({
  9. mask: {
  10. type: Boolean,
  11. default: true
  12. },
  13. customMaskEvent: Boolean,
  14. overlayClass: {
  15. type: runtime.definePropType([
  16. String,
  17. Array,
  18. Object
  19. ])
  20. },
  21. zIndex: {
  22. type: runtime.definePropType([String, Number])
  23. }
  24. });
  25. const overlayEmits = {
  26. click: (evt) => evt instanceof MouseEvent
  27. };
  28. const BLOCK = "overlay";
  29. var Overlay = vue.defineComponent({
  30. name: "ElOverlay",
  31. props: overlayProps,
  32. emits: overlayEmits,
  33. setup(props, { slots, emit }) {
  34. const ns = index.useNamespace(BLOCK);
  35. const onMaskClick = (e) => {
  36. emit("click", e);
  37. };
  38. const { onClick, onMousedown, onMouseup } = index$1.useSameTarget(props.customMaskEvent ? void 0 : onMaskClick);
  39. return () => {
  40. return props.mask ? vue.createVNode("div", {
  41. class: [ns.b(), props.overlayClass],
  42. style: {
  43. zIndex: props.zIndex
  44. },
  45. onClick,
  46. onMousedown,
  47. onMouseup
  48. }, [vue.renderSlot(slots, "default")], vnode.PatchFlags.STYLE | vnode.PatchFlags.CLASS | vnode.PatchFlags.PROPS, ["onClick", "onMouseup", "onMousedown"]) : vue.h("div", {
  49. class: props.overlayClass,
  50. style: {
  51. zIndex: props.zIndex,
  52. position: "fixed",
  53. top: "0px",
  54. right: "0px",
  55. bottom: "0px",
  56. left: "0px"
  57. }
  58. }, [vue.renderSlot(slots, "default")]);
  59. };
  60. }
  61. });
  62. exports["default"] = Overlay;
  63. exports.overlayEmits = overlayEmits;
  64. exports.overlayProps = overlayProps;
  65. //# sourceMappingURL=overlay.js.map