unplugin-vue-components 0.17.10 → 0.17.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -321,7 +321,51 @@ interface DevResolverOptions {
321
321
  }
322
322
  declare function DevUiResolver(options?: DevResolverOptions): ComponentResolver[];
323
323
 
324
+ interface ArcoResolverOptions {
325
+ /**
326
+ * import style css or less with components
327
+ *
328
+ * @default 'css'
329
+ */
330
+ importStyle?: boolean | 'css' | 'less';
331
+ /**
332
+ * resolve icons
333
+ *
334
+ * @default false
335
+ */
336
+ resolveIcons?: boolean;
337
+ }
338
+ /**
339
+ * Resolver for Arco Design Vue
340
+ *
341
+ * Requires arco-design/web-vue@2.11.0 or later
342
+ *
343
+ * @author @flsion
344
+ * @link https://arco.design/ for arco-design
345
+ *
346
+ */
347
+ declare function ArcoResolver(options?: ArcoResolverOptions): ComponentResolver;
348
+
349
+ interface TDesignResolverOptions {
350
+ /**
351
+ * import style along with components
352
+ * @default 'css'
353
+ */
354
+ importStyle?: boolean | 'css' | 'less';
355
+ /**
356
+ * select the specified library
357
+ * @default 'vue'
358
+ */
359
+ library?: 'vue' | 'vue-next' | 'react' | 'mobile-vue' | 'mobile-react';
360
+ /**
361
+ * resolve `tdesign-icons'
362
+ * @default false
363
+ */
364
+ resolveIcons?: boolean;
365
+ }
366
+ declare function TDesignResolver(options?: TDesignResolverOptions): ComponentResolver;
367
+
324
368
  declare function tryLoadVeturTags(name: string): string[] | undefined;
325
369
  declare function LibraryResolver(options: UILibraryOptions): ComponentResolverObject;
326
370
 
327
- export { AntDesignVueResolver, AntDesignVueResolverOptions, DevResolverOptions, DevUiResolver, ElementPlusResolver, ElementPlusResolverOptions, ElementUiResolver, ElementUiResolverOptions, HeadlessUiResolver, HeadlessUiResolverOptions, IduxResolver, IduxResolverOptions, LibraryResolver, NaiveUiResolver, PrimeVueResolver, PrimeVueResolverOptions, QuasarResolver, VantResolver, VantResolverOptions, VarletUIResolver, VarletUIResolverOptions, VeuiResolver, VeuiResolverOptions, ViewUiResolver, VueUseComponentsResolver, VuetifyResolver, getResolved, tryLoadVeturTags };
371
+ export { AntDesignVueResolver, AntDesignVueResolverOptions, ArcoResolver, ArcoResolverOptions, DevResolverOptions, DevUiResolver, ElementPlusResolver, ElementPlusResolverOptions, ElementUiResolver, ElementUiResolverOptions, HeadlessUiResolver, HeadlessUiResolverOptions, IduxResolver, IduxResolverOptions, LibraryResolver, NaiveUiResolver, PrimeVueResolver, PrimeVueResolverOptions, QuasarResolver, TDesignResolver, TDesignResolverOptions, VantResolver, VantResolverOptions, VarletUIResolver, VarletUIResolverOptions, VeuiResolver, VeuiResolverOptions, ViewUiResolver, VueUseComponentsResolver, VuetifyResolver, getResolved, tryLoadVeturTags };
package/dist/resolvers.js CHANGED
@@ -2088,6 +2088,185 @@ function DevUiResolver(options = {}) {
2088
2088
  return resolvers;
2089
2089
  }
2090
2090
 
