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