UNPKG

tmui-vx

Version:

tmui4x,uniappx - Vue3 JSX Component Library

186 lines (175 loc) 4.91 kB
'use strict'; 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;