2091
+ // src/core/resolvers/arco.ts
2092
+ var matchComponents3 = [
2093
+ {
2094
+ pattern: /^AnchorLink$/,
2095
+ componentDir: "anchor"
2096
+ },
2097
+ {
2098
+ pattern: /^AvatarGroup$/,
2099
+ componentDir: "avatar"
2100
+ },
2101
+ {
2102
+ pattern: /^BreadcrumbItem$/,
2103
+ componentDir: "breadcrumb"
2104
+ },
2105
+ {
2106
+ pattern: /^ButtonGroup$/,
2107
+ componentDir: "button"
2108
+ },
2109
+ {
2110
+ pattern: /^(CardMeta|CardGrid)$/,
2111
+ componentDir: "card"
2112
+ },
2113
+ {
2114
+ pattern: /^CarouselItem$/,
2115
+ componentDir: "carousel"
2116
+ },
2117
+ {
2118
+ pattern: /^CheckboxGroup$/,
2119
+ componentDir: "checkbox"
2120
+ },
2121
+ {
2122
+ pattern: /^CollapseItem$/,
2123
+ componentDir: "collapse"
2124
+ },
2125
+ {
2126
+ pattern: /^(WeekPicker|MonthPicker|YearPicker|QuarterPicker|RangePicker)$/,
2127
+ componentDir: "date-picker"
2128
+ },
2129
+ {
2130
+ pattern: /^(Doption|Dgroup|Dsubmenu)$/,
2131
+ componentDir: "dropdown"
2132
+ },
2133
+ {
2134
+ pattern: /^FormItem$/,
2135
+ componentDir: "form"
2136
+ },
2137
+ {
2138
+ pattern: /^(Col|Row)$/,
2139
+ componentDir: "grid"
2140
+ },
2141
+ {
2142
+ pattern: /^(ImagePreview|ImagePreviewGroup)$/,
2143
+ componentDir: "image"
2144
+ },
2145
+ {
2146
+ pattern: /^(InputGroup|InputSearch|InputPassword)$/,
2147
+ componentDir: "input"
2148
+ },
2149
+ {
2150
+ pattern: /^(LayoutHeader|LayoutContent|LayoutFooter|LayoutSider)$/,
2151
+ componentDir: "layout"
2152
+ },
2153
+ {
2154
+ pattern: /^(ListItem|ListItemMeta)$/,
2155
+ componentDir: "list"
2156
+ },
2157
+ {
2158
+ pattern: /^(MenuItem|MenuItemGroup|SubMenu)$/,
2159
+ componentDir: "menu"
2160
+ },
2161
+ {
2162
+ pattern: /^RadioGroup$/,
2163
+ componentDir: "radio"
2164
+ },
2165
+ {
2166
+ pattern: /^(Option|Optgroup)$/,
2167
+ componentDir: "select"
2168
+ },
2169
+ {
2170
+ pattern: /^(SkeletonLine|SkeletonShape)$/,
2171
+ componentDir: "table"
2172
+ },
2173
+ {
2174
+ pattern: /^Countdown$/,
2175
+ componentDir: "statistic"
2176
+ },
2177
+ {
2178
+ pattern: /^Step$/,
2179
+ componentDir: "steps"
2180
+ },
2181
+ {
2182
+ pattern: /^(Thead|Td|Th|Tr|Tbody|TableColumn)$/,
2183
+ componentDir: "table"
2184
+ },
2185
+ {
2186
+ pattern: /^TabPane$/,
2187
+ componentDir: "tabs"
2188
+ },
2189
+ {
2190
+ pattern: /^TimelineItem$/,
2191
+ componentDir: "timeline"
2192
+ },
2193
+ {
2194
+ pattern: /^(TypographyParagraph|TypographyTitle|TypographyText)$/,
2195
+ componentDir: "typography"
2196
+ }
2197
+ ];
2198
+ function getComponentStyleDir(importName, importStyle) {
2199
+ let componentDir = _chunkVGL64D3Tjs.kebabCase.call(void 0, importName);
2200
+ for (const item of matchComponents3) {
2201
+ if (item.pattern.test(importName)) {
2202
+ componentDir = item.componentDir;
2203
+ break;
2204
+ }
2205
+ }
2206
+ if (importStyle === "less")
2207
+ return `@arco-design/web-vue/es/${componentDir}/style/index.js`;
2208
+ if (importStyle === "css" || importStyle)
2209
+ return `@arco-design/web-vue/es/${componentDir}/style/css.js`;
2210
+ }
2211
+ function ArcoResolver(options = {}) {
2212
+ return {
2213
+ type: "component",
2214
+ resolve: (name) => {
2215
+ var _a;
2216
+ if (options.resolveIcons && name.match(/^Icon/)) {
2217
+ return {
2218
+ importName: name,
2219
+ path: "@arco-design/web-vue/es/icon"
2220
+ };
2221
+ }
2222
+ if (name.match(/^A/)) {
2223
+ const importStyle = (_a = options.importStyle) != null ? _a : "css";
2224
+ const importName = name.slice(1);
2225
+ return {
2226
+ importName,
2227
+ path: "@arco-design/web-vue",
2228
+ sideEffects: getComponentStyleDir(importName, importStyle)
2229
+ };
2230
+ }
2231
+ }
2232
+ };
2233
+ }
2234
+
2235
+ // src/core/resolvers/tdesign.ts
2236
+ function getSideEffects8(importName, options) {
2237
+ const { library = "vue", importStyle = "css" } = options;
2238
+ const fileName = _chunkVGL64D3Tjs.kebabCase.call(void 0, importName);
2239
+ if (!importStyle)
2240
+ return;
2241
+ if (importStyle === "less")
2242
+ return `tdesign-${library}/esm/${fileName}/style`;
2243
+ return `tdesign-${library}/es/${fileName}/style`;
2244
+ }
2245
+ function TDesignResolver(options = {}) {
2246
+ return {
2247
+ type: "component",
2248
+ resolve: (name) => {
2249
+ const { library = "vue" } = options;
2250
+ if (options.resolveIcons && name.match(/[a-z]Icon$/)) {
2251
+ return {
2252
+ importName: name,
2253
+ path: `tdesign-icons-${library}`
2254
+ };
2255
+ }
2256
+ if (name.match(/^T[A-Z]/)) {
2257
+ const importName = name.slice(1);
2258
+ return {
2259
+ importName,
2260
+ path: `tdesign-${library}`,
2261
+ sideEffects: getSideEffects8(importName, options)
2262
+ };
2263
+ }
2264
+ }
2265
+ };
2266
+ }
2267
+
2268
+
2269
+
2091
2270
 
