tdesign-vue
Version:
124 lines (116 loc) • 5.67 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
require('@babel/runtime/helpers/readOnlyError');
var _typeof = require('@babel/runtime/helpers/typeof');
var Vue = require('vue');
var VueCompositionAPI = require('@vue/composition-api');
var camelCase = require('../_chunks/dep-bf70543d.js');
var kebabCase = require('../_chunks/dep-727a349e.js');
require('../_chunks/dep-f895c884.js');
require('../_chunks/dep-e1cc6f64.js');
require('../_chunks/dep-5ea2b00f.js');
require('../_chunks/dep-9b72cbc5.js');
require('../_chunks/dep-7b78e8c3.js');
require('../_chunks/dep-d7270eaf.js');
require('../_chunks/dep-68f48b50.js');
require('../_chunks/dep-051ce30d.js');
require('../_chunks/dep-4b30bfe2.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
var Vue__default = /*#__PURE__*/_interopDefaultLegacy(Vue);
var RenderJsTypes = [Function, String, Number, Boolean, Object, Array];
function handleSlots(vm, params, name) {
var _vm$$scopedSlots$came, _vm$$scopedSlots, _vm$$scopedSlots$keba, _vm$$scopedSlots2;
var finaleParams = VueCompositionAPI.h;
if (params) {
Object.assign(finaleParams, params);
}
var node = (_vm$$scopedSlots$came = (_vm$$scopedSlots = vm.$scopedSlots)[camelCase.camelCase(name)]) === null || _vm$$scopedSlots$came === void 0 ? void 0 : _vm$$scopedSlots$came.call(_vm$$scopedSlots, finaleParams);
if (node) return node;
node = (_vm$$scopedSlots$keba = (_vm$$scopedSlots2 = vm.$scopedSlots)[kebabCase.kebabCase(name)]) === null || _vm$$scopedSlots$keba === void 0 ? void 0 : _vm$$scopedSlots$keba.call(_vm$$scopedSlots2, finaleParams);
if (node) return node;
return null;
}
var getValueRenderWay = function getValueRenderWay(value) {
if (["string", "number", "boolean"].includes(_typeof__default["default"](value))) return "text" /* Text */;
if (_typeof__default["default"](value) === "object") {
if (!(value instanceof Array) && value && value.context instanceof Vue__default["default"]) {
return "vnode" /* VNode */;
}
return "jsonstring" /* JsonString */;
}
return "unknown" /* Unknown */;
};
var RenderTNodeTemplate = Vue__default["default"].extend({
name: "render-tnode-template",
functional: true,
props: {
render: RenderJsTypes,
params: null
},
render: function render(h2, ctx) {
var _ctx$props = ctx.props,
render = _ctx$props.render,
params = _ctx$props.params;
var renderResult = typeof render === "function" ? render(h2, params) : render;
var renderWay = getValueRenderWay(renderResult);
var renderText = function renderText(c) {
return ctx.__proto__._v(c);
};
var renderMap = _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"]({}, "text" /* Text */, function text(c) {
return renderText(c);
}), "jsonstring" /* JsonString */, function jsonstring(c) {
return renderText(JSON.stringify(c, null, 2));
}), "vnode" /* VNode */, function vnode(c) {
return c;
});
return renderMap[renderWay] ? renderMap[renderWay](renderResult) : h2();
}
});
var renderTNodeJSX = function renderTNodeJSX(vm, name, options) {
var params = _typeof__default["default"](options) === "object" && "params" in options ? options.params : null;
var slotFirst = _typeof__default["default"](options) === "object" && "slotFirst" in options ? options.slotFirst : false;
var defaultNode = _typeof__default["default"](options) === "object" && "defaultNode" in options ? options.defaultNode : options;
var propsNode = vm[name];
if (propsNode === false || propsNode === null) return;
if (propsNode === true && defaultNode) {
return handleSlots(vm, params, name) || defaultNode;
}
if (typeof propsNode === "function") {
return propsNode(vm.$createElement, params);
}
var isPropsEmpty = [void 0, params, ""].includes(propsNode);
if ((isPropsEmpty || slotFirst) && (vm.$scopedSlots[camelCase.camelCase(name)] || vm.$scopedSlots[kebabCase.kebabCase(name)])) {
return handleSlots(vm, params, name);
}
return propsNode;
};
var renderTNodeJSXDefault = function renderTNodeJSXDefault(vm, name, options) {
var defaultNode = _typeof__default["default"](options) === "object" && "defaultNode" in options ? options.defaultNode : options;
return renderTNodeJSX(vm, name, options) || defaultNode;
};
var renderContent = function renderContent(vm, name1, name2, options) {
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;
defaultNode = _typeof__default["default"](options) === "object" && "context" in options && options;
var toParams = params ? {
params: params
} : void 0;
var node1 = renderTNodeJSX(vm, name1, toParams);
var node2 = renderTNodeJSX(vm, name2, toParams);
var r = [void 0, null, ""].includes(node1) ? node2 : node1;
return [void 0, null, ""].includes(r) ? defaultNode : r;
};
exports.RenderTNodeTemplate = RenderTNodeTemplate;
exports.handleSlots = handleSlots;
exports.renderContent = renderContent;
exports.renderTNodeJSX = renderTNodeJSX;
exports.renderTNodeJSXDefault = renderTNodeJSXDefault;
//# sourceMappingURL=render-tnode.js.map