tdesign-mobile-vue
Version:
tdesign-mobile-vue
92 lines (88 loc) • 3 kB
JavaScript
/**
* tdesign v1.7.0
* (c) 2024 TDesign Group
* @license MIT
*/
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import { defineComponent, computed, createVNode, Transition, withDirectives, vShow } from 'vue';
import { preventDefault } from '../shared/dom.js';
import config from '../config.js';
import OverlayProps from './props.js';
import { usePrefixClass } from '../hooks/useClass.js';
import { useTNodeJSX } from '../hooks/tnode.js';
import 'lodash/isFunction';
import 'lodash/isString';
import '../config-provider/useConfig.js';
import 'lodash/cloneDeep';
import '../config-provider/context.js';
import 'lodash/mergeWith';
import 'lodash/merge';
import 'lodash/isArray';
import '../_common/js/global-config/mobile/default-config.js';
import '../_common/js/global-config/mobile/locale/zh_CN.js';
import '../_chunks/dep-6c582337.js';
import '@babel/runtime/helpers/typeof';
import '../_chunks/dep-38637d40.js';
import 'dayjs';
import '../_chunks/dep-959cdc59.js';
import '../config-provider/type.js';
import 'lodash/camelCase';
import 'lodash/kebabCase';
import '../hooks/render-tnode.js';
import 'lodash/isEmpty';
import 'lodash/isObject';
var prefix = config.prefix;
var _Overlay = defineComponent({
name: "".concat(prefix, "-overlay"),
props: OverlayProps,
setup: function setup(props) {
var renderTNodeJSX = useTNodeJSX();
var overlayClass = usePrefixClass("overlay");
var overlayClasses = computed(function () {
return _defineProperty(_defineProperty({}, "".concat(overlayClass.value), true), "".concat(overlayClass.value, "--active"), props.visible);
});
var overlayStyles = computed(function () {
var arr = [];
if (props.customStyle) {
arr.push(props.customStyle);
}
if (props.zIndex) {
arr.push("z-index: ".concat(props.zIndex));
}
if (props.duration) {
arr.push("transition-duration: ".concat(props.duration, "ms"));
}
if (props.backgroundColor) {
arr.push("background-color: ".concat(props.backgroundColor));
}
return arr.join("; ");
});
var handleTouchMove = function handleTouchMove(e) {
if (props.preventScrollThrough) {
preventDefault(e, true);
}
};
var handleClick = function handleClick(e) {
var _props$onClick;
(_props$onClick = props.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props, {
e: e
});
};
return function () {
return createVNode(Transition, {
"name": overlayClass.value
}, {
default: function _default() {
return [withDirectives(createVNode("div", {
"class": overlayClasses.value,
"style": overlayStyles.value,
"onClick": handleClick,
"onTouchmove": handleTouchMove
}, [renderTNodeJSX("default")]), [[vShow, props.visible]])];
}
});
};
}
});
export { _Overlay as default };
//# sourceMappingURL=overlay.js.map