2092
2271
 
2093
2272
 
@@ -2106,5 +2285,5 @@ function DevUiResolver(options = {}) {
2106
2285
 
2107
2286
 
2108
2287
 
2109
- exports.AntDesignVueResolver = AntDesignVueResolver; exports.DevUiResolver = DevUiResolver; exports.ElementPlusResolver = ElementPlusResolver; exports.ElementUiResolver = ElementUiResolver; exports.HeadlessUiResolver = HeadlessUiResolver; exports.IduxResolver = IduxResolver; exports.LibraryResolver = _chunkVGL64D3Tjs.LibraryResolver; exports.NaiveUiResolver = NaiveUiResolver; exports.PrimeVueResolver = PrimeVueResolver; exports.QuasarResolver = QuasarResolver; exports.VantResolver = VantResolver; exports.VarletUIResolver = VarletUIResolver; exports.VeuiResolver = VeuiResolver; exports.ViewUiResolver = ViewUiResolver; exports.VueUseComponentsResolver = VueUseComponentsResolver; exports.VuetifyResolver = VuetifyResolver; exports.getResolved = getResolved; exports.tryLoadVeturTags = _chunkVGL64D3Tjs.tryLoadVeturTags;
2288
+ exports.AntDesignVueResolver = AntDesignVueResolver; exports.ArcoResolver = ArcoResolver; exports.DevUiResolver = DevUiResolver; exports.ElementPlusResolver = ElementPlusResolver; exports.ElementUiResolver = ElementUiResolver; exports.HeadlessUiResolver = HeadlessUiResolver; exports.IduxResolver = IduxResolver; exports.LibraryResolver = _chunkVGL64D3Tjs.LibraryResolver; 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.VuetifyResolver = VuetifyResolver; exports.getResolved = getResolved; exports.tryLoadVeturTags = _chunkVGL64D3Tjs.tryLoadVeturTags;
2110
2289
  exports.default = module.exports;
@@ -2087,8 +2087,186 @@ function DevUiResolver(options = {}) {
2087
2087
  resolvers.push({ type: "directive", resolve: directivesResolver });
2088
2088
  return resolvers;
2089
2089
  }
2090
+
2091
+ // src/core/resolvers/arco.ts
2092
+ var matchComponents3 = [
2093
+ {
2094
+ pattern: /^AnchorLink$/,
2095
+ componentDir: "anchor"
2096
+ },
2097
+ {
2098
+ pattern: /^AvatarGroup$/,
2099
+ componentDir: "avatar"
2100
+ },
2101
+ {
2102
+ pattern: /^BreadcrumbItem$/,
2103
+ componentDir: "breadcrumb"
2104
+ },
2105
+ {
2106
+ pattern: /^ButtonGroup$/,
2107
+ componentDir: "button"
2108
+ },
2109
+ {
2110
+ pattern: /^(CardMeta|CardGrid)$/,
2111
+ componentDir: "card"
2112
+ },
2113
+ {
2114
+ pattern: /^CarouselItem$/,
2115
+ componentDir: "carousel"
2116
+ },
2117
+ {
2118
+ pattern: /^CheckboxGroup$/,
2119
+ componentDir: "checkbox"
2120
+ },
2121
+ {
2122
+ pattern: /^CollapseItem$/,
2123
+ componentDir: "collapse"
2124
+ },
2125
+ {
2126
+ pattern: /^(WeekPicker|MonthPicker|YearPicker|QuarterPicker|RangePicker)$/,
2127
+ componentDir: "date-picker"
2128
+ },
2129
+ {
2130
+ pattern: /^(Doption|Dgroup|Dsubmenu)$/,
2131
+ componentDir: "dropdown"
2132
+ },
2133
+ {
2134
+ pattern: /^FormItem$/,
2135
+ componentDir: "form"
2136
+ },
2137
+ {
2138
+ pattern: /^(Col|Row)$/,
2139
+ componentDir: "grid"
2140
+ },
2141
+ {
2142
+ pattern: /^(ImagePreview|ImagePreviewGroup)$/,
2143
+ componentDir: "image"
2144
+ },
2145
+ {
2146
+ pattern: /^(InputGroup|InputSearch|InputPassword)$/,
2147
+ componentDir: "input"
2148
+ },
2149
+ {
2150
+ pattern: /^(LayoutHeader|LayoutContent|LayoutFooter|LayoutSider)$/,
2151
+ componentDir: "layout"
2152
+ },
2153
+ {
2154
+ pattern: /^(ListItem|ListItemMeta)$/,
2155
+ componentDir: "list"
2156
+ },
2157
+ {
2158
+ pattern: /^(MenuItem|MenuItemGroup|SubMenu)$/,
2159
+ componentDir: "menu"
2160
+ },
2161
+ {
2162
+ pattern: /^RadioGroup$/,
2163
+ componentDir: "radio"
2164
+ },
2165
+ {
2166
+ pattern: /^(Option|Optgroup)$/,
2167
+ componentDir: "select"
2168
+ },
2169
+ {
2170
+ pattern: /^(SkeletonLine|SkeletonShape)$/,
2171
+ componentDir: "table"
2172
+ },
2173
+ {
2174
+ pattern: /^Countdown$/,
2175
+ componentDir: "statistic"
2176
+ },
2177
+ {
2178
+ pattern: /^Step$/,
2179
+ componentDir: "steps"
2180
+ },
2181
+ {
2182
+ pattern: /^(Thead|Td|Th|Tr|Tbody|TableColumn)$/,
2183
+ componentDir: "table"
2184
+ },
2185
+ {
2186
+ pattern: /^TabPane$/,
2187
+ componentDir: "tabs"
2188
+ },
2189
+ {
2190
+ pattern: /^TimelineItem$/,
2191
+ componentDir: "timeline"
2192
+ },
2193
+ {
2194
+ pattern: /^(TypographyParagraph|TypographyTitle|TypographyText)$/,
2195
+ componentDir: "typography"
2196
+ }
2197
+ ];
2198
+ function getComponentStyleDir(importName, importStyle) {
2199
+ let componentDir = kebabCase(importName);
2200
+ for (const item of matchComponents3) {
2201
+ if (item.pattern.test(importName)) {
2202
+ componentDir = item.componentDir;
2203
+ break;
2204
+ }
2205
+ }
2206
+ if (importStyle === "less")
2207
+ return `@arco-design/web-vue/es/${componentDir}/style/index.js`;
2208
+ if (importStyle === "css" || importStyle)
2209
+ return `@arco-design/web-vue/es/${componentDir}/style/css.js`;
2210
+ }
2211
+ function ArcoResolver(options = {}) {
2212
+ return {
2213
+ type: "component",
2214
+ resolve: (name) => {
2215
+ var _a;
2216
+ if (options.resolveIcons && name.match(/^Icon/)) {
2217
+ return {
2218
+ importName: name,
2219
+ path: "@arco-design/web-vue/es/icon"
2220
+ };
2221
+ }
2222
+ if (name.match(/^A/)) {
2223
+ const importStyle = (_a = options.importStyle) != null ? _a : "css";
2224
+ const importName = name.slice(1);
2225
+ return {
2226
+ importName,
2227
+ path: "@arco-design/web-vue",
2228
+ sideEffects: getComponentStyleDir(importName, importStyle)
2229
+ };
2230
+ }
2231
+ }
2232
+ };
2233
+ }
2234
+
2235
+ // src/core/resolvers/tdesign.ts
2236
+ function getSideEffects8(importName, options) {
2237
+ const { library = "vue", importStyle = "css" } = options;
2238
+ const fileName = kebabCase(importName);
2239
+ if (!importStyle)
2240
+ return;
2241
+ if (importStyle === "less")
2242
+ return `tdesign-${library}/esm/${fileName}/style`;
2243
+ return `tdesign-${library}/es/${fileName}/style`;
2244
+ }
2245
+ function TDesignResolver(options = {}) {
2246
+ return {
2247
+ type: "component",
2248
+ resolve: (name) => {
2249
+ const { library = "vue" } = options;
2250
+ if (options.resolveIcons && name.match(/[a-z]Icon$/)) {
2251
+ return {
2252
+ importName: name,
2253
+ path: `tdesign-icons-${library}`
2254
+ };
2255
+ }
2256
+ if (name.match(/^T[A-Z]/)) {
2257
+ const importName = name.slice(1);
2258
+ return {
2259
+ importName,
2260
+ path: `tdesign-${library}`,
2261
+ sideEffects: getSideEffects8(importName, options)
2262
+ };
2263
+ }
2264
+ }
2265
+ };
2266
+ }
2090
2267
  export {
2091
2268
  AntDesignVueResolver,
2269
+ ArcoResolver,
2092
2270
  DevUiResolver,
2093
2271
  ElementPlusResolver,
2094
2272
  ElementUiResolver,
@@ -2098,6 +2276,7 @@ export {
2098
2276
  NaiveUiResolver,
2099
2277
  PrimeVueResolver,
2100
2278
  QuasarResolver,
2279
+ TDesignResolver,
2101
2280
  VantResolver,
2102
2281
  VarletUIResolver,
2103
2282
  VeuiResolver,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unplugin-vue-components",
3
- "version": "0.17.10",
3
+ "version": "0.17.11",
4
4
  "description": "Components auto importing for Vue",
5
5
  "homepage": "https://github.com/antfu/unplugin-vue-components",
6
6
  "bugs": "https://github.com/antfu/unplugin-vue-components/issues",