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.

67 lines
1.6 KiB

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _utils = require("../utils");
var _functional = require("../utils/functional");
var _event = require("../utils/dom/event");
// Utils
var _createNamespace = (0, _utils.createNamespace)('overlay'),
createComponent = _createNamespace[0],
bem = _createNamespace[1];
function preventTouchMove(event) {
(0, _event.preventDefault)(event, true);
}
function Overlay(h, props, slots, ctx) {
var style = (0, _extends2.default)({
zIndex: props.zIndex
}, props.customStyle);
if ((0, _utils.isDef)(props.duration)) {
style.animationDuration = props.duration + "s";
}
return h("transition", {
"attrs": {
"name": "van-fade"
}
}, [h("div", (0, _babelHelperVueJsxMergeProps.default)([{
"directives": [{
name: "show",
value: props.show
}],
"style": style,
"class": [bem(), props.className],
"on": {
"touchmove": props.lockScroll ? preventTouchMove : _utils.noop
}
}, (0, _functional.inherit)(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);
}
Overlay.props = {
show: Boolean,
zIndex: [Number, String],
duration: [Number, String],
className: null,
customStyle: Object,
lockScroll: {
type: Boolean,
default: true
}
};
var _default = createComponent(Overlay);
exports.default = _default;