tdesign-mobile-vue
Version:
tdesign-mobile-vue
67 lines (59 loc) • 2.83 kB
JavaScript
/**
* tdesign v1.7.0
* (c) 2024 TDesign Group
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var _typeof = require('@babel/runtime/helpers/typeof');
var vue = require('vue');
var camelCase = require('lodash/camelCase');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
var camelCase__default = /*#__PURE__*/_interopDefaultLegacy(camelCase);
var renderTNode = function renderTNode(instance, name, options) {
var _instance$slots$name3;
if (instance === null) {
return vue.h("", null);
}
var params = _typeof__default["default"](options) === "object" && "params" in options ? options.params : null;
var defaultNode = _typeof__default["default"](options) === "object" && "defaultNode" in options ? options.defaultNode : options;
var propsNode;
if (name in instance.props || camelCase__default["default"](name) in instance.props) {
propsNode = instance.props[name] || instance.props[camelCase__default["default"](name)];
}
if (instance.slots[name]) {
var _instance$slots$name;
return (_instance$slots$name = instance.slots[name]) === null || _instance$slots$name === void 0 ? void 0 : _instance$slots$name.call(params);
}
if (propsNode === true && defaultNode) {
var _instance$slots$name2;
return instance.slots[name] ? (_instance$slots$name2 = instance.slots[name]) === null || _instance$slots$name2 === void 0 ? void 0 : _instance$slots$name2.call(params) : defaultNode;
}
if (typeof propsNode === "function") {
vue.setBlockTracking(-1);
var vnode = propsNode(vue.h, params);
vue.setBlockTracking(1);
return vnode;
}
var isPropsEmpty = [void 0, params, ""].includes(propsNode);
if (isPropsEmpty && instance.slots[name]) return (_instance$slots$name3 = instance.slots[name]) === null || _instance$slots$name3 === void 0 ? void 0 : _instance$slots$name3.call(params);
return propsNode;
};
var renderContent = function renderContent(instance, name1, name2, options) {
if (instance === null) {
return vue.h("", null);
}
var params = _typeof__default["default"](options) === "object" && "params" in options ? options.params : null;
var defaultNode = _typeof__default["default"](options) === "object" && "defaultNode" in options ? options.defaultNode : options;
var toParams = params ? {
params: params
} : void 0;
var node1 = renderTNode(instance, name1, toParams);
var node2 = renderTNode(instance, name2, toParams);
var r = [void 0, null, ""].includes(node1) ? node2 : node1;
return [void 0, null, ""].includes(r) ? defaultNode : r;
};
exports.renderContent = renderContent;
exports.renderTNode = renderTNode;
//# sourceMappingURL=render.js.map