@mc-markets/ui 1.0.95 → 1.0.98

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.
@@ -1,200 +0,0 @@
1
- /**
2
- * @mc-markets/ui 组件解析器
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
- export 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
- export 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
- // 默认导出
199
- export default McMarketsUIResolver
200
-