tdesign-vue
Version:
45 lines (39 loc) • 1.54 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var VueCompositionAPI = require('@vue/composition-api');
var isArray = require('../_chunks/dep-9b72cbc5.js');
function useChildComponentSlots() {
var instance = VueCompositionAPI.getCurrentInstance();
return function (childComponentName, slots) {
var _slots, _slots$default;
if (!slots) {
var _instance$setupContex;
slots = (_instance$setupContex = instance.setupContext) === null || _instance$setupContex === void 0 ? void 0 : _instance$setupContex.slots;
}
var content = ((_slots = slots) === null || _slots === void 0 || (_slots$default = _slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(_slots)) || [];
var childList = [];
var _getChildren = function getChildren(content2) {
if (!isArray.isArray(content2)) return;
content2.forEach(function (item) {
if (item.children && isArray.isArray(item.children)) {
_getChildren(item.children);
} else {
childList.push(item);
}
});
return childList;
};
return _getChildren(content).filter(function (item) {
var _item$tag;
return (_item$tag = item.tag) === null || _item$tag === void 0 ? void 0 : _item$tag.endsWith(childComponentName);
});
};
}
exports["default"] = useChildComponentSlots;
exports.useChildComponentSlots = useChildComponentSlots;
//# sourceMappingURL=slots.js.map