xt-element-ui 1.0.5 → 1.0.7

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/lib/index.umd.js CHANGED
@@ -1,13 +1,13 @@
1
1
  (function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory(require("ElementUI"), require("Vue"));
3
+ module.exports = factory();
4
4
  else if(typeof define === 'function' && define.amd)
5
- define("xt-element-ui", ["ElementUI", "Vue"], factory);
5
+ define("xt-element-ui", [], factory);
6
6
  else if(typeof exports === 'object')
7
- exports["xt-element-ui"] = factory(require("ElementUI"), require("Vue"));
7
+ exports["xt-element-ui"] = factory();
8
8
  else
9
- root["xt-element-ui"] = factory(root["ElementUI"], root["Vue"]);
10
- })((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__5f72__, __WEBPACK_EXTERNAL_MODULE__8bbf__) {
9
+ root["xt-element-ui"] = factory();
10
+ })((typeof self !== 'undefined' ? self : this), function() {
11
11
  return /******/ (function(modules) { // webpackBootstrap
12
12
  /******/ // The module cache
13
13
  /******/ var installedModules = {};
@@ -96,24 +96,65 @@ return /******/ (function(modules) { // webpackBootstrap
96
96
  /************************************************************************/
97
97
  /******/ ({
98
98
 
99
- /***/ "0fae":
99
+ /***/ "1809":
100
100
  /***/ (function(module, exports, __webpack_require__) {
101
101
 
102
102
  // extracted by mini-css-extract-plugin
103
103
 
104
104
  /***/ }),
105
105
 
106
- /***/ "5f72":
107
- /***/ (function(module, exports) {
106
+ /***/ "1e2e":
107
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
108
+
109
+ "use strict";
110
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2a9eeb9d_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b7a7");
111
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2a9eeb9d_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2a9eeb9d_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
112
+ /* unused harmony reexport * */
113
+
114
+
115
+ /***/ }),
116
+
117
+ /***/ "2580":
118
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
119
+
120
+ "use strict";
121
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_3d0e4bcc_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1809");
122
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_3d0e4bcc_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_3d0e4bcc_prod_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
123
+ /* unused harmony reexport * */
124
+
125
+
126
+ /***/ }),
127
+
128
+ /***/ "27fd":
129
+ /***/ (function(module, exports, __webpack_require__) {
130
+
131
+ // extracted by mini-css-extract-plugin
132
+ module.exports = {"xtColorPrimary":"#409EFF","xtColorSuccess":"#67C23A","xtColorWarning":"#E6A23C","xtColorDanger":"#F56C6C","xtColorInfo":"#909399","xtColorPrimaryLight3":"#79BBFF","xtColorPrimaryLight5":"#A0CFFF","xtColorPrimaryLight7":"#C6E2FF","xtColorPrimaryLight8":"#D9ECFF","xtColorPrimaryLight9":"#ECF5FF","xtColorTextPrimary":"#303133","xtColorTextRegular":"#606266","xtColorTextSecondary":"#909399","xtColorTextPlaceholder":"#C0C4CC","xtColorTextDisabled":"#C0C4CC","xtColorBgPrimary":"#ffffff","xtColorBgSecondary":"#f5f7fa","xtColorBgHover":"#f5f5f5","xtColorBgContainer":"#f5f7fa","xtColorBgOverlay":"#ffffff","xtColorBorder":"#DCDFE6","xtColorBorderLight":"#E4E7ED","xtColorBorderLighter":"#EBEEF5","xtColorBorderExtraLight":"#F2F6FC","xtFontSizeExtraLarge":"20px","xtFontSizeLarge":"18px","xtFontSizeMedium":"16px","xtFontSizeBase":"14px","xtFontSizeSmall":"13px","xtFontSizeExtraSmall":"12px","xtSpacingXs":"4px","xtSpacingSm":"8px","xtSpacingMd":"12px","xtSpacingLg":"16px","xtSpacingXl":"20px","xtBorderRadiusBase":"4px","xtBorderRadiusSmall":"2px","xtBorderRadiusRound":"20px","xtBorderRadiusCircle":"50%","xtShadowSm":"0 2px 4px rgba(0, 0, 0, 0.04)","xtShadowMd":"0 4px 12px rgba(0, 0, 0, 0.08)","xtShadowLg":"0 8px 24px rgba(0, 0, 0, 0.12)","xtTransitionDuration":"0.3s","xtTransitionDurationFast":"0.2s"};
133
+
134
+ /***/ }),
135
+
136
+ /***/ "4755":
137
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
138
+
139
+ "use strict";
140
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_617fe54e_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("991c");
141
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_617fe54e_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_617fe54e_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
142
+ /* unused harmony reexport * */
108
143
 
109
- module.exports = __WEBPACK_EXTERNAL_MODULE__5f72__;
110
144
 
111
145
  /***/ }),
112
146
 
113
- /***/ "8bbf":
114
- /***/ (function(module, exports) {
147
+ /***/ "991c":
148
+ /***/ (function(module, exports, __webpack_require__) {
149
+
150
+ // extracted by mini-css-extract-plugin
151
+
152
+ /***/ }),
153
+
154
+ /***/ "b7a7":
155
+ /***/ (function(module, exports, __webpack_require__) {
115
156
 
116
- module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;
157
+ // extracted by mini-css-extract-plugin
117
158
 
118
159
  /***/ }),
119
160
 
@@ -125,16 +166,18 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;
125
166
  __webpack_require__.r(__webpack_exports__);
126
167
 
127
168
  // EXPORTS
128
- __webpack_require__.d(__webpack_exports__, "getConfig", function() { return /* reexport */ getConfig; });
129
- __webpack_require__.d(__webpack_exports__, "setConfig", function() { return /* reexport */ setConfig; });
130
- __webpack_require__.d(__webpack_exports__, "setTheme", function() { return /* reexport */ setTheme; });
131
- __webpack_require__.d(__webpack_exports__, "setSize", function() { return /* reexport */ setSize; });
132
- __webpack_require__.d(__webpack_exports__, "setPrimaryColor", function() { return /* reexport */ setPrimaryColor; });
133
- __webpack_require__.d(__webpack_exports__, "getTheme", function() { return /* reexport */ getTheme; });
134
- __webpack_require__.d(__webpack_exports__, "getSize", function() { return /* reexport */ getSize; });
135
- __webpack_require__.d(__webpack_exports__, "getPrimaryColor", function() { return /* reexport */ getPrimaryColor; });
136
- __webpack_require__.d(__webpack_exports__, "resetConfig", function() { return /* reexport */ resetConfig; });
137
- __webpack_require__.d(__webpack_exports__, "onConfigChange", function() { return /* reexport */ onConfigChange; });
169
+ __webpack_require__.d(__webpack_exports__, "utils", function() { return /* reexport */ utils; });
170
+ __webpack_require__.d(__webpack_exports__, "variables", function() { return /* reexport */ export_default.a; });
171
+ __webpack_require__.d(__webpack_exports__, "getConfig", function() { return /* reexport */ src_getConfig; });
172
+ __webpack_require__.d(__webpack_exports__, "setConfig", function() { return /* reexport */ src_setConfig; });
173
+ __webpack_require__.d(__webpack_exports__, "setTheme", function() { return /* reexport */ src_setTheme; });
174
+ __webpack_require__.d(__webpack_exports__, "setSize", function() { return /* reexport */ src_setSize; });
175
+ __webpack_require__.d(__webpack_exports__, "setPrimaryColor", function() { return /* reexport */ src_setPrimaryColor; });
176
+ __webpack_require__.d(__webpack_exports__, "getTheme", function() { return /* reexport */ src_getTheme; });
177
+ __webpack_require__.d(__webpack_exports__, "getSize", function() { return /* reexport */ src_getSize; });
178
+ __webpack_require__.d(__webpack_exports__, "getPrimaryColor", function() { return /* reexport */ src_getPrimaryColor; });
179
+ __webpack_require__.d(__webpack_exports__, "resetConfig", function() { return /* reexport */ src_resetConfig; });
180
+ __webpack_require__.d(__webpack_exports__, "onConfigChange", function() { return /* reexport */ src_onConfigChange; });
138
181
 
139
182
  // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
140
183
  // This file is imported into lib/wc client bundles.
@@ -152,18 +195,136 @@ if (typeof window !== 'undefined') {
152
195
  // Indicate to webpack that this file can be concatenated
153
196
  /* harmony default export */ var setPublicPath = (null);
154
197
 
155
- // EXTERNAL MODULE: external "Vue"
156
- var external_Vue_ = __webpack_require__("8bbf");
157
- var external_Vue_default = /*#__PURE__*/__webpack_require__.n(external_Vue_);
158
-
159
- // EXTERNAL MODULE: external "ElementUI"
160
- var external_ElementUI_ = __webpack_require__("5f72");
161
- var external_ElementUI_default = /*#__PURE__*/__webpack_require__.n(external_ElementUI_);
198
+ // EXTERNAL MODULE: ./src/styles/export.scss
199
+ var styles_export = __webpack_require__("27fd");
200
+ var export_default = /*#__PURE__*/__webpack_require__.n(styles_export);
162
201
 
163
- // EXTERNAL MODULE: ./node_modules/element-ui/lib/theme-chalk/index.css
164
- var theme_chalk = __webpack_require__("0fae");
165
-
166
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"f8ff861e-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/button/index.vue?vue&type=template&id=0ad9d4c9
202
+ // CONCATENATED MODULE: ./src/utils/index.js
203
+
204
+ // 默认配置
205
+ const defaultConfig = {
206
+ theme: 'light',
207
+ size: 'medium',
208
+ primaryColor: '#1890ff'
209
+ }
210
+
211
+ // 当前配置
212
+ let currentConfig = { ...defaultConfig }
213
+
214
+ // 配置变更事件处理
215
+ const configChangeListeners = []
216
+
217
+ const emitConfigChange = function(key, value) {
218
+ configChangeListeners.forEach(listener => {
219
+ listener(key, value)
220
+ })
221
+ }
222
+
223
+ // 获取所有配置
224
+ const getConfig = function() {
225
+ return { ...currentConfig }
226
+ }
227
+
228
+ // 设置全局配置
229
+ const setConfig = function(config) {
230
+ if (typeof config !== 'object' || config === null) {
231
+ console.warn('[XtElementUI] setConfig 必须传入对象参数')
232
+ return
233
+ }
234
+
235
+ if (config.theme !== undefined) {
236
+ setTheme(config.theme)
237
+ }
238
+ if (config.size !== undefined) {
239
+ setSize(config.size)
240
+ }
241
+ if (config.primaryColor !== undefined) {
242
+ setPrimaryColor(config.primaryColor)
243
+ }
244
+ }
245
+
246
+
247
+ // 设置主题
248
+ const setTheme = function(theme) {
249
+ const validThemes = ['light', 'dark', 'compact']
250
+ if (!validThemes.includes(theme)) {
251
+ console.warn(`[XtElementUI] 无效的主题值: ${theme},可选值: ${validThemes.join(', ')}`)
252
+ return
253
+ }
254
+
255
+ currentConfig.theme = theme
256
+ document.documentElement.setAttribute('data-theme', theme)
257
+ emitConfigChange('theme', theme)
258
+ }
259
+
260
+ // 设置字体大小
261
+ const setSize = function(size) {
262
+ const validSizes = ['small', 'medium', 'large']
263
+ if (!validSizes.includes(size)) {
264
+ console.warn(`[XtElementUI] 无效的大小值: ${size},可选值: ${validSizes.join(', ')}`)
265
+ return
266
+ }
267
+
268
+ currentConfig.size = size
269
+ document.documentElement.setAttribute('data-size', size)
270
+ emitConfigChange('size', size)
271
+ }
272
+
273
+ // 设置主色调
274
+ const setPrimaryColor = function(color) {
275
+ // 简单的颜色格式验证
276
+ const colorRegex = /^#[0-9A-Fa-f]{6}$|^#[0-9A-Fa-f]{3}$/
277
+ if (!colorRegex.test(color)) {
278
+ console.warn(`[XtElementUI] 无效的颜色值: ${color},请使用十六进制颜色格式,如 #1890ff`)
279
+ return
280
+ }
281
+
282
+ currentConfig.primaryColor = color
283
+ document.documentElement.style.setProperty('--xt-color-primary', color)
284
+ emitConfigChange('primaryColor', color)
285
+ }
286
+
287
+ // 获取当前主题
288
+ const getTheme = function() {
289
+ return currentConfig.theme
290
+ }
291
+
292
+ // 获取当前字体大小
293
+ const getSize = function() {
294
+ return currentConfig.size
295
+ }
296
+
297
+ // 获取当前主色调
298
+ const getPrimaryColor = function() {
299
+ return currentConfig.primaryColor
300
+ }
301
+
302
+ // 重置为默认配置
303
+ const resetConfig = function() {
304
+ setConfig(defaultConfig)
305
+ }
306
+
307
+ // 监听配置变更
308
+ const onConfigChange = function(listener) {
309
+ if (typeof listener === 'function') {
310
+ configChangeListeners.push(listener)
311
+ return function() {
312
+ const index = configChangeListeners.indexOf(listener)
313
+ if (index > -1) {
314
+ configChangeListeners.splice(index, 1)
315
+ }
316
+ }
317
+ } else {
318
+ console.warn('[XtElementUI] onConfigChange 必须传入函数')
319
+ }
320
+ }
321
+
322
+ /* harmony default export */ var utils = ({
323
+ setTheme,
324
+ setSize,
325
+ setPrimaryColor
326
+ });
327
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5e39cd29-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/button/index.vue?vue&type=template&id=0ad9d4c9
167
328
  var render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-button',{on:{"click":_vm.handleClick}},[_vm._t("default")],2)
168
329
  }
169
330
  var staticRenderFns = []
@@ -305,7 +466,7 @@ var component = normalizeComponent(
305
466
  // CONCATENATED MODULE: ./src/components/button/index.js
306
467
 
307
468
  /* harmony default export */ var src_components_button = (components_button);
308
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"f8ff861e-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/input/index.vue?vue&type=template&id=fe9146e4
469
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5e39cd29-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/input/index.vue?vue&type=template&id=fe9146e4
309
470
  var inputvue_type_template_id_fe9146e4_render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-input',{attrs:{"value":_vm.value,"placeholder":_vm.placeholder},on:{"input":function($event){return _vm.$emit('input', $event)}}})
310
471
  }
311
472
  var inputvue_type_template_id_fe9146e4_staticRenderFns = []
@@ -351,16 +512,170 @@ var input_component = normalizeComponent(
351
512
  // CONCATENATED MODULE: ./src/components/input/index.js
352
513
 
353
514
  /* harmony default export */ var components_input = (input);
354
- // CONCATENATED MODULE: ./src/index.js
355
- // 导入 Vue
515
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5e39cd29-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/flex-box/index.vue?vue&type=template&id=617fe54e&scoped=true
516
+ var flex_boxvue_type_template_id_617fe54e_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-flex-box",class:_vm.classAttrs,staticStyle:{"gap":"gap"}})
517
+ }
518
+ var flex_boxvue_type_template_id_617fe54e_scoped_true_staticRenderFns = []
356
519
 
357
520
 
358
- // 在导入 Element UI 之前,先将 Vue 设置为全局变量
359
- if (typeof window !== 'undefined') {
360
- window.Vue = external_Vue_default.a
521
+ // CONCATENATED MODULE: ./src/components/flex-box/index.vue?vue&type=template&id=617fe54e&scoped=true
522
+
523
+ // CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/flex-box/index.vue?vue&type=script&lang=js
524
+
525
+ /* harmony default export */ var flex_boxvue_type_script_lang_js = ({
526
+ name: "XtFlex",
527
+ props: {
528
+ type: "flex",
529
+ align: "center",
530
+ content: "start",
531
+ direction: "row",
532
+ wrap: "unset",
533
+ gap: {}
534
+ },
535
+ computed: {
536
+ classAttrs(){
537
+ const {inline, align, wrap, direction,content} = this;
538
+ return [`${inline?'is-inline':'flex'}`, `align-${align} content-${content} direction-${direction} wrap-${wrap}`]
539
+ }
540
+ }
541
+ });
542
+
543
+ // CONCATENATED MODULE: ./src/components/flex-box/index.vue?vue&type=script&lang=js
544
+ /* harmony default export */ var components_flex_boxvue_type_script_lang_js = (flex_boxvue_type_script_lang_js);
545
+ // EXTERNAL MODULE: ./src/components/flex-box/index.vue?vue&type=style&index=0&id=617fe54e&prod&scoped=true&lang=scss
546
+ var flex_boxvue_type_style_index_0_id_617fe54e_prod_scoped_true_lang_scss = __webpack_require__("4755");
547
+
548
+ // CONCATENATED MODULE: ./src/components/flex-box/index.vue
549
+
550
+
551
+
552
+
553
+
554
+
555
+ /* normalize component */
556
+
557
+ var flex_box_component = normalizeComponent(
558
+ components_flex_boxvue_type_script_lang_js,
559
+ flex_boxvue_type_template_id_617fe54e_scoped_true_render,
560
+ flex_boxvue_type_template_id_617fe54e_scoped_true_staticRenderFns,
561
+ false,
562
+ null,
563
+ "617fe54e",
564
+ null
565
+
566
+ )
567
+
568
+ /* harmony default export */ var flex_box = (flex_box_component.exports);
569
+ // CONCATENATED MODULE: ./src/components/flex-box/index.js
570
+
571
+ /* harmony default export */ var components_flex_box = (flex_box);
572
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5e39cd29-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/card/index.vue?vue&type=template&id=2a9eeb9d
573
+ var cardvue_type_template_id_2a9eeb9d_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-card",class:{'no-padding': _vm.noPadding }},[(_vm.title)?_c('div',{staticClass:"card_header"},[_vm._t("title",function(){return [_vm._v(_vm._s(_vm.title))]})],2):_vm._e(),_c('div',{staticClass:"card_body"},[_vm._t("default",function(){return [_c('span',{staticClass:"value"},[_vm._t("value",function(){return [_vm._v(_vm._s(_vm.value))]})],2),_c('span',{staticClass:"unit"},[_vm._v(_vm._s(_vm.unit))])]})],2)])
574
+ }
575
+ var cardvue_type_template_id_2a9eeb9d_staticRenderFns = []
576
+
577
+
578
+ // CONCATENATED MODULE: ./src/components/card/index.vue?vue&type=template&id=2a9eeb9d
579
+
580
+ // CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/card/index.vue?vue&type=script&lang=js
581
+
582
+ /* harmony default export */ var cardvue_type_script_lang_js = ({
583
+ name:"XtCard",
584
+ props:{
585
+ type:{},
586
+ title:{},
587
+ value:{},
588
+ unit:{},
589
+ icon:{},
590
+ iconIn:{default:"right"},
591
+ noPadding:{type:Boolean,default:false}
592
+ }
593
+ });
594
+
595
+ // CONCATENATED MODULE: ./src/components/card/index.vue?vue&type=script&lang=js
596
+ /* harmony default export */ var components_cardvue_type_script_lang_js = (cardvue_type_script_lang_js);
597
+ // EXTERNAL MODULE: ./src/components/card/index.vue?vue&type=style&index=0&id=2a9eeb9d&prod&lang=scss
598
+ var cardvue_type_style_index_0_id_2a9eeb9d_prod_lang_scss = __webpack_require__("1e2e");
599
+
600
+ // CONCATENATED MODULE: ./src/components/card/index.vue
601
+
602
+
603
+
604
+
605
+
606
+
607
+ /* normalize component */
608
+
609
+ var card_component = normalizeComponent(
610
+ components_cardvue_type_script_lang_js,
611
+ cardvue_type_template_id_2a9eeb9d_render,
612
+ cardvue_type_template_id_2a9eeb9d_staticRenderFns,
613
+ false,
614
+ null,
615
+ null,
616
+ null
617
+
618
+ )
619
+
620
+ /* harmony default export */ var card = (card_component.exports);
621
+ // CONCATENATED MODULE: ./src/components/card/index.js
622
+
623
+ /* harmony default export */ var components_card = (card);
624
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5e39cd29-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/card-item/index.vue?vue&type=template&id=3d0e4bcc
625
+ var card_itemvue_type_template_id_3d0e4bcc_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-card",class:{'no-padding': _vm.noPadding }},[(_vm.title)?_c('div',{staticClass:"card_header"},[_vm._t("title",function(){return [_vm._v(_vm._s(_vm.title))]})],2):_vm._e(),_c('div',{staticClass:"card_body"},[_vm._t("default",function(){return [_c('span',{staticClass:"value"},[_vm._t("value",function(){return [_vm._v(_vm._s(_vm.value))]})],2),_c('span',{staticClass:"unit"},[_vm._v(_vm._s(_vm.unit))])]})],2)])
361
626
  }
627
+ var card_itemvue_type_template_id_3d0e4bcc_staticRenderFns = []
628
+
629
+
630
+ // CONCATENATED MODULE: ./src/components/card-item/index.vue?vue&type=template&id=3d0e4bcc
631
+
632
+ // CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/card-item/index.vue?vue&type=script&lang=js
633
+
634
+ /* harmony default export */ var card_itemvue_type_script_lang_js = ({
635
+ name:"XtCardItem",
636
+ props:{
637
+ type:{},
638
+ title:{},
639
+ value:{},
640
+ unit:{},
641
+ icon:{},
642
+ iconIn:{default:"right"},
643
+ noPadding:{type:Boolean,default:false}
644
+ }
645
+ });
646
+
647
+ // CONCATENATED MODULE: ./src/components/card-item/index.vue?vue&type=script&lang=js
648
+ /* harmony default export */ var components_card_itemvue_type_script_lang_js = (card_itemvue_type_script_lang_js);
649
+ // EXTERNAL MODULE: ./src/components/card-item/index.vue?vue&type=style&index=0&id=3d0e4bcc&prod&lang=scss
650
+ var card_itemvue_type_style_index_0_id_3d0e4bcc_prod_lang_scss = __webpack_require__("2580");
651
+
652
+ // CONCATENATED MODULE: ./src/components/card-item/index.vue
653
+
654
+
655
+
656
+
657
+
658
+
659
+ /* normalize component */
660
+
661
+ var card_item_component = normalizeComponent(
662
+ components_card_itemvue_type_script_lang_js,
663
+ card_itemvue_type_template_id_3d0e4bcc_render,
664
+ card_itemvue_type_template_id_3d0e4bcc_staticRenderFns,
665
+ false,
666
+ null,
667
+ null,
668
+ null
669
+
670
+ )
671
+
672
+ /* harmony default export */ var card_item = (card_item_component.exports);
673
+ // CONCATENATED MODULE: ./src/components/card-item/index.js
674
+
675
+ /* harmony default export */ var components_card_item = (card_item);
676
+ // CONCATENATED MODULE: ./src/index.js
677
+ // 导入 SCSS 变量(通过 CSS Modules :export 导出)
362
678
 
363
- // 导入 Element UI 并注册
364
679
 
365
680
 
366
681
 
@@ -368,16 +683,19 @@ if (typeof window !== 'undefined') {
368
683
 
369
684
 
370
685
 
686
+
687
+
688
+
371
689
  // 存储组件列表
372
690
  const components = [
373
691
  src_components_button,
374
- components_input
692
+ components_input,
693
+ components_flex_box,
694
+ components_card,
695
+ components_card_item
375
696
  ]
376
697
 
377
698
 
378
- // 注册 Element UI
379
- external_Vue_default.a.use(external_ElementUI_default.a)
380
-
381
699
  // 定义 install 方法,Vue.use() 会自动调用
382
700
  const install = function (Vue) {
383
701
  if (install.installed) return
@@ -387,6 +705,7 @@ const install = function (Vue) {
387
705
  components.forEach(component => {
388
706
  Vue.component(component.name, component)
389
707
  })
708
+ Vue.prototype.$utils = utils
390
709
  }
391
710
 
392
711
  // 支持全局 script 标签引入
@@ -399,120 +718,124 @@ if (typeof window !== 'undefined' && window.Vue) {
399
718
  install,
400
719
  // 按需导出组件
401
720
  Button: src_components_button,
402
- Input: components_input
721
+ Input: components_input,
722
+ FlexBox: components_flex_box,
723
+ Card: components_card,
724
+ CardItem: components_card_item
403
725
  });
404
726
 
727
+ // 导出工具函数和变量
728
+
405
729
 
406
730
  // 默认配置
407
- const defaultConfig = {
731
+ const src_defaultConfig = {
408
732
  theme: 'light',
409
733
  size: 'medium',
410
734
  primaryColor: '#1890ff'
411
735
  }
412
736
 
413
737
  // 当前配置
414
- let currentConfig = { ...defaultConfig }
738
+ let src_currentConfig = { ...src_defaultConfig }
415
739
 
416
740
  // 配置变更事件处理
417
- const configChangeListeners = []
741
+ const src_configChangeListeners = []
418
742
 
419
- const emitConfigChange = function(key, value) {
420
- configChangeListeners.forEach(listener => {
743
+ const src_emitConfigChange = function(key, value) {
744
+ src_configChangeListeners.forEach(listener => {
421
745
  listener(key, value)
422
746
  })
423
747
  }
424
748
 
425
749
  // 获取所有配置
426
- const getConfig = function() {
427
- return { ...currentConfig }
750
+ const src_getConfig = function() {
751
+ return { ...src_currentConfig }
428
752
  }
429
753
 
430
754
  // 设置全局配置
431
- const setConfig = function(config) {
755
+ const src_setConfig = function(config) {
432
756
  if (typeof config !== 'object' || config === null) {
433
757
  console.warn('[XtElementUI] setConfig 必须传入对象参数')
434
758
  return
435
759
  }
436
760
 
437
761
  if (config.theme !== undefined) {
438
- setTheme(config.theme)
762
+ src_setTheme(config.theme)
439
763
  }
440
764
  if (config.size !== undefined) {
441
- setSize(config.size)
765
+ src_setSize(config.size)
442
766
  }
443
767
  if (config.primaryColor !== undefined) {
444
- setPrimaryColor(config.primaryColor)
768
+ src_setPrimaryColor(config.primaryColor)
445
769
  }
446
770
  }
447
771
 
448
- // 设置主题
449
- const setTheme = function(theme) {
450
- const validThemes = ['light', 'dark', 'compact']
772
+ // 设置主题(只控制颜色)
773
+ const src_setTheme = function(theme) {
774
+ const validThemes = ['light', 'dark']
451
775
  if (!validThemes.includes(theme)) {
452
776
  console.warn(`[XtElementUI] 无效的主题值: ${theme},可选值: ${validThemes.join(', ')}`)
453
777
  return
454
778
  }
455
779
 
456
- currentConfig.theme = theme
780
+ src_currentConfig.theme = theme
457
781
  document.documentElement.setAttribute('data-theme', theme)
458
- emitConfigChange('theme', theme)
782
+ src_emitConfigChange('theme', theme)
459
783
  }
460
784
 
461
- // 设置字体大小
462
- const setSize = function(size) {
785
+ // 设置字体大小和间距
786
+ const src_setSize = function(size) {
463
787
  const validSizes = ['small', 'medium', 'large']
464
788
  if (!validSizes.includes(size)) {
465
789
  console.warn(`[XtElementUI] 无效的大小值: ${size},可选值: ${validSizes.join(', ')}`)
466
790
  return
467
791
  }
468
792
 
469
- currentConfig.size = size
793
+ src_currentConfig.size = size
470
794
  document.documentElement.setAttribute('data-size', size)
471
- emitConfigChange('size', size)
795
+ src_emitConfigChange('size', size)
472
796
  }
473
797
 
474
798
  // 设置主色调
475
- const setPrimaryColor = function(color) {
476
- // 简单的颜色格式验证
799
+ const src_setPrimaryColor = function(color) {
477
800
  const colorRegex = /^#[0-9A-Fa-f]{6}$|^#[0-9A-Fa-f]{3}$/
478
801
  if (!colorRegex.test(color)) {
479
802
  console.warn(`[XtElementUI] 无效的颜色值: ${color},请使用十六进制颜色格式,如 #1890ff`)
480
803
  return
481
804
  }
482
805
 
483
- currentConfig.primaryColor = color
806
+ src_currentConfig.primaryColor = color
484
807
  document.documentElement.style.setProperty('--xt-color-primary', color)
485
- emitConfigChange('primaryColor', color)
808
+ src_emitConfigChange('primaryColor', color)
486
809
  }
487
810
 
488
811
  // 获取当前主题
489
- const getTheme = function() {
490
- return currentConfig.theme
812
+ const src_getTheme = function() {
813
+ return src_currentConfig.theme
491
814
  }
492
815
 
493
816
  // 获取当前字体大小
494
- const getSize = function() {
495
- return currentConfig.size
817
+ const src_getSize = function() {
818
+ return src_currentConfig.size
496
819
  }
497
820
 
498
821
  // 获取当前主色调
499
- const getPrimaryColor = function() {
500
- return currentConfig.primaryColor
822
+ const src_getPrimaryColor = function() {
823
+ return src_currentConfig.primaryColor
501
824
  }
502
825
 
503
826
  // 重置为默认配置
504
- const resetConfig = function() {
505
- setConfig(defaultConfig)
827
+ const src_resetConfig = function() {
828
+ src_setConfig(src_defaultConfig)
506
829
  }
507
830
 
508
831
  // 监听配置变更
509
- const onConfigChange = function(listener) {
832
+ const src_onConfigChange = function(listener) {
510
833
  if (typeof listener === 'function') {
511
- configChangeListeners.push(listener)
834
+ src_configChangeListeners.push(listener)
512
835
  return function() {
513
- const index = configChangeListeners.indexOf(listener)
836
+ const index = src_configChangeListeners.indexOf(listener)
514
837
  if (index > -1) {
515
- configChangeListeners.splice(index, 1)
838
+ src_configChangeListeners.splice(index, 1)
516
839
  }
517
840
  }
518
841
  } else {