resolvers.js 43 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583
  1. "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  2. var _chunk44ONIEX7js = require('./chunk-44ONIEX7.js');
  3. var _chunkBTQOTIPQjs = require('./chunk-BTQOTIPQ.js');
  4. // src/core/resolvers/antdv.ts
  5. var matchComponents = [
  6. {
  7. pattern: /^Avatar/,
  8. styleDir: "avatar"
  9. },
  10. {
  11. pattern: /^AutoComplete/,
  12. styleDir: "auto-complete"
  13. },
  14. {
  15. pattern: /^Anchor/,
  16. styleDir: "anchor"
  17. },
  18. {
  19. pattern: /^Badge/,
  20. styleDir: "badge"
  21. },
  22. {
  23. pattern: /^Breadcrumb/,
  24. styleDir: "breadcrumb"
  25. },
  26. {
  27. pattern: /^Button/,
  28. styleDir: "button"
  29. },
  30. {
  31. pattern: /^Checkbox/,
  32. styleDir: "checkbox"
  33. },
  34. {
  35. pattern: /^Card/,
  36. styleDir: "card"
  37. },
  38. {
  39. pattern: /^Collapse/,
  40. styleDir: "collapse"
  41. },
  42. {
  43. pattern: /^Descriptions/,
  44. styleDir: "descriptions"
  45. },
  46. {
  47. pattern: /^RangePicker|^WeekPicker|^MonthPicker/,
  48. styleDir: "date-picker"
  49. },
  50. {
  51. pattern: /^Dropdown/,
  52. styleDir: "dropdown"
  53. },
  54. {
  55. pattern: /^Form/,
  56. styleDir: "form"
  57. },
  58. {
  59. pattern: /^InputNumber/,
  60. styleDir: "input-number"
  61. },
  62. {
  63. pattern: /^Input|^Textarea/,
  64. styleDir: "input"
  65. },
  66. {
  67. pattern: /^Statistic/,
  68. styleDir: "statistic"
  69. },
  70. {
  71. pattern: /^CheckableTag/,
  72. styleDir: "tag"
  73. },
  74. {
  75. pattern: /^TimeRangePicker/,
  76. styleDir: "time-picker"
  77. },
  78. {
  79. pattern: /^Layout/,
  80. styleDir: "layout"
  81. },
  82. {
  83. pattern: /^Menu|^SubMenu/,
  84. styleDir: "menu"
  85. },
  86. {
  87. pattern: /^Table/,
  88. styleDir: "table"
  89. },
  90. {
  91. pattern: /^TimePicker|^TimeRangePicker/,
  92. styleDir: "time-picker"
  93. },
  94. {
  95. pattern: /^Radio/,
  96. styleDir: "radio"
  97. },
  98. {
  99. pattern: /^Image/,
  100. styleDir: "image"
  101. },
  102. {
  103. pattern: /^List/,
  104. styleDir: "list"
  105. },
  106. {
  107. pattern: /^Tab/,
  108. styleDir: "tabs"
  109. },
  110. {
  111. pattern: /^Mentions/,
  112. styleDir: "mentions"
  113. },
  114. {
  115. pattern: /^Step/,
  116. styleDir: "steps"
  117. },
  118. {
  119. pattern: /^Skeleton/,
  120. styleDir: "skeleton"
  121. },
  122. {
  123. pattern: /^Select/,
  124. styleDir: "select"
  125. },
  126. {
  127. pattern: /^TreeSelect/,
  128. styleDir: "tree-select"
  129. },
  130. {
  131. pattern: /^Tree|^DirectoryTree/,
  132. styleDir: "tree"
  133. },
  134. {
  135. pattern: /^Typography/,
  136. styleDir: "typography"
  137. },
  138. {
  139. pattern: /^Timeline/,
  140. styleDir: "timeline"
  141. },
  142. {
  143. pattern: /^Upload/,
  144. styleDir: "upload"
  145. }
  146. ];
  147. function getStyleDir(compName) {
  148. let styleDir;
  149. const total = matchComponents.length;
  150. for (let i = 0; i < total; i++) {
  151. const matcher = matchComponents[i];
  152. if (compName.match(matcher.pattern)) {
  153. styleDir = matcher.styleDir;
  154. break;
  155. }
  156. }
  157. if (!styleDir)
  158. styleDir = _chunk44ONIEX7js.kebabCase.call(void 0, compName);
  159. return styleDir;
  160. }
  161. function getSideEffects(compName, options) {
  162. const {
  163. importStyle = true,
  164. importLess = false
  165. } = options;
  166. if (!importStyle)
  167. return;
  168. const lib = options.cjs ? "lib" : "es";
  169. const packageName = (options == null ? void 0 : options.packageName) || "ant-design-vue";
  170. if (importStyle === "less" || importLess) {
  171. const styleDir = getStyleDir(compName);
  172. return `${packageName}/${lib}/${styleDir}/style`;
  173. } else {
  174. const styleDir = getStyleDir(compName);
  175. return `${packageName}/${lib}/${styleDir}/style/css`;
  176. }
  177. }
  178. var primitiveNames = ["Affix", "Anchor", "AnchorLink", "AutoComplete", "AutoCompleteOptGroup", "AutoCompleteOption", "Alert", "Avatar", "AvatarGroup", "BackTop", "Badge", "BadgeRibbon", "Breadcrumb", "BreadcrumbItem", "BreadcrumbSeparator", "Button", "ButtonGroup", "Calendar", "Card", "CardGrid", "CardMeta", "Collapse", "CollapsePanel", "Carousel", "Cascader", "Checkbox", "CheckboxGroup", "Col", "Comment", "ConfigProvider", "DatePicker", "MonthPicker", "WeekPicker", "RangePicker", "QuarterPicker", "Descriptions", "DescriptionsItem", "Divider", "Dropdown", "DropdownButton", "Drawer", "Empty", "Form", "FormItem", "FormItemRest", "Grid", "Input", "InputGroup", "InputPassword", "InputSearch", "Textarea", "Image", "ImagePreviewGroup", "InputNumber", "Layout", "LayoutHeader", "LayoutSider", "LayoutFooter", "LayoutContent", "List", "ListItem", "ListItemMeta", "Menu", "MenuDivider", "MenuItem", "MenuItemGroup", "SubMenu", "Mentions", "MentionsOption", "Modal", "Statistic", "StatisticCountdown", "PageHeader", "Pagination", "Popconfirm", "Popover", "Progress", "Radio", "RadioButton", "RadioGroup", "Rate", "Result", "Row", "Select", "SelectOptGroup", "SelectOption", "Skeleton", "SkeletonButton", "SkeletonAvatar", "SkeletonInput", "SkeletonImage", "Slider", "Space", "Spin", "Steps", "Step", "Switch", "Table", "TableColumn", "TableColumnGroup", "TableSummary", "TableSummaryRow", "TableSummaryCell", "Transfer", "Tree", "TreeNode", "DirectoryTree", "TreeSelect", "TreeSelectNode", "Tabs", "TabPane", "Tag", "CheckableTag", "TimePicker", "TimeRangePicker", "Timeline", "TimelineItem", "Tooltip", "Typography", "TypographyLink", "TypographyParagraph", "TypographyText", "TypographyTitle", "Upload", "UploadDragger", "LocaleProvider"];
  179. var prefix = "A";
  180. var antdvNames;
  181. function genAntdNames(primitiveNames2) {
  182. antdvNames = new Set(primitiveNames2.map((name) => `${prefix}${name}`));
  183. }
  184. genAntdNames(primitiveNames);
  185. function isAntdv(compName) {
  186. return antdvNames.has(compName);
  187. }
  188. function AntDesignVueResolver(options = {}) {
  189. return {
  190. type: "component",
  191. resolve: (name) => {
  192. var _a;
  193. if (options.resolveIcons && name.match(/(Outlined|Filled|TwoTone)$/)) {
  194. return {
  195. name,
  196. from: "@ant-design/icons-vue"
  197. };
  198. }
  199. if (isAntdv(name) && !((_a = options == null ? void 0 : options.exclude) == null ? void 0 : _a.includes(name))) {
  200. const importName = name.slice(1);
  201. const { cjs = false, packageName = "ant-design-vue" } = options;
  202. const path = `${packageName}/${cjs ? "lib" : "es"}`;
  203. return {
  204. name: importName,
  205. from: path,
  206. sideEffects: getSideEffects(importName, options)
  207. };
  208. }
  209. }
  210. };
  211. }
  212. // node_modules/.pnpm/compare-versions@5.0.1/node_modules/compare-versions/lib/esm/index.js
  213. var compareVersions = (v1, v2) => {
  214. const n1 = validateAndParse(v1);
  215. const n2 = validateAndParse(v2);
  216. const p1 = n1.pop();
  217. const p2 = n2.pop();
  218. const r = compareSegments(n1, n2);
  219. if (r !== 0)
  220. return r;
  221. if (p1 && p2) {
  222. return compareSegments(p1.split("."), p2.split("."));
  223. } else if (p1 || p2) {
  224. return p1 ? -1 : 1;
  225. }
  226. return 0;
  227. };
  228. var compare = (v1, v2, operator) => {
  229. assertValidOperator(operator);
  230. const res = compareVersions(v1, v2);
  231. return operatorResMap[operator].includes(res);
  232. };
  233. var semver = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;
  234. var validateAndParse = (version) => {
  235. if (typeof version !== "string") {
  236. throw new TypeError("Invalid argument expected string");
  237. }
  238. const match = version.match(semver);
  239. if (!match) {
  240. throw new Error(`Invalid argument not valid semver ('${version}' received)`);
  241. }
  242. match.shift();
  243. return match;
  244. };
  245. var isWildcard = (s) => s === "*" || s === "x" || s === "X";
  246. var tryParse = (v) => {
  247. const n = parseInt(v, 10);
  248. return isNaN(n) ? v : n;
  249. };
  250. var forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];
  251. var compareStrings = (a, b) => {
  252. if (isWildcard(a) || isWildcard(b))
  253. return 0;
  254. const [ap, bp] = forceType(tryParse(a), tryParse(b));
  255. if (ap > bp)
  256. return 1;
  257. if (ap < bp)
  258. return -1;
  259. return 0;
  260. };
  261. var compareSegments = (a, b) => {
  262. for (let i = 0; i < Math.max(a.length, b.length); i++) {
  263. const r = compareStrings(a[i] || "0", b[i] || "0");
  264. if (r !== 0)
  265. return r;
  266. }
  267. return 0;
  268. };
  269. var operatorResMap = {
  270. ">": [1],
  271. ">=": [0, 1],
  272. "=": [0],
  273. "<=": [-1, 0],
  274. "<": [-1]
  275. };
  276. var allowedOperators = Object.keys(operatorResMap);
  277. var assertValidOperator = (op) => {
  278. if (typeof op !== "string") {
  279. throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);
  280. }
  281. if (allowedOperators.indexOf(op) === -1) {
  282. throw new Error(`Invalid operator, expected one of ${allowedOperators.join("|")}`);
  283. }
  284. };
  285. // src/core/resolvers/element-plus.ts
  286. function getSideEffectsLegacy(partialName, options) {
  287. const { importStyle } = options;
  288. if (!importStyle)
  289. return;
  290. if (importStyle === "sass") {
  291. return [
  292. "element-plus/packages/theme-chalk/src/base.scss",
  293. `element-plus/packages/theme-chalk/src/${partialName}.scss`
  294. ];
  295. } else if (importStyle === true || importStyle === "css") {
  296. return [
  297. "element-plus/lib/theme-chalk/base.css",
  298. `element-plus/lib/theme-chalk/el-${partialName}.css`
  299. ];
  300. }
  301. }
  302. function getSideEffects2(dirName, options) {
  303. const { importStyle, ssr } = options;
  304. const themeFolder = "element-plus/theme-chalk";
  305. const esComponentsFolder = "element-plus/es/components";
  306. if (importStyle === "sass")
  307. return ssr ? `${themeFolder}/src/${dirName}.scss` : `${esComponentsFolder}/${dirName}/style/index`;
  308. else if (importStyle === true || importStyle === "css")
  309. return ssr ? `${themeFolder}/el-${dirName}.css` : `${esComponentsFolder}/${dirName}/style/css`;
  310. }
  311. function resolveComponent(name, options) {
  312. if (options.exclude && name.match(options.exclude))
  313. return;
  314. if (!name.match(/^El[A-Z]/))
  315. return;
  316. if (name.match(/^ElIcon.+/)) {
  317. return {
  318. name: name.replace(/^ElIcon/, ""),
  319. from: "@element-plus/icons-vue"
  320. };
  321. }
  322. const partialName = _chunk44ONIEX7js.kebabCase.call(void 0, name.slice(2));
  323. const { version, ssr } = options;
  324. if (compare(version, "1.1.0-beta.1", ">=")) {
  325. return {
  326. name,
  327. from: `element-plus/${ssr ? "lib" : "es"}`,
  328. sideEffects: getSideEffects2(partialName, options)
  329. };
  330. } else if (compare(version, "1.0.2-beta.28", ">=")) {
  331. return {
  332. from: `element-plus/es/el-${partialName}`,
  333. sideEffects: getSideEffectsLegacy(partialName, options)
  334. };
  335. } else {
  336. return {
  337. from: `element-plus/lib/el-${partialName}`,
  338. sideEffects: getSideEffectsLegacy(partialName, options)
  339. };
  340. }
  341. }
  342. function resolveDirective(name, options) {
  343. if (!options.directives)
  344. return;
  345. const directives2 = {
  346. Loading: { importName: "ElLoadingDirective", styleName: "loading" },
  347. Popover: { importName: "ElPopoverDirective", styleName: "popover" },
  348. InfiniteScroll: { importName: "ElInfiniteScroll", styleName: "infinite-scroll" }
  349. };
  350. const directive = directives2[name];
  351. if (!directive)
  352. return;
  353. const { version, ssr } = options;
  354. if (compare(version, "1.1.0-beta.1", ">=")) {
  355. return {
  356. name: directive.importName,
  357. from: `element-plus/${ssr ? "lib" : "es"}`,
  358. sideEffects: getSideEffects2(directive.styleName, options)
  359. };
  360. }
  361. }
  362. var noStylesComponents = ["ElAutoResizer"];
  363. function ElementPlusResolver(options = {}) {
  364. let optionsResolved;
  365. async function resolveOptions() {
  366. if (optionsResolved)
  367. return optionsResolved;
  368. optionsResolved = _chunkBTQOTIPQjs.__spreadValues.call(void 0, {
  369. ssr: false,
  370. version: await _chunk44ONIEX7js.getPkgVersion.call(void 0, "element-plus", "2.2.2"),
  371. importStyle: "css",
  372. directives: true,
  373. exclude: void 0,
  374. noStylesComponents: options.noStylesComponents || []
  375. }, options);
  376. return optionsResolved;
  377. }
  378. return [
  379. {
  380. type: "component",
  381. resolve: async (name) => {
  382. const options2 = await resolveOptions();
  383. if ([...options2.noStylesComponents, ...noStylesComponents].includes(name))
  384. return resolveComponent(name, _chunkBTQOTIPQjs.__spreadProps.call(void 0, _chunkBTQOTIPQjs.__spreadValues.call(void 0, {}, options2), { importStyle: false }));
  385. else
  386. return resolveComponent(name, options2);
  387. }
  388. },
  389. {
  390. type: "directive",
  391. resolve: async (name) => {
  392. return resolveDirective(name, await resolveOptions());
  393. }
  394. }
  395. ];
  396. }
  397. // src/core/resolvers/element-ui.ts
  398. function getSideEffects3(partialName, options) {
  399. const { importStyle = "css" } = options;
  400. if (!importStyle)
  401. return;
  402. if (importStyle === "sass") {
  403. return [
  404. "element-ui/packages/theme-chalk/src/base.scss",
  405. `element-ui/packages/theme-chalk/src/${partialName}.scss`
  406. ];
  407. } else {
  408. return [
  409. "element-ui/lib/theme-chalk/base.css",
  410. `element-ui/lib/theme-chalk/${partialName}.css`
  411. ];
  412. }
  413. }
  414. function ElementUiResolver(options = {}) {
  415. return {
  416. type: "component",
  417. resolve: (name) => {
  418. if (options.exclude && name.match(options.exclude))
  419. return;
  420. if (/^El[A-Z]/.test(name)) {
  421. const compName = name.slice(2);
  422. const partialName = _chunk44ONIEX7js.kebabCase.call(void 0, compName);
  423. if (partialName === "collapse-transition") {
  424. return {
  425. from: `element-ui/lib/transitions/${partialName}`
  426. };
  427. }
  428. return {
  429. from: `element-ui/lib/${partialName}`,
  430. sideEffects: getSideEffects3(partialName, options)
  431. };
  432. }
  433. }
  434. };
  435. }
  436. // src/core/resolvers/headless-ui.ts
  437. var components = [
  438. "Combobox",
  439. "ComboboxButton",
  440. "ComboboxInput",
  441. "ComboboxLabel",
  442. "ComboboxOption",
  443. "ComboboxOptions",
  444. "Dialog",
  445. "DialogDescription",
  446. "DialogOverlay",
  447. "DialogTitle",
  448. "DialogPanel",
  449. "Disclosure",
  450. "DisclosureButton",
  451. "DisclosurePanel",
  452. "FocusTrap",
  453. "Listbox",
  454. "ListboxButton",
  455. "ListboxLabel",
  456. "ListboxOption",
  457. "ListboxOptions",
  458. "Menu",
  459. "MenuButton",
  460. "MenuItem",
  461. "MenuItems",
  462. "Popover",
  463. "PopoverButton",
  464. "PopoverGroup",
  465. "PopoverOverlay",
  466. "PopoverPanel",
  467. "Portal",
  468. "PortalGroup",
  469. "RadioGroup",
  470. "RadioGroupDescription",
  471. "RadioGroupLabel",
  472. "RadioGroupOption",
  473. "Switch",
  474. "SwitchDescription",
  475. "SwitchGroup",
  476. "SwitchLabel",
  477. "TransitionChild",
  478. "TransitionRoot",
  479. "TabGroup",
  480. "TabList",
  481. "Tab",
  482. "TabPanels",
  483. "TabPanel"
  484. ];
  485. function HeadlessUiResolver(options = {}) {
  486. const { prefix: prefix2 = "" } = options;
  487. return {
  488. type: "component",
  489. resolve: (name) => {
  490. if (name.startsWith(prefix2)) {
  491. const componentName = name.substring(prefix2.length);
  492. if (components.includes(componentName)) {
  493. return {
  494. name: componentName,
  495. from: "@headlessui/vue"
  496. };
  497. }
  498. }
  499. }
  500. };
  501. }
  502. // src/core/resolvers/idux.ts
  503. var specialComponents = {
  504. CdkVirtualScroll: "scroll",
  505. IxAutoComplete: "auto-complete",
  506. IxBackTop: "back-top",
  507. IxDatePicker: "date-picker",
  508. IxDateRangePicker: "date-picker",
  509. IxCol: "grid",
  510. IxRow: "grid",
  511. IxInputNumber: "input-number",
  512. IxTab: "tabs",
  513. IxTreeSelect: "tree-select",
  514. IxTimePicker: "time-picker",
  515. IxTimeRangePicker: "time-picker"
  516. };
  517. function IduxResolver(options = {}) {
  518. return {
  519. type: "component",
  520. resolve: (name) => {
  521. const { importStyle, importStyleTheme = "default", exclude = [], scope = "@idux" } = options;
  522. if (exclude.includes(name))
  523. return;
  524. const packageName = getPackageName(name);
  525. if (!packageName)
  526. return;
  527. let dirname = specialComponents[name];
  528. if (!dirname) {
  529. const nameIndex = packageName === "pro" ? 2 : 1;
  530. dirname = _chunk44ONIEX7js.kebabCase.call(void 0, name).split("-")[nameIndex];
  531. }
  532. const path = `${scope}/${packageName}/${dirname}`;
  533. let sideEffects;
  534. if (packageName !== "cdk" && importStyle)
  535. sideEffects = `${path}/style/themes/${importStyle === "css" ? `${importStyleTheme}_css` : importStyleTheme}`;
  536. return { name, from: path, sideEffects };
  537. }
  538. };
  539. }
  540. function getPackageName(name) {
  541. let packageName;
  542. if (name.match(/^Cdk[A-Z]/))
  543. packageName = "cdk";
  544. else if (name.match(/^IxPro[A-Z]/))
  545. packageName = "pro";
  546. else if (name.match(/^Ix[A-Z]/))
  547. packageName = "components";
  548. return packageName;
  549. }
  550. // src/core/resolvers/inkline.ts
  551. function InklineResolver() {
  552. return {
  553. type: "component",
  554. resolve: (name) => {
  555. if (name.match(/^I[A-Z]/)) {
  556. return {
  557. name,
  558. from: "@inkline/inkline"
  559. };
  560. }
  561. }
  562. };
  563. }
  564. // src/core/resolvers/naive-ui.ts
  565. function NaiveUiResolver() {
  566. return {
  567. type: "component",
  568. resolve: (name) => {
  569. if (name.match(/^(N[A-Z]|n-[a-z])/))
  570. return { name, from: "naive-ui" };
  571. }
  572. };
  573. }
  574. // src/core/resolvers/prime-vue.ts
  575. var components2 = [
  576. "Accordion",
  577. "AccordionTab",
  578. "AutoComplete",
  579. "Avatar",
  580. "AvatarGroup",
  581. "Badge",
  582. "BlockUI",
  583. "Breadcrumb",
  584. "Button",
  585. "Calendar",
  586. "Card",
  587. "Carousel",
  588. "CascadeSelect",
  589. "Chart",
  590. "Checkbox",
  591. "Chip",
  592. "Chips",
  593. "ColorPicker",
  594. "Column",
  595. "ColumnGroup",
  596. "ContextMenu",
  597. "DataTable",
  598. "DataView",
  599. "DataViewLayoutOptions",
  600. "DeferredContent",
  601. "Dialog",
  602. "Divider",
  603. "Dock",
  604. "Dropdown",
  605. "Editor",
  606. "Fieldset",
  607. "FileUpload",
  608. "FullCalendar",
  609. "Galleria",
  610. "Image",
  611. "InlineMessage",
  612. "Inplace",
  613. "InputMask",
  614. "InputNumber",
  615. "InputSwitch",
  616. "InputText",
  617. "Knob",
  618. "Listbox",
  619. "MegaMenu",
  620. "Menu",
  621. "Menubar",
  622. "Message",
  623. "MultiSelect",
  624. "OrderList",
  625. "OrganizationChart",
  626. "OverlayPanel",
  627. "Paginator",
  628. "Panel",
  629. "PanelMenu",
  630. "Password",
  631. "PickList",
  632. "ProgressBar",
  633. "ProgressSpinner",
  634. "RadioButton",
  635. "Rating",
  636. "Row",
  637. "ScrollPanel",
  638. "ScrollTop",
  639. "SelectButton",
  640. "Sidebar",
  641. "Skeleton",
  642. "Slider",
  643. "SpeedDial",
  644. "SplitButton",
  645. "Splitter",
  646. "SplitterPanel",
  647. "Steps",
  648. "TabMenu",
  649. "TabPanel",
  650. "TabView",
  651. "Tag",
  652. "Terminal",
  653. "TerminalService",
  654. "Textarea",
  655. "TieredMenu",
  656. "Timeline",
  657. "Timelist",
  658. "ToggleButton",
  659. "Toolbar",
  660. "Tree",
  661. "TreeSelect",
  662. "TreeTable",
  663. "TriStateCheckbox",
  664. "VirtualScroller"
  665. ];
  666. function PrimeVueResolver(options = {}) {
  667. return {
  668. type: "component",
  669. resolve: (name) => {
  670. const sideEffects = [];
  671. if (options.importStyle)
  672. sideEffects.push("primevue/resources/primevue.min.css");
  673. if (options.importIcons)
  674. sideEffects.push("primeicons/primeicons.css");
  675. if (options.importTheme) {
  676. sideEffects.push(
  677. `primevue/resources/themes/${options.importTheme}/theme.css`
  678. );
  679. }
  680. if (options.prefix) {
  681. if (!name.startsWith(options.prefix))
  682. return;
  683. name = name.substring(options.prefix.length);
  684. }
  685. if (components2.includes(name)) {
  686. return {
  687. from: `primevue/${name.toLowerCase()}`,
  688. sideEffects
  689. };
  690. }
  691. }
  692. };
  693. }
  694. // src/core/resolvers/vant.ts
  695. var moduleType = _chunk44ONIEX7js.isSSR ? "lib" : "es";
  696. function getSideEffects4(dirName, options) {
  697. const { importStyle = true } = options;
  698. if (!importStyle || _chunk44ONIEX7js.isSSR)
  699. return;
  700. if (importStyle === "less")
  701. return `vant/${moduleType}/${dirName}/style/less`;
  702. if (importStyle === "css")
  703. return `vant/${moduleType}/${dirName}/style/index`;
  704. return `vant/${moduleType}/${dirName}/style/index`;
  705. }
  706. function VantResolver(options = {}) {
  707. return {
  708. type: "component",
  709. resolve: (name) => {
  710. if (name.startsWith("Van")) {
  711. const partialName = name.slice(3);
  712. return {
  713. name: partialName,
  714. from: `vant/${moduleType}`,
  715. sideEffects: getSideEffects4(_chunk44ONIEX7js.kebabCase.call(void 0, partialName), options)
  716. };
  717. }
  718. }
  719. };
  720. }
  721. // src/core/resolvers/varlet-ui.ts
  722. var varFunctions = ["ImagePreview", "Snackbar", "Picker", "ActionSheet", "Dialog", "Locale", "StyleProvider", "LoadingBar"];
  723. var varDirectives = ["Ripple", "Lazy"];
  724. function getResolved(name, options) {
  725. const {
  726. importStyle = "css",
  727. importCss = true,
  728. importLess,
  729. autoImport = false,
  730. version = "vue3"
  731. } = options;
  732. const path = version === "vue2" ? "@varlet-vue2/ui" : "@varlet/ui";
  733. const sideEffects = [];
  734. if (importStyle || importCss) {
  735. if (importStyle === "less" || importLess)
  736. sideEffects.push(`${path}/es/${_chunk44ONIEX7js.kebabCase.call(void 0, name)}/style/less.js`);
  737. else
  738. sideEffects.push(`${path}/es/${_chunk44ONIEX7js.kebabCase.call(void 0, name)}/style`);
  739. }
  740. return {
  741. from: path,
  742. name: autoImport ? name : `_${name}Component`,
  743. sideEffects
  744. };
  745. }
  746. function VarletUIResolver(options = {}) {
  747. return [
  748. {
  749. type: "component",
  750. resolve: (name) => {
  751. const { autoImport = false } = options;
  752. if (autoImport && varFunctions.includes(name))
  753. return getResolved(name, options);
  754. if (name.startsWith("Var"))
  755. return getResolved(name.slice(3), options);
  756. }
  757. },
  758. {
  759. type: "directive",
  760. resolve: (name) => {
  761. const { directives: directives2 = true } = options;
  762. if (!directives2)
  763. return;
  764. if (!varDirectives.includes(name))
  765. return;
  766. return getResolved(name, options);
  767. }
  768. }
  769. ];
  770. }
  771. // src/core/resolvers/veui.ts
  772. var _path = require('path');
  773. var VEUI_PACKAGE_NAME = "veui";
  774. var components3;
  775. function VeuiResolver(options = {}) {
  776. const { alias = VEUI_PACKAGE_NAME } = options;
  777. if (!components3) {
  778. try {
  779. const componentsData = _chunkBTQOTIPQjs.__require.call(void 0, `${alias}/components.json`);
  780. components3 = new Set(componentsData.map(({ name }) => name));
  781. } catch (e) {
  782. throw new Error("[unplugin-vue-components:veui] VEUI is not installed");
  783. }
  784. }
  785. return {
  786. type: "component",
  787. resolve: (name) => {
  788. if (name.match(/^Veui[A-Z]/)) {
  789. const componentName = name.slice(4);
  790. if (!components3.has(componentName))
  791. return;
  792. const sideEffects = getSideEffects5(componentName, options);
  793. return { name: componentName, from: alias, sideEffects };
  794. }
  795. }
  796. };
  797. }
  798. var formatters = {
  799. "kebab-case": _chunk44ONIEX7js.kebabCase,
  800. "camelCase": _chunk44ONIEX7js.camelCase,
  801. "PascalCase": _chunk44ONIEX7js.pascalCase
  802. };
  803. var peerPaths = /* @__PURE__ */ new Map();
  804. function assertPeerPath(peerPath) {
  805. if (!peerPaths.has(peerPath)) {
  806. try {
  807. _chunk44ONIEX7js.resolveImportPath.call(void 0, peerPath);
  808. peerPaths.set(peerPath, true);
  809. } catch (e) {
  810. peerPaths.set(peerPath, false);
  811. }
  812. }
  813. return peerPaths.get(peerPath);
  814. }
  815. function getSideEffects5(name, {
  816. alias = VEUI_PACKAGE_NAME,
  817. modules = [],
  818. locale = "zh-Hans",
  819. global = []
  820. }) {
  821. const localeModules = (locale ? Array.isArray(locale) ? locale : [locale] : []).map((locale2) => `${alias}/locale/${locale2}/${name}.js`);
  822. const peerModules = modules.map(
  823. ({
  824. package: pack,
  825. path = "components",
  826. fileName = "{module}.css",
  827. transform = "kebab-case"
  828. }) => {
  829. const peer = transform ? formatters[transform](name) : name;
  830. const file = fileName.replace(/\$?\{module\}/g, peer);
  831. return _path.normalize.call(void 0, _path.join.call(void 0, pack, path, file));
  832. }
  833. );
  834. return [...localeModules, ...global, ...peerModules].filter(assertPeerPath);
  835. }
  836. // src/core/resolvers/view-ui.ts
  837. function getSideEffects6(componentName) {
  838. const sideEffects = [
  839. "view-design/dist/styles/iview.css",
  840. "popper.js/dist/umd/popper.js"
  841. ];
  842. if (/^Table|^Slider|^Tab/.test(componentName))
  843. sideEffects.push("element-resize-detector");
  844. if (componentName.startsWith("Date"))
  845. sideEffects.push("js-calendar");
  846. return sideEffects;
  847. }
  848. var matchComponents2 = [
  849. {
  850. pattern: /^List/,
  851. compDir: "list"
  852. }
  853. ];
  854. function getCompDir(compName) {
  855. let compPath;
  856. const total = matchComponents2.length;
  857. for (let i = 0; i < total; i++) {
  858. const matcher = matchComponents2[i];
  859. if (compName.match(matcher.pattern)) {
  860. compPath = `${matcher.compDir}/${_chunk44ONIEX7js.kebabCase.call(void 0, compName)}.vue`;
  861. break;
  862. }
  863. }
  864. if (!compPath)
  865. compPath = _chunk44ONIEX7js.kebabCase.call(void 0, compName);
  866. return compPath;
  867. }
  868. function ViewUiResolver() {
  869. return {
  870. type: "component",
  871. resolve: (name) => {
  872. if (name.match(/^I[A-Z]/)) {
  873. const compName = name.slice(1);
  874. return {
  875. from: `view-design/src/components/${getCompDir(compName)}`,
  876. sideEffects: getSideEffects6(compName)
  877. };
  878. }
  879. }
  880. };
  881. }
  882. // src/core/resolvers/vuetify.ts
  883. function VuetifyResolver() {
  884. return {
  885. type: "component",
  886. resolve: (name) => {
  887. if (name.match(/^V[A-Z]/))
  888. return { name, from: "vuetify/lib" };
  889. }
  890. };
  891. }
  892. function Vuetify3Resolver() {
  893. return {
  894. type: "component",
  895. resolve: (name) => {
  896. if (name.match(/^V[A-Z]/))
  897. return { name, from: "vuetify/components" };
  898. }
  899. };
  900. }
  901. // src/core/resolvers/vueuse.ts
  902. var _fs = require('fs');
  903. var _localpkg = require('local-pkg');
  904. var components4;
  905. function VueUseComponentsResolver() {
  906. return {
  907. type: "component",
  908. resolve: (name) => {
  909. if (!components4) {
  910. let indexesJson;
  911. try {
  912. const corePath = _localpkg.resolveModule.call(void 0, "@vueuse/core") || process.cwd();
  913. const path = _localpkg.resolveModule.call(void 0, "@vueuse/core/indexes.json") || _localpkg.resolveModule.call(void 0, "@vueuse/metadata/index.json") || _localpkg.resolveModule.call(void 0, "@vueuse/metadata/index.json", { paths: [corePath] });
  914. indexesJson = JSON.parse(_fs.readFileSync.call(void 0, path, "utf-8"));
  915. components4 = indexesJson.functions.filter((i) => i.component && i.name).map(({ name: name2 }) => name2[0].toUpperCase() + name2.slice(1));
  916. } catch (error) {
  917. console.error(error);
  918. throw new Error("[vue-components] failed to load @vueuse/core, have you installed it?");
  919. }
  920. }
  921. if (components4 && components4.includes(name))
  922. return { name, as: name, from: "@vueuse/components" };
  923. }
  924. };
  925. }
  926. // src/core/resolvers/vueuse-directive.ts
  927. var directives;
  928. function VueUseDirectiveResolver() {
  929. return {
  930. type: "directive",
  931. resolve: (name) => {
  932. if (!directives) {
  933. let indexesJson;
  934. try {
  935. const corePath = _localpkg.resolveModule.call(void 0, "@vueuse/core") || process.cwd();
  936. const path = _localpkg.resolveModule.call(void 0, "@vueuse/core/indexes.json") || _localpkg.resolveModule.call(void 0, "@vueuse/metadata/index.json") || _localpkg.resolveModule.call(void 0, "@vueuse/metadata/index.json", { paths: [corePath] });
  937. indexesJson = JSON.parse(_fs.readFileSync.call(void 0, path, "utf-8"));
  938. directives = indexesJson.functions.filter((i) => i.directive && i.name).map(({ name: name2 }) => name2[0].toUpperCase() + name2.slice(1)).map((name2) => name2.startsWith("Use") ? name2.slice(3) : name2);
  939. } catch (error) {
  940. console.error(error);
  941. throw new Error("[vue-components] failed to load @vueuse/core, have you installed it?");
  942. }
  943. }
  944. if (directives && directives.includes(name))
  945. return { name: `v${name}`, as: name, from: "@vueuse/components" };
  946. }
  947. };
  948. }
  949. // src/core/resolvers/quasar.ts
  950. function QuasarResolver() {
  951. let components5 = [];
  952. return {
  953. type: "component",
  954. resolve: async (name) => {
  955. if (!components5.length) {
  956. const quasarApiListPath = _localpkg.resolveModule.call(void 0, "quasar/dist/transforms/api-list.json");
  957. if (quasarApiListPath)
  958. components5 = JSON.parse(await _fs.promises.readFile(quasarApiListPath, "utf-8"));
  959. }
  960. if (components5.includes(name))
  961. return { name, from: "quasar" };
  962. }
  963. };
  964. }
  965. // src/core/resolvers/devui.ts
  966. var LIB_NAME = "vue-devui";
  967. var HARMLESS = ["ripple"];
  968. function resolveDirectory(name, filename) {
  969. return `${LIB_NAME}/${name}/${filename}`;
  970. }
  971. function getSideEffects7(name) {
  972. if (HARMLESS.includes(name))
  973. return;
  974. if (["row", "col"].includes(name))
  975. return resolveDirectory("grid", "style.css");
  976. if (["aside", "content", "footer", "header", "layout"].includes(name))
  977. return resolveDirectory("layout", "style.css");
  978. if (["overlay", "fixed-overlay", "flexible-overlay"].includes(name))
  979. return resolveDirectory("overlay", "style.css");
  980. return resolveDirectory(name, "style.css");
  981. }
  982. function componentsResolver(name, { ssr }) {
  983. if (!name.match(/^D[A-Z]/))
  984. return;
  985. const resolveId = _chunk44ONIEX7js.kebabCase.call(void 0, name = name.slice(1));
  986. return {
  987. name,
  988. sideEffects: getSideEffects7(resolveId),
  989. from: resolveDirectory(resolveId, `index.${ssr ? "umd" : "es"}.js`)
  990. };
  991. }
  992. function directivesResolver(name, { ssr }) {
  993. const resolveId = _chunk44ONIEX7js.kebabCase.call(void 0, name);
  994. return {
  995. name: `${name}Directive`,
  996. sideEffects: getSideEffects7(resolveId),
  997. from: resolveDirectory(resolveId, `index.${ssr ? "umd" : "es"}.js`)
  998. };
  999. }
  1000. function DevUiResolver(options = {}) {
  1001. const config = _chunkBTQOTIPQjs.__spreadValues.call(void 0, { directives: true, importStyle: true, ssr: false }, options);
  1002. const resolvers = [
  1003. {
  1004. type: "component",
  1005. resolve: (name) => componentsResolver(name, config)
  1006. }
  1007. ];
  1008. if (config.directives) {
  1009. resolvers.push({
  1010. type: "directive",
  1011. resolve: (name) => directivesResolver(name, config)
  1012. });
  1013. }
  1014. return resolvers;
  1015. }
  1016. // src/core/resolvers/arco.ts
  1017. var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);
  1018. var debug = _debug2.default.call(void 0, "unplugin-vue-components:resolvers:arco");
  1019. var matchComponents3 = [
  1020. {
  1021. pattern: /^AnchorLink$/,
  1022. componentDir: "anchor"
  1023. },
  1024. {
  1025. pattern: /^AvatarGroup$/,
  1026. componentDir: "avatar"
  1027. },
  1028. {
  1029. pattern: /^BreadcrumbItem$/,
  1030. componentDir: "breadcrumb"
  1031. },
  1032. {
  1033. pattern: /^ButtonGroup$/,
  1034. componentDir: "button"
  1035. },
  1036. {
  1037. pattern: /^(CardMeta|CardGrid)$/,
  1038. componentDir: "card"
  1039. },
  1040. {
  1041. pattern: /^CarouselItem$/,
  1042. componentDir: "carousel"
  1043. },
  1044. {
  1045. pattern: /^CascaderPanel$/,
  1046. componentDir: "cascader"
  1047. },
  1048. {
  1049. pattern: /^CheckboxGroup$/,
  1050. componentDir: "checkbox"
  1051. },
  1052. {
  1053. pattern: /^CollapseItem$/,
  1054. componentDir: "collapse"
  1055. },
  1056. {
  1057. pattern: /^(WeekPicker|MonthPicker|YearPicker|QuarterPicker|RangePicker)$/,
  1058. componentDir: "date-picker"
  1059. },
  1060. {
  1061. pattern: /^DescriptionsItem$/,
  1062. componentDir: "descriptions"
  1063. },
  1064. {
  1065. pattern: /^(Doption|Dgroup|Dsubmenu|DropdownButton)$/,
  1066. componentDir: "dropdown"
  1067. },
  1068. {
  1069. pattern: /^FormItem$/,
  1070. componentDir: "form"
  1071. },
  1072. {
  1073. pattern: /^(Col|Row|GridItem)$/,
  1074. componentDir: "grid"
  1075. },
  1076. {
  1077. pattern: /^(ImagePreview|ImagePreviewGroup)$/,
  1078. componentDir: "image"
  1079. },
  1080. {
  1081. pattern: /^(InputGroup|InputSearch|InputPassword)$/,
  1082. componentDir: "input"
  1083. },
  1084. {
  1085. pattern: /^(LayoutHeader|LayoutContent|LayoutFooter|LayoutSider)$/,
  1086. componentDir: "layout"
  1087. },
  1088. {
  1089. pattern: /^(ListItem|ListItemMeta)$/,
  1090. componentDir: "list"
  1091. },
  1092. {
  1093. pattern: /^(MenuItem|MenuItemGroup|SubMenu)$/,
  1094. componentDir: "menu"
  1095. },
  1096. {
  1097. pattern: /^RadioGroup$/,
  1098. componentDir: "radio"
  1099. },
  1100. {
  1101. pattern: /^(Option|Optgroup)$/,
  1102. componentDir: "select"
  1103. },
  1104. {
  1105. pattern: /^(SkeletonLine|SkeletonShape)$/,
  1106. componentDir: "skeleton"
  1107. },
  1108. {
  1109. pattern: /^Countdown$/,
  1110. componentDir: "statistic"
  1111. },
  1112. {
  1113. pattern: /^Step$/,
  1114. componentDir: "steps"
  1115. },
  1116. {
  1117. pattern: /^(Thead|Td|Th|Tr|Tbody|TableColumn)$/,
  1118. componentDir: "table"
  1119. },
  1120. {
  1121. pattern: /^TagGroup$/,
  1122. componentDir: "tag"
  1123. },
  1124. {
  1125. pattern: /^TabPane$/,
  1126. componentDir: "tabs"
  1127. },
  1128. {
  1129. pattern: /^TimelineItem$/,
  1130. componentDir: "timeline"
  1131. },
  1132. {
  1133. pattern: /^(TypographyParagraph|TypographyTitle|TypographyText)$/,
  1134. componentDir: "typography"
  1135. }
  1136. ];
  1137. function getComponentStyleDir(importName, importStyle) {
  1138. if (["ConfigProvider", "Icon"].includes(importName))
  1139. return void 0;
  1140. let componentDir = _chunk44ONIEX7js.kebabCase.call(void 0, importName);
  1141. for (const item of matchComponents3) {
  1142. if (item.pattern.test(importName)) {
  1143. componentDir = item.componentDir;
  1144. break;
  1145. }
  1146. }
  1147. if (importStyle === "less")
  1148. return `@arco-design/web-vue/es/${componentDir}/style/index.js`;
  1149. if (importStyle === "css" || importStyle)
  1150. return `@arco-design/web-vue/es/${componentDir}/style/css.js`;
  1151. }
  1152. function canResolveIcons(options) {
  1153. if (options === void 0)
  1154. return false;
  1155. if (typeof options === "boolean")
  1156. return options;
  1157. else
  1158. return options.enable;
  1159. }
  1160. function getResolveIconPrefix(options) {
  1161. var _a;
  1162. if (canResolveIcons(options)) {
  1163. if (typeof options === "boolean" && options)
  1164. return "";
  1165. else if (options.enable)
  1166. return (_a = options.iconPrefix) != null ? _a : "";
  1167. else
  1168. return "";
  1169. }
  1170. return "";
  1171. }
  1172. function ArcoResolver(options = {}) {
  1173. return {
  1174. type: "component",
  1175. resolve: (name) => {
  1176. var _a;
  1177. if (canResolveIcons(options.resolveIcons)) {
  1178. const iconPrefix = _chunk44ONIEX7js.pascalCase.call(void 0, getResolveIconPrefix(options.resolveIcons));
  1179. const newNameRegexp = new RegExp(`^${iconPrefix}Icon`);
  1180. if (newNameRegexp.test(name)) {
  1181. debug("found icon component name %s", name);
  1182. const rawComponentName = name.slice(iconPrefix.length);
  1183. debug("found icon component raw name %s", rawComponentName);
  1184. return {
  1185. name: rawComponentName,
  1186. as: name,
  1187. from: "@arco-design/web-vue/es/icon"
  1188. };
  1189. }
  1190. }
  1191. if (name.match(/^A[A-Z]/)) {
  1192. const importStyle = (_a = options.importStyle) != null ? _a : "css";
  1193. const importName = name.slice(1);
  1194. const config = {
  1195. name: importName,
  1196. from: "@arco-design/web-vue"
  1197. };
  1198. if (options.sideEffect !== false)
  1199. config.sideEffects = getComponentStyleDir(importName, importStyle);
  1200. return config;
  1201. }
  1202. }
  1203. };
  1204. }
  1205. // src/core/resolvers/tdesign.ts
  1206. function getSideEffects8(importName, options) {
  1207. const { library = "vue", importStyle = "css" } = options;
  1208. let fileName = _chunk44ONIEX7js.kebabCase.call(void 0, importName);
  1209. if (!importStyle)
  1210. return;
  1211. if (["config-provider", "icon"].includes(fileName))
  1212. return;
  1213. if (fileName.includes("-") && fileName !== "input-number") {
  1214. const prefix2 = fileName.slice(0, fileName.indexOf("-"));
  1215. const container = ["anchor", "avatar", "breadcrumb", "checkbox", "dropdown", "form", "input", "list", "menu", "radio", "slider", "swiper", "color-picker", "text", "collapse", "timeline"];
  1216. if (container.includes(prefix2))
  1217. fileName = prefix2;
  1218. }
  1219. if (["row", "col"].includes(fileName))
  1220. fileName = "grid";
  1221. if (fileName === "addon")
  1222. fileName = "input";
  1223. if (["aside", "layout", "header", "footer", "content"].includes(fileName))
  1224. fileName = "layout";
  1225. if (["head-menu", "submenu"].includes(fileName))
  1226. fileName = "menu";
  1227. if (["option", "option-group"].includes(fileName))
  1228. fileName = "select";
  1229. if (["tab-nav", "tab-panel"].includes(fileName))
  1230. fileName = "tabs";
  1231. if (fileName === "step-item")
  1232. fileName = "steps";
  1233. if (fileName === "check-tag")
  1234. fileName = "tag";
  1235. if (["time-range-picker", "time-range-picker-panel", "time-picker-panel"].includes(fileName))
  1236. fileName = "time-picker";
  1237. if (["date-range-picker", "date-range-picker-panel", "date-picker-panel"].includes(fileName))
  1238. fileName = "date-picker";
  1239. if (["color-picker", "color-picker-panel"].includes(fileName))
  1240. fileName = "color-picker";
  1241. if (["enhanced-table", "base-table"].includes(fileName))
  1242. fileName = "table";
  1243. if (importStyle === "less")
  1244. return `tdesign-${library}/esm/${fileName}/style`;
  1245. return `tdesign-${library}/es/${fileName}/style`;
  1246. }
  1247. function TDesignResolver(options = {}) {
  1248. return {
  1249. type: "component",
  1250. resolve: (name) => {
  1251. const { library = "vue", exclude } = options;
  1252. const importFrom = options.esm ? "/esm" : "";
  1253. if (options.exclude && isExclude(name, exclude))
  1254. return;
  1255. if (options.resolveIcons && name.match(/[a-z]Icon$/)) {
  1256. return {
  1257. name,
  1258. from: `tdesign-icons-${library}${importFrom}`
  1259. };
  1260. }
  1261. if (name.match(/^T[A-Z]/)) {
  1262. const importName = name.slice(1);
  1263. return {
  1264. name: importName,
  1265. from: `tdesign-${library}${importFrom}`,
  1266. sideEffects: getSideEffects8(importName, options)
  1267. };
  1268. }
  1269. }
  1270. };
  1271. }
  1272. function isExclude(name, exclude) {
  1273. if (typeof exclude === "string")
  1274. return name === exclude;
  1275. if (exclude instanceof RegExp)
  1276. return !!name.match(exclude);
  1277. if (Array.isArray(exclude)) {
  1278. for (const item of exclude) {
  1279. if (name === item || name.match(item))
  1280. return true;
  1281. }
  1282. }
  1283. return false;
  1284. }
  1285. // src/core/resolvers/layui-vue.ts
  1286. var matchComponents4 = [
  1287. {
  1288. pattern: /^LayAvatarList$/,
  1289. styleDir: "avatar"
  1290. },
  1291. {
  1292. pattern: /^LayBreadcrumbItem$/,
  1293. styleDir: "breadcrumb"
  1294. },
  1295. {
  1296. pattern: /^(LayCarouselItem)$/,
  1297. styleDir: "carousel"
  1298. },
  1299. {
  1300. pattern: /^(LayCheckboxGroup)$/,
  1301. styleDir: "checkbox"
  1302. },
  1303. {
  1304. pattern: /^LayCol$/,
  1305. styleDir: "row"
  1306. },
  1307. {
  1308. pattern: /^(LayCollapseItem)$/,
  1309. styleDir: "collapse"
  1310. },
  1311. {
  1312. pattern: /^LayConfigProvider$/,
  1313. styleDir: void 0
  1314. },
  1315. {
  1316. pattern: /^LayCountUp$/,
  1317. styleDir: void 0
  1318. },
  1319. {
  1320. pattern: /^(LayDropdownMenu|LayDropdownMenuItem|LayDropdownSubMenu)$/,
  1321. styleDir: "dropdown"
  1322. },
  1323. {
  1324. pattern: /^(LayFormItem)$/,
  1325. styleDir: "form"
  1326. },
  1327. {
  1328. pattern: /^(LayMenuItem|LaySubMenu)$/,
  1329. styleDir: "menu"
  1330. },
  1331. {
  1332. pattern: /^(LayRadioGroup)$/,
  1333. styleDir: "radio"
  1334. },
  1335. {
  1336. pattern: /^LaySelectOption$/,
  1337. styleDir: "select"
  1338. },
  1339. {
  1340. pattern: /^LaySkeletonItem$/,
  1341. styleDir: "skeleton"
  1342. },
  1343. {
  1344. pattern: /^LaySplitPanelItem$/,
  1345. styleDir: "splitPanel"
  1346. },
  1347. {
  1348. pattern: /^LayStepItem$/,
  1349. styleDir: "step"
  1350. },
  1351. {
  1352. pattern: /^(LayTabItem)$/,
  1353. styleDir: "tab"
  1354. },
  1355. {
  1356. pattern: /^LayTimelineItem$/,
  1357. styleDir: "timeline"
  1358. }
  1359. ];
  1360. var layuiRE = /^Lay[A-Z]/;
  1361. var layerRE = /^(layer|LayLayer)$/;
  1362. var iconsRE = /^([A-Z][\w]+Icon|LayIcon)$/;
  1363. var libName = "@layui/layui-vue";
  1364. function lowerCamelCase(str) {
  1365. return str.charAt(0).toLowerCase() + str.slice(1);
  1366. }
  1367. function getSideEffects9(importName, options) {
  1368. const { importStyle = "css" } = options;
  1369. if (!importStyle)
  1370. return void 0;
  1371. if (libName !== "@layui/layui-vue")
  1372. return `${libName}/lib/index.css`;
  1373. let styleDir = lowerCamelCase(importName.slice(3));
  1374. for (const item of matchComponents4) {
  1375. if (item.pattern.test(importName)) {
  1376. styleDir = item.styleDir;
  1377. break;
  1378. }
  1379. }
  1380. if (importStyle === "css" || importStyle) {
  1381. return styleDir ? [`@layui/layui-vue/es/${styleDir}/index.css`, "@layui/layui-vue/es/index/index.css"] : void 0;
  1382. }
  1383. }
  1384. function resolveComponent2(importName, options) {
  1385. let name;
  1386. if (options.exclude && isExclude2(importName, options.exclude))
  1387. return void 0;
  1388. if (options.resolveIcons && importName.match(iconsRE)) {
  1389. name = importName;
  1390. libName = "@layui/icons-vue";
  1391. } else if (importName.match(layerRE)) {
  1392. name = importName;
  1393. libName = "@layui/layer-vue";
  1394. } else if (importName.match(layuiRE) && !importName.match(iconsRE)) {
  1395. name = importName;
  1396. libName = "@layui/layui-vue";
  1397. }
  1398. return name ? { name, from: libName, sideEffects: getSideEffects9(name, options) } : void 0;
  1399. }
  1400. function isExclude2(name, exclude) {
  1401. for (const item of exclude) {
  1402. if (name === item || name.match(item))
  1403. return true;
  1404. }
  1405. return false;
  1406. }
  1407. function LayuiVueResolver(options = {}) {
  1408. return {
  1409. type: "component",
  1410. resolve: (name) => {
  1411. return resolveComponent2(name, options);
  1412. }
  1413. };
  1414. }
  1415. // src/core/resolvers/bootstrap-vue.ts
  1416. var COMPONENT_ALIASES = {
  1417. BBtn: "BButton",
  1418. BBtnClose: "BButtonClose",
  1419. BBtnGroup: "BButtonGroup",
  1420. BBtnToolbar: "BButtonToolbar",
  1421. BCheck: "BFormCheckbox",
  1422. BCheckbox: "BFormCheckbox",
  1423. BCheckboxGroup: "BFormCheckboxGroup",
  1424. BCheckGroup: "BFormCheckboxGroup",
  1425. BDatalist: "BFormDatalist",
  1426. BDd: "BDropdown",
  1427. BDdDivider: "BDropdownDivider",
  1428. BDdForm: "BDropdownForm",
  1429. BDdGroup: "BDropdownGroup",
  1430. BDdHeader: "BDropdownHeader",
  1431. BDdItem: "BDropdownItem",
  1432. BDdItemButton: "BDropdownItemButton",
  1433. BDdItemBtn: "BDropdownItemButton",
  1434. BDdText: "BDropdownText",
  1435. BDropdownItemBtn: "BDropdownItemButton",
  1436. BFile: "BFormFile",
  1437. BDatepicker: "BFormDatepicker",
  1438. BInput: "BFormInput",
  1439. BNavDd: "BNavItemDropdown",
  1440. BNavDropdown: "BNavItemDropdown",
  1441. BNavItemDd: "BNavItemDropdown",
  1442. BNavToggle: "BNavbarToggle",
  1443. BRadio: "BFormRadio",
  1444. BRadioGroup: "BFormRadioGroup",
  1445. BRating: "BFormRating",
  1446. BSelect: "BFormSelect",
  1447. BSelectOption: "BFormSelectOption",
  1448. BSelectOptionGroup: "BFormSelectOptionGroup",
  1449. BSpinbutton: "BFormSpinbutton",
  1450. BTag: "BFormTag",
  1451. BTags: "BFormTags",
  1452. BTextarea: "BFormTextarea",
  1453. BTimepicker: "BFormTimepicker"
  1454. };
  1455. function BootstrapVueResolver(_options = {}) {
  1456. const options = _chunkBTQOTIPQjs.__spreadValues.call(void 0, { directives: true }, _options);
  1457. const resolvers = [{
  1458. type: "component",
  1459. resolve: (name) => {
  1460. if (name.match(/^B[A-Z]/)) {
  1461. return {
  1462. name: COMPONENT_ALIASES[name] || name,
  1463. from: "bootstrap-vue"
  1464. };
  1465. }
  1466. }
  1467. }];
  1468. if (options.directives) {
  1469. resolvers.push({
  1470. type: "directive",
  1471. resolve: (name) => {
  1472. if (name.match(/^B[A-Z]/)) {
  1473. return {
  1474. name: `V${name}`,
  1475. from: "bootstrap-vue"
  1476. };
  1477. }
  1478. }
  1479. });
  1480. }
  1481. return resolvers;
  1482. }
  1483. // src/core/resolvers/bootstrap-vue-3.ts
  1484. var BootstrapVue3Resolver = (_options = {}) => {
  1485. const options = _chunkBTQOTIPQjs.__spreadValues.call(void 0, { directives: true }, _options);
  1486. const resolvers = [{
  1487. type: "component",
  1488. resolve: (name) => {
  1489. if (name.match(/^B[A-Z]/))
  1490. return { name, from: "bootstrap-vue-3" };
  1491. }
  1492. }];
  1493. if (options.directives) {
  1494. resolvers.push({
  1495. type: "directive",
  1496. resolve: (name) => {
  1497. if (name.match(/^B[A-Z]/))
  1498. return { name: `V${name}`, from: "bootstrap-vue-3" };
  1499. }
  1500. });
  1501. }
  1502. return resolvers;
  1503. };
  1504. // src/core/resolvers/ionic.ts
  1505. function IonicResolver() {
  1506. return {
  1507. type: "component",
  1508. resolve: (name) => {
  1509. if (name.startsWith("Ion")) {
  1510. return {
  1511. name,
  1512. from: "@ionic/vue"
  1513. };
  1514. }
  1515. }
  1516. };
  1517. }
  1518. exports.AntDesignVueResolver = AntDesignVueResolver; exports.ArcoResolver = ArcoResolver; exports.BootstrapVue3Resolver = BootstrapVue3Resolver; exports.BootstrapVueResolver = BootstrapVueResolver; exports.DevUiResolver = DevUiResolver; exports.ElementPlusResolver = ElementPlusResolver; exports.ElementUiResolver = ElementUiResolver; exports.HeadlessUiResolver = HeadlessUiResolver; exports.IduxResolver = IduxResolver; exports.InklineResolver = InklineResolver; exports.IonicResolver = IonicResolver; exports.LayuiVueResolver = LayuiVueResolver; exports.NaiveUiResolver = NaiveUiResolver; exports.PrimeVueResolver = PrimeVueResolver; exports.QuasarResolver = QuasarResolver; exports.TDesignResolver = TDesignResolver; exports.VantResolver = VantResolver; exports.VarletUIResolver = VarletUIResolver; exports.VeuiResolver = VeuiResolver; exports.ViewUiResolver = ViewUiResolver; exports.VueUseComponentsResolver = VueUseComponentsResolver; exports.VueUseDirectiveResolver = VueUseDirectiveResolver; exports.Vuetify3Resolver = Vuetify3Resolver; exports.VuetifyResolver = VuetifyResolver; exports.getResolved = getResolved;
  1519. exports.default = module.exports;