tmui-vx
Version:
tmui4x,uniappx - Vue3 JSX Component Library
186 lines (175 loc) • 4.91 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
function _defineProperty(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: true,
configurable: true,
writable: true
}) : e[r] = t, e;
}
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function (r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
_defineProperty(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
function _toPrimitive(t, r) {
if ("object" != typeof t || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r);
if ("object" != typeof i) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == typeof i ? i : i + "";
}
var Text = vue.defineComponent({
name: 'Text',
props: {
selectable: {
type: Boolean,
"default": false
},
text: {
type: String,
"default": '我是一段文本内容'
}
},
setup: function setup(props, _ref) {
var slots = _ref.slots;
var _style = vue.computed(function () {
return {
userSelect: props.selectable ? 'text' : 'none'
};
});
var _text = vue.computed(function () {
return props.text;
});
return function () {
var _slots$default, _slots$default2;
return vue.createVNode("span", {
"style": _style.value,
"__selectable": props.selectable
}, [(_slots$default = slots === null || slots === void 0 || (_slots$default2 = slots["default"]) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)) !== null && _slots$default !== void 0 ? _slots$default : _text.value]);
};
}
});
var View = vue.defineComponent({
name: 'View',
props: {
hoverClass: {
type: String,
"default": 'none'
},
hoverStopPropagation: {
type: Boolean,
"default": false
},
hoverStartTime: {
type: Number,
"default": 50
},
hoverStayTime: {
type: Number,
"default": 400
},
customStyle: {
type: String,
"default": ''
},
customClass: {
type: String,
"default": ''
}
},
emits: ['click'],
setup: function setup(props, _ref) {
var slots = _ref.slots,
emit = _ref.emit;
var VierRef = vue.ref(null);
var tid = 12;
var msClick = function msClick(e) {
clearTimeout(tid);
if (props.hoverClass !== 'none' && !props.hoverStopPropagation) {
VierRef.value.classList.remove(props.hoverClass);
tid = setTimeout(function () {
VierRef.value.classList.add(props.hoverClass);
tid = setTimeout(function () {
VierRef.value.classList.remove(props.hoverClass);
emit('click', e);
}, props.hoverStayTime);
}, props.hoverStartTime);
} else {
emit('click', e);
}
};
vue.onBeforeUnmount(function () {
clearTimeout(tid);
if (VierRef.value) {
VierRef.value.classList.remove(props.hoverClass);
}
});
var _style = vue.computed(function () {
return {};
});
var _customStyle = vue.computed(function () {
return props.customStyle;
});
var _customClass = vue.computed(function () {
return props.customClass;
});
return function () {
var _slots$default;
return vue.createVNode("div", {
"ref": VierRef,
"onClickCapture": msClick,
"style": [_style.value, _customStyle.value],
"class": [_customClass.value]
}, [(_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]);
};
}
});
// 组件列表
var components = {
Text: Text,
View: View
};
// Vue插件安装函数
var install = function install(app) {
Object.keys(components).forEach(function (key) {
app.component(key, components[key]);
});
};
// 支持全量导入
var index = _objectSpread2({
install: install
}, components);
// 兼容旧版本导出
var tmui4xVw = {
install: install
};
exports.Text = Text;
exports.View = View;
exports.default = index;
exports.tmui4xVw = tmui4xVw;
;