tdesign-vue-next
Version:
TDesign Component for vue-next
75 lines (67 loc) • 2.81 kB
JavaScript
/**
* tdesign v1.11.5
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var _typeof = require('@babel/runtime/helpers/typeof');
var Vue = require('vue');
var utils_renderTnode = require('../utils/render-tnode.js');
var isArray = require('../_chunks/dep-5ad8a2ab.js');
require('../_chunks/dep-0a510359.js');
require('../_chunks/dep-b8b9c2a3.js');
require('../_chunks/dep-bbe343d7.js');
require('../_chunks/dep-0c2ad01b.js');
require('../_chunks/dep-db023c41.js');
require('../_chunks/dep-e495f218.js');
require('../_chunks/dep-bafc1f63.js');
require('../_chunks/dep-c07d6878.js');
require('../_chunks/dep-a957c564.js');
require('../_chunks/dep-acb090bf.js');
require('../_chunks/dep-76218bd8.js');
require('../_chunks/dep-047617bf.js');
require('../_chunks/dep-9a321a91.js');
require('../_chunks/dep-ecbaedee.js');
require('../_chunks/dep-8b98fa07.js');
require('../_chunks/dep-b0b4fff1.js');
require('../_chunks/dep-7a21da5b.js');
require('../_chunks/dep-ed572eb3.js');
require('../_chunks/dep-9de7d250.js');
require('../_chunks/dep-be3c3d53.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
function useChildComponentSlots() {
var instance = Vue.getCurrentInstance();
return function (childComponentName, slots) {
var _slots, _slots$default;
if (!slots) {
slots = instance.slots;
}
var content = ((_slots = slots) === null || _slots === void 0 || (_slots$default = _slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(_slots)) || [];
return utils_renderTnode.getChildren(content).filter(function (item) {
var _item$type$name;
return (_item$type$name = item.type.name) === null || _item$type$name === void 0 ? void 0 : _item$type$name.endsWith(childComponentName);
});
};
}
function useChildSlots() {
var instance = Vue.getCurrentInstance();
return function () {
var _slots$default2;
var slots = instance.slots;
var content = (slots === null || slots === void 0 || (_slots$default2 = slots["default"]) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)) || [];
return content.filter(function (item) {
if (_typeof__default["default"](item.type) === "symbol" && !item.children) {
return false;
}
return item.type !== Vue.Comment;
}).map(function (item) {
if (item.children && isArray.isArray(item.children) && item.type === Vue.Fragment) return item.children;
return item;
}).flat();
};
}
exports.useChildComponentSlots = useChildComponentSlots;
exports.useChildSlots = useChildSlots;
//# sourceMappingURL=slot.js.map