@mc-markets/ui 1.0.94 → 1.0.95
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.
- package/QUICK_START.md +13 -1
- package/USAGE_GUIDE.md +20 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/resolver.d.ts +7 -2
- package/dist/resolver.d.ts.map +1 -1
- package/package.json +3 -3
- package/packages/resolver.cjs +202 -0
- package/packages/resolver.d.ts +7 -2
- package/packages/resolver.js +8 -3
- package/vite.config.example.js +5 -3
package/dist/resolver.d.ts
CHANGED
|
@@ -10,8 +10,13 @@
|
|
|
10
10
|
* @param {string} options.prefix - 组件前缀,默认 'm'
|
|
11
11
|
* @param {boolean|'css'|'scss'} options.importStyle - 样式导入方式
|
|
12
12
|
* - false: 不导入样式(需要手动导入)
|
|
13
|
-
* - true 或 'css':
|
|
14
|
-
*
|
|
13
|
+
* - true 或 'css': 自动导入所有样式文件(推荐)
|
|
14
|
+
* * @mc-markets/ui/dist/style.css - 主样式
|
|
15
|
+
* * @mc-markets/ui/styles/font - 字体图标
|
|
16
|
+
* * @mc-markets/ui/styles/colorfont - 彩色字体图标
|
|
17
|
+
* - 'scss': 导入 SCSS 源文件 + 字体图标
|
|
18
|
+
* * @mc-markets/ui/packages/styles/index.scss
|
|
19
|
+
* * @mc-markets/ui/styles/font
|
|
15
20
|
* @returns {Object} 解析器配置
|
|
16
21
|
*/
|
|
17
22
|
export function McMarketsUIResolver(options?: {
|
package/dist/resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../packages/resolver.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../packages/resolver.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;GAcG;AACH,8CAZG;IAAwB,MAAM,EAAtB,MAAM;IACwB,WAAW,EAAzC,OAAO,GAAC,KAAK,GAAC,MAAM;CAGtB,OAgGR;AAED;;;GAGG;AACH;;EA+EC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mc-markets/ui",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.95",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "chenyu",
|
|
7
7
|
"description": "Vue 3 组件库,基于 Element Plus 的自定义组件",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"./resolver": {
|
|
18
18
|
"import": "./packages/resolver.js",
|
|
19
|
-
"require": "./packages/resolver.
|
|
19
|
+
"require": "./packages/resolver.cjs",
|
|
20
20
|
"types": "./packages/resolver.d.ts"
|
|
21
21
|
},
|
|
22
22
|
"./styles/index": "./packages/styles/index.scss",
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"packages/hooks",
|
|
33
33
|
"packages/utils",
|
|
34
34
|
"packages/resolver.js",
|
|
35
|
+
"packages/resolver.cjs",
|
|
35
36
|
"packages/resolver.d.ts",
|
|
36
37
|
"README.md",
|
|
37
38
|
"USAGE_GUIDE.md",
|
|
38
39
|
"QUICK_START.md",
|
|
39
|
-
"CHANGELOG.md",
|
|
40
40
|
"vite.config.example.js"
|
|
41
41
|
],
|
|
42
42
|
"keywords": [
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @mc-markets/ui 组件解析器 (CommonJS 版本)
|
|
3
|
+
* 用于 unplugin-vue-components 和 unplugin-auto-import
|
|
4
|
+
*
|
|
5
|
+
* 支持自动导入组件和 API
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 组件解析器
|
|
10
|
+
* @param {Object} options - 配置选项
|
|
11
|
+
* @param {string} options.prefix - 组件前缀,默认 'm'
|
|
12
|
+
* @param {boolean|'css'|'scss'} options.importStyle - 样式导入方式
|
|
13
|
+
* - false: 不导入样式(需要手动导入)
|
|
14
|
+
* - true 或 'css': 自动导入所有样式文件(推荐)
|
|
15
|
+
* * @mc-markets/ui/dist/style.css - 主样式
|
|
16
|
+
* * @mc-markets/ui/styles/font - 字体图标
|
|
17
|
+
* * @mc-markets/ui/styles/colorfont - 彩色字体图标
|
|
18
|
+
* - 'scss': 导入 SCSS 源文件 + 字体图标
|
|
19
|
+
* * @mc-markets/ui/packages/styles/index.scss
|
|
20
|
+
* * @mc-markets/ui/styles/font
|
|
21
|
+
* @returns {Object} 解析器配置
|
|
22
|
+
*/
|
|
23
|
+
function McMarketsUIResolver(options = {}) {
|
|
24
|
+
const {
|
|
25
|
+
prefix = 'm',
|
|
26
|
+
importStyle = 'css'
|
|
27
|
+
} = options
|
|
28
|
+
|
|
29
|
+
// 标记是否已导入样式(避免重复导入)
|
|
30
|
+
let styleImported = false
|
|
31
|
+
|
|
32
|
+
return {
|
|
33
|
+
type: 'component',
|
|
34
|
+
resolve: (name) => {
|
|
35
|
+
// 只处理指定前缀的组件
|
|
36
|
+
const prefixPattern = new RegExp(`^${prefix}(?:-|[A-Z])`, 'i')
|
|
37
|
+
if (!prefixPattern.test(name)) {
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// 组件名映射表(处理特殊命名)
|
|
42
|
+
const componentMap = {
|
|
43
|
+
// 自定义组件
|
|
44
|
+
'MIcon': 'Icon',
|
|
45
|
+
'MButton': 'Button',
|
|
46
|
+
'MInput': 'Input',
|
|
47
|
+
'MForm': 'Form',
|
|
48
|
+
'MFormItem': 'FormItem',
|
|
49
|
+
'MTooltip': 'Tooltip',
|
|
50
|
+
'MSelect': 'Select',
|
|
51
|
+
'MOption': 'Option',
|
|
52
|
+
'MOptionGroup': 'OptionGroup',
|
|
53
|
+
'MPagination': 'Pagination',
|
|
54
|
+
'MRadio': 'Radio',
|
|
55
|
+
'MRadioGroup': 'RadioGroup',
|
|
56
|
+
'MRadioButton': 'RadioButton',
|
|
57
|
+
'MSwitch': 'Switch',
|
|
58
|
+
'MTag': 'Tag',
|
|
59
|
+
'MAlert': 'Alert',
|
|
60
|
+
'MDialog': 'Dialog',
|
|
61
|
+
'MNotification': 'Notification',
|
|
62
|
+
'MMessage': 'Message',
|
|
63
|
+
'MNotifiMessage': 'NotifiMessage',
|
|
64
|
+
'MDatePicker': 'DatePicker',
|
|
65
|
+
'MEmpty': 'Empty',
|
|
66
|
+
'MTable': 'Table',
|
|
67
|
+
'MTableColumn': 'TableColumn',
|
|
68
|
+
'MBanner': 'Banner',
|
|
69
|
+
'MTabs': 'Tabs',
|
|
70
|
+
'MTabPane': 'TabPane',
|
|
71
|
+
'MTabCard': 'TabCard',
|
|
72
|
+
'MTabCardItem': 'TabCardItem',
|
|
73
|
+
'MBreadcrumb': 'Breadcrumb',
|
|
74
|
+
'MBreadcrumbSeparator': 'BreadcrumbSeparator',
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// 检查是否是已定义的组件
|
|
78
|
+
const componentName = componentMap[name]
|
|
79
|
+
|
|
80
|
+
if (componentName || name.startsWith('M')) {
|
|
81
|
+
// 确定样式文件路径(支持导入多个样式文件)
|
|
82
|
+
let sideEffects
|
|
83
|
+
|
|
84
|
+
if (importStyle && !styleImported) {
|
|
85
|
+
if (importStyle === 'scss') {
|
|
86
|
+
// 导入 SCSS 源文件 + 字体图标
|
|
87
|
+
sideEffects = [
|
|
88
|
+
'@mc-markets/ui/packages/styles/index.scss',
|
|
89
|
+
'@mc-markets/ui/styles/font'
|
|
90
|
+
]
|
|
91
|
+
} else if (importStyle === true || importStyle === 'css') {
|
|
92
|
+
// 导入编译后的 CSS + 字体图标
|
|
93
|
+
sideEffects = [
|
|
94
|
+
'@mc-markets/ui/dist/style.css',
|
|
95
|
+
'@mc-markets/ui/styles/font',
|
|
96
|
+
'@mc-markets/ui/styles/colorfont'
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
styleImported = true
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// 返回组件导入配置
|
|
103
|
+
return {
|
|
104
|
+
name,
|
|
105
|
+
from: '@mc-markets/ui',
|
|
106
|
+
sideEffects
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* API 自动导入配置
|
|
115
|
+
* 用于 unplugin-auto-import
|
|
116
|
+
*/
|
|
117
|
+
function getMcMarketsUIImports() {
|
|
118
|
+
return {
|
|
119
|
+
'@mc-markets/ui': [
|
|
120
|
+
// 组件
|
|
121
|
+
'MIcon',
|
|
122
|
+
'MButton',
|
|
123
|
+
'MInput',
|
|
124
|
+
'MForm',
|
|
125
|
+
'MFormItem',
|
|
126
|
+
'MTooltip',
|
|
127
|
+
'MSelect',
|
|
128
|
+
'MOption',
|
|
129
|
+
'MOptionGroup',
|
|
130
|
+
'MPagination',
|
|
131
|
+
'MRadio',
|
|
132
|
+
'MRadioGroup',
|
|
133
|
+
'MRadioButton',
|
|
134
|
+
'MSwitch',
|
|
135
|
+
'MTag',
|
|
136
|
+
'MAlert',
|
|
137
|
+
'MDialog',
|
|
138
|
+
'MNotification',
|
|
139
|
+
'MMessage',
|
|
140
|
+
'MNotifiMessage',
|
|
141
|
+
'MDatePicker',
|
|
142
|
+
'MEmpty',
|
|
143
|
+
'MTable',
|
|
144
|
+
'MTableColumn',
|
|
145
|
+
'MBanner',
|
|
146
|
+
'MTabs',
|
|
147
|
+
'MTabPane',
|
|
148
|
+
'MTabCard',
|
|
149
|
+
'MTabCardItem',
|
|
150
|
+
'MBreadcrumb',
|
|
151
|
+
|
|
152
|
+
// API 方法
|
|
153
|
+
'Message',
|
|
154
|
+
'NotifiMessage',
|
|
155
|
+
'MMessageBox',
|
|
156
|
+
|
|
157
|
+
// 工具函数
|
|
158
|
+
'addOverrideClass',
|
|
159
|
+
'addComponentOverride',
|
|
160
|
+
'applyGlobalOverride',
|
|
161
|
+
'forceRefreshStyles',
|
|
162
|
+
'createOverrideComponent',
|
|
163
|
+
'checkComponentRegistration',
|
|
164
|
+
|
|
165
|
+
// Element Plus 转换组件
|
|
166
|
+
'MButtonGroup',
|
|
167
|
+
'MCarousel',
|
|
168
|
+
'MCarouselItem',
|
|
169
|
+
'MCascader',
|
|
170
|
+
'MCascaderPanel',
|
|
171
|
+
'MCheckTag',
|
|
172
|
+
'MCalendar',
|
|
173
|
+
'MTimePicker',
|
|
174
|
+
'MDateTimePicker',
|
|
175
|
+
'MColorPicker',
|
|
176
|
+
'MTransfer',
|
|
177
|
+
'MTree',
|
|
178
|
+
'MTreeSelect',
|
|
179
|
+
'MUpload',
|
|
180
|
+
'MImage',
|
|
181
|
+
'MImageViewer',
|
|
182
|
+
'MBacktop',
|
|
183
|
+
'MInfiniteScroll',
|
|
184
|
+
'MAffix',
|
|
185
|
+
'MScrollbar',
|
|
186
|
+
'MResult',
|
|
187
|
+
'MSkeleton',
|
|
188
|
+
'MLoading',
|
|
189
|
+
'MSpinner',
|
|
190
|
+
'MProgress',
|
|
191
|
+
'MBadge',
|
|
192
|
+
'MAvatar',
|
|
193
|
+
'MConfigProvider'
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// CommonJS 导出
|
|
199
|
+
module.exports = McMarketsUIResolver
|
|
200
|
+
module.exports.McMarketsUIResolver = McMarketsUIResolver
|
|
201
|
+
module.exports.getMcMarketsUIImports = getMcMarketsUIImports
|
|
202
|
+
module.exports.default = McMarketsUIResolver
|
package/packages/resolver.d.ts
CHANGED
|
@@ -16,8 +16,13 @@ export interface McMarketsUIResolverOptions {
|
|
|
16
16
|
/**
|
|
17
17
|
* 样式导入方式
|
|
18
18
|
* - false: 不导入样式(需要手动在 main.js 中导入)
|
|
19
|
-
* - true 或 'css':
|
|
20
|
-
* -
|
|
19
|
+
* - true 或 'css': 自动导入所有必需的样式文件(推荐)
|
|
20
|
+
* * @mc-markets/ui/dist/style.css - 主样式
|
|
21
|
+
* * @mc-markets/ui/styles/font - 字体图标
|
|
22
|
+
* * @mc-markets/ui/styles/colorfont - 彩色字体图标
|
|
23
|
+
* - 'scss': 导入 SCSS 源文件 + 字体图标
|
|
24
|
+
* * @mc-markets/ui/packages/styles/index.scss
|
|
25
|
+
* * @mc-markets/ui/styles/font
|
|
21
26
|
* @default 'css'
|
|
22
27
|
*/
|
|
23
28
|
importStyle?: boolean | 'css' | 'scss'
|
package/packages/resolver.js
CHANGED
|
@@ -11,8 +11,13 @@
|
|
|
11
11
|
* @param {string} options.prefix - 组件前缀,默认 'm'
|
|
12
12
|
* @param {boolean|'css'|'scss'} options.importStyle - 样式导入方式
|
|
13
13
|
* - false: 不导入样式(需要手动导入)
|
|
14
|
-
* - true 或 'css':
|
|
15
|
-
*
|
|
14
|
+
* - true 或 'css': 自动导入所有样式文件(推荐)
|
|
15
|
+
* * @mc-markets/ui/dist/style.css - 主样式
|
|
16
|
+
* * @mc-markets/ui/styles/font - 字体图标
|
|
17
|
+
* * @mc-markets/ui/styles/colorfont - 彩色字体图标
|
|
18
|
+
* - 'scss': 导入 SCSS 源文件 + 字体图标
|
|
19
|
+
* * @mc-markets/ui/packages/styles/index.scss
|
|
20
|
+
* * @mc-markets/ui/styles/font
|
|
16
21
|
* @returns {Object} 解析器配置
|
|
17
22
|
*/
|
|
18
23
|
export function McMarketsUIResolver(options = {}) {
|
|
@@ -190,6 +195,6 @@ export function getMcMarketsUIImports() {
|
|
|
190
195
|
}
|
|
191
196
|
}
|
|
192
197
|
|
|
193
|
-
//
|
|
198
|
+
// 默认导出
|
|
194
199
|
export default McMarketsUIResolver
|
|
195
200
|
|
package/vite.config.example.js
CHANGED
|
@@ -30,9 +30,11 @@ export default defineConfig({
|
|
|
30
30
|
// 例如:MButton, MInput, m-button, m-input
|
|
31
31
|
prefix: 'm',
|
|
32
32
|
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
|
|
33
|
+
// 样式导入方式,默认为 'css'
|
|
34
|
+
// 'css': 自动导入所有必需的样式(主样式 + 字体图标)
|
|
35
|
+
// 'scss': 导入 SCSS 源文件 + 字体图标
|
|
36
|
+
// false: 不自动导入,需手动在 main.js 中导入
|
|
37
|
+
importStyle: 'css'
|
|
36
38
|
})
|
|
37
39
|
],
|
|
38
40
|
|