UNPKG

ant-design-x-vue-next

Version:

Ant Design X for Vue — community continuation aligned with @ant-design/x

61 lines (60 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AntDesignXVueResolver = AntDesignXVueResolver; /** * set of components that are contained in the package * (name after stripping the `AX` prefix from template tags) */ var primitiveNames = new Set([ 'Actions', 'Attachments', 'Bubble', 'Conversations', 'Prompts', 'Provider', 'Sender', 'Suggestion', 'Think', 'ThoughtChain', 'Sources', 'FileCard', 'Folder', 'CodeHighlighter', 'Mermaid', 'XMarkdown', 'XCard', 'Box', 'Card', 'Welcome', ]); /** * Map template suffix → actual named export from the package. * `<AXProvider>` strips to `Provider`, but the export is `XProvider`. */ var exportNameMap = { Provider: 'XProvider', }; function isAntdXVueComponent(name) { return primitiveNames.has(name); } function AntDesignXVueResolver(options) { if (options === void 0) { options = {}; } var _a = options.prefix, prefix = _a === void 0 ? 'AX' : _a, _b = options.packageName, packageName = _b === void 0 ? 'ant-design-x-vue-next' : _b, _c = options.exclude, exclude = _c === void 0 ? [] : _c; var resolverInfo = { type: 'component', resolve: function (name) { if (!name.startsWith(prefix)) return; var componentName = name.slice(prefix.length); if (!isAntdXVueComponent(componentName) || exclude.includes(componentName)) return; var exportName = exportNameMap[componentName] || componentName; return { name: exportName, from: packageName, as: "".concat(prefix).concat(componentName) }; } }; return resolverInfo.resolve; }