UNPKG

tdesign-mobile-vue

Version:
57 lines (53 loc) 2.33 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ import _typeof from '@babel/runtime/helpers/typeof'; import { h, setBlockTracking } from 'vue'; import camelCase from 'lodash/camelCase'; var renderTNode = function renderTNode(instance, name, options) { var _instance$slots$name3; if (instance === null) { return h("", null); } var params = _typeof(options) === "object" && "params" in options ? options.params : null; var defaultNode = _typeof(options) === "object" && "defaultNode" in options ? options.defaultNode : options; var propsNode; if (name in instance.props || camelCase(name) in instance.props) { propsNode = instance.props[name] || instance.props[camelCase(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") { setBlockTracking(-1); var vnode = propsNode(h, params); 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 h("", null); } var params = _typeof(options) === "object" && "params" in options ? options.params : null; var defaultNode = _typeof(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; }; export { renderContent, renderTNode }; //# sourceMappingURL=render.js.map